primemixxx supports two operating modes on the same hardware: MIXXX mode (SD card present, TKGL boot hook installed) and Engine OS mode (SD card removed, or Engine OS explicitly started). You can switch between them at runtime over SSH without rebooting, and switch at boot time simply by inserting or removing the SD card.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/gueritta/primemixxx/llms.txt
Use this file to discover all available pages before exploring further.
Two Modes
| Mode | How to Activate | What Runs |
|---|---|---|
| MIXXX mode | SD card inserted at power-on (boot-time), or switch-to-mixxx (runtime) | TKGL bootstrap → mixxx-app.service → MIXXX |
| Engine OS mode | SD card removed at power-on (boot-time), or switch-to-engine (runtime) | Stock engine.service → Engine DJ |
One-Time Install: The TKGL Boot Hook
Before the SD card can auto-launch MIXXX at boot, you need to install the TKGL boot hook to the device’s internal eMMC. This is a one-time step run from the SD card itself.Run the install script
- Remounts the rootfs read-write
- Copies
tkgl-bootstrap-stub.shto/data/tkgl-bootstrap-launcher - Backs up
/etc/systemd/system/engine.service→engine.service.orig - Installs the TKGL stub as the new
engine.service - Runs
systemctl daemon-reload && systemctl enable engine.service
| Prompt | Service | Effect |
|---|---|---|
| USB Ethernet gadget | usb-gadget-eth.service | SSH via USB-C cable at 192.168.42.1 |
| Power button monitor | powerbutton-monitor.service | Graceful shutdown on power button press |
| mDNS fix | fix-mdns.service | Advertises primego.local instead of buildroot.local |
| WiFi powersave off | 99-wifi-power-save.rules | Prevents SSH dropouts over WiFi |
Uninstalling the Boot Hook
To fully remove TKGL and return to stock Engine OS:install-device.sh. It stops MIXXX, removes the TKGL stub, restores engine.service.orig, and interactively asks which optional services to keep or remove.
Runtime Switching
Once the boot hook is installed, you can toggle between MIXXX and Engine OS over SSH at any time without rebooting.Switch to MIXXX
Switch to Engine OS
Boot-Time Switching
You do not need SSH for boot-time switching:| Action | Effect |
|---|---|
| Insert SD card before power-on | TKGL hook detects the card, auto-launches MIXXX |
| Remove SD card before power-on | TKGL hook finds no card, falls back to original engine.service.orig |
Restarting MIXXX Correctly
MIXXX runs as a transient systemd unit (mixxx-app.service) created by the TKGL module via:
tkgl_mod_mixxx.sh) checks whether mixxx-app.service is already active before launching. If it is active — even with a dead PID — TKGL skips relaunch entirely.
This means standard restart commands do not work correctly. The only correct restart sequence is:
mixxx-app.service Masking
Systemd Service Relationships
engine.service.orig.