ToaruOS v1.99.5
Pre-releaseToaruOS v1.99.5
What's New in v1.99.5?
Several major features, improvements, and bugfixes have been added since the last release:
- Support for filesystem groups and supplementary group lists has been added, along with a
groups
command. - A new calculator app has been added, which uses Kuroko as a backend.
- The bootloader now has a simple text editor for modifying kernel command lines.
- The compositor has been rewritten to be single-threaded for better visual stability and performance.
- Several drivers from toaru32 have been ported to Misaka, including the IDE controller driver, PC beeper driver, and the ISO 9660 filesystem implementation.
- Support for automatic display resizing in VMware Player has been restored.
- The libc
qsort
is now a viable quicksort implementation, which has improved performance significantly in text rendering. - The use of shared memory mapped font files has been reimplemented, which improves text rendering performance in most applications.
- A fix has been implemented for incorrect handling of page table invalidation, which has resolved a major source of slowdown when running with SMP.
This release also celebrates 5000 commits to the main git branch!
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 by the Github Actions CI workflow. It uses ToaruOS's native bootloaders and should work in most virtual machines using BIOS.
Changelog
ahci
: more testingata
: Rudimentary recovery of the legacy ATA driverata
: remove partition info which belongs to dospart modulebase
: Add 'guest' user with no groups, not in sudoersboot
: add command line editorboot
: alternate help message when highlighting a toggleboot
: enable vmware resize by default? it seems stableboot
: make this bootload v4.0?boot
: more editor key bindscalculator
: screwy, kuroko-backed calculatorcalculator
: simple text inputcolor-picker
: New widget democompositor
: Oops, we weren't reseting compositor clipscompositor
: Switch window screenshot keybind to Shift+PrtSc because Gnome doesn't want us to get Alt+PrtSc in emulatorscompositor
: Unthread the render passcompositor
: drop support for replacement renderersdhclient
: don't segfault on RO filesystem trying to write resolv.confdospart
: recover and convert to mount functionfile-browser
: do fewer redundant redrawsfile-browser
: little fixesglogin-provider
: using wrong fonts for metrics...graphics
: const arguments for point/line calculationsgroups
: First pass at support for supplementary group listsgroups
: Initial support for gids.hexify
: bail if fopen failediso9660
: recover, fixup driverkbd
: Catch different scancode from PrtSc keykernel
: fix getpgid(pid != 0)kernel
: restore debug prints for a page fault in the kernel, since SMP failures are rare nowkuroko: _yutani
: expose shm font supportkuroko
: sync to fix string comparison crashlibc
: Implement an actual quicksort for qsort...libc
: that xor-swap is silly and probably also slowerlibm
: must implement sqrt() or it can loop in gccmeta
: Update release notes templatemodules
: cleanup header commentspackage-manager
: apply same optimization as file-browserpcspkr
: recover modulereadelf
: GNU-style optionsserial
: should be owned by 'dialout' groupsmp
: Memory invalidation fixestest
: more detailed logging for USB so we can test xhcitext
: bring back shm-stored fonts provided by compositortext
: on second thought, cache the data not the font object, so each tt_font_from_shm is a unique reftext
: various rewritesvfs
: Allow 'filesystems' that are partition mappers to not return a nodevmware
: enable resize support
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.