De laatste jaren zijn laptops de standaard werkplek geworden met diverse voordelen. In dit artikel focussen we alleen op de mogelijkheden om het meeste uit de twee beeldschermen te halen. Gaat het om het vergroten van de beschikbare desktop oppervlakte óf het presenteren met een privéscherm erbij, het gebruik van twee monitoren biedt gemak en functionaliteit. Dit artikel heeft tot doel om praktische tips voor enkele scenario’s te geven.

De basis: XrandR

Het XrandR protocol is bijna 15 jaar geleden bedacht om de schermindeling, zonder de noodzaak van een herstart van de X server, aan te kunnen passen. Naast de X server zelf speelt de driver van de grafische kaart hier ook een rol bij. Traditioneel bood Intel de beste ondersteuning voor XrandR. De proprietary drivers voor NVIDIA-kaarten hebben pas in de laatste jaren XrandR (deels) omarmd. De desktop omgevingen, zoals KDE, Gnome en XFCE, bieden een eigen grafische tool om de schermindeling te wijzigen, maar om alle mogelijkheden te kunnen gebruiken moeten we teruggrijpen op de CLI tool XrandR. 

Uit Listing 1 blijkt dat er naast het ingebouwde scherm (LVDS) momenteel ook een extern scherm aan de laptop aangesloten is. De lijst van mogelijke resoluties van het externe scherm wordt uit de zogenaamde “EDID” informatie van het scherm automatisch afgeleid. In de uitvoer zie je ook de namen van de kanalen, zoals VGA-0, LVDS-0 enz.

 

xrandr

Screen 0: minimum 8 x 8, current 1680 x 1950, maximum 8192 x 8192

VGA-0 connected 1680×1050+0+0

   1680×1050     59.88*+  59.95 

   1280×1024     75.02    60.02

   1152×864      75.00 

   1024×768      75.03    70.07    60.00

LVDS-0 connected primary 1440×900+0+1050

   1440×900      60.00*+  40.00 

DP-0 disconnected

DP-1 disconnected

DP-2 disconnected

DP-3 disconnected

 

Voor een gedetailleerde uitleg over de tool bekijk je de XrandR man pagina.

 

Dual-monitor

Waarschijnlijk het populairste scenario is, wanneer het externe scherm als uitbreiding op de standaard desktop wordt gebruikt, zoals in Afbeelding 1. De dual-monitor opstelling kun je middels het xrandr commando uit Listing 2 activeren.

 

xrandr –output LVDS-0 –auto –primary –output VGA-0 –auto –right-of LVDS-0

 

De “–primary” optie zorgt ervoor dat het laptopscherm de standaard taakbalk van de desktop omgeving toont. De opties “–right-of”, “–left-of”,”–above” of “–below” bepalen de positie van het externe scherm.

Wil je een specifieke resolutie instellen (bijvoorbeeld de standaard resolutie 1024×768) dan kun je Listing 3 gebruiken. Vergeet hierbij niet, dat schermen een vaste eigen resolutie hebben. Afwijkende resoluties worden altijd geïnterpoleerd, wat tot wisselende beeldkwaliteit kan leiden.

xrandr –output LVDS-0 –auto –primary –output VGA-0 –mode 1024×768 –right-of LVDS-0

Vaste werkplek

Ondanks de mobiliteit van een laptop, geven velen (thuis of op kantoor) de voorkeur aan het werken op een vaste werkplek. Listing 4 geeft een voorbeeldconfiguratie aan, wanneer de gebruiker met een extern scherm, toetsenbord en muis werkt.

 

xrandr –output LVDS-0 –off –output VGA-0 –auto –primary

Let er op dat voordat je het externe scherm ontkoppelt, met Listing 5 de standaard instellingen herstelt.

 

xrandr –output LVDS-0 –mode 1440×900 –panning 1440×900+0+0 –primary –output VGA-0 –off

 

 

Gekloonde scherm

Deze opstelling wordt veelal gebruikt voor presentaties of demo’s en maakt het mogelijk om de inhoud van het laptopscherm exact op het externe scherm weer te geven. Het tweede scherm is als het ware een kloon van het eerste scherm.

xrandr –output LVDS-0 –mode 1024×768 –primary –output VGA-0 –mode 1024×768 –same-as LVDS-0

 

Exacte weergave verondersteld dat de resoluties van beide schermen hetzelfde moeten zijn. In de meeste gevallen is de standaard resolutie van 1024×768 beschikbaar, maar dit is niet altijd vanzelfsprekend (zie bijvoorbeeld Listing 1). In zo’n situatie doen de grafische tools van de desktop omgevingen vaak een poging voor een workaround, door de meest nabijgelegen resoluties voor de schermen te kiezen en deze over elkaar te leggen. Het resultaat is echter vaak teleurstellend. (zie Afbeelding 2).

Dit probleem kan worden opgelost door de virtuele resolutie van het laptopscherm gelijk te maken met de resolutie van het externe scherm (zie Listing 7).

xrandr –output LVDS-0 –mode 1440×900 –panning 1680×1050+0+0 –primary –output VGA-0  –mode 1680×1050 –same-as LVDS-0

Dit is echter alleen zinvol, indien het externe scherm op een hogere resolutie dan het laptopscherm kan worden ingesteld. Hoewel het laptopscherm nog steeds niet de gehele virtuele desktop kan weergeven, kun je door met de muis te schuiven (“panning”) toch de volledige desktop bereiken (zie Afbeelding 3).

Het geheel kun je volgens Listing 5 weer ongedaan maken.

Toevoegen van nieuwe resoluties

Wegens het ontbreken van gezamenlijke resoluties óf door het niet juist herkennen van een extern scherm, kan het nuttig zijn om zelf resoluties aan schermen toe te voegen. In de praktijk blijkt dat helaas niet alle X drivers even goede ondersteuning hiervoor bieden: Intel of Nouveau doen het goed, maar NVIDIA niet. Listing 8 illustreert de drie stappen voor het toevoegen van een nieuwe resolutie.

 

### Modeline genereren met `cvt`

cvt 1280 800 60

Modeline “1024x768_60.00”   63.50  1024 1072 1176 1328  768 771 775 798 -hsync +vsync

### Toevoegen nieuwe resolutie aan xrandr

xrandr –newmode 1280×800 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync

 

### Toevoegen nieuwe resoluties aan LVDS-1 en VGA-1

xrandr –addmode LVDS-1 1280×800

xrandr –addmode VGA-1 1280×800

 

Verbeterde demo opstelling

Deze opstelling combineert de beste eigenschappen van het “gekloonde scherm” en de “dual-monitor” configuraties. Het is erg geschikt voor het geven van demo’s, want je behoudt een privéscherm, waar je zonder pottenkijkers je gang kan gaan. Tegelijkertijd kun je middels “panning” ook de inhoud van het externe scherm zien. Dit maakt het dus mogelijk om je publiek aan te kijken én tegelijkertijd op je eigen scherm te zien wat je aan het demonstreren bent.

xrandr –output LVDS-0 –primary –auto –panning $((1440+1680))x1050+0+0 –output VGA-0 –mode 1680×1050 –right-of LVDS-0

Wederom kun je het geheel volgens Listing 5 ongedaan maken.

 Tot slot

Om het meeste uit je twee schermen te halen, moet je dus enig inzicht hebben in de werking van XrandR. De tool biedt vele mogelijkheden, waardoor het op het eerste gezicht moeilijk kan overkomen. Met enige tijdsinvestering valt deze horde echter goed te nemen, waarna je als een echte Pro van je apparatuur gebruik kunt maken.