Author Topic: Qt6 Development  (Read 210807 times)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #495 on: January 21, 2023, 09:18:17 am »
I hacked around the above error - but had to undo the hack a bit later in the build - seems running some commands is OK with that subprocess.py, others aren't - weird..

Anyhow, got a bit further, but now get:
Code: [Select]
[1163/16527] ACTION //third_party/devtools-frontend/src/inspector_overlay:build_inspector_overlay(//build/toolchain/os2:x86)
FAILED: resources/inspector_overlay/main.js
C:/USR/BIN/python3 ../../../../../src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py main.js 67000 --input_path gen/third_party/devtools-frontend/src/inspector_overlay --output_path resources/inspector_overlay --rollup_plugin ../../../../../src/3rdparty/chromium/third_party/devtools-frontend/src/inspector_overlay/loadCSS.rollup.js
Usage: ../../../../../src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py filename_1 max_size_1 filename_2 max_size_2 ... filename_N max_size_N --input_path <input_path> --output_path <output_path>
Traceback (most recent call last):
  File "U:/dev/qt6-webengine-os2-6.3.x/build/src/core/Release/i386/../../../../../src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py", line 92, in <module>
    sys.exit(main(sys.argv))
  File "U:/dev/qt6-webengine-os2-6.3.x/build/src/core/Release/i386/../../../../../src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py", line 77, in main
    rollup(input_path, output_path, filename, max_size,
  File "U:/dev/qt6-webengine-os2-6.3.x/build/src/core/Release/i386/../../../../../src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py", line 52, in rollup
    raise Exception("rollup failed: " + error)
Exception: rollup failed:
gen/third_party/devtools-frontend/src/inspector_overlay/main.js \u2192 stdout...

I'm *hoping* this is because my node.exe is still v10; and the minimum required version is v12 ;)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #496 on: January 21, 2023, 10:00:48 am »

Mike Kölling

  • Full Member
  • ***
  • Posts: 130
  • Karma: +6/-0
    • View Profile
Re: Qt6
« Reply #497 on: January 21, 2023, 02:05:58 pm »
Not tested...  but https://smedley.id.au/tmp/dooble-2023.01.18-os2-qt6-20230121.zip for *qt6*

Hi Paul,

Dooble-QT6 starts here. I can key in "www.os2world.com", the page is coming up, I can see that some "google" things are loaded in the lower left corner and then Dooble-QT6 disappears. No popup.log or other indication what has gone wrong.

Greetings from Potsdam,
Mike

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4710
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Qt6
« Reply #498 on: January 21, 2023, 02:22:10 pm »
Hi

I still can not render any page on Dooble Qt6 on my ArcaOS VM. Dooble for Qt5 works as expected.

Quote
Tried:
- Qt6 libs - https://www.dropbox.com/s/j8ybbujncktdf22/qt6-6.2.4-os2-20230108.zip?dl=0
- Qt6Webee - https://smedley.id.au/tmp/qt6webee-20230115.zip
- Dooble   -  https://smedley.id.au/tmp/dooble-2023.01.18-os2-qt6-20230121.zip
Procedure
- VIRTUALADDRESSLIMIT=2560 on Config.sys
- Deleted .doodle on Home
First:
 highmem -c qt6*dll
Then:
 set HOME=C:\home2
 set EXCEPTQ=ZZ
 set PATH=C:\qt6\bin;%PATH%
 set BEGINLIBPATH=c:\qt6\lib
 dooble --disable-gpu

Dooble loads (with the usual logo shfit and meny shift) and console shows:
Quote
[C:\HOME\DESKTOP\DOOBLE-2023.01.18-OS2-QT6-20230121]dooble --disable-gpu
qt.webenginecontext: WebEngine compiled with no opengl enabled.
QQuickWidget is only supported on OpenGL. Use QQuickWindow::setGraphicsApi() to
override the default.
[103:6:0121/081436.106000:ERROR:nss_util.cc(177)] Error initializing NSS with a
persistent database (sql:C:\home2\.pki\nssdb): NSS error code: -8174

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #499 on: January 21, 2023, 09:36:45 pm »
Hi MIke,
Not tested...  but https://smedley.id.au/tmp/dooble-2023.01.18-os2-qt6-20230121.zip for *qt6*

Hi Paul,

Dooble-QT6 starts here. I can key in "www.os2world.com", the page is coming up, I can see that some "google" things are loaded in the lower left corner and then Dooble-QT6 disappears. No popup.log or other indication what has gone wrong.

Try:
Code: [Select]
set QTWEBENGINE_CHROMIUM_FLAGS="ignore-certificate-errors -ignore-ssl-errors -log-level=1"
Before starting Dooble....

roberto

  • Hero Member
  • *****
  • Posts: 810
  • Karma: +3/-6
    • View Profile
Re: Qt6
« Reply #500 on: January 21, 2023, 10:12:39 pm »
-Paul
I find it hard to follow your pace of news, encourage.
This last version of Dooble, in this version the pages are loaded from the first window.
21/01/23  9:54      7.178.338      0 a---  dooble.exe
13/01/23  8:41    257.356.880     43 a---  Qt6WebEe.dll
, seems a bit more stable than the
8/01/23  5:59      3.886.850  6.001 a---  dooble.exe
13/01/23  8:41    257.356.880     43 a---  Qt6WebEe.dll
version. But they work very similar to me, almost the same. Maybe this (21/01/23) last slower, in the opening of the first 4 windows. Then equally speed.
I can open many websites known in OS2, without problems. More that 10.
The Os2world website always closes the browser, and others similar. When this occurs the page shows me the error this 2 times in one web site:
Code: [Select]
QQuickWidget is only supported on OpenGL. Use QQuickWindow::setGraphicsApi() to
override the default.
QQuickWidget is only supported on OpenGL. Use QQuickWindow::setGraphicsApi() to
override the default.
If this error only occurs once, do not close the dooble.exe

I am running with
set EXCEPTQ=ZZ     
dooble.exe  (without any more)
without:
REM set QTWEBENGINE_CHROMIUM_FLAGS="ignore-certificate-errors -ignore-ssl-errors -log-level=1"

Saludos

roberto

  • Hero Member
  • *****
  • Posts: 810
  • Karma: +3/-6
    • View Profile
Re: Qt6
« Reply #501 on: January 21, 2023, 10:32:19 pm »
-Martin
I am maintaining my profile /home/.doble, without problems.
But if I have observed that when closing the dooble, the dll qt6webee.dll is still open and requires unlock qt6webee.dll. Especially when copying attention to when you copied a new version on top of the previous one. Restarting the entire system also helps.

In your particular case I think you are under Memori.
Try to do this and tell me how it run:
Virtualaddrreslimit = 1536
Restart the system
Create a Disk RAM with 512MB HPFS, and PUT the swapper in that newly created unit, IN ROOT X:\ SWAPPERXXX.
Restart Again
Now virtualaddresslimit = 3072
Restart and test dooble.
I understand that you have 4GB installed.

And ONLY if you want to experiment
Memlimit.exe to 4095

It is possible that the wpshell made strange things, if you do it, you close it instantaneous and restart, here all good.
saludos

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4710
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Qt6
« Reply #502 on: January 21, 2023, 11:02:45 pm »
Hi.

Sorry for the "almost" off topic. KO Myung-Hun posted on the Qt5 port Github that he needs Qt5Quick, Qt5QuickWidgets and Qt5QuickControls2 for the VLC ports. I don't know what are those for, but maybe it will be good to evaluate if they can fit on the Qt6 port on the future, because of the importance of VLC.

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4786
  • Karma: +99/-1
    • View Profile
Re: Qt6
« Reply #503 on: January 22, 2023, 12:56:41 am »
Hi Paul, latest seems to work much the same as previous. Needed to import the blocklist (new profile) to load os2world.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #504 on: January 22, 2023, 01:27:52 am »
Hey Martin,
I still can not render any page on Dooble Qt6 on my ArcaOS VM. Dooble for Qt5 works as expected.

FWIW I see this on one of my VM's - when I get a moment,I'll try work out wtf is going on.

Cheers,

Paul

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #505 on: January 22, 2023, 01:29:44 am »
Hi Martin,

Sorry for the "almost" off topic. KO Myung-Hun posted on the Qt5 port Github that he needs Qt5Quick, Qt5QuickWidgets and Qt5QuickControls2 for the VLC ports. I don't know what are those for, but maybe it will be good to evaluate if they can fit on the Qt6 port on the future, because of the importance of VLC.

From \qt6\lib:
Qt6QuickControls2_dll.a
Qt6QuickWidgets_dll.a
Qt6Quick_dll.a

These are already present in the Qt6 port.

Cheers,

Paul

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #506 on: January 22, 2023, 01:57:18 am »
Hi Paul, latest seems to work much the same as previous. Needed to import the blocklist (new profile) to load os2world.

I'd expect that - I only rebuilt as there were a couple of changes requested in the dooble githib by OS/2 users :)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #507 on: January 22, 2023, 03:03:01 am »
Hey all,

I'm *hoping* this is because my node.exe is still v10; and the minimum required version is v12 ;)

The good news:
Code: [Select]
{0}[c:\usr\local\bin] node --version
v12.22.12

The bad news:
The rollup error is still the same

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #508 on: January 22, 2023, 05:57:39 am »
Window geometry is definitely screwed up in Qt6....

Given the example rasterwindow - https://github.com/psmedley/qt6-base-os2/tree/main/examples/gui/rasterwindow

At https://github.com/psmedley/qt6-base-os2/blob/main/examples/gui/rasterwindow/rasterwindow.cpp#L58 it opens a window at coordinate 100,100 - which should be of size 300x200

I added a call:
Code: [Select]
    qInfo() << "Width: " << width() << "Height: " << height(); at https://github.com/psmedley/qt6-base-os2/blob/main/examples/gui/rasterwindow/rasterwindow.cpp#L113 to tell me the current height and width of the window.

On first run, it tells me:
Code: [Select]
Width:  240 Height:  160
Pretty sure the problem is somewhere in https://github.com/psmedley/qt6-base-os2/blob/main/src/plugins/platforms/os2/qos2window.cpp but it's not immediately clear what needs to change between Qt5 and Qt6....

Edit: interesting - qos2window knows the correct resolution, qt doesn't... Example after enabling loggin:
Code: [Select]
qt.qpa.events: QOS2Window(0x20046880,80000181,80000195,QRect(100,100 696x488),RasterWindow(0x12ff20)) QRect(0,0 696x488) isExposed() true window()->isVisible() true
qt.qpa.backingstore: QRegion(0,0 696x488) hasAlpha false
Width:  557 Height:  390

so Qt consistently thinks the window is  20% smaller than it actually is....
« Last Edit: January 22, 2023, 06:46:48 am by Paul Smedley »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #509 on: January 22, 2023, 08:41:52 am »
Commit to follow, but a new qos2.dll seems to address the menu issues - https://smedley.id.au/tmp/qt6-6.2.4-qos2-20230122.zip - drop this DLL into \qt6\lib\plugins\platforms

Short story - QScreen on OS/2 reported it was 120dpi; Qt defaults to 96 dpi - so Qt was applying a 'scaling' factor of 120/96 = 1.25 to some things....
« Last Edit: January 22, 2023, 09:50:16 am by Paul Smedley »