AMF icon indicating copy to clipboard operation
AMF copied to clipboard

[Bug]: Encoding speed is capped when using Oculus AirLink with GPU driver >22.2.3

Open Anoobizzz opened this issue 2 years ago • 65 comments

Describe the bug Submitting bug reports to AMD\Meta doesn't do anything, so I'm attempting bug report here instead. Since driver version >22.2.3 an issue with encoding bitrate appeared, no matter the settings it doesn't go above 70mb for me. There are multiple other topics discussing the same problem: https://forums.guru3d.com/threads/amd-amf-and-gpu-encoding-issues-and-discussion-notably-for-vr.443275/page-2 https://community.amd.com/t5/drivers-software/amd-drivers-and-vr/m-p/526584#M156416 https://github.com/GPUOpen-LibrariesAndSDKs/Radeon-ReLive-VR/issues/132#issuecomment-1272873797

To Reproduce Steps to reproduce the behavior:

  1. Install driver version higher than 22.2.3 (in example 22.11.1 is used)
  2. Connect to Quest 2 to PC over AirLink.
  3. Observer lower encoding bitrate compared to previous driver version

Setup (please complete the following information):

  • OS: Windows 10
  • Driver Version: 22.11.1
  • GPU: 6800XT
  • Encoder

Debug Log (please upload or paste): OVRServer logs attached.

Expected behavior

Screenshots image image

Service_2022-11-30_17.28.29.txt

Anoobizzz avatar Nov 30 '22 18:11 Anoobizzz

Checking....

MikhailAMD avatar Nov 30 '22 19:11 MikhailAMD

I've rolled back to 22.2.3 to give comparison: image Notice how network usage is higher.

Logs:

Service_2022-12-02_18.09.37.txt

Only difference i see in properties set is: In 22.2.3 HevcMaxBitrate = 2147483647 In 22.11.1 HevcMaxBitrate = 100000000

Anoobizzz avatar Dec 02 '22 16:12 Anoobizzz

There's a claim on the VD Discord that 22.11.2 works fine with HEVC above 100Mbps.

I was on 22.4.2 yesterday and saw 200-500 Mbps reported to be working fine from Oculus over wired Link (AVC); the overlay updated with the set bitrate.

Espionage724 avatar Dec 02 '22 18:12 Espionage724

There's a claim on the VD Discord that 22.11.2 works fine with HEVC above 100Mbps.

I'd say it's simply not possible. When AMF_VIDEO_ENCODER_TARGET_BITRATE and AMF_VIDEO_ENCODER_HEVC_TARGET_BITRATE are set above 100mbps, AMF or driver seems to invalidate the value (probably according to HW capabilities) and reset it to the corresponding usage default, and I don't think you can bypass it in any way. Though, It MAY report over 100mbps when CBR with filler data is enabled, but the actual bitrate of the frame will be still limited by the usage default.

deiteris avatar Dec 17 '22 09:12 deiteris

The fix is under development, stay tuned.

MikhailAMD avatar Dec 17 '22 17:12 MikhailAMD

With Air Link, I get limited to around 50-55 Mbps with both HEVC and AVC when I use driver 22.11.2 (latest). Can't go higher nor lower with fixed bitrate.

With 21.10.2 driver also with Air Link, I'm limited to around 20 Mbps with HEVC (can't go higher nor lower), but AVC seems to work fine 10 Mbps to 200 Mbps.

For some reason, it seems Oculus is doing something different with bitrate depending on the driver.

However with ALVR and 22.11.2 driver, I can throw seemingly any bitrate with HEVC from 200 Mbps up to 600 Mbps with expected network load. So it seems ALVR is not limited with bitrate in the same way Oculus is.

On an unrelated note, there's something seriously wrong with Oculus's runtime because ALVR works notably better for Quest 2 PCVR than I've ever seen since Q2's launch.

Espionage724 avatar Jan 07 '23 22:01 Espionage724

With Air Link, I get limited to around 50-55 Mbps with both HEVC and AVC when I use driver 22.11.2 (latest). Can't go higher nor lower with fixed bitrate.

The behavior is weird. it gets limited to 50~55Mbps when running 72hz, but if you put it 120hz, then it can go up to 90Mbps (If I remember correctly)

That means it's not a driver issue only. Airlink is also doing something wrong (probably)

Rinshun avatar Jan 08 '23 03:01 Rinshun

This issue has gotten worse for me after the latest update to Oculus on driver version 22.11.2

There's a new issue for me where I'll be already running at an already lowered bitrate of 50-75Mbps but then suddenly drop to 5-6Mbps for an extended period of time making airlink unusable before returning to the 50-75Mbps.

Before all of these issues I was running at 145Mbps at 90hz but with every update it's been getting progressively worse.

Shmnel avatar Jan 08 '23 03:01 Shmnel

