FS#66419 - [autorandr] 1.10-1 prevents the session to initialize

Attached to Project: Community Packages
Opened by Stanislav T (stas-t) - Sunday, 26 April 2020, 10:13 GMT
Last edited by David Runge (dvzrv) - Monday, 04 May 2020, 17:06 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To David Runge (dvzrv)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


Description: after upgrading autoranrd to 1.10-1 and booting into awesome-gnome I see only a black screen for few minutes.

After diving into the package I discovered that a new desktop file was added which blocks the session startup:

FIX/WORKAROUND: edit autorandr-launcher.desktop and change
Exec=/usr/bin/autorandr-launcher --daemonize

Additional info:
* package version(s)
awesome-gnome 2.3-1
autorandr 1.10-1
gnome-session 3.36.0-1

Steps to reproduce:
- close X session
- upgrade packages (sudo pacman -Syu)
- start X session based e.g. on gnome-session
- the session fails to initialize properly and after a while you'll see this message in system journal:
gnome-session-binary[4982]: WARNING: Application 'autorandr-launcher.desktop' failed to register before timeout
This task depends upon

Closed by  David Runge (dvzrv)
Monday, 04 May 2020, 17:06 GMT
Reason for closing:  Fixed
Additional comments about closing:  Fixed with autorandr 1.10.1-1 (upstream reverted the default)
Comment by Stanislav T (stas-t) - Sunday, 26 April 2020, 11:00 GMT
The drawback of using "--daemonize" is that autorandr-launcher segfaults when exiting the session with "gnome-session-quit --logout --no-prompt". To avoid this I have to do "killall autorandr-launcher" before.

Is there a way to make gnome-session stop autorandr-launcher gently before Xorg exits?
Comment by David Runge (dvzrv) - Wednesday, 29 April 2020, 23:25 GMT
@stas-t: Thanks for the thorough description!

I have created an upstream ticket to track this: https://github.com/phillipberndt/autorandr/issues/199
If you're interested it would probably be nice to leave a note with further information on the segfault (if possible).

I'm currently evaluating rolling back the old behavior of systemd/udev integration instead of the `autorandr-launcher` executable.
Comment by Stanislav T (stas-t) - Thursday, 30 April 2020, 17:26 GMT
@dvzrv: Thank you for creating upstream ticket! I've put my comment there.

Regarding previous udev-based mechanism - it worked quite stable. For the new autorandr-launcher it's not clear to me how to make it session-aware or other way round - make gnome-session aware that autorandr-launcher needs to be killed before stopping Xorg.

For now I have this awesome callback to quit the session (mod4+shift+q):

function awesome_gnome_quit()
awful.spawn.with_shell("killall xss-lock autorandr-launcher ; gnome-session-quit --logout --no-prompt")
Comment by Stanislav T (stas-t) - Monday, 04 May 2020, 08:49 GMT
@dvzrv: there are two commits ready upstream:

They are expected to fix both problems - session startup and the crash when Xorg stops.