Author Topic: Qt6 Development  (Read 210778 times)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #180 on: December 01, 2022, 09:44:28 am »
Thanks Jochen - will try investigate over the weekend. It's going to be a warm one, so a good time to be inside under the aircon :)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #181 on: December 02, 2022, 08:47:39 am »
Small update. I got Qt::Quick (which is part of QtDeclarative) built. Updated binaries are at: https://smedley.id.au/tmp/qt6-6.2.4-os2-20221202.zip

This allowed me to get a little further with configuration of QtWebEnginer - and I've now made the first commit of patches to https://github.com/psmedley/qt6-webengine-os2

Note 1: There are still a bunch of rejected patches to be worked through
Note 2: Until NodeJS >= 10.19 is built, the QtWebEngine won't get built.

I've started looking at Nodejs, but the make is failing with:
Code: [Select]
../deps/v8/src/base/bits.cc:121:1: fatal error: opening dependency file U:/dev/node-v10.19.0/out/Release/.deps/U:/dev/node-v10.19.0/out/Release/obj.host/v8_libbase/deps/v8/src/base/bits.o.d.raw: No such file or directory

Clearly an issue with the determination of relative paths on OS/2, but I haven't yet been able to find the .py file that does this.

Not sure how I'll go this weekend, as I tested positive to covid this morning :(
« Last Edit: December 02, 2022, 09:23:04 pm by Paul Smedley »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #182 on: December 02, 2022, 08:58:35 am »
Re: nodejs - I created https://github.com/psmedley/node-os2

I think the problems are in either:
https://github.com/psmedley/node-os2/blob/main/lib/url.js or
https://github.com/psmedley/node-os2/blob/main/tools/gyp/pylib/gyp/generator/make.py

but I could be wrong ;)

edit: I hand modified paths in out/makefile to remove the drive letters and the build got further....
« Last Edit: December 02, 2022, 09:11:36 am by Paul Smedley »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #183 on: December 03, 2022, 06:53:24 am »
A couple of teasing screenshots....

Need to fix plugins before I release an alpha....

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #184 on: December 03, 2022, 10:03:59 pm »
As promised.... https://smedley.id.au/tmp/scribus-1.7.0svn-os2-qt6-20221204.zip

Note: there are some messages from the console I need to investigate:
Code: [Select]
Broken filename passed to function
QProcessPrivate::createPipe: DosOpen(\pipe\Qt5\00008047\QProcess\0x1dfb50\Stdin)
 returned 231
Broken filename passed to function
Broken filename passed to function
Broken filename passed to function
Error loading plugin
dlopen rc=2 extra=PYTHON38
Error loading plugin
dlopen rc=2 extra=PYTHON38
pathForIcon: Unable to load icon /scribus/share/scribus/icons/1_5_1/lab.png: File not found
pathForIcon: Unable to load icon /scribus/share/scribus/icons/1_5_1/spot.png: File not found
pathForIcon: Unable to load icon /scribus/share/scribus/icons/1_5_1/register.png: File not found
QPixmap::setMask() mask size differs from pixmap size

There are also issues with screen corruption when resizing windows - I haven't noticed this with other Qt6 apps, so this may be due to some hacks I had to make to Cairo 1.14 compiling. I'll investigate in due course.

The python38 messages are from scriptpl - I'll try and fix this to use the bww python39

Feedback appreciated so I know I'm not wasting my time on this.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #185 on: December 03, 2022, 11:43:49 pm »
Tea editor - https://smedley.id.au/tmp/tea-qt-62.0.2-os2-qt6-20221204.zip

The intent of some of these ports like Qt Creator, Scribus and Tea are to help identify bugs in the Qt6 framework. If people don't test and provide feedback, then bugs won't get fixed.

Not directed at the few people who have commented in this thread on things - Jochen, David, Dave and Elbert off the top of my covid infected brain.
« Last Edit: December 03, 2022, 11:46:06 pm by Paul Smedley »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #186 on: December 03, 2022, 11:50:05 pm »
There are definitely some warts in Tea with the file open dialogs and drive letter support.... This might be related to the qt-creator issues Jochen mentioned

David McKenna

  • Hero Member
  • *****
  • Posts: 742
  • Karma: +24/-0
    • View Profile
