Overscan aanpassen bij Ubuntu op een tv scherm

Naast de tv in de woonkamer staat een mini-pc waarop ik XBMC als mediacenter gebruik. Die pc draait op Ubuntu 12.04 en heeft een nVidia ION grafische kaart die het beeld via hdmi naar een Samsung televisie stuurt. Die tv schaalt het beeld echter zodanig dat er een stuk van de rand niet te zien is:

Overscan"Overscan" heet dat en het heeft lang geduurd voordat ik wist dat ze het zo noemen, wat wel handig is om te weten als je naar een oplossing voor dit probleem op zoek gaat.

Vaak is overscan op te lossen door een instelling op de tv te veranderen (zoek naar ''dot by dot'', ''1:1 mapping'', ''just scan'' of zo iets), maar op die van mij is die optie er niet. Daarnaast is er in het configuratieprogramma van nVidia ook een optie waar je een schuifje kunt bewegen en zo het beeld kunt schalen. Die optie zit echter alleen in de Windowsversie van dat programma.

Als je van plan bent om de computer alleen maar voor XBMC te gebruiken, dan is er een optie "Screen calibration" bij de systeeminstellingen. Dat werkt goed. Maar buiten XBMC om ziet het televisiescherm er nog steeds uit als op de foto hierboven. Niet echt een goede oplossing dus. Maar na lang zoeken heb ik dan toch eindelijk de redding gevonden. Uiteraard houdt dit in dat je de commandline nodig hebt. 🙂

Het commando

nvidia-settings --assign CurrentMetaMode="DFP-0: 1280x720 { ViewPortIn=1280x720, ViewPortOut=1210x672+35+24 }"

did the trick.

Even uitleggen wat er hier gebeurt:

  • Daar waar je 1280x720 ziet staan, vul je de werkelijke resolutie van je beeldscherm in.
  • Achter ViewPortOut staat de aanpassing die je maakt. In mijn geval is het dus zo dat de tv de linker- en rechterkant van het beeld 35 pixels buiten de rand van het scherm afbeeldde en de boven- en onderkant 24 pixels buiten de rand. Omdat er links/rechts in totaal 70 pixels van af gaan en boven/onder 48 pixels, houd ik dus een resolutie van 1210 bij 672 pixels over. Dat zal voor een andere tv anders zijn en zoals je op onderstaande foto ziet moet je met wat verschillende waarden stoeien voordat je het goed hebt.
  • "DFP-0" is de naam die aan de monitor wordt toegekend. Dit zou op een ander systeem ook anders kunnen heten. Je vind de juiste naam door het grafische configuratieprogramma van nVidia (nvidia-settings) te starten.

 

Overscan opgelost

Maar dan lopen we tegen het volgende probleem aan: bij het opnieuw opstarten zijn alle beeldinstellingen weer terug bij het oude. De oplossing: zorgen dat bovenstaande code automatisch wordt uitgevoerd na het inloggen. Dat doen we met een shell script:

1. Open je favoriete teksteditor en plak daarin de volgende regels code:

#!/bin/bash
nvidia-settings --assign CurrentMetaMode="DFP-0: 1280x720 { ViewPortIn=1280x720, ViewPortOut=1210x672+35+24 }"

Uiteraard verander je de getallen zodanig dat ze voor je eigen monitor werken.Sla het bestand op en geeft het een logsiche naam met de extentie sh, zoals bijvoorbeeld fix_overscan.sh.

2. Maak het tekstbestand uitvoerbaar; dat kan op twee manieren:

  • Via de commandline:
    chmod +x fix_overscan.sh
  • Via de bestandsbeheerder:
    Rechtsklikken op fix_overscan.sh
    Tabblad Rechten
    Vink Uitvoeren van bestand toestaan aan en klik op Sluiten.

3. Gebruik het programma Opstarttoepassingen om het script aan de lijst met automatisch uit te voeren programma''s toe te voegen.

  • Klik op Toevoegen
  • Naam: Fix overscan
  • Opdracht: klik op bladeren en selecteer het bestand fix_ovescan.sh
  • Klik op Toevoegen

Ik heb lang naar de oplossing voor dit probleem gezocht. Hopelijk heeft iemand anders er ook nog iets aan. Laat in de comments weten wat je er van vindt!

Share Button

Een gedachte over “Overscan aanpassen bij Ubuntu op een tv scherm”

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.