Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add recipe for QtWebEngine #2512

Open
kenmays opened this issue Apr 30, 2018 · 28 comments
Open

Add recipe for QtWebEngine #2512

kenmays opened this issue Apr 30, 2018 · 28 comments

Comments

@kenmays
Copy link
Contributor

@kenmays kenmays commented Apr 30, 2018

The Qt WebEngine add-on module provides classes and functions for embedding web content in applications and providing Chromium's fast moving web capabilities into Qt.

URL: https://wiki.qt.io/QtWebEngine
Docs: http://doc.qt.io/qt-5/qtwebengine-index.html

@pulkomandy
Copy link
Member

@pulkomandy pulkomandy commented Apr 30, 2018

@kenmays
Copy link
Contributor Author

@kenmays kenmays commented May 17, 2018

@fbrosson
Copy link
Member

@fbrosson fbrosson commented May 17, 2018

Cool, it looks like you did the most difficult part: port qtwebengine to Haiku! This is great news!

Would you like to try and write a recipe for it?
I'm a bit busy at the moment, otherwise I would have started writing a recipe and opened a PR with a commit ending with Co-authored-by: followed by your users.noreply.github.com GitHub e-mail address :)

@kenmays
Copy link
Contributor Author

@kenmays kenmays commented May 17, 2018

@fbrosson - I've added the Falkon 3.0.1 and Qt WebEngine 5.10.1 recipe and patches to get things started. Everything here should get the ball rolling rather quickly. Asking for further Haikuport dev help to review the recipes to perfection).

@extrowerk
Copy link
Member

@extrowerk extrowerk commented May 17, 2018

@kenmays : could you please create a pull request with the recipes (one / recipe).
Btw, the qtwebengine patchset looks strange to me, i expected that it requires extensive patching, and you don't even have any Haiku related patch in the patchset. Does it actually builds and works on Haiku?

@kenmays
Copy link
Contributor Author

@kenmays kenmays commented May 17, 2018

Yes, I'm building everything on Haiku. Getting very close but still need a lot of free time. Backing everything up for now. Will work on it more as my time permits. A few dev packages required proper setup for qmake detection (from a clean build system).

NOTE: May work on Haikuports build system without issue.

@extrowerk
Copy link
Member

@extrowerk extrowerk commented May 18, 2018

Does xcursor and xrandr a hard dependency?

@kenmays
Copy link
Contributor Author

@kenmays kenmays commented May 18, 2018

No. Removed them. We'll need to fix a few of the mentioned optional dependencies.

@extrowerk
Copy link
Member

@extrowerk extrowerk commented May 19, 2018

@kenmays : Please, create a recipe, or post your actual patchset, or post at least one screenshot about QtWebEngine on Haiku, because your patchset doesn't apply cleanly and contains no actual Haiku supporting code.

@kenmays
Copy link
Contributor Author

@kenmays kenmays commented May 19, 2018

@extrowerk - I'll post it soon and fix the patchset (it was just to provide others with some patches for their own use). Mentioned earlier I'm doing a complete walkthrough to first fix dependency packages before anyone else goes down this rabbit hole. (The main goal task was to just create the Qt WebEngine recipe.)

@kenmays
Copy link
Contributor Author

@kenmays kenmays commented May 22, 2018

Almost perfected my optional dependencies on Haiku.

@extrowerk
Copy link
Member

@extrowerk extrowerk commented May 22, 2018

Mate... They are mostly optional dependencies.
Your source tree configured and ready to rock, just type make to let the fun begin ;)
Have you tried it already?

@kenmays
Copy link
Contributor Author

@kenmays kenmays commented May 23, 2018

Yes. Tested again with qt-webengine v5.11.0 yesterday. Had to fix my setup after the update to GCC 7. Built and tested ICU 61.1. Time to dive back in and spin the wheel... (patchwork, etc.)

@kenmays
Copy link
Contributor Author

@kenmays kenmays commented Jun 1, 2018

See #2632
Provided initial recipes for Falkon and Qt WebEngine for future work. Closing ticket for now.
Working on WebPositive and Webkit for R1 beta.

@kenmays kenmays closed this Jun 1, 2018
@extrowerk
Copy link
Member

