Skip to content

Make it easier for users on non-Debian-derived distros to set SDL_DYNAMIC_API

Simon McVittie requested to merge wip/smcv/dynamic-sdl into main
  • tests: Expand coverage of _srt_steam_get_compat_flags()

    Add coverage for STEAM_COMPAT_TRACING.

  • steam: Generalize taking compat flags from boolean environment variables

    Instead of open-coding this for just STEAM_COMPAT_TRACING, let's have a table so we can easily add more.

  • pv-adverb: Set SDL_DYNAMIC_API to a suitable value on request

    It's difficult for users of non-Debian-derived distros to select the runtime's SDL, especially if they don't know whether the game is 32- or 64-bit, because the expansion of $LIB and $PLATFORM varies between distro glibc builds.

    However, we can normally predict $LIB and $PLATFORM well enough to do the right thing programmatically. For example, if $PLATFORM expands to i686 in 32-bit processes and xeon-phi in 64-bit, then we can create symlinks at /tmp/XX/i686/libSDL2-2.0.so.0 and /tmp/XX/xeon-phi/libSDL2-2.0.so.0, and then set SDL_DYNAMIC_API='/tmp/XX/${PLATFORM}/libSDL2-2.0.so.0' to have the runtime linker dynamically select the correct word size.

    While I'm here, we might as well provide the same setup for SDL3.

    steamrt/tasks#578

  • tests: Exercise SDL_DYNAMIC_API setup

    steamrt/tasks#578

Edited by Simon McVittie

Merge request reports

Loading