Graham Wakefield [vr] Package works for Oculus Quest 2

hhelt's icon

Hello,

Does somebody know, if the [vr] Package from Graham Wakefield works with the Oculus Quest 2 ?
Planing to buy a VR device. The Oculus Quest 2 seems to be a nice one ;-)

All the best,
HH

Graham Wakefield's icon

I have no idea, I don't have a Quest 2

The [vr] package supports both Oculus API (LibOVR SDK version 1.1.15) and SteamVR API (OpenVR SDK). If the Quest 2 works with either of those, it should work with [vr].

However there's a chance we might need to update the SDK versions for the [vr] package, as they haven't been updated for a few years now.

From a quick google, it looks like Quest 2 support was added to LibOVR in SDK version 23, which is quite a big jump forward. That means it might need a bit more work to update the [vr] package, I don't know how much their API has changed.

But if Quest 2 can work with SteamVR, then it might work already right now.

hhelt's icon

Hello Graham,
Thanks for answering in person in this short time :-)
Will borrow a Quest 2 and test it out. Perhaps it works out of the box.
Will post my experience.
All the best,
HH

sandroid's icon

Hello Helt and Graham,

I've tried out quest 2 with MAX /VR package with the cable (oculus link) and worked well. In order to connect to Quest 2 via cable you need to install the desktop Oculus App. I still need to try the wirelles connection.

hhelt's icon

hello sandroid,
thank you very much for the information !
have you also tryed to use the quest 2 controller ?
will test the wifi connection next week.
all the best,
HH

Mathieu Chamagne's icon

Any update on this topic ?
did someone managed to use a quest 2 wireless with Max VR ?
what about the controllers ?
Is there a way to get hands tracking in Max ?

Cheers

Mathieu

matheus leston's icon

Hey everyone.

I'm very much interested in this topic as well! Thank you Sandroid for letting us now that the Quest 2 works well with the package, this is great news. Have you tried the wireless connection as well?

Mathieu Chamagne's icon

Ive just tested a Quest2 with Max VR : it works very well with airLink and Virtual Destop.
Much more stable and reliable than a Vive Pro Wireless, for a fraction of the price... it's amazing !

With AirLink : Max VR uses the Oculus driver ; it works just fine, I could use the controllers.

With Virtual Destop : you have more options to adjust streaming quality, and it allows you to run steamVR applications ; Max VR will run using steamVR drivers.
AND : there's a very cool option : you can use hand tracking : hands are seen as controllers (pinch & grab emulate trigger and button)
You can't get all hand's joints & fingers positions, but at least it's possible to use hands with Max.
I guess it *should* be possible to get hands data, as it seem to work in Unity (probably using developer mode ...)
Hands tracking on the Quest2 has smaller latency and wider field of view than using a leapMotion, but hands occlusion is a bit less permissive.

my conclusion after 2 days of test : the Quest2 seems to be a very good choice to explore VR in Max
inside-out tracking + image quality + low latency + wireless + attractive price = :-)

I would really love to find a way to get all hands tracking data into Max ; any help would be very welcome :-)

matheus leston's icon

Mathieu, thank you so much for testing, those are all great news! Sounds really interesting indeed. Having native integration without Virtual Desktop would be great, but having hand tracking is already pretty amazing. Nice, will be getting one soon!

One extra thing that I just noticed: it seems that the VR package doesn't work with GL3. I get the error: "ob3d_draw_begin: GL Error: Invalid enumeration". Any ideas?

Robert Ramirez's icon

I've got a fairly untested build of a gl3 compatible vr.mxe that you are welcome to try.

To update first install the VR package from the Package Manager, and then replace this unzipped mxe64 into the externals folder of the existing VR package.

matheus leston's icon

Hey Rob, thank you so much for the file. Just tested it and it seems to work pretty well in my patch. I don't have a Oculus with me today, but in the next upcoming days I will test it properly and I will let you know.

robin.meier's icon

what would you recommend if i wanted to use vr.mxo on os x? so far I couldn't detect the oculus quest 2 to connect from max. is this all windows only or any chance of getting this to work in os x?

thanks!

greg beller's icon

Hi Robin,

You need oculus App running to use AirLink, so IMHO it's windows only...

Best

Philip Kobernik's icon

Hello to this thread.
I am trying to use this with Quest 2.

The external is able to connect to the HMD and get tracking data-- as evidenced by the render preview panes updating the camera position (and showing the controller moving)

However, it isn't able to render graphics to the headset. Error messages on each frame:

