Reference
Useful commands
A terminal cheat-sheet to diagnose and tune SkillFishOS.
SkillFishOS is designed not to require the terminal: the Tuner and the graphical apps are enough for normal use. This page is for those who want to tinker or diagnose. Privileged commands use sudo.
🛟 Before risky experiments, remember the safety net: Btrfs snapshots and rollback from the GRUB menu (see Storage & snapshots).
System and kernel
uname -r # running kernel (should end with -skillfishos)
cat /proc/cmdline # active boot parameters
journalctl -b -p err # errors from the current boot
inxi -Fxxxz # full hardware summary
GPU, clocks and temperatures
# GPU temperature from amdgpu sysfs
cat /sys/class/drm/card*/device/hwmon/hwmon*/temp1_input # °C ×1000
# SMU GPU governor status
systemctl status cyan-skillfish-governor
cat /etc/cyan-skillfish-governor/config.toml # freq/volt safe-points
# real-time GPU monitoring
nvtop # or: radeontop
On the BC-250 frequency control does not go through standard amdgpu sysfs but through the SMU governor. Change the values from the Tuner, not by hand.
CPU — overclock/undervolt
systemctl status bc250-smu-oc.service # "inactive" after applying is normal (one-shot)
cat /etc/bc250-smu-oc.conf # applied clock/voltage
lscpu | grep MHz # current core frequencies
sensors # temperatures/voltages (nct6686, k10temp)
Live Compute Units (skillfish-cu)
skillfish-cu get # JSON state: active CUs + per-row (SE/SH) mask
sudo skillfish-cu max # route all CUs (40)
sudo skillfish-cu stock # back to 24 (driver baseline)
sudo skillfish-cu set 0x1f # WGP mask for all rows (0x07=24 .. 0x1f=40)
cat /run/skillfish/cu_active # "40/40" (also read by the HUD)
vulkaninfo | grep -i "deviceName\|driverName" # GPU as seen by Vulkan (RADV)
CUs are best managed from the Tuner grid (click + presets, with “CU test”). The first 24 are driver-locked and always on.
Quick benchmarks (the same ones the Tuner uses):
vkpeak # FP32 throughput (GFLOPS)
clpeak # memory bandwidth (GB/s)
sysbench cpu run # CPU stress/benchmark
Unified memory (VRAM/GTT)
cat /proc/cmdline | tr ' ' '\n' | grep -E 'gttsize|ttm' # GTT/TTM params
glxinfo | grep -i "memory" # memory seen by the driver
free -h # shared RAM/GDDR6
Gaming
flatpak list # Flatpak apps (Steam, EmuDeck emulators…)
flatpak update # update Flatpak apps
gamescope -- %command% # (set this in Steam launch options)
# Bluetooth controllers
bluetoothctl # scan on / pair / connect / trust
Local AI
# the stack runs in Docker containers (see AI panel)
docker ps # running containers (ollama, openwebui, dockge)
docker compose -f <stack> up -d # start the stack
docker compose -f <stack> down # stop and free GPU/RAM
ollama list # installed models (e.g. qwen3:14b)
Snapshots and rollback (Btrfs)
sudo snapper list # list snapshots
sudo snapper create -d "before X" # manual snapshot
sudo btrfs subvolume list / # subvolumes (@rootfs, @home)
# the simplest rollback is from the GRUB menu → "SkillFishOS snapshots"
Updates and repository
sudo apt update && sudo apt full-upgrade # update the system
apt-mark showhold # held packages (incl. the kernel)
sudo apt install skillfishos-kernel # install/update the kernel from the repo
apt policy <package> # which repo/version a package comes from
Network and remote access
nmcli device status # network interface status
ip a # IP addresses
systemctl status x11vnc # VNC server for the remote desktop
hostname -I # IP to use with the VNC client
Display (DisplayPort HPD)
systemctl status skillfish-dp-hotswap # daemon that works around the broken HPD
xrandr # outputs and resolutions (X11 session)
Sources
- Btrfs wiki · Snapper
- Mesa / RADV · vulkaninfo
- Arch Wiki — reference for many Linux commands
