You are not logged in.
I have two computers with Archlinux. Only in one of them, when I update libkscreen to versions 5.21.1-0 or 5.21.1-1 the screen gets blurry and flickering when showing the plasma desktop (not before, when showing sddm login screen).
I have googled for recent bugs in libkscreen, but I haven't found anything.
I don't know the cause, but downgrading to 5.20.5 solves issue.
Last edited by fahrgast (2021-03-08 15:58:50)
Offline
Still the same problem with version 5.21.2-0.
Any ideas of how could I debug this problem?
Offline
Bad modeline?
Compare the output of "xrandr -q" w/ either library (only relevant w/ Xorg, not plasma on wayland)
Online
Thank you, seth.
I have just done that, within a mimimum Xorg, and the output is exactly the same, and there is no flicker or blur with either version.
Also, I suffer this problem only after logging into my Plasma desktop. There is no problem in the SDDM login screen.
Maybe this is a clue: I have tried recording my screen with both versions of the library. When I play both videos (in the desktop without the flicker), I see them exactly the same: no flicker or blur in either of them. So I guess that the later version of libkscreen is messing somehow with my screen panel.
Offline
Does the flicker remain when you suspend the compositor (shift+alt+f12)?
Last edited by seth (2021-03-06 14:02:42)
Online
Seth, I have tried and it remains the same.
Thank you for your help. I will make more tests if you have any other ideas.
Offline
I have an additional clue: as I said, the SDDM login screen does not flicker, but I have just observed that using "lock screen" shows the same login screen and it does flicker.
Offline
While they're made to look-a-like, the lockscreen and the login greeter are different things.
Please post the output of "xrandr -q" and when only at the login screen, switch to a different VT (ctrl+alt+f2) and there run "xrandr -q -display :0 > /tmp/xrandr.sddm 2>&1"
The output is logged into /tmp/xrandr.sddm, post that as well.
Online
This is the output of "xrandr -q" from Konsole, in the plasma session:
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
HDMI1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 530mm x 300mm
1920x1080 60.00 + 50.00 59.94
1920x1080i 60.00* 50.00 59.94
1680x1050 59.88
1600x900 60.00
1280x1024 75.02 60.02
1280x800 59.91
1152x864 75.00
1280x720 60.00 50.00 59.94
1024x768 75.03 60.00
832x624 74.55
800x600 75.00 60.32
720x576 50.00
720x576i 50.00
720x480 60.00 59.94
720x480i 60.00 59.94
640x480 75.00 60.00 59.94
720x400 70.08
HDMI2 connected (normal left inverted right x axis y axis)
1920x1080 60.00 + 50.00 59.94
1920x1080i 60.00 50.00 59.94
1680x1050 59.88
1600x900 60.00
1280x1024 75.02 60.02
1280x800 59.91
1152x864 75.00
1280x720 60.00 50.00 59.94
1024x768 75.03 60.00
832x624 74.55
800x600 75.00 60.32
720x576 50.00
720x576i 50.00
720x480 60.00 59.94
720x480i 60.00 59.94
640x480 75.00 60.00 59.94
720x400 70.08
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
When trying to run it from a VT, while the sddm screen is "visible", I get the following errors:
As user:
Invalid MIT-MAGIC-COOKIE-1 keyCan't open display :0
As root:
Can't open display :0
Offline
1920x1080i 60.00* 50.00 59.94
Interlaced sounds wrong.
xrandr --output HDMI1 --mode 1920x1080
# alternatively this should™ actually work
xrandr --output HDMI1 --auto
Online
Seth, the first command has worked and solved the problem!
Please, can you explain what's the difference between 1920x1080i and 1920x1080? I'm not aware of having touched this setting ever. Which could be the origin of this setting?
Thanks a lot for your help
Offline
https://en.wikipedia.org/wiki/Interlaced_video
As for how this gets there, it's either (falsely) announced by the EDID or added by something™ (check xrandr w/o KDE/plasma)
As to why it's selected: bug? Wrongly "restored"? The regular-ass progressive 1920x1080 is the default/preferred mode (indicated by the "+") but something™ (kscreen?!) seelcts the interlaced mode.
Online
In fact, I have just rebooted the system and I had again 1920x1080i.
I don't know what's changing this setting.
Offline
Check
kcmshell5 kscreen
Online
I don't see any differences in 'kcmshell5 kscreen' with or without the flickering. The interlacing setting is not shown in this manager.
However, this is the syslog from kscreen when logging into my flickering version of kde:
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: Connected output 67 to CRTC 63
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: Connected output 68 to CRTC 64
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Detected XRandR 1.6
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Event Base: 89
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Event Error: 147
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: XRandR::setConfig
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: Requested screen size is QSize(1920, 1080)
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: Needed CRTCs: 2
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: Actions to perform:
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: Change Screen Size: false
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: Disable outputs: false
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: Change outputs: true
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: (67, 68)
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: Enable outputs: false
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: RRSetCrtcConfig (change output)
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: Result: 0
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: XRandROutput 67 update
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: RRSetCrtcConfig (change output)
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: Result: 0
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: XRandROutput 68 update
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: XRandR::setConfig done!
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: RRNotify_CrtcChange
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: CRTC: 63
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Mode: 329
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Rotation: "Rotate_0"
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Geometry: 0 0 1920 1080
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: RRScreenChangeNotify
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Window: 56623109
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Root: 308
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Rotation: "Rotate_0"
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Size ID: 0
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Size: 1920 1080
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: SizeMM: 508 285
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: RRNotify_CrtcChange
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: CRTC: 63
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Mode: 329
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Rotation: "Rotate_0"
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Geometry: 0 0 1920 1080
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: RRNotify_CrtcChange
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: CRTC: 64
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Mode: 329
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Rotation: "Rotate_0"
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Geometry: 0 0 1920 1080
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: RRScreenChangeNotify
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Window: 56623109
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Root: 308
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Rotation: "Rotate_0"
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Size ID: 0
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Size: 1920 1080
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: SizeMM: 508 285
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: RRNotify_CrtcChange
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: CRTC: 64
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Mode: 329
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Rotation: "Rotate_0"
mar 08 17:57:21 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Geometry: 0 0 1920 1080
mar 08 17:57:22 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: Emitting configChanged()
mar 08 17:57:58 numenor kcmshell5[6055]: file:///usr/share/kpackage/kcms/kcm_kscreen/contents/ui/Panel.qml:138:13: Unable to assign [undefined] to int
mar 08 17:57:58 numenor kcmshell5[6055]: file:///usr/share/kpackage/kcms/kcm_kscreen/contents/ui/Panel.qml:138:13: Unable to assign [undefined] to int
I have googled "Mode: 329", but I haven't found anything.
Offline
By the way, this is the syslog when switching resolution with xrandr:
mar 08 18:10:53 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: RRNotify_CrtcChange
mar 08 18:10:53 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: CRTC: 63
mar 08 18:10:53 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Mode: 72
mar 08 18:10:53 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Rotation: "Rotate_0"
mar 08 18:10:53 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Geometry: 0 0 1920 1080
mar 08 18:10:53 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: RRScreenChangeNotify
mar 08 18:10:53 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Window: 56623109
mar 08 18:10:53 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Root: 308
mar 08 18:10:53 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Rotation: "Rotate_0"
mar 08 18:10:53 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Size ID: 0
mar 08 18:10:53 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Size: 1920 1080
mar 08 18:10:53 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: SizeMM: 508 285
mar 08 18:10:53 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: RRNotify_CrtcChange
mar 08 18:10:53 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: CRTC: 63
mar 08 18:10:53 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Mode: 72
mar 08 18:10:53 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Rotation: "Rotate_0"
mar 08 18:10:53 numenor kscreen_backend_launcher[5685]: kscreen.xcb.helper: Geometry: 0 0 1920 1080
mar 08 18:10:53 numenor kscreen_backend_launcher[5685]: kscreen.xrandr: Emitting configChanged()
Offline
I had hoped you could select the mode to restore there…
xrandr -q --verbose | grep 1920
I assume it'll be 0x149 for the interlaced and 0x48 for the progressive mode, kscreen simply picks the wrong mode.
Do you have the interlaced modeline when running something other than KDE (eg. an openbox session)?
Afair you should be abel to disable kscreen in "kcmshell5 kded"…
Online
I have been using archlinux for a while now and was using kde as my desktop environment. I have just encountered this problem too and had to disable kscreen and just use xrandr instead to set up my monitors. I suppose that this should be reported as a bug with kscreen?
Offline
But it does not make my monitor flicker. It just doesn't set it to the right resolution, the affected monitor looks like it's zoomed in or set to a much lower resolution. I have two identical monitors (same brand and model), the primary monitor is at 1920x1080p the affected monitor's resolution is set to 1920x1080i by kscreen
Last edited by grid (2021-05-12 03:08:28)
Offline
Looks like or related to https://bugs.kde.org/show_bug.cgi?id=431057
It seems that Display Configuration applet is built on incorrect assumption that all resolution will have common refresh rates.
Online
Refresh rates are the same with both monitors though, at 60 hz and every time I try to change resolution, the refresh rates are the same. I tried changing the refresh rate on the affected monitor but it did not do anything. But when I kill kscreen and use xrandr to change resolution, the affected monitor displays at the right resolution. I guess I will just have to stick with xrandr for now setting up my display.
Offline
The implication is that if kscreen ignores refresh rate differences, it'll just pick the first modeline w/ the proper resolution - and in your case an interlaced one.
You could maybe "xrandr --output … --delmode …" to get rid of the interlaced mode so kscreen won't see it.
Online