Commit Graph
55 Commits
Author SHA1 Message Date
daniel fdbb233cd3 fix: fix login wallpaper startup delay 2026-08-30 08:05:31 +02:00
daniel e7646bbbdb feat: implement kernel capability model 2026-08-29 16:53:04 +02:00
daniel 5cd5c2e6be fix: move RTL-SDR to userspace 2026-08-29 10:02:32 +02:00
daniel b1f1cfe32b feat: implement montauk::service_log & add support to system services 2026-08-28 11:56:29 +02:00
daniel c8264b92a9 feat: add is_terminal_attached syscall 2026-08-27 18:11:21 +02:00
daniel ffc9756e67 feat: identify userspace logs by user and image 2026-08-22 18:48:38 +02:00
daniel 724029cacb feat: add userspace system logging, rename klog to syslog, rename relevant syscalls and API functions 2026-08-14 18:37:27 +02:00
daniel 0f81276efc feat: add inherited sessions and desktop session teardown 2026-08-14 10:33:20 +02:00
daniel 821543238d feat: add keyboard layout support 2026-08-13 17:57:44 +02:00
daniel 0a91131cb0 feat: add ssh server (sshd) 2026-08-11 12:53:36 +02:00
daniel 9b23d99082 feat: overhaul userspace heap and virtual memory 2026-08-10 12:25:27 +02:00
danielandClaude Opus 5 e8407afcdb feat: libc - add SYS_GETCHAR_NB and a non-blocking stdin readiness probe
Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01NQRTGoYgnZQsh7uCh6Jsxm
2026-08-08 14:42:38 +02:00
daniel 9eb21eb3e3 feat: wi-fi - expand support and fix issues, add GUI components 2026-08-07 10:36:53 +02:00
daniel a01e63c717 feat: intel wi-fi (AX211) driver with network scanning 2026-08-06 08:36:10 +02:00
daniel b1c55073c7 fix: kernel concurrency, interrupt context, and user VA safety 2026-08-01 15:43:38 +02:00
daniel 471903bafb feat: expand Intel GPU display management 2026-07-30 17:12:08 +01:00
daniel 86de3400a9 feat: audio - add concurrent mixing, output switching, and device-aware UI 2026-07-29 20:03:35 +01:00
daniel d99dab45e5 feat: add NTP; fix networking bugs/regressions 2026-07-29 16:32:18 +01:00
daniel de7edaf623 feat: vfs - add stat syscall 2026-07-21 14:23:06 +02:00
daniel 8e6b619b02 feat: port gcc to MontaukOS 2026-07-17 15:47:45 +02:00
danielandClaude Fable 5 75184e0651 feat: process exit codes, posix_spawn, 4 KiB command lines
Groundwork for the GCC driver: a compiler driver must spawn cc1/as/ld
and know whether each stage succeeded.

