ZOYKUHot Board

b0hemia/diskosDocumentación

Installer for diskOS - a custom firmware/UI for the FiiO Snowsky Disc DAP (beta). Runs from source; flashes over Ingenic mask-ROM USB.

Aviso de idioma alternativo:No hay documentación localizada disponible. Mostrando el original en inglés oficial.
Instalación rápida
git clone https://github.com/b0hemia/diskos.git

Eight diskOS themes on the Disc Home screen

diskOS

A round-screen music interface for the FiiO Snowsky Disc, with local playback through its stock audio engine.

Linux, macOS, and Windows Installer MIT UI GPL 3.0 or later Support diskOS on Ko-fi

Website | Screenshots | Before you install | Install | Restore | Docs | Contribute

Important

Installing replaces the Disc's system software. Stored data and the SD card are left as they are. Keep the USB cable connected and the computer awake until the flash finishes, and keep a copy of the saved stock image. If a flash is interrupted, the Disc may need mask-ROM recovery.

At a glance

  • Device: FiiO Snowsky Disc.
  • Release described here: diskOS and installer 1.2.2.
  • Stock firmware supported: V2.09, V2.28, V2.40, and V2.57. AirPlay receiving needs V2.40 or V2.57.
  • Hosts: Linux x86-64 (Debian, Ubuntu, Arch, CachyOS, Fedora); macOS Apple Silicon release package. Intel Macs can build the native tools. Windows 10/11 x64 release ZIP.
  • Flash time: about 20 minutes, including the firmware check and verification.
  • Going back: restore the saved stock image, boot the stock UI once, or set stock as the default UI.

See diskOS

The Beam picker listing Cast and AirPlay TVs
Beam to a speaker or TV
Now Playing while beaming to Bedroom TV
Now Playing while beaming
AirPlay Receiving with the sender's song and artwork
AirPlay Receiving
Timed lyrics
Timed lyrics
Cover Flow
Album cover flow
Search keyboard
Search and keyboard

See every screen in the diskOS tour.

Built around the Disc

For listening

  • Now Playing puts music controls on the round display.
  • Ogg Opus files (.opus, .oga, and .ogg) are indexed with tags and available lengths and played through the stock player.
  • Home's now-playing border shows playback progress in the halo theme.
  • Beam plays the Disc's music on Cast and AirPlay speakers and TVs on your Wi-Fi, from the Beam button on Now Playing, the Options page or an optional Quick Settings tile. Playback controls, volume keys and the volume dial control the receiver. If Beam cannot start, the reason stays on screen with guidance for trying again.
  • AirPlay Receiving (V2.40 and V2.57) lets an iPhone or Mac play to the Disc; pick it as a source.
  • Up Next shows the player's queue and lets you jump within it.
  • Lyrics and Song Info show words and available file details.
  • Library and cover flow offer several ways to browse indexed music.
  • Playlists, favourites, and books keep different listening collections close.
  • Themes and display choices change the look of the interface.

For tinkering

  • Display settings let you change theme and type size.
  • Quick Settings lets you choose the controls in the pull-down drawer.
  • Device settings include Debug Mode for temporary SSH access.
  • Library settings include Tag Encoding (Auto by default / Western / Cyrillic); use Rescan Library after changing legacy tag or CUE-sheet decoding.
  • Screensaver can show your own JPG, PNG, BMP or animated GIF from the CustomCover folder on the SD card, with optional time, date, battery, now-playing and weather overlays.
  • Network settings can rename the Disc and its Bluetooth name, and give paired devices nicknames. The Disc's network name needs a full flash of 1.2.2.
  • Settings > Device > Automatic Update Checks (off by default) announces new releases; it never installs anything without your tap.
  • Swipe up from the bottom edge of the screen to go straight Home.
  • Updates and startup explain keyed app updates and boot behavior.
  • Stock UI choices give you an interface fallback; restore removes the diskOS image.

Before you install

