[SRU] sddm with multiple monitors can result in screen overlays and insets

Bug #1998254 reported by Erich Eickmeyer
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
sddm (Ubuntu)
Fix Released
High
Erich Eickmeyer
Jammy
Fix Released
High
Erich Eickmeyer
Kinetic
Fix Released
High
Erich Eickmeyer
Lunar
Fix Released
High
Erich Eickmeyer

Bug Description

[Impact]

* Users of Lubuntu, Kubuntu, and Ubuntu Studio with multi-monitor setups that have variations in resolutions have issues where SDDM X screens can appear inset in other monitors and not appear on other monitors. This creates an unprofessional and broken look, and often causes usability issues (see attached). Unfortunately, this is a known bug in that SDDM doesn't exactly support multiple monitors. https://github.com/sddm/sddm/issues/1399

* This is fixed by using adding code to the already existing /usr/share/sddm/scritpts/Xsetup script, simply using xrandr to arrange the displays.

* This fix comes courtesy of the Kubuntu Focus project.

[Test Case}

* On a multi-monitor system with mis-matching native resolutions, install Lubuntu, Kubuntu, or Ubuntu Studio.

* Notice issues with the login screen like the attached picture.

* NOTE: Testing this requires a setup of monitors with mismatched native screen resolutions, such as 720p combined with 1080p or 1080p combined with 4K. These are just examples, but the problem is known to occur reproducibly in situations with three 4K monitors and one 1080p monitor.

[Where Problems Could Occur]

* This fix has been heavily tested for over six months. However, it is possible for the script to crash or otherwise malfunction. Therefore, we do concede that it might not work at all. Human error might also be involved and cause malfunctions such as other forms of screen glitching.

* Other issues which are known to occur are that screens may not appear in the order in which they are presented on the user's physical order of screens. For instance, the leftmost physical screen might become the rightmost logical screen. This is because the hardware initialized that particular screen last. Unfortunately, this is normal behavior and a limitation of SDDM since it does not actually support multiple monitors. However inconvenient, this does not hinder normal behavior of the login screen. We believe this is better behavior than a logical screen covering another logical screen.

[Other Info]

* As stated above, this has been in extensive use and used among Kubuntu Focus users for over 6 months with remarkable success.

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :
Changed in sddm (Ubuntu Jammy):
importance: Undecided → High
Changed in sddm (Ubuntu Kinetic):
importance: Undecided → Critical
importance: Critical → High
assignee: nobody → Erich Eickmeyer  (eeickmeyer)
Changed in sddm (Ubuntu Jammy):
assignee: nobody → Erich Eickmeyer  (eeickmeyer)
tags: added: jammy kinetic kubuntu lubuntu lunar ubuntustudio
description: updated
Changed in sddm (Ubuntu Lunar):
status: New → Fix Committed
Changed in sddm (Ubuntu Kinetic):
status: New → In Progress
Changed in sddm (Ubuntu Jammy):
status: New → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package sddm - 0.19.0-3ubuntu2

