Closed BubbleLavaCarpet closed 4 years ago
@BubbleLavaCarpet - try switching to streaming over TCP instead of UDP in Radeon Settings (the same place where you enabled SteamVR integration, just a few lines below), see if this makes a difference. What it sounds like is that messages carrying video are not getting through to your headset.
Do you have any custom settings in the router, such as, for example, enabling QoS, or have you changed the channel width or assigned a custom channel for the 5GHz AP in the router?
e
Changing to TCP worked! Thanks for your help!
@BubbleLavaCarpet - this means that your router is blocking some UDP packets for whatever reason, most likely by size. Since latency is so paramount in VR, we try to squeeze every bit of performance out of every component involved, including the network and this works with 99% of the routers out there, but I guess there are a few exceptions and yours might be one of them. Not all devices support large UDP datagrams. You have a working solution and could always go back to it, but UDP generally performs a little better, not by a huge margin though. If you're willing to spend a bit more time on this, let's try one more thing that might work even better:
We would appreciate if you could let us know the model of your router, so that we know which ones are problematic as the absolute majority of them work well with 65507.
Hey im from germany and have exactly the same issue, more german likely have the same router. Specs: Rx 580, Ryzen 5 3600x, 16gb 3200mhz, 5ghz router with the ac thingie at the end. I switched to 40mhz channel which is free around 6-8 channels to left and right. 1 mobile phone streaming music over 2.4ghz wifi atm. 100mb/s lan.
Router:
https://kabel.vodafone.de/static/media/Technicolor_VodafoneStation_CGA4233DE.pdf Serialnr. 8CM2D299J700863 Firmware-Version AR01.02.037.08_121719_711.PC20.10
and im running Malware Antibytes Pro as additional Firewall and security software.
UDP SteamVR home would instantly freeze. 50mb/s - 100mb/s didnt change much. TCP i could boot Beat Saber but the latency was everything about stable. It was jumpy as heck and disconnected every 1-2mins completly. Tracking worked fine on PC screen, disconnects happend on PC screen too.
Didnt had this problem with ALVR, however i think you guys have the better software on paper and i couldnt stream well with ALVR. Everything uninstalled (SteamVR, ALVR and AMD Factory reset) deleting every trace i could fine. Im not sure i got everything regarding ALVR tho. Then fresh installed Ocolus Software, SteamVR and lastly ReLive when Link worked fine.
So... how can i make this work? I would love to use ReLive!
Why would ALVR would work but ReLive wont? Can i still use UDP without compromises, f.e. unlock some ports?
Im not to techsavvy and if you need anything else i will gladly provide you.
Thanks for your awesome work <3
@xenoliferttv - the log you attached clearly shows very high packet loss. Have you tried reducing the DatagramSize to about 4096 or so? Repeating instructions from above:
open the c:\Users
There might be many reasons why ALVR works, it uses a different protocol. For example, they don't try to send large datagrams to minimize network overhead. There might be other differences in the protocol that your router doesn't like for some reason.
Please let us know if reducing the datagram size helps. Thanks!
First of all, thanks for your quick response! Since posting ive been trying hard to make a change... almost no success. Hope we can work this out :)
By reducing it, how will it impact my latency? Anyway. Ran a test with following settings:
My pc was sending 50+mb/s but only receiving around 7-8 mb/s, gpu at 91% max. That didnt change much throughout the whole day not even with the small datagrams. However, although it was cutting off the edges (black bar edges) pretty hard and struggled heavy to get beat saber starting, it was the first time i could actually finish a song. There was stutters and controller miscalculations but yeah... it helped a little! Finally some progress!
Let me know what else you need or i should try. I would love to know by tomorrow if should buy a new router, if that somehow possible. To be honest everything points at the router not transmitting packets efficiently as far as i understand (?).
Other things i tried today: (its late ill edit details tomorrow if unclear)
Turned off phone and all other possible interference switched lan cable 100mb/s - 1gb/s Port forwarding Setting channel on automatic reducing to 20mhz delete all vr related software, files and gpu drivers again (clean) reinstalled apk's reinstalled c++ redist...pack ran disk and registry check from windows (forgot the name) entered the ip of quest and pc into router somewhere (dhcp?) tried different settings.json turning off all security thingies, namely windows firewall and all malwarebytes protections (except router) checked frame timings and other hardware for errors tried tuning down graphics (resolution) restarted headset, pc and router several times checked if link works normal (yes it does) opted out of all beta versions (amd drivers + ocolus) updated windows
Let me know what else you need or i should try. Ill try tomorrow with 1000 bytes. Good night and keep it up! :)
cheers
@xenoliferttv - you're still streaming over TCP, not UDP. DatagramSize has no meaning and no effet for TCP, please switch back to UDP. Also change height under EyeResolution to 1440 from 1600, your encoder is not fast enough at this resolution. I've attached the correct settings.json (please remove the .txt extension)
I've also enabled the embedded web server, so that you could make changes using the browser rather than editing the file manually - just connect to http://localhost:8080.
Any chance you could try a different router (like borrow one from a friend) before you buy one? If you end up buying one, make sure it has Gigabit wired LAN - some cheap devices offer 5GHz WiFi, but only 100Mbps wired, which is not enough for good VR experience, so check the specs before you buy.
Btw, your graphics driver is not the latest.
Please let me know how it goes.
@GennadiyAMD
Oops, i deleted the comment i wanted to write first!
summary = After changing some little things, isolating datagramsize and lowering it to 1000bytes worked. So i proceeded to narrow it down. You where right all along!
Will this router work? https://www.amazon.de/dp/B08FD8X48Q?tag=conqu11-21 Im not sure it has cable input so it would probably go over the modem, which seems to be the bottleneck. Does that negate the higher specs of the router in a LAN environment? confusion
Also: How do i make sure, that the allowed Datagramsize is as huge as possible on my new router/modem?
some less interesting results:
Result 4: = At the beginning it looked about to crash, performance graph was constantly high, then loaded beat saber and somewhat stable again, fps/latency felt slow - controllers felt responsive. Performance Graph green thingies where low again.
Ethernet = around 50mbps Send and around 7mbps Receive
Setting: DGS @ 1250
Result 5: Same thing, steamvr home laggy - beat saber fine. Low fps/latency but somewhat stable
Setting: DGS @ 1400
Result 6: Crash at first frame
Setting: 1500
Result 7: works, same thing.
Settings: 1450
on Technicolor_VodafoneStation_CGA4233DE modem/router. Vodafone default for high speed internet in Germany.
For this router there seems to be open source software. Maybe even a newer firmware? I dunno, could that possibly help or is that rather a hardware limitation?
its somewhat stable but fps/latency feels low, controller rather responsive.
Changing to 100mbps Bitrate, didnt seem do have much of a positive effect. with 100mbps: AMDWirelessVR.log
Id apprecicate an answer in max 5hrs, so i can proceed to buy a router in a local estore before it closes. If thats what i leads to in the end. :) Thanks so far!
sidenote: TCP hasnt changed obv.
Ill do some work. Catch ya later
oh btw, my lan cable is cat5, it shows in ethernet details that its 1gbps - could that be the bottleneck?
@xenoliferttv - I think the Honor router should work, at least spec-wise. You could also try this one. With Amazon, you can always return it if you don't like it.
CAT-5/CAT-5E/CAT-6 cabling - much depends on the length. When the cable is a meter long, it shouldn't matter much. But when it gets longer, it does matter. At 15m CAT-5e might not give you Gigabit speeds - didn't work for me, had to go with CAT-6. But if your connection properties actually show 1Gbps, you should be fine - for me the lights on the switch would turn yellow instead of green indicating 100Mbps.
Sorry for the late answer - I'm in the EST timezone, it's early morning here.
Thanks a lot my men! Atleast now u have some data and me some clarity. Wish you all the best and keep up the great work!
@xenoliferttv - you're welcome! Some answers to some other questions that you asked:
Good luck, hope this helps!
@GennadiyAMD Men that all so valuable and thought trough info, explained in a way that combines the logic and action parts in a intuitive manner. You are a great dev and support. Thanks for your time taken and i really appreciate the guide/info. Will need it and it saves a lot of time on my part.
If you busy, its just an update of what ive done today and the results - dont mind skipping :)
Basicly got this router ...i love the GUI
Setting:
just turned off wifi on Modem and connected the router via LAN to modem (in the internet port), made sure Quest is connected to new 5g wifi.
Results:
54ms very stable - actually not much better yet, regarding just the latency.
Compared side by side (on first glance)
avg. is was around 59ms, now is around 54.3ms
client still rather jumpy
network around 5ms - now 2.5ms. Awesome!
decoder around 14.5ms to around 13.25ms
avg. is was 59ms, now is 54.3ms
Last succesfull test with Datagramsize of 1471bytes:
compared to: AMDWirelessVR.log
Definetly dont have to worry about crashes and stuff, played for like 2hrs straight. It feels responsive but i think i can do better. The latency is still noticable as opposed to link (subjectively speaking on first glance, need more testing).
Ill test more in the next days. Most of the latency gathers on client and server. Will try follow your "foveated scaling" documentation and set up the network correctly.
They actually both run on same IP as of now, good to know thats not optimal. xd
Is a goal of 30ms to 40ms stable, realistic? That would be a dream.
If i can ever help you out with something - give me a pm. Appreciate your time and efforts!
Have a good one.
quickedit: Goddamn it, 2am again. Good night!
@xenoliferttv - thanks for the update! Now you can try to crank the datagram size back up. The max value is 65507, but anything above 16000 makes very little difference. I've never seen a TP-LINK that had issues with 65507. You could probably shave off another millisecond or two off the network time.
30ms - not realistic. Mid-to-upper 40-s possible with Navi (RX5600/5700), which has a faster encoder. With RX-580 this is pretty much as good as it gets. The only thing you can try to reduce the appearance of black borders when you move your head quickly is to set the field of view to about 104-105 degrees (this would be 1.745329 radians) - the FOV section in settings.json, or if you use the Web UI, it would be in the Streaming tab - note that you specify it in degrees in the browser, but in radians in settings.json - the UI would do the conversion for you.
Foveated scaling should be on by default - NonLinearScale set to true in settings.json or Scaling set to Non-linear under Streaming in Web UI. You could lower the Encoder resolution to 1280x1280 - this would gain you a couple of ms latency.
Other than that, just keep your PC in a well ventilated environment. Depending on the case your computer is in, if you can add a chassis fan that blows air onto the GPU, this might help to keep the GPU cooler under heavy load and not throttle as much. But this would not make a huge difference.
Enjoy! Good night.
I have connected to the 5 GHZ version of my router on the quest, and my pc has a gigabit ethernet connection. Everything tracks well on the VR view on my monitor, but the quest shows a frozen image of the SteamVR home and won't change even if I restart everything. I have tried all devices on headset emulation, and my quest is almost right next to my router, so the connection shouldn't be a problem. I have an RX 580, i5 8400, and 16 GB Ram. Here's the log from the most recent attempt with using the vive as an emulator (it crashed after a few minutes). AMDWirelessVR.log
`