cachy.hermes
Linux 7.0-bore Ollama 0.30 Hermes v0.17

High-Performance Linux
for Local Autonomous AI.

Deploy Nous Research Hermes Agent on CachyOS. Harness custom hardware instruction sets, optimized CPU schedulers, and zero-overhead GPU acceleration configurations.

Interactive Setup Configurator

Generate optimized script components and performance expectations dynamically based on your host hardware configuration.

-15% Estimated Latency Reduction
+12% Inference Throughput Boost
Custom Target Configuration Shell Script
# Initializing NVIDIA configuration...
Select variables to render tailored instructions...

OS Architecture Why CachyOS for Local AI?

Generic distributions compile binaries to support older processors, leaving computational potential on the table. CachyOS optimizes every subsystem to leverage the hardware capabilities of modern silicon.

x86-64-v3/v4 Target Execution

By rebuilding its package tree with `-O3` and CPU-specific flags (e.g., AVX-512, FMA, AVX2), CachyOS processes matrix-heavy neural network operations and system calls without legacy emulation delays.

Optimized Package Guide

BORE CPU Scheduler

The BORE kernel optimizes interactive process priority dynamically, preventing GUI lag even when local LLM tasks occupy all threads.

BORE Scheduler Repository

Transparent RAM Compression

ZRAM configured with ZSTD swaps memory pools in real-time. Overflowing local model sizes will not trigger immediate hard disk stalls.

ZRAM Setup Documentation

Under 1.5 GB Boot Overhead

Minimal kernel packaging leaves more available VRAM and RAM for parameter caching. Load 8B models comfortably alongside standard desktop application workloads.

Compare CachyOS Kernels

Performance Benchmarks Gaming Framework Analysis

Telemetry removal, compiler optimizations, and CPU scheduling profiles result in a higher, more stable frame output.

Title (1080p High)
Windows 11 Avg
CachyOS Avg
Net Gain
Cyberpunk 2077
58 FPS
64 FPS
+10.3%
God of War Ragnarok
72 FPS
78 FPS
+8.3%
Counter-Strike 2 (CS2)
240 FPS
260 FPS
+8.3%

Relative Gaming Output

CachyOS vs Windows
Cyberpunk 2077 58 FPS (Windows) 64 FPS (CachyOS +10.3%) God of War Ragnarok 72 FPS (Windows) 78 FPS (CachyOS +8.3%) Counter-Strike 2 (CS2) 240 FPS (Windows) 260 FPS (CachyOS +8.3%) 0% 50% 100% Performance Index
Telemetry & Monitor Toolchain

Deploy compatibility rendering layers, thread optimizers, and resource dashboards with: sudo pacman -S proton-cachyos gamemode mangohud

Gaming Settings Guide MangoHud Repository

Local VRAM & Context Calculator Hardware Fit Analysis

Estimate GPU memory utilization for running local models and configure optimal context windows without triggering OOM swap locks.

Model Configuration

Specify parameters and precision values to calculate direct memory allocation rates.

Quick Presets
Llama 3 8B (Q4) Llama 3 8B (Q8) DeepSeek 32B (Q4) Llama 3 70B (Q4)
2k 32k 64k 96k 128k

Calculated VRAM Requirements

Model Weights Size 0.00 GB
KV Cache Overhead 0.00 GB
Total Estimated VRAM 0.00 GB
0 GB 16 GB (RTX 4080) 24 GB (RTX 4090)

VRAM Allocation Breakdown

Weights: 0GB KV Cache: 0GB System Free: 24GB

Hardware Suitability

Select variables to calculate suitability...

System-Level Tuning Optimizations for Large Model Loads

Apply kernel and system variables to configure high-throughput local inference pipelines.

Virtual Memory Map Increase

Virtual Memory

Prevents allocation limits inside GGUF memory-mapped execution arrays (such as llama.cpp or Ollama) when handling massive weights structures:

/etc/sysctl.d/99-ai-optimizations.conf
vm.max_map_count=2097152

Swappiness Threshold

Disk I/O

