Nvidia drivers dont support correct display resolution

Hi! i am new to opensuse and have installed 11.2 KDE. It is simply perfect for my system.
However after the initial setup the display resolution was set perfectly fine for my 18.5" LED monitor, default resolution was 1366x768, and everything looked good from desktop to fonts but the OSS drivers didn’t support compositing so I decided to switch to nvidia drivers.
I installed the driver as shown in openSUSE repositories page, for my 6600GT card. Now after rebooting everything is stretched,even the fonts look really ugly and fuzzy. I am unable to find any mode in Nvidia XServer settings that would correct the current ugly stretched display and I am unable to set 1366x768 manually as well, doing so my PC won’t boot to KDM but rather sticks to console.

Now it’s for sure that my monitor and display card supports 1366x768 resolution but it’s just that nvidia drivers/Nvidia XServer settings won’t let me set that resolution.How can I set the resolution or even better if I can enable compositing using OSS drivers then that would be great an dm willing to switch back.

Any help is appreciated :slight_smile:

Have a look here
openSUSE Graphic Card Practical Theory Guide for Users - openSUSE Forums

Hi kapz. Read the guide that caf referred you to. If you’re still having problems after that, then post some more info.

This command will tell us what the X-server discovered about your monitor’s display mode capabilities

xrandr

Sometimes there’s a problem between the nvidia driver and the display’s EDID. (There is a workaround if it turns out this is a problem).

Can you tell us a bit more about your monitor? The brand and model might assist here. Is it connected via DVI cable? (If not, provide details about connection).

Hi thanks for all the help, I now removed proprietary driver and installed noveau or new nvidia OSS driver, so now it sets the default resolution to 1366x768 and as opposed to nv drivers KDE compositing at least lets me enable it with new oss driver, in nv the option to enable compositing is greyed out.

problems:

  1. I love this resolution but the horizontal screen is cut on the right side of screen by approx 3-4 mm, is there a way I can set it to 1360x768 or a bit smaller than 1366?
  2. The compositing option is available however it says compositing is temporarily suspended and every time i resume it it instantly suspends it…help!

@deano_ferrari: My monitor model is : ACER G195HQL
output of xrandr:

kapz@linux-lmv4:~> xrandr
Screen 0: minimum 320 x 240, current 1366 x 768, maximum 1366 x 768
default connected 1366x768+0+0 0mm x 0mm
1366x768 60.0*
1280x720 60.0
1024x768 75.0 70.0 60.0
832x624 75.0
800x600 75.0 72.0 60.0 56.0
700x525 60.0
640x512 75.0 60.0
640x480 75.0 73.0 67.0 60.0
720x400 70.0
576x432 75.0
512x384 75.0 70.0 60.0
416x312 75.0
400x300 75.0 72.0 60.0 56.0
320x240 75.0 73.0 60.0
kapz@linux-lmv4:~>

I’m wondering what nVidia card you have and how you initially installed the propriety driver?
I have installed openSUSE more times that I can remember and too the nVidia driver from the repo.
I haven’t had it fail yet in 11.2
In previous version of openSUSE where there has been an issue installing that way, I have done it manually. In all, I have Never failed to install the driver.

You will get the best performance from the propriety driver. I would try again.

I’m not too familiar with the 3D acceleration capabilities of the nouveu driver. It is work in progress AFAIK.

A nice Linux Magazine article on the nouveu driver for those who are interested:

Set Your Desktop Free, With Nouveau’s 3D | Linux Magazine

For good graphics card performance, I think you will have to reinstall the nvidia driver again.

Check out this Ubuntu thread concerning the use of a custom EDID to drive the display correctly.

Another similar nv forums thread.

I also refer you to this recent openSUSE thread (just read the posts concerning EDID):

Yet another problem with xorg.conf - openSUSE Forums

@caf4926: Well I am using Nvidia GeForce 6200(sorry for early info on card).
And just so as you know the proprietary driver behaves the same way in Arch and fedora as well, it was not until I tried openSUSE that I realized that there could be a better resolution for my wide screen monitor. Also I recently purchased this LED monitor and ever since I assumed that it looks like that(stretched) because it’s wide and that there is no solution to it as NVIDIA drivers displayed all the standard resolutions up to 1400x1050 with no *x768 except 1024x768.

I believe that the problem is related to incorrect EDID detection by Nvidia non oss driver/signals sent by monitor, as deano_ferrari suggests. Anyway I’ll keep the thread open and see if I can get it to work under non oss driver.

Thanks a lot for the pointers.

This should get you going with 1366x768

Section "Modes"
  Identifier   "Modes[0]"
EndSection