Re: Qt6
« Reply #187 on: December 04, 2022, 12:23:23 am »
Hi Paul,

  Thanks for the ports! I tried scribus and get the same messages you do at startup - maybe a packaging issue? It seems to want icons in /scribus/share/scribus/icons/1_5_1 which doesn't exist. I also get a lot of missing icon errors when testing. There is a prefernce setting under 'user interface' where 1.5.1 is a choice, but changing it only brings more messages.

  The biggest problem I have with it is I can't choose anything in the 'C:' drive in any dialog - it always comes up blank. Any other drive is fully populated. Of course 'C:' is where everything I need is (and is the unixroot). So I can't set scribus up to use anything on 'C:'.

  The splash screen is oddly truncated at the top and right, as are all menu item dropdowns (similar to what I saw in focuswriter). Also drop down box dialogs are offset also like in focuswriter.

  I tried basic functions like adding text frames, image frames, render frames and some free-hand drawing and they all worked, but can't choose anything on 'C:'  to put in some of them. Typing and drawing seem to work fine.

 It's a great start - hope to see it progress!

  BTW - I finally figured out where the focuswriter conf file was (/Home/.config/GottCode) and deleted it, then Focuswriter would start. Themes and symbols now work, but if I choose 'typing sounds' in settings, it crashes and will not start again until I delete the conf file. So the 'typing sounds' setting is what was causing my crash.

  I'll keep testing...

Regards,

  P.S. - hope you get over the covid quickly - I had it about 2 months ago and was bedridden for 3 days and out of it for a week after that... take care of yourself!

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #188 on: December 04, 2022, 01:31:04 am »
Hey David,

I've seen the same thing as what you see with the 'C:' drive dialog except in my case it's the 'U:' drive where I'm running things from...

That one is definitely a qt6base issue as I see similar things in Tea.

I see the same with the splashscreen and the menu item dropdowns...

Covid is relatively mild so far, mild fever/chills, sore throat, body aches and coughing. Tested positive Friday morning, so on day 3 now. Can't think about anything too complex, but I can do simple things :)

Cheers,

Paul
« Last Edit: December 04, 2022, 01:39:06 am by Paul Smedley »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #189 on: December 04, 2022, 03:09:39 am »
https://smedley.id.au/tmp/qt6core-20221204.zip has an updated qt6core.dll that seems to fix the issues navigating drives that are the same drive the app is bring run from....

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4786
  • Karma: +99/-1
    • View Profile
Re: Qt6
« Reply #190 on: December 04, 2022, 05:10:19 am »
There are also issues with screen corruption when resizing windows - I haven't noticed this with other Qt6 apps, so this may be due to some hacks I had to make to Cairo 1.14 compiling. I'll investigate in due course.

The last time I tried updating Cairo, something was broken, I forget what now and testing, it seems OK. Actually the system Cairo has some brokenness and IIRC, the update made it more obvious.
You can test by replacing the system Cairo by putting your Cairo and Pixman ahead in LIBPATH and trying a Mozilla app and/or a Cairo screensaver module.
Here's the patch I created for git head some time back (1.17.3pre). Pixman shouldn't need any patches, the Cairo build will break when it gets to the scripting stuff due to conflicting header names but make install will install everything needed by the OS/2 surface backend IIRC. I didn't bother with the OS/2 printing surface as GDI printing became broken anyways.
Now Cairo has a new maintainer after years of none and he dropped all the experimental backends including OS/2 to concentrate on GTK's needs.
Edit: added txt to the patch to post it.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #191 on: December 04, 2022, 05:26:10 am »
Thank! Building Cairo 1.16.0 now with this patch, and will see if it fixes scribus...

Also created https://github.com/psmedley/cairo-os2

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #192 on: December 04, 2022, 06:17:18 am »
Updated cairo helped fix screen redraws in Scribus - I'm refreshing the zip...

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #193 on: December 04, 2022, 08:00:18 am »
Updated qt6 package includes all OS/2 fixes and also QtTranslations - https://smedley.id.au/tmp/qt6-6.2.4-os2-20221204.zip

David McKenna

  • Hero Member
  • *****
  • Posts: 742
  • Karma: +24/-0
    • View Profile
Re: Qt6
« Reply #194 on: December 04, 2022, 03:58:04 pm »
Hey Paul,

  Thanks for the update! The directories /modules, /phrasebooks, /plugins, /qml, and /translations are all empty in this archive... are they supposed to be?

Regards,