# 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** 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
- 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 !

