Skip to content

Releases: zenithblue-oss/panplay

PanPlay v1.2.7

Choose a tag to compare

@zenithblue-oss zenithblue-oss released this 12 Oct 18:02

PanPlay logo

Screenshots from PanPlay 1.2.7 on a Lenovo Tab TB336FU (Mali-G57 MC2, v9) with the bundled 0.1.0 RC3 driver (BuildID 4ec75e25).

D3D11 cube (arm64ec, FL11_0, ALSA audio, HUD full), ~85 FPS In-game menu (Back, MENU or Start+Select) What's new dialog on first launch
D3D11 cube on G57 In-game menu What's new
Components: PulseAudio and ALSA, default game audio driver Controls editor: Type / Key dropdowns
Components audio Controls editor

What's new

Added

  • Game audio: ALSA (default), PulseAudio or Off, set globally in Components > Game audio and per game on
    the Launch card. ALSA plays straight to Android AAudio with no sound server; PulseAudio runs a server per
    game session.
  • Physical controller support with full remapping: every button, trigger, D-pad direction and stick
    half-axis can send a key, a mouse button, the wheel or a mouse axis, or a pad input.
  • Two-step Type / Key dropdown editor for controls.
  • In-game menu (Back, MENU or Start+Select): live controller config, FPS limit and Stop game.
  • Gaming mode.
  • .reg import.
  • Games that are not installed can be hidden.
  • More injectable keys: Pause, Win, Menu, F13-F24, lock keys, mouse back and forward.
  • A "What's new" dialog shows once after each update.

Fixed

  • On-screen pad scaling on phones and tablets, with min and max limits.
  • Less logging overhead during play: buffered logs, the xdump thread no longer runs forever, no log write
    per keypress.
  • Pressed-button labels are white.
  • "Show missing" list order.
  • "Recording is off" message.

Game audio measurements (Lenovo TB336FU, Mali-G57, 48 kHz, no MMAP)

tests/wasapitone.c (WASAPI shared, event-driven) for 30 s; CPU = utime+stime of the process over 20 s, % of
one core. FPS = dxcube d3d11 (DXVK) for 30 s with the tone playing in parallel, PerfRecorder avgFps, two runs.

ALSA PulseAudio Off
Wine stream latency (GetStreamLatency) 24 ms 20 ms -
Extra buffering below Wine AAudio 1024 frames (21 ms) pulse sink-input 26 ms + AAudio 1024 frames (21 ms) -
Audio server CPU none pulseaudio 7.2 % -
Game process CPU (tone) 4.6 % 4.5 % -
Underruns (app side / pcm_aaudio / AudioFlinger) 0 / 0 / no change 0 / - / no change -
dxcube avg FPS (run 1, run 2) 73.8, 72.8 69.9, 71.5 71.6, 73.9

ALSA is the default: no extra process, about 26 ms less buffering, about 7 % of a core less CPU, no FPS cost
seen. PulseAudio stays available for games that only behave with winepulse. Details:
runtimes/audio/README.md.

Tested on the TB336FU

Install over 1.2.6 (adb install -r), unit tests 16/16, What's new shows once and not after relaunch, Settings,
Components (PulseAudio 17.0-2, ALSA 1.2.16.1-2), Controls and the editor dropdowns, D3D11 cube with ALSA
(winepulse disabled, no pulseaudio process), in-game menu via Back, Resume, Stop game with confirm, no FATAL in
logcat.

Known issues

  • Same driver as 1.2.6 (0.1.0 RC3): Immortalis-G925 (v13) has not been run with RC3; G68, G77, G78 and G78AE
    (v9) are untested; v14 is built but untested. D3D12 through vkd3d-proton is not a focus yet.
  • Signed with the Android debug key, same as earlier PanPlay releases, so it installs over them.
    Not a store-signed build.

Send PanPlay session log ZIPs to the Telegram testers group or open
an issue.

Files

File SHA-256
PanPlay-v1.2.7.apk c11fce93046101c38270a335fe346e6367ceaee8e272802ba5d01ff3422384cd

Package ID: dev.zenithblue.panvklauncher, versionName 1.2.7, versionCode 33. Source commit
469b997 (panvk-kbase-android 10b1d99). Bundled driver: 0.1.0 RC3, downloaded from the driver
release at build time and sha256-checked. The .so inside the APK is the same file as the driver
release asset (sha256 b46b9f04…, BuildID 4ec75e25deca57c27fb1e0872fdbf58473d41527).

