You are not logged in.

#1 2019-10-18 14:31:29

Zixiken
Member
Registered: 2014-07-17
Posts: 10

Multihead configuration issues

I have a couple issues with my multi-monitor setup. I'm running Plasma, amdgpu driver, and three monitors connected to an amd graphics card. Two 1920x1080 monitors are vertically oriented on either side of a 4k monitor.

lspci output for the card:

# lspci -v -s 01:00.0
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] (rev c7) (prog-if 00 [VGA controller])
        Subsystem: Dell Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X]
        Flags: bus master, fast devsel, latency 0, IRQ 135
        Memory at 90000000 (64-bit, prefetchable) [size=256M]
        Memory at a0000000 (64-bit, prefetchable) [size=2M]
        I/O ports at 5000 [size=256]
        Memory at a2c00000 (32-bit, non-prefetchable) [size=256K]
        Expansion ROM at 000c0000 [disabled] [size=128K]
        Capabilities: [48] Vendor Specific Information: Len=08 <?>
        Capabilities: [50] Power Management version 3
        Capabilities: [58] Express Legacy Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Capabilities: [150] Advanced Error Reporting
        Capabilities: [200] Resizable BAR <?>
        Capabilities: [270] Secondary PCI Express <?>
        Capabilities: [2b0] Address Translation Service (ATS)
        Capabilities: [2c0] Page Request Interface (PRI)
        Capabilities: [2d0] Process Address Space ID (PASID)
        Capabilities: [320] Latency Tolerance Reporting
        Capabilities: [328] Alternative Routing-ID Interpretation (ARI)
        Capabilities: [370] L1 PM Substates
        Kernel driver in use: amdgpu
        Kernel modules: amdgpu

Multihead xorg configuration file using randr extensions (/etc/X11/xorg.conf.d/10-multihead.conf):

Section "Device"
        Identifier "AMD"
        Driver "amdgpu"
        BusID "PCI:1:0:0"
        Option "Monitor-DisplayPort-0" "Dell_Right"
        Option "Monitor-DisplayPort-1" "Samsung"
        Option "Monitor-DisplayPort-5" "Dell_Left"
EndSection

Section "Monitor"
        Identifier "Dell_Left"
        Option "Position" "0 240"
        Option "Rotate" "left"
EndSection

Section "Monitor"
        Identifier "Dell_Right"
        Option "Position" "4920 240"
        Option "Rotate" "left"
EndSection

Section "Monitor"
        Identifier "Samsung"
        Option "Position" "1080 0"
        Option "Primary" "true"
        ModeLine "3840x2160@60" 594 3840 4016 4104 4400 2160 2168 2178 2250 +HSync +VSync
        Option "PreferredMode" "3840x2160@60"
EndSection

My first issue is the output device naming that (I think) amdgpu handles. The "DisplayPort-n"s specified in my xorg configuration are not persistent, so after rebooting I usually have to determine the new names, modify the xorg configuration, and restart sddm. This may have started after updating packages yesterday, but the computer typically stays on and isn't rebooted. So I guess it's possible when I was setting this up originally a few months ago that I got lucky one reboot and the names stayed the same, and I assumed it would continue to do that. In any case, is there a way to force the outputs to always keep the same name?

Second, my Plasma sessions don't seem to be listening to the monitor positions laid out in my xorg configuration anymore. Before updating it always matched the positions, and I figured it was just rolling with what was specified in the configuration file. Now though, it seems to be handling the layout itself, and not listening to the configuration file at all. With the randomized display output names, the X layout in sddm is using the config file since displays that were assigned a name that is in the config file are placed according to the config, while other displays are placed according to Xorg's default behavior. In the Plasma session, two of the three monitors are always placed correctly while the left monitor is placed too far to the right, overlapping partially with the center monitor. Can I tell Plasma (or kscreen?) to not save layout configuration, and just use the xorg configuration?

Offline

#2 2019-10-21 12:45:28

Zixiken
Member
Registered: 2014-07-17
Posts: 10

Re: Multihead configuration issues

Upon closer inspection and a few reboots, it seems only one of the monitors is getting a random name, the same monitor that my Plasma sessions are shifting the position of.

