The Dreamcast is probably best known as the swansong of Sega’s ambitions as a gaming console manufacturer, but perhaps lesser known is the fact that you can run Linux on it. In a deep-dive by [Cameron Kaiser] over at the Old VCR blog, it is demonstrated what it takes to make this feat even work in 2023, and what one can expect from a system with a 200 MHz HItachi SuperH SH-4 CPU, 16 MB of RAM and the luxuries of VGA and network interfaces.
What’s interesting about Dreamcast Linux is that it was among the first times that Linux got put on a gaming console, even if it wasn’t entirely official or remotely supported by Sega. In fact, the fact that it works at all has its roots firmly in an exploit that was discovered shortly after the Dreamcast’s release. While Dreamcast discs are generally in a format called GD-ROM (Gigabyte Disc), early on it also supported the MIL-CD standard, which was Sega’s ill-fated attempt at creating multimedia CDs with MIL-CDs.
Not only did MIL-CDs flop in the market, the support form in Dreamcast units also provided a juicy exploit via the firmware that handles detecting and switching between GD-ROM and the much more constrained, audio-only MIL-CD mode. Later Dreamcast models dropped MIL-CD support and will thus also not boot Dreamcast Linux, which is an important gotcha to keep in mind when dragging out a Dreamcast for some Linux action.
As for running Linux on a Dreamcast, it’s pretty much what you’d expect from running it on such a constrained, RAM-disk only device. While [Cameron] was able to use workarounds such as swap-over-NFS to increase functionality, a lot more work remains to be done. Linux SuperH support seems to have petered out around the 2.6.x era, which would seem to have cemented the fate of Dreamcast Linux and similar SuperH platforms.
We’re curious, would double the RAM make a difference to this Linux platform?
11 thoughts on “Dreamcast Linux: Looking Back At Linux On A SuperH-based Gaming Console”
It’s got an IDE bus, give it a hard drive (there eas a zip drive for it)
The schematics are out there but an SD card in the serial port is much cheaper and more reliable.
I suspect the whole “later consoles can’t boot CD-Rs” thing is possibly just a rumor, or perhaps only in certain regions. Every system I’ve seen booted them just fine, though they were all US region.
It also ran NetBSD
It’s not a rumor – I bought one (us model) unknowingly off of eBay. It ran retail games fine, but I went through a dozen cdrs before I realized it was one of the later models. Later on I replaced the rom with one programmed with a different bios and it works like normal now and has the developer boot screen too
The support was dropped very late in the DC’s (very short) lifespan, so only a small number of units are affected. Certain limited editions are nerfed (iirc the Sakura Taisen JP model was), but ordinary units are highly likely to be ok.
And of course no network updates so no backsies like Sony did with the PS3.
I actually got this working back in 2001! I had the keyboard attachment for Phantasy Star Online, and as I recall it actually worked. Wasn’t very useful, but it worked!
It’s possible some of the issues could be solved by getting it running on Naomi, which would have the added swag of making it the first (non-x86) Linux on an arcade board.
When is someone going to make new clones of the broadband adapter for Dreamcast? The 10 megabit LAN adapter is relatively easy to find and not too costly, but it’s useless since it only worked with a limited number of software discs and IIRC they were only for a long gone service in Japan.
The 100 megabit BBA was for online games and there’s probably some SEGA net emulation service still going so diehard PSO players can still use the game.
ScummVm still Supports dreamcast ( i think ), thats my final use
“Linux SuperH support seems to have petered out around the 2.6.x era, which would seem to have cemented the fate of Dreamcast Linux and similar SuperH platforms.”
No surprise. Linux v2.4 was the last legacy friendly Linux kernal (ISA bus hardware comes to mind).
Back then, kernal v2.6 caused nothing but headaches and was better avoided.
The SH-2 patent expired in 2016, and there is an attempt to bring SH-2 back to foundries, under the name J-core: https://en.wikipedia.org/wiki/SuperH#J_Core
I don’t know about the SH-4 one, though.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)