PanPlay v1.2.6

Choose a tag to compare

@zenithblue-oss zenithblue-oss released this 11 Oct 18:35

PanPlay logo

These screenshots come from the RC3 driver binary (BuildID 4ec75e25) running in a PanPlay 1.2.5 test
build; 1.2.6 bundles the same driver file.

D3D11 cube on Lenovo Tab TB336FU (Mali-G57 MC2, v9), ~70 FPS NFS: Most Wanted on the G57, ~18 FPS D3D11 cube on Galaxy Tab S10 Ultra (Immortalis-G720 MC12, v12), ~47 FPS
D3D11 cube on G57 NFS MW on G57 D3D11 cube on G720

PanPlay v1.2.6

PanPlay runs Windows games on Android through Wine and DXVK, using the open PanVK Vulkan driver on
Mali GPUs. This version bundles the PanVK-kbase 0.1.0 RC3 driver (a prerelease).

What's new

  • Bundled driver is now PanVK-kbase 0.1.0 RC3
    (panvk-kbase-v0.1.0-rc3,
    prerelease): Mali v9 to v13 supported. On a Mali-G57 MC2 (v9) the D3D8, D3D9, D3D10 and D3D11
    cubes run at ~70-76 FPS and NFS: Most Wanted races at ~18 FPS. PanProbe passes 38/38 on G57, G610,
    G710, G615, G715 and Immortalis-G720 with this binary; Immortalis-G925 (v13) was not rerun on RC3.
  • Performance recording per session: each game session records DXVK stats (FPS, 1% and 0.1%
    lows, frame times, GPU load, video memory) and app stats (CPU, RAM, battery, clocks). The session
    screen shows a report you can export. Built-in DXVK is now 3.1.1-4 with the stats recorder, and a
    container's DXVK DLLs are refreshed when they differ from the bundled ones.
  • Fixes:
    • On a fresh install, the first launch uses DXVK for D3D9 (DLL overrides are applied after DXVK is
      installed).
    • Generic d3dx9 games only get d3dcompiler_43=n; native wined3d stays limited to Burnout, which
      fixes a wined3d GL init crash in NFS: Most Wanted.
    • Session logs and performance report layout fixed (one scrolling list, the Session button no
      longer wraps per character).
    • The game screen stays in landscape.

Known issues

  • Immortalis-G925 (v13) has not been run with RC3 yet; G68, G77, G78 and G78AE (v9) are untested; v14
    is built but untested. D3D12 through vkd3d-proton is not a focus yet.
  • Signed with the Android debug key, same as earlier PanPlay releases, so it installs over them.
    Not a store-signed build.

Send PanPlay session log ZIPs to the Telegram testers group or open
an issue.

Files

File SHA-256
PanPlay-v1.2.6.apk c96dad18830e37f99c69907903a72d95c6f25ce592ac188769d92691a9f644d7

Package ID: dev.zenithblue.panvklauncher, versionName 1.2.6, versionCode 32. Source commit
13813d1 (panvk-kbase-android fd6ed91). Bundled driver: 0.1.0 RC3, downloaded from the driver
release at build time and sha256-checked. The .so inside the APK is the same file as the driver
release asset (sha256 b46b9f04…, BuildID 4ec75e25deca57c27fb1e0872fdbf58473d41527).

PanPlay v1.2.5

Choose a tag to compare

@zenithblue-oss zenithblue-oss released this 08 Oct 09:15

PanPlay logo

These screenshots come from PanPlay 1.2.4 with the RC1 driver. They are not from 1.2.5 or the RC2
driver, which have not been run on a device yet.

D3D11 cube (Poco X6 Pro, Mali-G615, 1.2.4 + driver RC1) PanProbe 37/37 (same phone, RC1) NFS: Most Wanted on Galaxy Tab S10 Ultra (Immortalis-G720, beta.18 test build)
D3D11 cube PanProbe 37/37 NFS MW on G720

PanPlay v1.2.5

PanPlay runs Windows games on Android through Wine and DXVK, using the open PanVK Vulkan driver on
Mali CSF GPUs. This version bundles the PanVK-kbase 0.1.0 RC2 driver (a prerelease).

