Compare commits

...

2 commits

Author SHA1 Message Date
Breadway
41e7aaf9fc bos-settings: expose npu/rocm/cuda in breadsearch compute backend dropdown
All checks were successful
Mirror to GitHub / mirror (push) Successful in 3s
breadsearch v0.2.1+ ships breadmill built with --features full (npu + rocm
+ cuda in one binary via ort's load-dynamic/dlopen mode), so the earlier
CPU-only restriction here no longer applies. Hint explains what each
backend needs and how to confirm it actually took effect, since a failed
GPU EP registration falls back to CPU silently at the ONNX Runtime level.
2026-07-03 22:38:59 +08:00
Breadway
9119d99ba9 Fix pywal-brown theme regression: stop clobbering the curated black palette
Round-3's autostart fix (breadpaper set instead of raw awww img) had a side
effect I missed: breadpaper set always runs real pywal against the wallpaper
image, which overwrote the curated colors.json baked into skel (#0c0c0c
black background, bread-toned browns reserved for accent slots only) with
colors genuinely extracted from bread-background.png — an all-beige photo,
so every bread-theme app (breadbar included) turned brown on first boot.

Revert autostart to plain `awww img`. Bake .cache/wal/wal (pywal's own
"last image" marker — the only thing breadpaper get/the bos-settings panel
actually read) alongside the existing colors.json instead, so the panel
still shows the real default without ever running pywal for real. pywal
only generates a genuine palette once the user picks their own wallpaper.
2026-07-03 22:35:50 +08:00
3 changed files with 27 additions and 15 deletions

View file

@ -34,22 +34,27 @@ pub fn build() -> GBox {
));
c.append(&w::section("Model"));
// breadmill supports npu/rocm backends in its own codebase, but the
// prebuilt binary bakery actually ships is CPU-only (no --features
// npu/rocm in its release build) — offering them here would just be a
// dropdown option that silently falls back to cpu. Re-add once a build
// with those features is published.
// breadsearch v0.2.1+ publishes breadmill built with --features full
// (npu + rocm + cuda all in one binary, ort load-dynamic/dlopen — no
// separate build needed per backend). Selecting a GPU/NPU backend here
// only takes effect if the matching ONNX Runtime is actually present on
// this machine; breadmill logs which EP really registered at startup.
c.append(&w::dropdown_row(
"Compute backend",
&doc,
&["model", "backend"],
&["cpu"],
&["cpu", "npu", "rocm", "cuda"],
"cpu",
));
c.append(&w::hint(
"The bakery-published breadmill is CPU-only for now. NPU (AMD Ryzen \
AI) and ROCm backends exist in breadmill's own code but need a \
separately-built binary with those features enabled.",
"npu = AMD Ryzen AI (XDNA), rocm = AMD GPU (via MIGraphX), cuda = \
NVIDIA GPU. Each needs the matching ONNX Runtime installed and \
visible to breadmill (system package, or ORT_DYLIB_PATH) check \
`journalctl --user -u breadmill` after restarting for a \
\"Successfully registered\" line confirming it actually took. \
ROCm additionally needs ORT_MIGRAPHX_MODEL_CACHE_PATH set (bakery's \
breadmill.service sets this by default) or the first query after \
each backend/model change costs a one-time ~1-2 minute GPU compile.",
));
c.append(&w::section("Index"));

View file

@ -0,0 +1 @@
/usr/share/backgrounds/bos/bread-background.png

View file

@ -212,12 +212,18 @@ hl.on("hyprland.start", function()
-- rather than an exec-once here.
"/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1",
"awww-daemon",
-- Set the default wallpaper once the daemon is up (retry until
-- ready) via `breadpaper set`, not raw `awww img` — breadpaper also
-- generates the pywal palette and reloads bread-theme, and records
-- the path so `breadpaper get` (and its bos-settings panel) show
-- the real default instead of "No wallpaper set" on a fresh install.
[[bash -c 'until breadpaper set /usr/share/backgrounds/bos/bread-background.png 2>/dev/null; do sleep 0.3; done']],
-- Set the default wallpaper once the daemon is up (retry until ready).
-- Raw `awww img`, NOT `breadpaper set` — breadpaper set also runs real
-- pywal against the image, which would clobber the curated black-base
-- colors.json baked into skel (.cache/wal/colors.json: #0c0c0c bg,
-- bread-toned browns reserved for accent slots only) with colors
-- actually extracted from bread-background.png — which is an all-beige
-- photo, so every bread-theme app (breadbar included) turns brown.
-- `breadpaper get` still works on a fresh install without ever running
-- pywal: .cache/wal/wal (pywal's own "last image" marker, which is all
-- breadpaper reads) is baked into skel too, right beside colors.json.
-- pywal only runs for real once the user picks a wallpaper themselves.
[[bash -c 'until awww img /usr/share/backgrounds/bos/bread-background.png 2>/dev/null; do sleep 0.3; done']],
-- breadd runs as a systemd user service (~/.config/systemd/user/breadd.service,
-- enabled in skel). It autostarts at login but before Hyprland exists, so
-- push the compositor's Wayland env into the user manager and restart breadd