Author Topic: Qt6 Application Testing  (Read 40437 times)

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4502
  • Karma: +92/-1
    • View Profile
Re: Qt6 Application Testing
« Reply #180 on: February 27, 2023, 07:34:29 pm »
Hi David, perhaps you made the same mistake I made, forgetting to actually install the new version.
As for VIRTUALADDRESSLIMIT, I even tried a new install of the latest beta, with the default of 1576 or whatever and Youtube worked once, mem /v reported close to 0 high and low shared memory (8 and 32 IIRC), changed VIRTUALADDRESSLIMIT and no more working YouTube.
Actually it seems the pattern is if I boot to a different install, it works once, which is weird, guess I should try a cold boot.
I do wonder about GCC optimizations, they have a habit of being buggy. The Moz apps are way more stable built with -686 and -O2. I note that the whole of Qt5 has -mno-avx and also linked with -Zno-fork. It's a shame it is so hard to build the whole thing to test.
As for the search, once I changed the wiki URL to https://en.wikipedia.org/w/index.php?title=Special:Search&search= it works fine. Needs a way to edit the searches after finishing them.
I have to try Roberto's swap settings.
Also here's the CXXFLAGS Dooble Qt5 is built with,
Code: [Select]
g++ -c -Zomf -march=i686 -mno-avx -O3 -Wall -Warray-bounds=2 -Wcast-align -Wcast-qual -Wdouble-promotion -Werror -Wextra -Wformat-overflow=2 -Wformat-signedness -Wformat-truncation=2 -Wformat=2 -Wlogical-op -Wno-deprecated-copy -Woverloaded-virtual -Wpointer-arith -Wstack-protector -Wstringop-overflow=2 -Wundef -Wzero-as-null-pointer-constant -fstack-protector-all -fwrapv -pedantic -std=c++17 -Wall -Wextra
and LDFLAGS,
Code: [Select]
g++ -Zomf -Zstack 0x2000 -Zhigh-mem -Zlinker "DISABLE 1121" -Zlinker /PM:PM -Zno-fork -o Dooble.exe
Paul should compare them.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 1901
  • Karma: +146/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #181 on: February 27, 2023, 10:15:45 pm »
Also here's the CXXFLAGS Dooble Qt5 is built with,
Code: [Select]
g++ -c -Zomf -march=i686 -mno-avx -O3 -Wall -Warray-bounds=2 -Wcast-align -Wcast-qual -Wdouble-promotion -Werror -Wextra -Wformat-overflow=2 -Wformat-signedness -Wformat-truncation=2 -Wformat=2 -Wlogical-op -Wno-deprecated-copy -Woverloaded-virtual -Wpointer-arith -Wstack-protector -Wstringop-overflow=2 -Wundef -Wzero-as-null-pointer-constant -fstack-protector-all -fwrapv -pedantic -std=c++17 -Wall -Wextra
and LDFLAGS,
Code: [Select]
g++ -Zomf -Zstack 0x2000 -Zhigh-mem -Zlinker "DISABLE 1121" -Zlinker /PM:PM -Zno-fork -o Dooble.exe
Paul should compare them.

Will do this evening. I expect them to be similar, as qmake is used to generate the makefile, and the os2 qmake files are identical between qt5 and qt6. One difference is that I think I used gcc12 for recent builds - are you using rpm gcc?

Paul Smedley

  • Hero Member
  • *****
  • Posts: 1901
  • Karma: +146/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #182 on: February 27, 2023, 10:17:50 pm »
Hi Roberto,
It seems to me that you have not seen or have not understood this message.
This application is working almost perfect, with 2560000 at the Swappph. My problem is that I am not able to start the system with a Swappath of that size. I did it once and it was perfect. If I can easily start it with lower values. And although improvements are seen it is not perfect. With a 2048000 swappath, it improves a lot and is very useful, but fails.
Look at the Linear Memory at theSseus4 At the end of the list(linear usage by process), libraries are loaded in memory in another way, with 2048000.
If someone manages to start it with 2560000 to keep it and comment, because it is not easy to repeat it. At least for me.

Ive read it, but right now have nothing further to add. Right now my energy is going into trying to build QtWebengine 6.3.2 - and also trying to build v6.3.2 of the Qt libraries. This doesn't leave much time for experimenting with Dooble.

Cheers,

Paul.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4502
  • Karma: +92/-1
    • View Profile
Re: Qt6 Application Testing
« Reply #183 on: February 27, 2023, 11:54:55 pm »
Hi Paul, yes, I'm using the RPM GCC.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 1901
  • Karma: +146/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #184 on: February 28, 2023, 01:39:21 am »
Hi Paul, yes, I'm using the RPM GCC.
Cool - I'll try building it with RPM GCC and also check the makeflags..

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4502
  • Karma: +92/-1
    • View Profile
Re: Qt6 Application Testing
« Reply #185 on: February 28, 2023, 02:58:20 am »
I was also thinking of the webengine. Seems the Simplebrowser has the same problems. I'll double check.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 1901
  • Karma: +146/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #186 on: February 28, 2023, 03:36:14 am »
I was also thinking of the webengine. Seems the Simplebrowser has the same problems. I'll double check.
Webengine is already built with rpm gcc....

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4502
  • Karma: +92/-1
    • View Profile