Prevents system swap page flushes to slower storage sectors. Forces operational data pages to remain inside physical RAM:

/etc/sysctl.d/99-ai-optimizations.conf
vm.swappiness=10

Ollama Parallel Concurrency

Concurrency

Configure Ollama systemd service to run up to 2 parallel model queries concurrently:

Systemd Service Override
# Run: sudo systemctl edit ollama.service
# Add these lines:
[Service]
Environment="OLLAMA_NUM_PARALLEL=2"

Multi-GPU & Context Tuning Advanced Large Language Model Scaling

Distribute model parameters and activation pipelines across multiple GPUs and customize runtime environment parameters to maximize memory utilization efficiency.

1

Configure Device Target Visibility

For systems with multiple graphics cards, control device distribution using environment variables. By default, Ollama will load model segments across all visible devices. Force target cards using CUDA_VISIBLE_DEVICES (NVIDIA) or ROCR_VISIBLE_DEVICES (AMD):

Device Isolation Shell Override
# Limit Ollama target usage to GPU 0 and GPU 1
export CUDA_VISIBLE_DEVICES=0,1

# For AMD ROCm targets
export ROCR_VISIBLE_DEVICES=0,1
2

Tuning Context Sizes inside Custom Modelfiles

Ollama defaults to a 2,048 token context for many models. To leverage modern 32k or 128k context windows, build a custom model config mapping the desired context token size directly:

Ollama Custom Modelfile Configuration
# Create a file named Modelfile:
FROM hermes3:8b

# Override context window parameter to 32k tokens
PARAMETER num_ctx 32768

# Customize generation temperature constraints
PARAMETER temperature 0.7

Compile the custom config with: ollama create hermes3-32k -f Modelfile

3

System Kernel Cache Optimizations

When running massive inference pipelines, keep memory throughput fluid. Prevent caching locks by tuning Arch Linux's kernel virtual memory dirty page controls:

Sysctl Memory Configuration (/etc/sysctl.d/99-ai-mem.conf)
# Maintain high system page availability for streaming tokens
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5
vm.vfs_cache_pressure = 50

Apply settings immediately using: sudo sysctl --system

Windows on Virt-Manager QEMU/KVM Near-Native Performance

Configure a high-performance Windows virtual machine on CachyOS using QEMU, KVM, and Virt-Manager, bypassing the heavy overhead of standard virtualization tools.

1

Install Virt-Manager Toolchain

Install the required virtualization packages, networking drivers, and the VirtIO drivers ISO for Windows systems:

Terminal Command
sudo pacman -S qemu-full virt-manager libvirt dnsmasq iptables-nft virtio-win
Arch Wiki Libvirt Setup
2

Enable Service Daemon & Permissions

Add your user account to the libvirt group to grant permission to configure hypervisor configurations, then enable the startup daemon:

Terminal Command
sudo usermod -aG libvirt $USER
sudo systemctl enable --now libvirtd.service
Re-login Required

You must log out of your desktop session and log back in (or reboot) for your user account's new group memberships to register.

3

Virtual Machine Initialization Settings

Create a new VM in Virt-Manager. During setup, configure the hardware options below to maximize performance and meet Windows 11 system requirements:

  • System Firmware: Select UEFI (OVMF) instead of legacy BIOS to enable Secure Boot.
  • Virtual Disk Bus: Set the storage disk type to VirtIO instead of IDE/SATA.
  • Network Device: Set the device model type to virtio to enable virtual 10Gbps connectivity.
  • TPM Hardware: Add a TPM hardware device. Set model to TIS, type to Emulator, and version to 2.0.
  • Mount Drivers ISO: Add a secondary CDROM hardware unit pointing to the VirtIO drivers file: /usr/share/virtio/virtio-win.iso.
Fedora VirtIO-win Documentation

Containerized GPU Workspaces Docker CUDA & ROCm Setup

Run rootless, hardware-accelerated containers for AI workloads on CachyOS, preserving system security and clean package boundaries.

Docker Runtime Configurator

Generate optimized script commands to prepare your Docker engine for direct hardware access based on your GPU vendor.

