info-beamer

Raspberry Pi 4 release and info-beamer information

TL;DR: info-beamer hosted does not work yet. Support will be available "when its done"

The Pi 4 is available as of today. That’s quite a big surprise as everyone expected 2020. The specs seem very nice:

  • Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz
  • 1GB, 2GB or 4GB LPDDR4-2400 SDRAM (depending on model)
  • 2.4 GHz and 5.0 GHz IEEE 802.11ac wireless, Bluetooth 5.0, BLE
  • Gigabit Ethernet
  • 2 USB 3.0 ports; 2 USB 2.0 ports.
  • Raspberry Pi standard 40 pin GPIO header (fully backwards compatible with previous boards)
  • 2 × micro-HDMI ports (up to 4kp60 supported)
  • 2-lane MIPI DSI display port
  • 2-lane MIPI CSI camera port
  • 4-pole stereo audio and composite video port
  • H.265 (4kp60 decode), H264 (1080p60 decode, 1080p30 encode)
  • OpenGL ES 3.0 graphics
  • Micro-SD card slot for loading operating system and data storage
  • 5V DC via USB-C connector (minimum 3A*)
  • 5V DC via GPIO header (minimum 3A*)
  • Power over Ethernet (PoE) enabled (requires separate PoE HAT)
  • Operating temperature: 0 – 50 degrees C ambient

OpenGL now uses “V3D” instead of a closed source driver so that’s quite different to what it was before, so info-beamer won’t work out of the box. Similarly video decoding very likely change massively, but I didn’t look into that yet.

I would expect all this to be a massive amount of work until you get the smooth and stable experience of the current generation Pis. There is no release date for anything yet. Any news will be posted here.

5 Likes

I was just about to post a link to the news! :blush:

We backed the right horse! Pi is the way to go. For those needing 4K and 2 displays, this will be it. Good to know for future extensions and projects!

Got to work a bit with the Pi4 today. Got the OS itself to boot albeit with a lot of minor and probably also not yet detected major issues that need fixing…

Right now the info-beamer program itself doesn’t run and it seems that a rather big rewrite of some components is required. Reason is that OpenGL not works differently compared to earlier releases. Previously there was a Broadcom provided OpenGLES2 driver that directly talked to the hardware. This option is unfortunately no longer available.

I expect this to take a while. sigh.

I’m sure if anyone can figure it out then you can Florian, it’s way above my abilities that’s for sure :slight_smile:

I guess for when it’s more common to deliver 4k content then it’s important to update the software to support the Pi4, to allow us all to continue using info-beamer!

No worries, there will eventually be a version. I just can’t make any promises about any kind release date yet. Understanding all the APIs required to make that work is a bit of a challenge. I’ll keep this thread updated of course.

2 × micro-HDMI ports (up to 4kp60 supported)

Would be cool if you we could make video walls with just 1 Pi4 or scheduled player that support two different playlists; one per screen.

Totally, but let’s start with the basics first: Getting anything drawn on the Pi4 :wink:

Speaking of: I managed to overlay a GL layer (the cube) over a video (that lego thingy in the background).

image

That might not look like much, but proofs that what info-beamer did in the past can also be done on the Pi4. The only major uncertainty now is the ability to render videos into a texture. This is for example used in the magic video wall to rotate the videos into their correct position. No idea how to approach this yet…

2 Likes

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.

3 Likes

Making good progress :+1:

I’ve also found examples that show how to decode video into GL textures on the Pi4. But that’s in no way added to info-beamer pi yet. It’s all still very early and the complete programming environment feel very unstable and undocumented. Basically the same mess I had to go through when initially porting info-beamer to the Pi a few years ago. I also expect quite a few bug fixes on the Pi4 firmware/kernel itself before I would recommend using it in production.

Don’t expect any major updates in the next 2-3 weeks. I’ll have to ingest a lot of new (underdocumented) APIs.

Until then, my recommendation would be: Unless you need 4K in the future, the Pi4 doesn’t seem to bring anything major to the table yet. It needs more power, gets hotter and will have to proof itself first. For now, just use Pi3s

1 Like