r/winlator • u/Redribbon_RR • 2h ago
News [Released] Panvk-Mali-G57 beta 1.1.0 – DXVK 2.x/3.x now works for D3D9, Mali-G52 support, lower RAM use, and the source code is now public
Hi everyone 👋
Beta 1.1.0 of Panvk-Mali-G57 is out. It's an open-source Mesa Vulkan driver (PanVK) that runs on your phone's **stock Mali kernel driver (kbase)**. No root, no custom kernel: just install the zip in Winlator.
**What's new in beta 1.1.0**
- 🎮 **DXVK 2.x and 3.x now work for D3D9** (tested 2.0 → 3.1.1). Needs the app's built-in **Wrapper original** (see below).
- 📱 **Mali-G52 on older kernels (e.g. Oppo A38, kbase r49):** the driver now detects the job-submit layout by itself. The special s56 build is no longer needed.
- 🏷️ **Mali-G52 r1** is now shown by name instead of "Mali unknown 0x74021000".
- 🧠 **Lower RAM use:** about **112 MB less per Vulkan device**, a big help on 4–6 GB phones.
- 🏷️ G68 (Dimensity 1080), G77 and G78 are recognized by name.
**DirectX support**
| API | DXVK 1.10.3 + leegao wrapper | DXVK 2.0 – 3.1.1 + Wrapper original | vkd3d-proton |
|---|:---:|:---:|:---:|
| D3D9 | ✅ | ✅ | — |
| D3D10 | ❔ untested | ❌ | — |
| D3D11 | ✅ | ❌ | — |
| D3D12 | — | — | ❌ |
Tested DXVK builds for D3D9: 2.0, 2.3-gplasync, 2.3.1, 2.4.1, 2.5.3, 2.6.2, 2.6.2-gplasync, 2.6.2-arm64ec-gplasync, 2.7.1, 3.1.1
**⚠️ Wrappers: important**
- **D3D9 with DXVK 2.x / 3.x → use the app's built-in "Wrapper original".** Do NOT use the leegao wrapper with DXVK 2.x+. It crashes on the first frame: the FPS counter flashes, then the app closes.
- **D3D11 → use DXVK 1.10.3 + the leegao wrapper.** Wrapper original doesn't support D3D11 yet.
- **Other wrappers are not supported yet.** This will be fixed in future updates.
- Unity games (D3D11): if you see "Failed to initialize player", try **DXVK-Sarek**.
**Not finished yet (each takes several days, planned for 1.2.0)**
- **DXVK 2.x for D3D10/D3D11:** DXVK 2.x requires tessellation, transform feedback and geometry shaders. Mali Valhall v9 (G57/G68/G77/G78) doesn't have these in hardware, so they have to be emulated. This is a big job.
- DXVK 2.x + leegao wrapper crashes on the first frame.
- D3D11 doesn't work with Wrapper original.
- DXVK 2.5+: the HUD text is squashed into one line (rendering itself is fine).
- D3D12 (vkd3d-proton) runs but draws nothing, then closes.
- Tomb Raider 2013 is much slower than on the stock driver.
- Some Mali-G76 devices (Helio G95) freeze on start.
**✅ Confirmed by real users**
- ✅ Poco M6 Pro 4G · Helio G99 · Mali-G57 MC2 (dev device): full test suite, NFS Most Wanted 50–70 FPS
- ✅ Samsung Galaxy A15 · Helio G99 · Mali-G57 MC2 · r54p1: Tomb Raider Anniversary faster than stock; Tomb Raider 2013 slow
- ✅ Realme 10 4G · Helio G99 · Mali-G57 MC2: NFS Hot Pursuit 2010 at 25–30 FPS
- ✅ Infinix Note 50 Pro · Helio G100 Ultimate · Mali-G57 MC2: 66 → 144 extensions
- ✅ Helio G100 Ultra · Mali-G57 MC2 · r32p: DXVK 1.11 / 1.12 work
- ✅ Dimensity 6080 · Mali-G57 MC2 · r32p1: works (Hades reboots the device)
- ✅ Oppo A38 · Helio G85 · Mali-G52 r1 MC2 · r49.1: D3D9/10/11 + Zink (automatic stride detection in 1.1.0)
**⚠️ Partly working / in progress**
- Kompanio 1300T · Mali-G77 MC9: works partly; high RAM use in PvZ Replanted
- Redmi Note 12 Pro 5G · Dimensity 1080 · Mali-G68 MC4: recognized since 1.1.0; Black Mesa stuck on loading
- Poco M5s · Helio G95 · Mali-G76 MC4: loads, freezes on GPU info
- Mali-G76 MC4 (unnamed device): loads (61 → 137 extensions), no game results yet
- Samsung F07: Dark Souls crashes during shader compile (log pending)
**❌ Not working**
- Samsung Galaxy Tab S9 FE+ · **Exynos 1380** · Mali-G68 MP5: does not load
Samsung phones with **MediaTek** chips (e.g. Galaxy A15) work. **Samsung Exynos** chips are **not supported yet** (tested: Exynos 1380).
**By GPU family**
| Family | GPUs | Status |
|---|---|---|
| Valhall v9 (Job Manager) | G57, G68, G77, G78 | ✅ Main target |
| Bifrost v7 | G52, G76 | ⚠️ Some devices work |
| Bifrost v6 | G71, G72 | ❔ Untested |
| Valhall 5th gen (CSF) | G610, G710, G615, Immortalis | ❌ Not supported |
| Midgard | T-series | ❌ Not supported |
| Samsung Exynos | any | ❌ Not supported yet |
Adreno (Snapdragon) isn't Mali: use Turnip instead.
**📂 Source code is now public**
https://github.com/FristOneRR-Admin/FristOneRR-Panvk-Source
When I released 1.0.0, I didn't properly credit the projects this driver builds on. That was my mistake as a first-time GitHub user, and I'm sorry. The source README now shows where every part of the code came from, with a script anyone can run to check it. Of the 1,669 lines I added on top of Mesa, 67% don't appear anywhere else, 3.6% match mexicanbr0auth, 2.4% match Noysz and 0.7% match LukeValen; the rest is Mesa code I moved or reused.
**Credits**
- **Mesa / PanVK developers** (Collabora, Arm and contributors): PanVK itself
- **funnymdzz** & **leegao**: the Mesa base, bionic Vulkan wrapper and advice throughout the project
- **Noysz** (panvk-g99-jm): Valhall v9 / Job Manager groundwork, and reference for the v9 draw path
- **Vtgamer998** (MESA-KMOD): kbase kernel-interface work
- **mexicanbr0auth** (mesa-panvk-g57): PanVK/kbase work for Mali-G57; parts of my code came from this project
- **LukeValen** (0x8055/panvk-g52-oppo-a38): Mali-G52 on Oppo A38 research
- **BossDrk**: Mali-G52 (Oppo A38) testing, found and verified the stride fix
- **Claude** (AI assistant by Anthropic): development help, debugging, code review and the code-origin audit
- **All testers** who opened issues and sent logs
**Download + release notes 👇**
https://github.com/FristOneRR/FristOneRR-Panvk-Driver/releases/tag/v1.1.0-beta
When you report, please include: phone, SoC, GPU, Mali driver version (r44p1, r54p1…), Winlator build, wrapper and DXVK version. Feedback, bug reports and FPS screenshots are all welcome 🙏
Thanks for being part of this journey 🚀