What's new

  • Bundled driver is now PanVK-kbase 0.1.0 RC2
    (panvk-kbase-v0.1.0-rc2,
    prerelease): robustImageAccess2 on v10 and later, and a Mali-G77 model row. This RC2 build
    has not been run on a device yet
    beyond build and binary checks.
  • Driver update card understands the new tag names (panvk-kbase-v..., the g615 prefix is
    gone), still reads the old g615-v11-csf-v... tags, and accepts versions like 0.1.0-rc2.
  • Fixes from testers' logs:
    • The X11 output stream (XOutputStream) no longer overflows or keeps stale data after a failed
      flush.
    • Old Unity logs from earlier runs are skipped when PanPlay reads a game's session log.
    • Wine's harmless noise lines are no longer counted as errors in the session summary.
    • PanPlay warns when the device does not have a Mali GPU.
  • Games and launcher (since 1.2.4): tapping a game card opens the launch sheet and the play
    button launches at once; per-game FPS limit (Off, 30, 60, 120 or custom); the Wine container shows
    up in the Files app; vkd3d-proton (D3D12) and Box64 are separate components; Box64 can be chosen as
    the per-game 32-bit emulator next to FEX; the game-folder exe is used for launch; Wine 11.19 HLSL
    compiler is used for 32-bit d3dx9 games.

Known issues

  • RC2 is untested on devices. D3D12 through vkd3d-proton is new and not a focus yet.
  • Mali v9 (for example G77) is experimental and partly broken; v14 is built but untested.
  • Signed with the Android debug key, same as earlier PanPlay releases, so it installs over them.
    Not a store-signed build.

Send PanPlay session log ZIPs to the Telegram testers group or open
an issue.

Files

File SHA-256
PanPlay-v1.2.5.apk e555fbe858b162c63a1c845ae52cb38273c900ab13294adb15ef569c11986a8b

Package ID: dev.zenithblue.panvklauncher, versionName 1.2.5, versionCode 27. Source commit
b298080 (panvk-kbase-android b44d916). Bundled driver: 0.1.0 RC2. The .so
inside the APK is the same file as the driver release asset (sha256 725b13c7…, BuildID
2c4da3d9eb963be9f9bbc44e87edc906783c3425).

PanPlay v1.2.4

Choose a tag to compare

@zenithblue-oss zenithblue-oss released this 07 Oct 18:07

PanPlay logo

D3D11 cube, bundled beta.18 RC1 (Poco X6 Pro, Mali-G615) PanProbe 37/37 with beta.18 RC1 (same phone) NFS: Most Wanted on Galaxy Tab S10 Ultra (Immortalis-G720)
D3D11 cube PanProbe 37/37 NFS MW on G720

PanPlay v1.2.4

PanPlay runs Windows games on Android through Wine and DXVK, using the open PanVK Vulkan driver on
Mali CSF GPUs. This version bundles PanVK-kbase beta.18 RC1, which removes most shader-compile
stutter and is tested on Mali v10, v11, v12 and v13.

The G615 screenshots are from a Poco X6 Pro with this release. The G720 screenshot is from the
beta.18-dev+combined test build, which has the same driver code.

What's new

  • Bundled driver is now beta.18 RC1
    (g615-v11-csf-v0.1.0-beta.18-rc1):
    a much faster shader compiler, faster and smaller BCn textures, the Mali-G710 model row, and
    fixes for v10 and v13. Tested on G610, G710, G615, G715, Immortalis-G720 and Immortalis-G925.
  • Shaders are compiled only once. Every game now gets a persistent Mesa shader cache
    (files/mesa_shader_cache, up to 1 GB). The second time you play, shaders load from the cache
    instead of being compiled again. In Need for Speed: Most Wanted this removed the driver compile
    freezes completely on a warm cache.
  • No more DXVK pipeline recompiles. DXVK games run with dxvk.trackPipelineLifetime = False.
    32-bit DXVK used to throw away each compiled pipeline and compile it again at the first draw,
    which caused 1-1.6 s freezes in NFS. Per-game environment settings still override both of these.
  • Hardware keyboards work. Keys from Bluetooth keyboards that also report as a joystick were
    dropped; now each key is checked on its own. Plugging in a keyboard while a game runs no longer
    restarts the game screen (which caused a black screen).
  • Driver update card understands release candidates: beta.18 RC1 counts as newer than beta.17,
    and the final beta.18 will count as newer than RC1.
  • Version bump to 1.2.4, matching PanProbe 1.2.4.

