Thanks for the DVI / XFree86 output I think I found the correct Modeline for my TV (Mitsubishi WS-55513). Basically you have to run X and afterwards checkout the log file to see what the TV sent back. Note that I am connected through DVI and I have to no idea whether this information will be sent back with any other interface. Anyways, my XFree86.0.log file had the following (I am only posting the interesting part):

390 (–) NV(0): DDC detected a DFP:
391 (II) NV(0): Manufacturer: MEL Model: 31a2 Serial#: XXXXXX
392 (II) NV(0): Year: 2003 Week: 12
393 (II) NV(0): EDID Version: 1.3
394 (II) NV(0): Digital Display Input
395 (II) NV(0): Max H-Image Size [cm]: H-Size may change, V-Size may change
396 (II) NV(0): Gamma: 2.20
397 (II) NV(0): DPMS capabilities: Off; RGB/Color Display
398 (II) NV(0): First detailed timing is preferred mode
399 (II) NV(0): redX: 0.640 redY: 0.330 greenX: 0.300 greenY: 0.600
400 (II) NV(0): blueX: 0.150 blueY: 0.060 whiteX: 0.312 whiteY: 0.329
401 (II) NV(0): Supported VESA Video Modes:
402 (II) NV(0): 640×480@60Hz
403 (II) NV(0): Manufacturer’s mask: 0
404 (II) NV(0): Supported additional Video Mode:
405 (II) NV(0): clock: 74.2 MHz Image Size: 0 x 0 mm
406 (II) NV(0): h_active: 1920 h_sync: 2008 h_sync_end 2052 h_blank_end 2200 h_border: 0
407 (II) NV(0): v_active: 540 v_sync: 542 v_sync_end 547 v_blanking: 562 v_border: 0

408 (II) NV(0): Supported additional Video Mode:
409 (II) NV(0): clock: 27.0 MHz Image Size: 0 x 0 mm
410 (II) NV(0): h_active: 720 h_sync: 736 h_sync_end 798 h_blank_end 858 h_border: 0
411 (II) NV(0): v_active: 480 v_sync: 489 v_sync_end 495 v_blanking: 525 v_border: 0
412 (II) NV(0): Ranges: V min: 59 V max: 61 Hz, H min: 15 H max: 33 kHz, PixClock max 80 MHz
413 (II) NV(0): Monitor name: MEUSPTV1

Just looking at this output, line 404 through 411 looked like what I was looking for. From the little knowledge that I have, it looks like the first set of numbers (405-407) are the 1080i specs and the second set (409-411) are either 480p or 480i. I am targeting the 1080i so I am only considering lines 405-407. Now to make the actualy modeline you have to string the pieces as:

Modeline "SomeName" clock h_active h_sync h_sync_end h_blank_end v_active v_sync v_sync_end v_blanking
# Where SomeName is just some name that you use to identify this setting in other parts of XF86Config

# In my case the modeline would be
Modeline "1920×540" 74.2 1920 2008 2052 2200 540 542 547 562

This made the output cover the complete screen but now the screen has started scrolling when I move my mouse to the screen edges. I am thinking this is because I don’t have the actual nvidia FX5200 drivers installed. So that’s what I am up to next!

Here are a few links that you might find useful:

  • XF86Config Manual (The Modeline part is what you are probably looking for)
  • XOrg FAQ (note I am still using XFree86 but this still helped)

Same day, 1:40am: After installing the nvidia drivers for the FX5200 XFree86 has started complaining about the hsync being out of range. So I tried the lower 720×480 (480p?) for which it complained about 798-736=62 not being a multiple of 8. Just thinking about it, I realized that 798 was not a multiple of 8 while 736 was; so I changed it to 792 and X stopped giving me the error. But after running xfce I cannot see the cursor but the mouse buttons seem to be working.
I guess there is a lot of pain in this. When I was installing the nvidia drivers it complained that the current gcc version and the version that I used to compile the kernel were different and if I kept going this difference might cause some problems. So I am going to blame all the problems on different gcc version. Currently I am running 2.4.22 kernel and I have been thinking of upgrading to 2.6.11; I guess now would probably be the right time to the upgrade.
Wish me luck, looks like I am going to need it! 🙂

Back to blog...