Many thanks for the reply. I will carefully look at what you have written, and will keep you informed on what happens here. /Erik
On Sunday 05 September 2010 02:21:58 Erik Jakobsen wrote: <long snip>
Appears this has all been a bit of a struggle. Perhaps this can help . . .
Run cvt in a terminal thus:
cvt<horiz> <vert> <refresh>
So for example, for my TV/monitor:
cvt 1920 1200 60
You will get a modeline, in this example:
Modeline "1920x1200_60.00" 193.25 1920 2056 2256 2592 1200 1203 1209 1245 -hsync +vsync
Then in xorg.conf you need a section thus:
Section "Modes" Identifier "Modes[0]" Modeline "1920x1200" 154 1920 1968 2000 2080 1200 1203 1209 1235 -hsync +vsync EndSection
Note: The X server workflow is (a) do its own detection and configuration, then (b) look for xorg.conf and use any sections there instead - note, the file need not include all sections; for those omitted the server's own initial detection will be used, and then (c) does the same as (b) except using the files in /etc/X11/xorg.conf.d (most of which are commented out; these are for user mods in lieu of xorg.conf). If everything appears to be working except for the resolution, it may suffice to just add the above Modeline to /etc/X11/xorg.conf.d/50-monitor.conf.
Going back to the traditional xorg.conf approach, the Monitor section needs to reference the Modes section (or have a modes line in itself), for example:
Section "Monitor" Option "CalcAlgorithm" "XServerPool" DisplaySize 550 344 HorizSync 30-81 Identifier "Monitor[0]" ModelName "SAMSUNG SYNCMASTER" Option "DPMS" Option "PreferredMode" "1920x1200" VendorName "SAM" VertRefresh 50-75 UseModes "Modes[0]"
You'll note that the DisplaySize provides the horiz/vert resolution as well (in mm). The Option "PreferredMode" makes that the default and the Modes section provides the correct timings, which sometimes is needed. If the monitor is not providing a correct EDID, then X has to guess at all these values. The above sections eliminates that.
Then a screen section which provides the resolutions available for each color-bit level, something like:
Section "Screen" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1280x1024" "1440x900" "1280x768" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 16 Modes "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1280x1024" "1440x900" "1280x768" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 15 Modes "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1280x1024" "1440x900" "1280x768" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 8 Modes "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1280x1024" "1440x900" "1280x768" "1024x768" "800x600" "640x480" EndSubSection Device "Device[0]" Identifier "Screen[0]" Monitor "Monitor[0]" EndSection
The Device section specifies the driver and the Identifier ref'd in the Screen section:
Section "Device" BoardName "GeForce 9800 GTX+" Driver "nvidia" Identifier "Device[0]" VendorName "NVIDIA" EndSection
This section enables compositing:
Section "Extensions" Option "Composite" "on" EndSection
And if your card support DRI (in the Module section), then this is probably needed:
Section "DRI" Group "video" Mode 0660 EndSection
A few other tips (due to this long thread, I may have missed these earlier):
* Running "Xorg -configure" as root will give you an xorg.conf skeleton into which you can graft sections such as above (the file will be /root/xorg.conf.new, it needs to be modified and copied to /etc/X11/xorg.conf.
* Running as root "nvidia-settings" go to the "Display Configuration" screen; there is a pull-down resolution list. If your display is not listed, the driver cannot read the EDID correctly. There you can also preview an xorg.conf that this pgm will write, and choose to write the file. There will be a modes line in both the Monitor and Screen sections, rather than a seperate Modes section; the result is the same.
* Remember to blacklist the nouveau driver, as root:
touch /etc/modprobe.d/nvidia.conf echo "blacklist nouveau">> /etc/modprobe.d/nvidia.conf
* Sometimes it is not sufficient to disable KMS (Kernel Mode Setting) in the kernel boot command. Best to do it in the initrd. In Yast sysconfi editor under kernel, set to "yes" the variable NO_KMS_IN_INITRD. When you close the editor, the initrd will automatically be rebuilt.
Hope something above helps.
-- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org