The following shows how to hack the kernel's video driver to reduce the flicker in interlaced PAL and NTSC modes. You might find this useful if you use a TV screen for your linux kit and like to run interlaced displays for extra resolution. It works for console and X windows, but not for applications which set the screen mode directly. I'll assume for now that you know how to build a new kernel. It's more or less a simple task, but if you're not sure about it, check the forums and/or ask for help from someone who does. You need to edit the file "/usr/src/linux/drivers/video/ps2dev.c" and change a few functions: Change the function ps2gs_display() to read like this: static int ps2gs_display(struct ps2_display *display) { if (ps2gs_setdisplay(0, display->w, display->h, display->dx, display->dy) < 0) return -1; if (ps2gs_setdisplay(1, display->w, display->h-1, display->dx, display->dy) < 0) return -1; current_display[display->ch] = *display; return 0; } And the function ps2gs_dispfb() to read like this: static int ps2gs_dispfb(struct ps2_dispfb *dispfb) { if (ps2gs_setdispfb(0, dispfb->fbp, dispfb->fbw, dispfb->psm, dispfb->dbx, dispfb->dby) < 0) return -1; if (ps2gs_setdispfb(1, dispfb->fbp, dispfb->fbw, dispfb->psm, dispfb->dbx, dispfb->dby+1) < 0) return -1; current_dispfb[dispfb->ch] = *dispfb; return 0; } What that does, is set CRT1 to be the ordinary display, but sets CRT2 to output the same screen only offset by a single pixel downwards (interlaced displays display only alternate lines, so this fetches the other ones) and a single pixel shorter (so we don't run off the end of the screen). Now all we have to do is blend the two outputs together to antialiase the screen vertically. Modify the start of ps2gs_screeninfo() as follows: int ps2gs_screeninfo(struct ps2_screeninfo *info) { int ch = 0, ctx = 0; struct ps2_crtmode crtmode; struct ps2_display display; struct ps2_dispfb dispfb; struct ps2_pmode pmode; int result; crtmode.mode = info->mode; crtmode.res = info->res; display.ch = ch; display.w = info->w; display.h = info->h; display.dx = display.dy = 0; dispfb.ch = ch; dispfb.fbp = info->fbp; dispfb.fbw = (info->w + 63) / 64; dispfb.psm = info->psm; dispfb.dbx = dispfb.dby = 0; if(info->mode>1 && (info->res&1)) // Changes here!! { pmode.sw = 3; pmode.alp = 0x70; } else { pmode.sw = 1; pmode.alp = 0xff; } pmode.mmod = 1; pmode.amod = 0; pmode.slbg = 0; .... That checks if we're in an interlaced mode (not counting DTV 1080i - modify the code if you use that) and if we are it enables both output circuits with a blend factor of 0x70 - slightly less than half to bias the output slightly so as not to blur everything *too* much. If we aren't in an interlaced mode, then it just sets the output circuit to display CRT1 only. Compile up the kernel and install it on your memory card. You might want to install it as a secondary kernel because if you screw up the video driver you won't be able to see much to fix it... Jase.