Discussion:
xdpyinfo displays wrong "dimension" values
(too old to reply)
Ralf Mardorf
2017-08-10 14:39:33 UTC
Permalink
Raw Message
Hi,

I followed https://wiki.archlinux.org/index.php/Xorg#Display_size_and_DPI .
I measured the screen size of the LCD and the CRT manually and in
addition I calculated the screen size of the LCD. FWIW manual measuring
provided the same result as the calculation.

This is my xorg.conf

[***@archlinux ~]$ cat /etc/X11/xorg.conf
Section "Monitor"
Identifier "HDMI2"
DisplaySize 526 296
Option "PreferredMode" "1920x1080"
Option "Primary" "true"
EndSection

Section "Monitor"
Identifier "VGA1"
DisplaySize 367 278
Modeline "1024x768" 65.00 1024 1048 1184 1344 768 771 777 806
Option "PreferredMode" "1024x768"
Option "RightOf" "HDMI2"
EndSection

Section "Device"
Identifier "Card0"
Driver "intel"
#Driver "vesa"
EndSection

Section "ServerFlags"
Option "BlankTime" "0"
Option "StandbyTime" "0"
Option "SuspendTime" "0"
Option "OffTime" "0"
EndSection

For my session I added a few modes using xrandr:

[***@archlinux ~]$ xrandr
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
HDMI1 disconnected primary (normal left inverted right x axis y axis)
HDMI2 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 530mm x 300mm
1920x1080 60.00*+ 50.00 59.94
1920x1080i 60.00 50.00 59.94
1680x1050 59.88
1600x900 60.00
1280x1024 60.02
1280x800 59.91
1280x720 60.00 50.00 59.94
1024x768 60.00
800x600 60.32
720x576 50.00
720x576i 50.00
720x480 60.00 59.94
720x480i 60.00 59.94
640x480 60.00 59.94
720x400 70.08
VGA1 connected (normal left inverted right x axis y axis)
1024x768 60.00 + 60.00
800x600 60.32 56.25
848x480 60.00
640x480 59.94
1152x864_90hz_xdh_default 90.00
1440x960_86hz_xdh_music-1 86.00
1368x768_90hz_xdh_music-2 90.00
1024x768_60hz_xdh_no-risk 60.00
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

[***@archlinux ~]$ xdpyinfo | grep "screen" -A2 # HDMI LCD on and VGA CRT off
default screen number: 0
number of screens: 1

screen #0:
dimensions: 1920x1080 pixels (506x285 millimeters)
resolution: 96x96 dots per inch
[***@archlinux ~]$ xdpyinfo | grep "screen" -A2 # HDMI LCD off and VGA CRT 1024x768
default screen number: 0
number of screens: 1

screen #0:
dimensions: 1024x768 pixels (269x201 millimeters)
resolution: 97x97 dots per inch
[***@archlinux ~]$ xdpyinfo | grep "screen" -A2 # HDMI LCD off and VGA CRT 1152x864
default screen number: 0
number of screens: 1

screen #0:
dimensions: 1152x864 pixels (301x226 millimeters)
resolution: 97x97 dots per inch

Is this a bug or do I misunderstand something?

Regards,
Ralf
Ralf Mardorf
2017-08-10 15:30:31 UTC
Permalink
Raw Message
Post by Ralf Mardorf
default screen number: 0
number of screens: 1
dimensions: 1920x1080 pixels (506x285 millimeters)
resolution: 96x96 dots per inch
^^^^^

[***@archlinux ~]$ xdpyinfo | grep "screen" -A2 # HDMI LCD on
and VGA CRT off default screen number: 0
number of screens: 1

screen #0:
dimensions: 1920x1080 pixels (502x282 millimeters)
resolution: 97x97 dots per inch
^^^^^
Seemingly xdpyinfo is buggy, not only the millimeters are wrong, also
the dpi value isn't always the same.
Daniel Martin via arch-general
2017-08-11 09:38:16 UTC
Permalink
Raw Message
Post by Ralf Mardorf
Post by Ralf Mardorf
default screen number: 0
number of screens: 1
dimensions: 1920x1080 pixels (506x285 millimeters)
resolution: 96x96 dots per inch
^^^^^
and VGA CRT off default screen number: 0
number of screens: 1
dimensions: 1920x1080 pixels (502x282 millimeters)
resolution: 97x97 dots per inch
^^^^^
Seemingly xdpyinfo is buggy, not only the millimeters are wrong, also
the dpi value isn't always the same.
Yes, it is buggy, there's a proposed patch:
https://lists.x.org/archives/xorg-devel/2017-May/053743.html

Are you able to test and verify it? That may help to get the patch
into the repository.


Cheers, Daniel
Ralf Mardorf
2017-08-11 10:59:48 UTC
Permalink
Raw Message
Post by Daniel Martin via arch-general
https://lists.x.org/archives/xorg-devel/2017-May/053743.html
Are you able to test and verify it? That may help to get the patch
into the repository.
Thank you Daniel,

sorry, no I wont test it in the foreseeable future, since I switched
from CRT to LCD and I've got plans to make music during my holidays,
but the migration to the LCD monitor already is a show-stopper. The
first LCD monitor I tested was crap, but provided an option to blurry
the image, so I could use all my CRT settings without issues. The LCD
monitor I've got now is superb, but it has got no feature to blurry the
image, so all fonts are a PITA at the moment.

Btw. I get EDID information for my LCD monitor...

$ grep screen\) /usr/local/bin/xdh -A7
screen)
echo "xdpyinfo | grep screen -A2"
xdpyinfo | grep screen -A2
echo "cat /sys/class/drm/card0-HDMI-A-2/edid | edid-decode | grep \"Detailed mode\" | cut -f2 -d, | sort -u"
cat /sys/class/drm/card0-HDMI-A-2/edid | edid-decode | grep "Detailed mode" | cut -f2 -d, | sort -u
echo "cat /sys/class/drm/card0-VGA-1/edid | edid-decode | grep \"Detailed mode\" | cut -f2 -d, | sort -u"
cat /sys/class/drm/card0-VGA-1/edid | edid-decode | grep "Detailed mode" | cut -f2 -d, | sort -u
;;

...but calculating and using the supposedly optimal DPI value doesn't
help at all.

At the moment I'm using...

$ cat .Xresources
Xft.autohint: 0
Xft.lcdfilter: lcddefault
Xft.hintstyle: hintfull
Xft.hinting: 1
Xft.antialias: 1
Xft.rgba: rgb
Xft.dpi: 96

...to no avail. OTOH other values for those Xft settings are much more
disgusting. In addition I need to solve the syslinux dualhead bootloader
issue, perhaps by migrating to GRUB or another bootloader :( and then
I need to read the fine manual of the LCD monitor, to get rid of
annoying brightness variation. Just turning off a feature clearly
related to brightness variation didn't help, there must be another
feature affecting brightness, too.

Let alone that I need to test my xrandr related scripts to turn on and
of LCD or CRT with different settings, for different purposes +
automatically adjusting panels and wallpaper.

:D

Regards,
Ralf

Loading...