Issue: System clock instability, dual monitor flickering, and log noise on Ubuntu/Debian. Hardware: Beelink SER3 / AMD Ryzen 7 3750H with Radeon Vega Mobile Gfx.
This fixes the "TSC unstable" kernel panic and the "AMDGPU" screen flickering by adjusting boot parameters.
# Backup, apply fixes, and update bootloader in one go
sudo cp /etc/default/grub /etc/default/grub.bak && \
sudo sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT=".*"/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash tsc=unstable amdgpu.sg_display=0"/' /etc/default/grub && \
sudo update-grub
Why this works:
tsc=unstable: Forces Linux to use the motherboard timer instead of the CPU clock (which drifts on this specific Ryzen chip).amdgpu.sg_display=0: Disables "Scatter/Gather" for the display engine, preventing the GPU from crashing/flickering when memory clocks change.
After rebooting, verify the kernel parameters are active and monitors are running at full 60Hz (HDMI 2.0).
# Check if the kernel accepted the parameters
cat /proc/cmdline
# Expected output: ... tsc=unstable amdgpu.sg_display=0 ...
# Check monitor refresh rates
xrandr | grep -A 1 "connected"
# Look for: 60.00*+ (The * means active. If it says 30.00*, check HDMI cables/BIOS).
Removes enterprise authentication services that crash on home networks, clearing up journalctl logs.
# Remove SSSD to stop "Dependency failed for sssd-*.socket" errors
sudo apt purge sssd && sudo apt autoremove
If screens still flicker or lock to 30Hz, check if the HDMI port is throttling bandwidth (HDMI 1.4 limit).
# Check for the 300MHz limit (HDMI 1.4)
sudo dmesg | grep "TMDS"
# Bad Output: HDMI max TMDS frequency 300000KHz
# Fix: Replace cables with Premium High Speed (HDMI 2.0) or enable "HDMI 2.0" in BIOS.