nagmat84 Apprentice
Joined: 27 Mar 2007 Posts: 218
|
Posted: Tue Jul 11, 2017 8:06 pm Post subject: Multi-head setup - Wrong DPI and SDDM has wrong aspect ratio |
|
|
Shortly ago I switched to a multi-head setup consisting of three monitors from from left to right
(a) Left: 10:16 (i.e. rotated upright) @ 1200x1920
(b) Middle: 16:10 @ 1920x1200 (primary)
(c) Right: 16:10 @ 1920x1200
I configured all monitors as a single X screen (the "modern" way) and I use monitor-wise options to permanently set the xrandr configuration. My X.org configuration looks like Code: | Section "Device"
Identifier "AMD R9 380 (Tonga family)"
Driver "amdgpu"
Option "AccelMethod" "glamor"
Option "DRI" "3"
Option "Monitor-DisplayPort-0" "DP"
Option "Monitor-HDMI-A-0" "HDMI"
Option "Minitor-DVI-D-0" "DVI-0"
Option "Minitor-DVI-I-1" "DVI-1"
EndSection
Section "Monitor"
Identifier "DP"
# DisplaySize 518 324
Option "Primary" "yes"
Option "DPI" "94"
EndSection
Section "Monitor"
Identifier "DVI-0"
# DisplaySize 518 324
Option "LeftOf" "DP"
Option "Rotate" "left"
Option "DPI" "94"
EndSection
Section "Monitor"
Identifier "DVI-1"
# DisplaySize 518 324
Option "RightOf" "DP"
Option "DPI" "94"
EndSection | Mostly it does what it should do, but there are two oddities:
(A) Wrong DPI
Formerly, I only had one monitor connected to the display port and I used the configuration "DisplaySize 518 324" to correctly obtain a calculated DPI value of 94x94. Unfortunately, DisplaySize does not seem to play well with a multi-monitor setup and so I commented it out. (btw: I do not now if it must be "518 324" or "324 518" for the upright display) The X server mixed up all three display sizes by some magic math and it resulted into a disaster. At the moment xdypinfo reports Code: | screen #0:
dimensions: 5040x1920 pixels (1334x507 millimeters)
resolution: 96x96 dots per inch | (N.b. 1200 (upright monitor) + 2*1920 = 5040 pixels of total screen width.) Then I tried an educated guess and I added the line "Option 'DPI' '94'" to each monitor section. This option is not documented anywhere but I hoped that it might work, because other xrandr options translates into X.org options this way, but the option is just ignored.
Question 1: How do I set the correct DPI value? At the moment I have three times the identical monitor, so DPI is constant across all monitors.
(B) SDDM is strangely mis-scaled (wrrong aspect ratio)
SDDM is displayed on all three monitors. For some reason on the left monitor (the upward one) all elements a stretched vertically, e.g. circles do not appear as circles but as "eggs".
After login and after KDE/Plasma has been started this effect vanishes. xrandr correctly reports Code: | Screen 0: minimum 320 x 200, current 5040 x 1920, maximum 16384 x 16384
DisplayPort-0 connected primary 1920x1200+1200+720 (normal left inverted right x axis y axis) 519mm x 324mm
1920x1200 59.95*+
HDMI-A-0 disconnected (normal left inverted right x axis y axis)
DVI-D-0 connected 1200x1920+0+0 left (normal left inverted right x axis y axis) 519mm x 324mm
1920x1200 59.95*+
DVI-I-1 connected 1920x1200+3120+720 (normal left inverted right x axis y axis) 519mm x 324mm
1920x1200 59.95*+ | (I shortened the output a bit.) However, if I look at the Xorg.log I can spot the following strange lines Code: | [ 4.150] (II) AMDGPU(0): Output DisplayPort-0 connected
[ 4.150] (II) AMDGPU(0): Output HDMI-A-0 disconnected
[ 4.150] (II) AMDGPU(0): Output DVI-D-0 connected
[ 4.150] (II) AMDGPU(0): Output DVI-I-1 connected
[ 4.150] (II) AMDGPU(0): Using user preference for initial modes
[ 4.150] (II) AMDGPU(0): Output DisplayPort-0 using initial mode 1920x1200 +0+0
[ 4.150] (II) AMDGPU(0): Output DVI-D-0 using initial mode 1600x1200 +0+0
[ 4.150] (II) AMDGPU(0): Output DVI-I-1 using initial mode 1920x1200 +0+0
[ 4.150] (II) AMDGPU(0): mem size init: gart size :1f35cf800 vram size: s:fe4ff000 visible:e4ff000
[ 4.150] (==) AMDGPU(0): DPI set to (96, 96)
[ 4.150] (==) AMDGPU(0): Using gamma correction (1.0, 1.0, 1.0) | Please pay attention to the 7th line. For some reason the Xserver reports 1600x1200 as resolution for my left (upright) monitor connected to "DVI-D-0". And I have no clue why. The monitors are three identical EIZO EV2436W with a native resolution of 1920x1200, EDID works and the cables are OK (I also switched cables between the left and right monitor). WTF?! |
|