All the display stack is driven via the DRM / KMS driver (vc4) on current kernels.
/dev/fb0 is emulated by the DRM core.
Note that Pi4/CM4 will have 2 DRM cards - one is vc4 for the display pipeline, and one is v3d for the 3D core. If you're going to communicate with DRM/KMS, then ensure you use the right card (NB that the allocation is not static).
If you really want to co-ordinate your writes, then use DRM fully and double buffer the output. Using atomic commits will inherently block until the VSYNC that puts your buffer on the screen has occurred.
/dev/fb0 is emulated by the DRM core.
Note that Pi4/CM4 will have 2 DRM cards - one is vc4 for the display pipeline, and one is v3d for the 3D core. If you're going to communicate with DRM/KMS, then ensure you use the right card (NB that the allocation is not static).
If you really want to co-ordinate your writes, then use DRM fully and double buffer the output. Using atomic commits will inherently block until the VSYNC that puts your buffer on the screen has occurred.
Statistics: Posted by 6by9 — Fri Mar 15, 2024 3:48 pm