mirror of
https://github.com/Droid-Deck/DroidDeck.git
synced 2026-11-12 19:41:10 +00:00
From DavidCimo/droiddeck-mali, branch mali-venus @ 4f838891 (prototype 13; his 12 commits on top of DroidDeck 0.3.1, GPL-3.0), by David Cimo: - tools/venus: Mesa Venus vtest patch (incl. the per-queue submit_mutex fix and the cached-memory frame readback), virglrenderer Android patch, the Mali compatibility layer (the six features DXVK needs: fill modes, multi-viewport, robustness2, clip/cull distance, BC1-BC7) and his tools. - tools/linuxfs/preload/venus.c: keeps Zink's kopper under Venus. - tools/gamescope/patches/0127 (his 0114): shm buffers uploaded on every commit. - docs/development/mali-venus.md: his design notes. - tools/venus/ci-build.sh and build-venus.yml: his build recipes as one CI job that packs the component (vtest server, ICD, layer) as venus.tzst for the apk. Co-authored-by: Dersim Abbas <derabb0620@gmail.com>
19 lines
898 B
C
19 lines
898 B
C
/*
|
|
* Zink keeps kopper when the session draws through Venus.
|
|
*
|
|
* On Mali the session reaches the GPU through Venus over vtest, and Xwayland has no DRM node to
|
|
* build glamor on, so it offers no DRI3. Without DRI3, Zink can only present through kopper (its
|
|
* Vulkan WSI path). Steam's steamwebhelper.sh exports LIBGL_KOPPER_DISABLE=true for the client
|
|
* interface unconditionally, so on Mali every GL context the interface asked for failed and the
|
|
* webhelper restarted until Steam gave up on GPU acceleration. Steam restores that script when
|
|
* it verifies its install, so the variable is dropped here instead, before Mesa reads it.
|
|
*/
|
|
#define _GNU_SOURCE 1
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
|
|
__attribute__((constructor)) static void bl_venus_keep_kopper(void) {
|
|
const char *debug = getenv("VN_DEBUG");
|
|
if (debug && strstr(debug, "vtest")) unsetenv("LIBGL_KOPPER_DISABLE");
|
|
}
|