Offline

#3 2019-10-21 13:10:40

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: Multihead configuration issues

Output of xrandr -q and xrandr --listmonitors without any user created conf files ?


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Online

#4 2019-10-21 14:32:50

Zixiken
Member
Registered: 2014-07-17
Posts: 10

Re: Multihead configuration issues

# xrandr -q
Screen 0: minimum 320 x 200, current 5527 x 2160, maximum 16384 x 16384
DisplayPort-0 connected 1080x1920+4447+240 left (normal left inverted right x axis y axis) 531mm x 299mm
   1920x1080     60.00*+
   1680x1050     60.00
   1280x1024     75.02    60.02
   1440x900      60.00
   1280x800      60.00
   1152x864      75.00
   1280x720      60.00
   1024x768      75.03    60.00
   800x600       75.00    60.32
   640x480       75.00    59.94
   720x400       70.08
DisplayPort-1 connected primary 3840x2160+607+0 (normal left inverted right x axis y axis) 1872mm x 1053mm
   3840x2160     30.00*+  25.00    24.00    29.97    23.98
   4096x2160     30.00    25.00    24.00    29.97    23.98
   1920x1200     30.00
   1920x1080     60.00    50.00    59.94    30.00    25.00    24.00    29.97    23.98
   1600x1200     30.00
   1680x1050     59.88
   1600x900      60.00
   1280x1024     75.02    60.02
   1440x900      59.90
   1366x768      59.79
   1280x800      59.91
   1152x864      75.00
   1280x720      60.00    50.00    59.94
   1024x768      75.03    70.07    60.00
   832x624       74.55
   800x600       72.19    75.00    60.32
   720x576       50.00
   720x480       60.00    59.94
   640x480       75.00    72.81    66.67    60.00    59.94
   720x400       70.08
DisplayPort-5 connected 1080x1920+0+240 left (normal left inverted right x axis y axis) 531mm x 299mm
   1920x1080     60.00*+
   1680x1050     60.00
   1280x1024     75.02    60.02
   1440x900      60.00
   1280x800      60.00
   1152x864      75.00
   1280x720      60.00
   1024x768      75.03    60.00
   800x600       75.00    60.32
   640x480       75.00    59.94
   720x400       70.08
DP-1-3 disconnected (normal left inverted right x axis y axis)
HDMI-1-1 disconnected (normal left inverted right x axis y axis)
DP-1-4 disconnected (normal left inverted right x axis y axis)
HDMI-1-2 disconnected (normal left inverted right x axis y axis)
DP-1-5 disconnected (normal left inverted right x axis y axis)
HDMI-1-3 disconnected (normal left inverted right x axis y axis)
# xrandr --listmonitors
Monitors: 3
 0: +*DisplayPort-1 3840/1872x2160/1053+607+0  DisplayPort-1
 1: +DisplayPort-0 1080/531x1920/299+4447+240  DisplayPort-0
 2: +DisplayPort-5 1080/531x1920/299+0+240  DisplayPort-5

Offline

#5 2019-10-22 11:03:10

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: Multihead configuration issues

So it looks like X with defaults has some issues for you :

- primary monitor doesn't use the resolution you want
- secondary or tertiary monitor is not in correct position

Xorg configuration files are static and not easy to test changes with.
I suggest you use xrandr commands[1] manually to get the situation as you want to .

Once you're sure the setup is as desired, put the xrandr commands in a xprofile[2] file .
Since you're using a Display manager, /etc/xprofile seems the best choice to ensure DM and user sessions both use your setup.

If the xprofile script also suffers from monitors changing names, we can investigate in further.



[1]
https://wiki.archlinux.org/index.php/Xrandr and https://wiki.archlinux.org/index.php/Multihead page shoud have enough info to figure out the necessary commands.

[2]
see https://wiki.archlinux.org/index.php/Xprofile for details .


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Online

#6 2019-10-30 14:28:08

Zixiken
Member
Registered: 2014-07-17
Posts: 10

Re: Multihead configuration issues

