igalia / balena-wpe Goto Github PK
View Code? Open in Web Editor NEWA Balena project based on WebKit WPE (balena-browser-wpe)
License: Apache License 2.0
A Balena project based on WebKit WPE (balena-browser-wpe)
License: Apache License 2.0
Various small SPI-based screens are commonly used in conjunction within the Raspberry Pi ecosystem. It would be fantastic to see support for these as well as the existing HDMI monitors.
Describe alternatives you've considered
Loading the relevant overlay and setting the relevant HDMI configuration settings in config.txt does not create a working system.
I'm experimenting with using the balena-wpe block to replace the balena-browser block on a rpi that has a small touchscreen that connects to a local grafana website. However, any time the grafana container is updated, the browser requires a hard refresh to make it connect for a new instance id or something. So right now I need to reboot the entire rpi to get the browser to restart.
The wpe webkit setup here has no address or toolbar, nor does it seem to respond to any touch gestures that might initiate a refresh, so I'm out of ideas after playing around for a while. I have some other handy uses for enabling the bookmarks bar, for example, if that were to be possible, and hardcode a bookmarks.html file into the container to use.
In the balena-browser block, I just left it out of kiosk mode so it had the full address/toolbar to allow refreshing, which unblocked my scenarios, though not perfectly of course. :)
Thanks for the project, though, it's so much faster than the X11-based ancient webkit in the balena-browser project!
Is your feature request related to a problem? Please describe.
I would like the ability to rotate the entire display 90 or 180 degrees. I've attempted to set the built-in Balena device configuration to rotate the display, but it doesn't appear to work with the Weston/WPE environments.
Describe the solution you'd like
I would either like an option within this project to rotate the display, or a suggestion for how to accomplish this some other way.
Describe alternatives you've considered
I've tried the Balena configuration option for rotating the display on a Raspberry Pi
Additional context
I'm using a Raspberry Pi 4 with the most recent BalenaOS
The default values for env vars noted in README might be wrong:
Line 8 in 573e8c5
likewise for
Because it has a transparent background i guess.
It would be great to have the option to disable/hide the cursor, or at least only show it when the mouse is plugged in and moving around. When used for a kiosk, most of the time a cursor is unwanted/unnecessary.
Option to disable the cursor (env var), possibly also the option to not fully disable it, but at least auto hide it after X seconds.
Hey @psaavedra do you see these in the logs
18.01.22 18:59:21 (+0400) audio --- Audio ---
18.01.22 18:59:21 (+0400) audio Starting audio service with settings:
18.01.22 18:59:21 (+0400) audio - pulseaudio 15.0
18.01.22 18:59:21 (+0400) audio - Pulse log level: NOTICE
18.01.22 18:59:21 (+0400) audio - Default output: AUTO
18.01.22 18:59:21 (+0400) audio - Default volume: 75%
18.01.22 18:59:21 (+0400) audio
18.01.22 18:59:21 (+0400) audio Detected audio cards:
18.01.22 18:59:21 (+0400) audio 0 bcm2835-jack bcm2835_headpho-bcm2835Headphones
18.01.22 18:59:21 (+0400) audio 1 vc4hdmi0 vc4-hdmi-vc4-hdmi-0
18.01.22 18:59:21 (+0400) audio 2 vc4hdmi1 vc4-hdmi-vc4-hdmi-1
18.01.22 18:59:21 (+0400) audio
18.01.22 18:59:21 (+0400) audio
18.01.22 18:59:32 (+0400) audio W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
18.01.22 18:59:32 (+0400) audio E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
18.01.22 18:59:32 (+0400) audio E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="1" name="platform-fef00700.hdmi" card_name="alsa_card.platform-fef00700.hdmi" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=yes card_properties="module-udev-detect.discovered=1""): initialization failed.
18.01.22 18:59:32 (+0400) audio E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
18.01.22 18:59:32 (+0400) audio E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="2" name="platform-fef05700.hdmi" card_name="alsa_card.platform-fef05700.hdmi" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=yes card_properties="module-udev-detect.discovered=1""): initialization failed.
18.01.22 18:59:33 (+0400) audio E: [pulseaudio] bluez5-util.c: Failed to get D-Bus connection: Failed to connect to socket /host/run/dbus/system_bus_socket: No such file or directory
18.01.22 18:59:33 (+0400) audio E: [pulseaudio] module.c: Failed to load module "module-bluez5-discover" (argument: "autodetect_mtu=yes headset=native"): initialization failed.
18.01.22 18:59:33 (+0400) audio E: [pulseaudio] module.c: Failed to load module "module-bluetooth-discover" (argument: "autodetect_mtu=yes headset=native"): initialization failed.
18.01.22 18:59:33 (+0400) audio W: [pulseaudio] server-lookup.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
18.01.22 18:59:33 (+0400) audio W: [pulseaudio] main.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
I am able to play videos on vimeo but not on youtube. Could be related to h264 and VP8/9 decoding.
On chromium-browser running on Raspberry Pi, we had to use the h264ify extension to force YouTube to stream H.264 videos instead of VP8/VP9 videos.
@psaavedra Is it possbile to do same in WPE?
balena-wpe/wpe/Dockerfile.template
Line 15 in 904dc66
I thought WPE provided a web interface to configure url?
Line 20 in 86e0148
hey @psaavedra great on on this :)
I was wondering if we should wait for the weston service to be ready and create the required files here
we've seen issues with xserver block where services might start before the server and the socket is not available even if we use depends_on
in the docker-compose file. See an example here
Is it possible to open two separate windows with each one full screen on a separate display?
balena-wpe/weston/Dockerfile.template
Line 1 in 86e0148
I had to use igalia/balena-browser-wpe:raspberrypi4-64-79f2c8d
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.