FreeBSD

FreeBSD 15.1 : Running Plasma Wayland without SDDM

Problem

After upgrading to FreeBSD 15.1-BETA3 and getting DRM 6.12 working see:freebsd-15.1-drm-i915-runbook.md, Plasma Wayland would not start through SDDM. Logging in via SDDM’s greeter bounced back to the login screen with no error output. wayland-session.log was empty. XFCE (X11) worked fine through SDDM.

Root Cause

Session activation failed in this configuration. ck-list-sessions showed:

$ ck-list-sessions | grep active
        active = FALSE

When a session is not marked active, kwin_wayland cannot acquire DRM device access : /dev/dri/* access fails, libseat/seatd integration may not work, and the Wayland compositor exits immediately, often with no log output. This matches the symptom exactly.

 …

battery-sleep.sh : Auto-Suspend on Low Battery for FreeBSD

Host: thinkpadt480s | Date: 2026-05-15 | Status: Deployed and running

battery-sleep.sh is a small cron script that suspends FreeBSD to RAM when the battery drops to a threshold (default 20%). It is a companion to the sysutils/battery-shutdown port — that script shuts down at critical levels (~5 minutes remaining); this one sleeps earlier so the battery is not drained while the machine sits unattended.

 …

blight : Backlight Idle Daemon for FreeBSD/KDE/Plasma/Wayland

Host: thinkpadt480s | Date: 2026-05-10 | Status: Deployed and running

blight is a backlight idle ‘daemon’ I made to use on KDE Plasma/Wayland on FreeBSD 15 because I needed something to dim the screen. It blanks the screen after a configurable idle timeout, suspends on battery after extended idle, and restores brightness on any input activity : no D-Bus, no logind, no powerdevil, no device polling. It is a shell script wrapping swayidle, which speaks the org_kde_kwin_idle Wayland protocol directly to KWin.

This is a rewrite. The original was a Python daemon that polled input devices directly. That approach had fundamental problems on FreeBSD and was replaced entirely with a sh wrapper around swayidle.

 …

TrueNAS reboot loop, VM load, and the NVMe that would not stay seated

Overview

This is the build-and-break log for bringing a previously unstable TrueNAS/FreeBSD box back to a usable state after months of ugly crash behavior under VM load.

The short version:

  • Salvaged hardware repurposed as a NAS
  • A Fedora VM running Plex-related work could trigger a reboot loop
  • Early on, the machine was already rebooting itself in a loop — even before the NVMe path failure showed up clearly in logs
  • Hard evidence eventually pointed at one NVMe path (nvme2 / nda2) timing out and detaching under load
  • Reseating the suspect SN770 and replacing its heatsink brought the mirror back online
  • Current best hypothesis: physical seating, thermal contact, or mechanical instability — not a software bug
 …

Making ZFS ARC Grafana Panels FreeBSD-Compatible

Making ZFS ARC Grafana Panels FreeBSD-Compatible

Steps taken to make an imported ZFS/Grafana dashboard work correctly on FreeBSD. Panels assumed Linux exporters and referenced metrics that do not exist on FreeBSD. The result was a dashboard full of empty panels. This walkthrough shows how the missing ARC kstats where identified, cleanly exported and refactored so that the panels reflect the real FreeBSD kernel state.

Host: clemente (10.10.0.1)
Stack: FreeBSD + node_exporter (textfile collector) + Prometheus + Grafana
Date: 2026-02-10


Overview (Context & Goal)

grafana ZFS FreeBSD.

FreeBSD ZFS Grafana Panel.

 …

Monitoring ZFS with Grafana

Date: 2026-02-08
Host: grafana
Component: Prometheus + Grafana + exporters +zfs
Scope: ZFS monitoring

ZFS / Zpool Metrics for Prometheus (node-exporter + textfile collector on FreeBSD)

This guide sets up zpool capacity metrics (zpool list) for Prometheus/Grafana using node-exporter’s textfile collector on FreeBSD.

This complements (not replaces) zfs_exporter, which provides ARC/internal ZFS metrics but not pool capacity.


What I Got Working

Metrics exposed to Prometheus:

  • zpool_size_bytes{pool="zroot"}
  • zpool_alloc_bytes{pool="zroot"}
  • zpool_free_bytes{pool="zroot"}
  • zpool_capacity_ratio{pool="zroot"}

These map directly to:

 …

Ungoogled-Chromium on a Jail

Date: 2026-02-08
Host: GhostBSD
Component: Ungoogled-Chrome


Chromey Installer

Note 2025-11-02 23:04:26

This document packages everything needed to install, back up, restore, and run Ungoogled Chromium inside a Bastille jail named chromey

in the JailFox style and more. After going through the process you have a jailed ungoogle-chromium with full video and audio support, emojis and fonts etc.

Just in case the chicken came before the egg, the process starts with a robust Home backup/restore flow so your profile/configs survive rebuilds. Then it walks through the templates, scripts, mounts, X11 fixes, and the launchers.

 …