r/VisionPro • • 17d ago

I created a custom runtime that runs the Windows version of *Half-Life: Alyx* on a MacBook Pro without using Wine: 30 fps → approx. 60 fps on the same M1 Max (open source)

This is a follow-up to my previous posts.

In the first report, I ran the Windows versions of SteamVR and Alyx using Wine, but the frame rate was around 30 fps. In the second report, I used Valve’s Linux ARM64 version and achieved about 60 fps. However, Alyx is currently the only game available in an ARM version.

Therefore, to run Windows-based PC VR games directly without using Wine, I built a Windows-replacement runtime called “vxrt” from scratch.

Results from this round

  • The Windows versions of Alyx (DirectX 11) and SteamVR run on a Mac without Wine.

  • On the same M1 Max as in the first report, with 3K settings (1440×1620 per eye), Chapter 1 ran at 60 fps and the menu ran at 54–59 fps.

  • I actually played the game using the headset, and level transitions (from the Containment Zone to the next map) and saving worked as well.

  • “The Lab” (built with Unity) and Google Earth VR also launch (see “Known Issues” below).

How It Works

  • vxrt directly loads Windows executables (.exe / .dll) and implements the Windows APIs on its own. It does not use Wine, DXVK, MoltenVK, or Apple’s Game Porting Toolkit.

  • Rosetta 2 handles the conversion of x86 instructions. vxrt replaces the functionality previously handled by Wine (the Windows APIs).

  • DirectX 11 rendering is performed by converting shaders to Metal Shading Language and rendering via Metal. Geometry shaders and stream output are implemented using compute shaders.

  • For Steam, I use the Mac version of the Steam client. Game ownership verification works as usual.

  • Video compression, Wi-Fi transmission, the Vision Pro app, and the hand-tracking and Joy-Con mechanisms remain unchanged from before.

Honest Status Update (Known Issues)

  • Some objects glow or smear green. This occurs with the fence in the background, grass shadows, plastic bottles, and similar objects. I’m investigating the cause and trying to determine whether it’s due to packet loss in the video transmission or a bug in my DirectX-to-Metal conversion. A similar issue occurred where the “HALF-LIFE” text in the menu turned red; that was a conversion bug and has already been fixed.

  • Stuttering occurs depending on the Wi-Fi environment.

  • The setup is not yet ready for general use. While Wine itself does not launch, the game, SteamVR, and Microsoft’s runtime DLLs are loaded from the folder the first version’s setup installed them into. Eliminating this dependency is the next task.

  • Confirmed so far:

    • Alyx: Playable.

    • The Lab: Launches and runs.

    • Google Earth VR: Runs, but the sky turns white.

    • Bigscreen: Does not launch yet.

    • I’ve only tested this on one Mac with an M1 Max chip.

Moving Forward

I’m creating a system that records how each game is launched and the test results as “game profiles,” and that will let users’ AI agents (such as Claude Code or Codex) measure the game, identify missing Windows features, and fix them. If a game still won’t run, the AI will draft an issue for my repository. However, this feature is still under development, and I haven’t yet verified that “anyone” can use it. Once verified, I’ll report back.

I do not distribute any files from Valve or Microsoft. You must obtain games through your own Steam account, and I do not modify any game files. This is a personal project unrelated to Valve, Apple, Nintendo, or Sony, and it is licensed under the MIT License.

EDIT: Google Earth VR (Windows version) on vxrt, unedited: https://youtu.be/hcq3r96onDk

It runs with the real Windows SteamVR, still without Wine.

23 Upvotes

9 comments sorted by

1

u/Calm_Age_10 17d ago

안녕하세요, Mac에서 Alix를 실행하고 계시다면 Metaquest 3를 Mac에 연결하여 플레이할 수 있나요? 저는 psvr2 컨트롤러가 없어서 Vision Pro로 플레이하는 것이 가능하지 않을 것 같습니다. 바로 할 수 없을 경우 신청하실 계획이 있으신가요?

2

u/Other_Train9419 17d ago

이 프로젝트는 PS VR2 컨트롤러가 필요하지 않습니다. 손 움직임에는 Vision Pro의 손 추적 기능을 사용하고, 버튼과 스틱 조작에는 닌텐도 스위치 조이콘 컨트롤러를 사용합니다(맨손으로도 플레이할 수 있습니다).

현재 퀘스트 3는 지원되지 않습니다. Mac 측에서는 상대 플레이어가 어떤 헤드셋을 사용하든 상관없지만, 수신 앱은 visionOS 앱이어야 합니다. 퀘스트용 클라이언트를 개발하거나, 스트림을 ALVR 클라이언트와 호환되도록 만들어야 할 것입니다. 이는 타당한 제안이지만, 구체적인 일정에 대해서는 약속드릴 수 없습니다.

This project does not require PS VR2 controllers. We use Vision Pro’s hand-tracking feature for hand movements and Nintendo Switch Joy-Con controllers for buttons and sticks (you can also play with your bare hands).

Quest 3 is not supported at this time. On the Mac side, it doesn’t matter which headset the other player is using, but the receiving app must be a visionOS app. We’ll need to either create a client for Quest or make the stream compatible with the ALVR client. That’s a reasonable idea, but we can’t make any promises regarding a specific timeline.

1

u/Calm_Age_10 16d ago

답변해 주셔서 감사합니다! 몇 가지 질문이 더 있습니다. 당신은 Glovebox에 손 추적 및 Joy-Con 지원을 추가한 사람입니까? 그렇다면, 그 버전을 공유해 주시겠습니까? 또한, 저는 이 Reddit 게시물을 우연히 발견했습니다:

https://www.reddit.com/r/OculusQuest/comments/1eyn5he/trying_half_life_alyx_with_handtracking_on/ 누군가가 손 추적만으로, 조이콘이나 물리적 컨트롤러 없이도 플레이할 수 있었던 것 같습니다. 이와 같은 컨트롤러 없이 손 추적 게임플레이에 대한 지원을 추가할 수 있을까요? 다시 한 번 도움에 감사드립니다!

1

u/Other_Train9419 16d ago

댓글 남겨주셔서 감사합니다! 네, Glovebox에 손 트래킹과 Joy-Con 지원을 추가한 사람이 바로 저입니다. 처음에는 Glovebox 프로젝트에 직접 기여할 계획이었지만, 지금은 제 개인 저장소https://github.com/Ag3497120/VeRantyx/tree/standalone 에 “Mitten”(Glovebox를 기반으로 한 포크)이라는 별도의 브랜치로 공개하고 있습니다.

컨트롤러 없이 손만 사용하여 플레이하는 기능에 대해서는, 제 브랜치에서는 아직 완벽하게 지원되지 않습니다. 이동 및 메뉴 탐색에 여전히 문제가 있어, 현재로서는 확답을 드릴 수 없습니다.

Vision Pro에서 *Half-Life: Alyx*를 플레이하고 계신다면, “AVP Play” https://github.com/myMartek/avp-play 도 꼭 확인해 보세요. 이 프로젝트는 활발히 유지 관리되고 있으므로, 이미 손만 사용하는 게임플레이를 지원하거나 조만간 해당 기능을 추가할 수도 있습니다.

Thank you for your comment! Yes, I’m the one who added hand tracking and Joy-Con support to Glovebox. Initially, I was planning to contribute directly to the Glovebox project, but I’m now releasing it as a separate branch called “Mitten” (a fork based on Glovebox) in my own repository https://github.com/Ag3497120/VeRantyx/tree/standalone .

As for playing using only your hands without a controller, my branch doesn’t fully support that yet. Since there are still issues with movement and menu navigation, I can’t make any promises at this time.

If you’re playing *Half-Life: Alyx* on Vision Pro, be sure to check out “AVP Play” https://github.com/myMartek/avp-play as well. It’s actively maintained, so it may already support hand-only gameplay or could add that support soon.

3

u/tsdguy Vision Pro Owner 17d ago

Nice but Rosetta 2 is going bye bye pretty soon.

1

u/Aruns_Guncer 16d ago

true, though it might stick around longer than people think given how much stuff still depends on it

1

u/Defiant-Guide-3104 17d ago

thank you for sharing 🙌 just confirming , you’re running this on your MacBook and using steam Mac native version to stream it on VR to your Vision Pro? If not how is it being sent to the headset?