August was pretty exciting 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!
-[Donate](https://www.redox-os.org/donate/)
-[Patreon](https://www.patreon.com/redox_os)
-[Merch](https://redox-os.creator-spring.com/)
## Massive Performance Improvement On Virtual Machines
4lDO2 reduced the time to make a context switch in a virtual machine by 60-70% !
He disabled the need to make a context switch to get the host system time and sync, it was done by using paravirtualization on [TSC](https://en.wikipedia.org/wiki/Time_Stamp_Counter) using [KVM](https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine).
This improvement is not applicable to Redox running on real hardware, however.
Redox is becoming faster than Linux in some virtual machine workloads (with all exploit mitigations disabled, apples-to-apples comparison), more exciting optimizations are coming.
## Testing Redox
The past few weeks we have been working on polishing Redox a bit,
tweaking VM performance,
squashing some bugs and ensuring the new signals and process lifecycle code is working smoothly.
First impressions are important, and we continue to do our best to improve the Redox experience.
## System Improvements
bjorn3 updated most system components to use the new scheme path format, as we continue to move towards POSIX-compatible paths.
## Relibc Improvements
- bjorn3 removed all code using the legacy scheme path format (URL paths)
- 4lDO2 added fixes on the `forkpty` and `dprintf` tests
## VirtualBox
Ribbon documented the instructions to run the Redox image on VirtualBox. See the [instructions in the book](https://doc.redox-os.org/book/ch02-01-running-vm.html#virtualbox-instructions) if you want to try it out.
## Programs
Perl 5 has been ported to Redox (at least partly)! Perl uses a complicated build system, but contributor Bendeguz Pisch (bpisch) managed to conquer it! We still have some challenges with dynamic library support, but basic perl scripting is now possible on Redox.
bpisch also updated our GNU make to 4.4. Another challenging build system overcome!
Ribbon added the `promote` TODO on the packaging convention for working recipes under the WIP category of Cookbook, it will improve the packagers communication. As many of our WIP packages are now ready to go, they need to be moved to the main categories at `cookbook/recipes`.
Ribbon has been marking recipes with the "promote" TODO comment, to indicate that the package should find a new home in the corresponding main Cookbook category.
If you would like to help test and promote recipes, please join our [GitLab](https://gitlab.redox-os.org/redox-os/redox/) and [Matrix](https://matrix.to/#/#redox-join:matrix.org).
More programs were packaged as usual.
## Build System Improvements
Ron Williams fixed the `make f.recipe-name` command, now developers and testers are able to only download the recipe source again.
He reduced the `make rebuild` command cycle time, by reducing the number of times each package is scanned for updates during a rebuild.
He also created scripts requested by Ribbon to improve the porting workflow.
Ribbon fixed a typo on the scripts that disabled the shebangs.
## Documentation Improvements
The [scheme documentation](https://doc.redox-os.org/book/ch05-00-schemes-resources.html)(system API) is finally up-to-date! thanks to Ron Williams.
We dropped the previous scheme path format (`scheme-name:resource-name`) to reduce the effort to port programs, now the schemes use the Unix path format (`/scheme/scheme-name/resource-name`).
(The `/scheme/` before the scheme daemon name is to avoid it to be treated as a file resource from RedoxFS, removing any confusion)
## Other Improvements
- Ribbon migrated the book recipe contents to `/usr`
- Ribbon packaged the HTML files from the website
## Community Improvements
Lots of new contributors have joined this month! We are excited to have so many new people on board.
People are diving in and looking for ways to help make Redox better!
We added a policy to request that developers add their Matrix or Discord usernames on the "About" section of their GitLab profiles, to improve our awareness of who is submitting merge requests and issues.
Now we also request that people creating issues on GitLab to send the issue links on the chat, to help improve visibility of new issues.
## Join us on Matrix Chat
If you want to contribute, give feedback or just listen in to the conversation,
join us on [Matrix Chat](https://matrix.to/#/#redox-join:matrix.org).