ToaruOS v1.99.4
Pre-releaseToaruOS v1.99.4
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 messagesahci
: wip modulebim
: fix accidental wraparound when scrolling to '-1'bim
: fix argument parsing derpboot
: enable SMP by defaultcompositor
: Expand rotated coordinate bounds to handle rounding / truncation errorscompositor
: Fix up float math ordering for better coordinate mapping resultscompositor
: Wait until a flip event is received before revealing windowscompositor
: don't animate regular dropdown menuscompositor
: support positioning a window relative to anotherdhclient
: Try a few times...graphics
: better approach to transformed blittinggraphics
: faster alpha application...graphics
: some improvements to the sprite blitterskernel
: fixup lock ordering around process_timeout_sleepkernel
: restore fprintf() for printing to vfs nodes (character devices)kernel
: use that new sleep_on_unlocking in ringbufferskuroko
: add managed modules to filesystemkuroko
: bind text library in _yutani modulekuroko
: sync with upstreamkuroko
: sync with upstreamkuroko
: sync with upstreammake
: 'test' target should use q35 systemmake
: Add a test tool/scriptmarkup
: Initial work on new marked up text rendering librarymarkup
: fix bad mallocmenu
: Really, seriously don't show menus before moving themmenu
: flip after movingpanel
: Dynamically size the date widgetpanel
: cleanup and fix display of window itemspanel
: improve design of calendar popuppanel
: slide the panel up faster on ctrl-f11panel
: try some smarter popup placementreadme
: updatereadme
: updatessplash-log
: reset display on resolution changetest
: install xhci moduletext
: Add some macros so we can more easily swap out the bitmap fonttext
: Replace bitmap font with a baked version of Deja Vu Sans Mono, mostly for metrics reasonstext
: offset horizontal scanlines slightly to not bleed bottoms of glyphs into next pixeltext
: spot fix for clipped text shadowstoast
: Quick Kuroko toast clienttoastd
: Finish things up, I guess.toastd
: initial prototypeutil
: Resolve bootstrapping issue through bruteforceweather-tool
: Handle bad location-data by trying to get it againweather-tool
: Use a geoip service to get locationweather-tool
: Use lat/lon when querying by guessed locationweather-tool
: remove unused legacy conf filexhci
: cleanupxhci
: convert to modulexhci
: userspace-queryable debug interfaceyutani-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.