Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OCULUS QUEST working with sTEAM VR¿? #287

Open
chapeka opened this issue Apr 29, 2019 · 126 comments

Comments

Projects
None yet
@chapeka
Copy link

commented Apr 29, 2019

May be possible a new ALVR releasse fro the Oculus quest¿??¿

@polygraphene

This comment has been minimized.

Copy link
Owner

commented May 8, 2019

I'm sorry that I have not respond to GitHub issues for a long time.

I have a plan to support Quest. But, don't expect too much.

@AltoRetrato

This comment has been minimized.

Copy link

commented May 10, 2019

I don't know how ALVR currently does video compression, but I wonder if something similar to fixed foveated rendering (as seen on Oculus Go) could be implemented - i.e., reducing resolution and/or quality at the edges of the frame. It would add complexity to the code, but could (in theory) reduce latency and/or improve image quality at the center.

@polygraphene

This comment has been minimized.

Copy link
Owner

commented May 10, 2019

@AltoRetrato ALVR uses H.264/H.265 compression provided by GPU manufacturer. I don't think FFR can reduce latency on video compression, because the processing time does not depend on rendered image.
And you need RTX GPU to use FFR on PC.

@AltoRetrato

This comment has been minimized.

Copy link

commented May 10, 2019

@polygraphene I don't mean to render the game image on the PC using FFR.

The idea is to reduce image size by 30% (or more) after it is rendered on the PC by discarding pixels in the periphery before it is compressed and sent to the headset.

@polygraphene

This comment has been minimized.

Copy link
Owner

commented May 10, 2019

Do you mean split image to multiple part according to density of FFR?
I can't predict the performance when splitting image and feeding it into encoder...
Splitting image also takes a time and encoder have limitation on how many images can be processed at the same time.

@AltoRetrato

This comment has been minimized.

Copy link

commented May 10, 2019

Splitting the original images into smaller ones and processing each one individually could be one way to do it, but it would be expensive.

Another way would be to "remap" the original image instead of splitting into multiple images. Think about making something like a texture atlas: it is a single image, with different regions being mapped to different portions of the screen at different densities.

@polygraphene

This comment has been minimized.

Copy link
Owner

commented May 10, 2019

FFR+"remap" is an interesting idea. That has low processing cost and moderate programming cost.
I want to try it when I have a time. But I'm busy at Daydream(and Quest) support on ALVR now. So I can't estimate when I can start it.

Thank you for providing good idea.

@polygraphene

This comment has been minimized.

Copy link
Owner

commented May 16, 2019

On GearVR and Go, I have published client by key distribution. So the users didn't need to enable developer mode to install client.

But unfortunately, Oculus said key distribution won't be available on Quest.
So all users have to install client by enabling developer mode.

@jc-langevin

This comment has been minimized.

Copy link

commented May 17, 2019

any ETA on your work for the oculus quest?

@peterthrees

This comment has been minimized.

Copy link

commented May 20, 2019

I really hope you get it done for quest, it would be amazing.
If i can help you with something, let me know. I'm a software developer for years, don't have any experience in hardware but I'm a fast learner :)

@MarcusSjolin

This comment has been minimized.

Copy link

commented May 20, 2019

I more than happily get involved as well, will have a quest by next week I presume, so will check the code out till then.

@polygraphene

This comment has been minimized.

Copy link
Owner

commented May 20, 2019

@jc-langevin
My order has been postponed by Amazon JP. I can't believe it.
There is no ETA for my Quest.

@peterthrees
I will publish pre-release version once it is done. I would appreciate if you can test and provide log information for debug.

@peterthrees

This comment has been minimized.

Copy link

commented May 20, 2019

@polygraphene: Np, I can do that for sure , I'll keep eye on it when the pre-release is out.

@polygraphene

This comment has been minimized.

Copy link
Owner

commented May 20, 2019

@MarcusSjolin
Thank you! Feel free to ask any question about my codes.

