web-dev-qa-db-ja.com

NvidiaでHDMIを使用したBumblebee-モニターが接続されている場合と接続されていない場合の両方で使用可能

OptimusでAsusのラップトップを使用しています。 VGA出力はIntelカードに配線され、HDMI出力はNvidiaカードに配線されます。

私はPRIMEやnouveauを使用していませんが、マルハナバチのセットアップを好みます(私のNvidiaカードの実際の使用法は、実際にはSteamでゲームを実行することだけです)。 PRIMEは、マウスカーソルの画面ロックなどに関して非常に奇妙なバグを出しました。nouveauは、私のnvidiaの「パフォーマンス」をIntelカードと同等にし、目的を達成しませんでした。

マルハナバチでは、intel-virtual-outputを使用して外部HDMIモニターを動作させることができます。モニターは問題なくxrandrに表示され、通常のxrandrツールを使用してクローン/拡張画面として使用できます。ただし、これには、"UseDisplayDevice"/etc/bumblebee/xorg.conf.nvidiaオプションをコメントアウトする必要があります。

これを行う際の問題は、HDMIにモニターが接続されていない場合(オフィスから離れている場合)、primusrunはモニターが接続されていないと文句を言うため、次のコメントされていない回線が必要になることです。

Option "UseDisplayDevice" "none"

/etc/bumblebee/xorg.conf.nvidiaのデバイスセクション

この設定は、しばらくの間微調整とグーグルを行った結果であり、唯一の「問題」は、モニターの有無に応じてnvidiaxorg.confを繰り返し編集する必要があることです。それを回避する方法はありますか?

3
Ng Oon-Ee

Optimusラップトップでも同様の問題が発生しました。HDMIモニターはintel-virtual-output経由で動作していますが、切断するとoptirunが失敗しました。

私にとってはうまくいくようですが、次の/etc/bumblebee/xorg.conf.nvidia(私は独自の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

重要なのは線です

Option "AllowEmptyInitialConfiguration"

追加後、シングルモニター構成とマルチモニター構成の両方が自動的に機能し始めましたが、gdm.serviceと同時に開始するとbumblebeed.serviceがハングするという問題が発生しました—これが関連しているかどうかはわかりません、しかしそれはおそらくそうです。

2
Timo