You are not logged in.
Pages: 1
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
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
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)
Offline
# 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
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)
Offline
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
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)
Offline
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
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
Offline
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
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)
Offline
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
Pages: 1