Cloud upload

Send to cloud uploads to PanVK's own Cloudflare storage (sha256-verified, kept 30 days, 25 MiB
cap) with catbox/gofile as second copy; every upload is recorded automatically. Telegram testers
group: https://t.me/+E-NhUATmkqE5ODg1

Privacy: the upload stores device, GPU and driver info and a salted hash of your IP, nothing
else personal. The ZIP may contain device model, GPU info, Android version, app and package names
and file paths.

Known issues

  • The first time a game reaches a new shader, compiling it still takes about 0.3 s. Later sessions
    load it from the cache.
  • BC textures use lossy AFRC by default. If you see texture artefacts, add PANVK_BC_AFRC=0 to the
    game's environment.
  • Galaxy Tab S10 Ultra: a second NFS: Most Wanted session in a row stuttered. The cause is not known
    yet.
  • v9 (Mali JM) is experimental and partly broken: DXVK needs Vulkan 1.3, which v9 does not
    report, so games do not run there.
  • Signed with the Android debug key, same as earlier PanPlay releases, so it installs over them. Not
    a store-signed build.

Licenses

PanPlay includes the Winlator X server and related code from https://github.com/brunodev85/winlator
(brunodev85 and Winlator contributors), licensed LGPL-2.1. Those files keep their license; see
third_party/winlator/LICENSE. Mesa/PanVK is under its upstream licenses. See
NOTICE.md for the full list.

Files

File SHA-256
PanPlay-v1.2.4.apk 3de18f6f4183353c466cb262239d33890cf63f8d051867ce8e95d385437a09cf

Package ID: dev.zenithblue.panvklauncher, versionName 1.2.4, versionCode 15. Source commit
09b5cfd (panvk-kbase-android e74476c). Bundled driver: beta.18 RC1. The
.so inside the APK is the same file as the release asset (sha256 d000493e…, BuildID
f01a87a4f990064aa98dcc94efdbc7534e11a029); the release .so is now stripped, so the hashes match.

PanPlay v1.2.3

Choose a tag to compare

@zenithblue-oss zenithblue-oss released this 07 Oct 00:37

PanPlay logo

NFS: Most Wanted, bundled beta.17 (Poco X6 Pro, DXVK HUD full) Drivers: bundled beta.17, update check Driver update card Update downloading
NFS MW on beta.17 Drivers Update card Downloading

Real screenshots from a Poco X6 Pro (Mali-G615 MC6) with this release. The HUD Version line shows PanVK-kbase beta.17. The update card screenshots were taken with an older driver selected, to show what an available update looks like.

PanPlay v1.2.3

PanPlay runs Windows games on Android through Wine and DXVK, using the open PanVK Vulkan driver on Mali CSF GPUs.

What's new

  • Bundled driver is now beta.17 (g615-v11-csf-v0.1.0-beta.17): GS draws with primitive restart no longer fault the GPU, exact depth for zero depth-range viewports, depth bounds, primitive ID and VMR fixes, plus universal fixes for v10/v12-v14 and stock ROMs (built, untested on that hardware).
  • Driver update card (Drivers tab): checks the latest PanVK release on GitHub, downloads the Android driver, verifies it against the release's SHA-256 and installs it as a driver you can select. Shows "Up to date" when the bundled driver is the newest.
  • Faster X11 present path: the built-in X server supports MIT-SHM 1.2 AttachFd, so beta.17 presents frames through shared memory instead of PutImage. Image offset and size are bounds-checked against the segment.
  • Crash fix: a null drawable in the renderer (GLRenderer) no longer crashes the app.
  • Better session logs: DXVK and vkd3d logs are collected in the session log ZIP.
  • Version bump to 1.2.3, matching PanProbe 1.2.3.

Cloud upload

Send to cloud uploads to PanVK's own Cloudflare storage (sha256-verified, kept 30 days, 25 MiB cap) with catbox/gofile as second copy; every upload is recorded automatically. Telegram testers group: https://t.me/+E-NhUATmkqE5ODg1

Privacy: the upload stores device, GPU and driver info and a salted hash of your IP, nothing else personal. The ZIP may contain device model, GPU info, Android version, app and package names and file paths.

