Repository navigation
Version 0.30.4
Skyrim for Android 0.30.4
APK: Skyrim-0.30.4.apk (arm64-v8a, Android 9+, Vulkan 1.1).
SHA-1 f4fa3f61cc472031cc996116db26e343a947bdd6
New
- Disable tree animations option, under Disable shadows.
- Writes
fUpdateBudget=0in Skyrim.ini andbRenderSkinnedTrees=0in SkyrimPrefs.ini, which stops the per-frame animation on trees.
- Writes
- Restyled launcher.
- Two columns on 16:9 screens: game folder and graphics options on the left, effects, language and controls on the right. Wider screens keep two columns, capped to a readable width and centred. Screens narrower than 16:9 (4:3, square, portrait) get a single scrolling column.
- The options list and long dropdowns such as Resolution scroll on their own, with a scroll indicator.
- The launcher now reads your real
SkyrimPrefs.iniandSkyrim.iniwhen it opens, so every option shows what the game will actually use. Pressing Play only rewrites the settings you changed, and hand-edits to the rest are kept. - Launcher settings save as soon as you change them, so options like Show FPS counter stick even if you leave without pressing Play.
dxvk.confis no longer overwritten at launch. The launcher only updates the three keys it manages (float emulation, present interval and the FPS cap) and leaves every other line as you wrote it.- Optional mesh simplification, off by default. Put a number from 1 to 90 in
port/save/meshlod.txtto remove that percentage of triangles from large static meshes (characters and small props are skipped). This costs CPU, so it usually makes things slower; best to be used for GPU limited devices.
Performance
- The renderer is now based on DXVK 1.10.3 instead of 1.9.2, with all the Android-specific fixes carried over (background surface loss, window-sized swap chain, cutout/nav-bar black bar fix, persistent pipeline cache).
- Shaders always compile on background threads (
dxvk-async). - Shaders no longer recompile on every launch. The driver's pipeline cache only saved when the app went to the background, and closing the app from recents raced past that save, so it loaded 0 bytes every start. It now also saves every 20 seconds when it has grown.
- Skyrim creates its D3D9 device as multithreaded, which made the renderer take a lock on every call, about 22,000 times per frame on the main thread. That lock is now off. To put it back, create an empty file
port/save/devicelock.txt. - Calls between game functions are direct branches instead of going through a lookup stub, which cuts overhead on roughly 38,000 calls.
- Static index buffers are reordered once, when they're loaded, for better GPU vertex-cache use.
- Unchanged transform updates are skipped.
- Audio uses OpenSL ES at 48 kHz instead of AAudio, which fixes the sound delay.
Fixed
- Launcher options could show the wrong state, for example Depth of field unticked while it was actually on. They now read directly from the ini files.
Please attach port/log.txt from your Skyrim folder to any bug report.