Open saidinesh5 opened 7 years ago
Can I help some how with this? I also could use a new engine :)
Hi, Definitely! Recent #mer-meeting guys think it is better to invest more in quicksilver, but compiling it seems to be a pain so far. So if you can try out/look into compiling quicksilver, (more info: https://github.com/martinbrook/quicksilver/commit/d4a77e37dc23506d3cc292212ec940c76aeafdfe ), It would be great. I think it takes a lot of internet bandwidth to clone it though. So watchout!
I was halfway through compiling QtWebEngine, but lost my server. So will have to start over sometime soon. Lets skip Oxide Qt for now though. It seemed mostly similar to QtWebEngine.
If all else fails, we can simply use mozembed and go the sailfish browser path.
Yes I was there at the meeting :) and indeed, it's not that easy :p Oh, I have unlimited bandwidth over here, maybe I can clone it at the university (10 Gbps connection will make it clone quicker). At the moment I'm having my exams so it will have to wait a little bit :p
I checked out the requirements for the QuickSilver build:
So it seems that only the patches are need to applied and then build the original QuickSilver build. If all goes well, we can try upgrading to a newer Chromium build?
I think so. Also iirc Quicksilver needed some patches inside Qt too .. not too sure about that now though: https://github.com/tworaz/qtbase/commits/mer-stable https://github.com/tworaz/qtdeclarative/commits/mer-stable
Good luck with this! if you are able to compile Quicksilver, we could package it up and make components out of it. Or include that in our build tree and add droplet as another shell.
I'm mostly a Python/QML developer for Sailfish OS so I don't know how far I'm going to get but I will try :) Those patches aren't included in the Jolla qtbase for QT5.6 which makes it difficult to pack QuickSilver into an app without modifying qtbase
Yep. Although It shouldn't be much of an issue as I build everything on OBS. So it is just a matter of adding those packages to my OBS repo and making people update Qt from there.the changes seemed minimal anyway. If you get stuck at any point, you can always ask me/anyone else here/on IRC. Good Luck!
Hi,
I am sorry for my long absense. Hectic real life, with barely any free weekends for pet projects,
Here: https://build.merproject.org/package/show/home:saidinesh5/qtwayland are the patched Qtwayland packages, with the patched repo from here: https://github.com/saidinesh5/qtwayland . Check if these work for you.
Will try it out, I'm not sure if I have time for this anymore...
Sorry, I haven't got any time to put some work in this. Would this not be an option: https://github.com/ubports/oxide Oxide uses the Chromium engine and is already running on Wayland since Ubuntu Touch also uses Wayland. From what I saw in the Ubuntu Touch demos is Oxide actually very good.
However, I have absolutely no idea how to port it nor any experiences with porting... But it might be easier then QtWebEngine since there's no Wayland support yet for that.
Hi, Over the weekend i looked into it too.
With Sailfish, I am getting tired of having to port even basic tools like ninja etc.. to be able to compile chromium. We do more work in just porting existing packages than doing any actual work. :/
Iirc the oxide-qml plugin was dependent on ubuntu components. And they started with that effort before qml webengine was announced...
https://www.collabora.com/news-and-blog/blog/2017/12/22/cef-on-wayland/ This seems more interesting to me btw. But couldn't compile this either because ninja build system is missing on mer repos and couldn't build ninja because even it's dependencies are missing.
Will try harder next weekend though
Hi,
Yes indeed, a lot is missing which makes it very hard to port new stuff. Compiling QtWebengine itself is a problem too I guess since the ninja build system is missing.
You have more experience in porting then I have, I hope to learn it some day :p
I looked quickly into the ninja build system, I think I can build it on the Mer SDK. I will try it today in the evening or something and will post my results here.
The build seems douable due the fact that it builds itself using a Python script. No promises but if this is builded, how difficult would be CEF or QtWebengine to build?
Hmmm it seems that the Ninja build system works just fine:
Build steps:
sb2 -t SailfishOS-2.1.3.7-armv7hl -m sdk-install -R zypper in cmake gcc gcc-c++ python
sb2 -t SailfishOS-2.1.3.7-armv7hl -m sdk-build python ./configure.py --bootstrap
ninja
will be available here (probably different folders): ~/Projects/ninja
Here's my build and it works fine on armv7h
(tested on the Intex Aquafish):
ninja.zip
EDIT:
Building QtWebEngine in the MerSDK fails results in this error: https://stackoverflow.com/questions/47100545/how-to-build-qtwebengine-5-10-from-source
I installed gperf
in the SDK but it can't find it?
Hey, thanks
Interesting. When i tried to compile ninja , i ran configure.sh i think that's what was whining about rc2 and doctools missing... Let me quickly package this so it will be usable..
And as for gperf.. i can't remember but try to build the QtWebEngine that came with Qt 5.6 .. i tried compiling the one that came with 5.10 and even backported a bunch of patches but it failed. Apparently a lot of things changed between 5.6 and 5.10 internally..
I am not sure but I think we should be looking at CEF first.. They have instructions for it .. plus with QtWebEngine you have to compile and package even multiple missing Qt modules, like QtWebSockets, and 2 other modules i can't remember..
No problem :) It's the first time I build manually :package: with the SDK. I just followed the instructions in the HACKING.md file from Ninja. I was busy with the ninja stuff and I was thinking: Why not checking out the git repo of QtWebEngine (which was for Qt 5.10) and try to build it, maybe I was lucky.
Indeed we should checkout CEF first, it's more compact with less dependencies.
I was actually tempted to add Fedora's repositories and fetch these dependencies from there directly. Infact, that's one big thing i dislike about Sailfish .. Them having to choose a path where we spend more effort on packaging existing programs that have already been packaged than actually working on programs.
I am looking at AppImages actually. Was trying to set up an arm cross compilation environment in ubuntu or some distro that gives us better packages and compile CEF there. And then package it into an AppImage and use it on sailfish os.
I really like AppImages they are really great! If this can be done on Sailfish OS using AppImages why not? All deps are then no issue anymore, the only problem is the size of the AppImage
Is there anything I can do to help with these AppImages?
Will have to look into it this weekend? It is just a matter of compiling the little appimage binary for sailfish and making sure the kernel has support for fuse (which most of the devices already do)
You mean the Ninja build thingy or the whole CEF?
We need to Continue this work! How can we continue the quicksilver port?
Hi, last year i tried to update to the webkit compiled by llelectronics but with sailfish 3.0 my lipstick applet later patch stopped working. So that needs to be ported first.. but they changed the code a lot, so didn't look into it further. So a good first step is to just get the applet layer patch working
https://github.com/tworaz/quicksilver https://www.youtube.com/watch?v=EjO5huCEfsQ&ab_channel=tworaz666 http://daker.me/2014/05/how-to-use-oxide-in-your-ubuntu-qml-application.html