Known issues

  • One unexplained VK_ERROR_DEVICE_LOST was seen in a Need for Speed: Most Wanted run on beta.17; the next run was clean. Under investigation.
  • v9 (Mali JM) is experimental and partly broken: DXVK needs Vulkan 1.3, which v9 does not report, so games do not run there.
  • Signed with the Android debug key, same as earlier PanPlay releases, so it installs over them. Not a store-signed build.

Licenses

PanPlay includes the Winlator X server and related code from https://github.com/brunodev85/winlator (brunodev85 and Winlator contributors), licensed LGPL-2.1. Those files keep their license; see third_party/winlator/LICENSE. Mesa/PanVK is under its upstream licenses. See NOTICE.md for the full list.

Files

File SHA-256
PanPlay-v1.2.3.apk 24b6b596b645008d2ba53953f3da8b13f4473fa208da0ef0b7b2f59b7be493d2

Package ID: dev.zenithblue.panvklauncher, versionName 1.2.3, versionCode 10. Source commit 0f1075f (panvk-kbase-android ed5f662). Bundled driver: beta.17. The .so inside the APK is the symbol-stripped build of the beta.17 Android driver (release sha256 5d9fdb88…, BuildID 313addcb0b88110895cf59e29874f666887efe6c); the Android build tools strip symbols when packaging, so the in-APK file hash differs.

PanPlay v1.2.2

Choose a tag to compare

@zenithblue-oss zenithblue-oss released this 06 Oct 17:12

PanPlay logo

NFS: Most Wanted, bundled beta.15 (Poco X6 Pro, DXVK HUD full) Drivers (beta.15 bundled) Cube D3D9 Upload done (recorded)
NFS MW on beta.15 Drivers Cube D3D9 Upload done

Real screenshots from a Poco X6 Pro (Mali-G615 MC6) with this release. The HUD Version line shows PanVK-kbase beta.15.

PanPlay v1.2.2

PanPlay (apps/panvk-launcher) runs Windows games on Android through Wine and DXVK, using the open PanVK Vulkan driver on Mali CSF GPUs.

What's new

  • Bundled driver is now beta.15 (g615-v11-csf-v0.1.0-beta.15): faster kbase submission on Mali CSF (no CPU graphics drain on tiler heap renewal, same-queue semaphores waited on the GPU, next tiler heap created on a worker thread).
  • NFS: Most Wanted on a Poco X6 Pro (Mali-G615 MC6): about 24 fps on beta.14 to about 36-40 fps on beta.15, frames over 50 ms about 650 to about 70-80, p99 frame time 102 ms to about 60 ms. Measured with the bundled driver of this APK (no import): 35.9 fps average, p50 24 ms, p99 66 ms, 71 frames over 50 ms, 2 over 100 ms in the gameplay window; the driver was proven by the HUD line, /proc/<pid>/maps and the pinned sha256.
  • Cube D3D9 renders on the bundled driver.
  • Version bump to 1.2.2, matching PanProbe 1.2.2.

Cloud upload

Send to cloud uploads to PanVK's own Cloudflare storage (sha256-verified, kept 30 days, 25 MiB cap) with catbox/gofile as second copy; every upload is recorded automatically. Telegram testers group: https://t.me/+E-NhUATmkqE5ODg1

Privacy: the upload stores device, GPU and driver info and a salted hash of your IP, nothing else personal. The ZIP may contain device model, GPU info, Android version, app and package names and file paths.

Known issues

  • Fallout 4 hangs before loading the driver (same on beta.14), so it is not a driver result.
  • v9 (Mali JM) is experimental and partly broken: DXVK needs Vulkan 1.3, which v9 does not report, so games do not run there.
  • When catbox.moe is down, the upload falls back to gofile, which shows "not verified".
  • Signed with the Android debug key, same as earlier PanPlay releases, so it installs over them. Not a store-signed build.

Licenses

PanPlay includes the Winlator X server and related code from https://github.com/brunodev85/winlator (brunodev85 and Winlator contributors), licensed LGPL-2.1. Those files keep their license; see apps/panvk-launcher/third_party/winlator/LICENSE. Mesa/PanVK is under its upstream licenses. See NOTICE.md for the full list.

Files

File SHA-256
PanPlay-v1.2.2.apk 9b156dab69f4ffecbc385b5c5bc2767302369b51436d327030b3eff7a28cfdb8

Package ID: dev.zenithblue.panvklauncher, versionName 1.2.2, versionCode 9. Source commit 718da53. Bundled driver: beta.15.

PanPlay v1.2.1

