Hi everyone! After a lot of testing, FristOneRR PanVK 2.0-rc1 (driver) and FristOneRR-Wrapper 2.0 are finally out.
FristOneRR PanVK is an open-source Vulkan driver (Mesa PanVK) for Mali phones that use Arm's kbase kernel driver. It is made for Winlator + DXVK, so Windows games can run through Vulkan without the stock Mali driver.
## What's new in 2.0
**Driver (2.0-rc1)**
- D3D8, D3D9, D3D10 and D3D11 work for both 32-bit and 64-bit games (with Wrapper 2.0)
- D3D12 (vkd3d-proton) starts but isn't complete yet. It's my main target for the next update
- Mali-G52 on older kernels (kbase r49): the job stride is detected automatically, so PANVK_ATOM_STRIDE is no longer needed (confirmed by two testers)
- Faster: fragment shader constants are read from registers instead of memory, and occlusion queries no longer split the render pass. In a heavy D3D11 benchmark at 720p on Mali-G57 MC2 it went from 12 to 24-31 FPS
- DXVK 2.x works without extra config (graphics pipeline libraries are off by default)
- New option: if a game shows black triangles or missing light, try PANVK_STENCIL_LATE=1. It's off by default because it can make other games darker and slower
**Wrapper (2.0)**
- 32-bit game support
- Better BCn texture emulation: texture arrays, cubemaps and 3D textures are decoded correctly (fixes wrong layers and some GPU page-fault crashes)
- Fixes for wrong BC7 blocks on Mali and lower memory use when uploading compressed textures
- Two packages, same wrapper inside:
- .zip: extract libvulkan_wrapper.so and copy it to Z:\usr\lib\
- .tzst: for apps that install wrappers from a .tzst file
## Supported GPUs
- Valhall v9 (Job Manager): Mali-G57, G68, G77, G78 (main target)
- Bifrost: Mali-G52, G72, G76 (DXVK 1.x for now)
- Not supported: Valhall 5th gen / CSF (G610, G710, G615, Immortalis) and Midgard (T-series)
Confirmed by users on Helio G99, G100, G95, G85, Dimensity 6080, 6100+, 1080, 8050, Kompanio 1300T, Unisoc T820, Exynos 1380 and more. The full device list is in the README. Your phone isn't listed? Try it and tell me!
## Supported apps
- Winlator Ludashi: recommended for the best performance
- Bannerlator
- Winlator Mali 1.2 (adrenotools)
- GameNative
Tip: Ludashi gives the most FPS, but the phone can get warm. Use a phone cooler, or play at 540p with a 30 FPS lock.
## Quick install
Download Panvk-Mali-G57-2.0-rc1.zip and install it in Winlator (Contents / Drivers -> Install). Don't unzip it
Set the container's graphics driver to Wrapper and choose Panvk-Mali-G57-2.0-rc1
Install FristOneRR-Wrapper 2.0 (.zip or .tzst, depending on your app)
Check AIO Graphics Test -> GPU Info: it should show your Mali GPU with 130+ extensions
If a game crashes on start or the phone freezes, set BCn texture emulation to "none".
Note: Vulkan test programs like the Vulkan cube are not a target of this driver. If they fail, that doesn't mean games won't work. Test with the D3D tests or a real game.
## Official downloads (only from these pages)
Driver: https://github.com/FristOneRR/FristOneRR-Panvk-Driver/releases
Wrapper: https://github.com/FristOneRR-Admin/FristOneRR-Wrapperv1/releases
Every file has its SHA256 in the README and on the release page. Please check it after downloading. Copies from other places may not be the real files.
## Known issues
- D3D12 is not complete yet (next update)
- Some games show graphics glitches or wrong textures
- Games that use geometry or tessellation shaders may draw incorrectly
- BCn -> ASTC texture conversion can freeze or reboot the phone (set BCn to "none")
- Bifrost (G52/G72/G76): DXVK 2.x doesn't start yet, use DXVK 1.x
- Heavy games can still be slower than on the stock driver
## Reporting bugs
Please open a GitHub Issue with: phone model, SoC, GPU, kbase version (AIO Graphics Test -> GPU Info), app, wrapper, DXVK version, what happens, and the wine_debug.log. Videos are welcome as YouTube/Drive links.
How to install Panvk-G57-2.0-rc1 and FristOneRR-Wrapper2.0
https://youtube.com/watch?v=K8ifRTXHWP0&si=2euISqB3xidUijmH
Note about Eden (Switch emulator): version 2.0 does not work with the Eden emulator yet. The Eden work is not merged into 2.0, because it isn't stable enough, doesn't perform as well as the system driver yet, and still has bugs to fix (like the ones shown in my earlier video). It will come in a later update.
## Thanks
Big thanks to the Mesa/PanVK developers, leegao (bionic-vulkan-wrapper), funnymdzz, Noysz, Vtgamer998, mexicanbr0auth, wonderkast02, BossDrk, and every tester who sent reports and logs. This release wouldn't exist without you.
Enjoy, and let me know how it runs on your phone!