Raspberry Pi 4 release and info-beamer information

Another update and some observations, but first a snapshot:

This is existing info-beamer code running on a current build of the Pi4 version. This version now uses the DRM & GBM APIs to open up an OpenGL context. This GL layer can then be combined with video layers as seen in the above image where a video is used as the background. This means that packages like the HD Player should in theory work with that version. \o/

Some observations:

  • The texture size limit was raised from 2048x2048 to 8192x8192 pixels. So it’s now possible to load and render 4K images directly. So that’s also something that has to be reflected in the web dashboard as it still restricts to the 2048x2048 limit.
  • I’ve managed to generate a 4K video signal and render out some content. I don’t have a native 4K display yet, but the NEC P404 was able to display that signal by downscaling it.
  • Not sure how H265 decoding works yet. Just feeding the hardware decoder H265 video frames doesn’t work as the decoder seems to be confused and doesn’t decode anything.
  • Still not sure how video decoding into GL textures works.
  • There’s some flickering going on and the current output doesn’t feel as smooth as on earlier Pi versions. That’s probably my fault for not yet understanding how everything plays together.
  • No idea how to generate output on two attached displays yet.
  • DRM seems to have realtime information about the attached display. This might be used in the future to dynamically switch resolution depending on the attached display
  • I’m not sure if it’s possible to generate a GL surface that doesn’t match the pixel size of the selected output. In Lua, this means that right now only gl.setup(NATIVE_WIDTH, NATIVE_HEIGHT) is guaranteed to work.

If you want to play around with the current version on Raspbian buster, feel free to download this preview release for evaluation purposes only.

4 Likes