Ho trovato un'altra patch piuttosto interessante: permette di forzare risoluzioni basse (es: 288x200) sul server X, le quali sono necessarie per una riproduzione fedele di giochi vecchi (es: BubbleBobble, Toki, SnowBros).
La patch va applicata ai sorgenti di xf86-video-ati e come si può intuire funzionerà solo con schede grafiche ATI che richiedono il driver "ati" all'interno della configurazione di Xorg.
Di seguito il codice della patch:
Codice: Seleziona tutto
diff -urp ./src/drmmode_display.c ./src/drmmode_display.c
--- ./src/drmmode_display.c 2011-08-10 15:44:37.000000000 +0000
+++ ./src/drmmode_display.c 2011-09-29 06:52:38.000000000 +0000
@@ -1389,7 +1389,8 @@ Bool drmmode_pre_init(ScrnInfoPtr pScrn,
if (!drmmode->mode_res)
return FALSE;
- xf86CrtcSetSizeRange(pScrn, 320, 200, drmmode->mode_res->max_width, drmmode->mode_res->max_height);
+ xf86CrtcSetSizeRange(pScrn, 160, 100, drmmode->mode_res->max_width, drmmode->mode_res->max_height);
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "arcade-drm: range min set (160x100)\n");
for (i = 0; i < drmmode->mode_res->count_crtcs; i++)
if (!xf86IsEntityShared(pScrn->entityList[0]) || pScrn->confScreen->device->screen == i)
drmmode_crtc_init(pScrn, drmmode, i);
diff -urp ./src/radeon_driver.c ./src/radeon_driver.c
--- ./src/radeon_driver.c 2011-08-10 15:44:37.000000000 +0000
+++ ./src/radeon_driver.c 2011-09-29 06:56:46.000000000 +0000
@@ -3182,11 +3182,13 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, in
RADEONPreInitColorTiling(pScrn);
- if (IS_AVIVO_VARIANT)
- xf86CrtcSetSizeRange (pScrn, 320, 200, 8192, 8192);
- else
- xf86CrtcSetSizeRange (pScrn, 320, 200, 4096, 4096);
-
+ if (IS_AVIVO_VARIANT) {
+ xf86CrtcSetSizeRange (pScrn, 160, 100, 8192, 8192);
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "arcade-driver: (avivo) range min set (160x100)\n");
+ } else {
+ xf86CrtcSetSizeRange (pScrn, 160, 100, 4096, 4096);
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "arcade-driver: range min set (160x100)\n");
+ }
RADEONPreInitDDC(pScrn);
if (!RADEONPreInitControllers(pScrn))
NB: la pacth è fondamentale se si usa "switchres" come wrapper di mame o se si usa groovymame.