Skip to content

ToaruOS v1.99.4

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 20 Aug 00:35

ToaruOS v1.99.4

Screenshot from 2021-08-20 09-30-04

What's New in v1.99.4?

This release includes critical fixes to SMP support, which is now enabled by default in the bootloader. Please note that there are still known performance issues with the SMP scheduler.

Other changes include improved texture blitting routines in the graphics library, changes to how windows are presented when first opened, the addition of geolocation-based configuration for the panel weather widget, the reintroduction of the toast notification daemon seen in earlier versions of ToaruOS, and a new marked-up text library.

What is ToaruOS?

ToaruOS is a hobbyist, educational operating system for x86-64 PCs, focused primarily on use in virtual machines. It provides a Unix-like environment, complete with a graphical desktop interface, shared libraries, feature-rich terminal emulator, and support for running GCC, Quake, and several other ports. The core of ToaruOS, provided by the CD images in this release, is built completely from scratch. The bootloader, kernel, drivers, C standard library, and userspace applications are all original software created by the authors, as are the graphical assets.

Who wrote ToaruOS?

ToaruOS is primarily written by a single maintainer, with several contributions from others. A complete list of contributors is available from AUTHORS.

Running ToaruOS

It is recommended that you run ToaruOS in a virtual machine / emulator, for maximum compatibility. ToaruOS's driver support is limited, and running on real "bare metal", while possible, does not provide the most complete experience of the OS's capabilities except on very particular hardware. ToaruOS is regularly tested in VirtualBox, QEMU, and VMWare Player, and can be successfully booted (with poor performance) in Bochs. ToaruOS is intended to run from a live CD, though it is possible to install to a hard disk. Additional details on running ToaruOS in different virtual machines is available from the README.

Release Files

image.iso is the standard build of ToaruOS, built the Github Actions CI workflow. It uses ToaruOS's native bootloaders and should work in most virtual machines using BIOS.

When provided in a release, toaruos-grub.iso is an alternative CD with GRUB as a bootloader. If you are attempting to run ToaruOS on real hardware, this is generally preferred.

Changelog

  • about: accept resize messages
  • ahci: wip module
  • bim: fix accidental wraparound when scrolling to '-1'
  • bim: fix argument parsing derp
  • boot: enable SMP by default
  • compositor: Expand rotated coordinate bounds to handle rounding / truncation errors
  • compositor: Fix up float math ordering for better coordinate mapping results
  • compositor: Wait until a flip event is received before revealing windows
  • compositor: don't animate regular dropdown menus
  • compositor: support positioning a window relative to another
  • dhclient: Try a few times...
  • graphics: better approach to transformed blitting
  • graphics: faster alpha application...
  • graphics: some improvements to the sprite blitters
  • kernel: fixup lock ordering around process_timeout_sleep
  • kernel: restore fprintf() for printing to vfs nodes (character devices)
  • kernel: use that new sleep_on_unlocking in ringbuffers
  • kuroko: add managed modules to filesystem
  • kuroko: bind text library in _yutani module
  • kuroko: sync with upstream
  • kuroko: sync with upstream
  • kuroko: sync with upstream
  • make: 'test' target should use q35 system
  • make: Add a test tool/script
  • markup: Initial work on new marked up text rendering library
  • markup: fix bad malloc
  • menu: Really, seriously don't show menus before moving them
  • menu: flip after moving
  • panel: Dynamically size the date widget
  • panel: cleanup and fix display of window items
  • panel: improve design of calendar popup
  • panel: slide the panel up faster on ctrl-f11
  • panel: try some smarter popup placement
  • readme: update
  • readme: updates
  • splash-log: reset display on resolution change
  • test: install xhci module
  • text: Add some macros so we can more easily swap out the bitmap font
  • text: Replace bitmap font with a baked version of Deja Vu Sans Mono, mostly for metrics reasons
  • text: offset horizontal scanlines slightly to not bleed bottoms of glyphs into next pixel
  • text: spot fix for clipped text shadows
  • toast: Quick Kuroko toast client
  • toastd: Finish things up, I guess.
  • toastd: initial prototype
  • util: Resolve bootstrapping issue through bruteforce
  • weather-tool: Handle bad location-data by trying to get it again
  • weather-tool: Use a geoip service to get location
  • weather-tool: Use lat/lon when querying by guessed location
  • weather-tool: remove unused legacy conf file
  • xhci: cleanup
  • xhci: convert to module
  • xhci: userspace-queryable debug interface
  • yutani-test: must flip once to reveal window

Known Issues

  • The SMP scheduler is known to have performance issues.
  • Several utilities, libc functions, and hardware drivers are missing functionality.
  • There are many known security issues with ToaruOS. You should not use ToaruOS in a production environment - it is a hobby project, not a production operating system. If you find security issues in ToaruOS and would like to responsibly report them, please file a regular issue report here on GitHub.