Selecting DRI device.

How do I influence SDL2 to decide which GPU to use under linux? /dev/dri/card0 versus /dev/dri/card1

I checked the source code for env vars on this:

 find . -name \*.[h,c] -exec grep -H getenv\(\" {} \; | awk -F getenv '{print $2}' | awk -F \" '{print $2}' | sort | uniq

AUDIODEV
DISPLAY
ETC
HOME
IBUS_ADDRESS
LANG
LANGUAGE
LC_ALL
LC_CTYPE
LC_MESSAGES
PATH
SDL_ALTIVEC_BLIT_FEATURES
SDL_ASSERT
SDL_AUDIO_ALSA_DEBUG
SDL_AUDIO_CHANNELS
SDL_AUDIO_DEVICE_NAME
SDL_AUDIODRIVER
SDL_AUDIO_FORMAT
SDL_AUDIO_FREQUENCY
SDL_AUDIO_SAMPLES
SDL_BLIT_CPU_FEATURES
SDL_DSP_NOSELECT
SDL_HAPTIC_GAIN_MAX
SDL_HIDAPI_JOYSTICK_DISABLE_UDEV
SDL_IM_MODULE
SDL_INPUT_FREEBSD_KEEP_KBD
SDL_INPUT_LINUX_KEEP_KBD
SDL_OPENGLES_LIBRARY
SDL_OPENGL_LIBRARY
SDL_OS2_JOYSTICK
SDL_PATH_DSP
SDL_VIDEODRIVER
SDL_VIDEO_DUMMY_SAVE_FRAMES
SDL_VIDEO_EGL_DRIVER
SDL_VIDEO_GL_DRIVER
SDL_VIDEO_OFFSCREEN_SAVE_FRAMES
SDL_VIDEO_WAYLAND_WMCLASS
SDL_VIDEO_X11_LEGACY_FULLSCREEN
SDL_VIDEO_X11_NODIRECTCOLOR
SDL_VIDEO_X11_VISUALID
SDL_VIDEO_X11_WMCLASS
SDL_VULKAN_DISPLAY
SDL_VULKAN_LIBRARY
SDL_WAVE_CHUNK_LIMIT
SDL_X11_XCB_LIBRARY
VITA_DISABLE_TOUCH_BACK
VITA_DISABLE_TOUCH_FRONT
VITA_MODULE_PATH
VITA_PVR_SKIP_INIT
VITA_RESOLUTION
XCURSOR_SIZE
XCURSOR_THEME
XDG_ACTIVATION_TOKEN
XDG_CONFIG_HOME
XDG_DATA_HOME
XDG_RUNTIME_DIR
XDG_SESSION_TYPE
XMODIFIERS

There is SDL_VIDEODRIVER but that lets me choose between wayland/x11, but not which GPU to use?

It looks like this could be outside the scope of SDL?

Because I did find a MESA environment variable that let’s me choose the GPU:

DRI_PRIME=1 ./sdl2app

…will make SDL2 use the first non-default GPU.

You can also set a PCI-ID or a vendor:device value to pick a GPU.