Not just Proton: Getting to know Valve's new SteamOS compatibility layers
Not just Proton: Getting to know Valve’s new SteamOS compatibility layers
不仅仅是 Proton:深入了解 Valve 的 SteamOS 新兼容层
Since the release of the Steam Deck, Valve fans have gotten very familiar with the idea of the Proton compatibility layer that allows games written for Windows to run capably on the Linux-based SteamOS (though Valve’s efforts in this realm date back further than that). To get more games running on the SteamOS-powered Steam Frame, though, Valve is relying on two additional compatibility layers that are new to the Steam architecture.
自 Steam Deck 发布以来,Valve 的粉丝们已经非常熟悉 Proton 兼容层,它允许为 Windows 编写的游戏在基于 Linux 的 SteamOS 上流畅运行(尽管 Valve 在这一领域的努力可以追溯到更早)。然而,为了让更多的游戏能够在搭载 SteamOS 的 Steam Frame 上运行,Valve 正在依赖两个对于 Steam 架构而言全新的兼容层。
The first, FEX, is Valve’s port of fex-emu, an open source project that emulates x86 processor instructions on an Arm chipset. Since 2018, what started as a small cross-platform emulation project has grown to include “an advanced binary recompiler that supports all modern extensions of the x86(-64) instruction set,” according to the Fex website. The emulator can also make calls to graphics libraries like OpenGL and Vulkan to reduce overhead and uses “code caching to minimize stuttering as much as possible,” according to Steam’s own developer documentation.
第一个是 FEX,它是 Valve 对 fex-emu 的移植,这是一个在 Arm 芯片组上模拟 x86 处理器指令的开源项目。据 Fex 网站介绍,自 2018 年以来,这个最初的小型跨平台模拟项目已经发展到包含“一个支持 x86(-64) 指令集所有现代扩展的高级二进制重编译器”。根据 Steam 官方开发者文档,该模拟器还可以调用 OpenGL 和 Vulkan 等图形库来减少开销,并使用“代码缓存来尽可能减少卡顿”。
While Proton was based on the pre-existing Wine conversion tool, Valve engineer Pierre-Loup Griffais told The Verge last year that the company has been funding Fex lead developer Ryan Houdek since the project was just a prototype. Back then, Valve was already anticipating that “close to a decade of work [would be] needed before [Fex-emu] would be robust enough people could rely on it for their libraries.”
虽然 Proton 基于现有的 Wine 转换工具,但 Valve 工程师 Pierre-Loup Griffais 去年告诉 The Verge,自该项目还处于原型阶段时,公司就开始资助 Fex 的首席开发者 Ryan Houdek。当时,Valve 就已经预见到“需要近十年的工作,[Fex-emu] 才能足够稳健,让人们可以放心地将其用于自己的游戏库。”
“I want to thank the people from Valve for being here from the start and allowing me to kickstart this project,” Houdek wrote last November while marking the seventh anniversary of the project. “They trusted me with the responsibility of designing and frameworking the project in a way that it can work long-term; not only for their use cases but also keeping it an open project that anyone can adapt for their own use cases.”
“我要感谢 Valve 的人们从一开始就给予支持,让我能够启动这个项目,”Houdek 在去年 11 月纪念该项目七周年时写道。“他们信任我,让我负责设计和构建这个项目,使其能够长期运行;不仅是为了满足他们的使用需求,同时也保持其作为一个开源项目的特性,让任何人都能根据自己的需求进行适配。”
Now that Fex is finally ready for integration into the Steam Frame headset, Valve says it’s actively exploring versions of SteamOS for other Arm devices. “I think one of the things that we want to do, and that the Frame is kind of paving the way for, is just more general SteamOS for Arm, right?” Griffais recently told Rock Paper Shotgun. “There’s a bunch of devices where you could have a great experience running SteamOS on there, that are currently kind of this adjacent ecosystem that’s just a little bit different. But not really that different, in our opinion.”
既然 Fex 已经准备好集成到 Steam Frame 头显中,Valve 表示正在积极探索适用于其他 Arm 设备的 SteamOS 版本。“我认为我们想做的事情之一,也是 Frame 正在铺平道路的事情,就是让 SteamOS 更广泛地适配 Arm 架构,对吧?”Griffais 最近告诉 Rock Paper Shotgun。“有很多设备如果能运行 SteamOS,体验会非常好,它们目前处于一种略有不同的相邻生态系统中。但在我们看来,其实并没有那么大的区别。”
For Griffais, the goal is for gamers to be able to consider Arm-based hardware without having to say, “Oh, this device is good, and the specs are good, the value is good, but I have to leave a portion of my catalog behind if I’m even considering it.”
对于 Griffais 来说,目标是让玩家在考虑基于 Arm 的硬件时,不必再说:“哦,这个设备不错,规格也很好,性价比也高,但如果我选择它,就不得不放弃我游戏库中的一部分。”
The second new compatibility layer hitting Steam is Lepton, an expansion of the pre-existing Waydroid project focused on getting standard Android APKs to run on SteamOS through a software container. This layer is especially necessary for the Steam Frame, since many of the standalone VR titles players will be running on the device were originally designed for the Android-based Quest headsets.
进入 Steam 的第二个新兼容层是 Lepton,它是对现有 Waydroid 项目的扩展,专注于通过软件容器让标准的 Android APK 在 SteamOS 上运行。这一层对于 Steam Frame 尤为必要,因为玩家将在该设备上运行的许多独立 VR 游戏最初都是为基于 Android 的 Quest 头显设计的。
Although many of those titles already had Windows ports for compatibility with previous SteamVR headsets, many current Steam Frame titles seem to simply be running as APKs through the Lepton compatibility layer. VR.org dug through Steam metadata this month and found that 52 of the first 120 “Great on Frame” games run on the Steam Frame as Android executables translated via Lepton. That includes the first trio of Steam games listed on the storefront without any Windows, Mac, or Linux builds (note the lack of desktop system requirements on the store pages).
尽管其中许多游戏已经有了 Windows 移植版以兼容之前的 SteamVR 头显,但目前许多 Steam Frame 游戏似乎只是通过 Lepton 兼容层以 APK 形式运行。VR.org 本月深入挖掘了 Steam 元数据,发现首批 120 款“Great on Frame”游戏中有 52 款是通过 Lepton 转换的 Android 可执行文件在 Steam Frame 上运行的。这包括了商店中首批没有 Windows、Mac 或 Linux 构建版本的 Steam 游戏(注意商店页面上缺少桌面系统要求)。
“They’re really VR developers who want to publish their VR content, and they’re porting a mobile VR title where they’re already familiar with how to make those APKs,” Valve engineer Jeremy Selan told The Verge last year. “They are now free to bring those to Steam, and they’ll just work on this device.”
“他们实际上是想要发布 VR 内容的 VR 开发者,他们正在移植一款移动端 VR 游戏,而他们已经非常熟悉如何制作这些 APK,”Valve 工程师 Jeremy Selan 去年告诉 The Verge。“他们现在可以自由地将这些游戏带到 Steam 上,并且它们能直接在这个设备上运行。”
Does that mean other Android developers could throw their APKs through Lepton to get generic Android apps (and non-VR games) running on SteamOS? Valve’s Lawrence Yang told The Verge: “We’ve never disinvited people from doing that” but added in practically the same breath, “We are a games company and we are focused on games.”
这是否意味着其他 Android 开发者也可以通过 Lepton 运行他们的 APK,从而让通用的 Android 应用(以及非 VR 游戏)在 SteamOS 上运行?Valve 的 Lawrence Yang 告诉 The Verge:“我们从未禁止人们这样做”,但紧接着补充道:“我们是一家游戏公司,我们专注于游戏。”
Whether or not a wave of Android apps starts coming to Steam now, we’ve definitely come a long way since Valve was asking developers to create their own bespoke Linux ports for the first version of SteamOS. Now maybe Valve and the community can finally get to work perfecting a compatibility layer that will run Apple II games directly on SteamOS.
无论现在是否会有一波 Android 应用涌入 Steam,与 Valve 最初要求开发者为第一版 SteamOS 创建定制的 Linux 移植版时相比,我们确实已经取得了长足的进步。现在,也许 Valve 和社区终于可以着手完善一个能让 Apple II 游戏直接在 SteamOS 上运行的兼容层了。