====== NUC Bring-Up Fixes ======
This document describes the fixes applied to resolve two critical boot and KVM switching issues on this NUC system.
===== Issue 1: KVM Switching - Computer B Not Returning Signal =====
==== Problem ====
When switching from Computer A to Computer B via KVM, Computer B would show "No Signal" and become inaccessible.
==== Root Cause ====
Computer B was entering power saving mode when not actively connected through the KVM, causing:
  * System sleep after 15 minutes
  * AMD graphics card power management
  * USB autosuspend interfering with KVM
==== Solution Applied ====
=== Disable System Sleep ===
# Disable sleep on AC power
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0
# Disable sleep on battery power
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout 0
=== Configure AMD Graphics for High Performance ===
# Set AMD GPU to high performance mode
echo high > /sys/class/drm/card2/device/power_dpm_force_performance_level
=== Disable USB Autosuspend ===
# Disable USB autosuspend globally
echo -1 > /sys/module/usbcore/parameters/autosuspend
==== Permanent Configuration Files Created ====
=== /etc/systemd/system/amd-kvm-fix.service ===
[Unit]
Description=Set AMD GPU to high performance for KVM compatibility
After=multi-user.target
[Service]
Type=oneshot
ExecStart=/bin/bash -c 'echo high > /sys/class/drm/card2/device/power_dpm_force_performance_level'
RemainAfterExit=true
[Install]
WantedBy=multi-user.target
=== /etc/udev/rules.d/99-disable-usb-autosuspend.conf ===
# Disable USB autosuspend to prevent KVM switching issues
# This prevents USB devices from going into power save mode
ACTION=="add", SUBSYSTEM=="usb", ATTR{power/autosuspend}="-1"
==== Verification ====
# Check current settings
gsettings get org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout  # Should be 0
cat /sys/class/drm/card2/device/power_dpm_force_performance_level              # Should be "high"
cat /sys/module/usbcore/parameters/autosuspend                                # Should be "-1"
----
===== Issue 2: Boot Delay - systemd-networkd-wait-online Timeout =====
==== Problem ====
System boot was delayed by 2 minutes due to `systemd-networkd-wait-online.service` timing out.
==== Root Cause ====
The system has dual network ports:
  * `enp5s0` - Connected and working
  * `eno1` - Disconnected (NO-CARRIER)
The service was waiting for ALL network interfaces, including the disconnected `eno1` port.
==== Network Interface Status ====
IDX LINK   TYPE     OPERATIONAL SETUP     
  2 enp5s0 ether    routable    configured  ✅ Working
  3 eno1   ether    no-carrier  configured  ❌ Disconnected but configured
==== Solution Applied ====
=== Configure Service to Ignore Disconnected Interfaces ===
Created override configuration to ignore `eno1`:
=== /etc/systemd/system/systemd-networkd-wait-online.service.d/ignore-disconnected.conf ===
[Service]
ExecStart=
ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --ignore=eno1
==== Verification ====
# Check service status - should be active/exited, not failed
systemctl status systemd-networkd-wait-online.service
# Expected output shows:
# Active: active (exited) since [timestamp]
# Process: ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --ignore=eno1
----
===== System Information =====
==== Hardware ====
  * '''Graphics''': AMD Radeon RX Vega M GH (card2)
  * '''Network''': Dual Ethernet ports (enp5s0 active, eno1 unused)
  * '''OS''': Linux 6.17 with GNOME desktop
==== Network Management ====
  * '''Primary''': NetworkManager (active)
  * '''Secondary''': systemd-networkd (also running - dual setup)
==== KVM Setup ====
  * USB KVM switch with HDMI/DisplayPort connections
  * 2 computers connected
----
===== Result =====
Both issues resolved:
  * '''KVM Switching''': Now works bidirectionally without signal loss
  * '''Boot Time''': Reduced from 2+ minutes to normal boot time
All fixes are permanent and will persist across reboots.