SDDM buttons greyed out on one monitor

Hello! For the past few days whenever I’d try to update my system, it’d give me this issue to where the login prompt and buttons wouldn’t work on one monitor, but on the other. They are greyed out on one monitor, but not the other. The one where it’s greyed out is my 165Hz monitor. Has this been happening for anyone else? Thoughts on how I could fix it? My system info is below, but do let me know if there’s a better log output for me to attach.

[rainmaker0102@AsusGamingPC ~]$ inxi -Fxxc0z
System:
  Kernel: 6.6.54-1-lts arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
  Desktop: KDE Plasma v: 6.1.5 tk: Qt v: N/A wm: kwin_wayland dm: SDDM
    Distro: EndeavourOS base: Arch Linux
Machine:
  Type: Desktop System: ASUS product: N/A v: N/A serial: <superuser required>
  Mobo: ASUSTeK model: PRIME B650M-A AX II v: Rev 1.xx
    serial: <superuser required> part-nu: SKU UEFI: American Megatrends v: 3014
    date: 07/17/2024
CPU:
  Info: 6-core model: AMD Ryzen 5 7600X bits: 64 type: MT MCP arch: Zen 4
    rev: 2 cache: L1: 384 KiB L2: 6 MiB L3: 32 MiB
  Speed (MHz): avg: 5225 min/max: 545/5453 cores: 1: 5225 2: 5225 3: 5225
    4: 5225 5: 5225 6: 5225 7: 5225 8: 5225 9: 5225 10: 5225 11: 5225 12: 5225
    bogomips: 112629
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: NVIDIA GA106 [GeForce RTX 3060 Lite Hash Rate] vendor: PNY
    driver: nvidia v: 560.35.03 arch: Ampere pcie: speed: 16 GT/s lanes: 16
    ports: active: none off: DP-1,HDMI-A-1 empty: DP-2,DP-3 bus-ID: 01:00.0
    chip-ID: 10de:2504
  Device-2: Advanced Micro Devices [AMD/ATI] Raphael vendor: ASUSTeK
    driver: N/A arch: RDNA-2 pcie: speed: 16 GT/s lanes: 16 bus-ID: 0d:00.0
    chip-ID: 1002:164e
  Device-3: Microdia IC800 1080P HD driver: snd-usb-audio,uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 3-1:2 chip-ID: 0c45:636b
  Display: wayland server: X.org v: 1.21.1.13 with: Xwayland v: 24.1.2
    compositor: kwin_wayland driver: X: loaded: nvidia unloaded: modesetting
    alternate: fbdev,nouveau,nv,vesa gpu: nvidia d-rect: 3840x1080
    display-ID: 0
  Monitor-1: DP-1 pos: primary,left res: 1920x1080 size: N/A
  Monitor-2: HDMI-A-1 pos: right res: 1920x1080 size: N/A
  API: EGL v: 1.5 platforms: device: 0 drv: nvidia device: 2 drv: swrast
    gbm: drv: nvidia surfaceless: drv: nvidia wayland: drv: nvidia x11:
    drv: nvidia inactive: device-1
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 560.35.03
    glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
    display-ID: :1.0
  API: Vulkan v: 1.3.295 surfaces: xcb,xlib,wayland device: 0
    type: discrete-gpu driver: nvidia device-ID: 10de:2504
Audio:
  Device-1: NVIDIA GA106 High Definition Audio vendor: PNY
    driver: snd_hda_intel v: kernel pcie: speed: 16 GT/s lanes: 16
    bus-ID: 01:00.1 chip-ID: 10de:228e
  Device-2: Advanced Micro Devices [AMD/ATI] Rembrandt Radeon High
    Definition Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel pcie:
    speed: 16 GT/s lanes: 16 bus-ID: 0d:00.1 chip-ID: 1002:1640
  Device-3: Advanced Micro Devices [AMD] Family 17h/19h HD Audio
    vendor: ASUSTeK driver: snd_hda_intel v: kernel pcie: speed: 16 GT/s
    lanes: 16 bus-ID: 0d:00.6 chip-ID: 1022:15e3
  Device-4: Microdia IC800 1080P HD driver: snd-usb-audio,uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 3-1:2 chip-ID: 0c45:636b
  API: ALSA v: k6.6.54-1-lts status: kernel-api
  Server-1: sndiod v: N/A status: off
  Server-2: PipeWire v: 1.2.5 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin
Network:
  Device-1: Realtek RTL8125 2.5GbE vendor: ASUSTeK driver: r8169 v: kernel
    pcie: speed: 5 GT/s lanes: 1 port: b000 bus-ID: 07:00.0 chip-ID: 10ec:8125
  IF: eno1 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Device-2: Realtek RTL8852BE PCIe 802.11ax Wireless Network
    vendor: AzureWave driver: rtw89_8852be v: kernel pcie: speed: 2.5 GT/s
    lanes: 1 port: a000 bus-ID: 08:00.0 chip-ID: 10ec:b852
  IF: wlan0 state: down mac: <filter>
Bluetooth:
  Device-1: IMC Networks Bluetooth Radio driver: btusb v: 0.8 type: USB
    rev: 1.0 speed: 12 Mb/s lanes: 1 bus-ID: 1-2:2 chip-ID: 13d3:3571
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.2
    lmp-v: 11
Drives:
  Local Storage: total: 5.46 TiB used: 3.02 TiB (55.4%)
  ID-1: /dev/sda vendor: PNY model: CS900 2TB SSD size: 1.82 TiB
    speed: 6.0 Gb/s serial: <filter>
  ID-2: /dev/sdb vendor: Seagate model: ST4000NM0035-1V4107 size: 3.64 TiB
    speed: 6.0 Gb/s serial: <filter>
Partition:
  ID-1: / size: 1.8 TiB used: 727.01 GiB (39.4%) fs: btrfs dev: /dev/sda2
  ID-2: /boot/efi size: 1022 MiB used: 584 KiB (0.1%) fs: vfat
    dev: /dev/sda1
  ID-3: /home size: 1.8 TiB used: 727.01 GiB (39.4%) fs: btrfs
    dev: /dev/sda2
  ID-4: /var/log size: 1.8 TiB used: 727.01 GiB (39.4%) fs: btrfs
    dev: /dev/sda2
Swap:
  ID-1: swap-1 type: partition size: 17.13 GiB used: 647.8 MiB (3.7%)
    priority: -2 dev: /dev/sda3
Sensors:
  System Temperatures: cpu: 55.1 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 32 GiB note: est. available: 30.5 GiB used: 4.25 GiB (13.9%)
  Processes: 357 Power: uptime: 7m wakeups: 0 Init: systemd v: 256
    default: graphical
  Packages: pm: pacman pkgs: 1804 Compilers: clang: 18.1.8 gcc: 14.2.1
    Shell: Bash v: 5.2.37 running-in: konsole inxi: 3.3.36

This is a known Plasma issue at the moment.

Note > Can’t login from external monitor

The way I overcame it, was to disable all but my primary screen at SDDM. I really only need the one screen to login anyway. Not a fix so much as a logical starting point.

If you run xrandr, it will show you our currently connected displays. This will filter the output to just the connected displays (note the space in front of ' connected').

xrandr | grep ' connected'

My output looks like this:

DP-0 connected 3840x2160+2560+0 (normal left inverted right x axis y axis) 600mm x 340mm
DP-2 connected primary 2560x1440+0+360 (normal left inverted right x axis y axis) 698mm x 393mm

So there I have DP-0 (secondary) and DP-2 (primary). If I want to disable all but my primary at the SDDM login, I edit /usr/share/sddm/scripts/Xsetup:

sudo nano /usr/share/sddm/scripts/Xsetup

And modify it to look like this:

#!/bin/sh
# Xsetup - run as root before the login dialog appears
xrandr --output DP-2 --auto --primary
xrandr --output DP-0 --off

You could use that config too, but you must change references to DP-2 and DP-0 to reflect your setup. Your displays will likely be called something different. Feel free to share your output of xrandr here if you’d like a hand with that.

Actually the details you shared already will suffice. I believe your /usr/share/sddm/scripts/Xsetup would look like this:

#!/bin/sh
# Xsetup - run as root before the login dialog appears
xrandr --output DP-1 --auto --primary
xrandr --output HDMI-A-1 --off

Perhaps just double check against xrandr output.

Thanks for the link! I couldn’t find it when doing my pre post sleuthing. I’ll subscribe to that one & the bugzilla @ KDE and mark this solved. Thanks!!

1 Like

If you’d like to automate enabling the primary monitor only - perhaps if you have different monitors plugged in at different times - calling a script like this one should do the job. This works for me, but please test before using.

#!/bin/bash

# Get the list of connected monitors and their primary status
monitor_info=$(xrandr --query | grep " connected")

# Loop through each monitor
while IFS= read -r line; do
  # Extract the monitor name
  monitor_name=$(echo "$line" | awk '{print $1}')

  # Check if the monitor is primary
  if echo "$line" | grep -q "primary"; then
    echo "Enabling primary monitor: $monitor_name" 
    xrandr --output $monitor_name --auto --primary
  else
    echo "Disabling monitor: $monitor_name"
    xrandr --output $monitor_name --off
  fi
done <<< "$monitor_info"

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.