Progress on porting Firefox

Incredible that the port has reached this point.
Here’s a command to make it less resource intensive for those trying it out:
firefox --no-remote --safe-mode --disable-gpu --disable-extensions --disable-smooth-scrolling --disable-restore-session-state --disk-cache-size=1048576 --disable-http-cache --disable-crash-reporter --disable-autofill-keyboard-accessory-view
It won’t prevent the crashing but will limit its resource usage.

10 Likes

It’s really amazing how far this port has come.
After so many years of waiting,it’s already amazing to only see a static Firefox UI that only refreshes when moving out of the viewport,and doesn’t accept any input.
But oh wait,if I actually install the right wayland_server package,I can interact with it,and it reacts a lot faster than what I expected for a first preview :astonished:
It can already load easy websites,but trying to load the Haiku Forum it repeatedly crashes,but Discourse isn’t really lightweight so I can’t say I’m shocked by that.
Sure,it’s not ready for daily driving yet,but when QtWebEngine first became available and I tried it,it was exactly in the same situation - crashes always and everywhere.
Maybe it’s only a minor thing that causes repeated crashes,we’ll see.
Very very very good work :+1:

4 Likes

Almost all hard part of this port was achieved by the OS and compatibility layers. Especially wayland EGL work, high compatibility to other UNIX variants and many dependencies already ported by many people.

I managed to build it successfully at least 2 times (ESR 102 based, ESR 128 based), other than that, almost all what I did was waiting and failing debugging compilicated multi process misbehaviors.

This is a debug (but somewhat optimized) build and JIT disabled for lacking dependency yet. So it isn’t for evaluating performance.

I hope this is a minor thing to other than me, I stay with this minor issue for these a few weeks.

1 Like

I’m getting a missing library error when attempting to run Firefox

2 Likes

Thank you for trying bravery. Following are other deps what I can recall. Many of them are already installed as dependency of gtk3 though

  • atk
  • dbus
  • dbus_glib
  • ffmpeg
  • gettext_libintl
  • glib2
  • graphite2
  • harfbuzz
  • libglvnd
  • libnotify
  • libpng16
  • pango
  • pciutils

If you can wait I check minamal requirement by making clean haiku installation later.

7 Likes

Thanks in advance for your work and especially for your offer to create Haiku package. :chocolate_bar:

:cowboy_hat_face:

4 Likes

Hello again. Testable new build is here.

oshi.at/ahux

This time it’s relatively stable and can navigate on some websites including this forum. There are some bugs you hit easily, c.f. you can’t copy and paste texts. Some kind of JavaScript execution is very slow (for now). Popups didn’t show correct at the first time, and so on.

You need same setup to run described in (especially installing wayland_server package):

22 Likes

On my machine with Haiku R5, the page is not always refreshing correctly and the scroll bar/scroll mouse/mouse click are not recognized.

The loading is also slow but at least I can access home pages :wink:

Nice work tough!

3 Likes

Can one try Firefox, only if he uses
Haiku nightly?

1 Like

I think this build can run on beta5, but not yet tested. Will post the result later.

Someone in the chat already tried with Beta5 and yes,Firefox itself works fine with Beta5.
The problem is the custom wayland_server package that’s required for the screen to refresh.
That was built against some nightly hrev and does now require at least that hrev (or newer) to be installed even if there’s no technical reason for it.
As a result,the customized wayland_server must be rebuilt from source to allow installation on Beta5.

1 Like

To run it on the stable releases you just have to extract the wayland_server hpkg, remove the haiku dependecy version in .packageInfo, repackage it and all is fine! Loving the port’s progress. Also here’s a copy pastable command of all dependecies:

pkgman install atk dbus dbus_glib ffmpeg gettext_libintl glib2 graphite2 harfbuzz libnotify libpng16 pango pciutils -y

also rename the .bz2 file to .tar.bz2

5 Likes

Although I’m Greek,
all this is… Greek to me.
I’m not tech-savvy.
I’m afraid I’ll just wait for firefox to appear in HaikuDepot.

Additional uploads.

5 Likes
*** Failed to find a match for "ociutils": Name not found
~/Desktop> pkgman search oci
Status  Name                 Description                                  
--------------------------------------------------------------------------
        gtk_doc              Generate documentation from C sources        
S       netpbm               Toolkit for manipulation of graphic images   
        sparsehash           C++ associative containers                   
        sparsehash_source    C++ associative containers (source files)    
        texlive_bibtexextra  TeX Collection: BibTeX additional styles     
        texlive_latexextra   TeX Collection: LaTeX additional packages    
        texlive_publishers   TeX Collection: Publisher styles, theses, etc

LATER: Wait, I got it now. That should be pciutils

2 Likes

Took a bit to get it up and running on Beta5 as it intially gave me the same xpcom error with libxul.so. Ended up reinstalling Beta5 and going thru various packages. Finally got it up and running.

2 Likes

1 Like