Skip to content
Snippets Groups Projects

0.9.0 release notes

Merged Ron Williams requested to merge rw_van/website:release090 into master
Compare and Show latest version
1 file
+ 145
94
Compare changes
  • Side-by-side
  • Inline
+ 145
94
@@ -59,7 +59,7 @@ improving compatibility with POSIX/Linux libraries and programs
- New build system options and improvements
- Lots of new documentation, lots of updates to reflect recent changes
- A [FAQ](https://www.redox-os.org/faq/) was added to the website
- A [developer FAQ](https://doc.redox-os.org/book/ch09-07-developer-faq.html) was added to the book
- A [Developer FAQ](https://doc.redox-os.org/book/ch09-07-developer-faq.html) was added to the book
- The Redox software ports (recipes) system was almost completely documented
- The [Libraries and APIs](https://doc.redox-os.org/book/ch09-06-libraries-apis.html) page documented our system APIs and libraries
- The [Performance](https://doc.redox-os.org/book/ch09-10-performance.html) page documented how to profile Redox to improve the performance
@@ -69,6 +69,52 @@ improving compatibility with POSIX/Linux libraries and programs
- Our [porting strategy](https://www.redox-os.org/news/porting-strategy/) was explained
- Our [development priorities](https://www.redox-os.org/news/development-priorities-2023-09/) were explained
## Images
It is recommended to try Redox OS in a virtual machine before trying on real hardware. See
the [supported hardware](https://www.redox-os.org/faq/#which-devices-does-redox-support) section for details on what
hardware to select for the best experience.
- Read [this](https://doc.redox-os.org/book/ch02-01-running-vm.html) page to learn how to run the Redox images in a virtual machine
- Read [this](https://doc.redox-os.org/book/ch02-02-real-hardware.html) page to learn how to run the Redox images on real hardware
- Read [this](https://doc.redox-os.org/book/ch02-03-installing.html) page to learn how to install Redox
### Demo
A 1536 MiB image containing the Orbital desktop environment as well as pre-installed demonstration programs.
- [Real Hardware Image](https://static.redox-os.org/releases/0.9.0/x86_64/redox_demo_x86_64_2024-09-06_1221_livedisk.iso.zst)
- [Virtual Machine Image](https://static.redox-os.org/releases/0.9.0/x86_64/redox_demo_x86_64_2024-09-06_1221_harddrive.img.zst)
The demo image includes these additional packages:
- [DOSBox](https://www.dosbox.com/) - A DOS emulator
- Games using PrBoom:
- DOOM (Shareware)
- [FreeDOOM](https://freedoom.github.io/)
- [Neverball and Neverputt](https://neverball.org/) - OpenGL games using LLVMPipe (performance may vary!)
- [orbclient](https://gitlab.redox-os.org/redox-os/orbclient) - An Orbital client demo
- [Periodic Table](https://gitlab.redox-os.org/redox-os/periodictable) - A program for viewing information about chemical elements
- [Terminal games](https://gitlab.redox-os.org/redox-os/games) - Command-line games
- [rodioplay](https://gitlab.redox-os.org/redox-os/rodioplay) - A FLAC/WAV music player
- [Sodium](https://gitlab.redox-os.org/redox-os/sodium): A vi-like text editor
- [sopwith](http://www.sopwith.org/): A classic PC air combat game
- syobonaction - A freeware platforming game
### Desktop
A 512 MiB image containing the Orbital desktop environment and some programs for common tasks. Use this if you want to download a smaller image.
- [Real Hardware](https://static.redox-os.org/releases/0.9.0/x86_64/redox_desktop_x86_64_2024-09-06_1221_livedisk.iso.zst)
- [Virtual Machine Image](https://static.redox-os.org/releases/0.9.0/x86_64/redox_desktop_x86_64_2024-09-06_1221_harddrive.img.zst)
### Server
A 512 MiB image containing only the command-line environment. Use this if the desktop image is not working well for you.
- [Real Hardware](https://static.redox-os.org/releases/0.9.0/x86_64/redox_server_x86_64_2024-09-06_1221_livedisk.iso.zst)
- [Virtual Machine Image](https://static.redox-os.org/releases/0.9.0/x86_64/redox_server_x86_64_2024-09-06_1221_harddrive.img.zst)
## Stability and Performance Improvements
Jeremy Soller and 4lDO2 have made huge improvements to stability and security, fixed many bugs, from easy to very hard, and added several new crates and components to encapsulate common elements.
@@ -99,42 +145,23 @@ Some of bjorn3's contributions include:
- Improvements and bug fixes for many PCI/PCIe drivers
- Removing all the old format paths and replacing them with the new format
- General code cleanup and update of drivers
- Move the driver folders to categories
Many thanks to bjorn3 and all our driver contributors!
## Software Updates
Our toolchains received some updates and currently our Rust, C and C++ toolchains are all recent versions,
which significantly improves compatibility when porting other Linux/POSIX and Rust software.
We also updated important cross-platform libraries and improved the build process for programs that depend on those libraries,
greatly simplifying the job of porting applications.
## Rust-first Program Porting!
We focus on Rust programs as they are easier to port.
Ribbon created WIP ports for hundreds of emerging Rust programs in 2023,
and many are working with no modification.
## C/C++ Programs
Ribbon also created WIP ports for classic and widely-used C/C++ programs and libraries, he focused to package the most used (and best) programs of the Linux/BSD world.
Currently there are around 1,700 work-in-progress software ports, we need to write cross-compilation scripts and port/update some libraries to make them work.
## Relibc Improvements
The Redox contributors improved relibc a lot, from new functions to important bug fixes.
This increased our software compatibility and fixed many programs, from Rust to C/C++
## Better ARM Support
## Better ARM64 Support
The contributor uvnn cleaned and improved our ARM support a lot, we would like to thank his massive work in 2023.
The contributor uvnn cleaned and improved our ARM64 support a lot, we would like to thank his massive work in 2023.
Ivan Tan got Redox to boot on the Raspberry Pi 3 B+,
and helped us improve the build tools to support multiple Raspberry Pi devices and other ARM platforms.
ARM is a different challenge than x86_64, because there is little standardization of hardware platforms.
We hope to get Redox running on more ARM hardware in the future.
We hope to get Redox running on more ARM64 hardware in the future.
Jeremy also improved the ARM support to the level where we can start the Orbital session on the QEMU emulation.
@@ -164,11 +191,45 @@ many software tools.
The Rust and GCC toolchains are able to build basic programs, but with some limitations.
Self-hosting the build is high on our agenda, and these improvements have helped take a huge leap forward.
## Software Updates
Our toolchains received some updates and currently our Rust, C and C++ toolchains are all recent versions,
which significantly improves compatibility when porting other Linux/POSIX and Rust software.
We also updated important cross-platform libraries and improved the build process for programs that depend on those libraries,
greatly simplifying the job of porting applications.
## Rust-first Program Porting!
We focus on Rust programs as they are easier to port.
Ribbon created WIP ports for hundreds of emerging Rust programs in 2023,
and many are working with no modification.
## C/C++ Programs
Ribbon also created WIP ports for classic and widely-used C/C++ programs and libraries, he focused to package the most used (and best) programs of the Linux/BSD world.
Currently there are around 1,700 work-in-progress software ports, we need to write cross-compilation scripts and port/update some libraries to make them work.
## First HTTP Web Server
We ported our first HTTP web server, [Simple HTTP Server](https://github.com/TheWaWaR/simple-http-server), and served a website from Redox.
Thanks very much to contributor bpisch for his work on porting many difficult programs, and for this one in particular.
## Notable Programs
- Apache HTTP Server was ported and currently can serve a website on `localhost`
- RustPython was ported and currently is our only working Python interpreter implementation
- GNU Make was updated to a recent version
- The Lua interpreter was ported
- Perl 5 was ported
## Debugging Improvements
The process to debug the recipes of Rust programs was implemented and the debugging documentation was improved.
It's possible to enable the Rust debug symbols and get the backtrace from the build system.
## Build System Improvements
We would like to thank Ron Williams, bjorn3, Jeremy and 4lDO2 for their massive improvements to our build system configuration and tooling.
@@ -233,69 +294,6 @@ The purpose of the Nonprofit is to help raise and manage funds for Redox develop
to support the community, and to support the Redox brand.
We have board meetings every quarter, which are recorded, and our minutes and notes are available in the [Nonprofit repo](https://gitlab.redox-os.org/redox-os/nonprofit).
<!--
## Discussion
Here are some links to discussion about this news post:
- [Fosstodon @redox]()
- [Fosstodon @soller]()
- [Patreon]()
- [Phoronix]()
- [Reddit /r/redox]()
- [Reddit /r/rust]()
- [X/Twitter @redox_os]()
- [X/Twitter @jeremy_soller]()
- [Hacker News]()
-->
## Images
It is recommended to try Redox OS in a virtual machine before trying on real hardware. See
the [supported hardware](https://www.redox-os.org/faq/#which-devices-does-redox-support) section for details on what
hardware to select for the best experience.
- Read [this](https://doc.redox-os.org/book/ch02-01-running-vm.html) page to learn how to run the Redox images in a virtual machine
- Read [this](https://doc.redox-os.org/book/ch02-02-real-hardware.html) page to learn how to run the Redox images on real hardware
- Read [this](https://doc.redox-os.org/book/ch02-03-installing.html) page to learn how to install Redox
### Demo
A 1536 MiB image containing the Orbital desktop environment as well as pre-installed demonstration programs.
- [Real Hardware Image](https://static.redox-os.org/releases/0.9.0/x86_64/redox_demo_x86_64_2024-09-06_1221_livedisk.iso.zst)
- [Virtual Machine Image](https://static.redox-os.org/releases/0.9.0/x86_64/redox_demo_x86_64_2024-09-06_1221_harddrive.img.zst)
The demo image includes these additional packages:
- [DOSBox](https://www.dosbox.com/) - A DOS emulator
- Games using PrBoom:
- DOOM (Shareware)
- [FreeDOOM](https://freedoom.github.io/)
- [Neverball and Neverputt](https://neverball.org/) - OpenGL games using LLVMPipe (performance may vary!)
- [orbclient](https://gitlab.redox-os.org/redox-os/orbclient) - An Orbital client demo
- [Periodic Table](https://gitlab.redox-os.org/redox-os/periodictable) - A program for viewing information about chemical elements
- [Terminal games](https://gitlab.redox-os.org/redox-os/games) - Command-line games
- [rodioplay](https://gitlab.redox-os.org/redox-os/rodioplay) - A FLAC/WAV music player
- [Sodium](https://gitlab.redox-os.org/redox-os/sodium): A vi-like text editor
- [sopwith](http://www.sopwith.org/): A classic PC air combat game
- syobonaction - A freeware platforming game
### Desktop
A 512 MiB image containing the Orbital desktop environment and some programs for common tasks. Use this if you want to download a smaller image.
- [Real Hardware](https://static.redox-os.org/releases/0.9.0/x86_64/redox_desktop_x86_64_2024-09-06_1221_livedisk.iso.zst)
- [Virtual Machine Image](https://static.redox-os.org/releases/0.9.0/x86_64/redox_desktop_x86_64_2024-09-06_1221_harddrive.img.zst)
### Server
A 512 MiB image containing only the command-line environment. Use this if the desktop image is not working well for you.
- [Real Hardware](https://static.redox-os.org/releases/0.9.0/x86_64/redox_server_x86_64_2024-09-06_1221_livedisk.iso.zst)
- [Virtual Machine Image](https://static.redox-os.org/releases/0.9.0/x86_64/redox_server_x86_64_2024-09-06_1221_harddrive.img.zst)
## Changes
There have been quite a lot of changes since 0.8.0. We have manually enumerated
@@ -310,6 +308,9 @@ The most important changes are shown below.
- The memory performance was improved a lot by the introduction of a buddy memory allocator (p2buddy)
- The CPU cost of many system calls was reduced a lot, improving the overral performance
- The `futex` implementation was improved
- The i686 and x86_64 code was cleaned and deduplicated
- The debugging code received fixes
- The kernel image became bootloader-agnostic
### RedoxFS
@@ -322,9 +323,24 @@ The most important changes are shown below.
- Virtually all system components migrated from `redox_syscall` to `libredox`, to allow an optimal unstable syscall ABI and eventually a stable userspace ABI
- The scheme path format is now converted at runtime (relibc/kernel) to avoid the patching of many libraries and programs, the Redox system interfaces are treated like the Linux target now
- The scheme cancellation was implemented to allow the file descriptors to be closed
- New user-space schemes were introduced
- Many improvements to the scheme interface
### Networking
- The MAC addresses handling was improved
### Orbital
- The winit support for client side decorations, hidden windows, maximization, and updating flags after window creation was implemented
- Videos and music can be played from GUI programs by a mouse double-click
- The Orbital visual was improved
### Ion Shell
- A LSP language server for the Ion's scripting language was implemented
### Programs
- A lot of new functions were added to relibc, improving the software compatibility
@@ -332,12 +348,29 @@ The most important changes are shown below.
- Many programs started to work
- More than 1700 programs and libraries were packaged (work-in-progress)
### Cookbook
- More recipes were converted to TOML
- All recipes were moved to categories
- ABI separation was added for some libraries
- Package policies were added to improve the quality of program packages
- A recipe for the Redox website was added
### Build System
- New recipe options
- The `disk=` option was implemented to select the storage interface
- An option to boot Redox from a NVMe interface was implemented
- A command to run multiple recipe operations was implemented
- New cleanup options
- New QEMU options
- New scripts
- A script to run multiple recipe operations on Cookbook categories was added
- A script to get the Rust backtrace was added
- A script to show the recipe location was added
- A script to show the recipe configuration file was added
- A script to show all recipe executables was added
- A script to show the recipe package size was added
- A script to automatically update Rust programs was added
- A script to show the current commit hash of the submodules and recipes was added
- A script to install Redox on `systemd-boot` as dual-boot was added
- A new filesystem configuration design was implemented, it helped us to deduplicate files and improved the flexbility a lot
- The `rust` submodule fetch was disabled, reducing the download time a lot
@@ -352,6 +385,8 @@ The most important changes are shown below.
- The RedoxFS features were documented
- The current security system was documented
- The "Quick Workflow" page for advanced testers and developers was added
- The instructions to run Redox on VirtualBox were documented
- Huge improvements and cleanup in almost all pages of the book
### Community
@@ -359,6 +394,22 @@ The most important changes are shown below.
- A moderation system was implemented
- A nonprofit organization was created to help the donation management
<!--
## Discussion
Here are some links to discussion about this news post:
- [Fosstodon @redox]()
- [Fosstodon @soller]()
- [Patreon]()
- [Phoronix]()
- [Reddit /r/redox]()
- [Reddit /r/rust]()
- [X/Twitter @redox_os]()
- [X/Twitter @jeremy_soller]()
- [Hacker News]()
-->
## Changelog
As many changes happened it's not possible to write everything on this post, this section contains all commits since the 0.8.0 version generated by the [changelog](https://gitlab.redox-os.org/redox-os/redox/-/blob/master/changelog.sh) script:
@@ -371,10 +422,10 @@ As many changes happened it's not possible to write everything on this post, thi
- [ca-certificates](https://gitlab.redox-os.org/redox-os/ca-certificates/-/compare/b42b9c5...4df67f2)
- [contain](https://gitlab.redox-os.org/redox-os/contain/-/compare/42b381b...e6b8856)
- [coreutils](https://gitlab.redox-os.org/redox-os/coreutils/-/compare/690460d...b52a1b2)
- [cosmic-edit](https://github.com/pop-os/cosmic-edit) - new project
- [cosmic-files](https://github.com/pop-os/cosmic-files) - new project
- [cosmic-icons](https://github.com/pop-os/cosmic-icons) - new project
- [cosmic-term](https://github.com/pop-os/cosmic-term) - new project
- [cosmic-edit](https://github.com/pop-os/cosmic-edit) - New project
- [cosmic-files](https://github.com/pop-os/cosmic-files) - New project
- [cosmic-icons](https://github.com/pop-os/cosmic-icons) - New project
- [cosmic-term](https://github.com/pop-os/cosmic-term) - New project
- [curl](https://gitlab.redox-os.org/redox-os/curl/-/compare/8b9c5bef9...f50c28394)
- [drivers](https://gitlab.redox-os.org/redox-os/drivers/-/compare/fc4a69c...897866d)
- [escalated](https://gitlab.redox-os.org/redox-os/escalated/-/compare/7e02fe4...06fe299)
Loading