Normally, we would receive a uevent coming from Linux's DRM subsystem, which would trigger the check for disappearing/appearing resources. However, this event is not received when X is not master (another VT is selected), and so the userspace / desktop environment would not be notified about the changes that happened while X wasn't master. To fix the issue, this patch forces a refresh on EnterVT by splitting the kms-checking code from the uevent handling into its own (exported) function called drmmode_update_kms_state. This function is then called from both the uevent-handling function, and on EnterVT right before restoring the modes. Signed-off-by: Martin Peres <martin.peres@linux.intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Acked-by: Kishore Kadiyala <kishore.kadiyala@intel.com> Tested-by: Kishore Kadiyala <kishore.kadiyala@intel.com> |
||
---|---|---|
.. | ||
Makefile.am | ||
dri2.c | ||
driver.c | ||
driver.h | ||
drmmode_display.c | ||
drmmode_display.h | ||
dumb_bo.c | ||
dumb_bo.h | ||
meson.build | ||
modesetting.man | ||
pageflip.c | ||
present.c | ||
vblank.c |