Section "Screen"
  DefaultDepth 24
  SubSection "Display"
    Depth      15
    Modes      "1366x768" "1360x768" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480" 
  EndSubSection
  SubSection "Display"
    Depth      16
    Modes      "1366x768" "1360x768" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480" 
  EndSubSection
  SubSection "Display"
    Depth      24
    Modes      "1366x768" "1360x768" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480" 
  EndSubSection
  SubSection "Display"
    Depth      8
    Modes      "1366x768" "1360x768" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480" 
  EndSubSection
  Device       "Device[0]"
  Identifier   "Screen[0]"
  Monitor      "Monitor[0]"
EndSection

Hi kapz. Try resinstalling the nvidia driver as already suggested. Then create a basic xorg.conf with the nvidia-xconfig utility. See if brucecadieux’s suggestion helps and report back.

The xrandr results you posted were for the nouveu driver right? I’m more interested in what the output is when using the nvidia driver.

Hi deano_ferrari !

Well I am lost now… reinstalled non oss nvidia drivers and ran nvidia-xconfig and rebooted, now the system boots to console and KDM does not show up, however if I rename or mv xorg.conf file the system boots fine but with OSS drivers I guess.

I checked which modules are loaded by typing: lsmod | grep nv
and it showed :

kapz@kapxiX:~> lsmod | grep nv
nvidia 9949348 0
i2c_core 32628 2 nvidia,i2c_i801

SO…:

  1. Proprietry nvidia driver wont load with or without xorg.conf file.
  2. When I boot with xorg.conf in place only at that time the propreitery driver loads up but stucks at console login and xrander does not run hence m unable to provide the output.
  3. The system boots fine w/o any xorg.conf file but it loads the OSS drivers as compositing is now disabled, but lsmod shows nvidia and not nv!

Any ideas?

Attached is my xorg.conf:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 1.0  (buildmeister@builder75)  Fri Mar 12 01:42:27 PST 2010

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from data in "/etc/sysconfig/mouse"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "IMPS/2"
    Option         "Device" "/dev/input/mice"
    Option         "Emulate3Buttons" "yes"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection


I checked which modules are loaded by typing: lsmod | grep nv
and it showed :

kapz@kapxiX:~> lsmod | grep nv
nvidia 9949348 0
i2c_core 32628 2 nvidia,i2c_i801

Well, the results show that the nvidia driver is being used here. Was that with or without xorg.conf?

Your monitor section does not look right. The horizontal sync rate is too low for a start.

Section “Monitor”
Identifier “Monitor0”
VendorName “Unknown”
ModelName “Unknown”
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option “DPMS”
EndSection

I would try to configure your display with nvidia-settings with the xorg.conf present.

Finally it works like before!
I removed all the other drivers-nouveau,nv,fb and vesa and have kept only non OSS nvidia. Here is the out put of xrandr without xorg.conf in place:

kapz@kapxiX:~> xrandr
Screen 0: minimum 320 x 240, current 1280 x 1024, maximum 1280 x 1024
default connected 1280x1024+0+0 0mm x 0mm
1280x1024 50.0* 51.0
1280x960 52.0
1280x800 53.0
1280x720 54.0
1152x864 55.0
1024x768 56.0 57.0 58.0
832x624 59.0
800x600 60.0 61.0 62.0 63.0 64.0
640x512 65.0 66.0
640x480 67.0 68.0 69.0 70.0 71.0 72.0
576x432 73.0
512x384 74.0 75.0 76.0
416x312 77.0
400x300 78.0 79.0 80.0 81.0
320x240 82.0 83.0 84.0
kapz@kapxiX:~>

Okay, xrandr gives the same output with xorg.conf in place.
When I appended the settings provided by brucecadieux in my already existing xorg.conf it says in log file that incomplete config file found. Screen0 not found …

Can anybody please provide me a xorg.conf or point me where to look?

Ok, with the xorg.conf as generated by ‘nvidia-xconfig’, have you then tried using the graphical ‘nvidia-settings’ utility to select the desired mode? If you don’t see 1366x768 listed (and you know your monitor capable of this), then a manual modeline may be necessary and disabling EDID.

deano_ferrari can you please elaborate on adding a mode line?

I mean first of all in what section do I need to add it…
then how should it look like (my guess is Modes “1366x768_60”)
Then again what needs to be disabled to enable/override EDID

If you don’t see 1366x768 listed (and you know your monitor capable of this), then a manual modeline may be necessary and disabling EDID.

I don’t see that mode in Nvidia X Server Settings and my monitor is capable indeed. But If I add a manual modeline it is not accepted and system logs in through 1280x1024 resolution by default.

Any help is appreciated.

You can generate a modeline with the gtf CLI utility. For example

dean@linux:~> gtf 1366 768 60

  # 1368x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 85.86 MHz
  Modeline "1368x768_60.00"  85.86  1368 1440 1584 1800  768 769 772 795  -HSync +Vsync

(Note how it jumped to the next standard horizontal resolution).

