27

Redox OS 0.5.0

 5 years ago
source link: https://www.tuicool.com/articles/hit/RZFFvae
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

We’re Back!

It has been one year and four days since the last release of Redox OS! In this time, we have been hard at work improving the Redox ecosystem. Much of this work was related torelibc, a new C library written in Rust and maintained by the Redox OS project, and adding new packages to thecookbook. We are proud to report that we have now far exceeded the capabilities of newlib , which we were using as our system C library before. We have added many important libraries and programs, which you can see listed below.

Standard Images

You can download the 0.5.0 imageshere.

At first glimpse, the standard ISO does not look much different from 0.3.5, our last real release. We still have the same login screen, and the same default background and applications. This, in and of itself, was an accomplishment. Work onrelibc was intense, and touched nearly every part of the system.

Once one digs a little deeper, the changes become more obvious. The event system was redesigned to provide correct support for select and poll , and complete memory mapping support was implemented. Pthreads was implemented, and also a number of signal-related system calls. The whole of these changes provided better support for LLVM, and from that, rustc and mesa with llvmpipe .

In addition, there are new images based on new bootloaders for both coreboot and EFI. Significant work has been done to provide libraries for EFI Rust development, and to develop coreboot payloads in Rust. Either bootloader project can be forked and repurposed as desired. See the following projects:

  • bootloader-coreboot - Coreboot payload that can boot Redox
  • bootloader-efi - EFI bootloader for Redox
  • coreboot-table - A parser for the coreboot table.
  • uefi - UEFI protocol definitions
  • uefi_alloc - UEFI allocator
  • uefi_std - UEFI runtime

New Packages

The result of therelibc work can be seen in the massive addition of new packages that can be added to your filesystem.toml when building locally, or installed with pkg install . You can see all available packages and versionshere.

  • audiod - Daemon for mixing audio and delivering it to audio hardware
  • cairo - Vector graphics renderer
  • cairodemo - C example using cairo
  • cpal - Rust audio library
  • dosbox - DOS emulator
  • eduke32 - Duke Nukem 3D Engine
  • ffmpeg - Multimedia framework
  • freedoom - Free content Doom-style game
  • gears - Classic OpenGL example
  • gettext - Localization library
  • gigalomania - Real-time strategy game
  • glib - System libraries for GTK+ and GNOME
  • glium - OpenGL wrapper for Rust
  • glutin - OpenGL context creation in Rust
  • gstreamer - Multimedia framework
  • harfbuzz - Text shaping library
  • hematite - Minecraft viewer in Rust
  • ipcd - IPC daemon providing shared memory and channels (similar to UNIX sockets)
  • lci - LOLCODE interpreter in Rust
  • libc-bench - C library tests
  • libffi - FFI library
  • libiconv - Implementation of iconv
  • libogg - Library for parsing OGG containers
  • liborbital - C library for accessing Orbital window manager
  • libsodium - Cryptography library
  • libvorbis - Library for decoding and encoding Vorbis audio
  • llvm - Compiler framework
  • mesa - 3D graphics library
  • mesa_glu - OpenGL utility library
  • mgba - GBA emulator
  • ncdu - NCurses disk usage
  • openjazz - Jazz Jackrabbit engine
  • openttd - Remake of Transport Tycoon Deluxe, a business simulation game
  • openttd-opengfx - OpenTTD graphics
  • openttd-openmsx - OpenTTD music
  • openttd-opensfx - OpenTTD sound effects
  • osdemo - OSMesa example
  • pcre - Perl compatible regular expressions
  • pixman - Low-level pixel manipulation library
  • powerline - Rust implementation of powerline
  • prboom - Doom engine
  • relibc - C library in Rust
  • ripgrep - extremely fast search tool
  • rodioplay - simple sound player using rodio
  • rust-cairo - Rust library for using cairo
  • rust-cairo-demo - Rust example usingrust-cairo
  • schismtracker - Reimplementation of Impulse Tracker, a music creation program
  • scummvm - Interpreter for numerous adventure games
  • sdl2 - Video game abstraction layer
  • sdl2_gears - Example of using SDL2 and associated libraries
  • sdl2_image - SDL2 image library
  • sdl2_mixer - SDL2 sound mixing library
  • sdl2_ttf - SDL2 font library
  • sdl_gfx - SDL graphics library
  • sdl_image - SDL image library
  • sdl_mixer - SDL sound mixing library
  • sdl_ttf - SDL font library
  • sopwith - Port of Sopwith, a side scrolling shooting game, to SDL
  • syobanaction - Cat Mario
  • ttf-hack - Hack typeface
  • webrender - GPU-based renderer, compiles but renders black screens on Redox
  • winit - Window handling library in Rust

Code Changes

Please use the following links to see all the code changes since 0.3.5:


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK