Stereoscopic configuration for displays

I have a little question regarding display configuration. I’m planning to buy my first VR headset this year, and apart from gaming I also plan to use it for normal desktop activity as a potential replacement for my monitor. Unfortunately not all VR devices offer the option to switch between drawing the screen on both eyes and stretching it across both eyes: Some will always cause the left half of the screen to appear on the left eye and the right half on the right eye, making it unusable for standard activity.

I’d need the display manager to do one simple thing if I encounter this scenario: Crush and duplicate the image horizontally, ideally just on the VR device and not my normal monitor. For example: I’m currently using a 1920 x 1080 monitor. With this mode turned on, X11 would keep the hardware resolution unchanged, but scale the screen to 960 x 1080 / 960 x 540 then fit it in twice.

Is there such a feature in X11 / Wayland or the KDE display manager? What’s the easiest way to match the side-by-side stereoscopic format system wide? Thank you.

I’ve never looked into stereoscopic output before,
But a quick Internet search suggests that you should start with your GPU specs and features to determine hardware acceleration and feature support. I assume that if you have hardware support then that would suggest some kind of management by the OEM manufacturer.

I don’t see many hits related to software, and the hits that show up are at least 7 years old… I don’t know how relevant they would be simply because of their age.

You might find some hints from whatever has been written about your candidate hardware… Even if descriptions are based on Windows, it can be significant if the device is managed within Windows or through software supplied by a 3rd party (manufacturer or other?)

For things like this, I also search Github to see what kind of software people have developed or are writing…
https://www.google.com/search?q=github+linux+stereoscopic

Good Luck,
TSU

I almost managed to get this running. There’s an easy way to translate a display however you want using xrandr. I even found the exact vectors needed for a 1080p screen:

Left eye: xrandr --output DVI-D-0 --transform 2,0,0,0,1,-0,0,0,1
Right eye: xrandr --output DVI-D-0 --transform 2,0,-1920,0,1,-0,0,0,1

The problem is that I can’t take an output and re-input it into the same device twice. I’d need to tell X to create two virtual displays, then merge those into the actual device with individual transforms. This is overly complicated though… there must be a better way.

General interest rather than a solution to your immediate problem. May be worth a quick read, if you’ve not already seen it…

https://www.zdnet.com/article/the-vr-linux-desktop-is-on-its-way/

Someone mentioned xrdesktop briefly. Will it allow me to properly map the image on the display device? Sadly I can’t tell seem to find it in the openSUSE software database, there’s only one lib posted on someone’s home repo:

https://software.opensuse.org/search?utf8=✓&baseproject=ALL&q=xrdesktop

That I can’t tell you I’m afraid, I know nothing about it. It was by chance a few days ago whilst googling for something unrelated I came across the article I linked to… took me a while to find it again lol! …

Sadly I can’t tell seem to find it in the openSUSE software database, …

Looks like if you want to investigate it’s possibilities you’ll have to build from source.

https://gitlab.freedesktop.org/xrdesktop/xrdesktop/wikis/Installation-from-source

Hi
Looks like a user is already working on it…
https://build.opensuse.org/project/show/home:leviathanch:vr

Very nice! I should keep an eye out for that. Is there planning to get it into the official openSUSE repositories?

Hi
You would need to ask the OBS user (or work with them) to help test etc. Just add a comment to the project?