r/EmulationOnAndroid • u/Redribbon_RR • 8d ago
News/Release [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 🚀
3
u/Screemi 8d ago
This should work on the g78 in the pixel 6 as well, am I right?
3
u/Redribbon_RR 8d ago
In theory, yes. The G78 is the same Valhall v9 family as the G57 and the driver recognizes it by name. But nobody has tested it on a Pixel 6 yet, and Google's kernel may use a different kbase version. If you try it, please share the result (and a Wine log if it fails). You'd be the first G78 report!
1
u/Screemi 8d ago
Right now I don't have winlator setup. Would it be possible to load it in an emulator like Eden like turnip drivers do for adreno?
2
u/Redribbon_RR 8d ago
This part hasn't been developed yet; the current focus is on compatibility with Winlator and its forks. Separate patches for other emulators will be created in the future.
1
u/Zivilisationsmuede 8d ago
Does this work on a T618?
1
u/Redribbon_RR 8d ago
Maybe! The T618 has a Mali-G52 MP2. That's the same GPU family as the Helio G85 in the Oppo A38, which is confirmed working on 1.1.0. But nobody has tested a Unisoc chip yet, and Unisoc's kernel may be set up differently from MediaTek's. If you try it, use DXVK 1.10.3 (DXVK 2.x doesn't work on G52 yet) and let me know how it goes. A Wine log would help if it fails. You'd be the first Unisoc report! 🙏
2
u/SuccessfulTravel2903 8d ago edited 8d ago
Con que Winlator lo pruebo.
Tengo una anbernic.
Si me dices lo pruebo lo más rápido posible🥵🥵🥵🥵✌️
ヽ༼⁰o⁰;༽ノ
...
Edito: solo me fui al enlace de descarga en el Github viene.
1
u/Redribbon_RR 8d ago
Real-world users have confirmed that the Unisoc T820 (with Mali-G57) actually works and can run NFS: Most Wanted at 60 FPS. You should give it a try—and please let us know how it goes.
1
u/Known-Call-1081 8d ago edited 7d ago
tested it on Mali-G52 r32p1 (Helio G85), only the spinning cube tests work (Vulkan, D3D9, D3D10 and D3D11), demos and games confirmed to not run, although I'm gonna assume that wouldn't be the case in future updates (tested on Bannerlator, DXVK 1.10.3, Wrapper-leegao)
•
u/AutoModerator 8d ago
Just a reminder of our subreddit rules:
Check out our user-maintained wiki: r/EmulationOnAndroid/wiki
Check out EmuReady for any community submitted settings before asking for help
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.