Les nouvelles versions du pilote Intel incluent un programme appelé intel-virtual-output
qui simplifie considérablement la configuration des affichages double et triple sur un W520.
La intel-virtual-output
commande permet à un serveur X sur la carte Intel de dupliquer des écrans sur un autre serveur X. Il examine les écrans disponibles sur l'écran distant et les présente sur le serveur Intel X comme VIRTUAL1, VIRTUAL2, etc.
Le script suivant (exécuté en tant que root) fonctionne pour moi, mais vous aurez probablement besoin de modifier les choses:
#!/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
Cette configuration active mon câble DisplayPort vers DVI (VIRTUAL3) à gauche et le VGA (VIRTUAL1) à droite. Il désactive également l'écran de l'ordinateur portable.
Notez que puisque ce ne sont que des écrans virtuels du pilote, en théorie, l'outil de configuration d'affichage de votre interface graphique devrait être en mesure de le comprendre après avoir exécuté intel-virtual-output
.
En pratique, l'outil de configuration d'affichage dans xubuntu ne faisait pas vraiment de choses cohérentes. C'est pourquoi ces xrandr
commandes sont là. Si vous utilisez gnome ou kde, il peut être utile d'essayer l'outil GUI avant de jouer avec xrandr
. Sinon, avant d'exécuter cela, vous voudrez probablement modifier certaines choses pour la configuration que vous utilisez réellement. L'exécution xrandr
vous indique simplement quels écrans sont actuellement connectés. Vous pouvez connecter et déconnecter vos moniteurs pour voir quelle fiche se connecte à quel affichage VIRTUEL [0-9]. L'écran d'ordinateur portable est LVDS1. Ensuite , il est juste une question de faire les xrandr
commandes avec --right-of
, --left-of
, --below
, etc. , pour faire avancer les choses à leur place.
Lorsque vous souhaitez redevenir mobile, vous pouvez exécuter ceci (à nouveau, en tant que 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
J'utilise xubuntu 14.04 en utilisant la version 337.25 du pilote nvidia propriétaire. J'ai également des packages bumblebee sur https://launchpad.net/~bumblebee/+archive/ubuntu/stable .
Fait intéressant, cette configuration est l'inverse de la configuration Optimus habituelle. Habituellement, vous exécutez de manière sélective des programmes sur la carte nvidia et copiez des tampons de la carte nvidia vers la carte intel qui parle réellement aux moniteurs. Dans ce cas, vous exécutez tout sur la carte Intel et copiez les tampons d'écran appropriés sur la carte NVIDIA.
Si vous vous demandez, oui, cela rend difficile l'exécution des applications accélérées par nvidia. Je n'ai pas encore trouvé de moyen pour que les jeux fonctionnent bien, et même avec la vidéo HD, cela ralentit avec le temps. Il semble même qu'il n'y ait pas de double mise en mémoire tampon, car vous obtenez un balayage de gauche à droite de haut en bas après avoir lu une vidéo assez haute résolution pendant un certain temps. Cela dit, la plupart des projecteurs iront probablement bien.