Files
games/docs/development/004-SDL3_DESKTOP_PREREQUISITES.md

2.1 KiB

Prérequis SDL3 Desktop

Portée

Cette politique concerne le développement et les runners Desktop natifs basés sur SDL3.

Elle ne définit pas le packaging Android ni Web :

  • Android utilisera son intégration SDL3/NDK/AAR dédiée ;
  • Web utilisera la cible Emscripten/WASM dédiée ;
  • la présence de SDL3 système sur le poste Desktop n'implique aucune dépendance runtime identique sur Android ou Web.

Stratégie Desktop Linux

Le workspace utilise la crate Rust sdl3 avec la feature use-pkg-config.

Le build Desktop recherche donc une installation SDL3 système à travers pkg-config.

Cette stratégie est préférée au build vendored build-from-source pour la baseline actuelle, car la combinaison sdl3 0.16.x / sdl3-sys 0.5.12 / sdl3-src 3.4.16 peut échouer lorsque la source empaquetée active les tests CMake sans fournir le répertoire test.

Debian 13 / Trixie

Installer les dépendances de développement :

sudo apt update
sudo apt install pkg-config libsdl3-dev

Vérifier ensuite :

pkg-config --modversion sdl3
pkg-config --cflags --libs sdl3

Sur Debian 13/Trixie, libsdl3-dev fournit notamment :

/usr/include/SDL3/
/usr/lib/<arch>/libSDL3.so
/usr/lib/<arch>/pkgconfig/sdl3.pc

Règle de validation

Avant les premières gates Cargo SDL3 sur une nouvelle machine Desktop Linux, exécuter :

pkg-config --modversion sdl3

Si cette commande échoue, installer/configurer SDL3 avant de considérer un échec Cargo comme un défaut du code du projet.

Portabilité future

La dépendance système Desktop est une décision de développement, pas une contrainte universelle de distribution.

Les options futures restent ouvertes :

  • bundle de SDL3 avec un package Desktop ;
  • AppImage/Flatpak ;
  • package natif par distribution ;
  • build statique si une justification apparaît ;
  • distribution Tauri distincte si un shell Desktop riche est nécessaire.

Toute évolution de stratégie doit être documentée explicitement avant modification des manifests.