Article 5JHJQ [SOLVED] creating xrandr virtual displays

[SOLVED] creating xrandr virtual displays

by
obobskivich
from LinuxQuestions.org on (#5JHJQ)
I've run into a bit of a roadblock trying to figure out the xrandr --setmonitor command - my goal is to create a virtual display constituted of three physical displays (similar to Eyefinity). I found this documentation (plus the manpage): http://www.straightrunning.com/tools/xrandr.html#sect3 and https://wiki.archlinux.org/title/Mul...irtual_display

I can run the --setmonitor command like so (via terminal emulator inside the XFCE session):

Code:
xrandr --setmonitor Test auto DisplayPort-1,DisplayPort-2,DisplayPort-3And then when running
Code:xrandr --listmonitorsit will show 'Test' as a valid monitor (as 'monitor 0' specifically), however nothing in XFCE nor ARandR 'sees' this virtual display, and it treats all three still as independent displays (1, 2, and 3, respectively). The 'setmonitor' also does not seem to survive reboot, and (probably should have been obvious) cannot be run without X running (e.g. from tty session with XFCE stopped - just returns 'cannot open display'). I get the sense I need this command running 'while' or 'before' XFCE starts, but I'm not clear on how to do that, or if that sense is indeed accurate. I tried googling around for this and found a patchwork of either very old threads or guides for slicing up a single physical display into multiple virtual monitors (to set 'boundaries' for full-screen applications I guess) but neither quite applied to my desired outcome (combining physical outputs into a single 'display'). Any help would be appreciated.

Specifics about this machine:
- Xubuntu 20.04.2 LTS with XFCE (DE: Xfce; WM: Xfwm4)
- Graphics card is a Radeon Vega Frontier Edition (and everything is attached here so there's no multi-GPU/GPU-switching/etc hijinks to work around)
- Graphics driver: amdgpu (I don't quite understand the versioning here but I believe '20.2.6' is correct if I am understanding it right)
- The monitors are all identical in specification/geometry.

Any help would be appreciated, thanks. :)

EDIT with solution:

So I poked around with it a bit more, and came up with a solution. To make this work:

Step 1:
Run the
Code:xrandr --setmonitorcommand with the displays you want to 'merge' - I called it 'Big' for this but it doesn't matter what you call it:

Code: xrandr --setmonitor Big auto [display names go here, separated by commas, with NO SPACES]Step 2:
Confirm that it did it, by running
Code:xrandr --listmonitorsYou should see 'Big' as one of the options (or whatever you put in place of Big)

Step 3:
Send the 'framebuffer' command to xrandr - this is specified as width (pixels) x height (pixels), and has to encompass the entire Xscreen, so for this configuration (with a trio of 1080p displays) you would run

Code:xrandr --fb 5760x1080And voila - it will 'blink' and you've got one big surface, which windows will fullscreen across (as opposed to per-monitor), and which will behave more or less like Eyefinity (which was my goal).

To undo there's one extra command:

Code: xrandr --delmonitor Big(or whatever you called it instead of Big)

Then re-run the framebuffer command from Step 3, and the monitors will 're-appear' as independent displays within the Xscreen.latest?d=yIl2AUoC8zA latest?i=2qEmBm3ckpQ:ECV26m5ZEFw:F7zBnMy latest?i=2qEmBm3ckpQ:ECV26m5ZEFw:V_sGLiP latest?d=qj6IDK7rITs latest?i=2qEmBm3ckpQ:ECV26m5ZEFw:gIN9vFw2qEmBm3ckpQ
External Content
Source RSS or Atom Feed
Feed Location https://feeds.feedburner.com/linuxquestions/latest
Feed Title LinuxQuestions.org
Feed Link https://www.linuxquestions.org/questions/
Reply 0 comments