openframeworks / openframeworks/openFrameworks
Native windowing for Raspberry Pi 4
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.4k
- Forks
- 2.6k
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 9
Description
We've had a lot of requests since 0.11.0 for native windowing for Rpi 4.
@jvcleave has an ofxRPI4Window addon which handles just the window ( no mouse / keyboard ) using libdrm.
I recently tried using his window / surface creation from his addon with ofAppEGLWindow.cpp and it works great.
ofAppEGLWindow works fine for Rpi 4 if you sub out the window / display calls from ofxRPI4Window.
Right now ofAppEGLWindow is a bit of a mess because of the split support for X11 and native windowing on older PI devices. I am nervous to add yet another pathway with dependencies for libdrm window creation.
If the window code from https://github.com/jvcleave/ofxRPI4Window could be used for older devices too then it would be cleaner to have the native stuff in ofAppEGLWindow swapped for the DRM code. ( To me that would be ideal )
The other option would be to have something like ofAppDRMWindow which would be similar to ofxRPI4Window but with the event stuff from ofAppEGLWindow. This would add another file to OF and duplicate a lot of code that is already in ofAppEGLWindow.
Would love some thoughts on this.
Tagging @bakercp @jvcleave
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with libs/openFrameworks/app/ofAppEGLWindow.cpp and compare its existing X11 and native Raspberry Pi paths with the window and surface creation in the linked ofxRPI4Window addon. First determine whether the DRM approach can cover older devices or requires a separate ofAppDRMWindow; done means an agreed implementation direction for Raspberry Pi 4 native windowing, including event handling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, raspberry-pi
- Domain
- desktop, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100