{"slug": "synapseos-where-the-kernel-thinks", "title": "SynapseOS – Where the Kernel Thinks", "summary": "SynapseOS, an Arch-based operating system with a local LLM integrated at the system layer, has been released in alpha. The OS runs a local LLM daemon as a system service, allowing the shell, compositor, security monitor, network filter, and a kernel module to communicate over a Unix socket without network calls. The default ISO embeds Mistral 7B Instruct, making AI available on first boot.", "body_md": "\n\n```\n  ███████╗██╗   ██╗███╗   ██╗ █████╗ ██████╗ ███████╗███████╗\n  ██╔════╝╚██╗ ██╔╝████╗  ██║██╔══██╗██╔══██╗██╔════╝██╔════╝\n  ███████╗ ╚████╔╝ ██╔██╗ ██║███████║██████╔╝███████╗█████╗\n  ╚════██║  ╚██╔╝  ██║╚██╗██║██╔══██║██╔═══╝ ╚════██║██╔══╝\n  ███████║   ██║   ██║ ╚████║██║  ██║██║     ███████║███████╗\n  ╚══════╝   ╚═╝   ╚═╝  ╚═══╝╚═╝  ╚═╝╚═╝     ╚══════╝╚══════╝\n```\n\n**Where the kernel thinks.**\n\nAn Arch-based operating system with a local LLM wired into the system layer — not bolted on top.\n\n*synui, the wlroots compositor: waybar status bar, auto-hiding dock, CRT post-process filters.*\n\nSynapseOS runs a local LLM daemon as a system service and lets the rest of the system talk to it over a Unix socket: the shell, the compositor, the security monitor, the network filter, and a kernel module that exports syscall telemetry and AI scheduling hints through sysfs. No network calls, no API keys — the model lives on the machine.\n\nIt boots to `synsh`\n\n, a shell where you can type a command or just say what you\nwant, and into `synui`\n\n, a wlroots compositor that knows the AI daemon exists.\n\nStatus: alpha.Version 0.1.x. This is a real, actively developed system — the author daily-drives it — but it is early, moves fast, and will break. Try it in a VM before you give it a disk.\n\nGrab the latest ISO from [Releases](https://github.com/velle999/SYNAPSE/releases/latest)\nand boot it. The default ISO embeds Mistral 7B Instruct (Q4_K_M, ~4.1 GB), so\nthe AI is live on first boot with nothing to configure.\n\nTo take it for a spin without touching hardware:\n\n```\ngit clone https://github.com/velle999/SYNAPSE.git && cd SYNAPSE\nQEMU_RAM=8G ./archiso/build_scripts/qemu-test.sh   # auto-detects the newest ISO\n```\n\nThe script uses KVM when available, boots UEFI via OVMF (falling back to BIOS),\nand attaches a persistent 20 GB test disk. Give it 8 GB+ of RAM when the model\nis embedded. Kernel and boot output are mirrored to the serial console —\n`View → serial0`\n\nin the QEMU window.\n\nEach lives in its own directory with its own `PKGBUILD`\n\n.\n\n| Component | What it does |\n|---|---|\n`synapd` |\nLocal LLM inference daemon (llama.cpp). Owns the model; serves every other component over a Unix socket. |\n`synsh` |\nAI-native shell. Type naturally, or use it as a normal shell. |\n`synui` |\nWayland compositor on wlroots 0.19 — tiling and monocle layouts, per-output workspaces, XWayland, layer-shell. See\n`synui/ROADMAP.md` |\n\n`synguard`\n\n`synui`\n\nsubscribes to.`synnet`\n\n`synapse_kmod`\n\nSupporting pieces: `syn-install`\n\n, `syn-firstboot`\n\n, `syn-model`\n\n, `waybar/`\n\n(status bar config), and `archiso/`\n\n(install media).\n\n```\n  User\n   │\n   ▼\n synsh ─── natural language / commands ──┐\n   │                                     │\n   ▼                                     │\n synapd  (local LLM — Mistral 7B)        │\n   │  inference over SYN socket protocol │\n   ├──► synguard      security verdicts ─┤\n   ├──► synnet        network policy     │\n   └──► synapse_kmod  kernel sysfs       │\n            │                            ▼\n            ▼                    synui (Wayland)\n     /sys/kernel/synapse/\n     syscall_log, ai_hints, stats,\n     status, config, version\n```\n\n`synui`\n\nis a compositor written for this system rather than adapted to it. It\ndraws its own display-settings panel, wallpaper picker, and dock; it renders an\noptional CRT-style post-process pass; and it holds a live subscription to\n`synguard`\n\n's verdict feed and `synapd`\n\n's activity.\n\nDefaults (override in `~/.config/synui/synuirc`\n\nor `/etc/synui/synuirc`\n\n):\n\n| Key | Action |\n|---|---|\n`Super` (tapped alone) |\nStart menu (the bar's SYNAPSE badge) |\n`Super` +`C` |\nControl panel — every shortcut, plus the settings, in one place |\n`Super` +`Return` |\nOpen a terminal |\n`Super` +`Space` |\nCommand bar |\n`Super` +`Backspace` |\nAsk the AI |\n`Super` +`A` |\nNeural activity overlay |\n`Super` +`D` |\nDisplay settings |\n`Super` +`W` |\nWallpaper picker |\n`Super` +`E` |\nToggle visual effects |\n`Super` +`Escape` |\nMenu |\n`Super` +`Tab` |\nCycle layout |\n`Super` +`Q` / `Super` +`Shift` +`Q` |\nClose window / quit compositor |\n`Super` +`J` / `Super` +`K` |\nFocus next / previous |\n`Super` +`H` / `Super` +`Shift` +`L` |\nShrink / grow master area |\n`Super` +`F` / `Super` +`M` / `Super` +`N` |\nFloat / maximize / minimize |\n`Super` +`Shift` +`F` |\nFullscreen (forces it — for games that only do \"borderless\") |\n`Super` +`O` / `Super` +`Shift` +`O` |\nMove window to next / previous monitor |\n`Super` +`P` |\nPower saving panel |\n`Ctrl` +`Alt` +`Delete` / `Super` +`T` |\nTask manager (processes, CPU/RAM/GPU) |\n`Super` +`G` |\nGame mode |\n`Super` +`L` |\nLock screen |\n`Print` |\nScreenshot the monitor you're on |\n`Shift` +`Print` / `Super` +`Shift` +`S` |\nScreenshot an area (drag it out with slurp) |\n`Ctrl` +`Print` |\nScreenshot every monitor at once |\n`Super` +`1` –`9` |\nSwitch workspace |\n`Super` +`Shift` +`1` –`9` |\nMove window to workspace |\n\nScreenshots land in `~/Pictures/Screenshots`\n\n*and* on the clipboard, so you can\npaste one straight into a chat without opening the file.\n\nEverything starts on boot:\n\n```\nsystemctl status synapd      # AI inference daemon\nsystemctl status synguard    # security monitor\nsystemctl status synnet      # network policy\nlsmod | grep synapse_kmod    # kernel module\ncat /sys/kernel/synapse/status\n```\n\nISOs built with `--no-model`\n\nare ~4 GB smaller and fetch the model on first boot\nvia `syn-firstboot`\n\n. You can also drop one in by hand:\n\n```\ncp your-model.gguf /var/lib/synapd/models/synapse.gguf\nsystemctl restart synapd\n\nsynsh\n# ⚡ AI online — type naturally or use shell commands\n```\n\nAny GGUF that llama.cpp can load will work; Mistral 7B Instruct is what the prompts are tuned against.\n\n**Prerequisites** — an Arch (or Arch-based) host with `archiso`\n\n, `base-devel`\n\n,\n`meson`\n\n, `ninja`\n\n, `wlroots0.19`\n\n, `qemu`\n\n, and `ovmf`\n\n. Budget ~22 GB of free disk\nwith the embedded model, ~9 GB without.\n\n`archiso/build.sh`\n\nruns the whole pipeline: builds llama.cpp (pinned at tag\n`b8272`\n\n, matching CI), packages every component through its `PKGBUILD`\n\ninto a\nlocal pacman repo, fetches the model, and invokes `mkarchiso`\n\n.\n\n```\nsudo archiso/build.sh              # full build, GPU auto-detected\nsudo archiso/build.sh --no-gpu     # CPU-only llama.cpp — use for QEMU-targeted ISOs\nsudo archiso/build.sh --no-model   # slim ISO, model downloaded on first boot\nsudo archiso/build.sh --no-clean   # reuse the previous llama.cpp build\n```\n\nOutput lands in `archiso/out/SynapseOS-<version>-x86_64.iso`\n\n.\n\nPackage builds run as the `synbuild`\n\nuser under `/var/tmp`\n\n, because they must\nlive outside `/home`\n\n(mode 0700). A failed package build aborts the run\nimmediately rather than resurfacing later as a confusing pacstrap error.\n\nFor the inner-loop, skip the ISO entirely:\n\n```\nbash build-all.sh   # builds every component against llama-staging/usr/\n```\n\nBump ** iso_version** in\n\n`archiso/profiledef.sh`\n\nand nothing else — in\nparticular, leave `SYNAPSEOS_VERSION`\n\nin `archiso/build.sh`\n\nalone, as it tracks\nthe component series rather than the image. Then run `archiso/publish-release.sh`\n\n.`synsh`\n\n, `synui`\n\n, `synguard`\n\n, `synnet`\n\n, and the kernel module all speak to\n`synapd`\n\nover a Unix socket using a fixed 28-byte binary header\n([ synapd/include/synapd.h](/velle999/SYNAPSE/blob/main/synapd/include/synapd.h)):\n\n```\n#pragma pack(push, 1)\ntypedef struct {\n    uint32_t magic;        // 0x53594E41 \"SYNA\"\n    uint8_t  version;      // SYNAPD_PROTOCOL_VER\n    uint8_t  msg_type;     // QUERY, SYSCALL_EVENT, SCHED_HINT, CONTEXT_PUSH/GET,\n                           // STATUS, RELOAD, SHUTDOWN; responses OR SYN_MSG_RESPONSE\n    uint16_t flags;\n    uint32_t payload_len;  // bytes following this header, max 1 MiB\n    uint32_t request_id;   // echoed in the response\n    uint32_t client_pid;   // sender PID, for privilege checks\n    uint64_t timestamp_ns; // CLOCK_MONOTONIC_RAW\n} syn_msg_header_t;        // 28 bytes\n#pragma pack(pop)\n```\n\nGPLv2 — the SynapseOS Project.", "url": "https://wpnews.pro/news/synapseos-where-the-kernel-thinks", "canonical_source": "https://github.com/velle999/SYNAPSE", "published_at": "2026-07-13 15:21:02+00:00", "updated_at": "2026-07-13 15:36:00.648582+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "ai-products", "ai-infrastructure", "developer-tools"], "entities": ["SynapseOS", "Mistral 7B", "Arch Linux", "llama.cpp", "wlroots", "Wayland", "QEMU", "GitHub"], "alternates": {"html": "https://wpnews.pro/news/synapseos-where-the-kernel-thinks", "markdown": "https://wpnews.pro/news/synapseos-where-the-kernel-thinks.md", "text": "https://wpnews.pro/news/synapseos-where-the-kernel-thinks.txt", "jsonld": "https://wpnews.pro/news/synapseos-where-the-kernel-thinks.jsonld"}}