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 | ||