Viture Luma Pro
Hi, I got my Luma Pros, and the Decky plugin isn't compatible yet. I'm a dev too so I'm not gonna complain, you're a human with a life. Is there anything I can do to help with the process of enabling them? Happy to open a PR or at least have a play with things to see if I can do it, I'm more of a mobile developer but happy to learn :)
I've already added Luma support all the way up to the decky plugin, but the first test showed some odd drift and I need to reach out my VITURE contacts for some extra guidance, which may be waiting until August for the next iteration of their SDK (Edit: since this comment, I've made some updates and it may be ready to go). In the meantime, you can try the build out yourself if you'd like:
With decky loader already installed and the glasses unplugged:
- Make sure you've visited the VITURE firmware update page. My integration won't work well unless you're on the absolute latest version. I also recommend running the calibration tool linked from that page. You can even do this on Linux from Chrome/Chromium if you have any of my apps installed, you just need to make sure to disable the driver:
systemctl --user stop xr-driver(you'll want to reverse this withstartafter you've finished the update and calibration processes) - Download the v1.2.2 test binary
- From Konsole in Desktop Mode:
- Enable debugging modes:
~/.local/bin/xr_driver_cli --debug device(this will fail if you've never previously installed the plugin, can be done after the next two commands instead) - Extract the plugin:
sudo -S unzip /home/deck/Downloads/decky-XRGaming-v1.2.2.zip -d /home/deck/homebrew/plugins(if it prompts you to overwrite, typeAthen hit Enter) - Restart Decky loader:
sudo -S systemctl restart plugin_loader
- Return to Game Mode, open the Decky sidebar (plug icon from the
...menu), openXR Gamingand make sure it loads, should indicate that no device is connected - Plug in your glasses
If working, it should say the model name VITURE Luma Pro. Try out the Virtual Display mode. There's a bug with a fix in progress where the screen doesn't move unless something is changing on the screen, so the menu movement may be very stuttery, but in-game it should be as smooth as your game's framerate.
Nice, I'll give this a whirl tonight once I get a free hour 😂
Tried it briefly just now, will try it a bit more over the next couple of days - initial feedback :
- Normal Follow mode works as expected - am able to move the screen top/bottom/left/right and adjust the size of the screen no problems
- Smooth follow mode doesn't work as expected, screen jumps around and moves of its own accord
- Curved Display doesn't seem to have a discernible impact
- Virtual Display exhibits similar behaviour to smooth follow mode
Tried it briefly just now, will try it a bit more over the next couple of days - initial feedback :
- Normal Follow mode works as expected - am able to move the screen top/bottom/left/right and adjust the size of the screen no problems
- Smooth follow mode doesn't work as expected, screen jumps around and moves of its own accord
- Curved Display doesn't seem to have a discernible impact
- Virtual Display exhibits similar behaviour to smooth follow mode
As noted in discord, try it out in-game and let me know if the jumping still persists, that might just be a framerate issue (the menus don't refresh most of the time unless something is changing due to controller input). What I'm most interested in hearing about, once things are running at a smooth framerate, is the drift: does the screen stay where you put it in virtual display mode, especially over longer sessions. Follow mode has the screen follow you around, so we can't measure drift.
Hard to describe but the screen rotates through a centre point when I’m moving my head left and right in virtual display mode.
So if I move my head right the screen tips over when I would expect it to remain flat and in position
I move my head right the screen tips over
When you move your head back to the center, does it reverse its tilt and flatten back out? If so, I know what's causing this and it'll require some fine-tuning but that'll probably be easier once I've gotten my own pair.
Putting the tilt aside, keep an eye out for drift in longer sessions.
I move my head right the screen tips over
When you move your head back to the center, does it reverse its tilt and flatten back out? If so, I know what's causing this and it'll require some fine-tuning but that'll probably be easier once I've gotten my own pair.
Putting the tilt aside, keep an eye out for drift in longer sessions.
Yes it does correct itself.
Will report back any drift - so you mean over time the centre point of the screen ends up somewhere other than where you started right
Yep, exactly. Don't use the re-center functionality and see where the screen ends up after 10 minutes or more.
So i played for an hour or so this morning and i think the screen is moving over time in virtual display mode. its quite hard to remember exactly where i started with my head, but i feel like after 10-20mins it was definitely not where i left it.
Auto centering was switched off
To be honest its a minor issue at this point, the app is totally useable in current state with Luma Pros!
I've received my pair of glasses and made some tweaks that I think will address the biggest issues for the Lumas. I've updated the instructions above with the v1.2.2 binary. Note that you should update to the latest firmware and run the calibration tool from the VITURE firmware update website.
Updated my firmware, recalibrated and installed 1.2.2 this morning
Good news - the screen rotating when you move your head is totally fixed. Smooth follow mode also seems to be working great!
I'm still getting drift over time in virtual display mode though. Made a marker this time, and over the course of about 20mins, the screen moved to my right enough that i had to turn my chair to keep facing the screen.
That's too bad about the drift. Unfortunately it's not something the plugin has any control over. I would recommend setting down the glasses for a minute after plugging in just in case their algorithm is doing some continuous background calibration.