Kernel: the scheduler keeps an exit-code ledger (pid -> code; pids are
monotonic so entries never alias), published during teardown right
before waiters wake. SYS_EXIT records main()'s return value, SYS_KILL
records 256+SIGKILL, and the exception handler records 256+signal
mapped from the fault vector (#PF/#GP -> SIGSEGV, #DE/FP -> SIGFPE,
#UD -> SIGILL). SYS_WAITPID now returns the code: 0..255 for a normal
exit, 256+signal for a violent death. Process args grow from 256
bytes to 4 KiB (cc1 invocations do not fit in 256), with crt1 now
parsing up to 255 argv entries from a static buffer.

libc: new spawn.h with posix_spawn/posix_spawnp over SYS_SPAWN -
libiberty's pex layer has a posix_spawn backend, so GCC's driver works
without fork. argv is joined into the kernel args string (spaces in
arguments rejected; no kernel quoting), envp is not transferred, and
non-empty file actions fail loudly with ENOTSUP until the kernel can
redirect stdio on spawn. waitpid() now decodes real POSIX status and
the sys/wait.h macros distinguish exited from signaled children.

Shell: prints [exit code N] after nonzero exits and [terminated by
signal N] for killed or crashed children.

Verified on the OS: cat on a missing file reports exit code 1; a
window-close (clean exit 0) stays silent as it should.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-16 16:59:17 +02:00
danielandClaude Fable 5 182520a585 feat: vblank IRQ and double-buffered page flip for Intel GPU
Add tear-free scanout to the Intel GPU driver: a second kernel-allocated
scanout buffer, DSPASURF flips latched at vblank, and a vblank interrupt
delivered over MSI (Gen 11+ master/display/pipe IRQ chain) with a
monotonic vblank counter and WaitVblank().

Expose it as SYS_FBFLIP (150): index selects the front buffer, -1
queries support, flags bit0 waits for the flip to latch. fb_map() now
maps buffer 1 right after buffer 0 when flipping is available, and
gui::Framebuffer draws to the off-screen buffer and flips with vsync,
falling back to the direct copy when unsupported.

Scanout is restored to buffer 0 when the flip-owning process exits and
on panic, so the terminal and panic box never land on the invisible
buffer.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-13 21:53:06 +02:00
daniel 108538f60c feat: add RTL-SDR, R820t drivers, radio APIs, and sdr demo tool 2026-06-22 11:49:16 +02:00
daniel 43d43ac9ea cleanup: namespace Montauk (capital M) => montauk::abi 2026-06-16 09:09:16 +02:00
daniel b6ac5ac994 feat: allow MAC spoofing in Bluetooth stack, show paired devices in Bluetooth app 2026-06-16 08:49:06 +02:00
daniel 427876afa7 feat: filesystem and Files app support for >64 file entries, 64-bit sizes, async ops, GUI toolkit improvements to devexplorer app 2026-06-07 09:33:46 +02:00
daniel f0943d675f feat: disconnect Bluetooth devices, flush disks on shutdown/reboot, display progress in login.elf window 2026-06-06 18:27:19 +02:00
daniel d5212d4838 fix: process-wide spinlock in userspace heap 2026-05-25 11:42:44 +02:00
daniel 159fea1667 feat: add threading to Scheduler, fix desktop background selection freeze issue 2026-05-23 16:08:25 +02:00
daniel 8b8c8cee95 feat: audio mixer, Audio app, fix Installer crash 2026-05-19 07:48:09 +02:00
daniel 7cb1866998 feat: added Files app USB medium detection 2026-05-18 20:00:42 +02:00
daniel dcdbcac1e0 feat: screenshot app improvement, WIndow Server supports full-screen overlay, Disks app UI improvements 2026-05-10 10:45:05 +02:00
daniel af48ab0e1e feat: kernel network statistics reporting, new Network configuration applet 2026-05-03 10:45:33 +02:00
daniel 7fa2b6c54b feat: expose drive labels to userspace, render in Files 2026-04-22 07:45:33 +02:00
daniel 38b1f8a7ef feat: further kernel power and power optimizations 2026-04-21 20:51:12 +02:00
daniel c8b7b864d7 wip: add clipboard support 2026-04-09 20:44:52 +02:00
daniel 9e04e51daa feat: add process crash popups 2026-04-07 20:15:56 +02:00
daniel 4666e36dba wip: extend shared library support, window demo 2026-04-05 21:38:05 +02:00
daniel f1b49b3c4e wip: shared library support 2026-04-05 15:14:07 +02:00
daniel 072199df6b feat: support for IPP printing + test page 2026-04-01 21:15:27 +02:00
daniel fb9885819b feat: implement new IPC layer 2026-04-01 13:11:03 +02:00
daniel 36329504dc fix: use getuser() syscall for determining username rather than session.toml hack 2026-04-01 11:44:13 +02:00
daniel 1c0db774f6 feat: add cwd tracking to kernel, remove shell hack, update system utilities to use getcwd, fix tcc libc stub, fix nonexistent directory issue 2026-03-25 15:45:22 +01:00
daniel 58a144fc1a feat: ACPI parsing improvements, username in process struct + syscalls 2026-03-24 17:17:47 +01:00
daniel 0f15099830 feat: add time offset configuration 2026-03-24 07:20:52 +01:00
daniel 4c7efa3203 feat: expanded ACPI support, initial support for S3 sleep 2026-03-15 00:55:19 +01:00
daniel 39b0424085 feat: multi-user system, bug fixes, security & performance fixes, and more 2026-03-14 13:28:46 +01:00
daniel 9f54e4957d feat: Intel HDA audio driver, audio streaming syscalls, userspace Music app, fixes and improvements, rudimentary Bluetooth support 2026-03-10 17:14:33 +01:00
daniel 7617419640 feat: MontaukOS installer app, toml config, app directory with manifests, and more 2026-03-08 12:06:29 +01:00
daniel b540a43f39 feat: GPT, FAT32 driver, disks app, userspace adapted for multiple drives, and more 2026-03-07 15:58:27 +01:00