EliasStar / DashD

Lightweight daemon for Raspberry Pi driven kiosks
GNU General Public License v3.0
2 stars 0 forks source link

Blank screen on webkit2gtk-4.0 versions above 2.32 #9

Closed mishoboss closed 1 year ago

mishoboss commented 2 years ago

Description When running it I get a blank screen and this error on the terminal: Overriding existing handler for signal 10. Set JSC_SIGNAL_FOR_GC if you want WebKit to use a different signal

This error seems to be a because of a bug in webkit2gtk-4.0 versions above 2.32. The current version is 2.36.3.

I tried to understand how to workaround it and got here - a fix in Wails for exactly this issue: https://github.com/wailsapp/wails/commit/e0155174ca67f5ea307850cbbdeb7dbc69888f4d

And here is the thread: https://github.com/wailsapp/wails/issues/658

How To Reproduce apt-get install webkit2gtk-4.0 (install latest version, e.g. currently that is 2.36.3-1)

Expected Behavior Show the webpage

Actual Behavior Blank screen

mishoboss commented 2 years ago

Hey Elias, any info on this one?

EliasStar commented 2 years ago

Sorry for the late reply. I've been really busy the last few weeks.

The warning just says that a handler for SIGUSR1 was overridden, which WebKit uses internally for threading (I think). I also get this warning on my install. The wails issue you linked might have the same symptoms you experience however the pull request just adds a polyfill for some global JS object. DashD has no JS-Go interop. It just launches WebKit and tells it the URL to show.

Your best bet would be to check if you can open for ex. http://www.example.com/ first via the web interface and then using --default_url="http://www.example.com/". If that works the issue must lie with whatever website you were trying to show.

mishoboss commented 2 years ago

Hey Elias, sorry for bugging you on this, but I'm still totally unable to use it. I try to load a web page via arg and via HTTP API, both unsuccessful and don't resolve the described issue.

Several months passed, did you have chance to take a proper look?

EliasStar commented 1 year ago

I was finally able to reproduce the issue with my setup. Going to replace the shady Webview library. Don't know as of yet, if this will result in feature removals, but trying not to.

EliasStar commented 1 year ago

Good news, I've reimplemented the display module for Chromium based browsers!

The installation requirements changed a bit, so I'd recommend taking a closer look at the updated README. There I use Chromium directly, however you can also use Chrome or any other browser supporting the Chromium Devtools Protocol. The location of the browser executable can be customized with a flag.

Also I've added the ability to reposition the window over HTTP in addition to the existing resizing endpoint.