If you’re running Unity on Ubuntu 22.04 and find that the Settings → Displays panel refuses to apply new resolutions—but xrandr
works fine—the culprit may be a crash in Unity’s settings daemon caused by the Wacom plugin. On Lenovo Yoga X1 Gen4, the built-in stylus controller can trigger an assertion in the plugin, which aborts the unity-settings-daemon
and prevents any display changes from sticking.
Troubleshooting Journey
Here’s how we arrived at the solution step by step:
- Observed symptom:
Settings → Displays
showed no effect, butxrandr
worked manually. - Caught the DBus error: The GUI logged a
ServiceUnknown
error because the GNOME settings daemon wasn’t running under Unity. - Verified daemons: Checked
ps aux
and sawunity-settings-daemon
was missing, only the fallback helper was present. - Started daemon: Manually ran
unity-settings-daemon &
, then launched the Displays panel, but it immediately crashed. - Captured crash log: Found an assertion in the Wacom plugin:
assertion failed: (device->priv->styli)
indicating no stylus entries were detected for the ISDv4 controller.
- Identified root cause: The Wacom plugin loads
/usr/share/libwacom/*.tablet
data. If it finds a device entry but zeroStyli
, it aborts. - Implemented override: Created a minimal
isdv4-51bd.tablet
file with aStyli=Stylus
line to satisfy the plugin’s requirement. - Restart & verify: Restarted the daemon, confirmed both core processes ran, and the Displays panel successfully applied resolutions.
Solution
Add a minimal override file so the Wacom plugin always sees at least one stylus definition and doesn’t crash.
Step-by-Step Instructions
- Open a terminal and create (or overwrite) the tablet file for your device:
sudo tee /usr/share/libwacom/isdv4-51bd.tablet << 'EOF' [Device] Name=Yoga X1 Gen4 Integrated Pen DeviceMatch=ISDv4 51BD ModelName=Yoga Pen Styli=Stylus EOF
- Restart the Unity settings daemon:
killall unity-settings-daemon unity-settings-daemon &
- Verify it’s running:
ps aux | grep unity-settings-daemon | grep -v grep
You should see two processes:
/usr/lib/unity-settings-daemon/unity-settings-daemon
and
/usr/lib/unity-settings-daemon/unity-fallback-mount-helper
. - Open the Displays panel:
unity-control-center display
Select your desired resolution and click Apply. It should now succeed.
- To make the daemon start automatically on every login:
mkdir -p ~/.config/autostart cp /etc/xdg/autostart/unity-settings-daemon.desktop ~/.config/autostart/
Result
The Wacom plugin no longer aborts, so unity-settings-daemon
stays alive and the Unity Displays panel can change and save your screen resolution just as on your other machines.
Enjoy your correct resolution settings without losing pen support on your Yoga X1 Gen4!