Which renderer to use
Highball can run each game through three different Direct3D translation layers. This is what the database knows for this title — empty rows are open questions, not failures.
| Renderer | Verdict | Evidence |
|---|---|---|
| DXVKDirect3D 9-11 over Vulkan | Untested | no report yet — send one |
| DXMTDirect3D 11 over Metal | Untested | no report yet — send one |
| D3DMetalApple's Game Porting Toolkit | Reported | 1 report |
No dated Highball run yet. When one lands it records the renderer, the engine build and the macOS version it was seen on — which is what stops a verdict quietly rotting. Send one.
Notes
Plays on Wine's own Direct3D, the mode this page picks: here it is about twice as fast as DXVK's Direct3D 9 (below). A fresh install starts on the game's DirectX 8 path on a Mac, whatever the mode, because this build ships no table of graphics cards. The optional fix on the game's page (Advanced, Half-Life 2 DirectX 9 path) moves it to the DirectX 9 path, with HDR lighting and better water and shaders, for about a fifth of the frame rate: 65 fps against 52 in the game's own benchmark on an M4 (2026-10-07). The first reporter played on DXVK (engine r3) and saw frame drops on shots, blood and muzzle flashes, which matches DXVK compiling each effect the first time it appears with async compilation off. Measured here with the demo, a 35-second timedemo of the opening at 1280x720 windowed with -dxlevel 95: 14 to 17 fps on DXVK's Direct3D 9 and 33 on Wine's own Direct3D, with the GPU idle at 2 to 3 ms a frame, so the cost is the Direct3D 9 translation on the CPU under Rosetta, not the graphics. -dxlevel 95 as a launch option also forces the DirectX 9 path, but Source resets the video settings on every start that carries it. The game's own -vulkan switch cannot create a device on a Mac. The r5 engine's newer Direct3D 9 layer loses the device on this game.
Measured on the demo build here: on the default engine (x64-sikarugir10.0_6-r7) Wine's own Direct3D runs the trainstation intro timedemo at 38 fps and DXVK's Direct3D 9 at 17, so the mode for this game on that engine is Wine's own Direct3D, and this entry recommends it. Both wined3d backends give the same 38 (OpenGL and Vulkan, switched through the registry and confirmed in the log). On the Wine 11 tree the same demo runs at 131 fps on Wine's own Direct3D, which is not yet understood, and DXVK's Direct3D 9 does not start there at all, every memory mapping fails on that tree's MoltenVK 1.4.2 (highball#198). A test build with athei's x87 sidecar attached adds a further 30 percent (174 fps) and is not shipped.
A report on an M3 Max (engine r28, DXMT environment, the game's own mode not stated) rates it 4 of 5 for minor stuttering over 8 minutes.
Known issues
The game runs its DirectX 8 path (no HDR lighting, simpler water and shaders) on a fresh install
What helps the optional fix on the game's page (Advanced, Half-Life 2 DirectX 9 path), which stores level 95 with the card Wine's own Direct3D presents. About 20 percent slower (65 to 52 fps in bench.dem on an M4)
Why measured on an M4, 2026-10-07: this build has no dxsupport.cfg, and its first-start autodetect picks DirectX level 80 under wined3d, DXVK and DXMT alike, whatever GPU identity it sees
Frame drops when shooting or when an NPC is hit, blood and muzzle flash effects (reported on an M1, macOS 27)
What helps turn on DXVK async shader compilation in the environment's Graphics settings
Why reported, consistent with first-use shader compilation on DXVK with async off
Low frame rate for such an old game, 14 to 33 fps at 1280x720 on an M1 Pro depending on the mode
What helps Wine's own Direct3D is twice as fast in the opening here (33 against 17); engine work tracked in highball#165
Why measured: CPU-side cost of the Direct3D 9 translation and Rosetta; the GPU sits at 2 to 3 ms per frame
The -vulkan launch option shows nothing
What helps leave -vulkan off
Why measured: the game's bundled DXVK-native requests geometryShader and shaderCullDistance, which MoltenVK does not offer, so vkCreateDevice fails
On the Wine 11 engine r11 with the DXVK mode, no window appears (measured on the demo build on a Wine 11 test engine built from r11's components, 2026-09-24).
What helps use Wine's own Direct3D for this game, which is also the faster mode on every engine measured.
Why Every host-visible memory mapping failed with VK_ERROR_OUT_OF_HOST_MEMORY while 19 MB was in use. The cause found later (highball#198) was the Sims recipe's MVK_SHADOW_IMPORT=1 reaching every game in the environment, which Highball 0.9.38 scoped to the Sims. Not re-measured on the Wine 11 engine since
Minor stuttering (reported on an M3 Max, macOS 26.5.2, DXMT environment, engine r28)
What helps none known
Why not measured
One-click setup
Highball ships a recipe for Half-Life 2: open the game in your Library and apply it. The recipe carries the tested renderer and any per-game fixes, so you don't have to reproduce them by hand. Read the recipe.
Provenance
Reported by HasAks38 (highball#122, 2026-09-16), Apple M1, macOS 27, Highball 0.9.19, engine x64-sikarugir10.0_6-r3, DXVK: playable, with frame drops when shooting or when an NPC is hit. Not verified by the maintainer. Measured here 2026-09-20 with the free Half-Life 2: Demo (Steam 219, the same 20th-anniversary build, 32-bit) on an M1 Pro, macOS 27.0, engine x64-sikarugir10.0_6-r5: menu, the first map and a recorded timedemo of the opening on every graphics mode; not played through. Measured by the maintainer on the free 20th anniversary demo build (Steam 219, the same engine) on 2026-09-20 and 2026-09-24, M1 Pro, macOS 27.0, timedemo of the trainstation intro at 1280x720. Reported by linjunpop (highball-db#467, 2026-10-13), Apple M2 Max, macOS 27.0.1, Highball 0.10.15, engine x64-sikarugir10.0_6-r26, the game on D3DMetal in a DXMT environment (Direct3D 9 goes through DXVK there), rated 5 of 5 after 2 minutes. verybigballoon (highball-db#620, 2026-10-22), Apple M3 Max, macOS 26.5.2, Highball 0.10.22, engine x64-sikarugir10.0_6-r28, DXMT environment, msync, rated 4 of 5 after 8 minutes, with minor stuttering.
Before installing anything, it is worth checking whether the game already ships a native Mac build.
Common questions
Does Half-Life 2 work on Mac?
Half-Life 2 has no native Mac build, but it is reported to run on Apple Silicon through Highball, a free open-source compatibility layer. This comes from community reports rather than a Highball test run, so treat it as a reasonable expectation rather than a guarantee.
Which renderer should I use for Half-Life 2?
wined3d. Highball can translate Direct3D through DXVK, DXMT or Apple's D3DMetal, and the right choice varies by game. The database records wined3d for Half-Life 2, and applying the Half-Life 2 recipe sets it for you.
Is there a one-click setup for Half-Life 2?
Yes. Highball ships a recipe for Half-Life 2 that sets the tested renderer and any per-game fixes. Open the game in your Library and apply it.
Contribute a result
This page is generated from an open database. If you have run Half-Life 2 on Apple Silicon, working or not, a report takes a minute and fills in the empty rows above. Send a report, or read how the data is put together.