Docker Setup Shell Commands
# Initializing Docker setup script...

Workspace Orchestration

Toggle tabs below to copy pre-configured docker-compose.yml templates with GPU offloading blocks mapped correctly for CachyOS.

docker-compose.yml
services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    ports:
      - "11434:11434"
    volumes:
      - ollama_data:/root/.ollama
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    restart: unless-stopped

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    ports:
      - "3000:8080"
    volumes:
      - open-webui_data:/app/backend/data
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
    depends_on:
      - ollama
    restart: unless-stopped

volumes:
  ollama_data:
  open-webui_data:
docker-compose.yml
services:
  comfyui:
    image: yanwk/comfyui:latest-gpu
    container_name: comfyui
    ports:
      - "8188:8188"
    volumes:
      - ./comfyui_data:/home/user/ComfyUI
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    restart: unless-stopped
docker-compose.yml
services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama-standalone
    ports:
      - "11434:11434"
    volumes:
      - ollama_standalone:/root/.ollama
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    restart: unless-stopped

volumes:
  ollama_standalone:

Maintenance & Snapshot Recovery Rolling Release Safety

Ensure data integrity of your Arch-based setup before running full system upgrades.

Pacman Clean & Orphan Prune

Keep your root partition lean. Remove unneeded package cache entries and drop orphan packages:

sudo pacman -Rns $(pacman -Qtdq)
sudo paccache -r
Pacman Maintenance Wiki

BTRFS subvolume Snapshots

Leverage the speed of BTRFS copy-on-write subvolumes. Generate a system restore point instantly:

sudo pacman -S timeshift
sudo timeshift --create --comments "Pre-upgrade snapshot"
Timeshift Documentation

Low-Latency PipeWire Audio Optimizations for Real-Time Voice Agents

Minimize response latency for local automated speech-to-text (STT) and text-to-speech (TTS) engines by tuning Arch Linux's PipeWire audio pipeline.

1

Tuning PipeWire Clock Quantum

To reduce audio processing latency, configure PipeWire's default quantum parameters. Create a system override configuration mapping the buffers to lower latency values (e.g. 128 frames at 48kHz):

PipeWire Config Override (/etc/pipewire/pipewire.conf.d/99-latency.conf)
# Append to custom PipeWire daemon overrides
context.properties = {
    default.clock.quantum       = 128
    default.clock.min-quantum   = 64
    default.clock.max-quantum   = 512
    default.clock.rate          = 48000
}

Apply changes by restarting the user-space audio service: systemctl --user restart pipewire.service pipewire-pulse.service

2

Virtual Audio Loopback Setup

For AI voice agents that monitor or intercept application audio, set up a persistent virtual audio loopback sink. This allows routing desktop audio channels directly to the agent's voice parser:

Virtual Sink Setup Commands
# Route audio outputs through dynamic virtual pipelines
pactl load-module module-null-sink sink_name=Virtual_AI_Sink sink_properties=device.description=Virtual_AI_Loopback

# Map playback loopback channels
pw-loopback -m '[ FL FR ]' --capture Virtual_AI_Sink:monitor --playback FL,FR

Custom CachyOS ISO Profile Builder Fleet-Wide AI Workspace Deployment

Compile custom installation media pre-configured with GPU runtimes, Ollama, development tools, and low-latency kernels using the Arch Linux archiso toolkit.

1

Initialize CachyOS ISO Build Profiles

Install the Arch Linux iso builder toolchain and fetch the CachyOS custom profile structures from the official build repository:

Terminal Commands
# Install build package dependencies
sudo pacman -S archiso git --needed

# Clone CachyOS official iso profiles
git clone https://github.com/cachyos/cachyos-archiso.git
cd cachyos-archiso/cachyos-desktop
2

Inject Local AI Packages & Services

Append your target AI dev toolchain packages directly to the profile package manifest file. This guarantees they are baked into the ISO kernel:

Manifest Appendix (packages.x86_64)
# Append directly to cachyos-archiso/cachyos-desktop/packages.x86_64:
ollama-cuda
python-pip
python-virtualenv
docker
docker-compose
git-lfs
3

