Continue Discussion 32 replies
May 2024

KitsunePrefecture

Thanks for letting us peeking in a little bit … into this project’s flow ! :smiley:

Appreciated if you could share - later - this Haiku native Minibrowser – if completed – via repo/depot - it will be awaited ;-))
:chocolate_bar:

1 reply
May 2024

PulkoMandy Developer

[This was originally a reply in Github code review for the blog article, but it seems it is better used as a comment, so, here you go]

Thanks for the writeup about this, it clarifies a few things, and repeats some things that you had told me but I already forgotten.

I think I should clarify why I’m trying to avoid OpenGL if possible.

It’s not necessarily a performance concern. In fact, for some operations, it may very well be faster than software rendering.

The problem is, it’s quite a lot of work to enable it because:

That being said, if it turns out to be the simplest way, maybe we can go with it, see where it gets us, and work on the other parts of getting WebKit2 running. And if it turns out to be slow, or complicated, or have some other problem, we can always try to disable it later.

In the case of WebKitGTK (and, I think, all other WebKit ports), all the drawing is done client-side in WebProcess. There is no server-side drawing as app_server does. So we are in a bit of a different situation here.

May 2024

nephele Developer

I think for some things opengl in the browser is the right tool, but we also want to run on older hardware that may not have this capability, and if we stay in software rendering on those devices that seems quite bad performance wise.

I do wonder if it is possible to have both, as a best of both worlds thing : )
But that depends on the maintenance effort too, sadly. We‘ll see.

1 reply
May 2024

BlueSky

@Zardshard : Just a small general non-technical suggestion, I hope you don´t mind: It would be great if you could always include the name of the GSOC project in the thread name. This way it´s easier to follow the project and not mix it up with post from the other GSOC projects.

1 reply
May 2024

Zardshard Developer

Progress! NetworkProcess is now also launching, and it is WebProcess that crashes instead of MiniBrowser (although MiniBrowser crashes soon afterwards).

Technical details

To get this far, I’ve enabled

IIRC, I wanted coordinated graphics, coordinated graphics wanted texture mapper, and texture mapper wanted Nicosia.

So now our code mirrors the things that WebKitGTK enabled:

SET_AND_EXPOSE_TO_BUILD(USE_TEXTURE_MAPPER ON)
SET_AND_EXPOSE_TO_BUILD(USE_COORDINATED_GRAPHICS ON)
SET_AND_EXPOSE_TO_BUILD(USE_NICOSIA ON)
SET_AND_EXPOSE_TO_BUILD(USE_ANGLE ${ENABLE_WEBGL}) // I want to avoid enabling this

PulkoMandy indicated that using ANGLE may be difficult. Luckily, I’ve avoided it for now. It seems from the above code seems to indicate that ANGLE is only required if you want support for WebGL, so it should be easy to avoid in the future too.

Unfortunately, I have had to allow WebKit to use EGL for now. I don’t know yet whether it works out of the box or how much work it will be to get working. I’ll first have to fix some other bugs before I can get an idea.


Not a bad idea. We shall see…

I thought Haiku only had software rendering?

Didn’t think about that. Will do.

3 replies