devel  

Patching nsc_drv to allow low-res video modes

Lewin A.R.W. Edwards
Thu, 06 Feb 2003 07:04:52 -0800

Hi all,

I'm trying to patch the Geode driver (CS5530/GX1) to work with low-res
video modes on CRT hardware. My main target is 400x300 (352x288 would be
even better if I could manage it; 320x240 or 320x200 would also be
useful).

I'd really like some help here :) Using CVS sources from yesterday:

* Setup XF86Config for a single 400x300 16bpp video mode, monitor
supporting 15-85kHz hsync and 49-85Hz vsync (it's an LCD monitor and has
a very wide input sync range).

* Patched nsc_gx1_driver.c so that it allows min height 200 (was 480)
and min dot clock 10MHz (was 25.175MHz). This isn't enough, still fails
with no available modes.

* Further investigation shows that gfx_is_display_mode_supported() is
apparently returning -1 even though there IS a 400x300 mode in the
display table (gfx_disp.c) at position 2.

I can't work out why gfx_is_display_mode_supported is not finding this
mode. I commented out the hz_flag check; that wasn't it. How can I print
a debugging message at that point?

I then hardwired this function to return 2 (400x300) instead of -1 for
any error. Still doesn't work. However if I patch the function
GX1ValidMode so that it ignores the result of
gfx_is_display_mode_supported, it works. VERY BIZARRE.

So I'm kind of working. But I can't play video correctly :( My guess is
that this is a "pixel doubled" mode and the Xv extension is not
doubling.

Is there something else I need to patch?

-- 
-- Lewin A.R.W. Edwards
Work:     http://www.digi-frame.com/
Personal: http://www.larwe.com/

_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel
  • Patching nsc_drv to allow low-res video modes Lewin A.R.W. Edwards