As someone who primarily games on PC, I try to leverage the power of my workstation whenever possible. This mainly involves streaming, either via apps called Moonlight and Sunshine (although I know people who love the alternative Apollo) or Steam’s own in-client streaming. On the hardware side, this means getting super anal about connecting stationary PCs via hardwired Ethernet and making sure my wifi is as good as I can get it. But latency is always an issue, which makes the addition of the Pyrowave codec to Steam’s streaming so interesting. It is a video codec optimized for speed at any cost, and it may be my new go-to for in-home streaming.
Pyrowave is notable among video codecs because it is intentionally inefficient. When transferring video via streaming you typically want it to be compressed so that it takes up less storage and bandwidth unless you are in a hyper-specific broadcast setting, but Pyrowave takes five to ten times the bandwidth compared to other video codecs. This is because it is optimized specifically for wired Ethernet and modern wifi to some extent (if your wifi is really, really good). Gigabit Ethernet basically costs nothing equipment-wise, and you can even get 2.5, 5, or 10 gigabit wired networking equipment for a song if you look, particularly on eBay. In a home setting with a wired LAN, bandwidth is plentiful, and with streaming the video doesn’t need to be stored. With that in mind, Pyrowave throws basically everything out in order to optimize for one thing above all else: latency.
Hey, do you wanna learn a lot about JPEG2000 for some reason? It's tangentially related to this.
The codec was designed by Hans-Kristian Arntzen, who is also known for his work on vkd3d-proton. His original blog outlining the codec in 2025 gets into many of the nitty gritty details and is a joy to read if you are professionally interested in video compression as it relates to open source software and gaming, which I will admit might just be me. It uses discrete wavelet transforms similar to the under-appreciated jpeg2000 image standard, very fast rate control and highly GPU optimized bit packing. In practice, what this means is that the latency of the video is screaming fast, under a millisecond to be specific. “~0.25ms for 4k 4:2:0 encode on my 9070xt. ~0.1ms decode,” Arntzen quoted me via email, with the caveat that most people streaming would not decode on hardware that powerful.


Pyrowave edges out h.264 and AV1 when it comes to latency, although many may not notice it. It still is in beta and needs optimization, however.
In my own testing on wired Ethernet between two computers I found Pyrowave to feel snappy and responsive. I noticed no compression, because the video was running at about 500 megabits per second max with YUV 4:4:4 colorspace and HDR. This is as close as you can currently get to just running a long HDMI cable from your PC in another room.
Pyrowave is currently accessible in the Steam Beta (and on the RT3 client specifically if you are on the Steam Machine or Deck). It’s not on by default, nor should it be, as this is absolutely not for every setup and meant to be tweaked. The bugs were still being worked out in earlier versions, and I did notice some weirdness playing Control Resonant from Windows to a Steam Machine initially, but when it works the overall experience is seamless and lightning fast. What’s more, because Pyrowave is open source, I could see this being implemented into other projects like Moonlight. This is the exact kind of improvement I expect to see from a platform that pulls from the open source community.