GithubHelp home page GithubHelp logo

igalia / balena-wpe Goto Github PK

View Code? Open in Web Editor NEW
16.0 24.0 6.0 21.39 MB

A Balena project based on WebKit WPE (balena-browser-wpe)

License: Apache License 2.0

Shell 100.00%
balena-application wpe weston webkit raspberrypi3-64 raspberrypi4-64 raspberrypi3 browser

balena-wpe's People

Contributors

manuelafm avatar psaavedra avatar q66 avatar rahul-thakoor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

balena-wpe's Issues

Wait until weston service has initialized

mkdir -p /run/weston/xdg_runtime

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

Multiple Displays

Is it possible to open two separate windows with each one full screen on a separate display?

[Feature] TFT/PiTFT/SPI LCD Screen Support

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.

[Feature] Option to enable address bar/tool bar/bookmarks bar

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!

Youtube videos not playing

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?

[Feature] Option to disable cursor

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.

[Feature] Rotate display 90 degrees or 180 degrees

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

audio: Pulseaudio logs warnings and errors

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

Discrepancies in default env vars noted in README

The default values for env vars noted in README might be wrong:

export COG_PLATFORM_FDO_VIEW_WIDTH=${WPE_COG_PLATFORM_FDO_VIEW_WIDTH:-1024}

but readme says 1280

likewise for

  • WPE_COG_PLATFORM_FDO_VIEW_HEIGHT: 768 vs 720

    export COG_PLATFORM_FDO_VIEW_HEIGHT=${WPE_COG_PLATFORM_FDO_VIEW_HEIGHT:-768}

  • Not sure about WPE_ENABLE_INSPECTOR_SERVER but it seems it will default to 1 ?

    export WPE_ENABLE_INSPECTOR_SERVER=${WPE_ENABLE_INSPECTOR_SERVER:-1}

  • CPU_SCALING_GOVERNOR might default to performance ? but readme says ondemand

    CPU_SCALING_GOVERNOR=${CPU_SCALING_GOVERNOR:-performance}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.