Nowsze wersje sterownika Intel zawierają program o nazwie intel-virtual-output
, który znacznie upraszcza konfigurację podwójnych i potrójnych wyświetlaczy w W520.
Polecenie intel-virtual-output
umożliwia serwerowi X na karcie Intel duplikowanie ekranów na innym serwerze X. Przegląda dostępne ekrany na zdalnym wyświetlaczu i prezentuje je na serwerze Intel X jako VIRTUAL1, VIRTUAL2 itd.
Poniższy skrypt (uruchamiany jako root) działa dla mnie, ale najprawdopodobniej będziesz musiał poprawić ustawienia:
#!/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
Ta konfiguracja umożliwia podłączenie kabla DisplayPort do DVI (VIRTUAL3) po lewej stronie i VGA (VIRTUAL1) po prawej stronie. Wyłącza także ekran laptopa.
Zauważ, że skoro są to tylko wirtualne ekrany sterownika, teoretycznie twoje narzędzie do konfiguracji wyświetlania GUI powinno być w stanie to rozgryźć po uruchomieniu intel-virtual-output
.
W praktyce narzędzie do konfiguracji wyświetlania w xubuntu tak naprawdę nie robiło spójnych rzeczy. Właśnie dlatego istnieją te polecenia xrandr
. Jeśli używasz gnome lub kde, może warto wypróbować narzędzie GUI zanim zaczniesz mieszać z xrandr
. W przeciwnym razie, zanim to zrobisz, prawdopodobnie zechcesz ulepszyć pewne elementy, niezależnie od konfiguracji, której używasz. Uruchomienie tylko xrandr
mówi ci, jakie wyświetlacze są aktualnie połączone. Możesz podłączyć i odłączyć monitory, aby zobaczyć, która wtyczka łączy się z wyświetlaniem VIRTUAL [0-9]. Ekran laptopa to LVDS1. W takim razie jest to tylko kwestia wykonywania poleceń xrandr
z --right-of
, --left-of
, --below
, itp., Aby uzyskać rzeczy we właściwym miejscu.
Jeśli chcesz ponownie uruchomić telefon komórkowy, możesz uruchomić to (ponownie, jako 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 }')
# 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
Używam xubuntu 14.04 przy użyciu zastrzeżonej wersji sterownika nvidia 337.25. Mam też pakiety trzmieli z linku .
Co ciekawe, ta konfiguracja jest odwrotnością zwykłej konfiguracji Optimusa. Zazwyczaj selektywnie uruchamiasz programy na karcie NVIDIA i kopiujesz bufory z karty nvidia na kartę intel, która faktycznie rozmawia z monitorami. W tym przypadku uruchamiasz wszystko na karcie Intel i kopiujesz odpowiednie bufory ekranu do karty NVIDIA.
Jeśli się zastanawiasz, tak, to utrudnia uruchamianie aplikacji przyspieszonych nvidia. Nie znalazłem jeszcze sposobu na sprawienie, by gry działały dobrze, a nawet w przypadku filmów HD spowalniać z czasem. Wygląda na to, że nie ma podwójnego buforowania, ponieważ po pewnym czasie odtworzysz obraz z lewej i prawej strony od góry w dół po odtwarzaniu wideo o dość wysokiej rozdzielczości. Mimo to większość projektorów prawdopodobnie będzie w porządku.