This can get added to your monitor or modes section. Note, for this to work, it needs to be a display mode that your nvidia chipset (and monitor) can support, and in your case the horizontal sync range need to be increased (to at least 50 kHz). For example

Section “Monitor”
.
.
HorizSync 30-61
VertRefresh 60-75
Modeline “1360x768@60” 85.800 1360 1440 1552 1792 768 771 777 795 +hsync +vsync
.
.
Option “dpms”
EndSection

You need to make sure that the display mode is also listed in your screen section as well.

You might be better off trying to use

sax2 -r -m 0=nvidia

at runlevel 3 to generate a xorg.conf with a better defined monitor section first.

EDID can be partially disabled with one or more of these options in your device section

"UseEDIDFreqs" "false"
"UseEDIDDpi" "false
"NoEDIDModes" "false"

I suggest you read this NVIDIA reference document for more info.

Another good reference:

http://www.mythtv.org/wiki/Modeline_Database#NVIDIA_Driver_ModePool

You can generate a modeline with the gtf CLI utility. For example
Code:

dean@linux:~> gtf 1366 768 60

1368x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 85.86 MHz

Modeline “1368x768_60.00” 85.86 1368 1440 1584 1800 768 769 772 795 -HSync +Vsync

(Note how it jumped to the next standard horizontal resolution).

This can get added to your monitor or modes section. Note, for this to work, it needs to be a display mode that your nvidia chipset (and monitor) can support, and in your case the horizontal sync range need to be increased (to at least 50 kHz). For example

Quote:
Section “Monitor”
.
.
HorizSync 30-61
VertRefresh 60-75
Modeline “1360x768@60” 85.800 1360 1440 1552 1792 768 771 777 795 +hsync +vsync
.
.
Option “dpms”
EndSection
You need to make sure that the display mode is also listed in your screen section as well.

THAT worked for me!!! YEAHHHHHHHHHHHHHHHHHHHH…yayyy

after 3 days of suffering comes the sweet effects :slight_smile:

Thanks a lot deano_ferrari, you’ve solved the problem for me for all distros… wish I could buy u a round of beer! :slight_smile:

THAT worked for me!!! YEAHHHHHHHHHHHHHHHHHHHH…yayyy

after 3 days of suffering comes the sweet effects :slight_smile:

Thanks a lot deano_ferrari, you’ve solved the problem for me for all distros… wish I could buy u a round of beer!

Good result kapz! Worth the perseverance. :slight_smile:

Did you end up having to use sax2 at all? Or did you simply edit the existing xorg.conf (as posted)?

BTW, please can you post your working xorg.conf so that others with similar resolution problems may be able to benefit. Sometimes, its easier to see the info in one xorg.conf thantrying to sift through the thread for it.

well I didn’t use sax2. what I did is:

1.Removed all video drivers from my system(by typing in console: sudo zypper xorg-x11-driver-video xorg-x11-driver-video-nouveau)

2.Then type in console: sudo depmod -a

3.Enabled the Nvidia proprietry repo and installed the driver by typing in console: sudo zypper install nvidia-gfx-kmp-default nvidia-texture-tools x11-video-nvidiaG02

4.Type in console: sudo nvidia-xconfig (This generates file in /etc/X11/xorg.conf)

5.Then type in console: gtf 1366 768 60 (and copy-paste the output in a text file) (note; I also used output of gtf 1360 768 60 and saved it along with the above generated modeline in a text file)

6.Using an text editor edit xorg.cong file as below:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 1.0  (buildmeister@builder75)  Fri Mar 12 01:42:27 PST 2010

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from data in "/etc/sysconfig/mouse"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "IMPS/2"
    Option         "Device" "/dev/input/mice"
    Option         "Emulate3Buttons" "yes"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       30.0 - 61.0
    VertRefresh     60.0 - 75.0
    Modeline       "1360x768_60.00"  84.72  1360 1424 1568 1776  768 769 772 795  -HSync +Vsync
    Option         "DPMS"
EndSection

Section "Device"
#    UseEDIDFreqs  "false"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
    Modes          "1360x768_60.00" # 84.72  1360 1424 1568 1776  768 769 772 795  -HSync +Vsync
        Depth       24
    EndSubSection
EndSection


Thanks for posting your file. I can see that although your ‘Device’ section has a commented line

UseEDIDFreqs “false”

So disabling EDID frequencies clearly isn’t necessary in your case. If this had been required, it would need this syntax to work

Option “UseEDIDFreqs” “false”

Although it apparently works ok, the Screen section should look like this (ie not with the modeline, just the mode reference).

Section “Screen”
Identifier “Screen0”
Device “Device0”
Monitor “Monitor0”
DefaultDepth 24
SubSection “Display”
Modes “1360x768_60.00”
Depth 24
EndSubSection
EndSection