Skip to content
Snippets Groups Projects

Add the December 2024 report

Merged Ribbon requested to merge december-report into master
All threads resolved!
@@ -22,24 +22,29 @@ Jacob Lorentzon (4lDO2) will be presenting his work on Redox Signals in the Micr
- https://fosdem.org/2025/schedule/event/fosdem-2025-5973-redox-os-a-microkernel-based-unix-like-os/
- https://fosdem.org/2025/schedule/event/fosdem-2025-5670-posix-signals-in-user-space-on-the-redox-microkernel/
## Self-Hosting Improvements
Anhad Singh successfully compiled GCC, GNU Binutils, GNU Make and GNU Bash with dynamic linking, this is one part of the goals to allow more programs to work on Redox and dynamically link relibc to speed up the Redox development.
## Dynamic Linking for Redox
Anhad Singh's Summer of Code project to implement dynamic linking on Redox continues with huge strides.
He successfully compiled GCC, GNU Binutils, GNU Make and GNU Bash with dynamic linking.
He also implemented dynamic linking support for the Redox triple on GCC.
Dynamic linking is an key part of our Stable ABI strategy, and will help us in our work towards self-hosted development. It will also result in faster compilation time and more space efficient userspace programs.
Read his [report on the work so far](/news/01_rsoc2024_dynamic_linker).
## Kernel Improvements
- Andrey Turkin fixed the Raspberry Pi 3 support
- Andrey Turkin fixed a regression in the Raspberry Pi 3B support
- Zhouqi Jiang improved the [OpenSBI](https://github.com/riscv-software-src/opensbi) support for RISC-V
## Driver Improvements
- bjorn3 did many improvements and cleanup on graphical drivers
- bjorn3 did many improvements and cleanup on video drivers
- bjorn3 did many refactorings on the graphics and input subsystems
- bjorn3 migrated all video drivers to the `redox-scheme` library
- bjorn3 created the `driver-graphics` library to unify code
- bjorn3 created the `graphics-ipc` library to unify code
- bjorn3 reduced the `fbcond` daemon and created the `fbbootlogd` daemon to fix boot deadlocks
- bjorn3 removed blocking on any graphics driver
- bjorn3 updated the `redox-scheme` library version
- bjorn3 fixed some warnings
- Andrey Turkin fixed the BCM2835 driver (Raspberry Pi 3 B+)
@@ -48,9 +53,16 @@ He also implemented dynamic linking support for the Redox triple on GCC.
- bjorn3 improved the VirtIO-GPU driver to allow Redox guest video size to follow the QEMU window size on the host system
- bjorn3 implemented window resizing support using VirtIO-GPU
- bjorn3 fixed a crash on the VirtIO-GPU driver when multiple displays are attached
- bjorn3 fixed a memory bug on the VirtIO-GPU driver
- bjorn3 improved the VirtIO-GPU driver performance
Bjorn3 has been working on improvements to VirtIO-GPU.
He has improved the GPU driver to allow Redox guest video size to follow the QEMU window size on the host system,
including window resizing support.
He fixed a crash on the VirtIO-GPU driver when multiple displays are attached.
He also fixed a memory bug and improved the VirtIO-GPU driver performance.
Here is his [tracking issue for the work in progress](https://gitlab.redox-os.org/redox-os/redox/-/issues/1428).
## System Improvements
@@ -73,10 +85,12 @@ He also implemented dynamic linking support for the Redox triple on GCC.
- Josh Megnauth implemented the `stdnoreturn.h` function group
- bitstr0m implemented the `cpio.h` function group
- bitstr0m implemented the `glob.h` function group
- Guillaume Gielly implemented the `tar.h` function group
- Guillaume Gielly implemented the `monetary.h` function group
- Guillaume Gielly implemented the `strfmon()` function
- Darley Barreto implemented the missing functions on the `string.h` function group
- Ron Williams fixed the `popen()` function and fixed/improved its tests
- plimkilde reimplemented the `memcpy()` function using slices instead of raw pointers, fixed unaligned read/write and added a test
- plimkilde added TODOs for the remaining POSIX functions
## Networking Improvements
@@ -85,6 +99,7 @@ He also implemented dynamic linking support for the Redox triple on GCC.
- Guillaume Gielly implemented the `ifconfig` tool for network management on the Redox network stack
- Guillaume Gielly improved the `ping` tool
- Guillaume Gielly did a code cleanup and fixed compilation warnings
- Josh Megnauth fixed an overflow on `MAX_DURATION`
## Programs
@@ -93,7 +108,7 @@ He also implemented dynamic linking support for the Redox triple on GCC.
- Josh Megnauth fixed GLib
- Josh Megnauth added a demo for OpenJazz
- Amir Ghazanfari improved the process to quit the Sodium text editor
- Ron Williams fixed the GNU Bash glob
- Ron Williams fixed a GNU Bash glob regression
## Build System Improvements
@@ -102,7 +117,6 @@ He also implemented dynamic linking support for the Redox triple on GCC.
- Anhad Singh implemented dynamic linking functions on Cookbook
- Anhad Singh implement a way to install the runtime dependencies of recipes using the installer
- Ribbon fixed the Debian/Ubuntu target on the `native_bootstrap.sh` script
- Ron Williams fixed the build system after breaking changes
- Ron Williams improved the error messages from the installer
## Documentation Improvements
@@ -112,6 +126,17 @@ He also implemented dynamic linking support for the Redox triple on GCC.
- Ribbon documented [how to mount a RedoxFS partition](https://gitlab.redox-os.org/redox-os/redoxfs#how-to-mount-a-partition)
- Jack Lin fixed broken links on the Cookbook README
## How To Test The Changes
To test the changes of this month download the `server` or `desktop` variants of the [daily images](https://static.redox-os.org/img/).
(Use the `server` variant for a terminal interface and the `desktop` variant for a graphical interface, if the `desktop` variant doesn't work use 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
Sometimes the daily images are outdated and you need to build Redox from source, to know how to do this read the [Building Redox](https://doc.redox-os.org/book/podman-build.html) page.
## Join us on Matrix Chat
If you want to contribute, give feedback or just listen in to the conversation,
Loading