LINUX.ORG.RU

Проблемы с X.org при виртуализации

 ,


0

1

Есть две видюхи

04:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] [1002:699f] (rev c7)
09:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] [1002:67df] (rev e7)

одна из них засунута в vfio (Ellesmere) обе работают на amdgpu проблема такова, когда я включаю виртуализацию и увожу вторую Ellesmere видяху в вирт, на второй падают иксы, лог падения https://pastebin.com/QTqsQ0hy при конфигурации radeon+amdgpu такого не было Linux kain-pc 5.4.53-1-vfio-lts #1 SMP Wed, 29 Jul 2020 11:48:49 +0000 x86_64 GNU/Linux

Ответ на: комментарий от s-o

конечно не на живыжую, лол. и зачем мне вывовод всех устройств? я хоть и арче школьникник, но не идиот.

04:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] [1002:699f] (rev c7)
Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:0b04]
Kernel driver in use: amdg


09:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] [1002:67df] (rev e7)
Subsystem: Sapphire Technology Limited Radeon RX 570 Pulse 4GB [1da2:e353]
Kernel driver in use: amdgpu
Kernel modules: amdgpu
Hanyuu ()
Ответ на: комментарий от Hanyuu

ну, арчешкольник, как видишь оба девайса используют драйвер амдгпу, а надо чтобы нужный использовал vfio как у меня

08:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1070 Ti] (rev a1)
	Subsystem: NVIDIA Corporation GP104 [GeForce GTX 1070 Ti]
	Kernel driver in use: vfio-pci

ты же по факту на живую выдергиваешь видяху из-под драйвера.

s-o ()
Ответ на: комментарий от Hanyuu

О чем тебе говорит чел выше - тебе надо прописать на загрузке чтобы vfio-pci захватывал карту. Для этого надо чтобы vfio-pci грузился до amdgpu по зависимостям. Тогда иксы её вообще не увидят.

Другой вариант это сделать Ignore в xorg.conf, но я на память не напишу как именно игнорить девайсы.

o- ()
Ответ на: комментарий от Hanyuu

о чем я тебе и говорю.

чтобы вфио работало, надо чтобы пробрасываемая видяха была привязана к драйверу вфио.

нельзя использовать одну видяху попеременно и в иксах линукса, и в ВМ, не перезагружая иксы.

либо ты ее привязываешь к вфио еще до загрузки амдгпу, либо отвязываешь от амдгпу и перепривязываешь к вфио перед стартом иксов, а иксам говоришь:

Section "Device"
    Identifier     "Device1"
    BusID          "PCI:8:0:0" // busID ненужного радеона
    Option         "AllowEmptyInitialConfiguration"
    Option         "Ignore" "1"
EndSection

и возможно еще

echo efi-framebuffer.0 > /sys/bus/platform/devices/efi-framebuffer.0/driver/unbind
# ^^^ if CONFIG_VFIO=m; if =Y - ne nujno
virsh nodedev-detach pci_0000_08_00_0 #smeni na svoi
virsh nodedev-detach pci_0000_08_00_1
s-o ()