LINUX.ORG.RU

Проблемы с иксами в dom0 с fglrx

 , ,


0

1

Привет, ЛОР

Пытаюсь запустить dom0 с fglrx, в итоге получаю тормозящие иксы, и через какое-то время система зависает. Если ту же систему с тем же ядром запустить без гипервизора, всё работает. В какую сторону копать?

Софт: Gentoo, Linux 4.4.4, Xen 4.6.1, ati-drivers 15.12-r1, xorg-server 1.17.4. Конфиг ядра: https://bpaste.net/show/be2d8694b5b8

Железо: 2xXeon E5 v3, чипсет Intel C612, видеокарты 2xRadeon 7950.

В порядке оффтопика - давным-давно блоб nvidia прямо отказывался работать с dom0-ядром. Оно конечно может быть «в огороде бузина, а в Киеве - дядька»(ибо речь всё-таки о других проприетарных драйверах)... Но всё-таки - попробую опенсорсные драйвера. Или они на твои картах тоже глючат/выдают фиговую производительность?

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

Новый amdgpu мои карты не поддерживает. С radeon в последний раз когда я пробовал (~год назад) всё было плохо с производительностью. Плюс открытые дрова не могут OpenCL.

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)

Смотри в логах иксов. Там пишется, с каким параметром надо загрузить ядро.

anonymous
()
Ответ на: комментарий от anonymous

Там пишется, с каким параметром надо загрузить ядро.

С каким параметром надо грузить ядро чтобы что?

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

Чтобы X работали и даже было 3D-ускорение. Но это было давно. Тогда, помнится, X даже не стартовали, но в логах было предложение, какой параметр передать ядру. Либо в логах X, либо в dmesg при подгрузке модуля fglrx. После установки данного параметра X работали и вполне прилично. Другое дело, что мне тогда нужно было пробросить вторую карточку ati в виртуалку, а при загрузки X с блобом, блоб всё равно автоматом занимал карточку, хотя она была забиндина на pciback и в конфиге X не использовалась, и проброс по этой причине обламывался. В общем, я забил тогда на блоб.

anonymous
()
Ответ на: комментарий от anonymous

Ещё раз перечитай пост, пожалуйста. Моя проблема в том, что гипервизор как-то мешает работать fglrx.

hateyoufeel ★★★★★
() автор топика

эта трабла периодически всплывает от релиза к релизу, хотя твоя карта и указана как совместимая, но гарантий абсолютно никаких, у меня «нормально» для Dom0 смогла заработать только HD6670, но не заработала для DomU, зато заработала nvidia GTX250! Проблема вся в железках, десктопные карты(не топовые) в большинстве своём не имеют механизма «горячего рестарта» из-за чего они не могут работать в DomU и крайне криво работают в Dom0, вот ссыль на протестированные карты, но список явно устарел, имеет смысл почитать блоги разработчиков, там иногда всплывают решения, ну очень редко.

P/S : попробуй на открытых дровах, если так же будет зависать, то карта не подходит для Dom0. Пробуй другие.

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

тогда «пляши-от-печки».

1. Пробуй с нативным интелом(не знаю в ксеоне есть встроенка?) если есть то большего и не надо, он прокачивает все задачи(ну 90% точно) десктопа на открытых дровах.

2. Радеон попробуй на открытых дровах, да что-то работать не будет, но это не критично. Да, кросфайер в ксене не работает от слова совсем.

3. Поищи карту имеющую встроенный механизм «горячего сброса», если его нет, то будешь ловить моменты из первого поста, потому как Dom0 это лишь привилегированный DomU, иксы в нем работают по той же схеме что и с проброшенной картой, просто у них чуть больше прав и сам проброс явно указывать не надо.

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

