balena-io-experimental / browser

A drop-in web browser block
98 stars 75 forks source link

Just a black screen on RPi4 with balenaOS > 2.80.5+rev1 #124

Closed gitroli closed 2 days ago

gitroli commented 2 years ago

I get no screen, just black, when using balenaOS > 2.80.5+rev1 I am using RPi4. Is there any fix or idea for that?

ghost commented 2 years ago

We had a similar problem to you, try changing setting "vc4-fkms-v3d" instead of "vc4-kms-v3d" in your device's dt_overlay configuration.

gitroli commented 2 years ago

I didn't help, same situation, screen, stays black.

ghost commented 2 years ago

Alright, what screen are you using? If you're using an external touchscreen then try booting the raspberry pi with a HDMI screen instead, this could help narrow the problems down a bit.

Also, are you able to view the terminal in the Balena dashboard? If you can then it would be helpful to see the logs.

Lastly, does the raspberry pi display the Balena logo and then go blank, or does it not output anything at all?

gitroli commented 2 years ago

I tried Touch Monitor Hannspree and also normal TV with HDMI.

I can enable terminal, but I didnt try so far, because its running in kiosk mode.

On boot I see the balena logo on fullscreen.

ghost commented 2 years ago

Alright, I'll wait until you give me the logs, but the fact that you see the Balena logo rules out the possibility of an incorrect OS configuration.

gitroli commented 2 years ago

which logs do you need exactly, can I copy the logs also from the balena webinterface, because on terminal with keyboard it is hard to copy

ghost commented 2 years ago

You can copy the logs from the Balena dashboard, they should be identical to the logs on the device.

gitroli commented 2 years ago

