WebKit Browsers for SFOS (Safari Engine)

This is the Mini Browser from WPE WebKit 2.50.5 (Safari engine) running on my Xperia 10 II

I used Copilot to compile the thing, left it running overnight and voilà!

The environment is unusual. I use a Native Armv8 server running Ubuntu and the sysroot of SailfishOS. Most of the binary is statically linked.

Right now, I tasked Copilot to build a UI using WPEQt

Nephros work helped a lot for the Wayland Stuff (Big Thank you!)

He is also porting multiple Webkit Browsers!

https://build.sailfishos.org/package/show/home:nephros:devel:gtk:devel/wpewebkit

9 Likes

Only compile or also create?

Right now, I tasked Copilot to build a UI

Only compile or also create?

If the latter, did you check all the code?

Where is the code?

1 Like

I must say I’m not at all happy with this.

I have been a strong believer in open source and free software for many many years, but if what I do is just used to feed Microsoft and boil the oceans I will seriously consider taking everything offline.

(That being said, in this particular case I didn’t actually create much of anything really. One might even say the process isn’t dissimilar to what an LLM would do, just slower.)

12 Likes

Also there are already UIs using this stuff. One is Cog, another is WPE’s own Qt Minibrowser.

A little more on-topic: here’s some screenshots of GTK WebKit running on SailfishOS: (Note that the browser is NOT usable at the moment, but having the engine running is a first step):

10 Likes

So you are going the GTK way, or you plan to plug it back to a QML application ?

About Copilot and Gemini, the response it gives me tell me that every bit of code on the internet have been suck dry. Gemini was aware if the WebKit prototype for UB, that pretty underground info.

I second this, think it makes a big difference. My opinion is that it would be bad for sailfish if it was flooded with ai applications noone understands and can review

3 Likes

Here is a short video of the browser in action ( Running in a QML wrapper)

Sadly, on heavy website ( like Jolla.com) the engine crash. Pretty good for 2 days of work.

5 Likes

Awesome stuff, hopefully soon (two weeks?) AI will be good enough to add usbc-video-out too, who cares it’s slop, if it works it works and you can spend time reviewing the code to snuff out any deficiencies and reimplement it in a proper way after the fact, noone’s writing it themselves the old meatbag way anyway, just complaining jolla should waste their meatbag hours on this or that feature, so bring it on

1 Like

If they work it would be great for sfos, all the community hurramphs (lets do the camera api2 work yay!) ended up with a sad violin as it’s too niche/specialist, if sloppa generator produced a working product who cares it was ai, you can spend months reviewing/auditing/tweaking the code later (just like people spent months ‘working’ on bringjng such features, oh wait they didn’t), or just don’t use it out of principles or whatever, the manpower is severely lacking, if people can deliver working features who cares what tool they used

Give me enough tokens and I will rebuild a new compositor :grin:

3 Likes

this message is typed from WPE WebKit on a Xperia 10 II running Sailfish Os 5.0!

:star_struck:

8 Likes

now with some Silica Love ! :smiling_face_with_three_hearts:

18 Likes

Fair point, as long as people have a hum on what they are making and it doesnt introduce security risks then why not I guess

And that it is explained that it is Ai that made it, still didnt get an answer if it is coded or just compiled

Ah, not quite. The one big PR I’m dealing with took 24 hours of initial review. Now with a couple of weeks time between releaase, it’s evident that there is a lot of bug triage and dead code to weed out. In my case, this is ok, since it was a major bump, but I’m beginning to think I should not have accepted the PR but only cherry picked. Fire and forget with later cleanup could end up costing as much time as doing it from ‘meat space’.

3 Likes

Here is a video to show the current progress, I am running the WebKit engine inside the official Jolla browser

Keyboard, copy and paste, zoom, ui integration is working. Missing : video/audio, sandboxing (Sailjail and engine) hardware acceleration.

Still a lot of work to come, video is going to be tricky.

8 Likes

Great work! Can’t wait :grinning_face:

Can you explain how this was achieved?

1 Like

WPE WebKit has an API for QT called WPEQt

The Jolla Browser use qtmozembed to integrate Embedlite that intergrate Gecko.

I replaced qtmozembed with WPEQt as the engine layer. WPEQt handles the WebKit process lifecycle and frame rendering, but I also wrote C++ bridge
classes to adapt sailfish-browser’s Gecko-centric QML/C++ API surface to WPEQt’s API.

My goal right now is to get a somewhat working Browser on my phone, then work backward to get proper RPM.

10 Likes