jkhsjdhjs

nvidia_unbind.bash

Jan 28th, 2018
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.26 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. pci_bus_id_nvidia_gpu="0000:01:00.0"
  4. pci_bus_id_nvidia_audio="0000:01:00.1"
  5.  
  6. device_id_nvidia_gpu="10de 11c0"
  7. device_id_nvidia_audio="10de 0e0b"
  8.  
  9. # stop xorg
  10. systemctl stop sddm
  11.  
  12. # unbind virtual console
  13. echo 0 > /sys/class/vtconsole/vtcon1/bind
  14.  
  15. # unbind efi framebuffer
  16. echo "efi-framebuffer.0" > /sys/bus/platform/devices/efi-framebuffer.0/driver/unbind
  17.  
  18. # create new vfio-pci devices with ids of gpu and hdmi audio
  19. echo "$device_id_nvidia_gpu" > /sys/bus/pci/drivers/vfio-pci/new_id
  20. echo "$device_id_nvidia_audio" > /sys/bus/pci/drivers/vfio-pci/new_id
  21.  
  22. # unbind gpu and hdmi audio
  23. echo "$pci_bus_id_nvidia_gpu" > /sys/bus/pci/devices/"$pci_bus_id_nvidia_gpu"/driver/unbind
  24. echo "$pci_bus_id_nvidia_audio" > /sys/bus/pci/devices/"$pci_bus_id_nvidia_audio"/driver/unbind
  25.  
  26. # bind gpu and hdmi audio to vfio-pci
  27. echo "$pci_bus_id_nvidia_gpu" > /sys/bus/pci/drivers/vfio-pci/bind
  28. echo "$pci_bus_id_nvidia_audio" > /sys/bus/pci/drivers/vfio-pci/bind
  29.  
  30. # remove created ids
  31. echo "$device_id_nvidia_gpu" > /sys/bus/pci/drivers/vfio-pci/remove_id
  32. echo "$device_id_nvidia_audio" > /sys/bus/pci/drivers/vfio-pci/remove_id
  33.  
  34. # bind virtual console to internal gpu
  35. echo 1 > /sys/class/vtconsole/vtcon1/bind
  36.  
  37. # start xorg again
  38. systemctl start sddm
Advertisement
Add Comment
Please, Sign In to add comment