DescriptionFor my Windows XP/Fedora Core 7 (GNOME Desktop) dual-boot machine (nVidia TNT2/Dell 1708FP LCD), 1024x768 resolution looks fine on WinXP but has a right shift on FC7. It seems due to the improper refresh rate setting. However, only refresh rate of 60Hz is selectable under 1024x768 in System>Preferences>Hardware>Screen Resolution. Changing horizontal screen position through LCD's OSD menu fixed the problem in FC7, and the display in WinXP would be affected at the same time.
SolutionFirst take a look on Xorg configuration file (/etc/X11/xorg.conf) in my machine.
Listing 1. Excerpt of /etc/X11/xorg.conf (original)
Section "Monitor" Identifier "Monitor0" ModelName "DELL 1708FP" HorizSync 31.0 - 48.5 VertRefresh 50.0 - 76.0 Option "dpms" EndSection Section "Device" Identifier "Videocard0" Driver "nv" EndSection Section "Screen" Identifier "Screen0" Device "Videocard0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 EndSubSection EndSection
It was generated by system-config-display. In this case, the attributes inside "Monitor" section is likely unsuitable for the Dell LCD. i have to manually edit the configuration file according to the useful information in Xorg log. Following the guide and example, it is not very hard to go through.
In my Xorg log, the optimized values for DELL1708FP can be found as follows.
Listing 2. Excerpt of /var/log/Xorg.0.log
(II) NV(0): Supported additional Video Mode: (II) NV(0): clock: 108.0 MHz Image Size: 338 x 270 mm (II) NV(0): h_active: 1280 h_sync: 1328 h_sync_end 1440 h_blank_end 1688 h_border: 0 (II) NV(0): v_active: 1024 v_sync: 1025 v_sync_end 1028 v_blanking: 1066 v_border: 0 (II) NV(0): Serial No: PM06175RG051 (II) NV(0): Monitor name: DELL 1708FP (II) NV(0): Ranges: V min: 56 V max: 76 Hz, H min: 30 H max: 81 kHz, PixClock max 140 MHz
The texts in bold are what i need for editing Xorg configuration file
- V min, V max: the range of VetRefresh in xorg.conf;
- H min, H max: the range of HorizSync in xorg.conf;
- PixClock max, h_active, h_sync, h_sync_end, h_black_end, v_active, v_sync, v_sync_end: for the added attribute ModeLine in xorg.conf.
Listing 3. Excerpt of /etc/X11/xorg.conf (modified)
Section "Monitor" Identifier "Monitor0" ModelName "DELL 1708FP" HorizSync 30.0 - 81.0 VertRefresh 56.0 - 76.0 ModeLine "1280x1024" 140.0 1280 1328 1440 1688 1024 1025 1028 1066 Option "dpms" EndSection
For the changes to take effect, need to log out and log in. Now i can select 3 refresh rates (60Hz, 70Hz, 75Hz) under 1024x768 in System>Preferences>Hardware>Screen Resolution. And the right shift disappeared at 70Hz.