P/S: мой опыт с Xen`ом хоть и положительный, но пришлось таки перебрать с десяток железяк пока нашёл те, что заработали так как надо, да и времени убил - «мама-дорогая!», так поиграться...

Gramozeka ★★
()
Последнее исправление: Gramozeka (всего исправлений: 2)
Ответ на: комментарий от Gramozeka

1. Пробуй с нативным интелом(не знаю в ксеоне есть встроенка?) если есть то большего и не надо, он прокачивает все задачи(ну 90% точно) десктопа на открытых дровах.

Нету в Xeon встроенного видео. Есть Matrox g200 в мат.плате, но он бесполезен для чего-то сложнее консоли.

2. Радеон попробуй на открытых дровах, да что-то работать не будет, но это не критично. Да, кросфайер в ксене не работает от слова совсем.

Я конечно попробую, но мне всё равно нужен fglrx. Менять карты до выхода Polaris в ближайшие полгода не очень хочется.

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

Интересно, вот этого я не знал. Спасибо, буду плясать от этого.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

Смотри логи. Не ругнулся ли fglrx.ko в dmesg при загрузке. И в xorg.log нормально ли смог загрузиться блоб. Скорее всего, у тебя отсутствует 3D. А это означает, что либо ядерный модуль fglrx не смог загрузиться и тогда он должен ругнуться при загрузке, либо X не смогли запустить блоб. У меня ещё до всяких специфических настроек проброса X просто не стартовали, пока не воткнул опцию ядра, которую подсмотрел в логах ошибки.

anonymous
()
Ответ на: комментарий от anonymous

fglrx присутствует в выводе lsmod. Блоб, очевидно, тоже загрузился, потому как вывод на экран есть. Наличие 3D не проверял, потому как всё лагает. Запуск urxvt занимает несколько секунд, например. В dmesg ругательств от fglrx нету.

Скинь опцию ядра, с которой у тебя всё заработало.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

Это было слишком давно, я даже примерно название опции не помню. В гугле народ советовал загрузиться с «nopat». Возможно, это она и была. Но, судя по форуму, человеку она не полностью помогла.

anonymous
()
Ответ на: комментарий от hateyoufeel
menuentry 'Slackware-14.1 GNU/Linux, с Xen 4.6.0 и Linux 4.1.6-xen' --class slackware-14.1 --class gnu-linux --class gnu --class os --class xen $menuentry_id_option 'xen-gnulinux-4.1.6-xen-advanced-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx' {
                        insmod part_msdos
                        insmod ext2
                        set root='hd3,msdos4'
                        if [ x$feature_platform_search_hint = xy ]; then
                          search --no-floppy --fs-uuid --set=root --hint-bios=hd3,msdos4 --hint-efi=hd3,msdos4 --hint-baremetal=ahci3,msdos4  xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx
                        else
                          search --no-floppy --fs-uuid --set=root xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx
                        fi
                        echo    'Загружается Xen 4.6.0 …'
                        multiboot       /boot/xen-4.6.0.gz placeholder  dom0_mem=2048M,max:2048M vtd=1
                        echo    'Загружается Linux 4.1.6-xen …'
                        module  /boot/vmlinuz-4.1.6-xen placeholder root=/dev/sdd4 xen-pciback.passthrough=1 xen_pciback.hide=(01:00.0)(01:00.1) vt.default_utf8=1 ro quiet
                }

вот заголовок grub2, если тебе это как-то поможет, ещё что-то такое было,.. а в самом ксене есть нативный qemu-xen-traditional, который входит в дистрибутив ксена, вот эта херь у меня не хотела никак собираться, а без неё иксы не работали, пришлось патчить самостоятельно руками...

Gramozeka ★★
()
Ответ на: комментарий от hateyoufeel

У тебя видеокарта воткнута в pcie 01:00, так?

нет, Dom0 дана для видео встроенная Intel(R) Core(TM) i5-3550 , а в первом pcie стоит Nvidia GTX250 в режиме проброса в Windows 7, работает практически как в «натуральном» режиме, где-то были скрины...

виртуальная винда

момент в процессе установки...

Gramozeka ★★
()
Ответ на: комментарий от Gramozeka

Попытался ещё раз запустить, пошаманил с параметрами. В логах X вылезло вот такое:

(EE) [mi] EQ overflowing.  Additional events will be discarded until existing events are processed.
(EE)
(EE) Backtrace:
(EE) 0: /usr/bin/X (xorg_backtrace+0x56) [0x589216]
(EE) 1: /usr/bin/X (mieqEnqueue+0x24b) [0x56af5b]
(EE) 2: /usr/bin/X (QueuePointerEvents+0x52) [0x44ec92]
(EE) 3: /usr/bin/X (xf86PostMotionEvent+0xd6) [0x4851a6]
(EE) 4: /usr/lib64/xorg/modules/input/mouse_drv.so (0x7fc9815a2000+0x6e59) [0x7fc9815a8e59]
(EE) 5: /usr/lib64/xorg/modules/input/mouse_drv.so (0x7fc9815a2000+0x7547) [0x7fc9815a9547]
(EE) 6: /usr/lib64/xorg/modules/input/mouse_drv.so (0x7fc9815a2000+0x4486) [0x7fc9815a6486]
(EE) 7: /usr/bin/X (0x400000+0x74d18) [0x474d18]
(EE) 8: /usr/bin/X (0x400000+0x9b747) [0x49b747]
(EE) 9: /lib64/libc.so.6 (0x7fc983f63000+0x33450) [0x7fc983f96450]
(EE) 10: /lib64/libc.so.6 (0x7fc983f63000+0x148e38) [0x7fc9840abe38]
(EE) 11: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (swlDrmAllocDynamicSharedBuffer+0x16c) [0x7fc982255bec]
(EE) 12: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (0x7fc981ad7000+0x75926a) [0x7fc98223026a]
(EE) 13: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (xdl_xs117_allocatePixmap+0x1b4) [0x7fc98222f644]
(EE) 14: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (allocatePixmap+0xd) [0x7fc981fc96ed]
(EE) 15: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (0x7fc981ad7000+0xcb4b43) [0x7fc98278bb43]
(EE) 16: /usr/bin/X (0x400000+0x32a46) [0x432a46]
(EE) 17: /usr/bin/X (0x400000+0x37327) [0x437327]
(EE) 18: /usr/bin/X (0x400000+0x3b48b) [0x43b48b]
(EE) 19: /lib64/libc.so.6 (__libc_start_main+0xf0) [0x7fc983f835a0]
(EE) 20: /usr/bin/X (_start+0x29) [0x425939]
(EE)
(EE) [mi] These backtraces from mieqEnqueue may point to a culprit higher up the stack.
(EE) [mi] mieq is *NOT* the cause.  It is a victim.
[    53.431] [mi] Increasing EQ size to 1024 to prevent dropped events.
[    53.431] [mi] EQ processing has resumed after 70 dropped events.

Судя по всему, это таки косяк fglrx.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel
[    53.431] [mi] Increasing EQ size to 1024 to prevent dropped events

это матрокс встроенный? Попробуй его вырубить принудительно как нибудь,через modprobe.d , к примеру...

Gramozeka ★★
()
Ответ на: комментарий от Gramozeka

это матрокс встроенный? Попробуй его вырубить принудительно как нибудь,через modprobe.d , к примеру...

Матрокс выключен в биосе, он тут вообще не причём. Опять же, без гипервизора всё прекрасно работает.

mi - machine independent (http://www.x.org/wiki/Development/Documentation/Glossary/)

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

... и зачем тебе иксы на сервере? всё можно организовать через известные сетевые протоколы с вменяемой графикой на конечном терминале, тот же ssh, замечательно иксы показывает. А радеоны попробуй пробросить в виртуалки, получится, можешь в виртулке гонять свой блоб до посинения,. В конечном итоге Dom0 можно управлять из любой DomU, главное правильно настроить. И потом от Dom0 как такового - нужна только консоль, Смысла держать в нём весь Desktop с ИКсами не очень много.

Gramozeka ★★
()
Ответ на: комментарий от Gramozeka

Это не сервер. Это мой десктоп :)

Xen мне нужен, потому что я хочу поиграться с unikernels. Запускать полноценные ОС в Xen мне без надобности, для этого есть VirtualBox.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от Gramozeka

Таки да, проблема была именно в fglrx. Я поставил radeon, тормоза почти исчезли, и система теперь вполне стабильна.

hateyoufeel ★★★★★
() автор топика

Я поспешил. На radeon примерно та же хрень.

(EE) [mi] EQ overflowing.  Additional events will be discarded until existing events are processed.
(EE)
(EE) Backtrace:
(EE) 0: /usr/bin/X (xorg_backtrace+0x4e) [0x58749e]
(EE) 1: /usr/bin/X (mieqEnqueue+0x253) [0x5692e3]
(EE) 2: /usr/bin/X (QueuePointerEvents+0x52) [0x44d352]
(EE) 3: /usr/bin/X (xf86PostMotionEvent+0xd6) [0x483c96]
(EE) 4: /usr/lib/xorg/modules/input/mouse_drv.so (0x7f0ed18f9000+0x63bb) [0x7f0ed18ff3bb]
(EE) 5: /usr/lib/xorg/modules/input/mouse_drv.so (0x7f0ed18f9000+0x6a79) [0x7f0ed18ffa79]
(EE) 6: /usr/lib/xorg/modules/input/mouse_drv.so (0x7f0ed18f9000+0x448b) [0x7f0ed18fd48b]
(EE) 7: /usr/bin/X (0x400000+0x74498) [0x474498]
(EE) 8: /usr/bin/X (0x400000+0x96abb) [0x496abb]
(EE) 9: /lib64/libc.so.6 (0x7f0ed56e6000+0x33450) [0x7f0ed5719450]
(EE) 10: /lib64/libc.so.6 (ioctl+0x5) [0x7f0ed57c7905]
(EE) 11: /usr/lib64/libdrm.so.2 (drmIoctl+0x28) [0x7f0ed6863c58]
(EE) 12: /usr/lib64/libdrm.so.2 (drmCommandWrite+0x1b) [0x7f0ed686691b]
(EE) 13: /usr/lib64/dri/radeonsi_dri.so (0x7f0ed0042000+0x50c3ec) [0x7f0ed054e3ec]
(EE) 14: /usr/lib64/dri/radeonsi_dri.so (0x7f0ed0042000+0x50d9b7) [0x7f0ed054f9b7]
(EE) 15: /usr/lib64/dri/radeonsi_dri.so (0x7f0ed0042000+0x531ba2) [0x7f0ed0573ba2]
(EE) 16: /usr/lib64/dri/radeonsi_dri.so (0x7f0ed0042000+0x1fa322) [0x7f0ed023c322]
(EE) 17: /usr/lib64/dri/radeonsi_dri.so (0x7f0ed0042000+0x16f81f) [0x7f0ed01b181f]
(EE) 18: /usr/lib64/dri/radeonsi_dri.so (0x7f0ed0042000+0x16f9a2) [0x7f0ed01b19a2]
(EE) 19: /usr/lib/xorg/modules/libglamoregl.so (0x7f0ed129a000+0x1c405) [0x7f0ed12b6405]
(EE) 20: /usr/lib/xorg/modules/libglamoregl.so (0x7f0ed129a000+0xf3ae) [0x7f0ed12a93ae]
(EE) 21: /usr/bin/X (0x400000+0x176848) [0x576848]
(EE) 22: /usr/bin/X (0x400000+0xbc6aa) [0x4bc6aa]
(EE) 23: /usr/bin/X (0x400000+0xcc6a8) [0x4cc6a8]
(EE) 24: /usr/bin/X (0x400000+0xcd6d8) [0x4cd6d8]
(EE) 25: /usr/bin/X (0x400000+0x348cf) [0x4348cf]
(EE) 26: /usr/bin/X (0x400000+0x38903) [0x438903]
(EE) 27: /lib64/libc.so.6 (__libc_start_main+0xf0) [0x7f0ed57065a0]
(EE) 28: /usr/bin/X (_start+0x29) [0x422bf9]
(EE)
(EE) [mi] These backtraces from mieqEnqueue may point to a culprit higher up the stack.
(EE) [mi] mieq is *NOT* the cause.  It is a victim.
(EE) [mi] EQ overflow continuing.  100 events have been dropped.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

nopat добавлял в опции загрузки?

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