[SRU] different behaviors for switch display mode between xenial and bionic

Bug #1772811 reported by Leon Liao on 2018-05-23
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Fix Released
OEM Priority Project
Yuan-Chen Cheng
gnome-shell (Ubuntu)
Daniel van Vugt
Marco Trevisan (Treviño)
Daniel van Vugt
mutter (Ubuntu)
Marco Trevisan (Treviño)
Marco Trevisan (Treviño)
Marco Trevisan (Treviño)

Bug Description

* Impact

Need this SUR so that use OEM laptop hotkey won't be uesless.

* Test case

1. Install the new mutter and gnome-shell on the target machine.
2. connect an external display.
3. Press either the monitor switch HOT key (each note book have different one), or the generic hot key (Meta-P)
4. Make sure the display mode is switch to next mode, not the first mode.

* Regression potential

very low, because it's merged upstream and also tested in oem platforms.


When the "Fn lock" is enabled, we can switch the video mode by one key: video-key (Fn+F8).
But, the key event is too frequent. It's hard to select the wanted video mode.

Reproduce steps: Press down the Video-out hotkey

Expected results: User can select Video mode precisely by Video-out hotkey
Actual results: The speed of switch video mode is too fast makes can not select Video mode precisely

Notebook: XPS 13

Related branches

Leon Liao (lihow731) wrote :

The attached is the video when we press down the video-out key.

Changed in oem-priority:
status: New → Confirmed
importance: Undecided → Medium
Yuan-Chen Cheng (ycheng-twn) wrote :

more information:

(Fn+F8) send key code (WindowsKey + P).

There are four display mode: (you can see it as you plug an external display, and press WindowsKey + P)
- Mirror
- Joint Displays
- External Only
- Built-in Only

When we press WindowsKey + P:
- On Xenial, we switch to Next mode
- On Bionic, we switch to the first mode

Jerry Kao (jerry.kao) on 2018-12-04
Changed in oem-priority:
importance: Medium → Critical
tags: added: bionic somerville
Sebastien Bacher (seb128) wrote :

Thank you for your bug report. Does it work sometime/on some machines? Do you always end up having the first mode selected or is that key events are sent several times and doing more than 1 change?

affects: gnome-control-center (Ubuntu) → gnome-settings-daemon (Ubuntu)
Changed in gnome-settings-daemon (Ubuntu):
importance: Undecided → High
status: New → Incomplete

Hi Seb, Per what I know, it's reproduced in every machine.

If we press and release, we always end up in the first mode.

If we press longer and release, then it depends on the moment the key is released because it moves so fast like more than 5 moves per seconds.

summary: - Can not select Video mode precisely by Video-out hotkey
+ different behaviors for switch display mode between xenial and bionic
hugh chao (hugh712) on 2018-12-05
tags: added: stella
hugh chao (hugh712) wrote :

seems not only one oem platform can reproduced this issue due to Bug 539477

Sebastien Bacher (seb128) wrote :

looking a bit more, indeed the gnome-shell behaviour changed as described in https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/208/

They changed it to have to maintain the modifier and cycle through the configs by pressing the letter then, which doesn't work when you have a key 'faking the event' (which is what the upstream bug is about).

To support that usecase again they changed back in 3.30, which means it should work in 18.10. Could you try there if the issue is indeed resolved for you? If so we should backport https://gitlab.gnome.org/GNOME/gnome-shell/commit/fcdac69e to bionic

hugh chao (hugh712) wrote :

haven't tried cosmic but I did try disco, still can reproduce this issue

Yuan-Chen Cheng (ycheng-twn) wrote :

Happened to have a machine install disco, test passed:

  press key once will move to the next mode, instead of the first mode.