` balenaBlocks browser version: 2.0.3

Setting CPU Scaling Governor to 'performance' Started service 'photo-gallery sha256:a4ec037991c541fb13fe4511f7a5a8601d8ecd6cd979d4fdde5a6c935cb72eff' Killing service 'datadog-iot sha256:fe0bf38a9804c1c771be297ba6173fecddbbb0807921e3463fae7427427780b3' Service exited 'datadog-iot sha256:fe0bf38a9804c1c771be297ba6173fecddbbb0807921e3463fae7427427780b3' Killed service 'datadog-iot sha256:fe0bf38a9804c1c771be297ba6173fecddbbb0807921e3463fae7427427780b3' Installing service 'datadog-iot sha256:fe0bf38a9804c1c771be297ba6173fecddbbb0807921e3463fae7427427780b3' Installed service 'datadog-iot sha256:fe0bf38a9804c1c771be297ba6173fecddbbb0807921e3463fae7427427780b3' Starting service 'datadog-iot sha256:fe0bf38a9804c1c771be297ba6173fecddbbb0807921e3463fae7427427780b3' Started service 'datadog-iot sha256:fe0bf38a9804c1c771be297ba6173fecddbbb0807921e3463fae7427427780b3' > album-slideshow@1.0.0 start /usr/src/app > node server.js Disabling cursor Checking GPU memory 2022-05-27 19:27:57 UTC | CORE | INFO | (pkg/util/log/log.go:596 in func1) | runtime: final GOMAXPROCS value is: 4 2022-05-27 19:27:57 UTC | CORE | INFO | (pkg/util/log/log.go:596 in func1) | Features detected from environment: docker 2022-05-27 19:27:57 UTC | CORE | INFO | (cmd/agent/app/run.go:245 in StartAgent) | Starting Datadog Agent v7.31.1 xauth: file /home/chromium/.Xauthority does not exist X.Org X Server 1.20.4 X Protocol Version 11, Revision 0 Build Operating System: Linux 5.10.17-v8+ aarch64 Raspbian Current Operating System: Linux 86377dbbe4d6 5.10.95-v8 #1 SMP PREEMPT Thu Feb 17 11:43:01 UTC 2022 aarch64 Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 video=HDMI-A-1:1920x1080M@60 smsc95xx.macaddr=E4:5F:01:1A:C0:1E vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 dwc_otg.lpm_enable=0 rootfstype=ext4 rootwait dwc_otg.lpm_enable=0 rootwait vt.global_cursor_default=0 console=null cgroup_enable=memory root=UUID=ba1eadef-963b-485f-8238-b87ede216464 rootwait Build Date: 19 April 2021 03:23:36PM xorg-server 2:1.20.4-1+rpt3+deb10u3 (https://www.debian.org/support) Current version of pixman: 0.36.0 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (==) Log file: "/var/log/Xorg.0.log", Time: Fri May 27 19:27:57 2022 (==) Using system config directory "/usr/share/X11/xorg.conf.d" 2022-05-27 19:27:58 UTC | CORE | INFO | (cmd/agent/app/run.go:314 in StartAgent) | Hostname is: 903c0c5 (II) modeset(0): Initializing kms color map for depth 24, 8 bpc. 📷 - Fetching images... 📷 - Starting a google photos slideshow. 🐉 - Scheduler configured for 2 6 * * * ✨ - Magic happens on port 8888 2022-05-27 19:27:59 UTC | CORE | INFO | (pkg/api/security/security.go:145 in fetchAuthToken) | Saved a new authentication token to files/auth_token 2022-05-27 19:27:59 UTC | CORE | INFO | (cmd/agent/app/run.go:343 in StartAgent) | GUI server port -1 specified: not starting the GUI. 2022-05-27 19:27:59 UTC | CORE | INFO | (pkg/forwarder/forwarder.go:204 in NewDefaultForwarder) | Retry queue storage on disk is disabled 2022-05-27 19:27:59 UTC | CORE | INFO | (pkg/forwarder/forwarder.go:303 in Start) | Forwarder started, sending to 1 endpoint(s) with 1 worker(s) each: "https://7-31-1-app.agent.datadoghq.eu" (1 api key(s)) 2022-05-27 19:27:59 UTC | CORE | INFO | (pkg/logs/client/http/destination.go:275 in CheckConnectivity) | Checking HTTP connectivity... 2022-05-27 19:27:59 UTC | CORE | INFO | (pkg/logs/client/http/destination.go:281 in CheckConnectivity) | Sending HTTP connectivity request to https://agent-http-intake.logs.datadoghq.eu/api/v2/logs... 2022-05-27 19:27:59 UTC | CORE | INFO | (pkg/dogstatsd/listeners/udp.go:95 in Listen) | dogstatsd-udp: starting to listen on 127.0.0.1:8125 Detecting window size from framebuffer Window size detected as 1920,1080 2022-05-27 19:27:59 UTC | CORE | INFO | (pkg/logs/client/http/destination.go:286 in CheckConnectivity) | HTTP connectivity successful 2022-05-27 19:27:59 UTC | CORE | INFO | (pkg/logs/logs.go:112 in start) | Starting logs-agent... 2022-05-27 19:27:59 UTC | CORE | INFO | (pkg/logs/logs.go:122 in start) | logs-agent started 2022-05-27 19:27:59 UTC | CORE | INFO | (pkg/util/version_history.go:43 in logVersionHistoryToFile) | Cannot read file: /opt/datadog-agent/run/version-history.json, will create a new one. open /opt/datadog-agent/run/version-history.json: no such file or directory 2022-05-27 19:27:59 UTC | CORE | INFO | (pkg/tagger/local/tagger.go:181 in tryCollectors) | collector cloudfoundry skipped as feature not activated 2022-05-27 19:27:59 UTC | CORE | INFO | (pkg/collector/runner/runner.go:96 in ensureMinWorkers) | Runner 1 added 4 workers (total: 4) 2022-05-27 19:27:59 UTC | CORE | ERROR | (cmd/agent/common/autodiscovery.go:94 in setupAutoDiscovery) | Unable to find this provider in the catalog: docker 2022-05-27 19:27:59 UTC | CORE | WARN | (pkg/autodiscovery/autoconfig.go:348 in addListenerCandidates) | Listener docker was not registered 2022-05-27 19:27:59 UTC | CORE | INFO | (pkg/autodiscovery/autoconfig.go:365 in initListenerCandidates) | environment listener successfully started 2022-05-27 19:27:59 UTC | CORE | INFO | (pkg/autodiscovery/providers/file.go:76 in Collect) | file: searching for configuration files at: /etc/datadog-agent/conf.d 2022-05-27 19:27:59 UTC | CORE | INFO | (pkg/autodiscovery/providers/file.go:76 in Collect) | file: searching for configuration files at: /opt/datadog-agent/bin/agent/dist/conf.d 2022-05-27 19:27:59 UTC | CORE | WARN | (pkg/autodiscovery/providers/file.go:80 in Collect) | Skipping, open /opt/datadog-agent/bin/agent/dist/conf.d: no such file or directory 2022-05-27 19:27:59 UTC | CORE | INFO | (pkg/autodiscovery/providers/file.go:76 in Collect) | file: searching for configuration files at: 2022-05-27 19:27:59 UTC | CORE | WARN | (pkg/autodiscovery/providers/file.go:80 in Collect) | Skipping, open : no such file or directory 2022-05-27 19:27:59 UTC | CORE | INFO | (pkg/logs/input/container/launcher.go:62 in shouldRetry) | Nothing to retry - stopping 2022-05-27 19:27:59 UTC | CORE | INFO | (pkg/autodiscovery/listeners/environment.go:65 in createServices) | Listener created docker service from environment Found 2 images. 🔀 - Shuffling images OFF 🔀 Browser API running on port: 5011 Using LAUNCH_URL: google.at Enabling GPU Enabling KIOSK mode Starting Chromium with flags: --disable-features=TranslateUI,--disable-component-extensions-with-background-pages,--disable-background-networking,--disable-sync,--metrics-recording-only,--disable-default-apps,--no-default-browser-check,--no-first-run,--disable-backgrounding-occluded-windows,--disable-renderer-backgrounding,--disable-background-timer-throttling,--force-fieldtrials=*BackgroundTracing/default/,--window-size=1920,1080,--window-position=0,0,--autoplay-policy=no-user-gesture-required,--noerrdialogs,--disable-session-crashed-bubble,--check-for-update-interval=31536000,--disable-dev-shm-usage,--enable-zero-copy,--num-raster-threads=4,--ignore-gpu-blacklist,--enable-gpu-rasterization,--user-data-dir=/data/chromium Displaying URL: --app= http://google.at 2022-05-27 19:28:01 UTC | CORE | INFO | (pkg/util/cloudprovider.go:56 in DetectCloudProvider) | No cloud provider detected 2022-05-27 19:28:01 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:85 in Enter) | Scheduling check cpu with an interval of 15s 2022-05-27 19:28:01 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:85 in Enter) | Scheduling check disk with an interval of 15s 2022-05-27 19:28:01 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:85 in Enter) | Scheduling check io with an interval of 15s 2022-05-27 19:28:01 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:85 in Enter) | Scheduling check load with an interval of 15s 2022-05-27 19:28:01 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:85 in Enter) | Scheduling check memory with an interval of 15s 2022-05-27 19:28:01 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:85 in Enter) | Scheduling check network with an interval of 15s 2022-05-27 19:28:01 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:85 in Enter) | Scheduling check ntp with an interval of 15m0s 2022-05-27 19:28:01 UTC | CORE | INFO | (pkg/collector/scheduler/scheduler.go:85 in Enter) | Scheduling check uptime with an interval of 15s 2022-05-27 19:28:01 UTC | CORE | WARN | (pkg/logs/scheduler/scheduler.go:78 in Schedule) | Invalid service: entity is malformed : 2022-05-27 19:28:02 UTC | CORE | INFO | (pkg/collector/worker/check_logger.go:37 in CheckStarted) | check:cpu | Running check... 2022-05-27 19:28:02 UTC | CORE | INFO | (pkg/collector/worker/check_logger.go:56 in CheckFinished) | check:cpu | Done running check 2022-05-27 19:28:02 UTC | CORE | INFO | (pkg/collector/worker/check_logger.go:37 in CheckStarted) | check:ntp | Running check... 2022-05-27 19:28:02 UTC | CORE | INFO | (pkg/collector/worker/check_logger.go:56 in CheckFinished) | check:ntp | Done running check 2022-05-27 19:28:07 UTC | CORE | INFO | (pkg/metadata/host/host.go:208 in getNetworkMeta) | could not get network metadata: could not detect network ID 2022-05-27 19:28:07 UTC | CORE | INFO | (pkg/collector/worker/check_logger.go:37 in CheckStarted) | check:network | Running check... 2022-05-27 19:28:07 UTC | CORE | INFO | (pkg/collector/worker/check_logger.go:56 in CheckFinished) | check:network | Done running check 2022-05-27 19:28:07 UTC | CORE | INFO | (pkg/serializer/serializer.go:371 in sendMetadata) | Sent metadata payload, size (raw/compressed): 4637/1860 bytes. 2022-05-27 19:28:07 UTC | CORE | INFO | (pkg/forwarder/transaction/transaction.go:365 in internalProcess) | Successfully posted payload to "https://7-31-1-app.agent.datadoghq.eu/intake/?api_key=***************************78f5e", the agent will only log transaction success every 500 transactions 2022-05-27 19:28:08 UTC | CORE | INFO | (pkg/collector/worker/check_logger.go:37 in CheckStarted) | check:load | Running check... 2022-05-27 19:28:08 UTC | CORE | INFO | (pkg/collector/worker/check_logger.go:56 in CheckFinished) | check:load | Done running check 2022-05-27 19:28:09 UTC | CORE | INFO | (pkg/collector/worker/check_logger.go:37 in CheckStarted) | check:disk | Running check... 2022-05-27 19:28:09 UTC | CORE | INFO | (pkg/collector/worker/check_logger.go:56 in CheckFinished) | check:disk | Done running check 2022-05-27 19:28:14 UTC | CORE | INFO | (pkg/collector/worker/check_logger.go:37 in CheckStarted) | check:uptime | Running check... 2022-05-27 19:28:14 UTC | CORE | INFO | (pkg/collector/worker/check_logger.go:56 in CheckFinished) | check:uptime | Done running check 2022-05-27 19:28:15 UTC | CORE | INFO | (pkg/collector/worker/check_logger.go:37 in CheckStarted) | check:memory | Running check... 2022-05-27 19:28:15 UTC | CORE | INFO | (pkg/collector/worker/check_logger.go:56 in CheckFinished) | check:memory | Done running check `
gitroli commented 2 years ago

