The Following 3 Users Say Thank You to mr_pingu For This Useful Post: | ||
|
2017-07-31
, 17:53
|
|
Posts: 1,478 |
Thanked: 9,871 times |
Joined on Dec 2008
@ Shanghai / London
|
#182
|
The main problem is well summarized by Greg Kroah-Hartman's blog post. In short, on the driver level the Android fork of the Linux kernel is incompatible with the mainline Linux kernel. Thus, you can't write a single graphic driver that is compatible with both.
Since Android is more popular on phones than mainline Linux, everybody just writes graphic drivers for Android, not mainline Linux. (Note: there are very few drivers which had a version for the mainline Linux kernel, eg. the NVidia Tegra, and the OMAP SGX driver, perhaps more?)
Basically, nobody but Nokia invested in mainline GNU/Linux on ARM phones...
Even the Android userspace is basically incompatible with the userspace of "normal" desktop Linux distributions. (They use a different set of libraries, etc.) "Normal" distributions usually run a GNU system, while Android uses something called bionic. But the most troubling issue is with the graphic drivers.
So when you want to run a "normal" distribution (Fedora, Debian, Arch, whatever) on a phone, even if it has an ARM version, you have two choices: either get a mainline Linux driver for your chip (which almost nobody develops), or just use software rendering, resulting in bad user experience.
How Jolla does it (and how Ubuntu Touch and Plasma, etc. did it) is through something called libhybris which allows to create a "mix-and-match" system by combining the Android kernel and drivers with the userspace of a "normal" Linux distribution. It is basically a hack that allows us to run a GNU system on top of the Android kernel with hardware grahics acceleration, thus allowing to create a non-Android system from the Android kernel.
Needless to say, this hacky approach with libhybris is quite incompatible with the way how a "normal" Linux distribution delivers its kernel.
Also, chip vendors usually only support one specific (old) version of the kernel, with closed-source graphics drivers, and it almost never gets updated (or only gets minor fixes and security patches). They have no interest in maintaining a newer kernel for their old chips, so they just don't do it, with few exceptions (OMAP maybe?).
Hope this helps!
|
2017-07-31
, 19:07
|
Posts: 339 |
Thanked: 1,623 times |
Joined on Oct 2013
@ France
|
#183
|
On the other hand, if we developed a Tegra solution from scratch, that should be able to power the mainline Linux?
The Following 10 Users Say Thank You to Zeta For This Useful Post: | ||
|
2017-07-31
, 21:40
|
Posts: 1,163 |
Thanked: 1,873 times |
Joined on Feb 2011
@ The Netherlands
|
#184
|
The Following 4 Users Say Thank You to mr_pingu For This Useful Post: | ||
|
2017-07-31
, 22:17
|
|
Posts: 1,296 |
Thanked: 1,773 times |
Joined on Aug 2009
@ Budapest, Hungary
|
#185
|
To make sure I understand correctly, so Fremantle is the last development on a mobile ARM platform for a GNU/Linux? Perhaps Harmattan as well.
Unfortunately TI has stopped mobile chipset business, that leaves Tegra being the only SoC that has mainline Linux Kernel driver support?
On the other hand, if we developed a Tegra solution from scratch, that should be able to power the mainline Linux?
And my last question, is it technically possible developing a graphic driver for mainline linux, on for example, Qualcomm chipsets?
The Following 12 Users Say Thank You to Venemo For This Useful Post: | ||
|
2017-08-01
, 06:20
|
Posts: 38 |
Thanked: 202 times |
Joined on Sep 2015
|
#186
|
he should just port and provide a well maintained standard boot loader + kernel (by adding required special drivers to kernel.org) and then people can install everything they like. IMHO there is no need to provide a complete OS. GTA04 comes with a maintained kernel and some Debian/LXDE/XFCE demo. Community members developed QtMoko and Replicant for it. AFAIK, the Neo900 also will only provide hardware plus kernel and others will adapt Maemo/Fremantle.
For the Pyra, there will be something which is called "PyraOS", but technically this is just a preconfigured Debian XFCE4 image with a standard kernel built with a different defconfig. So it is not a separate OS, just a specific blend of existing things to make installation easier and the default installation more useable.
The Following 9 Users Say Thank You to ravelo For This Useful Post: | ||
|
2017-08-01
, 07:12
|
|
Posts: 1,296 |
Thanked: 1,773 times |
Joined on Aug 2009
@ Budapest, Hungary
|
#187
|
Chen, I posted your questions in the tinkerphones community mailinglist (built around Gta04 phone). And I got a reply from Nikolaus Schaller, the maker of this phone.
http://lists.goldelico.com/pipermail...ly/001660.html
The Following 8 Users Say Thank You to Venemo For This Useful Post: | ||
|
2017-08-01
, 07:39
|
|
Posts: 159 |
Thanked: 341 times |
Joined on Dec 2007
@ Helsinki, Finland
|
#189
|
This is actually my question from day 1, please educate me:
What is the barrier of porting a standard ARM Linux distribution on it? What's the technical difficulty?
And 2nd question is what is the cost/work needed doing so?
Thanks in advance!
The Following 13 Users Say Thank You to locusf For This Useful Post: | ||
|
2017-08-01
, 13:20
|
Posts: 248 |
Thanked: 1,142 times |
Joined on Dec 2014
@ Earth
|
#190
|
I can't wrap around my head that sailfish would be possible but say archlinux doesn't work... What's blocking that?
Many distros with ARM support...
This is actually my question from day 1, please educate me:
What is the barrier of porting a standard ARM Linux distribution on it? What's the technical difficulty?
Tags |
n950 revival, q-device, qwerty keyboard, sailfishos, sailingchen |
|
N900 loaded with:
CSSU-T (Thumb)
720p recording,
Pierogi, Lanterne, Cooktimer, Frogatto
N9 16GB loaded with:
Kernel-Plus
--
[TCPdump & libpcap | ngrep]
--
donate