I heard ALVR has following issues on Quest now. (#288)

  1. side-by-side was incorrect. (Resolution issue?)
  2. Only one controller is usable.

I'm working on first issue now.

@FedericoRuiz1

This comment has been minimized.

Copy link

commented May 21, 2019

Hey! Thanks for doing this. Will it support 6dof?

@jc-langevin

This comment has been minimized.

Copy link

commented May 22, 2019

@XDRitz

This comment has been minimized.

Copy link

commented May 22, 2019

@polygraphene how can I help test your builda?

@DannyDan

This comment has been minimized.

Copy link

commented May 22, 2019

@polygraphene I also want to support here with beta testing.

@polygraphene

This comment has been minimized.

Copy link
Owner

commented May 23, 2019

@XDRitz @DannyDan Please try it. https://github.com/polygraphene/ALVR/releases/tag/v2.4.0-alpha1
I don't know whether controller really works.
I want to know the resolution shown in ALVR.exe when client is connected.

@SpookyBear0

This comment has been minimized.

Copy link

commented May 23, 2019

@polygraphene I tested it out, everything works perfect except for that there are two screens (for vr) do you have any way to fix this?

PS: Both controllers work

@polygraphene

This comment has been minimized.

Copy link
Owner

commented May 23, 2019

@SpookyBear0

This comment has been minimized.

Copy link

commented May 23, 2019

@polygraphene I will check (I cant check the controllers bc of the "two screen" but I will send screenshot and stuff)

@SpookyBear0

This comment has been minimized.

Copy link

commented May 23, 2019

@polygraphene 72Hz and 2432x1344, I can't get a picture bc its not working rn and other reasons but its like when you use a phone vr and the picture doubles. (example shown)
br

@AnalogMan151

This comment has been minimized.

Copy link

commented May 23, 2019

I have tested it out as well. I also get double images. Like, it's doing stereoscopic correctly but the distance between the images is too far so it's double-vision.
As for the controllers, only the right controller works for me and it shows in-game as a Vive controller. Only the trigger and grip buttons have function.

@SpookyBear0

This comment has been minimized.

Copy link

commented May 23, 2019

@AnalogMan151

This comment has been minimized.

Copy link

commented May 23, 2019

Resolution reported by ALVR is 2432x1344 @ 72 Hz

Official res is 2560x1440@72.
Also just found the controller settings, that should fix the buttons. Will report back.

@AnalogMan151

This comment has been minimized.

Copy link

commented May 23, 2019

@polygraphene Yeah thats what I have too (video here to get an idea) https://drive.google.com/file/d/1E7T8p03kxQbyaaYIaekwpvKTlqx_X6Yu/view

File is not public.

@polygraphene

This comment has been minimized.

Copy link
Owner

commented May 23, 2019

@SpookyBear0

This comment has been minimized.

Copy link

commented May 23, 2019

Thanks for making this program @polygraphene

@DannyDan

This comment has been minimized.

Copy link

commented May 26, 2019

Yepp, I tested some games yesterday, and in any game at least one needed button was not mapped.

@polygraphene

This comment has been minimized.

Copy link
Owner

commented May 26, 2019

@Irastris
Thank you for great work!
Can I put your model data into ALVR repository?
In addition, I want to rename your model to oculus_quest_controller_left(right) in order to avoid misunderstanding.
Is it okay?

Unfortunately it seems there's more work involved than just slapping my models into ALVR/driver/resources/rendermodels which is again beyond my knowledge level. We will need to wait for @polygraphene or @Ivoogdt to properly implement them.

It seems that RenderModelName should be full path of model folder.
I will fix it on the next alpha release.

@polygraphene

This comment has been minimized.

Copy link
Owner

commented May 26, 2019

Trigger problem will also be fixed. polygraphene/ALVRClient@871ba42

@Irastris

This comment has been minimized.

Copy link
Contributor

commented May 26, 2019

Can I put your model data into the ALVR repository?

@polygraphene Go right ahead! I already renamed them to the oculus_quest_controller_[left|right] naming scheme for you, as well as did some cleanup (removed duplicate MTL files). Let me know if there's any issues.

https://files.catbox.moe/1zbqvu.zip

As soon as the joystick is functioning on the CV1 model, I'll make that reactive on my Quest model and make a pull request for those changes.

@SweViver

This comment has been minimized.

Copy link

commented May 26, 2019

Hi @polygraphene I would like to thank you so much for making this software. You are doing an amazing job. I spent this weekend testing ALVR and Im seriously shocked how great it works. Really impressive!

Keep up your great job man, this could get huge!
By the way, I made a video on my channel about ALVR testing it with Projeft Cars2, Onward, DCS, X Plane 11 and others. I hope it will help bringing some more attention to your great project!
https://youtu.be/gtmJInS7RxU

Cheers and thanks again!
/Martin

@YeetSkillet

This comment has been minimized.

Copy link

commented May 26, 2019

Idk if its my connection or not but my quest has really high latency rates and constant stuttering whenever i use alvr (around 60ms) if i lower the bitrate the latency is better but my resolution drops. I have a 2.4Ghz router

@rathugo

This comment has been minimized.

Copy link

commented May 26, 2019

I have a 2.4Ghz router

@YeetSkillet ALVR will benefit a lot from a 5Ghz connection.

@machenmusik

This comment has been minimized.

Copy link

commented May 26, 2019

re: #287 (comment)

see #313 - for me, that commit did not resolve the issue

@polygraphene

This comment has been minimized.

Copy link
Owner

commented May 27, 2019

@polygraphene

This comment has been minimized.

Copy link
Owner

commented May 27, 2019

@YeetSkillet
60ms latency is not bad. I have same latency.
What's the stuttering problem? Do you experience stutter animation? Or head tracking?

@d4nielrx

This comment has been minimized.

Copy link

commented May 27, 2019

Will usb c tethering ever work? Surely itd be faster? Ivry says its possible dunno how true that is

@Irastris

This comment has been minimized.

Copy link
Contributor

commented May 27, 2019

iVRy also hasn't released even a demo video at the least, so I'd take that with a grain of salt for now.

@aebrett

This comment has been minimized.

Copy link

commented May 27, 2019

@polygraphene, this is the build I’ve been waiting for! I’ve tried the previous alphas, and this is the first that (so far) works perfectly with Google Earth VR. Before my quest arrived, I was obsessively refreshing the Amazon delivery status, but over the last few days I’ve been refreshing the ALVR commits page waiting for new builds. Thanks so much for your work, and the frequent release builds since the quest was released; I’ve sent a small paypal donation in thanks.

@peterthrees

This comment has been minimized.

Copy link

commented May 28, 2019

@polygraphene I tried to start the app in windows, but i'm getting an error:
https://www.screencast.com/t/hiFCluux3I (i used the EXE to install)

"The system cannot find the file specified"

This is are the details:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at ALVR.Utils.ExecuteProcess(String path, String args)
at ALVR.DriverInstaller.GetDriverList()
at ALVR.DriverInstaller.RemoveOtherDriverInstallations()
at ALVR.Launcher.Launcher_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at MetroFramework.Forms.MetroForm.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at MetroFramework.Forms.MetroForm.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3130.0 built by: NET472REL1LAST_B
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll

ALVR
Assembly Version: 1.1.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files/ALVR/ALVR.exe

System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3062.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3062.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3062.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

MetroFramework
Assembly Version: 1.2.0.3
Win32 Version: 1.2.0.3
CodeBase: file:///C:/Program%20Files/ALVR/MetroFramework.DLL

System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3062.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3081.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3062.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

MetroFramework.Fonts
Assembly Version: 1.2.0.3
Win32 Version: 1.2.0.3
CodeBase: file:///C:/Program%20Files/ALVR/MetroFramework.Fonts.DLL

Accessibility
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3062.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll

Microsoft.CSharp
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3062.0
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.CSharp/v4.0_4.0.0.0__b03f5f7f11d50a3a/Microsoft.CSharp.dll

System.Runtime.Serialization
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3130.0 built by: NET472REL1LAST_B
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll

System.Xml.Linq
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3062.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll

SMDiagnostics
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3130.0 built by: NET472REL1LAST_B
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/SMDiagnostics/v4.0_4.0.0.0__b77a5c561934e089/SMDiagnostics.dll

System.ServiceModel.Internals
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3130.0 built by: NET472REL1LAST_B
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.ServiceModel.Internals/v4.0_4.0.0.0__31bf3856ad364e35/System.ServiceModel.Internals.dll

System.Dynamic
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3062.0
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Dynamic/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Dynamic.dll

Anonymously Hosted DynamicMethods Assembly
Assembly Version: 0.0.0.0
Win32 Version: 4.7.3130.0 built by: NET472REL1LAST_B
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

@polygraphene

This comment has been minimized.

Copy link
Owner

commented May 28, 2019

@peterthrees
Please check the installation of SteamVR.
You need to install SteamVR on C:\ drive.

@peterthrees

This comment has been minimized.

Copy link

commented May 28, 2019

@polygraphene, thanks I've fixed that, next I've allowed port 9944 in my firewall. I get connection with my quest, but when i want to start the server, i'm receiving the following error:

Failed to initialize CEncoder. All VideoEncoder are not available. VCE: AMF Error 1. g_AMFFactory.Init(), NVENC: NvEnc NvEncoderD3D11 failed. Code=1 NvEncoder::LoadNvEncApi : NVENC library file is not found. Please ensure NV driver is installed at c:\src\alvr\alvr_server\nvencoder.cpp:70

Any idea how to solve this?

@polygraphene

This comment has been minimized.

Copy link
Owner

commented May 28, 2019

@peterthrees
Please upgrade graphic driver.

@peterthrees

This comment has been minimized.

Copy link

commented May 28, 2019

@polygraphene Thanks, i was trying to do this on my work notebook. Maybe not a good idea for steam :)
I've tried it on my more powerfull pc. I bought it to run oculus dk2 games. I have AMD Radeon R9 200 gfx card, when I run the vr game from steam without my quest, it starts. When I use ALVR to run it on my quest, I get the same error issue again. The drivers are the latest ones. Used riftcat on my notebook before and thjat one worked but not that good.

