Screen size and pixel resolution?

I’m not sure what has happened in this area since a version of suse or opensuse could load a file provided by the monitor manufacturer that gave information about the screen size and pixel pitch I assume to get things to appear at a sensible size.

I’ve generally bought monitors with a pixel pitch of something like 100dpi for some time now currently a 27" and would like to go bigger. It would need to be a 43" 4K monitor to have a similar pixel pitch. An alternative might be say a 32" but the pixel pitch then again in 4K would be around 140dpi. What effect would this have?

I assume photo’s would display directly according to the pixel pitch but am not clear about text / adverts on the web etc and say my usual font size of 10 or 12 in editors etc. Also how Linux and KDE handle this sort of thing now. Web pages tend to vary - the title entry when posting on here for instance is already pretty small at 100dpi.

My concern boils down to changing monitors and finding in that in real terms i haven’t gained any extra screen area or things are just too small to be usable. :’(There is also a side issue that currently there doesn’t seem to be 43" 4k monitor that will reliably suitable for fairly precise photo colour work.

John

It is all adjustable either with specifying the pixels or other settings like xorg settings, xrandr, font and icon size you can make it to your liking.

:XI suppose I asked too many questions.

It’s been a long time since I needed to look at this area. Currently I understand that KDE bases itself on X settings so items will appear as they intended providing X has the correct screen dpi. Then if needed kde settings can be used to change things further. Shouldn’t be needed - so far they have come up with sensible sizes :slight_smile: other than icon spacing on the desktop. Might be work in progress.

What isn’t clear is if X still uses EDID or maybe install does. If X uses it then it should correct things when any monitor is plugged in. However if I look at current settings I get this


 xdpyinfo | grep -B2 resolution
screen #0:
  dimensions:    2560x1440 pixels (602x342 millimeters)
  resolution:    108x107 dots per inch

Dell spec 110.4 dpi but if EDID provided 108x107 from the monitor it should be correct.

There are bits and pieces about on the web on the subject of screen scaling but they all seem to be out of date. One mentions altering the nvidia conf.d file but that file no longer exists / I can’t find it. If I look at what the nvidia driver reckons is going on I get this from save X settings.


Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "DELL U2713HM"
    HorizSync       29.0 - 113.0
    VertRefresh     49.0 - 86.0
    Option         "DPMS"
EndSection

So it looks like that thinks EDID is being used.

So where and how is screen dpi set?

John

Just to clarify here - Are you wanting to rely on the usually reliable EDID settings (obtained from the display device by the Xorg driver), or are you wanting to override the DPI setting for some reason? Much of the visual icon sizes etc can be adjusted to suit from within the desktop environment themselves.

Just in case this is helpful to you…
https://wiki.archlinux.org/index.php/HiDPI#Using_KDE_system_settings

Not exactly - I’m trying to find out if my display dpi setting were establish by EDID directly from those provided by the monitor.

Plus - relating to your other post this section of the same page

https://wiki.archlinux.org/index.php/HiDPI#X_Server

Is some sort of fudge factor likely to have been used as it has been there. If so why?

John

You can check the Xorg log for that information eg

egrep "modeset" /var/log/Xorg.0.log

Plus - relating to your other post this section of the same page

HiDPI - ArchWiki

Is some sort of fudge factor likely to have been used as it has been there. If so why?

John

Well, KDE just provides a means to adjust things to suit one’s preferences beyond just guessing them by DPI. Some display devices misreport their DPI or don’t report it at all! The physical display size and DPI for a given display device can very widely, and impact the user experience significantly. For example when using two different devices eg laptop display and projector. A user’s eyesight and/or physical distance from a display are other factors that can impact here.

:\My problem seems to have been looking for where this area is set up. /etc/x11/xorg.conf.d has some empty files in it. To save asking another question are those files scanned automatically? I need to get my graphics tablet sorted out. The arch link suggests things are off user home.

Not much luck with this


egrep "modeset" /var/log/Xorg.0.log
    22.675] (==) Matched modesetting as autoconfigured driver 6
    22.686] (II) LoadModule: "modesetting"
    22.687] (II) Loading /usr/lib64/xorg/modules/drivers/modesetting_drv.so
    22.687] (II) Module modesetting: vendor="X.Org Foundation"
    22.688] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
    22.692] (WW) Falling back to old probe method for modesetting
    23.497] (II) UnloadModule: "modesetting"
    23.497] (II) Unloading modesetting

