I'm encountering the same problem on arch linux,
Any VR stream displays with the same unplayable level of compression as the above screenshots, with the proper refresh rate and no noticeable latency.
My wireless adapter seems to function properly, though connecting via wifi, adapter, USB tethering, or any combination of multi-link streaming makes no change to the image quality.
At least in my case, streaming flat-screen desktop games to the frame to play in theater mode works normally.
I also tried streaming from an old windows 10 install in case this was some kind of hardware issue, but VR streaming worked as expected there.
Desktop:
Frame:
Updated information:
I have learned how to use WiVRn as an alternative to SteamVR, and WiVRn is not affected by this problem for me, so I can now play PCVR on my Steam Frame through WiVRn, including through the Steam Frame Wireless Adapter, without having any bitrate problem.
However, I will continue to test SteamVR in the future if SteamVR gets updates that might fix the problem, because SteamVR and WiVRn seem to have slightly different features.
The setup of WiVRn on Steam Frame and Gentoo PC is very complicated, but I was able to do it. I have not explained exactly how I set it up, but could if someone needs an explanation.
Had the exact same thing on Nobara (kernel 7.2.8, RX 7800 XT, Mesa 26.2.4) and got it fixed with some help from an LLM. Posting in case it's the same cause for others on AMD.
The problem was the VCN firmware. Mine was really old: dmesg showed ENC: 1.13 DEC: 5, file dated Feb 2024. It came from an old amd-gpu-pro-firmware 5.7.2 package that Nobara's codec wizard had installed at some point (AMF stuff). That package also "provides" amd-gpu-firmware, so the normal firmware package never got installed and the VCN firmware was never updated.
With firmware that old, RADV doesn't expose Vulkan video encode, so at first I couldn't stream at all. The game would start on the PC and the Frame complained the account was in use somewhere else. Forcing it with RADV_PERFTEST=video_encode got streaming going, but that's when I got the super pixelated image from this issue. Turns out RADV hides encode on old firmware for a reason.
Fix was putting the current firmware from linux-firmware where the kernel looks first:
sudo mkdir -p /lib/firmware/updates/amdgpu
curl -L -o /tmp/vcn_4_0_0.bin https://gitlab.com/kernel-firmware/linux-firmware/-/raw/main/amdgpu/vcn_4_0_0.bin
sudo cp /tmp/vcn_4_0_0.bin /lib/firmware/updates/amdgpu/
Reboot, drop the RADV_PERFTEST variable, and the stream is sharp now. vcn_4_0_0.bin is the one for Navi 31/32, other cards may load a different file.
Quick way to check if you're hitting the same thing:
sudo dmesg | grep -i "vcn.*firmware"
vulkaninfo 2>/dev/null | grep video_encode_h265 # with RADV_PERFTEST unset
If the second command prints nothing, your VCN firmware is probably too old. On Nobara the cleaner fix is probably removing the AMD Pro codecs through the codec wizard and then installing amd-gpu-firmware (a manual dnf remove gets blocked), but I haven't done that part yet.
OP, what GPU are you on? On Gentoo the package part won't apply, but the firmware check should.
We both who posted first have RX 5700 XT, which is visible in our reports. here is the result on my computer of the commands you posted
tacokoneko@CORSAIR ~ $ sudo dmesg | grep -i "vcn.*firmware"
tacokoneko@CORSAIR ~ $ vulkaninfo 2>/dev/null | grep video_encode_h265 # with RADV_PERFTEST unset
VK_KHR_video_encode_h265 : extension revision 14
tacokoneko@CORSAIR ~ $
I have the same problem. Also got a RX 5700 XT and know of at least 2 others with the same GPU and the same problem...
Same thing on Nobara with an RX 5700 XT :/
@robertkirkman would you mind sharing how you got the wivrn client running on the frame? I grabbed the frame binaries from the build action artifacts of the project repo, but it refuses to run on the frame.
Here are screenshots of the relevant settings I am using in the Steam entry for it:
if you have these set and it's still not working, or you have difficulty connecting it to the PC after launching it, I will make a more complete tutorial.
Copying what I posted in #904 , although this thread seems more relevant so I'll keep posting here. Seeing the same blurry VR streaming, changed tons of settings, no luck. Flatscreen streaming to my Frame from the same desktop doesn't have the same problem.
I'd like to add that I've had this issue with the Steam Frame, streaming from my CachyOS desktop (with a AMD Radeon RX 5700 XT as well). Just to double check any other potential streaming issues on the frame, I've ran https://github.com/ValveSoftware/SteamVR-for-Linux/issues/904 and all else is well with my setup that I can tell. Vulkan driver issue would make sense since I've had issues with Vulkan in the past... I'll try messing with my drivers and see if I make any progress
Now as for this post:
Had the exact same thing on Nobara (kernel 7.2.8, RX 7800 XT, Mesa 26.2.4) and got it fixed with some help from an LLM. Posting in case it's the same cause for others on AMD.
The problem was the VCN firmware. Mine was really old: dmesg showedENC: 1.13 DEC: 5, file dated Feb 2024. It came from an oldamd-gpu-pro-firmware...
...
Unfortunately, I don't think this is the case for me, I do get VK_KHR-video_encode_h265 : extension revision 14 on your quick check command. I am on VCN firmware enc: 1.24 and dec: 8, and I've verified that it's coming from linux-firmware-amdgpu recently installed. I can't seem to find what the latest numbers for that should be for Radeon RX 5700 XT though...
So far, what I've checked on my system seems to indicate:
Something interesting worth mentioning, not sure if it's related, but logs show the following:
chosen m_MaxSVLVideoExtent: 3200x4096
Resize: 1024 4096
And all future logs show it staying with that 1024 4096, not sure if that's low or not. Figured I'd mention in case it is, but the picture is so blurry that it's probably unrelated.
Will keep looking for clues.
Final bit of digging from me for now, looking at the logs and doing some tests with FFMPEG to rule out driver issues:
-tune ull, and/or 1024x4096 on my AMD Radeon RX 5700 XT with my current drivers: Here's the actual commands I ran:cd /tmp
ffmpeg -y -loglevel error -init_hw_device vulkan=vk -filter_hw_device vk -f lavfi -i mandelbrot=s=1920x1080:r=60 -t 10 -vf "format=nv12,hwupload" -c:v hevc_vulkan -b:v 5M /tmp/base_5M.mkv
ffmpeg -y -loglevel error -init_hw_device vulkan=vk -filter_hw_device vk -f lavfi -i mandelbrot=s=1920x1080:r=60 -t 10 -vf "format=nv12,hwupload" -c:v hevc_vulkan -b:v 50M /tmp/base_50M.mkv
ffmpeg -y -loglevel error -init_hw_device vulkan=vk -filter_hw_device vk -f lavfi -i mandelbrot=s=1024x4096:r=90 -t 10 -vf "format=nv12,hwupload" -c:v hevc_vulkan -b:v 5M /tmp/tall_5M.mkv
ffmpeg -y -loglevel error -init_hw_device vulkan=vk -filter_hw_device vk -f lavfi -i mandelbrot=s=1024x4096:r=90 -t 10 -vf "format=nv12,hwupload" -c:v hevc_vulkan -b:v 50M /tmp/tall_50M.mkv
ffmpeg -y -loglevel error -init_hw_device vulkan=vk -filter_hw_device vk -f lavfi -i mandelbrot=s=1920x1080:r=90 -t 10 -vf "format=p010,hwupload" -c:v hevc_vulkan -profile:v main10 -b:v 5M /tmp/tenbit_5M.mkv
ffmpeg -y -loglevel error -init_hw_device vulkan=vk -filter_hw_device vk -f lavfi -i mandelbrot=s=1920x1080:r=90 -t 10 -vf "format=p010,hwupload" -c:v hevc_vulkan -profile:v main10 -b:v 50M /tmp/tenbit_50M.mkv
ffmpeg -y -loglevel error -init_hw_device vulkan=vk -filter_hw_device vk -f lavfi -i mandelbrot=s=1920x1080:r=90 -t 10 -vf "format=nv12,hwupload" -c:v hevc_vulkan -rc_mode vbr -tune ull -b:v 5M /tmp/vbrull_5M.mkv
ffmpeg -y -loglevel error -init_hw_device vulkan=vk -filter_hw_device vk -f lavfi -i mandelbrot=s=1920x1080:r=90 -t 10 -vf "format=nv12,hwupload" -c:v hevc_vulkan -rc_mode vbr -tune ull -b:v 50M /tmp/vbrull_50M.mkv
ffmpeg -y -loglevel error -init_hw_device vulkan=vk -filter_hw_device vk -f lavfi -i mandelbrot=s=1024x4096:r=90 -t 10 -vf "format=p010,hwupload" -c:v hevc_vulkan -profile:v main10 -rc_mode vbr -tune ull -b:v 5M /tmp/all_5M.mkv
ffmpeg -y -loglevel error -init_hw_device vulkan=vk -filter_hw_device vk -f lavfi -i mandelbrot=s=1024x4096:r=90 -t 10 -vf "format=p010,hwupload" -c:v hevc_vulkan -profile:v main10 -rc_mode vbr -tune ull -b:v 50M /tmp/all_50M.mkv
ls -l /tmp/*_5M.mkv /tmp/*_50M.mkv
with results seemingly working as they should, all the 50M tests are about ~10x the size of their 5M test counterparts. That seems to imply to me that Vulkan is working correctly on my machine, but I can't say for sure of course, this is just testing based on guesses on how SteamVR is using Vulkan via logs and settings. Hope any of this is helpful!
System
Nobara (Fedora 44), kernel [x], Mesa [x]
SteamVR 2.18.4 beta
Frame OS 0.5.6 (20261022.6153909)
Ruled out
Firmware: amd-gpu-firmware-20260916-1.fc44, loaded VCN firmware 0x0811800d, no amd-gpu-pro-firmware, nothing in /lib/firmware/updates. So this is not the outdated-firmware cause from the 7800 XT comment above.
Driver overrides: no RADV_PERFTEST set. RADV exposes VK_KHR_video_encode_h264/h265 natively.
Software encoding: vrlink uses the hardware Vulkan encoder:
vrlink: [VideoVulkan] Created vkCreateVideoSessionParametersKHR!
Stream resolution: was streamFormatWidth 1344 for some reason, while games render 3490×3490. Forcing it higher is applied but changes nothing visible:
"automaticStreamFormatWidth" : false,
"streamFormatWidth" : 2048,
"nonFoveatedStreamFormatWidth" : 2048,
"automaticBandwidth" : false,
"targetBandwidth" : 350
vrlink: Setting VTE_USE_ENCODE_TARGET_WIDTH = 2048
Rendering performance: VR View on the PC shows a sharp image, and GPU frame time is 9.0 of 11.1 ms at 90 Hz. The quality is lost after rendering.
Control test: the encoder works outside SteamVR
Same GPU, 2048×2048 at 90 fps, with a moving-noise source (hard to compress), target 100 Mbit/s:
ffmpeg -init_hw_device vulkan=vk -filter_hw_device vk \
-f lavfi -i 'testsrc2=size=2048x2048:rate=90,noise=alls=30:allf=t+u' -t 10 \
-vf 'format=nv12,hwupload' -c:v hevc_vulkan -b:v 100M vk_hevc.mkv
| Encoder | Achieved bitrate | Speed |
|---|---|---|
| hevc_vulkan (RADV) | 99.9 Mbit/s | 147 fps |
| hevc_vaapi | 100.1 Mbit/s | 148 fps |
So the hardware, the firmware and RADV’s basic Vulkan encoding all work on VCN 2. The problem seems specific to how vrlink configures the encoder.
WiVRn, which streams without SteamVR, gives a sharp image on the same hardware.
Happy to run further tests or provide a trace if that helps.
RADV_PERFTESTx3 2026-10RADV_PERFTEST=video_encodex1 2026-10
Describe the bug
No matter what encoding, target bitrate, resolution, foveated rendering, link device (WiFi router or Steam Frame Wireless Adapter), SteamVR version, SteamOS version, or Steam version is used, the stream of the SteamVR main menu, and any games launched in any way through streaming, is extremely pixelated and low bitrate, making almost everything unreadable and many small objects invisible.
To Reproduce
Steps to reproduce the behavior:
iw reg set USand setting it to always run on startupExpected behavior
No other users I've seen have SteamVR streaming this pixelated in any situation
System Information (please complete the following information):
Please use the latest Steam beta client and SteamVR beta for your bug reports!
Screenshots
Additional context
Steam Frame brand new and has always had this problem so far - never seen SteamVR working correctly yet
No issues with standalone games - only streaming affected
Steam Frame Wireless Adapter is paired using the Linux workarounds and otherwise working, but the issue occurs regardless of whether WiFi streaming, Steam Frame Wireless Adapter streaming, or Multiple Links streaming with both is used
There are no obvious framerate or input latency problems - only negative effect is from the extremely low bitrate and/or resolution of the stream