Is ALVR maybe using something like what the app moonlight does? I know it only support gforce gfx cards. Thats why i used parsec instead.

@Irastris

This comment has been minimized.

Copy link
Contributor

commented May 28, 2019

@peterthrees ALVR is currently 100% reliant on NVENC for encoding, which is unavailable on AMD cards. Apologies.

@peterthrees

This comment has been minimized.

Copy link

commented May 28, 2019

Ok thanks, ill try to find a second hand gforce card that support nvenc

@polygraphene

This comment has been minimized.

Copy link
Owner

commented May 28, 2019

Though ALVR supports Radeon GPU, R9 200 series may be a bit old for ALVR.
I tested only on RX 400 and 500 series.

@YeetSkillet

This comment has been minimized.

Copy link

commented May 28, 2019

@polygraphene

Stuttering in the headset tracking, the controllers for the most part work fine but the headset stuttering gives me nausea

@jarodhanko

This comment has been minimized.

Copy link

commented May 28, 2019

Stuttering in the headset tracking, the controllers for the most part work fine but the headset stuttering gives me nausea

@YeetSkillet

You will have to give more info than that. Likely that is a problem with your network setup or the settings chosen in ALVR are too high for your network to handle.

Latency will depend on network setup (2.4 ghz, 5ghz, network speed, distance from access point) and application specific settings (resolution, bitrate). You may need to adjust your settings in order to get low enough latency. If you believe it is an issue with ALVR itself, you need to provide details on how you have things setup or how it can be reproduced.

  1. Distance from route/access point
  2. 2.4 ghz vs 5 ghz
  3. how many other wifi networks are you competing with (how congested is the wifi channel that you are using)
  4. Is there other traffic that may be using up bandwidth
  5. What are your computer specs
  6. What application(s) are you attempting to use

