Newshot

This Month in Redox - October 2026

Original text(via Lobsters)

This Month in Redox - October 2026

Redox OS is a complete Unix-like general-purpose microkernel-based operating system written in Rust. October was a very exciting month for Redox! Here’s all the latest news.

Donate to Redox

If you would like to support Redox, please consider donating or buying some merch!

Golang On Redox!

Wildan Mubarok ported the official Go programming language compiler after months of porting iterations. It supports both cross-compilation and self-hosted compilation of Go programs.

The Go compiler uses relibc and does not require an external compiler (GCC). During porting this compiler, it revealed issues in many parts of the system, such as the range-tree library fix mentioned below.

The Go compiler port is currently a fork, as upstreaming will be another effort.

Golang Hello World program running on Redox
Golang Hello World program running on Redox

Redox on Cloud Hypervisor!

MJ Pooladkhay was able to boot Redox on Cloud Hypervisor, as part of his NLnet-funded work on Redox virtualization. This is an important step towards Redox as a web server in the cloud. He also added integration to the Redox build system, to simplify testing.

He wrote this article about this initial work.

Read this page to learn how to use it.

WebKitGTK3 Video Support

Wildan Mubarok fixed the missing codecs in GStreamer using FFmpeg libraries for video playback in WebKit.

  • Mozilla Developer Network HTML5 video example
HTML5 video example on WebKitGTK3 demo web browser
HTML5 video example on WebKitGTK3 demo web browser
YouTube on WebKitGTK3 demo web browser
YouTube on WebKitGTK3 demo web browser

GIMP On Redox!

Wildan Mubarok ported GIMP after some months of work. As GIMP uses the recent Orbital backend of the GTK port, the experience may not be smooth in this initial port.

GIMP running on Redox
GIMP running on Redox

Servo 0.7 Update

Wildan Mubarok updated our Servo fork to version 0.7 after months of work to fix regressions and new bugs.

Servo 0.7.0 running on Redox
Servo 0.7.0 running on Redox

Ratatui 3D Showcase

Ribbon tested the Ratatui 3D rendering of Cornell box demo from ratatui-3d project.

3D Cornell Box demo running on COSMIC Terminal
3D Cornell Box demo running on COSMIC Terminal

NUMA Support Testing

The first real hardware NUMA tests on a Dell Poweredge R420 server were done, which confirms that EuclidDivisionLemma’s effort on NUMA support is complete enough to work.

Tests conducted by EuclidDivisionlemma, showed, on average, a 45.2% reduction in time taken on the NPB MG Workload.

First NUMA benchmark
First NUMA benchmark

Fixed RISC-V Dynamic Linking

lbecher fixed RISC-V dynamic linking, which is the last CPU architecture using static linking in our build system.

It will allow our application testing in RISC-V to easily scale.

Initial Rootless Package Installation

Wildan Mubarok finished the first part of rootless package installation code, which allows the creation of system-wide paths mappings to user equivalent paths.

virtiofs On Redox!

MJ Pooladkhay has completed the virtiofs driver and integrated it into the Redox build system. It’s now possible to share any directory on a Linux host with a Redox VM running under QEMU or Cloud Hypervisor.

For example, the make qemu share=redox command shares the Redox build system directory on Linux to Redox.

Read this page to learn how to use it.

NUMA Information Reporting

EuclidDivisionLemma implemented NUMA hardware information reporting, exposed in /scheme/sys/numa resource.


        NUMA nodes: 4
Node 0:
	CPUs: 0 1 2 3 4 5 6 7
	Memory: 8.00 GiB
Node 1:
	CPUs: 8 9 10 11 12 13 14 15
	Memory: 4.00 GiB
Node 2:
	CPUs:
	Memory: 8.00 GiB
Node 3:
	CPUs:
	Memory: 12.00 GiB
      

Simplified AI Policy

Jeremy Soller simplified the AI policy and the Board Of Directors approved, now it is:

“Redox OS does not accept contributions generated by LLMs (Large Language Models), sometimes also referred to as “AI”.”

Ring Buffers Project Summary

Anhad Singh, Ibuki Omatsu, 4lDO2 and Ron Williams wrote a technical report of the conclusion of the Redox Ring Buffers project.