You need a FiiO Snowsky Disc, a reliable USB cable and about 20 uninterrupted minutes for flashing. Choose the firmware version already on your Disc and press Get firmware; the installer downloads and verifies the matching official FiiO ZIP and fills in its path. A saved verified copy or Browse... lets you prepare offline. Linux and source checkouts need Python 3.8 or newer; the macOS app and Windows release ZIP include their runtime and tools. The installer builds the root filesystem image on your computer; this project does not distribute FiiO's root filesystem. Back up your music, keep a separate copy of the saved stock image, and read the full requirements.

For 1.2.1 users, see Update, restore, recover for the signed app update and changes that require a full flash with the complete 1.2.2 installer. The installer checks the selected firmware and the Disc before it writes. If it refuses a firmware archive, use a matching unmodified official ZIP. Read the on-screen message before retrying a failed flash.

Install

Reinstalling starts the diskOS version included in this installer and clears downloaded diskOS updates. Your settings and music are kept.

macOS

Download the Apple Silicon release archive, extract it and open diskOS Installer.app. No Python, Homebrew or extra libraries are needed. Follow the macOS steps for first-run Gatekeeper approval, mask-ROM mode and flashing.

Linux and source checkouts

Run setup from the extracted release package, then start the graphical installer:

./install.sh
./diskos-installer gui

Under Which firmware is on your Disc?, select its version, then press Get firmware. Wait for the verified message and filled path, then normally choose Public; Dev is under Advanced. Browse... accepts a matching official ZIP you already have. See Get firmware and the privacy disclosure. Power off the Disc, hold Volume Down, and connect USB to enter flash (mask-ROM) mode; the screen stays black. The Ready checklist shows items needing attention and flash-mode help; USB access is checked before flashing. Select Install diskOS..., then tick I understand and will keep the USB cable connected until it finishes. on the confirmation screen and select Begin flash (~20 min). Keep the computer awake and wait for verification before power-cycling the Disc. The Public variant has no always-on root shell; Debug Mode can enable temporary SSH on the Disc.

For the command line, the equivalent install is:

./diskos-installer install --firmware SNOWSKY_DISC_update_*.zip --variant public

Read the installation guide for OS packages, USB permissions, source checkouts, options for your own build, and error codes. Do not run the installer with sudo.

Windows

Use Windows 10/11 x64:

  1. Extract the complete diskos-installer-windows-x86_64.zip from the 1.2.2 release. Open diskos-installer.exe; keep _internal, RECOVERY.txt, and all files together. The program is not code-signed. Windows SmartScreen may show "Windows protected your PC" on first run; if it does, select More info, then Run anyway.
  2. Read the firmware version on the Disc, then power it off. Hold Volume Down and connect USB; the screen stays black.
  3. If the Ready checklist offers Set up USB driver..., select it, confirm WinUSB setup, and approve the administrator prompt. A ready WinUSB driver needs no setup. If Windows requests a restart, restart and check again.
  4. Select the firmware version already on your Disc and press Get firmware (or Browse... for a matching ZIP). Once verified, choose Public, then Install diskOS.... Tick the acknowledgement and select Begin flash (~20 min); keep the computer awake and cable connected until verification succeeds, then power-cycle the Disc. During flashing, Windows may show an empty console window for the flash tool. Leave it open; closing it interrupts the host flash tool, and the Disc may keep writing.

Terminal commands use diskos-installer-cli.exe. See the Windows guide and RECOVERY.txt for errors and recovery.

Update, restore, recover

From 1.2.1, Settings > System > Update diskOS can install the signed 1.2.2 app update over Wi-Fi if updates are allowed. Fresh installs and older versions use the installer. It updates only the diskOS app, not stock firmware or the whole image, and does not change how old a saved app update the system image allows. A full flash with the complete 1.2.2 installer starts the diskOS version inside that installer and clears downloaded diskOS updates; settings and music are kept. The network name hook, the per-flash identity and the boot-script update-retention fix also require a full flash; see the release notes. The 1.2.2 release image includes the diskOS release key by default. Turn updates off on the Disc, or untick Allow diskOS updates over Wi-Fi when flashing. See upgrading.

