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を繰り返し編集する必要があることです。それを回避する方法はありますか?
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
がハングするという問題が発生しました—これが関連しているかどうかはわかりません、しかしそれはおそらくそうです。