Enable Ollama on ISO Boot

To start the Ollama inference server automatically when booting the live installation media, add a systemd symlink trigger inside the profile customization hooks:

Customization Script hook (ai-hook.sh)
# Create custom execution symlinks inside the local configuration structure
ln -sf /usr/lib/systemd/system/ollama.service \
       cachyos-desktop/airootfs/etc/systemd/system/multi-user.target.wants/ollama.service

Compile the final optimized bootable ISO image by running: sudo ./build.sh -v

Custom Agent Skills Nous Hermes Extensions

Integrate these custom capability descriptors to enable Hermes Agent to parse hardware configuration structures and system workloads directly.

System Info

cachyos_system_info

Inspects the host kernel configuration structure, network BBR configuration, active CPU scaling governor, and mount parameters.

Trigger Phrases
"Check CachyOS system performance profile" "Verify active kernel scheduler"
Target Script Components
uname -r cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor sysctl net.ipv4.tcp_congestion_control
Telemetry

system_monitoring

Tracks execution footprints across RAM memory channels, CPU thread workloads, active swap pools, and GPU performance profiles.

CPU: 0% VRAM: 0% Inference: 0.0 t/s
Trigger Phrases
"Show my system resource usage" "Is my GPU currently utilized by Ollama?"
Target Script Components
free -h nvidia-smi --query-gpu=utilization.gpu... pgrep -fl ollama
Skill Registration Details

Copy the skill packages into the local Hermes workspace configuration tree: cp -r skills/* ~/.hermes/skills/

Nous Hermes Agent Repository

Troubleshooting & FAQ System Architecture Guides

All Issues GPU & Ollama Virt-Manager PipeWire Audio Kernel & Boot

This indicates the graphics driver DKMS compile step failed to bind modules against the new kernel version during update. Run the virtual terminal layout (Ctrl + Alt + F3), log in, and execute:

sudo pacman -Syu
sudo mkinitcpio -P
sudo reboot

Under heavy local computation, large models can take longer to evaluate context tokens, causing the HTTP request to timeout. Expand your configuration timeouts using the Hermes CLI client:

hermes config set HERMES_API_TIMEOUT 1800

The Ollama server is unable to communicate with your graphic drivers. Verify the following:

  1. Ensure the correct driver-specific package is installed: ollama-cuda, ollama-rocm, or ollama-vulkan.
  2. Ensure your user is in the correct group arrays: sudo usermod -aG video,render $USER.

Windows does not contain the VirtIO SCSI controller drivers natively on its installer image. During disk partition selection:

  1. Click Load Driver and then click Browse.
  2. Expand the mounted VirtIO Win CDROM drive and navigate to viostor/w11/amd64 (or matching OS folder).
  3. Select the VirtIO SCSI driver from the list. The virtual disk will now display in the partitioning menu.

Windows 11 requires a Virtual TPM 2.0 device and UEFI secure boot active. In the VM configuration details panel:

  1. Go to Overview -> set the firmware option to UEFI (OVMF) (secure boot variant).
  2. Click Add Hardware (bottom left corner) -> select TPM.
  3. Configure parameters: Device Type = Emulator, Model = TIS, Version = 2.0. Click Finish.

The VirtIO virtual network driver needs to be loaded manually in Windows. Inside the guest VM OS:

  1. Open Device Manager (right-click Start menu).
  2. Locate the Ethernet Controller displaying a yellow warning tag.
  3. Right-click -> select Update Driver -> choose Browse my computer for drivers.
  4. Point the search path to your mounted VirtIO drivers CDROM drive (or specifically directory NetKVM/w11/amd64) and click Next.

Your local user account lacks system permissions to interface with the virtualization sockets. Resolve with these commands:

# Add active user to libvirt group
sudo usermod -aG libvirt $USER

# Restart libvirtd service
sudo systemctl restart libvirtd

Note: Reload your shell environment or run newgrp libvirt in your terminal before re-launching Virt-Manager.