LINUX.ORG.RU

Две видеокарты и проброс и адаптер по-умолчанию в x.org

 ,


2

3

Собственно сабж, так технически сложилось, что пробрасываемая видеокарта стоит в первом слоте pci-express (он самый быстрый), та, что под линь - во втором. И собственно тут возникает вопрос, точнее проблема:

Как-то криво работает «линуксовая» видяшка во втором pci-e слоте.

xrandr --listproviders
Providers: number : 2                                                                                                                               
Provider 0: id: 0x99 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 5 associated providers: 1 name:AMD Radeon HD 6900 Series @ pci:0000:07:00.0                                                                                                                                                   
Provider 1: id: 0x4a cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 5 associated providers: 1 name:PITCAIRN @ pci:0000:02:00.0

система: арч +

X -version
                                                                                                                                                                      
X.Org X Server 1.19.3                                                                                                                                                    
Release Date: 2017-03-15                                                                                                                                                                                                                                                        
X Protocol Version 11, Revision 0

Честно говоря, я мало разбирался в вопросе с хоргом, но когда они работают одновременно - все работает криво, как то, отсутствие обоев на рабочем столе в цинанамоне. Или «красот» не видно: например на любой пункт в контекстного меню навел мышкой - он не выделяется, хотя нажатие по нему срабатывает (криво работает или не работает вообще видеодрайвер полагаю). Собственно вопрос исходя из проблемы: как бы мне «железно» привязать подгрузку нужного видеодрайвера для дисплея, если он не в vfio-pci пробросе? Если я конечно правильно понимаю, в чем соль моей проблемы. И желательно делать не по номеру слота pci-e



Последнее исправление: cetjs2 (всего исправлений: 2)

для столкнувшихся с такой проблемой, когда пробрасывать надо видяшку из первого слота, в то время, как во втором стоит видяшка для линукса (у меня только первый слот дает x16) перво-наперво оставляем только линуксовую видяшку во втором слоте, прогружаемся и выполняем команду

Xorg :1 -configure
Полученный конфиг скидываем в /etc/X11/xorg.conf.d/

не забываем про дисплей менеджер, в моем случае это lightdm В его конфиге необходимо принудительно указать эту видеокарту в качестве отображаемой, для этого вначале надо выяснить, какой дисплей у вас работает на текущий момент (не забываем, все действия выполняются при физически отлюченной видеокарте, которую мы собираемся пробрасывать)

xrandr 
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DVI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080     60.00*+
   1680x1050     59.95  
   1280x1024     75.02    60.02  
   1440x900      59.89  
   1280x960      60.00  
   1280x720      60.00  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   640x480       75.00    72.81    66.67    59.94  
   720x400       70.08  
DVI-1 disconnected (normal left inverted right x axis y axis)
в моем случае это DVI-0 (что ожидаемо). Если верить вики арча, то, править надо в моем случае: /etc/lightdm/lightdm.conf
....
[Seat:*]
...
display-setup-script=xrandr --output DVI-0 --primary
...
отлично, при загрузке будет все ок, запустится как надо, но дальше возникнут новые грабли
qemu-system-x86_64: vfio_region_write(0000:07:00.0:region1+0x240c14, 0xffffffff,4) failed: Device or resource busy"
Тут все просто:
echo 0 > /sys/class/vtconsole/vtcon0/bind
echo 0 > /sys/class/vtconsole/vtcon1/bind
echo efi-framebuffer.0 > /sys/bus/platform/drivers/efi-framebuffer/unbind
в груб надо будет потом дописатьvideo=efifb:off в запуск ядра.

Rockon
() автор топика

А ещё можно не наркоманить как ты, а просто засунуть vfio-pci в initramfs (или что там у вас в арче) и перехватить карту при загрузке опцией vfio-pci.ids=10de:abcd предварительно подсмотрев идетификатор девайва в выводе lspci -nn.

o-
()
Последнее исправление: o- (всего исправлений: 1)
Ответ на: комментарий от o-

это все стоит

video=efifb:off amd_iommu_dump=1 amd_iommu=on iommu=pt iommu=1 amd_iommu=fullflush vfio_pci.ids=1002:6718,1002:aa80 
в загрузке ядра. Проблема с пробросом с первого слота. У меня биос не умеет устанавливать видеокарту по-умолчанию. =\

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

проклятье, тут нельзя править свой пост, тогда допишу: У меня сейчас возник вопрос в том, как сразу ядру передавать инфу о том, что бы все добро при загрузке(framebuffer и что там еще, перед прогрузкой дисплей менеджера) уходило на вторую видеокарту? Дабы я на втором мониторе видел ход загрузки

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

Я решил ту проблему. В моем случае реально помогло увидеть винду на втором мониторе (так как у меня не UEFI биос). С этим столкнутся все владельцы материнских плат ASUS, потому что там нельзя сменить first boot gpu в биосе

echo 0 > /sys/class/vtconsole/vtcon0/bind
echo 0 > /sys/class/vtconsole/vtcon1/bind
echo vesa-framebuffer.0 > /sys/bus/platform/drivers/vesa-framebuffer/unbind
Rockon
() автор топика
Ответ на: комментарий от o-

Но мне так и не удалось вывести «загрузку» арча на вторую видяшку. С чем это связано - не знаю. Ядро не ест ничего, включая принудительное video=DVI-1..(настройки разрешения были где-то тут) , хотя может я не тот экран задаю. Зато с удовольствием сожрало nomodset. Так же не пойму, какого черта ядро не ест из /etc/modprobe.d/vfio.conf конфу,а именно

options vfio-pci ids=1002:6718,1002:aa80
Только из граба. Может тут есть арчеводы, кто может разъяснить, что это такое и куда копать? Я раньше не пользовался, но тут реально поломал голову с часик, так и не понял, в чем завязка.

Rockon
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.