This is just an example, but no one will be easily able to help you without supporting information.

@peterthrees

This comment has been minimized.

Copy link

commented May 29, 2019

Who wants to know, there is a topic on resetera on ALVR and others:

https://www.resetera.com/threads/oculus-quest-steamvr-thread-what-can-5ghz-buy-you.119494/

@polygraphene

This comment has been minimized.

Copy link
Owner

commented May 29, 2019

@polygraphene

Stuttering in the headset tracking, the controllers for the most part work fine but the headset stuttering gives me nausea

Please create new issue. And tell me your OS and GPU.

@crazysword1

This comment has been minimized.

Copy link

commented Jun 12, 2019

Thank you for your hard work. Just want to confirm one thing.

With all other factors being equal, does a higher bitrate translate to higher latency? What about if the router is sufficient to handle the higher bitrate? Does it take longer to encode and decode a higher bitrate stream?

Also for anyone using H.265, are you using the Pascal (Nvidia 1000 series) or Turing (2000 series) cards?

@FingrMastr

This comment has been minimized.

Copy link

commented Jun 12, 2019

Here is my config:
Intel i5 8400
16Gb ram 2666mhz
Nvidia GeForce 2070 8Gb hheavily overclocked
PC on 100Mbit Ethernet cabled connection to router
Oculus Go on cabled rj45 connection to router using an adapter Ethernet/microusb
ALVR stable (not alpha nor beta)
Maxed resolution on ALVR
50mbit bitrate
300kb buffer
Max latency: 70ms
Totally playable on Project Cars 2, stable 72 fps, no artifacts, on ultra settings.
SIMPLY FANTASTIC

@Cumulus7

This comment has been minimized.

Copy link

commented Jun 18, 2019

Though ALVR supports Radeon GPU, R9 200 series may be a bit old for ALVR.
I tested only on RX 400 and 500 series.

Just for your information:
I got GoogleEarth VR running yesterday using an AMD HD 7970 - (first generation GCN, same as the R9 280X). Works just fine.
Only problem here: resolution has to be set to 75% or lower :-(
Don't know why that may be.....

THX for your work - i think i might have to upgrade the gfx card after the summer.

@Thijzer

This comment has been minimized.

Copy link

commented Jun 23, 2019

Just had a successful install. Was up and running in minutes. I started with sideQuest. I would recommend every beginner to do this route. Follow the setup on sideQuest instructions and don't rush. It helps you enabling developer mode, install and drivers, install ALVR on the headset. Remaining things are the ALVR server setup and steam vr setup.

So in order to make those work install steam vr in steam make sure to play as well.
Make a connection with the headset going to ALVR app in the headset and connect the headset on the server.
Last when everything is installed restart all mentioned apps or the computer.
Start ALVR server up again make the connection and start the server.
You should be good to go.

I have RX580 and streaming works just like steam link works.

Steam vr was never on my computer but it found my devices.

My WiFi connection is not optimal and it works well enough to make it work during setup. For playing I will make a guard zls close as possible to the WiFi router.

I also have a rental router from my provider so nothing custom or expensive.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.