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

Details

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:
/etc/xdg/autostart/autorandr-launcher.desktop

FIX/WORKAROUND: edit autorandr-launcher.desktop and change
Exec=/usr/bin/autorandr-launcher
to
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()
awesome.quit()
awful.spawn.with_shell("killall xss-lock autorandr-launcher ; gnome-session-quit --logout --no-prompt")
end
Comment by Stanislav T (stas-t) - Monday, 04 May 2020, 08:49 GMT
@dvzrv: there are two commits ready upstream:
https://github.com/phillipberndt/autorandr/commit/dfb37523e36050826db6e188545a630c8e53a895
https://github.com/phillipberndt/autorandr/commit/42104bf719a16fcb45e55bf3bc65c5cca4e97a90

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

Loading...