Compile on older container to get binary that runs on older OS too (SDL doesn't compile on older than 20.04): docker run -v .:/SDLRousku -it --rm ubuntu:20.04 On Linux, install the packages listed at https://github.com/libsdl-org/SDL/blob/main/docs/README-linux.md#build-dependencies in addition apt install xdd nasm libwayland-dev mkdir vendored cd vendored git clone https://github.com/libsdl-org/SDL.git cd SDL cmake -S . -B build -DBUILD_SHARED_LIBS=OFF cmake --build build git clone https://github.com/libsdl-org/SDL_image.git cd SDL_image/external ./download.sh cd .. cmake -S . -B build -DBUILD_SHARED_LIBS=OFF -DSDLIMAGE_VENDORED=ON -DCMAKE_PREFIX_PATH=../SDL/build cmake --build build git clone https://github.com/libsdl-org/SDL_ttf.git cd SDL_ttf/external/ ./download.sh cd .. cmake -S . -B build -DBUILD_SHARED_LIBS=OFF -DSDLTTF_VENDORED=ON -DCMAKE_PREFIX_PATH=../SDL/build cmake --build build AppImage: make install DESTDIR=AppDir appimage-builder