@extrowerk extrowerk commented Jun 5, 2018

Post your patches.

@extrowerk
Copy link
Member

@extrowerk extrowerk commented Sep 8, 2018

@kenmays : how is this relevant? The whole web is a testcase.

@extrowerk
Copy link
Member

@extrowerk extrowerk commented Sep 9, 2018

@kenmays : can you please remove the screenshots too? Thanks.

@KapiX
Copy link
Member

@KapiX KapiX commented Oct 18, 2018

Reposting from the PR so it won't be lost: https://gist.github.com/KapiX/8502596ef66813195cf8d2bec7393cd7 - with this patch QtWebEngine can be built, but will crash immediately.

@kenmays
Copy link
Contributor Author

@kenmays kenmays commented Oct 18, 2018

I've posted qtwebengine-5.11.2 here for review and testing:
https://github.com/kenmays/haikuports/tree/qtwebengine-5.11.2/dev-qt/qtwebengine

It is NOT finished. I'm working on it as my time permits.

@cb88
Copy link
Contributor

@cb88 cb88 commented Oct 27, 2018

Also a dependency for AMD's CodeXL profiler which is MIT licensed and might come in really handy for application developers... https://github.com/GPUOpen-Tools/CodeXL/blob/master/BUILD.md

@kenmays
Copy link
Contributor Author

@kenmays kenmays commented May 15, 2019

Bumped recipe and patchset to QtWebEngine 5.12.3. In testing.

@KapiX
Copy link
Member

@KapiX KapiX commented Jul 7, 2019

I have updated the gist: https://gist.github.com/KapiX/8502596ef66813195cf8d2bec7393cd7

I managed to make Falkon run, but it won't draw anything.

This probably has something to do with the fact that on Linux QtWebEngine is built using Chromium's Ozone layer, but I had to disable it on Haiku because it depends on Linux's libevdev (so much for platform independence...).

I've also tried dumping stuff to files in Chromium code using Skia, but that doesn't work either.

I believe this patchset will also be useful for people wanting to work on Haiku Ozone platform - in theory it's a few classes to implement; in practice, as mentioned above, Ozone depends on Linux libraries, so additional work is needed there.

I'm done with this codebase for the time being. It's a treadmill of patching - 5.13.0 is already out and it updated Chromium from 69 to 73.

@kenmays
Copy link
Contributor Author

@kenmays kenmays commented Aug 11, 2019

After a year of effort, this fixed a lot of smaller issues - but has a lot of 'knobs' to maintain. I'm closing this ticket. libDRM, 3D acceleration, etc are needed/wanted by the Ozone project. This adds a lot of workload to support, maintain, and test. Best to take smaller bites on this one.

@kenmays kenmays closed this Aug 11, 2019
@KapiX
Copy link
Member

@KapiX KapiX commented Aug 11, 2019

Please stop closing issues randomly. I also don't know where did you get that Ozone requires libDRM?

@KapiX KapiX reopened this Aug 11, 2019
@kenmays
Copy link
Contributor Author

@kenmays kenmays commented Aug 11, 2019

I opened this ticket. Feel free to move under yourself if you are handling things further.
See: https://software.intel.com/en-us/blogs/2014/10/23/chromium-ozone-gbm-explained

@KapiX
Copy link
Member

@KapiX KapiX commented Aug 11, 2019

You are not assigned to it as far as I can see so what is the problem? I can't really make myself creator of this ticket.

What you linked is talking about a specific (Wayland GBM) Ozone implementation. There is nothing mandating that another one must be done with OpenGL.

@korli
Copy link
Contributor

@korli korli commented Jan 27, 2021

Just a note, this would be required by Calibre5, and PyQtWebengine.

Update: should obviously be migrated to python3 (upstream still uses python2! https://bugs.chromium.org/p/chromium/issues/detail?id=942720)

@waddlesplash
Copy link
Member

@waddlesplash waddlesplash commented Jan 27, 2021

I think @threedeyes got pretty far with this, but I don't think he ever posted a patch: https://www.youtube.com/watch?v=xsJE9HiJZl4

It would be really nice to have a truly solid browser for Haiku...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Linked pull requests

Successfully merging a pull request may close this issue.

9 participants