You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The following proof-of-concept commit replaces the timer-based capturing of screen data with using the VBLANK interrupt to trigger the update. It patches the a64_linux kernel to never disable the interrupt and adds a specific lx_emul function (lX_emul_framebuffer_vblank()) that is executed in the interrupt handler. The handler is called every ~26ms.
This was also reproduced with the pc_intel_fb_drv where the interrupt occurred every ~16ms when only one display was used and at varying intervals when multiple displays were connected.
So for less invasive (and properly accounting for mutiple displays) vblank handling we could look at how to profit from the drm_crtc_handle_vblank() call and how to enable the interrupt from the user's side of things.
The text was updated successfully, but these errors were encountered:
@nfeske this issue contains the PoC commit for A64 - as I cannot find the corresponding intel_fb commit I assume I reiterated the same approach there as well (and did not deem it worthy for committing).
The following proof-of-concept commit replaces the timer-based capturing of screen data with using the VBLANK interrupt to trigger the update. It patches the
a64_linux
kernel to never disable the interrupt and adds a specific lx_emul function (lX_emul_framebuffer_vblank()
) that is executed in the interrupt handler. The handler is called every ~26ms.This was also reproduced with the
pc_intel_fb_drv
where the interrupt occurred every ~16ms when only one display was used and at varying intervals when multiple displays were connected.So for less invasive (and properly accounting for mutiple displays) vblank handling we could look at how to profit from the
drm_crtc_handle_vblank()
call and how to enable the interrupt from the user's side of things.The text was updated successfully, but these errors were encountered: