OS2 World Community Forum

OS/2, eCS & ArcaOS - Technical => Internet => Topic started by: Dave Yeo on September 15, 2024, 04:37:47 am

Title: otter-browser, Qt5 build
Post by: Dave Yeo on September 15, 2024, 04:37:47 am
Ok, up till now when I've built Otter, it crashes on startup. Andy reported success with Dooble and not running acpi-daemon. Testing, the otter browser starts up and runs fairly well without acpi-daemon running. It is crashy, I tried this post in Otter and probably uploading the file crashed the browser.
Anyways, for testing purposes, here is today's build of the Otter browser from the main repository, no OS/2 patches yet, it runs surprisingly well considering. It is using the same webengine as Dooble-Qt5 so some pages will not display correctly.
Edit: fix the markup
Title: Re: otter-browser, Qt5 build
Post by: Mike Kölling on September 15, 2024, 02:54:39 pm
Hi Dave,

looks good for the first tests. I need to use a Win-Version of Otter to import booksmarks (as html) from my old Firefox, otherwise no issues by now.
Will try to get it working also in German languge, based on the version I installed in W7 running in my VBox/2, and let you know.

I'd like to express how much I appreciate your ongoing efforts to help OS/2 still beeing usable in 2024.

Greetings from Potsdam / Germany,
Mike

Amendment: I just copied the locale folder from the Win-Version into the folder I put your executable and now Otter starts in German language  :).
Title: Re: otter-browser, Qt5 build
Post by: Martin Iturbide on September 15, 2024, 04:14:57 pm
Hello Dave.

It is awesome. I'm trying it out lightly first. I will test it further.

Regards
Title: Re: otter-browser, Qt5 build
Post by: Dave Yeo on September 15, 2024, 08:34:15 pm
I should mention that running without acpidaemon doing power management is highly not recommended by David A. This computer's CPU was idling with 64C temperature and the danger is overheating the CPU.
I ended up changing \mptn\etc\acpid.cfg to PreferredMode=Power which on this box also allows Otter to run. It seems that using Power should not help as most computers don't support it and the daemon will fall back to None.
Note that the daemon has to be restarted to pick up changes to the PreferredMode, so rather kill it and run it detached again or reboot.
Title: Re: otter-browser, Qt5 build
Post by: David McKenna on September 15, 2024, 09:21:10 pm
Thanks Dave!

  This QT5 version does work and render pages (with ACPIDAEMON running on AOS in a virtual machine), but also crashes often on heavy javascript pages. I'm typing this in Otter now. I see a lot of '[warn] poll: socket operation on non-socket' messages in the console too.

Regards,
Title: Re: otter-browser, Qt5 build
Post by: Dave Yeo on September 15, 2024, 10:08:46 pm
Hi David, interesting it runs fine for you. Seems to be a timing issue for starting up. I have seen the socket messages but not always. I also see messages about Unimplemented code and just now Pixmap being null,
Code: [Select]
Unimplemented code.
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap

Grepping for Unimplemented in Otters source came up blank so perhaps originating in the webengine.
Title: Re: otter-browser, Qt5 build
Post by: Dave Yeo on September 15, 2024, 10:36:51 pm
Here's the contents of the icons directory plus an attempt at converting the Win icon to an OS/2 icon. Doesn't seem to display here.
Title: Re: otter-browser, Qt5 build
Post by: Paul Smedley on September 15, 2024, 11:13:54 pm
Hi David, interesting it runs fine for you. Seems to be a timing issue for starting up. I have seen the socket messages but not always. I also see messages about Unimplemented code and just now Pixmap being null,
Code: [Select]
Unimplemented code.
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap

Grepping for Unimplemented in Otters source came up blank so perhaps originating in the webengine.

Looks like it's from here: https://github.com/bitwiseworks/qtwebengine-chromium-os2/blob/113f13d3f1bf0ec996bd626e05324a0a17d39490/chromium/v8/src/base/logging.h#L50 but not particularly helpful as that's just a definition, and there are a number of  places that UNIMPLEMENTED(); can be called from.
Title: Re: otter-browser, Qt5 build
Post by: Roderick Klein on September 16, 2024, 01:30:27 pm
One warning. The reason the Otter browser was never released is because it does not run in single process mode with QT. This can cause crashes of the browser!

