Mirror screen with Gnome?

I’m on Manjaro with Gnome 40.4.0 with three monitors with identical resolution (4k). I want to mirror two of them but I’m unable to find an option for this. I’m using an AMD Radeon RX so I cannot use the hack with the nvidia tool that allowed me to move two screens onto the same spot, effectively mirroring them.

Any idea how to mirror two screens while using the third one to extend the desktop?

That’s only possible on Gnome with a piece of hardware called an HDMI splitter: you hook up one end to one output port and the two other ends in the monitors you want to mirror.

As it’s hardware, it will also tax your Radeon card less as from its POV, it’s just driving 2 monitors…

:crossed_fingers:

I got this one (Delock Products 87737 DisplayPort 1.4 Splitter 1 x DisplayPort in > 3 x DisplayPort out) but the situation remains unchanged, meaning all screens are still recognized individually:

No way to mirror display 2 and 3.

The splitter says “Functions: Mirrored or Extended (Windows only)”, of which I thought the extended mode would be Windows only (which would have been fine in my case), but it seems to be the other way round.

Any other ideas?
I was trying to use xrandr from here (https://askubuntu.com/questions/576870/how-can-i-mirror-one-of-the-screens-in-a-3-monitor-setup) but all I get is

X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  7 (RRSetScreenSize)
  Serial number of failed request:  36
  Current serial number in output stream:  37

It seems that all retail DP splitters work as MST-Hub, which means you have to set up the mirroring/duplicating in the OS. Which Gnome doesn’t support. It’s even part of their “design” guidelines: Design/SystemSettings/Displays - GNOME Wiki!

In UEFI, grub and during booting, the splitter does mirror the screens. As soon as the Manjaro login screen is there, it switches to extended mode. I guess that is because the OS loads a driver/module that enables MST and thus the extended vs cloning handling becomes the OS’ responsibility.

Meaning this needs a software-based solution.

That’s not a splitter cable: that’s a converter. I’m talking about a cheap 10€ product:

:bowing_man:

I’m unable to find a DisplayPort 1.4 splitter that is not an MST hub. I’m also unable to find an HDMI 2.1 splitter cable, only switches (which probably create the same issues as with the DisplayPort splitter).

My GPU also only has a single HDMI output and my screens have 10-15m DP cables inbetween, so I’d prefer to avoid converting DP->HDMI-Y-Cable->DP or getting new expansive HDMI cables.

Are there any software options? There doesn’t have to be a GUI for it.

No, you cannot mirror AND extend: it’s one or the other.

You’re SOL (So Out of Luck)!

:sob:

I managed to get a persistent 3 screen setup with screen 3 mirroring screen 1 and screen 2 being an extension. As far as I know there’s no graphical solution to this, but there’s a config file ~/.config/monitors.xml which controls how the physical monitors should be mapped to logical monitors. So I just had to delete one section from that file and move that tag to the tag which I wanted to be mirrored.
Copying that file into the system config directory even makes this persistent for the login screen (sudo cp ~/.config/monitors.xml /var/lib/gdm/.config/monitors.xml).

In case this is helpful to others, I’m posting my config as an example:

<monitors version="2">
  <configuration>
    <logicalmonitor>
      <x>3840</x>
      <y>0</y>
      <scale>1</scale>
      <monitor>
        <monitorspec>
          <connector>DP-2</connector>
          <vendor>GSM</vendor>
          <product>YOURSCREENSNAME</product>
          <serial>YOURSCREENSSERIAL</serial>
        </monitorspec>
        <mode>
          <width>3840</width>
          <height>2160</height>
          <rate>59.996623992919922</rate>
        </mode>
      </monitor>
    </logicalmonitor>
    <logicalmonitor>
      <x>0</x>
      <y>0</y>
      <scale>1</scale>
      <primary>yes</primary>
      <monitor>
        <monitorspec>
          <connector>DP-1</connector>
          <vendor>GSM</vendor>
          <product>YOURSCREENSNAME</product>
          <serial>YOURSCREENSSERIAL</serial>
        </monitorspec>
        <mode>
          <width>3840</width>
          <height>2160</height>
          <rate>59.996623992919922</rate>
        </mode>
      </monitor>
      <monitor>
        <monitorspec>
          <connector>DP-3</connector>
          <vendor>GSM</vendor>
          <product>YOURSCREENSNAME</product>
          <serial>YOURSCREENSSERIAL</serial>
        </monitorspec>
        <mode>
          <width>3840</width>
          <height>2160</height>
          <rate>59.996623992919922</rate>
        </mode>
      </monitor>
    </logicalmonitor>
  </configuration>
</monitors>

That configuration will produce this result (note the monitor numbering showing 2 | 4 indicating a mirrored mode):

(I have a fourth monitor connected which is disabled most of the time, hence it reads 2 | 4 instead of 2 | 1)

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.