Rockbox is a
free and open-source software replacement for the OEM
firmware
In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide ...
in various forms of digital audio players (DAPs) with an original kernel. It offers an alternative to the player's
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
, in many cases without removing the original firmware, which provides a plug-in architecture for adding various enhancements and functions. Enhancements include
personal digital assistant
A personal digital assistant (PDA), also known as a handheld PC, is a variety mobile device which functions as a personal information manager. PDAs have been mostly displaced by the widespread adoption of highly capable smartphones, in part ...
(PDA) functions, applications, utilities, and games. Rockbox can also
retrofit video playback functions on players first released in mid-2000. Rockbox includes a voice-driven user-interface suitable for operation by
visually impaired users.
Rockbox runs on a wide variety of devices with very different hardware abilities: from early
Archos players with 1-bit
character cell-based displays, to modern players with high resolution color displays, digital optical audio hardware and advanced recording abilities.
History
The Rockbox project began in late 2001 and was first implemented on the early
Archos series of hard-disk based MP3 players/recorders (including the flash-only model Ondio), because of owner frustration with severe limitations in the manufacturer-supplied user interface and device operations. These devices have relatively weak main
central processing unit
A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, an ...
s (CPU), and instead offload music playback to dedicated hardware MP3 decoding chips (MAS).
Rockbox was unable to significantly alter playback abilities. Instead, it offered a greatly improved user interface and added
plug-in
Plug-in, plug in or plugin may refer to:
* Plug-in (computing) is a software component that adds a specific feature to an existing computer program.
** Audio plug-in, adds audio signal processing features
** Photoshop plugin, a piece of softwar ...
functions absent in the factory firmware. Rockbox can be permanently flashed into flash memory on the Archos devices, making it a firmware replacement.
Versions of Rockbox have since been produced for more sophisticated devices. These perform audio decoding in
software
Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work.
...
,
allowing Rockbox to potentially support many more music formats than the original firmware, and adding the extensibility and increased functions already present in the Archos ports. Rockbox is run from the hard drive or flash memory after being started with a custom boot loader, so to upgrade Rockbox, users need only copy the files onto the player's drive and restart the device. Reflashing is only needed when changing the boot loader, and on some platforms is not needed at all.
The first of these ports, beginning in late 2004, was for the
ColdFire-powered devices manufactured by
iriver, focusing on the
H1xx series of hard drive players (H110/H120/H140). About one year later, a port for the
H3xx series became functional, offering similar functions.
In late 2005, work began on a port of Rockbox to Apple's iPod portable players based on CPUs from
ARM Ltd.
Arm is a British semiconductor and software design company based in Cambridge, England.
Its primary business is in the design of ARM processors (CPUs). It also designs other chips, provides software development tools under the DS-5, RealView an ...
incorporated into
systems on a chip sold by
PortalPlayer. Throughout 2006, Rockbox ports were made available for a variety of iPod models. Beginning in 2007, ports became available for a large number of additional ARM based targets, including players from
Sandisk,
Toshiba,
Olympus
Olympus or Olympos ( grc, Ὄλυμπος, link=no) may refer to:
Mountains
In antiquity
Greece
* Mount Olympus in Thessaly, northern Greece, the home of the twelve gods of Olympus in Greek mythology
* Mount Olympus (Lesvos), located in Les ...
and
Philips
Koninklijke Philips N.V. (), commonly shortened to Philips, is a Dutch multinational conglomerate corporation that was founded in Eindhoven in 1891. Since 1997, it has been mostly headquartered in Amsterdam, though the Benelux headquarters is ...
in addition to newer Apple and iRiver players based on a variety of ARM7, ARM9 and ARM11 series processors. During this time, extensive work was conducted optimizing open source audio decoders for each of the ARM series processors. In 2008, porting began to processors based on the
MIPS architecture. In 2010, work began on supporting "hosted" architectures where Rockbox runs as an application inside of more complex
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
.
all Rockbox ports have been accomplished by reverse engineering with little or no manufacturer assistance. As free software, many Rockbox developers and supporters hope to eventually see official manufacturer support for new ports, or at least unofficial assistance in porting Rockbox to new devices. Only a few companies have expressed interest in Rockbox, and none have officially contributed code to the project or included it with their hardware. The Sansa e200v1 port is the first to be started at the request of the hardware manufacturer, who gave the Rockbox team samples of their devices.
Rockbox is continuously developed, with new
Git builds being released after every source change, and stable releases every 4 months for targets deemed sufficiently mature.
Additionally builds are often available to developers of unsupported targets, which, while somewhat functional, are typically not ready for general users due to incomplete features or poor stability.
As of 2019, there have been no new ports released.
Future
Rockbox is targeted primarily at
digital audio players, rather than the much more powerful general-purpose devices (such as
smartphone
A smartphone is a portable computer device that combines mobile telephone and computing functions into one unit. They are distinguished from feature phones by their stronger hardware capabilities and extensive mobile operating systems, whic ...
s and
tablet computer
A tablet computer, commonly shortened to tablet, is a mobile device, typically with a mobile operating system and touchscreen display processing circuitry, and a rechargeable battery in a single, thin and flat package. Tablets, being comput ...
s) that have been increasing in popularity since 2010. Some authorities expect the former class of devices to become obsolete in the next few years.
Daniel Stenberg, a founder of the Rockbox project, envisions the project evolving away from a standalone Rockbox operating system to Rockbox as a media player application that runs under
mobile operating system
A mobile operating system is an operating system for mobile phones, tablet computer, tablets, smartwatches, smartglasses, or other non-laptop personal computing, personal mobile computing devices. While computers such as typical laptops are "mobi ...
s, such as
Android
Android may refer to:
Science and technology
* Android (robot), a humanoid robot or synthetic organism designed to imitate a human
* Android (operating system), Google's mobile operating system
** Bugdroid, a Google mascot sometimes referred to ...
,
iOS,
Sailfish OS or
Tizen:
A project to port Rockbox to run as an application under a full-fledged operating system was accepted for
Google
Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
's 2010
Summer of Code
The Google Summer of Code, often abbreviated to GSoC, is an international annual program in which Google awards stipends to contributors who successfully complete a free and open-source software coding project during the summer. , the program is ...
and completed. Currently, Rockbox runs on Android based players, but integration into Android and conversion to work with touch based devices is ongoing. Subsequently, an anonymous Chinese developer unofficially ported Rockbox to
Palm's
WebOS.
Customization

