助力Valve增强Steam设备性能
Helping Valve to power up Steam devices

原始链接: https://www.igalia.com/2025/11/helpingvalve.html

## Valve 新设备与 Igalia 的关键作用 Valve 近期发布了 Steam Frame (VR 头显)、Steam Machine (主机) 和 Steam Controller,它们是 Index 和 Deck 的后续产品,都将于明年上市。Igalia 是至关重要的合作伙伴,尤其是在 Steam Machine 和 Frame 的软件开发方面。 一个主要挑战是让基于 ARM 的 Frame 运行为 x86 CPU 设计的游戏,解决方案是使用名为 FEX 的翻译层。这涉及大量的手动测试和调试,通常专注于游戏中细微的视觉或音频故障。同样,优化 Qualcomm Adreno 750 GPU 需要一个强大的 Vulkan 驱动程序 – Mesa3D Turnip – 由 Igalia 开发,其性能和正确性超过了专有驱动程序。 Igalia 的贡献超越了 Valve 的设备,惠及更广泛的 Linux 游戏社区。他们的工作包括编译器改进、Vulkan 扩展开发以及为电池供电的 Frame 设计的新型节能 CPU 调度器 (LAVD)。他们积极参与 Khronos Group,为 Vulkan 标准做出贡献,并确保广泛的兼容性。Igalia 对开源软件的承诺确保了这些改进被广泛可用,甚至影响了 Android 游戏。

## Valve 与 Igalia 携手为 Steam 设备提供开源支持 Valve 正在与 Igalia 合作开发 Mesa3D Turnip,这是一款针对 Qualcomm Adreno GPU 的免费开源 Vulkan 驱动程序,为 Steam Deck 等设备提供支持。 这一努力受到赞扬,因为它罕见地体现了大型公司优先考虑开源开发,尤其考虑到 Qualcomm 传统上的封闭方法。 讨论的中心是 Valve 的动机——一些人认为这是战略性的,旨在使 Windows 商品化以保护 Steam 的市场份额,而另一些人则认为这是 Valve CEO Gabe Newell 以消费者为中心的理念的结果。 尽管过去存在争议(例如战利品箱),但 Valve 在游戏行业中被认为相对而言比较道德。 对话还涉及基于 ARM 的游戏挑战、未来 Steam Deck 2 的可能性,以及 Valve 对 Wine 和 KDE 等项目的更广泛贡献。 许多评论员表达了对 Valve 开源工作的支持,并希望看到在该领域持续投资,即使这不能直接惠及其所有产品。 最终,这项工作凸显了开放协作的价值,以及与纯粹以利润为导向的开发方式的转变。
相关文章

原文

Last week, Valve stunned the computer gaming world by unveiling three new gaming devices at once: the Steam Frame, a wireless VR headset; the Steam Machine, a gaming console in the vein of a PlayStation or Xbox; and the Steam Controller, a handheld game controller. Successors to the highly successful Valve Index and Steam Deck, these devices are set to be released in the coming year.

Igalia has long worked with Valve on SteamOS, which will power the Machine and Frame, and is excited to be contributing to these new devices, particularly the Frame. The Frame, unlike the Machine or Deck which have x86 CPUs, runs on an ARM-based CPU.

Under normal circumstances, this would mean that only games compiled to run on ARM chips could be played on the Frame. In order to get around this barrier, a translation layer called FEX is used to run applications compiled for x86 chips (which are used in nearly all gaming PCs) on ARM chips by translating the x86 machine code into ARM64 machine code.

“If you love video games, like I do, working on FEX with Valve is a dream come true,” said Paulo Matos, an engineer with Igalia’s Compilers Team. Even so, the challenges can be daunting, because making sure the translation is working often requires manual QA rather than automated testing. “You have to start a game, sometimes the error shows up in the colors or sound, or how the game behaves when you break down the door in the second level. Just debugging this can take a while,” said Matos. “For optimization work I did early last year, I used a game called Psychonauts to test it. I must have played the first 3 to 4 minutes of the game many, many times for debugging. Looking at my history, Steam tells me I played it for 29 hours, but it was always the first few minutes, nothing else.”

Beyond the CPU, the Qualcomm Adreno 750 GPU used in the Steam Frame introduced its own set of challenges when it came to running desktop games, and other complex workloads, on these devices. Doing so requires a rock-solid Vulkan driver that can ensure correctness, eliminating major rendering bugs, while maintaining high performance. This is a very difficult combination to achieve, and yet that’s exactly what we’ve done for Valve with Mesa3D Turnip, a FOSS Vulkan driver for Qualcomm Adreno GPUs.

A sliding comparison of the main menu in the game “Monster Hunter World”, before and after fixing a rendering error

Before we started our work, critical optimizations such as LRZ (which you can learn more about from our blog post here) or the autotuner (and its subsequent overhaul) weren’t in place. Even worse, there wasn’t support for the Adreno 700-series GPUs at all, which we eventually added along with support for tiled rendering.

“We implemented many Vulkan extensions and reviewed numerous others,” said Danylo Piliaiev, an engineer on the Graphics Team. “Over the years, we ensured that D3D11, D3D12, and OpenGL games rendered correctly through DXVK, vkd3d-proton, and Zink, investigating many rendering issues along the way. We achieved higher correctness than the proprietary driver and, in many cases, Mesa3D Turnip is faster as well.”