Choose a tag to compare

@zenithblue-oss zenithblue-oss released this 06 Oct 17:11

PanPlay logo

games drivers settings
01-games 02-drivers 03-settings
Games Drivers (beta.14) Session logs (Cube D3D9, exit 3) Upload done (recorded)
Games Drivers (beta.14) Session logs (Cube D3D9, exit 3) Upload done (recorded)

Top row: 1.2.0 screens, reused. Bottom row: real screenshots from a Lenovo TB336FU tablet (Mali-G57 MC2, a v9 GPU) with this release; nothing renders in 3D on v9, see Known issues.

PanPlay v1.2.1

PanPlay (apps/panvk-launcher) runs Windows games on Android through Wine and DXVK, using the open PanVK Vulkan driver on Mali CSF GPUs.

What's new

  • Bundled driver is now beta.14 (g615-v11-csf-v0.1.0-beta.14), experimental Mali v9 (JM) support inside the universal driver (v10 to v14, only v11 tested).
  • Version bump to 1.2.1, matching PanProbe 1.2.1 (OpenGL ES GPU name and driver name in uploads are PanProbe changes).

v9 results (experimental, partly broken)

Tablet Lenovo TB336FU (Mali-G57 MC2):

  • Cube D3D9 (ARM64EC): does not render. DXVK sees Mali-G57 MC2 but skips it ("Device does not support Vulkan 1.3"), then exits with code 3.
  • Cube D3D8 (ARM64EC): does not render. Wine crashes, exit code 5.
  • Drivers page shows beta.14 as the bundled default; session-log Send to cloud works and is recorded.

Cloud upload

Send to cloud uploads to PanVK's own Cloudflare storage (sha256-verified, kept 30 days, 25 MiB cap) with catbox/gofile as second copy; every upload is recorded automatically. Telegram testers group: https://t.me/+E-NhUATmkqE5ODg1

Privacy: the upload stores device, GPU and driver info and a salted hash of your IP, nothing else personal. The ZIP may contain device model, GPU info, Android version, app and package names and file paths.

Known issues

  • v9 is experimental and partly broken in beta.14: DXVK needs Vulkan 1.3, which v9 does not report, so games do not run.
  • When catbox.moe is down, the upload falls back to gofile, which shows "not verified".
  • Signed with the Android debug key, same as earlier PanPlay releases, so it installs over them. Not a store-signed build.

Licenses

PanPlay includes the Winlator X server and related code from https://github.com/brunodev85/winlator (brunodev85 and Winlator contributors), licensed LGPL-2.1. Those files keep their license; see apps/panvk-launcher/third_party/winlator/LICENSE. Mesa/PanVK is under its upstream licenses. See NOTICE.md for the full list.

Files

File SHA-256
PanPlay-v1.2.1.apk 3d22543ce4fda123c0932a35f375d533f0cbb0c69e17198876bf745be1b76bb2

Package ID: dev.zenithblue.panvklauncher, versionName 1.2.1, versionCode 8. Source commit 8bbd008. Bundled driver: beta.14.

PanPlay v1.2.0

Choose a tag to compare

@zenithblue-oss zenithblue-oss released this 06 Oct 17:10

PanPlay logo

Games Drivers (GPU probe) Settings
Games Drivers Settings
Session logs Upload done (recorded)
Session logs Upload done

Screenshots are from a tablet with a Mali v9 GPU, where the bundled driver does not run games; see Known issues. Games, drivers, settings and session logs screens are reused from 1.1.0.

PanPlay v1.2.0

PanPlay (apps/panvk-launcher) runs Windows games on Android through Wine and DXVK, using the open PanVK Vulkan driver on Mali CSF GPUs.

What's new

  • Automatic cloud log upload from the session logs screen to PanVK's own storage (see below), with catbox/gofile as fallback.
  • Upload record fixes: records now carry the real GPU name and the sha256 of the driver .so that actually ran.
  • Manifest in every logs ZIP with a sha256 per file and driver info.

Cloud upload

Send to cloud now uploads automatically to PanVK's own Cloudflare storage:

  • files are sha256-verified after upload, kept for 30 days, with a 25 MiB cap;
  • catbox.moe, with gofile.io as fallback, is still used as a second copy;
  • every upload is recorded automatically, so testers no longer need to share links in the group (you still can).

The dialog shows progress, "Recorded" status, the link(s) and the sha256, with Copy, Share and Open Telegram group, plus Retry and Cancel.

