Мне нужно выполнить следующую команду ПЕРЕД запуском оконного менеджера
sudo virsh nodedev-detach pci_0000_05_00_0
Он должен запускаться от имени администратора, и он должен быть запущен до загрузки оконного менеджера.
В настоящее время я использую следующее сценарий для достижения моей цели в терминальном представлении для моей операционной системы Kubuntu 20.04:
#!/bin/sh
systemctl stop sddm.service
virsh nodedev-detach pci_0000_05_00_0
systemctl start sddm.service
Это сделано для того, чтобы драйвер vfio-pci мог заменить nvidia для моего второго графического процессора в моей настройке kvm vfio, поскольку ничего из того, что я пробовал, не сработало . Переключение на терминал и выполнение этих трех команд вызывает неприятные ощущения и часто вызывает проблемы с моим оконным менеджером после его перезагрузки.
Как мне запустить сценарий с административными разрешениями до загрузки среды рабочего стола?
Я решил свою проблему.
Чтобы заставить драйвер VFIO отвязаться от nvidia ДО запуска оконного менеджера, вы должны отредактировать свой сценарий Xsetup (для меня это было в / usr / share / sddm / scripts / Xsetup) и добавьте в конец файла следующее:
virsh nodedev-detach pci_0000_05_00_0
Он работал безупречно. Однако в тот момент при запуске программа не привязала vfio-pci к устройству, и это нужно было делать вручную.
Однако, Я обнаружил, что более простым решением моей проблемы было загрузить driverctl и запустить
sudo driverctl set-override 0000:05:00.0 vfio-pci
. ЭТО, наконец, заставило ядро привязать мой второй GPU к драйверу vfio-pci вместо моего драйвера nvidia. Команда ДОЛЖНА запускаться в режиме терминала (CTRL + AlT + 2), и вы должны остановить свой оконный менеджер (для KUBUNTU sudo systemctl stop sddm.service). Не пытайтесь снова включить его, просто перезагрузитесь. Это предотвращает привязку nvidia к устройству и принудительно связывает vfio-pci.