Próbuję użyć wyjścia HDMI na komputerze (HP ZBook) z Debianem (stretch). Skonfigurowałem Bumblebee, działa dobrze (glxinfo i optirun glxinfo zgłaszają oczekiwane informacje, i przetestowałem skomplikowane shadery GLSL, które również działają zgodnie z oczekiwaniami).
Teraz chciałbym móc podłączyć projektor wideo do HDMI. Przeczytałem tutaj [1], że można użyć wirtualnego wyjścia Intel do skonfigurowania go, gdy HDMI jest podłączone do płyty NVidia (używając wyjścia VIRTUAL, którym można manipulować za pomocą xrandr). Jednak intel-virtual-output mówi:
no VIRTUAL outputs on ":0"
Kiedy to robię xrandr -q
, nie ma na liście żadnego wyjścia WIRTUALNEGO, mam tylko:
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)
Moja zainstalowana wersja xserver-xorg-video-intel to: xserver-xorg-video-intel_2.99.917 + git20160706-1_amd64.deb
Aktualizacja (sobota, 09 grudnia 2016 r.) Zaktualizowałem Debiana, a teraz X ulega awarii, gdy drugi monitor jest aktywny podczas uruchamiania niektórych aplikacji (na przykład xemacs). Sob. 17 grudnia 2016 r .: Tak, dowiedziałem się! (zaktualizowałem odpowiedź).
Aktualizacja (śr. 27 września 2017 r.) Metoda działa w 99% przypadków, ale w zeszłym tygodniu wypróbowałem rzutnik, który akceptuje tylko tryby 50 Hz i nie mógł uzyskać niczego innego niż 60 Hz (więc nie działał). Czy ktoś wie, jak wymusić tryby 50 Hz?
Aktualizacja (wtorek, 01 października 2019 r.) Argh! Zepsuty ponownie: po aktualizacji X i sterownika NVidia, optirun ulega teraz awarii ( /var/log/Xorg.8.log
mówi o awarii w Xorg, OsLookupColor + 0x139). Aktualizacja (07 października 2019 r.) Znaleziono tymczasową poprawkę (zaktualizowana odpowiedź).
[1] https://github.com/Bumblebee-Project/Bumblebee/wiki/Multi-monitor-setup
Odpowiedzi:
Tak, dowiedziałem się! Aby aktywować wyjście VIRTUAL sterownika Intel, musisz utworzyć
20-intel.conf
plik w katalogu konfiguracyjnym Xorg (w/usr/share/X11/xorg.conf.d
sekcji Debian, dowiedz się, czytając/var/log/Xorg.0.log
)Mój /etc/bumblebee/xorg.conf.nvidia wygląda następująco:
Kilka wyjaśnień: potrzebuje sekcji „Ekran”, w przeciwnym razie spróbuje użyć urządzenia Intela zadeklarowanego w 20-intel.conf (które właśnie dodaliśmy wcześniej, o mój ...). Potrzebuje także „AllowEmptyInitialConfiguration”, aby móc zacząć z optirun, gdy nie jest podłączony żaden monitor zewnętrzny.
Dzięki tej konfiguracji i uruchomieniu
intel-virtual-output
mogłem uzyskać dostęp do mojego portu HDMI. Yeehaa !!!Rozwiązywanie problemów: jeśli
optirun
albointel-virtual-output
nie działa, spójrz na/var/log/Xorg.8.log
(trzmiel tworzy serwer X z wyświetlaczem: 8 stosowany wewnętrznie).Uwagi czytałem w kilku miejscach, które
KeepUnusedXServer
powinny być ustawionetrue
iPMMethod
donone
w/etc/bumblebee/bumblebee.conf
, ja tego nie zrobiłem i to działa dobrze. Jeśli to zrobię, to działa, ale dyskretny procesor graficzny pozostaje włączony nawet po wyjściu z optiruneded aplikacji lub zabiciu intel-virtual-output, czego nie chciałem.Więcej notatek Coś innego, co sprawiło, że uderzyłem głową w ścianę, to dezaktywacja Nouveau i uruchomienie serwera Intel X: należy tego dokonać za pomocą flag przekazanych do jądra, określonych w parametrach GRUB. W
/etc/defaults/grub
mam następującą linię:(strzeż się cytatów i cytatów unikanych).
Kilka wyjaśnień: unika ładowania nowego (który jest niezgodny z serwerem Nvidia X) i mówi sterownikowi Intel, aby przeszedł do trybu graficznego w momencie uruchamiania. Jeśli tego nie zrobisz, serwer Intel X nie może się uruchomić i wraca do zwykłego starego serwera VESA z renderowaniem 3D po stronie procesora. Te
acpi_xxx
flagi są wymagane na tej konkretnej maszynie do pokonania BIOS błąd, który sprawia, że upaść, gdy dzieje się w trybie graficznym z dyskretnym off GPU. Należy pamiętać, że jest on specyficzny dla tego konkretnego notebooka (przenośnej stacji roboczej HP ZBook), może być niepotrzebny lub różnić się w przypadku innych laptopów.Aktualizacja (6 grudnia 2017 r.) W najnowszej dystrybucji Debiana (Buster) „915.modeset = 1 gfxpayload = 640x480” nie jest konieczne. Aby usunąć nouveau, musiałem również utworzyć plik nouveau.conf w /etc/modprobe.d z „blacklist nouveau”, a następnie ponownie utworzyć ramdysk za pomocą „update-initramfs -u”. Uruchom ponownie i upewnij się, że „nouveau” nie jest już załadowane z „lsmod | grep nouveau”.
Aktualizacja (17 grudnia 2016 r.) W przypadku najnowszego serwera xorg (1.19) wydaje się występować problem z funkcją RandR, która zarządza gamma, gdy jest używana z
intel-virtual-output
. Oto procedura łatania Xservera i uruchomienia go:edytuj hw / xfree86 / Mode / xg86RandR12.c Wiersz 1260, wstaw „return” (aby funkcja
xf86RandR12CrtcComputeGamma()
nic nie robiła )(zastąp
n.nn.n-n
prawidłową wersją), uruchom ponownie i Yehaa !! działa ponownie! (ale jest to szybka i brudna poprawka)Aktualizacja zgłosiła raport o błędzie (był już znany i został właśnie naprawiony): https://bugs.freedesktop.org/show_bug.cgi?id=99129
Jak wymyśliłem: Zainstalowałem
xserver-xorg-core-dbg
i zrobiłemgdb /usr/lib/xorg/Xorg <xorg pid>
z innej maszyny przez ssh.Aktualizacja (11 stycznia 17) Wygląda na to, że błąd został teraz naprawiony w najnowszych pakietach Debiana.
Aktualizacja (24 stycznia 18) Jeśli chcesz podłączyć beamer do robienia prezentacji i musisz skonfigurować wszystko tuż przed rozpoczęciem (intel-virtual-output + xrandr), może to być stresujące. Oto mały skrypt, który spełnia swoje zadanie (zrzeczenie się: dużo miejsca na ulepszenia, dotyczące stylu itp.):
aktualizacja (10/07/2019)
„Poprawka” dla nowej awarii: napisz w skrypcie (wywołaj
bumblebee-startx.sh
na przykład):(zamień PCI: nn: nn: n adresem twojej karty NVidia, uzyskanym za pomocą lspci)
Uruchom ten skrypt z okna terminalu jako root (
sudo bumblebee-startx.sh
), utrzymanie terminala Otwórz, a następnieoptirun
iintel-virtual-output
działa zgodnie z oczekiwaniami (Uwaga: czasami trzeba uruchomićxrandr
dodatkowo, aby wykryć ekran / video projektor). Teraz nie rozumiem, dlaczego to samo polecenie zaczęło się od awarii trzmiela, tyle tajemnic tutaj ... (ale przynajmniej daje tymczasową poprawkę).Jak wymyśliłem: napisałem skrypt „otoki”, aby uruchomić Xserver, zadeklarowałem go jako XorgBinary w bumblebee.conf, zmusiłem go do zapisania wiersza poleceń ($ *) w pliku, wypróbowałem kilka rzeczy obejmujących LD_PRELOAD, wstawienie łatki do XServera, aby naprawiono awarię w osLookupColor (nie działało), ale kiedy próbowałem ręcznie uruchomić ten sam wiersz poleceń, działało i działało bez mojej łatki (ale nadal nie rozumiem dlaczego).
Aktualizacja 11/15/2019 Po aktualizacji miałem dużo migotania, przez co system był bezużyteczny. Naprawiono przez dodanie parametru jądra
i915.enable_psr=0
(w/etc/defaults/grub
, wtedysudo update-grub
). Jeśli chcesz teraz, PSR oznacza „automatyczne odświeżanie panelu”, energooszczędną funkcję procesorów graficznych Intel (która może powodować migotanie ekranu).źródło
intel-virtual-output
. wychodził z kodem wyjścia111
. Próbowałem nawet dowiedzieć się, z czym to działastrace
. Znalazłem twój post, stworzyłem go/etc/X11/xorg.conf.d/20-intel.conf
tak jak twój, dodałem również mój naBusID "PCI:2:0:0"
wszelki wypadek. Używane podobne ustawienia/etc/bumblebee/xorg.conf.nvidia
i bam,intel-virtual-output
działa dobrze.xrandr
wykrywa teraz wszystkie inne moje porty! : D <3 część dotycząca rozwiązywania problemów na temat/var/log/Xorg.8.log
naprawdę pomogłaxrandr
, ale zaczepienie kabla pokazuje mi mysz, ale okna nie są wyświetlane na zewnętrznym wyświetlaczu. Czasami pokazuje kopię mojego ekranu głównego, a następnie oba ekrany stają się czarne i nic się nie dzieje. i okazało się, że system nie zaczyna się/etc/X11/xorg.conf.d/20-intel.conf
i nic nie widzę w logach. W każdym razie, dzięki za podzielenie się tym, chyba zbliżam się do rozwiązania.