Trzmiel z HDMI na Nvidii - umożliwia używanie zarówno z podłączonym monitorem, jak i bez niego

3

Używam laptopa Asus z Optimusem. Wyjście VGA jest podłączone do karty Intel, natomiast wyjście HDMI jest podłączone do karty Nvidia.

Nie używam PRIME ani secesji, ale wolę konfigurację trzmiela (jedynym prawdziwym zastosowaniem mojej karty Nvidia jest uruchamianie gier na steam, naprawdę). PRIME dawał naprawdę dziwne błędy w odniesieniu do blokady ekranu kursorem myszy itp., A nouveau sprawia, że ​​„wydajność” mojej nvidii jest porównywalna z wydajnością mojej karty Intela, co pokonuje cel.

Na trzmiele mogę uruchomić zewnętrzny monitor HDMI za pomocą intel-virtual-output. monitor pojawia się wtedy bez problemu xrandri może być używany jako klon / rozszerzony ekran przy użyciu zwykłych xrandrnarzędzi. Wymaga to jednak skomentowania "UseDisplayDevice"opcji w/etc/bumblebee/xorg.conf.nvidia

Problem z tym polega na tym, że gdy nie mam monitora podłączonego do HDMI (za każdym razem, gdy jestem poza biurem), primusrun będzie narzekać, że żaden monitor nie jest podłączony, i muszę mieć następującą niepomocowaną linię

Option "UseDisplayDevice" "none"

w sekcji urządzenia /etc/bumblebee/xorg.conf.nvidia

Ta konfiguracja jest wynikiem drobnych poprawek i googlowania przez pewien czas, a jedynym „problemem” jest powtarzająca się potrzeba edycji nvidii xorg.conf w zależności od tego, czy mam monitor, czy nie. Czy jest jakiś sposób na obejście tego?

Ng Oon-Ee
źródło

Odpowiedzi:

2

Miałem podobny problem na moim laptopie Optimus - mam działający monitor HDMI intel-virtual-output, ale gdy został odłączony, optirunnie powiódł się.

Wydaje mi się, że to działa /etc/bumblebee/xorg.conf.nvidia(używam zastrzeżonego sterownika Nvidia):

Section "ServerLayout"
    Identifier  "Layout0"
    #Option      "AutoAddDevices" "false"
    Option      "AutoAddGPU" "false"
EndSection

Section "Device"
    Identifier  "DiscreteNvidia"
    Driver      "nvidia"
    VendorName  "NVIDIA Corporation"

#   If the X server does not automatically detect your VGA device,
#   you can manually set it here.
#   To get the BusID prop, run `lspci | egrep 'VGA|3D'` and input the data
#   as you see in the commented example.
#   This Setting may be needed in some platforms with more than one
#   nvidia card, which may confuse the proprietary driver (e.g.,
#   trying to take ownership of the wrong device). Also needed on Ubuntu 13.04.
#   BusID "PCI:01:00:0"

#   Setting ProbeAllGpus to false prevents the new proprietary driver
#   instance spawned to try to control the integrated graphics card,
#   which is already being managed outside bumblebee.
#   This option doesn't hurt and it is required on platforms running
#   more than one nvidia graphics card with the proprietary driver.
#   (E.g. Macbook Pro pre-2010 with nVidia 9400M + 9600M GT).
#   If this option is not set, the new Xorg may blacken the screen and
#   render it unusable (unless you have some way to run killall Xorg).
    Option "ProbeAllGpus" "false"

    Option "NoLogo" "true"
    #Option "UseEDID" "false"
    #Option "UseDisplayDevice" "none"
    Option "AllowEmptyInitialConfiguration"
    #BusID "PCI:1:0:0"
EndSection

Ważnym elementem jest linia

Option "AllowEmptyInitialConfiguration"

Po dodaniu, konfiguracje jedno- i wielomonitorowe zaczęły działać automatycznie, chociaż napotkałem problemy, gdm.servicektóre zawiesiłyby się przy uruchomieniu w tym samym czasie co - bumblebeed.serviceNie jestem pewien, czy to jest powiązane, ale prawdopodobnie tak jest.

Timo
źródło
1
Dzięki, działało to natychmiast (w tym sensie, że Primusrun działałby nawet, gdy monitor nie był podłączony), ale kombinacja zdarzeń IRL oznaczała, że ​​nie miałem dostępu do monitora HDMI, aby przetestować jego funkcjonalność do dziś. Odpowiedź zaakceptowana!
Ng Oon-Ee,