So bear with me if I mix something up, this is all news to me and I’m still flabbergasted. I got myself some XR glasses mostly for watching movies and perhaps some gaming on the Steam Deck a while ago.

Now I learned about “SBS” (Side-By-Side) mode like ~3 days ago, that the glasses support. I tried this with the game Elite Dangerous first, since this has an SBS mode built in too, and was mind blown. My current favourite time stink is Ace Combat though so I started digging.

Turns out there is this Reshade tool that would forcefully enable such a mode for basically any game with the right shader. Several exist but the first I found, “SuperDepth3D.fx”, seems to do the trick. Enabling it split the 1920×1024 in half with two slightly different view ports, one for each eye. There are many options to fine tune this and I’m still fiddling with this to find the perfect settings but results look great already.

My glasses do Full SBS though and have a resolution of 3840×1024. I read somewhere that wide-screen is possible with more DLL shenanigans with Ace Combat 7 too but I run the game on a Linux PC anyway, where we utilise a tool named “gamescope”. This allows basically to configure a virtual display for each game and override the game resolution in various ways. It also has a stretch option, which is exactly what I needed to get the “compressed” SBS view from 1920 to 3840, where the aspect ratio would fit again. BTW: This also has FSR built in so any upscaling looks good enough too. I’m not entirely sure but I think there’s a similar tool on Windows called “Virtual Deskop”?

Anyway, I already managed to get my head tracker working by mapping the output to a virtual gamepad on the look-around axes before. I also found a mod that enables a wider FOV. Imagine my stupid grinning when everything fell into place: Full SBS with head tracking, a more sane FOV and yes, I jumped all the hoops to get my HOTAS and rudder pedal of my old ViperPit working (which is a different story because my devices are so old that I had to upgrade em to USB before, which involved some Arduinos, programming and soldering). I guess that makes me a member of multiple niches at once 🤓

And since I’m aware that nobody can “see” what I’m talking about, without having XR glasses or a VR headset (or a DIY VR Box for smart phones) on their own, have also an Anaglyph 3D render. This requires just some old school two coloured (red and cyan) glasses often made of paper, that many people still have around somewhere, to get an idea.

The colour of the sky? It’s perfect. A deep dark blue.

Update: There is now video footage: https://www.youtube.com/watch?v=NckLvP1HBGw

`gamescope` is slowly becoming the hammer to all of my gaming or recording issues on Linux PC.

Doesn’t capture in OBS via obs-vkcapture? Gamescope.
Get’s ideas about screen layout? Gamescope.
Has no built in FSR? Gamescope.
Doesn’t show up in the list for screenshare? Gamescope.
Does this post need a hashtag? .

I usually play on Linux PC. I switched to Proton because I was eager to see some upcoming changes, like support, on the public_beta branch. And while this works[1] I was once more flabbergasted how complicated it is to set my desired display resolution of 5760×1200. I’m using a multihead setup with several displays and as usual the game engine would not let me _simply_ set that. Even in windowed mode (I mean I get that this won’t work with fullscreen).

There are several ways to work around this, especially with Proton, but I was looking for the prefs file I know from Linux. I found it in the end in the file compatdata/1781750/pfx/user.reg (that’s like the Windows registry but as plain file read by Wine) where the values are stored as dword under [Software\\StarGoat\\FlyDangerous]. In hex.

"Screenmanager Resolution Height_h2627697771"=dword:000004b0
"Screenmanager Resolution Width_h182942802"=dword:00001680
"Screenmanager Resolution Use Native_h1405027254"=dword:00000000

So 0780 and 04b0 are in the end 5760 and 1200. And sure enough, on the next game start I get _my_ desired resolution:

Sadly when I change settings in the game this gets overwritten again – so keep a backup around and drop it in again. This may even be added to a script – let’s see how long until this gets on my nerves and I automate that.

For the interested: This is how the same thing looks on the native version in the file ~/.config/unity3d/StarGoat/FlyDangerous/prefs

<pref name="Screenmanager Resolution Height" type="int">1200</pref>
<pref name="Screenmanager Resolution Width" type="int">5760</pref>
<pref name="Screenmanager Resolution Use Native" type="int">0</pref>

Why games|engines in 2023 still seem to have ideas about screen layouts is frankly beyond me.

Update: really eases the pain here as well. See also https://SimPit.dev/games/fly-dangerous/ how to use that with Steam.

[1] Headtracker quick test recordings: https://www.youtube.com/watch?v=13L0GlQyf_Q / https://tube.tchncs.de/w/fTYSUc9fTBmnTLHp2fpW4n