diff -Nur gnome-shell_3.35.91-1ubuntu2/js/gdm/loginDialog.js gnome-shell_3.35.91-1ubuntu2vv2/js/gdm/loginDialog.js --- gnome-shell_3.35.91-1ubuntu2/js/gdm/loginDialog.js 2020-02-18 07:15:42.000000000 +0800 +++ gnome-shell_3.35.91-1ubuntu2vv2/js/gdm/loginDialog.js 2020-03-17 18:53:11.667577976 +0800 @@ -1255,7 +1255,11 @@ { sortGroup: CtrlAltTab.SortGroup.MIDDLE }); this.activate(); - this.opacity = 0; + // Clutter doesn't yet fully support invisible parents with forced + // visible children and will make everything invisible (flicker) on + // the first frame if we start at 0. So we start at 1 instead... + this.opacity = 1; + this._logoBin.set_opacity_override(255); Main.pushModal(this, { actionMode: Shell.ActionMode.LOGIN_SCREEN }); @@ -1263,6 +1267,7 @@ opacity: 255, duration: 1000, mode: Clutter.AnimationMode.EASE_IN_QUAD, + onComplete: () => { this._logoBin.set_opacity_override(-1); }, }); return true;