Forzare risoluzione KMS

Per prima cosa bisogna individuare i “connettori” video: dal dmesg leggiamo i log del drm:

dmesg | grep drm
[    7.459465] [drm] Initialized drm 1.1.0 20060810
[    7.961197] [drm] radeon kernel modesetting enabled.
[    7.962183] [drm] initializing kernel modesetting (RV350 0x1002:0x4151 0x1043:0xC004).
[    7.962278] [drm] register mmio base: 0xFE9F0000
[    7.962323] [drm] register mmio size: 65536
[    7.972885] [drm] Generation 2 PCI interface, using max accessible memory
[    7.973036] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[    7.973092] [drm] Driver supports precise vblank timestamp query.
[    7.973171] [drm] radeon: irq initialized.
[    7.973679] [drm] Detected VRAM RAM=256M, BAR=256M
[    7.973740] [drm] RAM width 64bits DDR
[    7.974522] [drm] radeon: 128M of VRAM memory ready
[    7.974581] [drm] radeon: 32M of GTT memory ready.
[    7.974688] [drm] radeon: 1 quad pipes, 1 Z pipes initialized.
[    7.977943] [drm] Loading R300 Microcode
[    8.309890] [drm] radeon: ring at 0x00000000FC001000
[    8.309968] [drm] ring test succeeded in 1 usecs
[    8.310471] [drm] radeon: ib pool ready.
[    8.310618] [drm] ib test succeeded in 0 usecs
[    8.311160] [drm] Radeon Display Connectors
[    8.311211] [drm] Connector 0:
[    8.311258] [drm]   VGA
[    8.311306] [drm]   DDC: 0x60 0x60 0x60 0x60 0x60 0x60 0x60 0x60
[    8.311355] [drm]   Encoders:
[    8.311402] [drm]     CRT1: INTERNAL_DAC1
[    8.311450] [drm] Connector 1:
[    8.311498] [drm]   DVI-I
[    8.311547] [drm]   HPD1
[    8.311594] [drm]   DDC: 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64
[    8.311645] [drm]   Encoders:
[    8.311694] [drm]     CRT2: INTERNAL_DAC2
[    8.311743] [drm]     DFP1: INTERNAL_TMDS1
[    8.311792] [drm] Connector 2:
[    8.311838] [drm]   S-video
[    8.311885] [drm]   Encoders:
[    8.311934] [drm]     TV1: INTERNAL_DAC2
[    8.365473] [drm] Radeon display connector VGA-1: Found valid EDID
[    8.375296] [drm] Radeon display connector DVI-I-1: No monitor connected or invalid EDID
[    8.375430] [drm] forcing DVI-I-1 connector OFF
[    8.466637] [drm] fb mappable at 0xE0040000
[    8.466685] [drm] vram apper at 0xE0000000
[    8.466729] [drm] size 5242880
[    8.466772] [drm] fb depth is 24
[    8.466815] [drm]    pitch is 5120
[    8.467000] fbcon: radeondrmfb (fb0) is primary device
[    8.566476] fb0: radeondrmfb frame buffer device
[    8.566608] drm: registered panic notifier
[    8.566757] [drm] Initialized radeon 2.10.0 20080528 for 0000:01:00.0 on minor 0

Nelle righe 38 e 39 troviamo i nomi dei 2 connettori della scheda in esame: VGA-1 e DVI-I-1.

Ora basta passare al kernel linux i parametri desderati, secondo la seguente tabella:
il formato è:

video=<conn>:<xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m][eDd]

dove

  • <conn>: è il connettore
  • <xres> x <yres>: la risoluzione desiderata
  • M: calcola un CVT mode?
  • R: reduced blanking?
  • -<bpp>: profondità di colore
  • @<refresh>: refresh rate
  • i: interlaced (non-CVT mode)
  • m: margins?
  • e: output forced to on
  • d: output forced to off
  • D: digital output forced to on (e.g. DVI-I connector)

Ad esempio si può aggiungere al kernel questa lista di parametri:

video=VGA-1:1280x1024 video=DVI-I-1:d

in cui si vede che l’ uscita VGA viene forzata a 1280×1024, mentre l’ uscita DVI viene spenta.

Ulteriori informazioni nei seguenti link:
http://cgit.freedesktop.org/nouveau/linux-2.6/tree/Documentation/fb/modedb.txt
http://cgit.freedesktop.org/nouveau/linux-2.6/tree/drivers/gpu/drm/drm_fb_helper.c
https://wiki.archlinux.org/index.php/KMS

2 pensieri su “Forzare risoluzione KMS”

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...