1. 25 Dec, 2018 2 commits
  2. 23 Dec, 2018 12 commits
  3. 12 Dec, 2018 2 commits
  4. 06 Nov, 2018 2 commits
  5. 05 Nov, 2018 4 commits
  6. 03 Nov, 2018 1 commit
  7. 15 Oct, 2018 1 commit
  8. 13 Oct, 2018 1 commit
  9. 06 Oct, 2018 3 commits
  10. 01 Oct, 2018 1 commit
  11. 25 Sep, 2018 9 commits
    • Ray Strode's avatar
      configure: bump to 3.30.1 · 9e532ea4
      Ray Strode authored
      9e532ea4
    • Ray Strode's avatar
      NEWS: update for release · e9ae09e0
      Ray Strode authored
      e9ae09e0
    • Ray Strode's avatar
      Merge branch 'wip/gdm-vt-switch-fixes' into 'master' · f40c940f
      Ray Strode authored
      Wip/gdm vt switch fixes
      
      See merge request !48
      f40c940f
    • Ray Strode's avatar
      local-display-factory: handle reviving displays that are waiting to die · 2882e80f
      Ray Strode authored
      We may end up re-using a display in waiting-to-finish state before it gets
      finished in this case reset its state to managed to avoid it getting
      finished while it is being used.
      
      Closes !45
      2882e80f
    • Ray Strode's avatar
      local-display-factory: Remove same VT so don't switch check · 41769214
      Ray Strode authored
      We avoid changing to the login screen vt if we're already on it,
      but the call is racy since we react to vt changes concurrently
      with logind (who we query for the active vt).
      
      This check drops the active vt check since it's pointless and
      getting in the way.
      41769214
    • Hans de Goede's avatar
      local-display-factory: Remove initial VT is in use check · c71bc5d6
      Hans de Goede authored
      The initial VT is in use check in on_vt_changed() is racy, when switching
      to VT1 from an active session, on_vt_changed() may run before logind has
      processed the VT change and then sd_seat_get_active() will return the
      active session which we are switching away from. This results in the greeter
      not being started on VT1.
      
      On my system gdm reliably wins the race resulting in not getting a greeter
      when manually switching from an active session to VT1.
      
      gdm already starts the greeter unconditionally from
      gdm_local_display_factory_sync_seats() on both startup and when an user
      session exits. gdm also starts it unconditionally when selecting
      "Switch user" from an user session.
      
      Now autologin sessions avoid the initial VT as well.
      
      So we now can assume that the initial VT is free for the login screen's
      use. And create_display already checks for and re-uses
      an existing greeter, so we can safely remove the racy check.
      c71bc5d6
    • Ray Strode's avatar
      manager: don't run autologin display on tty1 · 39fb4ff6
      Ray Strode authored
      tty1 is really meant for the login screen.
      If a user autologins on it and we need a login
      screen later, then the login screen has to go
      in some auxiliary VT which isn't very nice.
      
      This commit changes autologin to not use the
      initial vt.
      39fb4ff6
    • Ray Strode's avatar
      manager: rework how autologin is figured out · c5c5bf1f
      Ray Strode authored
      At the moment we decide whether or not to perform autologin, by
      looking at if the display is the initial VT display and if autologin
      hasn't been started before.
      
      That isn't going to work in the future when autologin is started
      on a non-initial vt.
      
      This commit changes GDM to instead check if the seat is seat0, and
      if autologin hasn't run before, before deciding to do autologin.
      c5c5bf1f
    • Ray Strode's avatar
      local-display-factory: don't autoreap initial-setup · 7d1faca2
      Ray Strode authored
      We automatically kill the login screen when switching VTs away
      from it, but we should never kill the initial-setup screen in
      that situation.
      
      This commit adds a check to prevent that from happening.
      7d1faca2
  12. 12 Sep, 2018 2 commits
    • Ray Strode's avatar
      Merge branch 'stop-greeter-fix' into 'master' · 5db19c5b
      Ray Strode authored
      daemon: Move the waiting for the session to have taken over the fb to gdm-local-display-factory
      
      See merge request !47
      5db19c5b
    • Hans de Goede's avatar
      daemon: Move the waiting the session to have taken over the fb to gdm-local-display-factory · cda8de29
      Hans de Goede authored
      Commit 70861874 ("gdm-wayland-session,gdm-x-session: register after
      delay") delayed displays changing their status from PREPARED to MANAGED
      so that their status would not change until the session has had a change
      to install its own framebuffer and tell the GPU to scanout this new fb.
      
      Commit 74ee7771 ("local-display-factory: defer killing greeter until
      new session registers") uses this to avoid a flicker when transitioning
      from the greeter to the user-session by deferring the stopping of the
      greeter-session until the new display moves to the MANAGED state.
      
      But this only works when transitioning to a new user-session, when moving
      to an existing user-session (fast user switching) the display already
      is in MANAGED state and instead of deferring the stopping of the greeter
      commit 74ee7771 causes us to now never stop the greeter-session.
      
      This commit fixes this by starting a timeout when switching away from
      the initial-vt and letting that timeout stop the greeter-session.
      
      This commit removes the finish_waiting_displays_on_seat() call when the
      display's status changes to MANAGED, so that we still only have one code
      path stopping the greeter and not two.
      
      This means we also no longer need to delay registering the display. So this
      commit removes the code adding the delay (reverts commit 74ee7771).
      
      Note this commit uses a delay of 10 seconds, rather then 2 seconds. The
      transition to a new user-session takes about 8 seconds on my budget
      Apollo Lake based laptop (with SSD).
      
      Note this all really is a workaround, the proper solution for this would
      be able to tell the kernel to keep the greeter framebuffer around until
      a new framebuffer is installed. There is a patch to add a new unref_fb
      ioctl for this: https://www.spinics.net/lists/dri-devel/msg140912.html .
      We need to get this patch upstream and teach mutter to use it.
      cda8de29