Here is only the kiosk (balenablock browser) filtered:

gitroli commented 2 years ago

kiosk Starting Chromium with flags: --disable-features=TranslateUI,--disable-component-extensions-with-background-pages,--disable-background-networking,--disable-sync,--metrics-recording-only,--disable-default-apps,--no-default-browser-check,--no-first-run,--disable-backgrounding-occluded-windows,--disable-renderer-backgrounding,--disable-background-timer-throttling,--force-fieldtrials=*BackgroundTracing/default/,--window-size=1920,1080,--window-position=0,0,--autoplay-policy=no-user-gesture-required,--noerrdialogs,--disable-session-crashed-bubble,--check-for-update-interval=31536000,--disable-dev-shm-usage,--enable-zero-copy,--num-raster-threads=4,--ignore-gpu-blacklist,--enable-gpu-rasterization,--user-data-dir=/data/chromium kiosk Displaying URL: --app= http://google.at kiosk (node:385) UnhandledPromiseRejectionWarning: Error: connect ECONNREFUSED 127.0.0.1:35173 kiosk at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1144:16) kiosk (node:385) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) kiosk (node:385) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

ghost commented 2 years ago

I'm not a JavaScript expert, but it appears as if the browser is running into an unhandled exception: UnhandledPromiseRejectionWarning: Error: connect ECONNREFUSED 127.0.0.1:35173

