Nowsze wersje sterownika Intel zawierają program o nazwie, intel-virtual-output
który znacznie upraszcza konfigurację podwójnych i potrójnych wyświetlaczy na W520.
To intel-virtual-output
polecenie umożliwia X-serwerowi na karcie Intel duplikowanie ekranów na innym serwerze X. Sprawdza dostępne ekrany na zdalnym wyświetlaczu i przedstawia je na serwerze Intel X jako VIRTUAL1, VIRTUAL2 itp.
Poniższy skrypt (uruchamiany jako root) działa dla mnie, ale najprawdopodobniej będziesz musiał go ulepszyć:
#!/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 mój kabel DisplayPort do DVI (VIRTUAL3) po lewej stronie i VGA (VIRTUAL1) po prawej stronie. Wyłącza także ekran laptopa.
Zauważ, że ponieważ są to tylko wirtualne ekrany ze sterownika, teoretycznie 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 te xrandr
polecenia są dostępne. Jeśli korzystasz z gnome lub kde, może warto wypróbować narzędzie GUI przed zadziałaniem xrandr
. W przeciwnym razie, zanim uruchomisz ten program, prawdopodobnie zechcesz poprawić niektóre ustawienia, niezależnie od tego, jakiej faktycznie używasz. Uruchomienie xrandr
informuje tylko , które wyświetlacze są aktualnie podłączone. Możesz podłączyć i odłączyć monitory, aby zobaczyć, która wtyczka łączy się z którym wyświetlaczem VIRTUAL [0-9]. Ekran laptopa to LVDS1. Wtedy to po prostu kwestia wykonując xrandr
polecenia z --right-of
, --left-of
, --below
, itd., Aby dostać rzeczy we właściwym miejscu.
Jeśli chcesz ponownie uruchomić urządzenie mobilne, 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 $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
Używam Xubuntu 14.04 przy użyciu zastrzeżonej wersji sterownika NVIDIA 337.25. Mam też paczki trzmieli z https://launchpad.net/~bumblebee/+archive/ubuntu/stable .
Co ciekawe, ta konfiguracja jest odwrotnością zwykłej konfiguracji Optimusa. Zwykle wybiórczo uruchamiasz programy na karcie NVIDIA i kopiujesz bufory z karty NVIDIA na kartę Intel, która faktycznie rozmawia z monitorami. W takim przypadku uruchamiasz wszystko na karcie Intel i kopiujesz odpowiednie bufory ekranu na kartę NVIDIA.
Jeśli zastanawiasz się, tak, utrudnia to uruchamianie aplikacji z akceleracją NVIDIA. Nie znalazłem jeszcze sposobu, aby gry działały dobrze, a nawet w przypadku filmów HD zwalnia z czasem. Wydaje się nawet, że nie buforuje podwójnie, ponieważ po dłuższym odtwarzaniu wideo o dość wysokiej rozdzielczości widać widoczne skanowanie od lewej do prawej z góry na dół. To powiedziawszy, większość projektorów prawdopodobnie będzie w porządku.