We’ve worked with many wonderful people from Valve, Google, and other companies to iterate on the Vulkan driver over the years in order to introduce new features, bug fixes, performance improvements, as well as debugging workflows. Some of those people decided to join Igalia later on, such as our colleague and Graphics Team developer Emma Anholt. “I’ve been working on Mesa for 22 years, and it’s great to have a home now where I can keep doing that work, across hardware projects, where the organization prioritizes the work experience of its developers and empowers them within the organization.”

Valve’s support in all this cannot be understated, either. Their choice to build their devices using open software like Mesa3D Turnip and FEX means they’re committed to working on and supporting improvements and optimizations that become available to anyone who uses the same open-source projects.

“We’ve received a lot of positive feedback about significantly improved performance and fewer rendering glitches from hobbyists who use these projects to run PC games on Android phones as a result of our work,” said Dhruv Mark Collins, another Graphics Team engineer working on Turnip. “And it goes both ways! We’ve caught a couple of nasty bugs because of that widespread testing, which really emphasizes why the FOSS model is beneficial for everyone involved.”

Automatically-measured performance improvement in Turnip since June 2025

An interesting area of graphics driver development is all the compiler work that is involved. Vulkan drivers such as Mesa3D Turnip need to process shader programs sent by the application to the GPU, and these programs govern how pixels in our screens are shaded or colored with geometry, textures, and lights while playing games. Job Noorman, an engineer from our Compilers Team, made significant contributions to the compiler used by Mesa3D Turnip. He also contributed to the Mesa3D NIR shader compiler, a common part that all Mesa drivers use, including RADV (most popularly used on the Steam Deck) or V3DV (used on Raspberry Pi boards).

As is normal for Igalia, while we focused on delivering results for our customer, we also made our work as widely useful as possible. For example: “While our target throughout our work has been the Snapdragon 8 Gen 3 that’s in the Frame, much of our work extends back through years of Snapdragon hardware, and we regression test it to make sure it stays Vulkan conformant,” said Anholt. This means that Igalia’s work for the Frame has consistently passed Vulkan’s Conformance Test Suite (CTS) of over 2.8 million tests, some of which Igalia is involved in creating.

Our very own Vulkan CTS expert Ricardo García says:

Igalia and other Valve contractors actively participate in several areas inside the Khronos Group, the organization maintaining and developing graphics API standards like Vulkan. We contribute specification fixes and feedback, and we are regularly involved in the development of many new Vulkan extensions. Some of these end up being critical for game developers, like mesh shading. Others ensure a smooth and efficient translation of other APIs like DirectX to Vulkan, or help take advantage of hardware features to ensure applications perform great across multiple platforms, both mobile like the Steam Frame or desktop like the Steam Machine. Having Vulkan CTS coverage for these new extensions is a critical step in the release process, helping make sure the specification is clear and drivers implement it correctly, and Igalia engineers have contributed millions of source code lines and tests since our collaboration with Valve started.

A huge challenge we faced in moving forward with development is ensuring that we didn’t introduce regressions, small innocent-seeming changes can completely break rendering on games in a way that even CTS might not catch. What automated testing could be done was often quite constrained, but Igalians found ways to push through the barriers. “I made a continuous integration test to automatically run single-frame captures of a wide range of games spanning D3D11, D3D9, D3D8, Vulkan, and OpenGL APIs,” said Piliaiev, about the development covered in his recent XDC 2025 talk, “ensuring that we don’t have rendering or performance regressions.”

Looking ahead, Igalia’s work for Valve will continue to deliver benefits to the wider Linux Gaming ecosystem. For example, the Steam Frame, as a battery-powered VR headset, needs to deliver high performance within a limited power budget. A way to address this is to create a more efficient task scheduler, which is something Changwoo Min of Igalia’s Kernel Team has been working on. As he says, “I have been developing a customized CPU scheduler for gaming, named LAVD: Latency-criticality Aware Virtual Deadline scheduler.”

In general terms, a scheduler automatically identifies critical tasks and dynamically boosts their deadlines to improve responsiveness. Most task schedulers don’t take energy consumption into account, but the Rust-based LAVD is different. “LAVD makes scheduling decisions considering each chip’s performance versus energy trade-offs. It measures and predicts the required computing power on the fly, then selects the best set of CPUs to meet that demand with minimal energy consumption,” said Min.

One of our other kernel engineers, Melissa Wen, has been working on AMD kernel display drivers to maintain good color management and HDR support for SteamOS across AMD hardware families, both for the Steam Deck and the Steam Machine. This is especially important with newer display hardware in the Steam Machine, which features some notable differences in color capabilities, aiming for more powerful and efficient color management which necessitated driver work.

…and that’s a wrap! We will continue our efforts toward improving future versions of SteamOS, and with a partner as strongly supportive as Valve, we expect to do more work to make Linux gaming even better. If any of that sounded interesting and you’d like to work with us to tackle a tricky problems of your own, please get in touch!

联系我们 contact @ memedata.com