-
Notifications
You must be signed in to change notification settings - Fork 6
Linux
anthony.samms edited this page May 28, 2026
·
2 revisions
Install the required system packages. The exact package names below are for Ubuntu/Debian; adjust for your distro.
sudo apt-get update
sudo apt-get install -y \
git cmake ninja-build python3 pkg-config \
gcc g++ \
libgl1-mesa-dev libglu1-mesa-dev \
libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libxext-dev \
libwayland-dev libxkbcommon-dev libegl-dev \
libasound2-dev libpulse-dev libjack-jackd2-dev \
libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libswresample-dev \
libsndfile1-dev libsamplerate0-dev \
libsqlite3-dev \
libunwind-dev \
patchelf moldNote:
moldis optional but recommended — the build system will use it automatically if found, significantly reducing link times.
Code generation runs during the CMake configure step and requires python3 to be on your PATH.
git clone --recurse-submodules https://github.com/Yonokid/YataiDON
cd YataiDONIf you already cloned without submodules:
git submodule update --init --recursive./build_debug.shOr with the helper script:
./build_release.shFor a fast incremental rebuild without reconfiguring:
./build_re.shFrom the repo root, the game expects the following directories alongside the binary:
YataiDON ← executable
Skins/
Songs/
shader/
config.toml
Run from the repo root after a debug build:
./YataiDON-
Address/leak/UB sanitizers are enabled automatically in Debug builds (
-fsanitize=address,leak,undefined). If you want a debug build without sanitizers, pass-DCMAKE_CXX_FLAGS=""to CMake or editcmake/platform.cmake. -
FFmpeg is resolved via
pkg-config. Ensure the development packages (libavformat-dev, etc.) are installed. -
PortAudio is supplied as a prebuilt static archive (
src/libs/audio/libportaudio-linux.a); no separate installation is needed. - libsndfile and libsamplerate are built from source via FetchContent if the system versions are not found.
- Dependencies fetched by CMake are cached in
.cmake-deps/in the repo root, so subsequent configures are fast.
Building
libs
- animation
- audio
- config
- filesystem
- global_data
- input
- logging
- ray
- scores
- screen
- script
- song_parser
- text
- texture
- video
- webcam
libs/parsers
objects
objects/game
- player
- background
- gauge
- judgment
- combo
- branch_indicator
- ending_animations
- gogo_time
- fireworks
- song_info
- transition
- result_transition
- judge_counter
- score_counter
- score_counter_animation
- balloon_counter
- drumroll_counter
- kusudama_counter
- drum_hit_effect
- lane_hit_effect
- gauge_hit_effect
- combo_announce
- note_arc
objects/global
objects/title
objects/entry
objects/settings
objects/result
objects/song_select
- player
- navigator
- box_base
- box_song
- box_folder
- neiro
- modifier
- ura_switch
- diff_sort
- search_box
- dan_transition
- genre_bg
- score_history
- song_select_script
scenes