Sorry for the delay! First, that output is from within my Plasma session after it makes its changes, here's the xrandr output with just the layout used by SDDM, before any sessions are created:

# xrandr -q
Screen 0: minimum 320 x 200, current 7680 x 2160, maximum 16384 x 16384
DisplayPort-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 531mm x 299mm
   1920x1080     60.00*+
   1680x1050     60.00
   1280x1024     75.02    60.02
   1440x900      60.00
   1280x800      60.00
   1152x864      75.00
   1280x720      60.00
   1024x768      75.03    60.00
   800x600       75.00    60.32
   640x480       75.00    59.94
   720x400       70.08
DisplayPort-1 connected 3840x2160+1920+0 (normal left inverted right x axis y axis) 1872mm x 1053mm
   3840x2160     30.00*+  25.00    24.00    29.97    23.98
   4096x2160     30.00    25.00    24.00    29.97    23.98
   1920x1200     30.00
   1920x1080     60.00    50.00    59.94    30.00    25.00    24.00    29.97    23.98
   1600x1200     30.00
   1680x1050     59.88
   1600x900      60.00
   1280x1024     75.02    60.02
   1440x900      59.90
   1366x768      59.79
   1280x800      59.91
   1152x864      75.00
   1280x720      60.00    50.00    59.94
   1024x768      75.03    70.07    60.00
   832x624       74.55
   800x600       72.19    75.00    60.32
   720x576       50.00
   720x480       60.00    59.94
   640x480       75.00    72.81    66.67    60.00    59.94
   720x400       70.08
DisplayPort-5 connected 1920x1080+5760+0 (normal left inverted right x axis y axis) 531mm x 299mm
   1920x1080     60.00*+
   1680x1050     60.00
   1280x1024     75.02    60.02
   1440x900      60.00
   1280x800      60.00
   1152x864      75.00
   1280x720      60.00
   1024x768      75.03    60.00
   800x600       75.00    60.32
   640x480       75.00    59.94
   720x400       70.08
DP-1-3 disconnected (normal left inverted right x axis y axis)
HDMI-1-1 disconnected (normal left inverted right x axis y axis)
DP-1-4 disconnected (normal left inverted right x axis y axis)
HDMI-1-2 disconnected (normal left inverted right x axis y axis)
DP-1-5 disconnected (normal left inverted right x axis y axis)
HDMI-1-3 disconnected (normal left inverted right x axis y axis)
# xrandr --listmonitors
Monitors: 3
 0: +*DisplayPort-0 1920/531x1080/299+0+0  DisplayPort-0
 1: +DisplayPort-1 3840/1872x2160/1053+1920+0  DisplayPort-1
 2: +DisplayPort-5 1920/531x1080/299+5760+0  DisplayPort-5

Regarding xprofile, I've set the following in /etc/xprofile:

xrandr --newmode 3840x2160@60 594 3840 4016 4104 4400 2160 2168 2178 2250 +HSync +VSync
xrandr --addmode DisplayPort-1 3840x2160@60
xrandr --output DisplayPort-1 --primary --pos 1080x0 --mode 3840x2160@60
xrandr --output DisplayPort-0 --pos 4920x240 -o left
xrandr --output DisplayPort-5 --pos 0x240 -o left

However it looks like SDDM isn't sourcing the file when it starts. Maybe I should source the file in /usr/share/sddm/scripts/Xsetup? It does source the file when my Plasma session starts, since I see the new mode on the 4k display, but Plasma is still doing its own thing with the layout. Additionally I can't set the new mode as a preferred mode with xrandr, so it's not using it.

You said Xorg config files are static and not easy to test changes, in what way is xprofile different? To test a change I'd still have to at least restart SDDM.

I also mentioned earlier that only one of my monitors was getting a randomized name, but while testing this that proved to not be the case since another monitor got a changed name as well. There's still one that's stayed the same through all this, but I'm guessing it's all up to chance.

Last edited by Zixiken (2019-10-30 14:40:19)

Offline

#7 2019-10-31 12:37:31

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: Multihead configuration issues

Lone_Wolf wrote:

I suggest you use xrandr commands[1] manually to get the situation as you want to .