Roderick
Title: Re: otter-browser, Qt5 build
Post by: Martin Iturbide on September 16, 2024, 02:32:11 pm
Hello

I'm running Otter on a ArcaOS 5.1 VM guest. I haven't touched anything related to ACPI.

Testing it a little bit further, I got a problem with github repos, like: https://github.com/OS2World/UTIL-ARCHIVER-QuickWPI
It is like it does not stop loading, the bottom bar remains in 100% but does not goes away like it uses to when it finish loading a page.

On the console I get:
Code: [Select]
Unimplemented code.
qt.qpa.mime: isDelayed true
qt.qpa.mime: convert to format f63d "text/unicode" flags 400 data 0 isDelayed tr
ue ok true
qt.qpa.mime: convert to format 1 "#1" flags 400 data 0 isDelayed true ok true
qt.qpa.mime: convert to format 1 "#1" flags 400 data 10ed0000 isDelayed false ok
 true
Later it crashes with the log I'm attaching.

Regards
Title: Re: otter-browser, Qt5 build
Post by: Dave Yeo on September 16, 2024, 05:21:25 pm
Hi Martin. The Otter browser is definitely alpha quality at best, then our Qt port is also needing work. So crashes are expected and it sounds like even on supported platforms Otter is not the most stable.
I wouldn't bother uploading these trp reports, especially when there are no debug packages installed. I have lots generated here and don't have much skills at fixing them.
Title: Re: otter-browser, Qt5 build
Post by: Martin Iturbide on September 16, 2024, 10:41:05 pm
Thanks for the reply Dave.
I celebrate the effort of porting it, even if it is not as good as we all want, we need to start with something  ;D

Regards
Title: Re: otter-browser, Qt5 build
Post by: Roderick Klein on September 17, 2024, 11:08:16 am
Last time I checked Otter is not support with QT 6. Dmitry from BWW skipped Otter Browser as it was crashing because the multi process code is not stable. This is one the key reasons at the time the Otter Browser was not selected. It crashes more then Doobke.

Roderick
Title: Re: otter-browser, Qt5 build
Post by: Paul Smedley on September 17, 2024, 12:10:17 pm
Last time I checked Otter is not support with QT 6. Dmitry from BWW skipped Otter Browser as it was crashing because the multi process code is not stable. This is one the key reasons at the time the Otter Browser was not selected. It crashes more then Doobke.

There is a port of otter to qt6 at https://github.com/Chiitoo/otter-browser/commits/qt6/ - PR to merge it is still in work.
Title: Re: otter-browser, Qt5 build
Post by: Dave Yeo on December 30, 2024, 12:06:40 am
Last time I checked Otter is not support with QT 6. Dmitry from BWW skipped Otter Browser as it was crashing because the multi process code is not stable. This is one the key reasons at the time the Otter Browser was not selected. It crashes more then Doobke.

There is a port of otter to qt6 at https://github.com/Chiitoo/otter-browser/commits/qt6/ - PR to merge it is still in work.

Seems to need more work as trying to build resulted in the browser still using Qt5
Title: Re: otter-browser, Qt5 build
Post by: Dave Yeo on December 30, 2024, 12:13:43 am
Latest build of the otter-browser attached. Seems someone is just doing code cleanup at the rate of about a commit a day.
Putting this in your environment makes the browser much more stable, just sad it is still alpha quality. Even copy and paste seems somewhat broken.
Code: [Select]
set QTWEBENGINE_CHROMIUM_FLAGS="--single-process" otter-browser.exe
See the cmd file in the package.
Edit: This also has the Window Title fix enabled, need the updated Qt5 libs
Title: Re: otter-browser, Qt5 build
Post by: Eugene Tucker on December 30, 2024, 01:54:08 am
Not a lot of people working on it I guess. Or it is too hard for those involved.
Title: Re: otter-browser, Qt5 build
Post by: Paul Smedley on December 30, 2024, 02:16:35 am
Not a lot of people working on it I guess. Or it is too hard for those involved.