Have you tried setting the LAUNCH_URL variable to nothing, so that it will attempt to display the default html page?

gitroli commented 2 years ago

It seems the issue is known: https://github.com/balena-os/meta-balena/issues/2319

gitroli commented 2 years ago

And here: https://github.com/balenablocks/browser/issues/77

gitroli commented 2 years ago

but I find no solution

ghost commented 2 years ago

Is there any particular reason you need to use such an outdated OS? The latest version is 2.98.11!

gitroli commented 2 years ago

yes I am using 2.98.11, it is not working with this version, chromium is only working when balena OS <= 2.85

ghost commented 2 years ago

We had a similar problem to you, try changing setting "vc4-fkms-v3d" instead of "vc4-kms-v3d" in your device's dt_overlay configuration.

This has helped me. I was having a black screen and changed the dt_overlay and now it works for me on the latest stable balenaOS.

gitroli commented 2 years ago

I tried this already, but it didnt help.

beeb commented 2 years ago

I tried this already, but it didnt help.

In the past, I had issues with the browser when another container on my device was trying to use udev for USB access. Do you have other containers with UDEV=on?

gitroli commented 2 years ago

No

gitroli commented 2 years ago

I think this is the problem: It seems the issue is known: https://github.com/balena-os/meta-balena/issues/2319