The fix is under development, stay tuned.

3 Support tickets, countless wasted hours fiddling and talking to support that has no idea what they are doing or talking about. 10 months later? Stay tuned? For another 12 months? All this happening during the dumbest rebrand and re-name in history.

nyte avatar Jan 08 '23 14:01 nyte

AirLink's picture quality has been unusable for quite some time now as I'm also reaching a 60Mbps cap for some reason.

In the current state the only solution I had is Virtual Desktop which would run HEVC at 150Mbps with a noticeable bump in quality (although not sure if that's with filler data, considering the 100Mbps cap mentioned by other more knowledgeable people on GitHub).

david0f avatar Jan 09 '23 18:01 david0f

Airlink was broken/crippled for AMD cards in March 2022 starting with AMD's drivers 22.3.1 I think that's when RSR was introduced with their software and drivers.

nyte avatar Jan 09 '23 20:01 nyte

AirLink's picture quality has been unusable for quite some time now as I'm also reaching a 60Mbps cap for some reason.

In the current state the only solution I had is Virtual Desktop which would run HEVC at 150Mbps with a noticeable bump in quality (although not sure if that's with filler data, considering the 100Mbps cap mentioned by other more knowledgeable people on GitHub).

ALVR is a free alternative to Virtual Desktop.

Rinshun avatar Jan 09 '23 20:01 Rinshun

Has anyone tried toggling the Encode Dynamic Bitrate option in Oculus Debug Tool?

With wired Link on 22.2.3, the bitrate defaulted to 200 Mbps, but changing Encode Bitrate did nothing (higher and lower all stuck at 200 Mbps with no visible quality change). Encode Dynamic Bitrate was at the Default option.

Changing the Encode Dynamic Bitrate option to Disabled and restarting the service let me use any value in the Encode Bitrate option and seemingly had an effect (Link Detailed overlay showed encode latency increase when going from 10 Mbps, 200 Mbps, 500 Mbps, and even 900 Mbps).

I didn't disable the dynamic option when testing other drivers prior to this. It's possible the Dynamic Bitrate Max and Dynamic Bitrate Offset options can be used instead of disabling the dynamic part but I never tried them and don't quite understand what to set them at.

I'm not sure if any of that would workaround AMF's bitrate limit in newer drivers.

Espionage724 avatar Jan 10 '23 23:01 Espionage724

I'm having a similar issue on a 7900 XTX when using the ALVR server.

wolfallein avatar Jan 17 '23 18:01 wolfallein

Hi, I have this issue on my 7900 XTX as well. Could we get a update on status of this issue?

hazre avatar Jan 18 '23 20:01 hazre

There isn't a status update. It hasn't even been mentioned by either company. AMD seems to be scrambling to fix their "rushed to market" 7900 series. Metaculus is more worried about pushing a $1500 HMD that no one will buy because it isn't much better than the $300 one that they stopped supporting. I have a 7900xt. It's underwhelming and crashes quite often. My 6900 was the opposite.

nyte avatar Jan 18 '23 21:01 nyte

The fix is under development, stay tuned.

Ok, so what was changed after 22.2.3 to cause this?

It sounds like bitrates were fine up until 22.2.3, then someone decided to change it. Why? And why is it not as-simple as just undoing whatever was changed? Or maybe 22.2.3 and lower aren't as-ideal as they appear?

Video encoding really doesn't seem like something that should be this complex to suddenly have varying behavior and breakage all of a sudden on architectures that are supposed to be stable. Why not just do what you've been doing for years with game-specific profiles, make something that works specifically for Oculus (as to not break anything else even more :p), ship it now, and then do whatever you want to properly fix this later? This is affecting the most popular VR headset, has been for months, and just looks bad. Whatever the fix was for the wobbly dashboard since August(?) drivers still isn't implemented in the latest development drivers for W11 Insider (December), but sure enough the bitrate issues are present.

Although I'd prefer to be using newer drivers just cause, luckily the rest of my games and everything else seem fine on 22.2.3 with my 6600 XT. It's so outdated that Windows Update wants to "update" it, and there's only two methods that reliably work to prevent this (wushowhide or blocking device ID driver changes with group policy) that no average-user is going to know about.

Espionage724 avatar Jan 22 '23 14:01 Espionage724

@Espionage724 you should feel lucky to have an older driver that works. 7000 series owners don't have this luxury.

wolfallein avatar Jan 23 '23 09:01 wolfallein

@MikhailAMD, I know it's not specifically your fault, but I own an RX 6800XT (Reference Edition) which used to be considered a high-end GPU up until Dec 13th, 2022 when 7900 was released. It's my first time on an AMD GPU and I must say the hardware itself is fine, though the driver situation is - to put it mildly - a bit bitter... That said, it's been 2 months since the last driver update, and:

  • still experiencing video playback flickers when using a dual 2K monitor setup with different frequencies (even when just browsing the web)
  • used to have extremely frequent driver timeouts while in-game which would result in an instant "No Input" black screen forcing me to ungracefully reboot my PC and resolved by adding a string in the registry (which some random guy recommended in a random reddit post)
  • still having a worse PC VR (Quest 2 / Airlink) experience compared to an RTX 3070 due to the 100Mbit limitation which has been around for multiple months.

Hopefully, the next driver update will be released soon. Hopefully, it'll include the 100Mbit PC VR limitation under the "Fixed issues" section.

tonineri avatar Jan 24 '23 17:01 tonineri

I understand, thanks for your patience, but can only say things related to AMF: the fix for 100MBit limitation is in testing.

MikhailAMD avatar Jan 24 '23 18:01 MikhailAMD

* **still** having a worse PC VR (Quest 2 / Airlink) experience compared to an RTX 3070 due to the 100Mbit limitation 

@tonineri It's not due to the 100Mbit limitation only. Airlink is also doing something wrong. ALVR and VD have a much better visual quality than Airlink if you are using the latest drivers. You can see that airlink will only use 50~60Mbps in the task manager, as mentioned in the first post. So I suggest trying those alternatives while the fix isn't out.

Rinshun avatar Jan 24 '23 20:01 Rinshun

@MikhailAMD please send this information forward to the driver development team. Its unacceptable for a 6800XT or 6900XT or even 6950XT to have these kinds of peformance issues and limitations in VR. VR is the future of gaming if we accept it or not. Having a high end product performing worse than 1080TI or 2080TI in VR is a very very bad picture for AMD. This needs to be fixed real soon because people are flooding the forums on internet with returning cards and switching to Nvidia. I like my 6800XT but this is not the way to treat your customers. We've bought these cards with hard earned money during difficult times and we get what in return ? Ignorance for months ?

bernek9000 avatar Jan 29 '23 02:01 bernek9000

They seem to have bigger problems on their plate now with the 7000 series as the last 3 drivers are specifically targeted for that. One of the engineers promised on AMD reddit that a merge with the mainline branch is happening 'early January' but that obviously did not happen. At this point, the next driver not being next gen exclusive coincidentally with the bitrate fix is very unlikely but who knows, fingers crossed.

david0f avatar Jan 29 '23 13:01 david0f

What is weird is that the 100mbit limit on the slider bar within the VR menu for airlink was increased to 200mbit somewhat recently for AMD cards. Unfortunately, it's only for looks because it still doesn't exceed 60-65Megabit in actual throughput.

nyte avatar Jan 30 '23 16:01 nyte

I haven't tried 23.2.1 to know for sure, but the notes acknowledge it as a known issue: https://www.amd.com/en/support/kb/release-notes/rn-rad-win-23-2-1

Maximum encode bitrate is limited to 100Mbps for certain applications.

Espionage724 avatar Feb 15 '23 01:02 Espionage724

Small update: after investigation we've asked Meta to make a change. While the problem appeared with AMD driver update, the change in the driver was not a regression but a fix for another issue, which exposed this one.

MikhailAMD avatar Feb 21 '23 15:02 MikhailAMD

Small update: after investigation we've asked Meta to make a change. While the problem appeared with AMD driver update, the change in the driver was not a regression but a fix for another issue, which exposed this one.

Could you please clarify - does this in fact mean that AMF is now only capable of up to 100mb? Or Meta needs to make some kind of adjustment so that AMF operates at above 100mb rate? Thanks.

Anoobizzz avatar Feb 21 '23 15:02 Anoobizzz

Would be nice to know ... wasted a lot of time frustration with drivers. The problem is not new at all

bernek9000 avatar Feb 21 '23 15:02 bernek9000

Small update: after investigation we've asked Meta to make a change. While the problem appeared with AMD driver update, the change in the driver was not a regression but a fix for another issue, which exposed this one.

Could you please clarify - does this in fact mean that AMF is now only capable of up to 100mb? Or Meta needs to make some kind of adjustment so that AMF operates at above 100mb rate? Thanks.

Meta should make an adjustment to enable > 100MBit.

MikhailAMD avatar Feb 21 '23 15:02 MikhailAMD

Small update: after investigation we've asked Meta to make a change. While the problem appeared with AMD driver update, the change in the driver was not a regression but a fix for another issue, which exposed this one.

Could you please clarify - does this in fact mean that AMF is now only capable of up to 100mb? Or Meta needs to make some kind of adjustment so that AMF operates at above 100mb rate? Thanks.

Meta should make an adjustment to enable > 100MBit.

Thanks for clarification, let's see how it goes :) Do you know if Meta will get back to you once the change is made or should we just keep an eye on their release notes\patches?

Anoobizzz avatar Feb 21 '23 15:02 Anoobizzz