Chestnut
An HP Spectre x360 laptop.
Chestnut is one of my main workstations, and the first laptop I bought when I stopped using Apple products.
Specs
- OS: Debian 13 Trixie
- Window manager: GNOME
- Display: 13.5-inch @ 267 DPI (3000×2000)
- Disk: 2 TB NVMe SSD
- CPU: Intel Core i7-1255U @ 4.7 GHz (×10)
- GPU: Intel Iris Xe
- RAM: 16 GB DDR4-4266
- Weight: 1.349 kg
Post-Installation Setup
Boot Splash
Chestnut booted into a wall of text and a graceless prompt to unlock the disk. That one isn’t this laptop’s fault; the fix lives on the Debian page, because every machine needs it.
Drivers
I made sure the laptop’s drivers were installed and loaded.
sudo apt install firmware-misc-nonfree intel-microcode
echo "i915" | sudo tee -a /etc/initramfs-tools/modules
sudo update-initramfs -u
And finally, I installed Plymouth’s themes package and set a clean, simple unlock prompt.
sudo apt install plymouth-themes
sudo plymouth-set-default-theme -R bgrt
GRUB Speed & Appearance
With Plymouth working, I wanted to speed up boot so a computer this fast wouldn’t seem to stall at GRUB. So I opened GRUB’s config again and set a few more values.
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash loglevel=3 vt.global_cursor_default=0"
GRUB_DISABLE_OS_PROBER=true
GRUB_GFXPAYLOAD_LINUX=keep
GRUB_TIMEOUT=1
GRUB_TIMEOUT_STYLE=hidden
With that booting cleanly, I enabled HDR in GNOME’s settings, since this screen supports it. But when I did, some animations turned choppy. That sent me back to GRUB’s config to disable PSR (Panel Self Refresh).
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_psr=0 loglevel=3 vt.global_cursor_default=0"
That apparently costs more power, so I plan to turn PSR back on soon and see whether the choppiness has been fixed.
YubiKey GPG + SSH Agent
sudo apt install gnupg scdaemon pcscd yubikey-manager
Enable SSH support in gpg-agent and its socket:
echo "enable-ssh-support" >> ~/.gnupg/gpg-agent.conf
systemctl --user enable --now gpg-agent-ssh.socket
Mask (not just disable) the competing agents that GNOME wants to use:
systemctl --user disable --now ssh-agent.socket ssh-agent.service
systemctl --user mask gcr-ssh-agent.socket gcr-ssh-agent.service
systemctl --user mask ssh-agent.socket ssh-agent.service
Set SSH_AUTH_SOCK via environment.d:
mkdir -p ~/.config/environment.d
cat > ~/.config/environment.d/90-gpg-ssh.conf <<'EOF'
SSH_AUTH_SOCK=/run/user/1000/gnupg/S.gpg-agent.ssh
EOF
Finally, gnome-session runs an XDG autostart file outside systemd that relaunches the keyring ssh-agent and stomps SSH_AUTH_SOCK at login. Override it for the user session:
mkdir -p ~/.config/autostart
cp /etc/xdg/autostart/gnome-keyring-ssh.desktop ~/.config/autostart/
echo "Hidden=true" >> ~/.config/autostart/gnome-keyring-ssh.desktop
eDP Panel Won’t Wake
I stepped away for a while, and when I came back the laptop wouldn’t wake. The fix was to use a new kernel via trixie-backports:
echo "deb http://deb.debian.org/debian trixie-backports main non-free-firmware" | sudo tee /etc/apt/sources.list.d/backports.list
sudo apt update
sudo apt install -t trixie-backports linux-image-amd64 firmware-misc-nonfree