I got my workstation equipped as follow:
CPU: AMD Ryzen 7 3800X
MB: ASRock B550 Phantom Gaming 4
GPU: Radeon PRO WX 5100
I got 4 screens hooked up via Display port:
- 3 x Philips 245E (24 inches)
- 1 x Philips Brilliance 328P (32 inches 4k) (main screen)
Running on Ubuntu 24.10 with open source AMD driver And configuration of monitors looks like this: monitors setup
where:
1: normal (dpi 100%)
2: flipped 180deg (dpi 100%)
3: flipped 90deg (dpi 100%)
4: flipped 90deg (dpi: 125%)
I have configured my monitors using Ubuntu built in tool from Settings, which generate me monitors.xml file:
<monitors version="2">
<configuration>
<layoutmode>logical</layoutmode>
<logicalmonitor>
<x>2560</x>
<y>0</y>
<scale>1.25</scale>
<primary>yes</primary>
<transform>
<rotation>right</rotation>
<flipped>no</flipped>
</transform>
<monitor>
<monitorspec>
<connector>DP-4</connector>
<vendor>PHL</vendor>
<product>PHL 328P6V</product>
<serial>0x00000866</serial>
</monitorspec>
<mode>
<width>3840</width>
<height>2160</height>
<rate>59.997</rate>
</mode>
</monitor>
</logicalmonitor>
<logicalmonitor>
<x>0</x>
<y>1440</y>
<scale>1</scale>
<monitor>
<monitorspec>
<connector>DP-1</connector>
<vendor>PHL</vendor>
<product>PHL 245E1</product>
<serial>0x000052a3</serial>
</monitorspec>
<mode>
<width>2560</width>
<height>1440</height>
<rate>59.951</rate>
</mode>
</monitor>
</logicalmonitor>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>1</scale>
<transform>
<rotation>upside_down</rotation>
<flipped>no</flipped>
</transform>
<monitor>
<monitorspec>
<connector>DP-2</connector>
<vendor>PHL</vendor>
<product>PHL 245E1</product>
<serial>0x0000590b</serial>
</monitorspec>
<mode>
<width>2560</width>
<height>1440</height>
<rate>59.951</rate>
</mode>
</monitor>
</logicalmonitor>
<logicalmonitor>
<x>4288</x>
<y>258</y>
<scale>1</scale>
<transform>
<rotation>right</rotation>
<flipped>no</flipped>
</transform>
<monitor>
<monitorspec>
<connector>DP-3</connector>
<vendor>PHL</vendor>
<product>PHL 245E1</product>
<serial>0x00005906</serial>
</monitorspec>
<mode>
<width>2560</width>
<height>1440</height>
<rate>59.951</rate>
</mode>
</monitor>
</logicalmonitor>
</configuration>
</monitors>
also to align my GDM3 with this setup I've copied it to:
/var/lib/gdm3/.config/monitors.xml
also change ownership of that file to gdm:gdm
/var/lib/gdm3/.config
total 20
drwx------ 2 gdm gdm 4096 Oct 21 15:43 dconf
drwx------ 3 gdm gdm 4096 Oct 21 15:43 gnome-session
drwx------ 3 gdm gdm 4096 Oct 21 15:43 ibus
-rw-r--r-- 1 gdm gdm 2237 Oct 30 10:20 monitors.xml
drwxr-xr-x 2 gdm gdm 4096 Oct 21 15:43 pulse
The Issue
From cold start my gnome-shell is broken. what i mean by that? So desktop is rendered almost perfect, but windows are not visible, I can see preview of them in taskbar, I can see them when ALT + Tab, but other than that they do not display, also there is no sound on login and no icons on desktop
In order to make it usable I have to logout and login again, but then my screen setup is gone, but not only screen setup, also my gnome-extension [email protected]
lose some of configuration (like additional things are visible, where i previously set them to be hidden), I think its related to primary monitor change, when screen config get back to initial
Previously I had Nvidia Quadro M2000 but I got issues with suspending my PC (after it go sleep it never wake up), and also had similar issues with monitors setup
Sometimes when PC goes sleep and I wake it up, screen config is wrong again. (maybe its related to different wake up time of my screens (the 32 screen is waking up longer than smaller one). But this is not happening often but still
What I have tried already:
- update to the latest,
- check different distros (elementary_os, open suse, mint) (all of them have problems with handling multiple screens)
- trying to add EIDI to grub
- when I was using distro with X11, I've tried various configuration of xorg.conf
It's really bugging me as we got 2024 and multi-screen setups are not something unusual.
So what I can try to make it robust and reliable? Is there a way of hardcoding screen setup to always have setup like this? Do I need to fallback to use some kind of script to setup my screens after login or what?
Bonus question: Is there a way of configuring display orientation on early stages (like on boot?) to have correct orientation on "text mode" linux as well?