Claude_Homelab/cachy-overview.md

249 lines
8.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Main Desktop — CachyOS Overview
> Last updated: 2026-08-11
---
## System
| Property | Value |
|---|---|
| **Distro** | CachyOS (base: Arch Linux) |
| **Kernel** | 7.0.10-2-cachyos (also has LTS: 6.18.33-2) |
| **Desktop** | KDE Plasma 6.6.5 (Wayland / kwin_wayland) |
| **Display Server** | Wayland + Xwayland 24.1.11 |
| **Init** | systemd v260 |
| **Shell** | fish 4.7.1 |
| **Terminal** | Konsole |
| **Boot Mode** | UEFI / EFI |
| **Kernel Params** | `quiet nowatchdog splash rw rootflags=subvol=/@` |
---
## Hardware
### CPU
| Property | Value |
|---|---|
| **Model** | Intel Core i7-13700K (13th Gen, Raptor Lake) |
| **Cores / Threads** | 16 cores / 24 threads (8P + 8E) |
| **Max Boost** | 5.3 GHz (P-cores) / 4.2 GHz (E-cores) |
| **Process** | Intel 7 (10nm) |
| **Cache** | L1: 1.4 MB, L2: 24 MB, L3: 30 MB |
| **Virtualization** | VMX enabled |
| **Governor** | powersave (intel_pstate) |
### Memory
| Property | Value |
|---|---|
| **Total** | 32 GB |
| **Used (at capture)** | ~4.65 GB (15%) |
| **Swap** | 31 GB zram (zstd, priority 100) |
| **Swappiness** | 150 |
### GPU
| Property | Value |
|---|---|
| **Model** | NVIDIA GeForce RTX 4060 Ti |
| **VRAM** | 8 GB |
| **Driver** | nvidia 610.57.04 |
| **Architecture** | Lovelace (AD106, TSMC 5nm) |
| **APIs** | OpenGL 4.6, Vulkan 1.4.350, EGL 1.5 |
| **PCIe** | Gen 4 x8 |
| **Vendor** | ASUSTeK |
### Display
| Property | Value |
|---|---|
| **Monitor** | Xiaomi Mi Monitor (34", ultrawide) |
| **Resolution** | 3440×1440 @ 144 Hz |
| **Connection** | DisplayPort (DP-3) |
| **DPI** | 110 |
### Motherboard
| Property | Value |
|---|---|
| **Model** | ASUS ROG STRIX B760-I GAMING WIFI |
| **Firmware** | UEFI AMI v1662 (2024-08-07) |
### Storage
| Device | Model | Size | Filesystem | Mount |
|---|---|---|---|---|
| `/dev/nvme0n1` | Samsung 970 EVO Plus 1TB | 931.5 GB | btrfs (subvols) | `/`, `/home`, `/var/log`, `/var/tmp` |
| `/dev/nvme0n1p1` | EFI partition | 4 GB | vfat | `/boot` |
| `/dev/sda` | Verbatim STORE N GO | 14.5 GB | — | USB drive |
- **Total used:** 33.73 GB / 927.5 GB (3.6%)
- **Btrfs subvolume layout:** `/@` for root, shared partition for home/logs/tmp
### Network
| Device | Type | Driver | Status |
|---|---|---|---|
| Intel I226-V (enp5s0) | 2.5GbE Ethernet | igc | **Up** @ 1000 Mbps |
| Intel AX211 (wlan0) | WiFi 6E | iwlwifi | Down |
| Intel AX211 Bluetooth | BT 5.4 | btusb | Up |
### Audio
- Intel Raptor Lake HDA + NVIDIA AD106M HDA
- PipeWire 1.6.6 (with pipewire-pulse + wireplumber)
---
## Software
### Package Manager
| PM | Count |
|---|---|
| pacman (total) | 1590 packages |
| pacman (explicitly installed) | 239 |
| flatpak | 15 apps |
| **Total** | **1605** |
### Key Applications
| Category | Apps |
|---|---|
| **Browser** | Brave |
| **File Manager** | Dolphin |
| **Text Editor** | Kate, Micro, Nano, Vim |
| **Terminal** | Konsole, Alacritty |
| **Media** | VLC, Haruna, Jellyfin (server on homelab) |
| **Graphics** | GIMP 3.2, Krita 6.0, Inkscape 1.4 |
| **3D / CAD** | Blender 5.1, FreeCAD 1.1 |
| **3D Printing** | Bambu Studio (Flatpak, `com.bambulab.BambuStudio`) |
| **Video Editing** | Kdenlive 26.04 |
| **Screen Recording** | OBS Studio 32.1 |
| **Notes** | Obsidian 1.12 |
| **IDE** | VSCodium (native, via AUR `vscodium-bin`) + Claude Code 2.1.173 extension |
| **Containers** | Docker 29.5 + docker-compose |
| **AUR Helper** | paru 2.1 |
| **Automation** | n8n (on homelab) |
| **Theming** | CachyOS Nord KDE, CachyOS Emerald KDE, CachyOS Iridescent KDE |
| **KWin Scripts** | Mouse Tiler |
| **Productivity** | Kara |
### Compilers & Runtimes
| Tool | Version |
|---|---|
| clang | 22.1.5 |
| gcc | 16.1.1 |
| python | 3.14.5 |
| nodejs | 26.1.0 |
| npm | 11.16.0 |
> npm global prefix: `~/.npm-global` (added to fish PATH via `fish_add_path`)
> Claude Code CLI installed globally: `~/.npm-global/bin/claude`
### Enabled Services
| Service | Purpose |
|---|---|
| NetworkManager | Network management |
| systemd-resolved | DNS resolution |
| bluetooth | Bluetooth |
| docker.socket | Docker daemon |
| ufw | Firewall |
| avahi-daemon | mDNS/zeroconf |
| snapper-cleanup.timer | Btrfs snapshot cleanup |
| fstrim.timer | SSD TRIM |
| ananicy-cpp | CPU/IO process priority |
| intel_lpmd | Intel low power mode daemon |
| plasmalogin | KDE login manager |
### Btrfs & Snapshots
- Snapper configured with `cachyos-snapper-support`
- `limine-snapper-sync` for bootloader snapshot sync
- `btrfs-assistant` GUI available
---
## Kernel & Boot
| Property | Value |
|---|---|
| **Active kernel** | linux-cachyos 7.0.10-2 |
| **LTS kernel** | linux-cachyos-lts 6.18.33-2 |
| **NVIDIA module** | linux-cachyos-nvidia-open 7.0.10-2 |
| **Bootloader** | Limine 12.3 |
| **Intel microcode** | 20260512 |
---
## Keyboard Customisation
### AltGr+P → `'` (apostrophe) remap
The default Slovak (`sk`) xkb layout inherits `þ` on AltGr+P from the `latin` include. Fixed via a custom xkb user variant.
**Files:**
- `~/.config/xkb/symbols/sk` — custom variant file (named `sk`, not `sk_custom`, because libxkbcommon looks up variants by layout filename)
- `~/.config/xkb/rules/evdev.xml` — local copy of system evdev.xml with `sk_custom` variant registered
- `~/.config/xkb/rules/evdev` — local copy of system evdev rules file
- `~/.config/kxkbrc` — KDE keyboard config pointing to `LayoutList=sk`, `VariantList=sk_custom`
**`~/.config/xkb/symbols/sk` content:**
```
partial alphanumeric_keys
xkb_symbols "sk_custom" {
include "sk(basic)"
key <AD10> { [ p, P, apostrophe, NoSymbol ] };
};
```
**Gotchas:**
- `setxkbmap` and `XKB_CONFIG_ROOT` do not work on Wayland — changes must go through `~/.config/xkb/`
- The symbols file must be named after the layout (`sk`), not the variant (`sk_custom`) — libxkbcommon looks up variants inside the layout file
- `include "sk"` causes infinite recursion when the file is named `sk` — use `include "sk(basic)"` instead
- KDE reads `~/.config/xkb/`, not `~/.xkb/`
- keyd was tested but doesn't work cleanly with non-US layouts on Wayland without switching the display server to US layout
---
## Troubleshooting
### Bambu Studio (Flatpak) — model/build plate not rendering after NVIDIA driver update
**Symptom:** Bambu Studio opens fine but the build plate and any loaded model are invisible/blank. This is a **recurring pattern**, confirmed on at least two separate occasions (2026-07-11 and 2026-08-11), both directly following a host NVIDIA driver update.
**Root cause (recurring pattern):** The Flatpak runtime bundles its own NVIDIA GL extension (`org.freedesktop.Platform.GL.nvidia-XXX`), which must exactly match the host NVIDIA driver version (down to the patch digit). CachyOS is rolling-release, so `nvidia-smi` driver version drifts ahead of the installed Flatpak extension after routine system updates — this silently breaks EGL/DRI2 initialization (`failed to create dri2 screen`, `driver (null)`, `Cannot load libcuda.so.1` in logs), even though nothing about Bambu Studio itself changed.
**Diagnosis:**
```bash
# Host driver version
nvidia-smi --query-gpu=driver_version --format=csv,noheader
# Installed Flatpak NVIDIA GL extension(s)
flatpak list -d | grep -i nvidia
```
If the host driver version doesn't match any installed `Platform.GL.nvidia-XXX` extension exactly, that's the cause.
**Fix:**
```bash
flatpak update
```
`flatpak update` alone is sufficient — it detects and pulls the correct matching `org.freedesktop.Platform.GL.nvidia-<version>` extension for the current host driver automatically. No need to name the exact version manually. Fully quit and relaunch Bambu Studio afterward (reboot not required).
Note: on the 2026-08-11 occurrence, forcing XWayland (`GDK_BACKEND=x11 GSK_RENDERER=gl`) was tried first and did **not** fix it — confirming this is purely a driver/Flatpak-runtime version mismatch, not a Wayland compositor issue. That step can be skipped in future occurrences; go straight to the diagnosis/fix above.
**If Flathub hasn't published the matching extension version yet:** switch off Flatpak entirely and use the AUR binary instead, which uses the host driver directly and avoids this whole class of bug on future driver updates:
```bash
paru -S bambu-studio-bin
```
**Confirmed occurrences:**
- 2026-07-11 — host driver updated, matching `org.freedesktop.Platform.GL.nvidia-610-43-03` extension installed, resolved.
- 2026-08-11 — host driver updated to 610.57.04, resolved via plain `flatpak update` pulling `org.freedesktop.Platform.GL.nvidia-610-57-04`.