since weeks I am trying to build my own buildroot linux image for the Raspberry Pi 4 (Model B with 2GB) that meets the following requirements...
- Hardware accelerated fullscreen video playback (don't need audio, no matter which codec, even though the GPU of the 4B supports h264 + h265)
- GPIO access with Python 3
- very fast boot time - if possible not more than about 6 seconds from power-on to starting video playback
(the Raspberry Pi will only be used for video playback, controlled by a python script)
What I have tried:
Raspbian lite without GUI and with some boot optimizations (disabled many services, disabled network, tried different settings in cmdline.txt and config.txt and using "raspi-config", all not worth mentioning. Boot time was between 15 and 20 seconds which is too long for my purpose. At least the video playback would be great this way.
Raspbian lite as above, but booting from SSD via USB 3 (with the initial boot from microSD which is a workaround because the firmware does currently not yet support booting from USB devices). Boot time was not much faster as from micro SD, at least for this usage without GUI where the boot time is already quite fast and I think it needs to wait for the USB 3 device to be initialized in an early state of the boot process.
Custom Buildroot image containing VLC player and/or OMXplayer
The only possible option to reach the required boot time seems to be the last option. For me as a linux novice this is a challenge. I managed to compile a kernel containing the VLC Player, but video playback throws warnings and seems not to use GPU at all (h264 videos with just 3-4 fps!). Boot time is "ok" (about 10s, but could be better).
Any help or idea would be appreciated, even if I would need additional hardware to reach my goal. Further I have some specific questions:
I've read about "initramfs" but don't have managed compiling it successfully with buildroot. Would this initramfs speed up boot time significantly?
Has someone ever successfully built an image for the Pi 4B with VLC Player or OMXplayer and with working hardware accelerated video playback? Couldn't find any option for enabling OMXplayer in the menuconfig.
How I used buildroot
- crosscompiled with newest Debian in a Virtualbox VM under Windows
- installed following packages for dependencies:
apt install git
apt install libncurses-dev
apt install bc
apt install unzip
apt install rsync
apt install make
apt install build-essential
- installed buildroot:
$ git clone https://github.com/buildroot/buildroot.git buildroot
- prepared buildroot:
$ make clean
$ make raspberrypi4_defconfig
$ make menuconfig
... then experimented with the options in menuconfig and compiled many many times from stretch ...
Thanks in advance for any help!