Bootloader Improvements

  • (boot) MJ Pooladkhay fixed a UEFI exit failure bug due to a stale memory-map key to ExitBootServices

Kernel Improvements

  • (kernel) 4lDO2 reduced the x86 kernel binary file size in ~200 KiB by using naturally aligned kernel stacks on x86
  • (kernel) 4lDO2 did a code cleanup
  • (kernel) 4lDO2 fixed some code warnings
  • (kernel) Wildan Mubarok fixed a CPU context-wide deadlock in futex code
  • (kernel) Wildan Mubarok fixed thread lock ordering in futex code, which fixed a hang
  • (kernel) EuclidDivisionLemma implemented wrappers to libredox to ease the manipulation of scheduler CPU affinity.
  • (kernel) EuclidDivisionLemma fixed incorrect APIC ID reading
  • (kernel) EuclidDivisionLemma fixed more NUMA bugs
  • (kernel) EuclidDivisionLemma fixed some code warnings
  • (kernel) EuclidDivisionLemma did some refactoring and cleanup in NUMA code
  • (kernel) Radek Pietruszewski implemented RISC-V CPU information reporting
  • (kernel) bjorn3 fixed some code warnings
  • (kernel) Val Lorentz fixed some code warnings

Driver Improvements

  • (driver) Jeremy Soller created the audiod library to unify the audio buffer size handling of all sound drivers
  • (driver) MJ Pooladkhay fixed a bug with the device DMA memory lifetime being ended while the device was using it
  • (driver) The “beef” contributor fixed the Intel HD Audio driver’s Function Group Type parameter ID
  • (driver) bjorn3 did some code cleanup

System Improvements

  • (sys) Jeremy Soller added COSMIC Monitor and GTK3 demos to Redox demo variant
  • (sys) bjorn3 moved the Unix domain socket code from the ipcd daemon to a new daemon called udsd because this code was not related to Redox IPC, simplifying the system
  • (sys) bjorn3 did some code deduplication
  • (sys) Ibuki Omatsu replaced/unified the fstat, unlinkat, flink, and frename functions with std_fs_call
  • (sys) Ibuki Omatsu moved the F_SETFD, F_GETFD, and F_DUPFD* fcntl flags from redox_syscall to libredox
  • (sys) Wildan Mubarok fixed a TTY write panic in getty when a CLI application hangs

Relibc Improvements

  • (libc) Wildan Mubarok implemented dladdr and dl_iterate_phdr functions
  • (libc) Wildan Mubarok implemented POLLHUP, POLLERR, EPOLLHUP, and EPOLLER event codes
  • (libc) Wildan Mubarok added a initial link.h function group implementation
  • (libc) Wildan Mubarok added initial locale support: implemented decimal locale support in strtod function, implemented setlocate function and LOCPATH
  • (libc) Wildan Mubarok fixed TLS relocation alignment in LTO compilation
  • (libc) Wildan Mubarok fixed EINTR error handling behavior in futex and kill
  • (libc) Wildan Mubarok fixed the scanf function parsing invalid %d
  • (libc) Wildan Mubarok fixed sigaltstack stack information, SSIZE_MAX type, and stpcpy test on i586
  • (libc) Wildan Mubarok fixed the dl_phdr_info::dlpi_tls_data type
  • (libc) Wildan Mubarok fixed a float_t redefinition error when the same header is used in multiple places
  • (libc) Wildan Mubarok fixed limits.h constant suffixes
  • (libc) Wildan Mubarok fixed the futimens function test
  • (libc) Wildan Mubarok implemented input sanitization in inet_aton function
  • (libc) Wildan Mubarok moved most of unsafe Rust code of poll, epoll, utimensat, futimens, nanosleep, fstat, fstatvfs, and inet_aton functions to leaf functions
  • (libc) Niel D fixed mkdirat function directory permission handling
  • (libc) auronandace implemented __fseterr from Gnulib
  • (libc) auronandace fixed the readv function test
  • (libc) auronandace fixed a typo in POSIX_MADV_DONTNEED constant
  • (libc) auronandace reduced more as casting usage to prevent problems in code refactorings
  • (libc) auronandace enabled some Clippy lints
  • (libc) Konstantin Shabanov fixed and added a getsockopt test
  • (libc) Konstantin Shabanov fixed false-positives when running a single test, due to wrong paths in expected output
  • (libc) Val Lorentz fixed some Clippy warnings

