Skip to content
Snippets Groups Projects

Add the June 2024 report

Merged Ribbon requested to merge june-report into master
@@ -22,15 +22,102 @@ We changed our default wallpaper, title bar and panel bar colors to make the use
(The wallpaper is the "Tarantula Nebula" from NASA, also available on the COSMIC desktop)
## Performance Improvements
4lDO2 doubled the RedoxFS performance by reducing the number of context switch roundtrips per block read and write.
He also applied this improvement on the SATA, NVMe, USB SCSI and VirtIO Block drivers.
## Relibc Improvements
The pread() and pwrite() system calls were implemented on relibc.
## Scheme Improvements
4lDO2 updated the bootstrap and initfs to use the new scheme interface through the `redox-scheme` library.
He also improved the scheme protocol to remove the need for ugly workarounds.
## User-Space Debugging From GDB
Thanks to bjorn3 the GNU Debugger can read the Redox user-space now (where most of the system components run).
## USB Improvements
bjorn3 added a 2ms sleep on the poll lopp of the xHCI driver to reduce the CPU usage a lot.
Quoting his MR description:
"This significantly reduces cpu usage. On my laptop before this change a
single core would be fully loaded while running at 3-4GHz. With this
change it would only be loaded for about 50% while running at 1-2GHz.
This improves battery lifetime while also preventing the fan from
spinning up to a distracting level.
This shouldn't noticably affect latency given that most keyboards and
mice don't support polling at 500Hz anyway."
## PCI Improvements and Cleanup
bjorn3 should explain his improvements here.
He also cleaned up more PCI code as usual on his series of driver cleanups and simplifications.
## VirtIO Improvements
bjorn3 implemented the VirtIO modern transport on x86!
He also removed the legacy transport which is rarely used.
## Recoverable Components
4lDO2 adapted the `lived` system component to be stateless!
On microkernel-basded operating systems most system components are restarted in case of a crash without a system reboot (on-the-fly), a stateless daemon is a requirement to restart system components in case of a crash.
## Programs
Ribbon added an ABI separation on the LLVM recipe, it protect programs with a dependency on LLVM from breakage when the LLVM version is updated.
(Like most Linux distributions does)
He also fixed many recipe scripts, many Rust programs built successfully for the first time!
Many Rust libraries were fixed with the recent changes on Redox, Ribbon is checking the TODOs of each program.
## Build System Improvements
The grnmeira contributor discovered that our "server-minimal" variant lacked network support and created confusion about the name.
Based on the 4lDO2 suggestion for the new variant name, Ribbon renamed the "server-minimal" configuration to "minimal".
He also created the "minimal-net" configuration for network support.
Now the most minimal OS image is called "minimal"
(The system still need more improvements to reduce the CPU and memory usage)
Ribbon added the "Development Tools" package group from Fedora to avoid any possible development package missing and reduce the number of packages on the installation command for the Fedora target on the build system bootstrap script.
## Documentation
Ribbon improved the binary packages explanation and documented the "environment leakage" problem.
Ribbon improved the [binary packages explanation](https://doc.redox-os.org/book/ch02-07-configuration-settings.html#binary-packages) and documented the [environment leakage](https://doc.redox-os.org/book/ch08-05-troubleshooting.html#environment-leakage) problem.
## Website
Ribbon improved our FAQ as always, he improved some benefits of Redox and the image variants information.
He also updated the FAQ to report that we support USB HID devices, improved the Community page to recommend Fractal instead of Nheko as a Matrix client alternative for Element, because it's written in Rust, better maintained and has advanced features.
## Discord Server
Now we have a Discord server! it's for people that don't want to use Matrix and is more convenient for most people.
The messages from Matrix are sent to Discord and the messages from Discord are sent to Matrix througn a Matrix bridge bot.
Once you join the server, request to be a member on the #join-requests room.
You can open the invite [here](https://discord.gg/JfggvrHGDY).
## Join us on Matrix Chat
Loading