Subject to the limitations of each particular platform, the appearance of Rockbox can be customised in various ways. Fonts and foreground and background colours can be added and selected, while a simple
markup language can be used to create themes for the menu and playback screens. These themes can include backgrounds and other images (such as icons), plus various formats for file names,
ID3 tags, album art, file progress, and time and system information.
Rockbox has essentially been a file-tree based player, to which folders could be dragged and dropped and then navigated by folder structure. However, more recent versions have included a complementary database feature which allows the player to compile information from the files' ID3 tags. The user can then navigate the files regardless of file structure.
Features
Target status
Rockbox has many features additional to those supported by the original operating firmware, but in many cases there are limitations. On platforms classified as "stable" and supported, the device can be used as a digital music player, but even on some such platforms Rockbox does not support charging or USB; the player must be dual-booted into the original firmware to be charged or to transfer files. Some platforms are classified as "unstable", but supported; those deemed "unusable" are not supported, and their use is not recommended. Some porting projects are in a pre-development hunting and gathering stage, with no code written.
[Rockbox Target Status]
/ref>
Codecs
Rockbox on software decoding platforms (non-Archos) supports playback of twelve lossy codecs (depending on how one counts), five lossless, two uncompressed and twelve miscellaneous formats. This makes a conservative total of 30 supported audio formats, although a few of them do not operate in realtime on all platforms. Extensive work has gone into optimizing each codec, with FLAC, Ogg Vorbis, WMA, APE, TTA, MPC, Wavpack, ATRAC3, Cook and WMA Pro among the fastest known integer implementations for those formats.
Lossy formats
* MPEG audio layers I-III (MP3/ MP2/ MP1)
* Ogg Vorbis
* MPEG-4 AAC(-LC/HE/HEv2 profiles) (in MP4 or RM containers)
* Musepack
* AC3 (raw or RM container)
* WMA Standard
* WMA Professional
* Speex
* Cook
* ATRAC3
Adaptive Transform Acoustic Coding (ATRAC) is a family of proprietary audio compression algorithms developed by Sony. MiniDisc was the first commercial product to incorporate ATRAC in 1992. ATRAC allowed a relatively small disc like MiniDisc to h ...
* The lossy portion of WavPack hybrid files
* Opus
Lossless formats
* FLAC
* ALAC ALAC may refer to:
* Alcohol Advisory Council of New Zealand, autonomous Crown entity for promoting alcohol moderation
* Aluminium acetate (AlAc), a number of different salts of aluminum with acetic acid
* Apple Lossless Audio Codec, an audio cod ...
* WavPack
* Shorten
* Monkey's Audio
* TTA
Uncompressed formats
* WAV
* AIFF
Together they include over a dozen different PCM
Pulse-code modulation (PCM) is a method used to digitally represent sampled analog signals. It is the standard form of digital audio in computers, compact discs, digital telephony and other digital audio applications. In a PCM stream, the amp ...
and ADPCM
Adaptive differential pulse-code modulation (ADPCM) is a variant of differential pulse-code modulation (DPCM) that varies the size of the quantization step, to allow further reduction of the required data bandwidth for a given signal-to-noise rati ...
formats.
Miscellaneous formats
In addition, there are playback of game audio types ADX, SID, NSF, SAP, SPC, AY, GBS, HES, KSS, SGC, VGM, and VGZ. The MOD tracker format, and the Yamaha SMAF are also now supported.
Some profiles in Monkey's Audio are not real time on all targets due to very high CPU needs. Also, Rockbox will not play files with a digital rights management (DRM) scheme.
Rockbox features
Beside the ability of playing and recording audio files, Rockbox offers many playback enhancements that other firmware packages may not have implemented yet. Listed below are a handful of these features.
* Gapless playback
* Crossfading
* ReplayGain[Software decoding targets only]
* 10 band fully parametric equalizer
* Variable speed decoding with pitch correction
* Crossfeed
* OTF ("on the fly") playlists
* True random shuffle (fresh randomly shuffled list every time)
* Custom UI themes
* Dynamic Playlists (queue files to play next, or in other parts of a dynamic playlist)
* Stereo voice/MIC & FM radio recording to WAV/AIFF/WavPack (lossless) and MP3 (limited model/device/target support)
* Remote control (supporting devices)
* Digital S/PDIF input/output (supporting devices)
* Last.fm support (even on players lacking RTC)
* Cue sheet support
* Album art
* Sleep timer
Plug-ins
Rockbox developers can create plug-ins, which provide the user with other enhancements that may not be available on various firmware
In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide ...
modules.
Available plug-ins include:
* JPEG viewer (16 bit color/129 shade greyscale)
* Rockboy Game Boy emulator (port of Gnuboy)
* ZXBox ZX Spectrum emulator (port of Spectemu)
* '' Doom'' (port of the PrBoom engine)
* '' Duke Nukem 3D'', '' Quake'', and '' Wolfenstein 3D'' running atop a version of the Simple DirectMedia Layer runtime
* XWorld, a clone of Another World
* WAV to MP3 and Wavpack encoder
* MPEG video player[The mpegplayer plug-in supports ]MPEG-1
MPEG-1 is a standard for lossy compression of video and audio. It is designed to compress VHS-quality raw digital video and CD audio down to about 1.5 Mbit/s (26:1 and 6:1 compression ratios respectively) without excessive quality loss, mak ...
and MPEG-2
MPEG-2 (a.k.a. H.222/H.262 as was defined by the ITU) is a standard for "the generic coding of moving pictures and associated audio information". It describes a combination of lossy video compression and lossy audio data compression methods, w ...
video streams with MPEG audio (layer II/III) multiplexed into .mpg files with no hard limits on frame rate
Frame rate (expressed in or FPS) is the frequency (rate) at which consecutive images ( frames) are captured or displayed. The term applies equally to film and video cameras, computer graphics, and motion capture systems. Frame rate may also ...
or bit rate. Files must be encoded at native screen resolution. Seeking is now implemented
/ref>
* PictureFlow, an album art viewer similar to Apple's Cover Flow
* Various games including 2048, Sudoku, Solitaire, Chess, Minesweeper, Pong and many others (see https://www.rockbox.org/wiki/PluginIndex for an official list of plug-ins)
* Musical Instrument Digital Interface (MIDI) player, real-time on some targets.
* MikMod
A music tracker (sometimes referred to as just tracker for short) is a type of music sequencer software for creating music. The music is represented as discrete musical notes positioned in several channels at discrete chronological positions on a ...
, used to play multiple module file formats
Architecture
Rockbox uses a simple kernel, with a flat memory model and single process, letting it run on platforms without a memory management unit. Thin threads
Thread may refer to:
Objects
* Thread (yarn), a kind of thin yarn used for sewing
** Thread (unit of measurement), a cotton yarn measure
* Screw thread, a helical ridge on a cylindrical fastener
Arts and entertainment
* ''Thread'' (film), 2016 ...
run cooperatively
Cooperation (written as co-operation in British English) is the process of groups of organisms working or acting together for common, mutual, or some underlying benefit, as opposed to working in competition for selfish benefit. Many animal a ...
, returning control to a scheduler that prioritizes the audio thread; the only form of preemption is through interrupt
In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted ...
s. The operating system and plug-ins are written in C, with assembly
Assembly may refer to:
Organisations and meetings
* Deliberative assembly, a gathering of members who use parliamentary procedure for making decisions
* General assembly, an official meeting of the members of an organization or of their representa ...
used for code that is device- and platform-specific, and performance sensitive. The simple and lightweight architecture allows Rockbox to run on a variety of targets, with memory ranging from 1 to 64 MB, and CPU speeds ranging 12 to 532 MHz. Rockbox also provides support for multicore and asymmetric multiprocessor An asymmetric multiprocessing (AMP or ASMP) system is a multiprocessor computer system where not all of the multiple interconnected central processing units (CPUs) are treated equally. For example, a system might allow (either at the hardware or o ...
systems based on ARM, ColdFire, MIPS and SH. Several codecs can be parallelized across 2 CPU cores for increased power efficiency, and the HWCODEC interface allows for dedicated audio decoder DSPs.
Rockbox Utility
The Rockbox Utility is a free computer application, available for Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
, Mac OS X, and Microsoft Windows, built using Digia Qt platform, that is used to install and manage Rockbox on DAPs. Rockbox Utility provides automatic installation of Rockbox, as well as themes and voice files, directly onto a DAP with minimal user interaction. Rockbox Utility is updated frequently as support for new devices is added.
See also
* iPodLinux
References
External links
*
* FLOSS Weekly �
43: Rockbox
TWiT.tv (network) podcast with Paul Louden of Rockbox
{{Media player (application software), free
Custom firmware
Digital audio players
Embedded operating systems
Free software projects
Free software primarily written in assembly language
Free software programmed in C
Free media players
Free and open-source Android software
IPod software
Lua (programming language)-scriptable software
Portable media players