GithubHelp home page GithubHelp logo

Comments (13)

alandmoore avatar alandmoore commented on July 19, 2024 1

About Raspbian, since I have spent a couple of days for cross-compiling, do you know a way to tell Python to look at that folder for PyQT5, without compiling again?

Sorry, I really don't know.

(I'm on Raspberry Pi Zero)

I have serious doubts that QtWebEngine would ever be usable on a Pi Zero.

from admbrowser.

stroobandt avatar stroobandt commented on July 19, 2024 1

About a year ago, there was an interesting discussion about the availability of QTWebEngine over at the Raspberry Pi forum.

From the looks of it, it might be that one can get luckier with the 64-bit version of Raspberry Pi OS. Only Raspberry Pi 3 and higher can run 64-bit operating systems.

Shortly, I will try out 64-bit Ubuntu Server 22.04.1 LTS on a Raspberry Pi 3B and report back here. Ubuntu is based on Debian Testing and therefore "fresher."

from admbrowser.

alandmoore avatar alandmoore commented on July 19, 2024

You need to also install the package python3-pyqt5.qtwebengine. Unfortunately, raspbian does not ship this package for some reason. I believe there was some problem packaging this.

You might be able to pip install them from the repository at piwheels.org. I have not had a chance to try this. If you can get it working, please contribute a description of the process to the README.

from admbrowser.

smartm0use avatar smartm0use commented on July 19, 2024

You need to also install the package python3-pyqt5.qtwebengine. Unfortunately, raspbian does not ship this package for some reason. I believe there was some problem packaging this.

Yes, you are right, according to this answer it hasn't been released yet for Raspbian.

You might be able to pip install them from the repository at piwheels.org. I have not had a chance to try this.

Even doing pip install PyQtWebEngine doesn't work:

Could not find a version that satisfies the requirement PyQtWebEngine
(from versions: )
No matching distribution found for PyQtWebEngine

If you can get it working, please contribute a description of the process to the README.

In the next days I will try something like this or this. I will keep you updated.
Thank you.

PS: is PyQt5 v.5.5 or higher mandatory or could I (try to) install PyQt5 v5.12.x or higher? Latest version seems to be PyQt5 5.13.2 (released almost a month ago).

from admbrowser.

alandmoore avatar alandmoore commented on July 19, 2024

@smartm0use I don't recall why 5.5 was required, it probably has to do with method calls on QWebEngine components that didn't exist prior. 5.12 or 5.13 should work fine, since they are later releases.

As for the main bug, I have attempted to get ADMBrowser running on a Pi using the arm64 build of Ubuntu, but I ran into problems running any kind of pyqt application (it would segfault as soon as I created a QApplication instance.

My next attempt will be with Ubuntu Mate's armhf build. There was a suggestion on a forum that you could install Debian's armhf packages on Raspbian, and I believe they have a build of QWebEngine.

Apparently the reason qtwebengine is not supported on Raspbian is due to some armv7 dependencies which would limit it to Pi 3 units or later. Raspbian excludes packages that won't run on older Pi models.

from admbrowser.

alandmoore avatar alandmoore commented on July 19, 2024

So the good news is that I was able to get admbrowser running on Ubuntu-Mate 18.04 using the armhf image available on ubuntu-mate.org. You need to pip install dataclasses since UM18.04 ships with Python 3.6.x.

The bad news is that it segfaults at the drop of a hat (or more to the point, whenever I click any hyperlinks). So it's pretty much useless unless you just want to use it for digital signage or some other situation where navigation doesn't occur.

Perhaps it might work better on a Pi 4, I don't really know. I would certainly be interested in a configuration that worked solidly on any model of Pi so I could retire my WCGBrowser builds that I currently run in production.

from admbrowser.

alandmoore avatar alandmoore commented on July 19, 2024

Adding to the list of distros that won't work, I tried FedBerry today (armv7 / armhfp port of Fedora 27). It ships qtwebengine, but trying to show a QWebEngineView widget results in a SEGV_MAPERR.

I'm beginning to think nobody ships a usable implementation of QWebengine on the Pi.

from admbrowser.

smartm0use avatar smartm0use commented on July 19, 2024

In the next days I will try something like this or this. I will keep you updated.

The second one didn't work.
With the first procedure, I have done all the compilation but now I have the library in this path: usr/local/qt5pi and ADMBrowser can't find it. How to make Python to look there?

from admbrowser.

alandmoore avatar alandmoore commented on July 19, 2024

I would imagine you'd have to compile PyQt5 with some kind of flag pointing to your qt5pi, but I can't say for sure.

from admbrowser.

alandmoore avatar alandmoore commented on July 19, 2024

I have managed to get ADMBrowser to work successfully and reasonably stably on OpenSuse Leap 15.1 for the raspberry pi, which you can download here: http://download.opensuse.org/ports/aarch64/distribution/leap/15.1/appliances/

It is quite slow, but maybe with some config tweaking that can be address (RAM split adjustment, maybe?).

This gives me hope that other ARM64 distros may work OK once support for the platform becomes more widespread.

I will continue to investigate as time allows, and update the README when I have some firm answers.

from admbrowser.

alandmoore avatar alandmoore commented on July 19, 2024

Another semi-success, i upgraded Ubuntu MATE (armhf) to 20.04 (focal) beta. The browser launches and does not segfault, but is agonizingly slow on a 3B+ (more so than openSuse, I think). I'm going to try to acquire a Pi 4 with 4GB to see if it works acceptably.

from admbrowser.

smartm0use avatar smartm0use commented on July 19, 2024

I would imagine you'd have to compile PyQt5 with some kind of flag pointing to your qt5pi, but I can't say for sure.

About Raspbian, since I have spent a couple of days for cross-compiling, do you know a way to tell Python to look at that folder for PyQT5, without compiling again?
(I'm on Raspberry Pi Zero)

Thank you for your tests with different distros, I think in my case (Pi Zero) your results would be worse due the single-core CPU and 512MB of RAM...

from admbrowser.

alandmoore avatar alandmoore commented on July 19, 2024

Hey all, I'm going to close this issue. Compatibility with a particular platform is a problem for Qt and Python, not really for this project. Hopefully the RPi community will work out its issues with QtWebEngine.

from admbrowser.

Related Issues (20)

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.