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:pcid-spawner) automatically loads drivers for detected hardware.
Driver Categories
- Storage
- Network
- Graphics
- Input
- System
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: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
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