OSD still moves fast (or won't stay on the screen for seconds). That's not a good user experience

Per what I know, Hugh takes today off. Will sync with him tomorrow.

Yuan-Chen Cheng (ycheng-twn) wrote :

per test on cosmic, get the same result as #9.

Sebastien Bacher (seb128) wrote :

Ok, good. So it means the function is fixed, a better experience would be to not show the UI at all or keep it on screen longer then

Changed in gnome-settings-daemon (Ubuntu):
status: Incomplete → In Progress
affects: gnome-settings-daemon (Ubuntu) → gnome-shell (Ubuntu)
Yuan-Chen Cheng (ycheng-twn) wrote :

Hi Sab, If "keep it on screen longer" means: "while previous key press released, the OSD will keep on screen longer. Before it disappears, press it one more will go next one, instead of before from the first one." Guess that's also what you mean.

Changed in oem-priority:
assignee: nobody → Yuan-Chen Cheng (ycheng-twn)
status: Confirmed → Triaged
Daniel van Vugt (vanvugt) wrote :

The mutter and gnome-shell fixes are both in version(s) 3.30.1, so Fix Released in 18.10 and 19.04 already.

Changed in mutter (Ubuntu):
status: New → Fix Released
Changed in gnome-shell (Ubuntu):
status: In Progress → Fix Released
Alex Tu (alextu) wrote :

Because this issue is for bionic,do we have schedule to back port it to bionic?

Daniel van Vugt (vanvugt) wrote :

I have nominated bionic to receive the fix but I don't have any power to accept the nomination. Nothing is formally "scheduled" yet.

I suggest someone should either propose the fixes for inclusion in the upstream branches named gnome-3-28, or (more difficult) find someone with the authority to cherry pick the fixes into the gnome-3-28 branches.

Will Cooke (willcooke) on 2019-01-29
Changed in gnome-shell (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)

I can do the cherry-picking, to have this properly fixed in 3.30 though we need also


or there's a regression.

So, we need to include this in disco first (fixed in 3.31.4 so far).

Changed in mutter (Ubuntu):
status: Fix Released → Triaged
Will Cooke (willcooke) on 2019-02-05
Changed in gnome-shell (Ubuntu Bionic):
assignee: nobody → Marco Trevisan (Treviño) (3v1n0)
Changed in gnome-shell (Ubuntu):
status: Fix Released → Triaged
tags: added: fixed-3.31.4 fixed-upstream
Changed in gnome-shell (Ubuntu):
status: Triaged → Fix Released
tags: added: rls-dd-tracking
tags: added: rls-dd-incoming
removed: rls-dd-tracking
Changed in mutter (Ubuntu Bionic):
assignee: nobody → Marco Trevisan (Treviño) (3v1n0)
Changed in mutter (Ubuntu Disco):
assignee: nobody → Marco Trevisan (Treviño) (3v1n0)
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mutter - 3.31.92-1~fakesync

mutter (3.31.92-1~fakesync) experimental; urgency=medium

  * New upstream release
    + Add back support for system-wide monitor configurations
    + Add cursor-mode support to window screencasting
    + Add flag parameter to grab accelerator API
    + Add fractional scaling support
    + Consider remapped keys when guessing keycode from keysym
    + Don't disable page flips after temporary failues
    + Fix crash when using "restore shortcuts" without focus window
    + Fix flicker of apps that use multiple SHM buffers
    + Fix infinite loop in EDID matching
    + Improve redraw performance
    + Reuse old CRTC if possible to avoid flicker on hotplug
    + Stop turning on-screen-keyboard off on focus changes
    + wayland: Don't maximize windows if minimum size is too big
    + wayland: Don't resetin text-input state prematurely
  * Drop old cherry-picks which are upstream, refresh other patches.
  * d/p/sound-player-Don-t-deadlock-in-finish_cb.patch: Cherry-pick.
    This fixes a deadlock bug when scrolling over the volume indicator. (LP:
  * debian/control: Breaks gnome-settings-daemon << 3.31.91. Altering the
    GrabAccelerator API will break key grabbing under g-s-d versions which
    don't use the new parameter.
  * debian/libmutter-4-0.symbols: Update. Upstream dropped a load of
    deprecated functions. This obviously is an ABI break, but we don't
    consider the ABI stable until the final release. Also some additions.

 -- Iain Lane <email address hidden> Wed, 06 Mar 2019 13:44:08 +0000

Changed in mutter (Ubuntu Disco):
status: Triaged → Fix Released
summary: - different behaviors for switch display mode between xenial and bionic
+ [SRU] different behaviors for switch display mode between xenial and
+ bionic
description: updated
description: updated
Changed in mutter (Ubuntu Bionic):
importance: Undecided → High
status: New → In Progress
Changed in gnome-shell (Ubuntu Bionic):
status: New → In Progress
Changed in mutter:
status: Unknown → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Bug attachments

Remote bug watches

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