ref: e1f691c77ba5aec66369aad41f0cd0d03236b959
dir: /todo.md/
# TODO lists ## 9front - ACPI events available to userspace - Certain hardware has buttons that seemingly do not produce any key presses when running 9front. Things like brightness control, touchpad toggle, power off button and so on. Those are quite often closely tied to ACPI, and the firmware is responsible - it's supposed to send the needed events to the OS. The issue is that OS (9front) currently does not do anything to set up the receiving of such events. As a start, setting up a callback inside the kernel and passing those events via some file to the userspace would be ideal. - Wifi - Support for 5GHz and performance fixes (see bounties) - USB wifi support - Drivers - Intel Wifi 6 AX201/AX210 driver (see bounties) - Intel 82599 driver through 10Gbit SFP (see bounties) - Wacom PS/2 devices (see bounties) - Intel graphics: multihead support; support for new cards - vmx(3) - SVM support - Performance improvements - draw(3) improvements - Better font rendering/caching; OTF/TTF support; right-to-left support - Affine transforms, anti-aliasing? - Faster alpha handling - Better benchmarking, profiling, fuzzing tools - dtracy(1): language improvements: local storage, tagging across fork/exec, etc.; add trace points ## Applications - Mail - Most users want to send mail and access remote mailboxes. Some want to set up their own mailing system. None want to set up an early 90's style BigCorp mailing system. Our mailing system should reflect this by making the basic user mail setup very simple. Only access information and credentials oughta be provided by the user, the rest should come set up with sensible defaults. - nedmail(1) - The documentation is incomplete and its usage spread between the manpage and the `help` command, in addition to some undocumented commands. This MUST be fixed. - plumber(4) - Implement `attr` object for the `matches` verb. - torrent(8) - Missing magnet/DHT and peer discovery - gefs(4) - Testing and performance improvements ## Languages - C - Fuller support for inline keyword - Switch expressions with vlongs on 32bit arches - go - Full arm64 support (see bounties) ## Libraries - libframe - Reimplement or replace with something better - libc - Better, faster strtod (important for eg. awk(1)) - malloc(2): faster allocator and alloc sizes over 2Gb ## Games - Emulators - N64 - PSX - SMS - TG-16 - md(1): Sega CD, 32X support - libretro port? - fteqw, with Quake 3 and Half-Life support ## Alien formats - File systems - NTFS - exfat - FAT: determine used and free space on FAT volumes - Compression - 7z, lzma - Documents - djvu - chm - pdf: searchable documents (see: pdffs) ## Alien software - Networking - ssh server (see bounties) - TLS 1.3 support - EAP-TLS for wired networks - Enterprise™ - vcardfs (see bounties) - OneDrive fs (see bounties) ## See also - [Full bounties list](http://fqa.9front.org/appendixb.html) - [Works in progress](wip)