Repository navigation
RADV Xclipse (Based on Mesa 27.0.0-devel)
RADV for Samsung Xclipse GPUs, now based on Mesa 27.0.0-devel. This release adds the Xclipse 540,
550, 950 and 960, so every Xclipse GPU so far is supported, and moves to the latest upstream Mesa
with Vulkan 1.4.363. BC6H textures also take half the memory they did.
What's new
- Mesa 27.0.0-devel and Vulkan 1.4.363. Two months of upstream RADV fixes and improvements.
- New: Xclipse 540 (Galaxy A56, Galaxy Tab S10 FE).
- New: Xclipse 550 (Galaxy A57).
- New: Xclipse 950 (Galaxy Z Flip7) and Xclipse 960 (Galaxy S26 series). Both hung the GPU
at random with early test builds, because their kernel can pause the driver's work midway and
part of the GPU state was then lost. The driver no longer lets the kernel pause it there; the
test programs that hung before have run without a hang since. Ray tracing is still broken on
both, see Known issues. - BC6H textures use half the memory. They are stored at 4 bytes per pixel instead of 8, with
slightly less precision.adb shell setprop debug.radv_xclipse_bc6h_rgba16f 1restores the old
format. - Ray tracing is no longer offered on the Xclipse 530, 540 and 550, which have no ray tracing
hardware. Games now see that it's unavailable instead of hanging (it was broken on the 530). - Each GPU reports its own name, such as
RADV JUNOon the Xclipse 960, so logs and bug
reports show which chip they came from.
Supported GPUs
| GPU | Chip | Status |
|---|---|---|
| Xclipse 920 | Exynos 2200 | Supported. Tested on a Galaxy S22 Ultra (SM-S908B). |
| Xclipse 940 | Exynos 2400 | Supported. Tested on a Galaxy S24 (SM-S921B) and S24+ (SM-S926B) with earlier builds. Ray tracing is untested (possibly broken). |
| Xclipse 530 | Exynos 1480 | Supported. Tested on a Galaxy A55 (SM-A556B) with earlier builds. No ray tracing. |
| Xclipse 540 | Exynos 1580 | New. Tested on Galaxy A56 with earlier builds. No ray tracing. |
| Xclipse 550 | Exynos 1680 | New. Tested on a Galaxy A57 (SM-A576B). No ray tracing. |
| Xclipse 950 | Exynos 2500 | New. Tested on a Galaxy Z Flip7 (SM-F766B). Ray tracing is broken. |
| Xclipse 960 | Exynos 2600 | New. Tested on a Galaxy S26+ (SM-S947B). Ray tracing is broken and can crash the phone. |
| Other Xclipse GPUs | Not supported. |
The 540, 550, 950 and 960 have been tested with test programs and only a few games so far, and
performance isn't tuned for them yet. Reports from these phones are especially welcome.
Requires Android 14 or newer and an app that loads custom Vulkan drivers from a zip, such as Eden or
Winlator.
Installing
- Download
radv-xclipse-27.0.0-devel-0340c63.zip. Don't extract it. - In the app's GPU driver settings, remove the previous RADV Xclipse entry if you have one,
including test builds. Some apps otherwise keep using the old driver they already extracted. - Install the new zip and select it.
- Clear the game's shader cache. Pipelines cached with another driver can render incorrectly or run
slower.
If the app crashes
This includes the app closing by itself, freezing, a black screen, or a "device lost" error.
- Reboot the phone before opening any game or emulator again. After a GPU hang, the GPU can stay
stuck even though the app closed, and the next app that uses it can make the whole phone reboot. - Clear the game's shader cache and try again.
- If it crashes again, switch back to the system driver. If the crash goes away, it's this driver:
please open an issue with a log (see Capturing a log).
If the phone crashes
This means the phone freezes and restarts by itself.
- Wait for the phone to start up completely. The restart is a safety reset by the phone and doesn't
damage it, but unsaved game progress is lost. - Don't repeat the same thing right away. Switch back to the system driver for that game until the
issue is looked at. On the Xclipse 960, check first whether the game uses ray tracing, and turn it
off. - Save the crash record before the phone crashes again, because only the last few are kept. It
needs adb, but no root. List the records, newest first:Then pull the one whose date and time match the crash, for example:adb shell "ls -t /data/log | grep lastkmsg"adb pull /data/log/dumpstate_lastkmsg_20260921_213000_1_DP.log.gz - Open an issue and attach the file. A normal log can't help here, because the phone's log is
erased by the restart.
Capturing a log
A log shows what the driver was doing. You need adb on a computer (USB or Wireless debugging).
- Turn on driver logging:
adb shell setprop debug.radv_xclipse_log 1 - Clear the old log:
adb logcat -c - Start the app and reproduce the problem.
- Save the log on the phone and copy it to the computer:
adb shell "logcat -d -v time > /sdcard/radv-log.txt"adb pull /sdcard/radv-log.txt - Turn logging off (it also turns off when the phone restarts):
adb shell setprop debug.radv_xclipse_log 0
With logging on, the log starts with a [BUILD] Mesa 27.0.0-devel line, which confirms the app is
really using this driver, and an [ARM] line showing any debug switches that are set.
If the game freezes or hangs the GPU, a hang report helps even more. Turn it on before starting the
app with adb shell setprop debug.radv_debug hang, reproduce the hang, then copy the report folder
and turn it off again:
adb pull /sdcard/Android/data/<package>/files/
adb shell setprop debug.radv_debug ""
Logs, hang reports and crash records can contain personal information, such as app names and
device identifiers. Look through them before posting them publicly.
In the issue, include: phone model, Android version, the app and its version, the game, the driver
zip name, which switches you set, what happened, and the log, hang report or crash record.
Known issues
- Ray tracing is broken on the Xclipse 950 and 960. Games still see it as available, but
tracing rays hangs the GPU, and on the 960 it can crash the phone. Turn ray tracing off in the
game's settings on these phones. - Ray tracing is slow on the Xclipse 920 and untested on the 940.
- Xclipse 530: in Eden, some games can hang the GPU every few seconds (seen in The Legend of
Zelda: Link's Awakening). - Transform feedback on the 530 and 940: when a game writes more than fits in a capture
buffer, the data stops at the end of the buffer as it should, but the driver reports a size
larger than the buffer. Transform feedback queries are untested. - Flickering textures in Eden with GPU accuracy set to Low happen with the system driver too. Set
GPU accuracy to High and turn on reactive flushing. - If a game shows black, flickering or corrupted textures, turn color compression off with
adb shell setprop debug.radv_xclipse_dcc 0and please report the game. If only
adb shell setprop debug.radv_xclipse_dcc_small 0fixes it, please mention that too. - A game that copies a BC5, BC7 or signed BC4 texture back out gets the converted data instead of
the original. For such a game, turn the sharing off with
adb shell setprop debug.radv_xclipse_bc5_alias 0(BC5) or
adb shell setprop debug.radv_xclipse_bc7_alias 0(BC7), or use
adb shell setprop debug.radv_xclipse_bcsnorm_exact 1(signed BC4/BC5). - The phone can still reboot by itself, especially after a GPU hang. The cause is in the phone's
kernel GPU driver; this driver avoids the known trigger but can't fully prevent it. - A game that uploads BC4-BC7 textures every frame can stutter, because the driver converts those
formats on the GPU. For emulators like Eden,adb shell setprop debug.radv_xclipse_no_bc_emu 1
hides those formats so the game uses others. Don't use it with Windows games in Winlator, which
usually need BC7.
Other switches are listed in the README.
Download
radv-xclipse-27.0.0-devel-0340c63.zip, built from commit 0340c63.
SHA-256: 0155e9114f8f8b975107c49495e4730161b45805d52fe955cd1e4aed888b4763
The zip contains vulkan.radeon.so, meta.json and NOTICE.txt (licenses of the code built into
the driver). The Xclipse changes are MIT licensed; files from Mesa keep their own licenses.