RetroDebian Live
RetroDebian Live is a custom live distro built on Debian Etch for retro gaming on classic x86 hardware.
It is made for Pentium II and Pentium
III, with one goal:
Deliver a fast, light, period-appropriate Linux system, properly
configured for old games, old GPUs, and old hardware
experiments.
This is not a modern desktop squeezed onto old hardware, it is a purpose-built retro system.
Features
- Debian Etch userspace
- Custom 2.6.24-based kernel
- Live boot with SquashFS + UnionFS
- Lightweight fined-tuned Fluxbox desktop
- Fast startup and low overhead
- Built as a base for 3dfx, Glide, UT99, and hardware test tools
- Missmatched Voodoo 2 SLI support
Current state
The system already boots and runs as a real live distro with the custom kernel.
The next steps are:
- More tools / configuration shortcuts
- MesaFX integration
- Derived version with other games ( probably limited to demo because most of them arent free )
- Online apt repository for iso self-update
- improved / cleaned build pipeline
Philosophy
RetroDebian Live is built around a simple idea:
old hardware deserves software that stays out of its way.
Small, responsive, understandable, and tuned for retro gaming.
Multiple ISO will be generated, including different GPU Drivers.
The current focus is on 3DFX Voodoo2 :)
Technical notes
The project is built with a custom kernel, live-helper,
Docker, and Jenkins, with the kernel and ISO handled as separate build
stages.
The choice of Debian Etch is a compromise as it offers an official way to have updated kernel through etchnhalf (well.. still early 2.6 branch :) ) but still uses older user-space software. It allows better hardware compatibility with less overhead.
The Desktop environment is carefully configured to provide a nice user-experience, far ahead from Debian Fluxbox default.
This imply a few hacks because we are using an old glibc version. Some games / tools will have to be patched because the kernel supports more feature than glibc expose.
The Kernel is tuned for gaming experience, but not necessary for more fps. Resposivness matter more than FPS. Benchmark should focus more on 1% low FPS rather than medium FPS as it reflect more user experience.
All the components are built with pentium 2 optimisations (as to me its the minimum for a decent gaming experience).
If there is enough demand I might deliver versions for pentium 1 / K6, but thats not the priority.
3DFX Driver stack is manually cleaned and tuned from source code, and still have some room for improvment:
- Updated core based on current Forks ( this release already uses a not-too-old version but there is newer, and merging is better).
- MMX ASM optimisations are enabled but not everywhere because there is some incompatibilities with Linux function calling. I will try to work on that but as I donc know how to code assembly, I am struggling, help would be appreciated !
Xorg from this era doesnt has proper hardware autodetection so I wrote my own. It seems to work well on most case but of course I dont have all the existing hardware to test everything … If you find incompatibilities feel free to open as Issue here.
Audio is relying on Alsa auto-detection, and is also poorly tested ( I enabled most available modules in the kernel tho).
The ISO works in virtualization but lack hardware support. At leat on KVM it boots up to the desktop and is 50% usable. There is a problem with mouse support. We would like to have proper tablet device support but it seems Xorg is too old compared to KVM hardware emulation. It probably would need manual patching. But as this iso targets real hardware first, this is not really a priority.