-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Supporting Qt 6 #5395
Comments
Apparently the Qt 6 release is going to be "essential" Qt modules only, i.e. not QtWebEngine. That will then be part of Qt 6.1. Instead, the underlying Chromium will be upgraded for Qt 5.15 patch releases, though it's unclear whether those will be commercial-only at the point Qt 6.0 is released... If Qt 6.1 is following the usual schedule, that'd be around May/June 2021. Probably doesn't make much sense for qutebrowser to start migrating things long before that. On the positive side, that buys us some time for all the other things that should be done for a v2.0.0 release. |
FWIW the initial QtWebEngine API review is out now: https://codereview.qt-project.org/c/qt/qtwebengine/+/312867 |
A clarification on the timeline for QtWebEngine:
Judging from the 5.14 release, that'd mean between May/June 2021 (6.1) and December 2021/January 2022 (6.2). Still plenty of time until then... Still no details (as far as I can tell) on what the independent release means for e.g. PyQt (and thus qutebrowser) exactly. |
From a Qt Development mailinglist mail today:
|
There's finally some more official communication around this now: https://www.qt.io/blog/add-on-support-in-qt-6.0-and-beyond |
Nothing left here for v2.0.0 - I've done some trivial changes; the enums change (#5904) needs bigger changes to the mypy stubs first and won't be in v2.0.0. |
QtWebEngine API review: https://codereview.qt-project.org/c/qt/qtwebengine/+/356324 Notable changes I can see:
|
Well, looks like a It barely works though, I spent an hour or so just to get it to the point where it wouldn't crash outright. There are some issues with PyQt6 I noticed, so it's full of hacks, and probably slightly insecure too (URL passwords will get logged/exposed where they weren't before). Definitely requires a lot more work to be fully usable, and of course it will also need to stay compatible with Qt 5... Either way unfortunately a lot of changes are required to make things work with the new enum scoping and imports. Even for a quick and dirty hack, it's around 2000 changed lines. Thus, lots of PRs will conflict... I plan to take a look at some low-hanging fruit before starting to work on Qt 6 support in |
There's some more progress in the
|
New features in Qt 6+ |
This comment was marked as outdated.
This comment was marked as outdated.
I see someone™ has reported the serialization issue to PyQt and it was resolved - relevant changelog entry:
Makes me wonder if there is some kind of workaround we could do, but guess not... I've also worked a bit more on the
|
This comment was marked as outdated.
This comment was marked as outdated.
Note to self: <saro> The-Compiler is it expected edit: [QTBUG-103372] [REG 6.2 -> 6.3] QT_QUICK_BACKEND=software segfaults with QtWebEngine in QSGSoftwareRenderableNode::update - Qt Bug Tracker and 9a6ce83 - cc @saro |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
@tinywrkb I just pushed another fix, could you give it a spin? Fingers crossed that it will work this time around.... Also, quick status update: |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
No problem! I took the liberty to publish beta builds with PyQt6 through the flathub-beta repo. The beta branch uses the same app-id as the stable channel (master branch), so the warning about data dir applies here. No automated "nightly" rebuilds yet, this is being updated manually. I'll try writing a GitHub workflow for this. Adding the flathub-beta remote and installing from the beta branch can be done through an application manager (Gnome Software, Discover, ...) or via the command-line.
|
You could either use |
Overriding |
Another quick status update:
@tinywrkb See #4102 re some ideas about having multiple named data profiles. Probably an argument (and/or envvar) would be a good idea to have, once that exists. |
This has a lot of important historic information which I'd rather not hide, but it's still a lot of stuff in this issue now. Thus, let's continue in #7202 where I tried to summarize everything that seemed still relevant. |
Continued in #7202, most of the information below is purely historical.
The next Qt release after 5.15 will be Qt 6. The initial schedule plans for a release 2020-12-01, with feature freeze on 2020-08-31.QtWebEngine is coming back with Qt 6.2. Release schedule:
Links:
API changes
Probably going to be a bunch, but rather small changes... The plan for qutebrowser is to stay compatible with Qt 5 for a while, while gaining compatibility with Qt 6.
API review follow ups
Interesting non-API changes
Planned changes in PyQt
PyQt5
->PyQt6
rename (see Add wrapper modules for PyQt #995)enum_value(QWebEnginePage, 'FindFlag', 'FindBackward')
wrapper, we'll need to drop older versions at that point (Dropping support for Qt < 5.12 (affects Debian Stretch/Buster, Ubuntu 18.04) #3839) - split off to Rewrite enum access for scoped PyQt enums #5904.More from the website:
Changes which probably didn't make it
The text was updated successfully, but these errors were encountered: