This should have been falling off a log simple, but I’ve burned about a day and a half on it. Time to send up a flare.
Just trying to get the HostMonitor demo for GuiLite running on my iMX8 Plus and Verdin full size carrier board. I mean this demo and library runs just about everywhere. On the Pi and other ARM devices it just opens and uses /dev/fb0 for output.
This is an incredibly tiny UI library and it doesn’t try to do anything kinky.
I’ve searched on here for /dev/fb0 but there are just too many hits to track down.
According to this doc I should be able to use /dev/fb.
My memory is not completely gone, /dev/fb0 should work according to this doc as well.
https://www.kernel.org/doc/html/latest/fb/framebuffer.html
This conversation looked promising but proved fruitless for me.
I made the mistake of thinking and looking for documentation on weston.ini. Could not find it on Toradex site. Found it no Ubuntu which is also Debian based.
http://manpages.ubuntu.com/manpages/bionic/man5/weston.ini.5.html
That lead me thinking I needed to add some backend support. Kind of bolstered via this message thread.
Found out the hard way if you put any of those in the ini file, you do not start.
developer@KneeVoice-developer-VirtualBox:~/Projects/GuiLiteHost$ cat Dockerfile
FROM --platform=linux/arm64/v8 torizon/weston-vivante:2
ADD HostMonitor /home/torizon/
ADD .sync_data.sh /home/torizon/
ADD icons8-system-task-48.png /home/torizon/
COPY weston.ini /etc/xdg/weston/
COPY weston.ini /etc/xdg/weston-dev/
ADD launch-host-monitor /home/torizon/
weston.ini
[core]
idle-time=0
require-input=false
xwayland=true
modules=screen-share.so
[libinput]
enable_tap=true
[shell]
background-image=
background-color=0x65FFEA80
panel-position=top
locking=false
allow-zap=false
num-workspaces=1
[keyboard]
vt-switching=false
[launcher]
icon=/home/torizon/icons8-system-task-48.png
path=/home/torizon/launch-host-monitor
launch-host-monitor
#! /bin/bash
cd /home/torizon
./HostMonitor /dev/fb0
docker run -e ACCEPT_FSL_EULA=1 -it --rm --name=barney --net=host --cap-add CAP_SYS_TTY_CONFIG \
-v /dev:/dev -v /tmp:/tmp -v /run/udev/:/run/udev/ \
--device-cgroup-rule='c 4:* rmw' --device-cgroup-rule='c 13:* rmw' \
--device-cgroup-rule='c 199:* rmw' --device-cgroup-rule='c 226:* rmw' \
seasonedgeek/gl-hostmonitor
The little icon shows up on the screen like one would expect.
Try to run and “open fb failed!”
: Operation not permitted
I assume there is some dark magic needed on the docker run invocation that is not found within an hour of searching the Toradex site. If you could tell me what that dark magic is I would appreciate it.
Just how is an application supposed to access the frame buffer? Every straight forward method I have tried has failed on this platform.