RedoxFS Improvements

  • (rfs) Wildan Mubarok fixed bug in the range-tree library that caused a underflow in fmap implementation

Packaging Improvements

  • (pkg) Wildan Mubarok greatly reduced compressed packaged size when Clang ThinLTO is used

Programs

  • (app) Wildan Mubarok enabled FFMPEG and AAC codec support in GStreamer
  • (app) Wildan Mubarok enabled multi-threading on XZ
  • (app) Wildan Mubarok updated Git version from 2.13.1 to 2.56.0
  • (app) Wildan Mubarok fixed gettext compilation with Clang
  • (app) bjorn3 updated the periodictable and sodium installation paths to comply with Linux FHS
  • (app) auronandace updated rsync from version 3.4.1 to 3.5.1

Build System Improvements

  • (build) Wildan Mubarok fixed Redox toolchain fetch checksum mismatches
  • (build) Wildan Mubarok fixed the build.dev-dependencies recipe data type rule handling difference between cookbook.lock and filesystem configuration
  • (build) Wildan Mubarok added cbindgen to Redoxer image
  • (build) Wildan Mubarok added libunwind to the toolchain
  • (build) Wildan Mubarok changed Clang to use libgcc for runtime consistency
  • (build) Wildan Mubarok implemented dl_iterate_phdr support to libgcc to workaround hangs in recipes compiled with Clang
  • (build) Wildan Mubarok changed toolchain packaging archiver to be deterministic
  • (build) Radek Pietruszewski improved QEMU configuration for NixOS

Documentation Improvements

  • (doc) Wildan Mubarok documented how to do RedoxFS partition manipulation from Linux in dual-boot installation
  • (doc) Wildan Mubarok documented Clang support
  • (doc) Wildan Mubarok improved the self-hosted development documentation
  • (doc) Radek Pietruszewski documented MacOS QEMU instructions
  • (doc) Radek Pietruszewski documented NixOS QEMU instructions
  • (doc) Radek Pietruszewski recommended the livedisk image instead of harddrive image to fix ARM64 and RISC-V boot in QEMU, due to lack of MSI-X support on them
  • (doc) Ribbon documented the driver graphics API migration to Linux DRM API
  • (doc) Ribbon added a introduction to relibc function tracing and updated the kernel system call tracing to also mention userspace tracing
  • (doc) Ribbon documented that Orbital hangs don’t stop the mouse cursor when VirtIO-GPU is used, because the cursor is processed on host
  • (doc) Ribbon documented the Redox build system and Redoxer purposes on Developer FAQ

How To Test The Changes

To test the changes of this month download the server or desktop variants of the daily images.

Use the desktop variant for a graphical interface. If you prefer a terminal-style interface, or if the desktop variant doesn’t work, please try the server variant.

  • If you want to test in a virtual machine use the “harddrive” images
  • If you want to test on real hardware use the “livedisk” images

Read the following pages to learn how to use the images in a virtual machine or real hardware:

  • Running Redox in a virtual machine
  • Running Redox on real hardware

Sometimes the daily images are outdated and you need to build Redox from source. For instructions on how to do this, read the Building Redox page.

Programs

To test the changes on applications and libraries, see if the wanted program is available in the following lists and run the following command to install them: sudo pkg install package-name

  • x86-64 packages
  • ARM64 packages
  • RISC-V packages
  • i586 packages

There’s also a package web interface if you want detailed package information:

  • x86-64 packages
  • ARM64 packages
  • RISC-V packages
  • i586 packages

Join us on Matrix Chat

If you want to contribute, give feedback or just listen in to the conversation, join us on Matrix Chat.

The text above was extracted automatically from the source page and may miss images, tables or code blocks. The original is authoritative.

Published by Lobsters
This site only summarises and aggregates; copyright stays with the original author. Headlines and summaries follow the source — where they differ, the original wins.
Read the original ↗