From 1fa1cfaa76591e492ee39d85b8a7b69d7c65d3eb Mon Sep 17 00:00:00 2001 From: Hermes Date: Mon, 8 Jun 2026 23:40:19 -0400 Subject: [PATCH] fix(uconsole): apply CM5 display fixes from nixos-uconsole comparison - Add hardware.graphics.enable = true (Mesa GPU required for VC4) - Add boot.kernelParams with console=tty1 (console on fb0 not ttyAMA0) - Fix console.font to ter-v24n with proper package (match nixos-uconsole) - Merge GPIO 10/11 from nixos-uconsole extra-config (audio amp) - Bump stateVersion to 25.11 --- hosts/uConsole/configuration.nix | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) mode change 100644 => 100755 hosts/uConsole/configuration.nix diff --git a/hosts/uConsole/configuration.nix b/hosts/uConsole/configuration.nix old mode 100644 new mode 100755 index 10cf767..ebe124b --- a/hosts/uConsole/configuration.nix +++ b/hosts/uConsole/configuration.nix @@ -21,16 +21,29 @@ in i18n.defaultLocale = "en_CA.UTF-8"; # System State - system.stateVersion = "25.05"; + system.stateVersion = "25.11"; # Boot & Hardware (migrated to kernel bootloader per nixos-raspberrypi deprecation notice) boot.loader.raspberry-pi.bootloader = "kernel"; # kernel managed by nixos-raspberrypi module — don't override, patches are version-specific # boot.kernelPackages = pkgs.linuxPackages_latest; - # Use kernel built-in console font — ter-v24n from nixos-uconsole is garbled on CM5 - console.font = lib.mkForce "Lat2-Terminus16"; - console.packages = lib.mkForce [ ]; + # Kernel parameters matching nixos-uconsole CM5 module + # console=tty1 is critical — without it, console output goes to ttyAMA0 not fb0 + boot.kernelParams = [ + "8250.nr_uarts=1" + "console=tty1" + ]; + + # Enable Mesa GPU drivers — REQUIRED for VC4 display pipeline to initialize + hardware.graphics.enable = true; + + # Console font sized for the 5" 720x1280 display (from nixos-uconsole base module) + console = { + earlySetup = true; + font = "ter-v24n"; + packages = with pkgs; [ terminus_font ]; + }; # Networking networking.networkmanager.enable = true; @@ -209,7 +222,14 @@ in # CM5 Config.txt Fix: use [pi5] section (not [cm5]) # Rex's images use [pi5], the CM5 firmware may not detect [cm5] # ============================================================ + # Merge nixos-uconsole GPIO config with our [pi5] overrides + # GPIO 10/11 are from nixos-uconsole configtxt.nix (audio amplifier) + # [pi5] section fixes the CM5 detection issue — firmware matches [pi5] not [cm5] hardware.raspberry-pi.extra-config = '' + [all] + gpio=10=ip,np + gpio=11=op,dh + [pi5] dtparam=pciex1=off dtoverlay=clockworkpi-uconsole-cm5