To use the stock interface without reflashing, set Settings > Device > Default UI > Stock. Holding Volume Up from power-on boots the other interface once: Stock when diskOS is the default, or diskOS when Stock is the default. To remove the diskOS image, select Restore stock firmware... in the installer, or run restore-stock. It uses the saved stock image after validating it. If it is missing or unusable, the GUI offers the same version dropdown, Get firmware and Browse... flow to rebuild stock firmware. The command line accepts restore-stock --firmware for rebuilding from a local ZIP. A failed flash may need mask-ROM reflashing. Read restore and recovery before you need it.

Any host: unknown or timed-out flash result

If flashing may have started and the result is unknown, leave the Disc powered and connected for at least 25 minutes after the error. Keep the computer awake; do not retry or disconnect during this wait. Follow RECOVERY.txt, also included in the Windows ZIP, for the full recovery steps, saved backup locations, and error codes.

Current limitations

Last.fm remains Beta. Wi-Fi skips the extra startup wait on V2.57 when Bluetooth is saved off; other startup cases can still take about a minute. If no IP appears, reconnect in Settings > Network > Wi-Fi. An indexed file format may still fail to play on the Disc. Some mono FLAC, MP3, and Opus files can play slowed down in the stock player. Now Playing may still retain the old track after a mono Opus file advances into another mono Opus file. The stock player and connected headphones also affect some audio and Bluetooth choices. Browse Files plays ordinary indexed audio files through the all-songs queue rather than a folder queue. On V2.09, playlist and book playback may fail; on V2.57, the Custom EQ editor is view-only. Beam to Cast supports MP3, AAC, Opus, Ogg Vorbis, and 16- or 24-bit FLAC and PCM WAV up to 96 kHz, in mono or stereo. Google Home Mini receivers accept FLAC up to 48 kHz. AirPlay decodes mono or stereo MP3, FLAC and PCM WAV at 8-384 kHz and converts AAC, ALAC, Opus, Ogg Vorbis, WMA, APE and DSD. Unsupported files, CUE tracks and audiobooks cannot be beamed. See the Beam guide for controls and limits. Hebrew letters show, but right-to-left ordering is not corrected. Read the tour's limits and privacy disclosure. This project is not affiliated with or endorsed by FiiO, Snowsky, or Ingenic.

How it works

diskOS replaces the stock interface while keeping the stock player and audio engine for local playback. Beam plays through the selected receiver. The installer extracts your official FiiO firmware locally, saves a stock image for restore, and adds diskOS to a new root filesystem image. It flashes that image over the Disc's mask-ROM USB mode and verifies the written blocks. A boot hook starts the diskOS UI; the stock UI remains available as a fallback. See the hardware notes for the device layout.

Documentation

Start with the documentation index for installation, the screen-by-screen tour, development notes, hardware research, privacy, and license information.

Contributing

Bug reports, hardware findings, documentation fixes, and focused patches are welcome. Read CONTRIBUTING.md before changing flashing or security-sensitive code. Report vulnerabilities privately through SECURITY.md.

License and support

The installer, scripts, and documentation are MIT licensed; see LICENSE. The on-device UI source in ui/ is GPL-3.0-or-later; see ui/COPYING. The website HTML, CSS, JavaScript, and diskOS-owned screenshot images in site/ are MIT licensed under LICENSE. This grant covers only rights held by diskOS contributors; third-party artwork and trademarks remain with their respective owners. Website fonts retain their own licences; see licenses/README.md. Third-party license details and corresponding source are listed in NOTICE.md, SPL_SOURCE.md, and licenses/.

DiskOS is an open-source hobby project maintained by b0hemia, with community contributions. Tips are optional, but they help keep testing, reverse-engineering, documentation, and release work moving.

Support diskOS on Ko-fi

Warning

Do not redistribute generated diskos_*.bin images. They contain FiiO's root filesystem. Build them locally from firmware you obtained from FiiO and share the installer instead.

Espejo archivado desde el repositorio oficial de GitHub · Visitar en GitHub
Fecha de captura: 2026-11-14