When switching to VT, the ioctl DRM_DROP_MASTER must be done before
the ioctl VT_RELDISP. Otherwise the kernel can't change the modesetting
reliably, and this leads to the console not showing up in some cases, like
after unplugging a docking station with a DP or HDMI monitor.
Before doing the VT_RELDISP, send a dbus message to logind, to
pause the drm device, so logind will do the ioctl DRM_DROP_MASTER.
With this patch, it changes the order logind will send the resume
event, and drm will be sent last instead of first.
so there is a also fix to call systemd_logind_vtenter() at the right time.
Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
(cherry picked from commit 
						
					
				
			 | 
			||
|---|---|---|
| .. | ||
| bsd | ||
| bus | ||
| hurd | ||
| linux | ||
| misc | ||
| shared | ||
| solaris | ||
| stub | ||
| Makefile.am | ||
| int10Defines.h | ||
| meson.build | ||
| xf86OSpriv.h | ||
| xf86_OSlib.h | ||
| xf86_OSproc.h | ||