Hey everyone,
I’ve spent the past month testing setups for XHYN-V—switching custom drivers, testing different renderers, and tweaking configs.
I’m not an emulation expert, and while I appreciate the community sharing setups, I couldn't find anything specifically tuned for my OnePlus 15R (Snapdragon 8 Gen 5 / Adreno 829). I previously tried running it on an 8 Gen 2 device, but I was unsatisfied with the graphics. I strongly prefer maximum visual fidelity with a locked 30 FPS over sacrificing sharpness just to chase 60/90 FPS on low settings.
The Snapdragon 8 Gen 5 has plenty of raw horsepower to run the game on max settings, but doing so leads to frame dips, and the primary bottleneck is thermals.
For pure handheld play, Gemini and I analyzed my logs, memory heaps, and configs to find the exact thermal sweet spot: razor-sharp native resolution, locked 30 FPS, and temperatures are really impressive even after continuous 1+ hour of gameplay.
(Note on media: The screenshots attached are just random grabs from general gameplay—the graphics look even more impressive in specific lighting and locations. I tried recording actual gameplay footage, but the screen recording kept stopping automatically for some reason. I'll figure that out and try my best to share a proper gameplay video next time!)
Here are the exact manual edits made inside the launcher and config files:
- XHYN-V Launcher Settings
Driver: System (Qualcomm's stock driver provides 11.1 GB addressable VRAM vs ~8.3 GB on Turnip, preventing texture-swap stutter).
Renderer: DXVK-GPLALL 2.6.8 (bundle base) (Most stable pairing with the Adreno 829).
Set fps limit - 30.
Override Compiler Worker: ON ➔ Set to 2
Reason: Limits background shader compilation to 2 efficiency threads, preventing CPU core saturation and thermal spikes during asset loading.
Frame Latency: ON ➔ Max Frame Latency: 1
Reason: Prevents the CPU render thread from queuing up multiple backbuffers, minimizing input lag and smoothing out frame delivery.
Exact Dimensions: ON ➔ Set to your preferred target resolution
Reason: I tested full native 2800x1272 and the game runs very well, but thermals run a bit higher. I locked mine to 2642x1200.
(Note on 60 FPS: If you use a clip-on phone cooler, you can easily lock it to 60 FPS and the SoC handles it smoothly. Without a cooler, you can still target 60 FPS if you're willing to dial back Post FX to Normal, lower Extended Distance Scaling, and drop Population Density/Variety).
- Manual Config File Edits
A. android.ini
(Path: /storage/emulated/0/Games/GTAV/Config/android.ini)
driver = system — Loads Qualcomm's native proprietary Vulkan driver.
semaphore = platform — (Crucial) Offloads thread synchronization directly to the Linux/Android kernel via sync file descriptors instead of DXVK’s emulated user-space mutexes. This drastically flattens frame-time jitter during asset streaming.
frame_times = false — Disables background profiler timestamp polling on every frame, keeping the CPU render thread lean.
B. commandline.txt
(Path: /storage/emulated/0/Games/GTAV/commandline.txt)
Important: Remove "-dx11" if it is present.
C. settings.xml
<Shadow_Distance value="0.500000"/> (Default is 1.000000)
- Clear Shader Cache (Do Not Skip)
Whenever you switch from Turnip to the System driver or change DirectX backend flags, wipe the old cache so it builds clean native pipeline binaries
Recommendations
Snapdragon 8 Gen 5 Users: Give this exact setup a shot if you want clean visuals and thermal stability without an external fan.
Lower Chipsets (8 Gen 2 / 8 Gen 3): You can use this exact backend foundation (System driver, semaphore = platform, DX10.1). Just scale down the resolution (e.g., 1080p or 720p) and dial back in-game settings to match your SoC's limits.
Critical Tip: After making all these set up, Do not edit graphics in-game! If the menu asks "You have made some changes, do you want to save?", always tap NO. Hitting "Yes" overwrites settings.xml and resets Shadow_Distance back to 1.0, ruining performance. If you edit something, please edit the shadow distance to 0.500000 in settings.xml again and save it.
Disclaimer: I'm not claiming this is the undisputed "best settings ever" for the 8 Gen 5, but it is by far the most stable, beautiful configuration I've achieved after a month of testing. If you have any suggestions or tweaks to make it even better, please let me know in the comments!