But from the log file.


    23.474] (II) NVIDIA(0): NVIDIA GPU GeForce GTX 1050 Ti (GP107-A) at PCI:5:0:0 (GPU-0)
    23.474] (--) NVIDIA(0): Memory: 4194304 kBytes
    23.474] (--) NVIDIA(0): VideoBIOS: 86.07.39.00.4e
    23.474] (II) NVIDIA(0): Detected PCI Express Link width: 16X
    23.489] (--) NVIDIA(GPU-0): DELL U2713HM (DFP-0): connected
    23.489] (--) NVIDIA(GPU-0): DELL U2713HM (DFP-0): Internal TMDS
    23.489] (--) NVIDIA(GPU-0): DELL U2713HM (DFP-0): 330.0 MHz maximum pixel clock
    23.489] (--) NVIDIA(GPU-0): 
    23.489] (--) NVIDIA(GPU-0): DFP-1: disconnected
    23.489] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
    23.489] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
    23.489] (--) NVIDIA(GPU-0): 
    23.489] (--) NVIDIA(GPU-0): DFP-2: disconnected
    23.489] (--) NVIDIA(GPU-0): DFP-2: Internal DisplayPort
    23.489] (--) NVIDIA(GPU-0): DFP-2: 1440.0 MHz maximum pixel clock
    23.489] (--) NVIDIA(GPU-0): 
    23.489] (--) NVIDIA(GPU-0): DFP-3: disconnected
    23.489] (--) NVIDIA(GPU-0): DFP-3: Internal TMDS
    23.489] (--) NVIDIA(GPU-0): DFP-3: 165.0 MHz maximum pixel clock
    23.489] (--) NVIDIA(GPU-0): 
    23.490] (==) NVIDIA(0): 
    23.490] (==) NVIDIA(0): No modes were requested; the default mode "nvidia-auto-select"
    23.490] (==) NVIDIA(0):     will be used as the requested mode.
    23.491] (==) NVIDIA(0): 
    23.492] (II) NVIDIA(0): Validated MetaModes:
    23.492] (II) NVIDIA(0):     "DFP-0:nvidia-auto-select"
    23.492] (II) NVIDIA(0): Virtual screen size determined to be 2560 x 1440
    23.497] (--) NVIDIA(0): DPI set to (108, 107); computed from "UseEdidDpi" X config
    23.497] (--) NVIDIA(0):     option

John

Yes, Xorg checks those files when the X-server is started. In general no configuration is required these days. Refer ‘man xorg.conf.d’ for more info.

IIRC the archwiki page also discusses rootless X-servers where the config files live within a user’s home directory. Not relevant here though.

Not much luck with this

egrep “modeset” /var/log/Xorg.0.log

Then try examining complete file, or filtering for EDID…

grep EDID /var/....

But from the log file.

23.492] (II) NVIDIA(0): Virtual screen size determined to be 2560 x 1440
23.497] (--) NVIDIA(0): DPI set to (108, 107); computed from "UseEdidDpi" X config
23.497] (--) NVIDIA(0):     option

John

Do you have a /etc/X11/xorg.conf.d/ config file for your NVIDIA hardware with that option present?

It does appear that the nvidia driver is parsing the EDID-derived DPI values.

No that is what was causing me some confusion. I expected an nvidia config file and there isn’t one where I would expect it to be in conf.d or the conf file in the directory above that.

:\Anyway however this functions I can sort out what will happen if I change to a finer dpi screen. I can assume that things will scale back to more or less the same size as they are at my current dpi and from that get some idea of the real increase in available screen area if any.

Only thing really is that it’s that all done by black magic which is ok if it works. It does in this case.

John

On Sun 06 Aug 2017 12:36:02 PM CDT, ajohnw wrote:

No that is what was causing me some confusion. I expected an nvidia
config file and there isn’t one where I would expect it to be in conf.d
or the conf file in the directory above that.

:\Anyway however this functions I can sort out what will happen if I
change to a finer dpi screen. I can assume that things will scale back
to more or less the same size as they are at my current dpi and from
that get some idea of the real increase in available screen area if any.

Only thing really is that it’s that all done by black magic which is ok
if it works. It does in this case.

John

Hi
It’s probably in ~/.config/monitors.xml


Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
openSUSE Leap 42.2|GNOME 3.20.2|4.4.74-18.20-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

It looks like the user local X stuff is on going. All I could find is this in ~/.local/xorg/Xorg.0.log


[432533.603] _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
[432533.603] _XSERVTransMakeAllCOTSServerListeners: server already running
[432533.603] (EE) 
Fatal server error:
[432533.603] (EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE) 
[432533.603] (EE) 
Please consult the The X.Org Foundation support 
     at http://wiki.x.org
 for help. 
[432533.603] (EE) Please also check the log file at "/home/john/.local/share/xorg/Xorg.0.log" for additional information.
[432533.603] (EE) 
[432533.603] (EE) Server terminated with error (1). Closing log file.

The user local settings shown in the arch wiki link don’t make much sense to me unless different users plug different monitors in. I’d say they generally don’t do this so the setting should relate to a particular monitor being plugged in which is what I believe X can currently do. I met a vicar with extremely poor eyesight a while ago. When he logged into his machine everything became very large. Nothing to do with monitor dpi or it’s size as that would be the same who ever logged in.

Maybe we are heading for a rather pedantic all settings will be user local when some should be global and in this case driven by what monitor is plugged in or which one if there are several.

John

If you use nvidia-settings and don’t create a xorg.conf then the settings are in your home. Different users may want different resolutions etc set for themselves. Does not mean they use different monitors.

No, that’s specific to Gnome. KDE (via kscreen) stores it’s user-configuration for displays in the ~/.local/share/kscreen/ directory.

As I mentioned already, for the majority of use cases/display hardware the auto-detection just works and no additional configuration is needed.

Well that is an example of a mis-handled display, and custom xorg settings could be employed, or adjust using the DE’s display settings instead.

It looks like KDE can provide a fix for dpi setting errors but prefers the data from X to be correct which it should be on a modern monitor.

My tongue in cheek comment relating to user local dpi setting is that really the dpi is set by the monitor that is plugged in not the user viewing it. A particular user may want everything to be bigger including text in application yet may still want his wp work to print at 10 point sanserif.

:dont-know: I’ll be finding out how precise the dpi to screen scaling is later this week - shifting to a quoted 111. Be interesting to see what numbers come out of EDID.

John