How to get Spatialllabs Go to stay in 3D mode indefinitely...

katkit
katkit Member Posts: 32 Die Hard WiFi Icon

In the following file, the behaviour of the Spatiallabs Experience Center application is defined:

C:\Program Files\Acer\SpatialLabs\ExperienceCenter\resources\app\main.js

If you edit this file in place, you can change how the application behaves.
I recommend putting it through a Javascript pretty printer first however, since it is formatted terribly. Also make a copy of the file before you start editing if something goes wrong…

To make Spatiallabs Go stay in 3D mode until explicitly exited, search for the following lines and remove them:

this._activePID = o.getActiveProcess(!0), this._detectForegroundInterval = setInterval(() => {
this.bIn3DView && this._activePID && this._activePID !== o.getActiveProcess(!0) && 0 !== o.getActiveProcess(!1) && (this._log.writeLog(change foreground window pid: from ${this._activePID} to ${o.getActiveProcess(!0)}), this._activePID = void 0, this.stop3DViewAltTab())
}, 1e3),

and

setInterval(() => {
this.isFullscreen !== D.isForegroudInFullscreen() && 0 !== D.getActiveProcess(!1) && (this.isFullscreen = D.isForegroudInFullscreen(), this.admin.isAutoDetection() && (console.log("isFullscreen: " + this.isFullscreen), !this.isFullscreen || this.util.is3DView() || this.util.isFocusTutorial() || this.util.show3DHint(!0)), !this.isFullscreen && this.util.is3DView() && this.util.stop3DViewCheckFullScreen())
}, 3e3),

Make sure you remove EXACTLY that text, nothing more or less.

After these changes, you can put Spatiallabs Go into 3D mode and switch focus to different applications without exiting 3D mode!

If you also want to have the Escape key not exit 3D mode, remove these lines:

r.globalShortcut.register("Escape", () => {
this.stop3DViewEsc()
}),

and

r.globalShortcut.unregister("Escape"),

Again, only remove EXACTLY that text, nothing more.

I also attach the whole file for you to try (had to change extension, so change it back). This is for Experience Center V1.3.244. You should not use that file for other versions, but rather make the changes manually as described.

Answers

  • katkit
    katkit Member Posts: 32 Die Hard WiFi Icon

    Also, if you want to be able to enter 3D mode for non-fullscreen applications, set the following registry value to zero:

    HKEY_LOCAL_MACHINE\SOFTWARE\Acer\SpatialLabs\Fullscreen_Detection

  • cfirecracker
    cfirecracker Member Posts: 4 New User

    This is fantastic info! Do you have any more insights into tweaking the SpatialLabs software? In particular, I'm looking to:

    • Force SBS FULL mode vs HALF mode
    • Reduce latency
    • Start 3D mode effect without relying on Go widget and Experience Center

    I am developing software that shows 2 cameras side-by-side in real-time on the monitor, and I would like to trigger the 3D effect within my software directly. When I use the Go app, it's annoying to require a hotkey or mouse clicking on floating widgets, and then I get > 300ms latency added by the monitor / SpatialLabs software when I turn on the 3D effect. This contrasts greatly compared to the monitor's small amount of added latency for 3D games (seems < 50ms).

    Acer Support via a ticket seems very slow, and the Developer site for SpatialLabs has nothing about help with streaming video or any kind of API except for gaming.

  • katkit
    katkit Member Posts: 32 Die Hard WiFi Icon

    Unfortunately you can only mod the Experience Center user interface. Actual functionality is implemented in DLLs which are compiled binaries…

  • katkit
    katkit Member Posts: 32 Die Hard WiFi Icon

    In the latest Spatiallabs version 1.3.256 there was a new undocumented feature introduced.

    If you set the following value in the Windows registry

    HKEY_LOCAL_MACHINE\SOFTWARE\Acer\SpatialLabs\Focus_Detection

    to zero, you can switch application focus without exiting 3D mode in Spatiallabs Go.

    Is somebody from Acer reading here?

  • Ghost_Maker
    Ghost_Maker Member Posts: 5 New User
    edited February 10

    Really helpful finds here. Thankyou. How would you go about forcing 3d in games that are side by side that aren’t running in 3840x2160? I’d like to run some sbs games in lower res. I run YouTube video sbs at 1080 and 1440 resolution and the software has no problem.

  • katkit
    katkit Member Posts: 32 Die Hard WiFi Icon

    I have written a shader to convert full SBS video to half SBS videos for the mpv video player:

    //!HOOK NATIVE
    //!BIND HOOKED
    //!DESC Convert Full SBS to Half SBS

    // Inputs are the full SBS frame, where the left eye and right eye images are side by side.
    vec4 hook() {
    vec2 uv = HOOKED_pos;

    vec4 color;

    float offset = uv.x < 0.5 ? 0.125 : 0.625;

    if (uv.x < offset) {
    color = vec4(0.0, 0.5, 0.5, 1.0); // Black color
    } else if (uv.x > (offset + 0.25)) {
    color = vec4(0.0, 0.5, 0.5, 1.0); // Black color
    } else {
    // Sample the texture with the modified coordinates.
    uv.x = (offset - 0.125) + (uv.x - offset) * 2;
    color = texture(HOOKED_raw, uv);
    }

    return color;
    }

    The problem with half SBS is that you can not simply scale the image, but you have to center the two sides in their respective halves for playback, too.

    A shader like that combined with ReShade might work for your game. I haven't tried, so there is something for you to do. You can ask AI to help you…

  • Pearce39
    Pearce39 Member Posts: 86 Fixer WiFi Icon
    edited February 10

    last time I checked 3DGameBridge lets me run at 1080p and even TrueGame does. I even got the SpatialLab Go AI conversion to run at 1080p on games using the extended method here https://www.reddit.com/r/Stereo3Dgaming/s/jMONp5WcXB

    But I could never get the Go sbs to work on games without unplayable lag

  • Pearce39
    Pearce39 Member Posts: 86 Fixer WiFi Icon

    for you wondering about an easier way to turn on/off 3d the best I have come up with is I’ve created 2 bat files using nircmd commands in them and converted them to exe with iexpress then I pinned them to the taskbar

  • Ghost_Maker
    Ghost_Maker Member Posts: 5 New User

    anytime a game is 1080p and I hit alt -G , a pop up comes up that I need to check display settings is 3840x2160. What am I doing wrong ?

  • Pearce39
    Pearce39 Member Posts: 86 Fixer WiFi Icon
    edited 2:21AM

    it’s supposed to do that use 3DGamebridge by J Anthony and Bram look in this forum section for more info or use TrueGame or try the SpatialLabs Go extended method I shared with you

  • Ghost_Maker
    Ghost_Maker Member Posts: 5 New User

    how would I use your extended method with only 1 monitor hooked up?

  • Pearce39
    Pearce39 Member Posts: 86 Fixer WiFi Icon