Neuere Versionen des Intel-Treibers enthalten ein Programm namens intel-virtual-output
das die Einrichtung von Doppel- und Dreifachanzeigen auf einem W520 erheblich vereinfacht.
Das intel-virtual-output
Befehl bietet einem X-Server auf der Intel-Karte die Möglichkeit, Bildschirme auf einem anderen X-Server zu duplizieren. Es werden die verfügbaren Bildschirme auf dem Remote-Bildschirm angezeigt und auf dem Intel X-Server als VIRTUAL1, VIRTUAL2 usw. dargestellt.
Das folgende Skript (als root ausführen) funktioniert für mich, aber wahrscheinlich müssen Sie die Dinge optimieren:
#!/bin/sh
# Power on the nvidia card with bumblebee.
modprobe bbswitch
echo ON > /proc/acpi/bbswitch
# Run X display :8 on the nvidia card.
optirun true
# Tell the intel card to create virtual screens on :0 and
# copy whatever they're displaying to equivalent screens on :8
intel-virtual-output
# Configure my monitors the way I like them.
xrandr --output VIRTUAL3 --auto
xrandr --output VIRTUAL1 --auto --right-of VIRTUAL3
xrandr --output LVDS1 --off
Dieses Setup aktiviert mein DisplayPort zu DVI-Kabel (VIRTUAL3) auf der linken Seite und das VGA (VIRTUAL1) auf der rechten Seite. Es deaktiviert auch den Laptop-Bildschirm.
Beachten Sie, dass dies nur virtuelle Bildschirme des Treibers sind. Theoretisch sollte das Anzeigekonfigurationstool Ihrer GUI in der Lage sein, dies nach dem Ausführen herauszufinden intel-virtual-output
.
In der Praxis hat das Tool zur Anzeigekonfiguration in xubuntu nicht wirklich zusammenhängende Dinge getan. Deshalb xrandr
gibt es diese Befehle. Wenn Sie Gnome oder KDE ausführen, lohnt es sich möglicherweise, das GUI-Tool zu testen, bevor Sie sich an die Arbeit machen xrandr
. Andernfalls möchten Sie, bevor Sie dies ausführen, wahrscheinlich einige Dinge für das tatsächlich verwendete Setup optimieren. Beim Ausführen werden Sie lediglich darüber xrandr
informiert, welche Anzeigen aktuell verbunden sind. Sie können Ihre Monitore anschließen und trennen, um festzustellen, welcher Stecker mit welchem VIRTUAL [0-9] -Display verbunden ist. Der Laptop-Bildschirm ist LVDS1. Dann ist es nur noch eine Frage der xrandr
Befehle mit --right-of
,--left-of
, --below
etc. Dinge in ihren richtigen Platz zu bekommen.
Wenn Sie wieder mobil werden möchten, können Sie dies ausführen (erneut als root):
#!/bin/sh
# Turn on the laptop screen.
xrandr --output LVDS1 --auto
# Turn off my the other screens.
xrandr --output VIRTUAL1 --off
xrandr --output VIRTUAL3 --off
# Kill the xorg server running on the nvidia card.
kill $(ps ax | grep Xorg | grep :8 | awk '{print $1}')
# Wait plenty of time for it to die.
sleep 5
# Remove the nvidia kernel module so we can shut down the card.
# If you're running another driver this might be something different.
rmmod nvidia
# Use bumblebee to turn off the nvidia card and save power.
echo OFF > /proc/acpi/bbswitch
Ich verwende xubuntu 14.04 mit dem proprietären NVIDIA-Treiber, Version 337.25. Ich habe auch Hummelpakete von https://launchpad.net/~bumblebee/+archive/ubuntu/stable .
Interessanterweise ist dieses Setup das Gegenteil des üblichen Optimus-Setups. Normalerweise führen Sie selektiv Programme auf der NVIDIA-Karte aus und kopieren Puffer von der NVIDIA-Karte auf die Intel-Karte, die tatsächlich mit den Monitoren kommuniziert. In diesem Fall führen Sie alles auf der Intel-Karte aus und kopieren die entsprechenden Bildschirmpuffer auf die NVIDIA-Karte.
Wenn Sie sich fragen, ja, das macht es schwierig, Anwendungen mit NVIDIA-Beschleunigung auszuführen. Ich habe noch nicht herausgefunden, wie Spiele eine gute Leistung erbringen können, und selbst bei HD-Videos verlangsamt sich die Leistung mit der Zeit. Es scheint sogar nicht doppelt zu puffern, da Sie das Scannen von oben nach unten von links nach rechts sehen, nachdem Sie ein Video mit einer relativ hohen Auflösung für eine Weile abgespielt haben. Das heißt, die meisten Projektoren werden wahrscheinlich in Ordnung sein.