PowerVR userspace: GLES on fbdev, then buffer sharing with sun4i-drm #60

Open
opened 2026-08-29 15:40:47 +00:00 by tiagoagueda · 0 comments
Owner

Part of #55, and the last phase. Assumes the firmware boots.

Window system, in order of preference

  1. NULLWS / fbdev - simplest, and the right first target. Our sun4i-drm already provides
    /dev/fb0 through fbdev emulation. Goal: one GLES triangle, no compositor.
  2. X11 + DRI2 - what the vendor shipped; the Ubuntu 150204 userspace has libpvr_dri_if.so,
    which implies this path.
  3. Wayland - only if the userspace ships a Wayland WSEGL.

The part that will cost time

PVR services allocate GPU memory; scanout belongs to sun4i-drm. That needs dma-buf export from
PVR and import into the display driver. DDK 1.x has dma-buf support, but this is the most likely
place to lose days. If it resists, fall back to an fbdev blit - correctness before speed.

Done when

An es2gears-class test renders on the TV.

The userspace this uses depends entirely on how #56 resolves: DDK 1.4 glibc
(native Debian) or DDK 1.3 Android via libhybris.

Part of #55, and the last phase. Assumes the firmware boots. ## Window system, in order of preference 1. **NULLWS / fbdev** - simplest, and the right first target. Our `sun4i-drm` already provides `/dev/fb0` through fbdev emulation. Goal: one GLES triangle, no compositor. 2. **X11 + DRI2** - what the vendor shipped; the Ubuntu 150204 userspace has `libpvr_dri_if.so`, which implies this path. 3. **Wayland** - only if the userspace ships a Wayland WSEGL. ## The part that will cost time PVR services allocate GPU memory; scanout belongs to `sun4i-drm`. That needs dma-buf export from PVR and import into the display driver. DDK 1.x has dma-buf support, but this is the most likely place to lose days. If it resists, fall back to an fbdev blit - correctness before speed. ## Done when An `es2gears`-class test renders on the TV. The userspace this uses depends entirely on how #56 resolves: DDK 1.4 glibc (native Debian) or DDK 1.3 Android via libhybris.
Sign in to join this conversation.
No description provided.