Raspberry Pi addon that renders openFrameworks without X, adding HDR support through DRM kernel metadata with dual SDR and HDR planes.
Branches ahead of ofxRPI4Window_dovi_latest
These branches have commits not yet on ofxRPI4Window_dovi_latest — could be unmerged fixes or work in progress worth a look.
README
ofxRPI4WindowHDR
DESCRIPTION:
This is an openFrameworks addon for the Raspberry Pi to allow rendering without XHDR support added to take advantage of DRM linux kernel driver HDR metadata additions
Uses dual planes to allow on the fly switching between SDR overlay plane and HDR primary plane
Exposes HDR metadata and AVI infoframe structures to facilitate UI changes
Extensive logging for debugging
REQUIREMENTS:
- openFrameworks 11, with patches to use float images and allow compiling on Biasilinux armv7l --> (ofx.patch)
- raspberry Pi linux 5.10, with patches to vc4, v3d, drm drivers --> (drm_vc4.patch)
- KMS Driver enabled, thru config.txt(see config.txt)
- Newest Mesa libraries, with patches that add HDR colorspace attributes --> (mesa_hdr.patch)
- Mesa build command line:
DEPENDENCIES
liburiparser.so.1.0.24
libxshmfence.so.1.0.0
libtinfo.so.6.2.0
libxcb-dri3.so.0.1.0
libxcb-present.so.0.0.0
libxcb-sync.so.1.0.0
libzstd.so.1.5.0
libdrm.so.2.4.0
libLLVM-9.so
mesa libraries as above
Manual Option
ChangeopenFrameworks/libs/openFrameworksCompiled/project/linuxarmv7l/config.linuxarmv7l.default.mk ifeq ($(USE_PI_LEGACY), 1)
PLATFORM_DEFINES += TARGET_RASPBERRY_PI_LEGACY
$(info using legacy build)
else
# comment this for older EGL windowing. Has no effect if USE_PI_LEGACY is enabled
# GLFW seems to provide a more robust window on newer Raspbian releases
USE_GLFW_WINDOW = 1
endif Comment out ofSetupOpenGL in https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworks/app/ofAppRunner.cpp#L31of patch with ofx.patch
PERMISSIONS
User pgenerator needs to be added to video group to allow permission to /dev/dri/card0, /dev/dri/card1, /dev/dri/render128usermod -a video pgenerator
CREDITS:
derived from https://github.com/matusnovak/rpi-opengl-without-xhttps://gitlab.freedesktop.org/mesa/kmscube/tree/master
https://github.com/jvcleave/ofxRPI4Window
https://github.com/popcornmix/xbmc/tree/gbm_matrix
ofxAddons