Privacy: the upload stores device, GPU and driver info and a salted hash of your IP, nothing else personal. The ZIP itself may contain your device model, GPU info, Android version, app and package names and file paths. It does not include accounts, contacts or personal files. Files on catbox/gofile may not be deletable; PanVK's own storage deletes them after 30 days.

Telegram testers group

Questions and results: https://t.me/+E-NhUATmkqE5ODg1

Known issues

  • When catbox.moe is down, the upload falls back to gofile, which shows "not verified".
  • The bundled driver beta.13 (g615-v11-csf-v0.1.0-beta.13) supports v10 to v14 (only v11 tested). It does not support v9 GPUs (for example Mali-G57/G68/G78).
  • The APK is signed with the Android debug key, the same key as earlier PanPlay releases, so it installs over them. It is not a store-signed build.

Licenses

PanPlay includes the Winlator X server and related code from https://github.com/brunodev85/winlator (brunodev85 and Winlator contributors), licensed LGPL-2.1. Those files keep their license; see apps/panvk-launcher/third_party/winlator/LICENSE. Mesa/PanVK is under its upstream licenses. See NOTICE.md for the full list.

Files

File SHA-256
PanPlay-v1.2.0.apk 822fb83621990e1857802c543f01538eaec6ec6d89e5da93dddb36bb73113174

Package ID: dev.zenithblue.panvklauncher, versionName 1.2.0, versionCode 7. Source commit 05e12b8. Bundled driver: beta.13.

PanPlay v1.1.0

Choose a tag to compare

@zenithblue-oss zenithblue-oss released this 06 Oct 17:09

PanPlay logo

Games Drivers (GPU probe) Settings
Games Drivers Settings
Session logs Upload progress Upload done
Session logs Upload progress Upload done

Screenshots are from a Lenovo tablet (Mali-G57, v9), where the bundled driver does not run games; see Known issues.

PanPlay v1.1.0

PanPlay (apps/panvk-launcher) runs Windows games on Android through Wine and DXVK, using the open PanVK Vulkan driver on Mali CSF GPUs.

What's new

  • Session logs: Send to cloud. Upload a run's logs ZIP from the session logs screen and get a link to share.
  • Full manifest.json in every logs ZIP: app version, driver (name, version, .so sha256, build-id, bundled or override), device and SoC, GPU (name, gpu_id, arch), Android version, kernel, Vulkan API, the run (game, Wine, DXVK, FEX, resolution, exit code, crash info), timestamp, and a sha256 for every file.
  • GPU probe: "Probe active driver" on the Drivers page checks what the selected driver reports on your GPU.
  • Upload errors now show friendly text ("Timed out", "Host not reachable", "Network error: connection lost"); the details go to logcat.

Cloud upload

Send to cloud zips the session logs and uploads it:

  • to catbox.moe, with gofile.io as fallback;
  • and to the project's own storage (shown as "Skipped" until it is deployed).

It shows a progress bar, downloads the file back to verify its sha256, and has Retry and Cancel. When it is done you get the link(s) and the sha256, with Copy, Share and Open Telegram group.

Privacy: the ZIP goes to a public file host. Anyone with the link can download it. It may contain your device model, GPU info, Android version, game and app names, package names and file paths. It does not include accounts, contacts or personal files. Share the links only in the PanVK Telegram group. Files on catbox/gofile may not be deletable; the project's own storage deletes them after 30 days.

Telegram testers group

Send your links or ZIPs here, with the game name, your GPU, the FPS you saw and any glitches: https://t.me/+E-NhUATmkqE5ODg1

Known issues

  • When catbox.moe is down, the upload falls back to gofile, which shows "not verified".
  • The bundled driver beta.13 (g615-v11-csf-v0.1.0-beta.13) supports v10 to v14 (only v11 tested). It does not support v9 GPUs (for example Mali-G57/G68/G78).
  • The APK is signed with the Android debug key, the same key as earlier PanPlay releases, so it installs over them. It is not a store-signed build.

Licenses

PanPlay includes the Winlator X server and related code from https://github.com/brunodev85/winlator (brunodev85 and Winlator contributors), licensed LGPL-2.1. Those files keep their license; see apps/panvk-launcher/third_party/winlator/LICENSE. Mesa/PanVK is under its upstream licenses. See NOTICE.md for the full list.

