Fixing Unity “Displays” Resolution Error on Ubuntu 22.04 (Yoga X1 Gen4)

 

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:

  1. Observed symptom: Settings → Displays showed no effect, but xrandr worked manually.
  2. Caught the DBus error: The GUI logged a ServiceUnknown error because the GNOME settings daemon wasn’t running under Unity.
  3. Verified daemons: Checked ps aux and saw unity-settings-daemon was missing, only the fallback helper was present.
  4. Started daemon: Manually ran unity-settings-daemon &, then launched the Displays panel, but it immediately crashed.
  5. 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.

  6. Identified root cause: The Wacom plugin loads /usr/share/libwacom/*.tablet data. If it finds a device entry but zero Styli, it aborts.
  7. Implemented override: Created a minimal isdv4-51bd.tablet file with a Styli=Stylus line to satisfy the plugin’s requirement.
  8. 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

  1. 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
          
  2. Restart the Unity settings daemon:
    killall unity-settings-daemon
    unity-settings-daemon &
          
  3. 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.

  4. Open the Displays panel:
    unity-control-center display

    Select your desired resolution and click Apply. It should now succeed.

  5. 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!

 

Leave a Reply

Your email address will not be published. Required fields are marked *