This Week in Redox 36

By goyox86 on

This is the 36th post of a series of blog posts tracking the development and progress of Redox, the Rust operating system. If you want to know more about Redox in general, visit our Github page.

(edited by @goyox86)

PSA

If you have any questions, ideas, or are curious about Redox, we recommend joining #redox on irc.mozilla.org, our Discourse forum or you can get an invite to our chat by sending an email request to info@redox-os.org.

What’s new in Redox?

Hello again!

Welcome to another issue of TWiRx!

First of all, Sorry for the gap between the last release and this one. It has just been crazy at work!

Maybe the most exciting news for this period is the birth of a new project, relibc. Yes!, A C standard library written in Rust. Why? Mainly because it’s easier to develop than newlib (our current C library), better cross platform support and it has the potential to improve security. It’s a cool project with great potential and needs tons of help! We would be happy to mentor you, just send a mail to info@redox-os.org and we will give you access to our Mattermost or just ask on the Discourse forum for more info.

As usual, we start our journey from the bottom of the stack making our way up to userland. There at the bottom, we have the kernel, where Mr @jackpot51 switched to a linked list allocator and added the ACPI cargo feature. He also shipped a fix for a bug the signals mechanism. Basically, if a signal was delivered while the process was blocked, it would handle the signal and then go back to an unblocked state.

Moving up a bit, we get to the drivers level, where we have a couple of fixes for vesad and ps2d by @xTibor and @jackpot51 respectively. The vesad one was related to Unicode character input and the one in ps2d was related to resizing ps2d bounding box when vesad resizes. Also, @dlrobertson allowed PCI config space parsing to handle types.

One of the surprising news on this issue, is related to Ion, Redox’s shell. There has been significantly less activity on it, mainly because of the fact that @mmstick Ion’s maintainer and original creator is transitioning to a new job. He has been busy with System76-related Rust projects. Particularly distinst, and recently a GTK3 front-end for muff. We are glad he is doing great!

Anyways, here is what happened in Ion in the last few weeks: @abeaumont fixed some typos in the manual, @Sag0Sag0 made popd/pushd update PWD and @forbjok fixed cd’ing into a symlinked directory.All of this, along various issues fixes by @Sag0Sag0 and @zen3ger.

In the cookbook front, most of the activity came from @jackpot51 and @xTibor in the shape of updates and tweaks for the rust and cargo packages, a new package for netsurf plus lots of improvements to the sdl package: updates video to the latest orbital protocol, support for mouse wheel scrolling and middle/right buttons, the implementation of SDL_RESIZABLE and SDL_WM_SetCaption along with a fix for a page fault on SDL_Quit.

Our next station is GUIs where Orbclient, the Orbital client library, saw a few improvements, such as the implementation of faster image rendering and the implementation of parallel rendering and window overwriting by @robbycerantola.

Orbutils was ported to the most recent version of the users crate by @MggMuggins, FileManager got a fix for a panic on Unicode filenames.

Orbterm, Redox’s terminal emulator (also compatible with Linux) saw a fix for Unicode character input by @xTibor.

Also GUI related, the Sodium text editor compilation was fixed by @jamessral.

Our users crate has been under a lot of activity, mostly from @MggMuggins who implemented: removal of users and groups, “unset” passwords (not to be confused with blank ones), improvements of users and groups writing, timeouts and lastly he brought iterators over users and groups back. Nicely done!

As usual, our last stop is on the *_utils crates: Userutils, Coreutils and Netutils.

Userutils was ported to users’s new API. It got also implementations for usermod, groupmod, userdel and groupdel added to the migration from our own ArgParser to the more powerful clap-rs crate. All of this by @MggMuggins.

In Coreutils, @dlrobertson made the update to the new users API.

Finishing with Netutils where @batonius implemented dhcpd support for netcfg and @Nickforall fixed deprecation warning on the ping and dns binaries.

Now I leave you with the details!

See you soon!

Kernel

The Redox microkernel

Drivers

Redox OS Drivers

Ion

The Ion Shell. Compatible with Redox and Linux.

Cookbook

A collection of package recipes for Redox.

Orbtk

The Orbital Widget Toolkit. Compatible with Redox and SDL2.

Orbclient

The Orbital Client Library. Compatible with Redox and SDL2.

Orbutils

The Orbital Utilities. Compatible with Redox and SDL2.

Orbterm

Orbital terminal, compatible with Redox and Linux

Sodium

Sodium: The Text Editor

Users

Redox OS APIs for accessing users and groups information

Userutils

User and group management utilities

Coreutils

The Redox coreutils.

Netutils

Network Utilities for Redox

ptyd

Psuedo-terminal daemon

Book

The Redox book

Handy links

  1. The Glorious Book
  2. The Holiest Forum
  3. The Shiny ISOs
  4. Redocs
  5. Fancy GitHub organization
  6. Our Holy Grail of a Website
  7. The Extreme Screenshots

New contributors

If I missed something, feel free to contact me @goyox86 or send a PR to Redox website.