Files

File SHA-256
PanPlay-v1.1.0.apk 2a4c2720a98be731ecf683613a6c9530760e267efd4edf11b9e4523aef73d383

Package ID: dev.zenithblue.panvklauncher, versionName 1.1.0, versionCode 6. Source commit 4cb9b8d. Bundled driver: beta.13.

PanPlay v1.0.3

Choose a tag to compare

@zenithblue-oss zenithblue-oss released this 06 Oct 17:09

PanPlay logo

Need for Speed Most Wanted race, FEX Extreme, beta.11 (40-44 fps)
NFS MW race with HUD
FEX mode in the launch card FEX mode menu Built-in tests with DirectX icons
FEX picker card FEX picker menu DirectX cube icons
i686 D3D9 cube (fresh install) Components (bundled) Drivers (bundled beta.11)
i686 D3D9 cube Components Drivers

Updated 2026-10-04: now bundles driver beta.13 (universal v10-v14) (g615-v11-csf-v0.1.0-beta.13; v11 G615 tested, v10/v12/v13/v14 built but untested). The APK was rebuilt from commit 2233040 with the same version (1.0.3, versionCode 5) and signing key, now with v1+v2+v3 signatures (fixes "invalid package" on some installers), so it installs over the earlier 1.0.3. New PanPlay-v1.0.3.apk sha256: 195a9fcfcc84ed8dbc4ad6b99e58673e0be2ce254bcee6c8165d7092c1435f84. The tag still points at the original commit. Screenshots below are from the original beta.11 build.

PanPlay v1.0.3

What's new

  • PanVK driver beta.11 is bundled (g615-v11-csf-v0.1.0-beta.11). It fixes the VK_ERROR_DEVICE_LOST that Need for Speed Most Wanted hit on every launch and the memory growth in long sessions. NFS:MW now stays at about 2.0 GB and no longer gets killed.
  • FEX mode per game. The launch card has a FEX mode menu: Stability, Compatibility, Intermediate (default), Performance, Extreme and Denuvo. Each mode shows a one-line risk hint. The mode is saved on the game, applied as FEX_* settings to Wine (also for 32-bit games through libwow64fex.dll), and written to the session config.txt. Per-game env still overrides single FEX_* keys.
    • Extreme turns off TSO emulation. It is much faster in old single-threaded games: NFS:MW races went from 15-20 fps to 30-50 fps. Multithreaded games can crash with TSO off, so Intermediate stays the default.
  • DirectX icon on the built-in cube tests.

Components are unchanged from v1.0.2 (Rootfs imagefs_bionic, Proton 11.0-2-arm64ec, FEX 2609.1, DXVK 3.1.1-1-arm64ec, all bundled in the APK).

Requirements

  • GPU: Mali-G615 only (tested on Poco X6 Pro, MT6897). Other GPUs are not supported.
  • Android 9 or newer (minSdk 28). Tested on Android 16.
  • arm64-v8a. The app targets SDK 28 on purpose so Wine can run from app storage. Android may warn that the app was built for an older version of Android.
  • About 2 GB of free space. The 346 MiB APK unpacks about 1.7 GB of components into app storage.

Known issues

  • GPU load stays low in NFS:MW (the GPU runs at its lowest clock). Driver submission on kbase is synchronous. Async submission is planned.
  • Present is a software copy (X11 PutImage). There is no zero-copy scanout and no vsync pacing.
  • D3D12 (vkd3d-proton) does not work yet.
  • The APK is signed with the Android debug key, the same key as earlier releases. It is not a store-signed build.

Licenses

Same as v1.0.2: Winlator X server code (LGPL-2.1, apps/panvk-launcher/third_party/winlator/LICENSE), Mesa/PanVK under its upstream licenses (NOTICE.md), Wine/Proton LGPL-2.1-or-later, FEX MIT, DXVK zlib. The imagefs_bionic rootfs is hosted by GameNative and bundles third-party packages under their own licenses. See assets/components-NOTICE.txt in the APK.

Files

File SHA-256
PanPlay-v1.0.3.apk ac5e50a9dbb1da923f008ccf0e63372d93b6e2eed21fc661b3238c3751d28549

Package ID: dev.zenithblue.panvklauncher, versionName 1.0.3, versionCode 5. APK size 362,940,266 bytes (346 MiB). Source commit 9c847ca. Signed with the Android debug key.