---------------
sddm (0.19.0-3ubuntu2) lunar; urgency=medium

  * Patch to avoid screen overlap or inset (LP: #1998254)

 -- Erich Eickmeyer <email address hidden> Tue, 29 Nov 2022 13:34:07 -0800

Changed in sddm (Ubuntu Lunar):
status: Fix Committed → Fix Released
Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello Erich, or anyone else affected,

Accepted sddm into kinetic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/sddm/0.19.0-3ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-kinetic to verification-done-kinetic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-kinetic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in sddm (Ubuntu Kinetic):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-kinetic
Changed in sddm (Ubuntu Jammy):
status: In Progress → Fix Committed
tags: added: verification-needed-jammy
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello Erich, or anyone else affected,

Accepted sddm into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/sddm/0.19.0-2ubuntu2.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

Looks like the Jammy sddm FTBFS and needs a further patch backported from Kinetic.

Changed in sddm (Ubuntu Jammy):
status: Fix Committed → In Progress
Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

There is now a new upload fixing the build issue.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello Erich, or anyone else affected,

Accepted sddm into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/sddm/0.19.0-2ubuntu2.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in sddm (Ubuntu Jammy):
status: In Progress → Fix Committed
Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote (last edit ):

Well, verification is done, but with caveats.

Enabled Proposed and installed sddm 0.19.0-2ubuntu2.2 in Kubuntu jammy and upgraded via Plasma Discover, which uses PackageKit as a backend. Issue was not solved. Upon inspection, it looks like /usr/share/sddm/scripts/Xsetup was not patched or not applied. Inspected the package and the correct version existed, which meant the patch was applied. Further investigation via "sudo apt install --reinstall sddm" showed the following:

Configuration file '/usr/share/sddm/scripts/Xsetup'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ? Your options are:
    Y or I : install the package maintainer's version
    N or O : keep your currently-installed version
      D : show the differences between the versions
      Z : start a shell to examine the situation
 The default action is to keep your current version.
*** Xsetup (Y/I/N/O/D/Z) [default=N] ?

This means that PackageKit automatically uses the default (N) when updating via the Plasma Discover GUI. This points to a much larger (and possibly dangerous) situation where a package maintainer might need to update a more critical configuration file, such as something as security-sensitive as GRUB.

Enabled Proposed and installed sddm 0.19.0-3ubuntu1.1 in Ubuntu Studio kinetic and upgraded via "sudo apt install sddm". Got the above prompt, answered "Y", no issues.

The Lubuntu team tested upgrading using their lubuntu-update-notifier in Lunar and ran into an issue of their own in that their own (LP: #1998937) in that lubuntu-update-notifier cannot handle prompts for updating configs or scripts. This is being actively worked-on.

Neither the issue with Plasma Discover/PackageKit nor lubuntu-update-notifier point to a regression in this sddm patch. Furthermore, new users that install this are less likely to have an issue than those that are upgrading, so, for instance, users of Lubuntu, Kubuntu, and Ubuntu Studio 22.04.2 will greatly benefit from this patch as will users of 23.04.

Since the patch does indeed fix the issue as intended and that the issues raised indicate existing problems within those packages and not a regression caused by the sddm package, I'm marking this as "verification-done".

tags: added: verification-done verification-done-jammy verification-done-kinetic
removed: verification-needed verification-needed-jammy verification-needed-kinetic
Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

In order to help the Lubuntu team get their issue fixed (LP: #1998937), I'm blocking this from release as this completely breaks their GUI-only update workflow for their users by making their interface completely freeze. Again, not a regression caused by the sddm patch, but this update indicated a bug in lubuntu-update-notifier.

tags: added: block-proposed-jammy block-proposed-kinetic
Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

Update on the above block-proposed: we are now tracking LP: #2002255. I have requested that the Lubuntu team keep me updated as this SRU has waited far too long.

Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

Further testing from the Lubuntu team shows the update issue is not happening in Kinetic, so unblocking there.

tags: removed: block-proposed-kinetic
Revision history for this message
Erich Eickmeyer (eeickmeyer) wrote :

Lubuntu team has cleared their testing on their tool, block-proposed is lifted.

tags: removed: block-proposed-jammy
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package sddm - 0.19.0-3ubuntu1.1

---------------
sddm (0.19.0-3ubuntu1.1) kinetic; urgency=medium

  * Patch to avoid screen overlap or inset (LP: #1998254)

 -- Erich Eickmeyer <email address hidden> Tue, 29 Nov 2022 13:34:07 -0800

Changed in sddm (Ubuntu Kinetic):
status: Fix Committed → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for sddm has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package sddm - 0.19.0-2ubuntu2.2

---------------
sddm (0.19.0-2ubuntu2.2) jammy; urgency=medium

  * Patch to fix build

sddm (0.19.0-2ubuntu2.1) jammy; urgency=medium

  * Patch to avoid screen overlap or inset (LP: #1998254)

 -- Erich Eickmeyer <email address hidden> Fri, 02 Dec 2022 09:45:39 -0800

Changed in sddm (Ubuntu Jammy):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.