Sounds a bit like the current state of qt6 on OS/2
Title: Re: otter-browser, Qt5 build
Post by: Dave Yeo on January 28, 2025, 01:34:48 am
Today's build of otter-browser gives this in the console window, (hadn't tried a build for a while)
Quote
[2099:7:0127/162231.578000:FATAL:nss_util.cc(155)] NSS_VersionCheck("3.26") fail
ed. NSS >= 3.26 is required. Please upgrade to the latest NSS, and if you still
get this error, contact your distribution maintainer.

Killed by SIGABRT
pid=0x0833 ppid=0x0832 tid=0x0007 slot=0x00e6 pri=0x0200 mc=0x0001 ps=0x0010
K:\WORK\OTTER-BROWSER\BUILD\OTTER-BROWSER.EXE
Creating 0833_07.TRP
Moved 0833_07.TRP to W:\var\log\app\6797b2c9-0833_07-OTTER-BROWSER-exceptq.txt

Guess time to update NSS/NSPR.
Edit: Actually I have NSS 3.47/NSPR-4.23.0 installed and restarting otter-browser worked fine.
And then failed opening a HTTPS site.
Title: Re: otter-browser, Qt5 build
Post by: Dave Yeo on January 28, 2025, 07:17:34 am
Doing a full rebuild fixed the NSS issue. I switched to Paul's latest cmake, possible mixing them was the problem. I notice this build is slower and tabs keep spinning like they haven't loaded. Whether due to changes upstream or cmake, I don't know.
Title: Re: otter-browser, Qt5 build
Post by: Paul Smedley on January 28, 2025, 08:52:59 am
Doing a full rebuild fixed the NSS issue. I switched to Paul's latest cmake, possible mixing them was the problem. I notice this build is slower and tabs keep spinning like they haven't loaded. Whether due to changes upstream or cmake, I don't know.
Pretty hard to understand how changing cmake could make the build slower. Easy enough to confirm my backlevelling cmake.
Title: Re: otter-browser, Qt5 build
Post by: Dave Yeo on January 28, 2025, 06:07:55 pm
Doing a full rebuild fixed the NSS issue. I switched to Paul's latest cmake, possible mixing them was the problem. I notice this build is slower and tabs keep spinning like they haven't loaded. Whether due to changes upstream or cmake, I don't know.
Pretty hard to understand how changing cmake could make the build slower. Easy enough to confirm my backlevelling cmake.

Yes, it is not cmake. Have to try to find what changed. There's about a commit a day from upstream.
Title: Re: otter-browser, Qt5 build
Post by: Martin Iturbide on March 30, 2025, 06:45:34 pm
Hello Dave

Will it be ok if I upload Otter-Browser to Hobbes? I had repackaged it this way, with a little and very quick .txt file. What do you think?

Regards
Title: Re: otter-browser, Qt5 build
Post by: Dave Yeo on March 30, 2025, 07:23:35 pm
Hi Martin, wait a little bit while I try to update and build the latest.
Title: Re: otter-browser, Qt5 build
Post by: Dave Yeo on March 30, 2025, 07:41:37 pm
Hi Martin, wait a little bit while I try to update and build the latest.

Hmm, latest is crashing. Might be a while to figure out why so you might as well upload the version you packaged. Can always update later.
Actually first you should add a link to https://github.com/OtterBrowser/otter-browser where the source resides to otter-browser.txt. Guess I should fork that repository and keep better track of which commit I'm building from :)
Title: Re: otter-browser, Qt5 build
Post by: Martin Iturbide on April 14, 2025, 04:49:35 pm
Hello Dave

I added the link and uploaded the file. Later we can replace it if the new version compiles.

Quote
Guess I should fork that repository and keep better track of which commit I'm building from :)

I always prefer for the every OS/2 software ported to have it's own fork, because I can learn from the OS/2 make file :)

Regards
Title: Re: otter-browser, Qt5 build
Post by: Dave Yeo on April 14, 2025, 06:14:01 pm
I did find the cause of the crash, after restoring from a backup, forgot to update libc/libcx. Hasn't really been any notable commits so haven't bothered to upload a new build yet.
I have only made a couple of small changes. if you want you can try building it as there is no makefile that I make.
Clone it, mkdir build, cd build, cmake .. then make.