Skip to main content

Overview

Redox OS uses a userspace driver model where device drivers run as separate processes outside the kernel. This microkernel approach provides better isolation, stability, and security compared to traditional monolithic kernels.

Base Repository

View essential system components and drivers on GitLab

Key Features

Userspace Drivers

Drivers run as isolated userspace processes

Scheme-based

Accessed through Redox’s URL-like scheme system

Hot-pluggable

Dynamic driver loading and unloading

Fault Isolation

Driver crashes don’t bring down the system

Driver Architecture

The Redox driver model follows the microkernel philosophy:

Driver Initialization

Drivers are initialized through the init system:
The PCI daemon (pcid-spawner) automatically loads drivers for detected hardware.

Driver Categories

Storage Drivers

Drivers for disk and storage devices:
  • NVMe: NVMe SSD support
  • AHCI: SATA controller support
  • IDE: Legacy IDE controller support
  • USB Storage: USB mass storage devices

Base System Drivers

Essential drivers are included in the base package:
The base package includes core drivers needed for system boot and operation.

Driver Schemes

Drivers expose functionality through schemes:

Base Schemes

Network Schemes

IPC Schemes

PCI Driver Management

The PCI daemon manages PCI device drivers:

Network Configuration

Network drivers are configured through the init system:
Network configuration files:

Audio Drivers

Audio device support:

USB Support

USB drivers provide support for:
  • USB storage devices
  • USB input devices (keyboard, mouse)
  • USB network adapters
  • USB serial ports

Driver Development

Developing drivers for Redox:
1

Implement the scheme interface

Create a scheme provider that implements the required operations
2

Register the scheme

Register your driver’s scheme with the kernel
3

Handle requests

Process open, read, write, and other operations
4

Test in isolation

Test the driver in userspace before deployment
Driver bugs only affect the driver process, not the entire system. This makes development and testing safer.

Hardware Compatibility

For detailed hardware compatibility information, see:

Hardware Support

Complete list of supported hardware

Advantages of Userspace Drivers

Stability

Driver crashes don’t crash the kernel

Security

Drivers run with limited privileges

Development

Easier to develop and debug

Updates

Drivers can be updated without rebooting

Resources

Base Repository

Essential drivers and components

Hardware Support

Supported hardware list

Redox Book

Driver development guide

Developer FAQ

Common driver questions

Maintainer

Jeremy Soller (@jackpot51)

Primary maintainer of base drivers