vr - no texture set yet
vr - problem copying texture
vr - problem submitting texture

Tried Rob's gl3 version of the external -- no change.
If anyone has encountered this and has a fix or workaround, please let me know. Thanks!

Gear:
MSI GS66 laptop
RTX 3070 gpu (laptop version)
Max v8.3.1
VR v1.0.1
Quest 2

Mathieu Chamagne's icon

I'm using a Quest2 with vr external without any issue, using wireless Virtual Desktop or ALVR.
(using steamVR)
If you're using Link / airLink, vr uses Oculus driver, maybe that's the culprit...

Rob Ramirez's icon
Philip Kobernik's icon

Thanks Rob.
Got it working using the Oculus driver by adjusting settings in the NVIDIA Control panel.
Under Manager 3D settings, I switched the "global settings" from "Auto-select" to "High-performance NVIDIA processor"

Hope this can be helpful for the next person that encounters this issue.

NVIDIA control panel -- switch from auto-select to always use the NVIDIA gpu

Georg Hajdu's icon

I have tried to use the vr object with the Meta Quest 2 on a MacBook Pro with Windows 10 via Bootcamp. While I was finally able to connect via Link and QuestLink, I kept getting these error messages with the vr helpfile:
vr: no texture set yet
vr: problem submitting texture

I'm running Max 8.5.2 set to gl2. What could be the reason for these messages?

Liam Neely's icon

Im using air link on my quest 2 and the positional data is getting sent to the patch but the screen is just black.
I keep getting the error ob3d_draw_begin: GL Error: Invalid enumeration

if anyone knows how to fix this it would be much appreciated.

marleynoe's icon

VR External question: I am running Max 8.5.5 on Win11 with this graphics card: NVIDIA GeForce RTX 3080 Ti Laptop GPU/PCIe/SSE2 (16GB GDDR6). Whenever I use the VR external I can't switch to the glcore engine as I am getting this error:

ob3d_draw_begin: GL Error: invalid enumeration

Does the VR external support the glcore engine? It works with gl2. *I have also attached my OpenGL status dump.

Problem is that I have a project involving externals which require glcore, but due to this error I can't use this with [VR] and need to rewrite large parts of it; also due to this reverting to gl2 the project suffers from severe visual degradation :D

Is there perhaps a workaround (e.g. other driver, NVIDIA settings (think I have seen some advise on this thread before), ... anything that could be done to solve this)? Grateful for any help...

Best,
M

GL-status RTX3080Ti.txt
text/plain 15.77 KB

Mathieu Chamagne's icon

Are you using the GL3 / glcore compatible version of the external Rob posted here ? :
https://cycling74.com/forums/graham-wakefield-vr-package-works-for-oculus-quest-2?replyPage=1#reply-618abe4e1cee6665d884e72b
looks like this updated version never reached the package manager...

Rob Ramirez's icon

Correct, updating the package never happened. I'll make a note to look into it.

marleynoe's icon

Oh, thanks very much. Wasn't aware of a new GL3/glcore version. Will test tomorrow -- many thanks!

EDIT: Yes, it works now! Many thanks!

marleynoe's icon

Hey! Still one or two questions about this and would be glad about any help (some should be specific to the VR object), the others might be more about working with contexts with HMDs... hopefully someone can shed light on this...

1) There seems to be some kind of far_clipping for the space beyond which objects (I think it's the boundaries of the "floor") are clipped / not rendered any more. Why is that / how can it be changed? PS In fact, there is some undocumented "boundaries" parameter, but I think it cannot be set, but only its values retrieved.
2) How would one create overlays, e.g. 2D-text for the HMD? I could do some kind of workaround by rendering everything twice with an offset (right vs left eye) to the "vr" context, but seems rather "hacky". Is there not a jitter/opengl-native, more elegant way? Same for pixel-shaders, e.g. a lens-flare effect...
3) More generally-speaking; how could one design shader-pipelines for post-processing, e.g. if I would like some scene contents do be processed by a shader and others not?

Here's an example patch, hopefully it becomes clear...

Many thanks in advance!

M

vr.questions.hmd-display.maxhelp
maxhelp 186.45 KB

Jan Ove's icon

Hello all!

I started to experiment with the latest Quest 3 VR headset and wanted to see how I could integrate this with my Max/MSP patches. However, the VR package is not compatible with Silicone processors. I wonder if there are any plans to update this? Maybe Graham could chime in? That would be much appreciated!

Best,

Jan