Re: Qt6 Application Testing
« Reply #187 on: February 28, 2023, 04:09:05 am »
Well, the simplebrowser also locked the system, though first try it bitched about some sqlite file and failed to finish displaying YouTube's  home page. After removing its profile and restarting, it complained about not being able to write to the disk,
Code: [Select]
Error:disk_data_allocator.cc(174) DISK:Cannot write to disk, written = -1 FILE_ERROR_FAILEDWeird error.
One thing I wonder about is AVX, looking at libdav1d, I could see where it checked for CPU support of AVX but I didn't see it check for OS support, might well have missed it though.
I also tried Roberto's swap file setting, no change in Dooble's behaviour.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 1901
  • Karma: +146/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #188 on: February 28, 2023, 08:54:38 am »
Also here's the CXXFLAGS Dooble Qt5 is built with,
Code: [Select]
g++ -c -Zomf -march=i686 -mno-avx -O3 -Wall -Warray-bounds=2 -Wcast-align -Wcast-qual -Wdouble-promotion -Werror -Wextra -Wformat-overflow=2 -Wformat-signedness -Wformat-truncation=2 -Wformat=2 -Wlogical-op -Wno-deprecated-copy -Woverloaded-virtual -Wpointer-arith -Wstack-protector -Wstringop-overflow=2 -Wundef -Wzero-as-null-pointer-constant -fstack-protector-all -fwrapv -pedantic -std=c++17 -Wall -Wextra
and LDFLAGS,
Code: [Select]
g++ -Zomf -Zstack 0x2000 -Zhigh-mem -Zlinker "DISABLE 1121" -Zlinker /PM:PM -Zno-fork -o Dooble.exe
Paul should compare them.

Will do this evening. I expect them to be similar, as qmake is used to generate the makefile, and the os2 qmake files are identical between qt5 and qt6. One difference is that I think I used gcc12 for recent builds - are you using rpm gcc?

From Makefile for Dooble qt6:
Code: [Select]
CXXFLAGS      = -Zomf -march=i686 -mno-avx -O3 -Wall -Warray-bounds=2 -Wcast-align -Wcast-qual -Wdouble-promotion -Werror -Wextra -Wformat-overflow=2 -Wformat-signedness -Wformat-truncation=2 -Wformat=2 -Wlogical-op -Wno-deprecated-copy -Woverloaded-virtual -Wpointer-arith -Wstack-protector -Wstringop-overflow=2 -Wundef -Wzero-as-null-pointer-constant -fstack-protector-all -fwrapv -pedantic -std=c++17 -Wno-int-in-bool-context -Wall -Wextra $(DEFINES)
&
Code: [Select]
LFLAGS        = -Zomf -Zstack 0x2000 -Zhigh-mem -Zlinker "DISABLE 1121" -lpthread -lcx

Paul Smedley

  • Hero Member
  • *****
  • Posts: 1901
  • Karma: +146/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #189 on: February 28, 2023, 09:15:18 am »
One thing I wonder about is AVX, looking at libdav1d, I could see where it checked for CPU support of AVX but I didn't see it check for OS support, might well have missed it though.

afaict we're using https://github.com/psmedley/qt6-webengine-os2/tree/main/src/3rdparty/chromium/third_party/dav1d/config/linux/x86 for configs... so '#define HAVE_AVX512ICL 1' is set...

Paul Smedley

  • Hero Member
  • *****
  • Posts: 1901
  • Karma: +146/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #190 on: February 28, 2023, 09:46:35 am »
Really not tested - and no qt6webengine stuff included - but https://smedley.id.au/tmp/qt6-6.3.2-os2-20230228.zip updates most of the libs to v6.3.2 - which seems to be compatible with the 6.2.4 abi based on what I've tested so far...

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4401
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Qt6 Application Testing
« Reply #191 on: February 28, 2023, 01:41:40 pm »
Hi Paul

Do you think that qBittorrent will work now? or are still some components missing to be ported?

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

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4401
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Qt6 Application Testing
« Reply #192 on: February 28, 2023, 02:25:22 pm »
Really not tested - and no qt6webengine stuff included - but https://smedley.id.au/tmp/qt6-6.3.2-os2-20230228.zip updates most of the libs to v6.3.2 - which seems to be compatible with the 6.2.4 abi based on what I've tested so far...

Hi Paul

I think I got confused, does this Qt   6.3.2 replaces everything? Should we only test this one from now on?
I changed the main post, but I'm not sure if it is right.

Regards
« Last Edit: February 28, 2023, 02:32:07 pm by Martin Iturbide »
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4502
  • Karma: +92/-1
    • View Profile
Re: Qt6 Application Testing
« Reply #193 on: February 28, 2023, 04:49:51 pm »
One thing I wonder about is AVX, looking at libdav1d, I could see where it checked for CPU support of AVX but I didn't see it check for OS support, might well have missed it though.

afaict we're using https://github.com/psmedley/qt6-webengine-os2/tree/main/src/3rdparty/chromium/third_party/dav1d/config/linux/x86 for configs... so '#define HAVE_AVX512ICL 1' is set...

Yes that's set on Qt5 as well. Qt5 did have a configure option to turn off AVX, that Bitwise uses and seems to set -mno-avx, not sure where else it is disabled.
OTOH, Roberto seems to have an AVX capable CPU and success running Dooble.
As for the Dooble compile flags, shouldn't matter so much as the problem is with the webengine as the simplebrowser has the same issue.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 1901
  • Karma: +146/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #194 on: February 28, 2023, 08:52:27 pm »
Hey Dave,

Yes that's set on Qt5 as well. Qt5 did have a configure option to turn off AVX, that Bitwise uses and seems to set -mno-avx, not sure where else it is disabled.
OTOH, Roberto seems to have an AVX capable CPU and success running Dooble.

Are you saying there is a global -mno-avx in the compilation of Qt5? Can you point me to that so I can check I didn't miss it. I know of the one use by qmake - but most of webengine using gn/ninja - not qmake..