Once you're sure the setup is as desired, put the xrandr commands in a xprofile[2] file .

You should only start with the xprofile after you're sure what should be in it.

Plasma is still doing its own thing with the layout.
Additionally I can't set the new mode as a preferred mode with xrandr, so it's not using it.

configure plasma to do nothing with the layout, let xrandr take care of things.

execute those xrandr commands manually in an xorg start where everything is at default as detected by X without any X configuration files.
post the outputs of the commands, run xrandr -q / xrandr --listmonitors after each xrandr --output to verify they do what you want.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Online

#8 2019-11-12 04:07:28

Beuman
Member
Registered: 2018-06-10
Posts: 23

Re: Multihead configuration issues

Hello.

I have 5 monitors and I found that XFCE4 was handling that way better than any other DE, maybe you can give it a try.

Offline

#9 2019-11-18 13:16:00

Zixiken
Member
Registered: 2014-07-17
Posts: 10

Re: Multihead configuration issues

When I originally got this monitor setup, I used xrandr commands to determine what to put in my xorg configuration. I'm reasonably certain what I put in xprofile are the same as the commands from which I derived my xorg configuration...for completeness though I tried to run the xrandr commands to be sure it's doing what I expect, this time from outside a Plasma session. I'm getting the ever-ambiguous "Configure crtcX failed" errors from xrandr when trying to run them from a tty.

As for configuring Plasma to do nothing with the layout, that was one of my original questions...do you know how that is performed? I'm not seeing a setting for it, or other relevant info from internet searches.

I could switch to another DE, and XFCE would be my second choice...I'm not ready to give up on Plasma yet, though smile

Offline

#10 2019-11-18 13:32:51

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,422

Re: Multihead configuration issues

Either fix your setup from within Plasma's own kscreen

kcmshell5 kcm_kscreen

or disable kscreen. The kded kcm allows to you to check and set up which KDE/Plasma daemons should be started by default

kcmshell5 kded

untick KScreen

Offline

#11 2019-11-18 13:50:13

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: Multihead configuration issues

I'm getting the ever-ambiguous "Configure crtcX failed" errors from xrandr when trying to run them from a tty.

You do need a graphics session for xrandr, but it can be a very simple one with just one x-terminal[1]


As for configuring Plasma to do nothing with the layout, that was one of my original questions...do you know how that is performed? I'm not seeing a setting for it, or other relevant info from internet searches.

There's probably an applet in KDE SystemSettings to configure screens/monitors  , and it should store settings in a file under ~/.config .
Finding the correct file can be tricky though, better create a new user with  a clean profile and use that one to test.

[1]
The default xinitrc at /etc/X11/xinit/xinitrc starts a graphics session running twm, 3 x-terms and a clock applet.
Tweaking it to start even less is easy.

Last edited by Lone_Wolf (2019-11-18 13:50:32)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Online

#12 2019-11-26 13:46:06

Zixiken
Member
Registered: 2014-07-17
Posts: 10

Re: Multihead configuration issues

Configuring in kscreen refused to stay persistent; either starting a new Plasma session or having the primary monitor turned off for a long enough length of time and turning it back on would cause the left monitor to shift over the primary monitor. But the kded trick is exactly what I was looking for, thanks!

Did more digging with startx (sort of forgot it existed...) and I think I know why the xprofile wasn't working; I was using -o instead of --rotate and should start with the monitor closest to position 0,0. With this in my xprofile:

xrandr --output DisplayPort-5 --pos 0x240 --rotate left
xrandr --newmode 3840x2160@60 594 3840 4016 4104 4400 2160 2168 2178 2250 +HSync +VSync
xrandr --addmode DisplayPort-4 3840x2160@60
xrandr --output DisplayPort-4 --primary --pos 1080x0 --mode 3840x2160@60
xrandr --output DisplayPort-3 --pos 4920x240 --rotate left

SDDM still isn't using it, but sources it when the plasma session starts, which works since kscreen is disabled. I have the output saved if you still want it. Any ideas how to get the monitor names to stay persistent?

Offline

Board footer

Powered by FluxBB