Я пытаюсь использовать выход HDMI на ПК (HP ZBook) с Debian (растяжка). Я настроил Bumblebee, он работает хорошо (glxinfo и optirun glxinfo сообщают ожидаемую информацию, и я протестировал сложные шейдеры GLSL, которые также работают как положено).
Теперь я хотел бы иметь возможность подключить видеопроектор по HDMI. Я прочитал здесь [1], что виртуальный выход intel можно использовать для его настройки, когда HDMI подключен к плате NVidia (используя выход VIRTUAL, которым может управлять xrandr). Тем не менее, intel-virtual-output говорит:
no VIRTUAL outputs on ":0"
Когда я это делаю xrandr -q
, в списке нет ВИРТУАЛЬНОГО выхода, у меня есть только:
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 345mm x 194mm
1920x1080 60.02*+ 59.93
1680x1050 59.95 59.88
1600x1024 60.17
... other video modes ...
400x300 60.32 56.34
320x240 60.05
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)
Моя установленная версия xserver-xorg-video-intel: xserver-xorg-video-intel_2.99.917 + git20160706-1_amd64.deb
Обновление (суббота, 09 декабря 2016 г.) Я обновил Debian, и теперь X падает, когда второй монитор активен, когда я запускаю некоторые приложения (например, xemacs). Сидел. 17 декабря 2016: Да, узнал! (обновил ответ).
Обновление (среда, 27 сентября 2017 г.) Метод работает в 99% случаев, но на прошлой неделе я попробовал проектор, который принимает только режимы 50 Гц, и не мог получить ничего, кроме 60 Гц (поэтому он не работал). Кто-нибудь знает, как заставить работать режим 50Гц?
Обновление (вт 1 октября 2019) Argh! Снова сломано: после обновления X и драйвера NVidia optirun теперь падает ( /var/log/Xorg.8.log
говорит об ошибке в Xorg, OsLookupColor + 0x139). Обновление (07 октября 2019 г.) Нашли временное исправление (обновленный ответ).
[1] https://github.com/Bumblebee-Project/Bumblebee/wiki/Multi-monitor-setup
Ответы:
Да, узнал! Чтобы активировать вывод VIRTUAL драйвера intel, вам нужно создать
20-intel.conf
файл в каталоге конфигурации Xorg (в/usr/share/X11/xorg.conf.d
разделе Debian stretch, который можно узнать, прочитав/var/log/Xorg.0.log
)Мой /etc/bumblebee/xorg.conf.nvidia выглядит следующим образом:
Некоторые объяснения: ему нужен раздел «Экран», иначе он пытается использовать устройство Intel, объявленное в 20-intel.conf (которое мы только что добавили ранее, о боже ...). Также необходимо, чтобы «AllowEmptyInitialConfiguration» мог запускаться с optirun, когда внешний монитор не подключен.
С этой конфигурацией и запуском
intel-virtual-output
я смог получить доступ к своему порту HDMI. Даааа !!!Устранение неисправностей: если
optirun
илиintel-virtual-output
не работает, взгляните на/var/log/Xorg.8.log
(шмель создает X-сервер с дисплеем: 8 используется внутри).Примечания я прочитал в нескольких местах , которые
KeepUnusedXServer
должны быть установлены вtrue
иPMMethod
кnone
в/etc/bumblebee/bumblebee.conf
, я не делал этого , и это работает отлично. Если я это сделаю, это будет работать, но тогда дискретный графический процессор останется включенным даже после выхода из запущенного приложения или убийства intel-virtual-output, чего я не хотел.Еще примечания Еще одна причина, заставившая меня удариться головой о стену, была деактивация Nouveau и запуск сервера Intel X: это нужно сделать с помощью флагов, передаваемых ядру, указанных в параметрах GRUB. У
/etc/defaults/grub
меня есть следующая строка:(остерегайтесь кавычек и избежавших кавычек).
Некоторые объяснения: он избегает загрузки nouveau (что несовместимо с сервером Nvidia X) и указывает драйверу Intel переходить в графический режим прямо во время загрузки. Если вы этого не сделаете, то сервер Intel X не сможет запуститься, и он вернется к обычному старому серверу VESA с 3D-рендерингом на стороне процессора. Эти
acpi_xxx
флаги необходимы на этой конкретной машине , чтобы преодолеть ошибку BIOS , что делает его сбой при переходе в графическом режиме с дискретным GPU выключены. Обратите внимание, что он специфичен для данного ноутбука (портативная рабочая станция HP ZBook), он может быть ненужным или отличаться для других ноутбуков.Обновление (6 декабря 2017 г.) В последнем дистрибутиве Debian (Buster) «915.modeset = 1 gfxpayload = 640x480» не требуется. Чтобы удалить nouveau, мне нужно было также создать файл nouveau.conf в /etc/modprobe.d с «черным списком nouveau» в нем, а затем заново создать виртуальный диск с помощью «update-initramfs -u». Перезагрузитесь и убедитесь, что «nouveau» больше не загружается с «lsmod | grep nouveau».
Обновление (17 декабря 2016 г.) В последнем xorg-сервере (1.19), похоже, существует проблема в функции RandR, которая управляет гаммой при использовании с
intel-virtual-output
. Вот процедура для исправления Xserver и заставить его работать:отредактируйте hw / xfree86 / mode / xg86RandR12.c Строка 1260, вставьте «return» (чтобы функция
xf86RandR12CrtcComputeGamma()
ничего не делала)(замените на
n.nn.n-n
правильную версию), перезагрузитесь и Yehaa !! снова работает! (но это быстрое и грязное исправление)Обновление подало отчет об ошибке (было уже известно, и только что было исправлено): https://bugs.freedesktop.org/show_bug.cgi?id=99129
Как я разобрался: установил
xserver-xorg-core-dbg
и сделалgdb /usr/lib/xorg/Xorg <xorg pid>
с другой машины через ssh.Обновление (11 января 17) Похоже, что ошибка теперь исправлена в последних пакетах Debian.
Обновление (24 января 18) Если вы хотите подключить проектор для проведения презентации и вам нужно все настроить перед запуском (intel-virtual-output + xrandr), это может вызвать стресс. Вот небольшой скрипт, который делает эту работу (отказ от ответственности: много возможностей для улучшения, в отношении стиля и т. Д.):
обновление (10/07/2019)
«Исправление» для нового сбоя: напишите, что следует в скрипте (назовите его,
bumblebee-startx.sh
например):(замените PCI: nn: nn: n на адрес вашей карты NVidia, полученный с помощью lspci)
Запустите этот сценарий из окна терминала в качестве корня (
sudo bumblebee-startx.sh
), держать терминал открытым, тоoptirun
иintel-virtual-output
работать , как и ожидалось (примечание: иногда мне нужно запуститьxrandr
в дополнение , чтобы сделать экран / видеопроектор обнаружен). Теперь я не понимаю, почему та же самая команда началась с аварий со сбоями, так много загадок здесь ... (но, по крайней мере, это дает временное исправление)Как я понял: написал скрипт-обертку для запуска xserver, объявил его как XorgBinary в bumblebee.conf, заставил сохранить командную строку ($ *) в файл, попробовал некоторые вещи, включая LD_PRELOAD, добавив патч к XServer для исправить ошибку в osLookupColor (не работало), но когда я попытался запустить ту же командную строку вручную, она работала и продолжала работать без моего патча (но я до сих пор не понимаю, почему).
Обновление 15.11.2009 После обновления у меня появилось много мерцаний, из-за которых система стала непригодной для использования. Исправлено добавлением параметра ядра
i915.enable_psr=0
(in/etc/defaults/grub
, затемsudo update-grub
). Если вы хотите сейчас, PSR означает «самообновление панели», энергосберегающую функцию графических процессоров Intel (которая может вызвать мерцание экрана).источник
intel-virtual-output
. выход с кодом выхода111
. Я даже пытался понять, с чем это связаноstrace
. Нашел ваш пост, я создал его так/etc/X11/xorg.conf.d/20-intel.conf
же, как ваш, также добавил свой наBusID "PCI:2:0:0"
всякий случай. Используются аналогичные настройки/etc/bumblebee/xorg.conf.nvidia
и бац,intel-virtual-output
отлично работает.xrandr
теперь обнаруживает все мои другие порты! : D <3, часть устранения неполадок о/var/log/Xorg.8.log
действительно помоглаxrandr
, но подключение кабеля показывает мне мышь, но окна не отображаются на внешнем дисплее. Иногда он показывает копию моего основного экрана, а затем оба экрана становятся черными, и ничего не происходит. и оказалось, что система не запускается,/etc/X11/xorg.conf.d/20-intel.conf
и я ничего не вижу в журналах. В любом случае, спасибо, что поделились этим, я полагаю, что все ближе к решению.