Surface设备Ubuntu系统驱动安装及Surface Pro 5触摸屏失效、屏幕闪烁问题求助
Hey Gordon, sorry to hear you're struggling with these hardware glitches on your Surface Pro 5 after setting up Ubuntu 24.04.1. Let's work through targeted fixes for both the unresponsive touchscreen and the occasional screen flickering—these are common pain points for Surface devices on Linux, but there are solid community-backed solutions.
Fixes for Unresponsive Touchscreen
Surface devices rely on community-maintained kernel patches and drivers to get full hardware support on Ubuntu, since Microsoft doesn't offer official Linux drivers. Here's what to try:
Install the Linux Surface optimized kernel
This is the most critical step for Surface hardware compatibility. The community maintains a custom kernel that includes patches for touchscreens, pen input, and other Surface-specific components:- First, add the dedicated Surface PPA (a trusted community software repository):
sudo add-apt-repository ppa:linux-surface/ppa - Update your system's software source list:
sudo apt update - Install the optimized kernel and essential driver packages:
sudo apt install linux-image-surface linux-headers-surface linux-libc-dev-surface linux-surface-security-meta libwacom-surface - Reboot your system to apply the new kernel:
sudo reboot
- First, add the dedicated Surface PPA (a trusted community software repository):
Verify touchscreen detection and reload drivers (if needed)
After rebooting, if the touchscreen still doesn't work:- Check if the system recognizes your touchscreen device with this command:
Look for entries like "ELAN Touchscreen" or "Surface Touchscreen" in the output. If you see it, the device is detected but the driver might need a refresh.xinput list - Reload the touchscreen driver module (replace
elan_i2cwith the module name matching your device if different):sudo modprobe -r elan_i2c && sudo modprobe elan_i2c - Also, double-check the system settings: go to Settings > Touch and ensure the touchscreen isn't manually disabled.
- Check if the system recognizes your touchscreen device with this command:
Fixes for Occasional Screen Flickering
Screen flickering on Surface Pro 5 (which uses Intel HD Graphics 620) is often tied to display power-saving features or compositor settings. Try these steps:
Disable Intel Panel Self-Refresh (PSR)
This is the most common fix for Intel GPU screen flickering on Linux:- Open the GRUB configuration file for editing:
sudo nano /etc/default/grub - Locate the line starting with
GRUB_CMDLINE_LINUX_DEFAULT. Addi915.enable_psr=0inside the quotation marks. The line should look something like this:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_psr=0" - Save the file (press
Ctrl+O, hit Enter, thenCtrl+Xto exit) and update GRUB:sudo update-grub - Reboot your system for the changes to take effect.
- Open the GRUB configuration file for editing:
Adjust GNOME Compositor and Display Settings
Ubuntu 24.04 uses GNOME, and compositor quirks can cause flickering:- First, confirm your display is set to the correct refresh rate: go to Settings > Display and ensure the refresh rate is set to 60Hz (the native rate for Surface Pro 5's screen).
- If flickering persists, try restarting the GNOME compositor: press
Alt+F2, typer, and hit Enter. This refreshes the window manager without rebooting. - For persistent cases, you can temporarily disable the compositor to test if it's the cause:
If the flickering stops, you can adjust GNOME's animation settings to reduce strain: go to Settings > Appearance > Animations and toggle off non-essential effects like window animations or dynamic workspaces.metacity --replace &
Install System Updates
Make sure your system is fully up-to-date, as updates often include bug fixes for display drivers:sudo apt update && sudo apt full-upgrade
If none of these steps resolve your issues, you can dig deeper by checking the Linux Surface community's compatibility notes for the Pro 5, or file a bug report with Ubuntu's hardware team including output from lspci and lsusb to help diagnose specific hardware interactions.
备注:内容来源于stack exchange,提问作者Gordon O




