mirror of
https://github.com/Droid-Deck/DroidDeck.git
synced 2026-11-12 11:31:08 +00:00
Ported from Bannerlator's driver selection so the standalone stops being pinned to whatever Turnip the runtime image was built with (Mesa 26.2.2 today, while Bannerlator already runs 26.3.0 in the same role). Linux runtime driver: LinuxVulkanDriverManager imports a "-Linux" (glibc) Turnip zip under files/linux_vulkan_drivers/<id>/ with a generated ICD manifest whose library_path is absolute, validated by the libc the driver links against (libc.so.6, never libc.so) and by its ELF header. The choice is per mode, so Steam and the desktop can differ. SessionService hands the session BL_VK_DRIVER, and the session script — staged from the apk at every launch, so no runtime re-host — checks the manifest and its library from inside before exporting VK_DRIVER_FILES; the runtime's own driver is what anything unreadable falls back to. That block is Bannerlator's, verbatim. Display driver: TurnipDriver now also imports AdrenoTools zips beside the two bundled builds and honours a chosen id ahead of the GPU pick, with the same refusals as Bannerlator's AdrenotoolsManager — a zip with no libraryName, a Linux runtime driver, or a glibc library dressed as one is refused with the list it belongs in, never installed as a black session. One dialog on the main screen carries both lists; a removed import falls back at once. Documented in the README.