Skip to content

Aphotic 2.0.6

Choose a tag to compare

@T-Crypt T-Crypt released this 24 Sep 13:27

Aphotic 2.0.6 puts local models first. When a model loads on your own machine, the desktop notices within milliseconds, steps its effects and plugins aside, and gives them back when the model unloads. This release also makes the installer finish on a plain Arch machine, recover when an upstream package is broken, and tell us when something breaks, and it cuts what the shell costs at idle.

Local AI

  • Inference mode. When a model loads, Aphotic enters inference mode within 28 ms of the request. It turns off blur, shadows and animations, and pauses the plugin surfaces that opt out (pet, spectrum, live wallpaper); it does not remove them. It gives the loaded model the top claim on the GPU. A toast names the model. Twenty seconds after the model unloads, everything returns. Settings > AI has an Auto/Off switch, and qs ipc call inference enter|exit|auto|off|status drives it by hand. If the shell crashes mid-inference, the next start restores your effects.
  • llama-swap support. Set a llama-swap host in Settings > AI. Each model it runs becomes a Resource Engine claim with its measured VRAM, and shows up in Flow. Suspend unloads a model through llama-swap's own API. Aphotic reads model names and embedding models from your llama-swap config at runtime, so it names no models itself.
  • One claimant for every backend. Ollama and llama-swap now share one claim engine. Along the way it fixed two Ollama bugs: models running in system RAM now claim memory, and Suspend on a RAM claim asks for the right model.
  • Fewer, better prompts. The Resource Engine asks you only when there is a decision to make. A model that fits no longer triggers a prompt about the compositor or the shell, and only a workload with a profile, such as a game, can open one.
  • AI notch tab (aphotic-plugins). A new llama-swap plugin adds an AI tab to the notch: loaded models, VRAM, live tokens per second and context, the inference mode toggle, and unload. The Agent Graph and Agent Audit now show llama-swap models by name.

Performance

  • Wallpapers decode at screen size. A bundled 7680x4320 wallpaper held 127 MiB of VRAM per image, with two images per screen for the crossfade. It now holds 25 MiB. Smaller wallpapers decode at their own size, and only the visible image keeps a texture.
  • Quieter at idle. The shell used to start around 100 small processes a minute while you did nothing. The bar reads caps and num lock from the keyboard LEDs instead of asking Hyprland every 2 seconds, CPU and memory are read in process, local model hosts are polled over HTTP in process, and the local IP refreshes when the network changes. While a model generates, llama-swap's log lines no longer reach the shell, only its load and unload events.
  • aphotic perf. aphotic perf snapshot records per-process GPU memory and load, plus the shell's memory and CPU, with the change since the last run. aphotic perf budget checks the result against the budgets in the repo.

Install

  • Plain Arch works again. On a machine without yay, the installer captured yay's whole build log as the helper's name, and every package then failed. A fresh Arch install now runs to the end.
  • Stable by default. ./install.sh installs the newest release, not the development branch. --channel edge gives you main, and aphotic update follows the channel you picked.
  • A way past broken upstream packages. When an official package is broken on the day you install, the installer offers the Arch Linux Archive snapshot from the last day every Aphotic package installed cleanly, in one full-system transaction. Your pacman.conf is never edited, and aphotic doctor tells you when it is safe to update again.
  • Failures you can act on. A failed package gets one plain sentence on the likely cause (keyring, mirror, conflict, removed upstream, broken AUR build) and its last error lines. You can then send a redacted report to GitHub, but only after you have seen it and said yes.
  • Scripted installs get the whole desktop. With no options and no terminal, the installer now copies Aphotic's configs instead of leaving bare Hyprland.
  • We hear about breakage first. A nightly check installs every package, including Hyprland and the GPU stacks, and runs the real installer in a fresh Arch container. When upstream breaks something, it opens an issue before a user hits it.
  • NVIDIA. The installer finds any installed NVIDIA driver, including legacy branches, beta drivers and distro module packages, before it touches anything. Pascal, Maxwell and older cards keep their driver, or get the exact legacy-branch command to run.
  • Minimal gets what the shell uses. The volume keys, the tray applets the bar opens, the default icon, cursor and GTK themes, and the icon fonts all install on minimal. Super+M opens the session menu.
  • More reliable installs. Repo packages install with pacman even without an AUR helper, a stale AUR build cache recovers on its own, and wallust installs from its upstream release.

Also

  • Flow gains a shell-activity layer. The Plugins pane scales to long lists. The capsule is the default bar on a fresh install, and several wallpaper picker and capsule layout fixes land.
  • KDE Connect starts as a supervised service when it is installed.
  • Three startup TypeErrors are gone.
  • The lock screen and the theme and palette watchers stop waking the shell several times a second.