Wrong display size (large fonts) with nVidia driver in openSUSE 13.2

Hi,

I have just upraded to openSUSE 13.2. I have a Dell Inspiron 4600 Laptop and a Dell U2410 external monitor. There is an nVidia GF106GLM (Quadro 2000M) graphics card. I use KDE 4 and I have installed the nVidia proprietary graphics driver.

The graphics driver seems to be correctly loaded and the resolution correctly set to 1920 x 1200 pixels. However, the fonts appear much larger than in my previous openSUSE installation (12.3). This is particularly visible in Firefox, where the small icons, such as “back” and “reload page” are about twice as big as before. On many web pages I have to press Ctrl - several times to zoom out.

This is ugly.

I have checked that this is not due to any old settings for my user account by adding a new dummy user. Could it be that the graphics driver thinks the monitor is much smaller than it really is? Is there a way to set this? I could not find anything using the nvidia-settings program.

Thanks for any hint,
Svend

Well, the graphics driver asks the monitor for its size. Some report a wrong size though, e.g. inches instead of millimeters.

Is there a way to set this? I could not find anything using the nvidia-settings program.

Yes.
You can directly specify the DPI (DotPerInches) in the Xorg configuration, or you can explicitly specify the monitor’s size.
See here for the exact changes needed: https://forums.opensuse.org/showthread.php/495098-Two-monitor-are-not-working-correctly?p=2624148#post2624148
If you use an /etc/X11/xorg.conf, you should add the options there in the appropriate sections.

For more information about nvidia and DPI, see here: Appendix E. Dots Per Inch

Thank you, that helped. It turns out I could obtain the correct size of the external monitor by putting

   Option "UseEdidDpi" "DFP-1"

in the “Screen” section of xorg.conf. But this had the side-effect of giving too small fonts etc when the external monitor was disconnected.

However, the simplest solution for me (albeit counter-intuitive) was to disable the laptop’s built-in screen in nvidia-settings. Then the external monitor decides the size when it is connected, and the built-in screen is used otherwise.