The DPI used tends to be incorrect a lot, see https://wiki.archlinux.org/index.php/Xo … ze_and_DPI .
Run
xdpyinfo | grep -B2 resolution
Incase the DPI shown doesn't match the value given by the manufacturer, you'll have to set it manually .
SideNote :
I use an etc/X11/xorg.conf.d/90-monitor.conf file AND a ~/.Xresources file to get correct DPI .
If you are wondering if something is broken in Xorg or xrandr, or if the wrong data comes from your monitor, you could check the EDID of the monitor with a tool. I can do that here with open AMD drivers like this (is perhaps the same on Intel):
The kernel module for the GPU exposes details about the monitor connections as folders in /sys/class/drm/. I can find the folder with the correct monitor connection like this:
$ tail /sys/class/drm/card0-*/status
==> /sys/class/drm/card0-DP-1/status <==
connected
==> /sys/class/drm/card0-DP-2/status <==
disconnected
==> /sys/class/drm/card0-DVI-D-1/status <==
disconnected
==> /sys/class/drm/card0-HDMI-A-1/status <==
disconnected
==> /sys/class/drm/card0-HDMI-A-2/status <==
disconnected
This means my monitor data is in that "card0-DP-1" folder. There's an "edid" file in that folder that's binary data, and there's a tool "edid-decode" to decode it:
$ edid-decode /sys/class/drm/card0-DP-1/edid
...
Detailed Timing Descriptors:
DTD 1: 2560x1440 59.951 Hz 16:9 88.787 kHz 241.500 MHz (597 mm x 336 mm)
Hfront 48 Hsync 32 Hback 80 Hpol P
Vfront 3 Vsync 5 Vback 33 Vpol N
...
That edid-decode tool is in an AUR package named "edid-decode-git".
For me here the size numbers in the EDID is the same as what xrandr shows:
$ xrandr | grep mm
DisplayPort-0 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
xrandr reports the wrong dimensions for my monitor:
~
********@******** $ xrandr --version
xrandr program version 1.5.1
Server reports RandR version 1.6
~
********@******** $ xrandr | grep -w connected
eDP1 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 340mm x 190mm
DP1 connected 3840x2160+3840+0 (normal left inverted right x axis y axis) 600mm x 340mm
from the site of LG the pixel pitch of my external monitor is 0.1369x0.1369, which makes it a 526mm x 296mm monitor (which agrees to what I measure with a ruler).
Am I doing something wrong with xrandr, or is it broken?
]]>