View Single Post
flotron's Avatar
Posts: 418 | Thanked: 506 times | Joined on Jan 2012 @ Argentina
#1
See this thread for discussion & help/tips about Sailfish for Android devices:
http://talk.maemo.org/showthread.php?t=92506

Nokia N9:
- Wiki Tutorial
- Firmware Images 1
- Firmware Images 2
- Issue Tracker
Before start: Your phone must be "factory unlocked"
Thanks: rzr, SourenAraya, vgrade, Nad, juiceme, mikecomputing, TMavica, krnlyng AND a lot more

___________________________________
ORIGINAL POST:

Hi, i want to share this post from a Jolla engineer giving tips to start porting Sailfish:

I'm pretty sure I phrased it a bit different So, both the N900 and N9 have the problem of having binary blobs, which Jolla is not allowed to distribute, and almost certainly never will be. The N9 additionally has the problem of having an older kernel than the N900 -- old enough that it's starting to cause problems. That's the reason why I probably mentioned N900.

As for Nemo and N9, Nemo is a community followup project of MeeGo, and as such inherited basic N9 hardware adaptation, and the right to redistribute those binary blobs. So, if you as user take a Nemo image and put Jolla stuff in there it works -- but we as Jolla can't do that.

Another problem is that the old N9 adaptation is based on X11, while we are using Wayland. We do have a proof of concept Wayland stack up on N9 (available through Nemo as well), but it has its fair shair of problems.

That we're using Wayland makes your suggestion of porting Sailfish libraries to Harmattan hard as well: Harmattan is an X11 stack (same in the different direction: you can't use a Harmattan binary on Sailfish. If you have the source porting is trivial -- unless it's using meegotouch. But if you only have a binary it won't run. In theory something hacking with xwayland might be possible, but that's pretty crazy, and a sailfish port/rewrite would almost certainly be the better option)

So, it should be pretty clear by now that we will not do N9 images. What needs to happen for community to be able to do the port? Easy: Get involved in Nemo. I mentioned that several times, though so far nobody showed interest.

It's mainly 3 areas that need work:
- finish port to the 3.5 kernel we started. The required tasks are in Nemos Bugzilla: http://bit.ly/13jvXFH
- start fixing bugs in the Wayland proof-of-concept for N9
- reverse engineer hardware components where no driver exists, and do drivers (like GPS)

So, it's a hard task, but not impossible. The Nemo community and Jolla provided a very good starting point with Nemo, now it's up to community members to step up, and continue.
"As I said before, it's just the Nemo adaptation. The demos we did on N950 last year were on X11 stack, Wayland stack on N9/N950 has a few issues making it not suitable for demos without some additional effort -> community effort needed on N9 Wayland stack in Nemo

The following assumes that you have a Nemo instance with Sailfish libraries installed (note that this is not a promise of us doing that, read the following paragraph as privat comment from me):

0) Nemo is most likely to switch to Wayland in the near future as well, though might support X11 a bit longer than Jolla
1) MeeGo apps will mostly run on Nemo. If you're using the Nemo X11 stack, some Harmattan binaries run, if they use more complex middleware they need some changes and recompilation. For Nemo/Wayland same, just that you need a Qt5-port (in most cases just a few hours more effort), and that you can't use libmeegotouch (note that we still provide compatibility layers for some of the libmeegotouch APIs, so for example if you're using lmt notifications your app will work after recompile)
2) If Sailfish libraries are available, and you're using Nemos Wayland stack, yes
3) Same as 2.

(if 2) does not use Silica Components, just middleware + custom QML it should work as well. We work on most of the Sailfish-middleware as opensource inside of Nemo. As a result, almost all middleware interfaces between Nemo and Sailfish share the same ABI)

The kernel 3.5 requirement is not because of Wayland. We're using features of newer kernels in layers below UI stack. The Wayland problem on N9 is related to using the slighly hacky way it's done.

There are instructions on how to get it running in the Mer wiki: https://wiki.merproject.org/wiki/Ada...9-N950/Wayland

We recently changed packaging of some components to make things a bit easier (mostly to make the Wayland switch just a matter of installing a package, without need to edit configuration files). The proof-of-concept Wayland configuration package is on github (https://github.com/nemomobile/nemo-configs-n950-n9), I just didn't integrate it to Nemo yet as that'll require some work in cleaning up the complete N950 config, which I don't want to spend at the moment unless there's a real interest in starting to hack on it."
Join the discussion @Facebook

Last edited by jalyst; 2014-09-18 at 03:45. Reason: Made this thread less ambiguous, it's now strictly for the N9, Sailfish for Android devices thread is referenced
 

The Following 129 Users Say Thank You to flotron For This Useful Post:
0x255, afaq, AJMAL P.M, alesotelo, Amboss, AMD, anapospastos, Ancelad, ARJWright, Artopal, Artyom, baem90, bp0, Bundyo, caprico, cckwes, chenliangchen, ck2nb, cubik, dak_sriv, Dave999, davmin, dexterous21, DJJonosound, dommau, donaggio, don_falcone, ed00, eekkelund, efion, Elleo, et3rnal, ezameht, faktorqm, Faz, filip.pz, Garp, gdelca5, hrbani, HtheB, Hurrian, hyno111, Iipe, Iosian, Iryus, jalyst, jcharpak, Jeffrey04, jellyroll, jimmy neutron, jjaone, Jordi, juiceme, jule, k6ps, khan.orak, kikujiro0208, kimitake, Kozzi, lacro, lazart, lebanez, leon.anavi, lkravovicz, Lucazz990, MaddogG, Makeclick, Manatus, mariusmssj, Markkyboy, MartinK, matthewkuhl, max_power, meemorph, melisa queen, mikecomputing, milad ghusn, minimos, MINKIN2, miqu, MJ m, Mric, mrsellout, mscion, n0x, Nad, Netweaver, nodevel, nokiabot, optimaxxx, osk2, OVK, phapsubongtoi, pycage, qole, ranbaxy, ravi_kumar, rcolistete, rfa, richardski, romu, ruplee76, salahkhani, sbock, Schturman, setter, Sfiet_Konstantin, Shadwblade2652, shallimus, shanttu, smoothc, Sourav.dubey, SourenAraya, strategist, student4life, sunyakram, taixzo, Timpaxi, TonyUkuk, turbovomit, Venty, viva_360, Wanker, wnt, www.rzr.online.fr, zamorph, ZLooM