Skip to content

Bug: Muffin aggressively overrides user-disabled display state upon DRM hotplug events (Monitor Input Polling) #819

@RedDawe

Description

@RedDawe

Distribution

Linux Mint 22.3 - Cinnamon 64-bit

Package version

Cinnamon 6.6.7

Graphics hardware in use

Acer Aspire A515-47 V1.04 0000000000000000 - Advanced Micro Devices, Inc. [AMD/ATI] Barcelo

Frequency

Always

Bug description

Muffin fails to persist a user-defined "disabled" state for external monitors. When an explicitly disabled monitor triggers a hardware hotplug event (such as during routine EDID polling/input scanning by the monitor), Muffin intercepts the event and automatically re-enables the display, overriding the user's configuration.

Steps to reproduce

Connect a multi-input monitor (e.g., HP Omen 27q) to the laptop.

Connect a second active device (e.g., an Xbox) to the monitor's second input.

Explicitly disable the external monitor on the Linux Mint machine:

On X11: Using xrandr --output HDMI-A-0 --off or via the Cinnamon Display GUI.

On Wayland: Via the Cinnamon Display GUI.

Or just Super+P

Wait for the monitor to perform an auto-input scan (which triggers a kernel DRM hotplug event / link-state change on the PC).

Expected behavior

Muffin should recognize that the specific hardware ID of the monitor was manually disabled by the user. It should ignore the subsequent hotplug/link-state events from that specific port and leave the display disabled.

Additional information

Actual Behavior:
The moment the monitor scans its inputs, the kernel registers a hotplug event. Muffin immediately reacts to this event by re-applying an active configuration (e.g., re-extending the desktop and reassigning primary status).

On X11, xrandr --verbose shows the mode being re-applied seconds after it was explicitly turned off.

This effectively makes it impossible to keep the monitor turned off via software without writing custom udev rules to intercept the hardware ping before Muffin can see it.

Additional Information:
This is not a hardware defect or a kernel bug; the AMD driver is correctly reporting the state change caused by the monitor's auto-detection feature.

The issue is a policy gap in Muffin: it prioritizes the immediate hardware connection state over the user's explicit layout configuration.

This occurs regardless of whether ~/.config/cinnamon-monitors.xml is locked (read-only) or deleted, indicating the override logic is hardcoded into Muffin's hotplug response.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions