<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://leste.maemo.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Derby</id>
	<title>Maemo Leste Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://leste.maemo.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Derby"/>
	<link rel="alternate" type="text/html" href="https://leste.maemo.org/Special:Contributions/Derby"/>
	<updated>2026-04-21T06:01:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.36.0</generator>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Wishlist&amp;diff=913</id>
		<title>Wishlist</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Wishlist&amp;diff=913"/>
		<updated>2021-01-11T21:33:49Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Applications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If there is an application from Maemo Fremantle or even from a standard Linux distribution that you wish to see in Maemo Leste, please add it on this page.&lt;br /&gt;
&lt;br /&gt;
We do not promise that we can port it right away, but we will try, as far as our resources allow.&lt;br /&gt;
&lt;br /&gt;
To make our this easy for our developers, please include links to descriptions of the application, sources, and other useful information. &lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;http://maemo.org/packages/view/orecchiette/&lt;br /&gt;
! Package name&lt;br /&gt;
! Done&lt;br /&gt;
! Reason&lt;br /&gt;
! User&lt;br /&gt;
! URL&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| osso-notes || Yes (quicknote) || a notes application || [[User:Wizzup]] || http://maemo.org/packages/view/osso-notes/ ; http://wiki.maemo.org/Quicknote || Quicknote currently packaged. Usage notes - http://wiki.maemo.org/Quicknote&lt;br /&gt;
|-&lt;br /&gt;
| pinball || No || fun || Sicelo || https://packages.debian.org/buster/pinball or  http://linball.sourceforge.net/|| any implementation.&lt;br /&gt;
|-&lt;br /&gt;
| scummvm || https://github.com/maemo-leste/bugtracker/issues/269 || fun || [[User:Wizzup]] || http://maemo.org/packages/view/scummvm/ || latest version please&lt;br /&gt;
|-&lt;br /&gt;
| [[Games/Brainparty|brainparty]] || Yes || for fun || [[User:Wizzup]] || http://maemo.org/downloads/product/Maemo5/brainparty/ ||&lt;br /&gt;
|-&lt;br /&gt;
| Picodrive || No || Sega emulator, fun || [[User:Maemish]] || http://repository.maemo.org/extras/pool/fremantle/free/p/picodrive/ || http://maemo.org/packages/view/orecchiette/(has also Psycho Pinball installable)&lt;br /&gt;
|-&lt;br /&gt;
| Internet radio: mSoma || No || media || [[User:Maemish]] || http://repository.maemo.org/extras/pool/fremantle/free/m/msoma/ ||http://maemo.org/packages/view/orecchiette/&lt;br /&gt;
|-&lt;br /&gt;
| Cutetube2 || No || media || [[User:Maemish]] || http://maemo.org/packages/package_instance/view/fremantle_extras-devel_free_armel/cutetube2/0.5.2/ || could change cutetube into a youtube-dl frontend&lt;br /&gt;
|-&lt;br /&gt;
| PDF reader || Yes || reading || [[User:Wizzup]] || https://github.com/community-ssu/osso-pdf-viewer/ || libhildonfm has bugs regarding file opening dialogs that need to be fixed&lt;br /&gt;
|-&lt;br /&gt;
| Calendar app || No || orga || [[User:Maemish]] || https://wiki.maemo.org/Qalendar || Probably Qalendar and not fremantle closed. Requires Qt5 port.&lt;br /&gt;
|-&lt;br /&gt;
| Alarm clock || ? || orga || [[User:Maemish]] || ? || alarmd and alarm UI already works, there might be a FOSS UI&lt;br /&gt;
|-&lt;br /&gt;
| Word processor / Abiword || Might already be in debian || orga || [[User:Maemish]] || http://maemo.org/packages/package_instance/view/fremantle_extras-devel_free_armel/abiword/2.8.1-2maemo4/&lt;br /&gt;
|-&lt;br /&gt;
| Simple Brightness Applet || Yes, see https://github.com/maemo-leste/simple-brightness-applet || ? || [[User:Maemish]] || http://maemo.org/packages/package_instance/view/fremantle_extras_free_armel/simple-brightness-applet/1.1-1maemo0/ || This is not latest build from extras-devel&lt;br /&gt;
|-&lt;br /&gt;
|Status bar: Load Applet || No || CPU and RAM usage, screenshot and screen record. || [[User:Maemish]] || http://maemo.org/packages/package_instance/view/fremantle_extras_free_armel/load-applet/0.4.6-5/ || Needs to be ported to gst1.0&lt;br /&gt;
|-&lt;br /&gt;
| Camera App: BlessN900|| No ||  || [[User:Maemish]] || http://maemo.org/packages/package_instance/view/fremantle_extras_non-free_armel/blessn900/0.49-3/ || &lt;br /&gt;
|-&lt;br /&gt;
| Image viewer/editor || Yes ||  || [[User:Maemish]] || https://github.com/maemo-leste-extras/mihphoto || &lt;br /&gt;
|-&lt;br /&gt;
| Mail with imap support || No ||  || [[User:Maemish]] ||  || &lt;br /&gt;
|-&lt;br /&gt;
| RSS Feed Reader: Who knows a good one? || No || Reading/Media  || [[User:Maemish]] ||  ||&lt;br /&gt;
|-&lt;br /&gt;
| Browser: Dooble || No || internet  || [[User:Maemish]] || New homepage: https://textbrowser.github.io/dooble/ Not sure if the old package helps porting http://maemo.org/packages/package_instance/view/fremantle_extras-devel_free_armel/dooble/1.52-maemo1/  || &lt;br /&gt;
|-&lt;br /&gt;
| OpenMediaPlayer  || ? || media || [[User:Maemish]] || http://maemo.org/packages/package_instance/view/fremantle_extras-devel_free_armel/openmediaplayer/20161108-1/ Homepage: http://gitorious.org/qt-mediaplayer || &lt;br /&gt;
|-&lt;br /&gt;
| SMPlayer || No || media || [[User:Maemish]] || http://maemo.org/packages/package_instance/view/fremantle_extras_free_armel/smplayer/0.6.9-1maemo7/ Homepage: http://smplayer.sourceforge.net || &lt;br /&gt;
|-&lt;br /&gt;
| Unzip addon for filemanager || No || utility/accessory || [[User:Maemish]] || http://maemo.org/packages/package_instance/view/diablo_extras-devel_free_armel/unzip-fm/0.1.3-3/ || &lt;br /&gt;
|-&lt;br /&gt;
|  D-Theme SimpleBlackGreen  || No || fashion || [[User:Maemish]] || http://repository.maemo.org/extras/pool/fremantle/free/d/d-theme-simple-blackgreen/ || &lt;br /&gt;
|-&lt;br /&gt;
|  Bootscreen: Don't Panic! || No || fun (but neccessity) || [[User:Maemish]] || http://maemo.org/packages/package_instance/view/fremantle_extras-devel_free_armel/dontpanic/1.0/  || &lt;br /&gt;
|-&lt;br /&gt;
| MMS: fMMS || No || media || [[User:Maemish]] || https://garage.maemo.org/projects/fmms || &lt;br /&gt;
|-&lt;br /&gt;
| Homescreen Dockbar Widget|| No || fashion/utility/accessory || [[User:Maemish]] || http://maemo.org/packages/package_instance/view/fremantle_extras-devel_free_armel/homescreen-dockbar/0.0.6/  || &lt;br /&gt;
|-&lt;br /&gt;
| Hotspot: MobileHotspot || No. || utility/accessory || [[User:Maemish]] || http://maemo.org/packages/package_instance/view/fremantle_extras-devel_free_armel/mobilehotspot/0.3.5/ || Either this or something else. This has only wep encryption which should be changed. &lt;br /&gt;
|-&lt;br /&gt;
| Firewall || No ||  || [[User:Maemish]] ||  || Something with easy configuration.&lt;br /&gt;
|-&lt;br /&gt;
| Swappolube || No ||  || [[User:Maemish]] || http://repository.maemo.org/extras/pool/fremantle-1.3/free/s/swappolube/ ||&lt;br /&gt;
|-&lt;br /&gt;
|bnf- Battery information at glance || No ||  || [[User:Maemish]] || http://maemo.org/packages/package_instance/view/fremantle_extras-devel_free_armel/bnf/1.2/ || &lt;br /&gt;
|-&lt;br /&gt;
| cardioalert || No ||  || [[User:Maemish]] || http://maemo.org/packages/package_instance/view/fremantle_extras-devel_free_armel/cardioalert/0.1/ || &lt;br /&gt;
|-&lt;br /&gt;
| gnumeric || No || Office || [[User:ric9k]] || http://maemo.org/packages/view/gnumeric/ || &lt;br /&gt;
|-|-&lt;br /&gt;
| hamsterfiler || No || utilities/files || [[User:ric9k]] || http://maemo.org/packages/view/hamsterfiler/ || &lt;br /&gt;
|-|-&lt;br /&gt;
| alarmed (or cron?) || No || utilities || [[User:ric9k]] || http://maemo.org/packages/view/alarmed/ || &lt;br /&gt;
|-|-&lt;br /&gt;
| user friendly tracker || No || utilities? || [[User:ric9k]] || n/a :-) || &lt;br /&gt;
|-|-&lt;br /&gt;
| Maps (offline) || No || Navigation || [[User:Sicelo]] ||  || Ideally something like https://f-droid.org/en/packages/com.github.axet.maps/ from Android, but Modrana, https://github.com/M4rtinK/modrana may be easier as a start. [FoxtrotGPS https://www.foxtrotgps.org] might be the easiest to adapt, it is already packaged in Devuan.&lt;br /&gt;
|-&lt;br /&gt;
| Orecchiette || No || calls recording || [[User:capitannemo]] || http://maemo.org/packages/view/orecchiette/ || &lt;br /&gt;
|-&lt;br /&gt;
| Panucci || No || audiobook || [[User:capitannemo]] || http://maemo.org/packages/view/panucci/ || &lt;br /&gt;
|-&lt;br /&gt;
| gPodder || No || podcast || [[User:capitannemo]] || http://maemo.org/packages/view/gpodder/ || &lt;br /&gt;
|-&lt;br /&gt;
| Symfonie || No || directory-based audioplayer || [[User:capitannemo]] || http://maemo.org/packages/view/symfonie/ || &lt;br /&gt;
|-&lt;br /&gt;
| osso-clock || No || clock and alarms application || pavel ||  || &lt;br /&gt;
|-&lt;br /&gt;
| freecell4maemo || No || freecell game || pavel ||  || &lt;br /&gt;
|-&lt;br /&gt;
| [http://festvox.org/index.html CMU Flite] || ? || Accessibility (TTS) || [[User:Buffer|Buffer]] ([[User talk:Buffer|talk]]) 21:48, 2 March 2020 (UTC) || https://github.com/festvox/flite ||&lt;br /&gt;
|-&lt;br /&gt;
| Cooktimer || No || feature-rich timers || [[User:Rasmarc]] || http://maemo.org/packages/package_instance/view/fremantle_extras-devel_free_armel/cooktimer/0.0.4-24/ || latest from extras-devel&lt;br /&gt;
|-&lt;br /&gt;
| OpenSSH Status Widget || No || openSSH monitor and config. || [[User:Rasmarc]] || http://maemo.org/packages/package_instance/view/fremantle_extras-testing_free_armel/openssh-status-widget/2.2-12/ ||&lt;br /&gt;
|-&lt;br /&gt;
| Recaller || No || record with one tap || [[User:Rasmarc]] || http://maemo.org/packages/package_instance/view/fremantle_extras_free_armel/recaller/2.1.0-5/ ||&lt;br /&gt;
|-&lt;br /&gt;
| NecroPlayer2 || No || directory-based audioplayer, easy playlist edit, multiple directories, very useful with recaller widget || [[User:Rasmarc]] || http://maemo.org/packages/package_instance/view/fremantle_extras-devel_free_armel/necroplayer2/0.2.3/ ||&lt;br /&gt;
|-&lt;br /&gt;
| Simpler Brightness Applet || No || simple brightness applet with single tap for backlight and long tap for settings || [[User:Rasmarc]] || http://maemo.org/packages/package_instance/view/fremantle_extras-testing_free_armel/simpler-brightness-applet/1.0/ ||&lt;br /&gt;
|)&lt;br /&gt;
|-&lt;br /&gt;
| telepathy-signal || No || The best open source alternative to WhatsApp should be ready for use with Maemo Leste || [[User:Derby]] || https://github.com/signalapp/Signal-Desktop ; https://github.com/AsamK/signal-cli || This is a suggestion to create a Telepathy connection manager for Signal.  Although the Signal [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=842943 Desktop] and [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=926807 CLI] can be installed, they are not yet available in Debian.  In any case, it would be great to have a Telepathy connection manager for Signal to provide seamless integration with Maemo.&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=774</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=774"/>
		<updated>2020-06-06T17:43:49Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* How about other popular non-Android mobile Linux distributions? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.  It also uses a '''[[#What_is_mainline_Linux.3F|mainline Linux]]''' kernel.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Building on top an actively developed Linux distribution makes Maemo Leste maintenance sustainable.  Fremantle was built on top of Debian packages forked from several versions of Debian, leaving the onus on Nokia to maintain every single package.  Leste however, utilises Devuan's package repositories meaning that much of the heavy lifting is already done by upstream; we only have to manage and maintain a limited set of packages.  This also gives us the benefit of having access to over 20,000 packages from upstream, immediately available for installation in Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
All in all, Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of mainline Linux.  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long-term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained by vendors with almost no effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste run with pure mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
The primary devices that we support can run with a pure mainline Linux kernel, however right now our images use mainline plus a few patches.  As we are still in the early phases of development, our current priority is to ensure that our supported devices are as fully functional as they can possibly be, thus the additional patches help to achieve this.  We have already upstreamed some of our patches and our goal is to upstream the remaining ones to be able to switch to using a 100% mainline kernel on our devices.&lt;br /&gt;
&lt;br /&gt;
=== Is Maemo Leste completely free? ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately not.  There is still no smartphone available that is fully functional without the use of [https://en.wikipedia.org/wiki/Proprietary_device_driver binary blobs].  Our primary supported devices currently require closed firmware to be able to use Wi-Fi and Bluetooth, and the TI OMAP-based devices have integrated PowerVR video hardware which require closed user space drivers for video acceleration.  It's an unfortunate state of affairs, however progress is being made, and the PinePhone is a great example of this as it can have video acceleration with the Lima driver which is 100% free software.&lt;br /&gt;
&lt;br /&gt;
Our current goal is to provide full functionality for our supported devices, however there are plans to additionally provide a blob-free, libre version of Maemo Leste with missing functionality where blobs would be required.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|Android kernels]], which favours device compatibility and ease of device porting, at the expense of software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== musl libc kicks arse.  Can I use Maemo Leste with musl? ===&lt;br /&gt;
&lt;br /&gt;
We love musl libc too.  musl provides a lean, efficient and standards-compliant implementation of libc.  What's not to like?  Well unfortunately a lot of software built for Linux is glibc-dependent and is not standards-compliant.  Rebuilding this software with musl can result in unexpected runtime behaviour or bugs.  musl would be an extra hurdle that we don't really need right now.  Still, it would be nice to one day see Maemo Leste rebuilt against musl and might make for an interesting future project, but until then, make sure you check out postmarketOS.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve.  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=773</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=773"/>
		<updated>2020-06-06T17:03:05Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* How does Maemo Leste compare with PureOS? */ Removing link to viedo as it is no longer available&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.  It also uses a '''[[#What_is_mainline_Linux.3F|mainline Linux]]''' kernel.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Building on top an actively developed Linux distribution makes Maemo Leste maintenance sustainable.  Fremantle was built on top of Debian packages forked from several versions of Debian, leaving the onus on Nokia to maintain every single package.  Leste however, utilises Devuan's package repositories meaning that much of the heavy lifting is already done by upstream; we only have to manage and maintain a limited set of packages.  This also gives us the benefit of having access to over 20,000 packages from upstream, immediately available for installation in Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
All in all, Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of mainline Linux.  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long-term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained by vendors with almost no effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste run with pure mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
The primary devices that we support can run with a pure mainline Linux kernel, however right now our images use mainline plus a few patches.  As we are still in the early phases of development, our current priority is to ensure that our supported devices are as fully functional as they can possibly be, thus the additional patches help to achieve this.  We have already upstreamed some of our patches and our goal is to upstream the remaining ones to be able to switch to using a 100% mainline kernel on our devices.&lt;br /&gt;
&lt;br /&gt;
=== Is Maemo Leste completely free? ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately not.  There is still no smartphone available that is fully functional without the use of [https://en.wikipedia.org/wiki/Proprietary_device_driver binary blobs].  Our primary supported devices currently require closed firmware to be able to use Wi-Fi and Bluetooth, and the TI OMAP-based devices have integrated PowerVR video hardware which require closed user space drivers for video acceleration.  It's an unfortunate state of affairs, however progress is being made, and the PinePhone is a great example of this as it can have video acceleration with the Lima driver which is 100% free software.&lt;br /&gt;
&lt;br /&gt;
Our current goal is to provide full functionality for our supported devices, however there are plans to additionally provide a blob-free, libre version of Maemo Leste with missing functionality where blobs would be required.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== musl libc kicks arse.  Can I use Maemo Leste with musl? ===&lt;br /&gt;
&lt;br /&gt;
We love musl libc too.  musl provides a lean, efficient and standards-compliant implementation of libc.  What's not to like?  Well unfortunately a lot of software built for Linux is glibc-dependent and is not standards-compliant.  Rebuilding this software with musl can result in unexpected runtime behaviour or bugs.  musl would be an extra hurdle that we don't really need right now.  Still, it would be nice to one day see Maemo Leste rebuilt against musl and might make for an interesting future project, but until then, make sure you check out postmarketOS.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve.  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=772</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=772"/>
		<updated>2020-06-06T17:01:31Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Is Maemo Leste completely free? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.  It also uses a '''[[#What_is_mainline_Linux.3F|mainline Linux]]''' kernel.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Building on top an actively developed Linux distribution makes Maemo Leste maintenance sustainable.  Fremantle was built on top of Debian packages forked from several versions of Debian, leaving the onus on Nokia to maintain every single package.  Leste however, utilises Devuan's package repositories meaning that much of the heavy lifting is already done by upstream; we only have to manage and maintain a limited set of packages.  This also gives us the benefit of having access to over 20,000 packages from upstream, immediately available for installation in Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
All in all, Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of mainline Linux.  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long-term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained by vendors with almost no effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste run with pure mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
The primary devices that we support can run with a pure mainline Linux kernel, however right now our images use mainline plus a few patches.  As we are still in the early phases of development, our current priority is to ensure that our supported devices are as fully functional as they can possibly be, thus the additional patches help to achieve this.  We have already upstreamed some of our patches and our goal is to upstream the remaining ones to be able to switch to using a 100% mainline kernel on our devices.&lt;br /&gt;
&lt;br /&gt;
=== Is Maemo Leste completely free? ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately not.  There is still no smartphone available that is fully functional without the use of [https://en.wikipedia.org/wiki/Proprietary_device_driver binary blobs].  Our primary supported devices currently require closed firmware to be able to use Wi-Fi and Bluetooth, and the TI OMAP-based devices have integrated PowerVR video hardware which require closed user space drivers for video acceleration.  It's an unfortunate state of affairs, however progress is being made, and the PinePhone is a great example of this as it can have video acceleration with the Lima driver which is 100% free software.&lt;br /&gt;
&lt;br /&gt;
Our current goal is to provide full functionality for our supported devices, however there are plans to additionally provide a blob-free, libre version of Maemo Leste with missing functionality where blobs would be required.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== musl libc kicks arse.  Can I use Maemo Leste with musl? ===&lt;br /&gt;
&lt;br /&gt;
We love musl libc too.  musl provides a lean, efficient and standards-compliant implementation of libc.  What's not to like?  Well unfortunately a lot of software built for Linux is glibc-dependent and is not standards-compliant.  Rebuilding this software with musl can result in unexpected runtime behaviour or bugs.  musl would be an extra hurdle that we don't really need right now.  Still, it would be nice to one day see Maemo Leste rebuilt against musl and might make for an interesting future project, but until then, make sure you check out postmarketOS.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve.  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=X86&amp;diff=770</id>
		<title>X86</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=X86&amp;diff=770"/>
		<updated>2020-06-05T02:23:51Z</updated>

		<summary type="html">&lt;p&gt;Derby: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:x86}}&lt;br /&gt;
=== Running on x86/x86_64 ===&lt;br /&gt;
&lt;br /&gt;
The contents of the &amp;lt;code&amp;gt;qcow2&amp;lt;/code&amp;gt; file can be extracted and copied into hard drives for bare metal BIOS/Legacy CSM booting.&lt;br /&gt;
&lt;br /&gt;
To extract the contents of the &amp;lt;code&amp;gt;qcow2&amp;lt;/code&amp;gt; file, decompress it first and convert it into &amp;lt;code&amp;gt;raw&amp;lt;/code&amp;gt; format.&lt;br /&gt;
&lt;br /&gt;
 $ xz -d maemo-leste-1.0-amd64-virtual-20180425.qcow2.xz&lt;br /&gt;
 $ qemu-img convert -f qcow2 -O raw maemo-leste-1.0-amd64-virtual-20180425.qcow2 maemo-leste-1.0-amd64-virtual-20180425.raw&lt;br /&gt;
&lt;br /&gt;
The raw image that it yields, can then be setup as a loopback device, and its partitions mounted.&lt;br /&gt;
&lt;br /&gt;
 # losetup --partscan -f maemo-leste-1.0-amd64-virtual-20180425.raw&lt;br /&gt;
 # mkdir /mnt/maemo-virt&lt;br /&gt;
 # mount /dev/loop0p1 /mnt/maemo-virt&lt;br /&gt;
&lt;br /&gt;
Setup one &amp;lt;code&amp;gt;Linux&amp;lt;/code&amp;gt; partition on the device to be used for booting, format it with a GRUB-compatible filesystem (&amp;lt;i&amp;gt;ext4&amp;lt;/i&amp;gt;, for example), then mount it as well.&lt;br /&gt;
&lt;br /&gt;
 # cfdisk /dev/sdb&lt;br /&gt;
 # ...&lt;br /&gt;
 # mkfs.ext4 /dev/sdb1&lt;br /&gt;
 # mkdir /mnt/maemo-bare&lt;br /&gt;
 # mount /dev/sdb1 /mnt/maemo-bare&lt;br /&gt;
&lt;br /&gt;
Change directory to the loop partition, the copy over its contents into the bare metal partition.&lt;br /&gt;
&lt;br /&gt;
 # cd /mnt/maemo-virt&lt;br /&gt;
 # rsync -aAHXv * /mnt/maemo-bare&lt;br /&gt;
&lt;br /&gt;
Once finished copying, bind mount special filesystems into the bare metal Maemo partition, then change root.&lt;br /&gt;
&lt;br /&gt;
 # mount --bind /dev /mnt/maemo-bare/dev&lt;br /&gt;
 # mount --bind /proc /mnt/maemo-bare/proc&lt;br /&gt;
 # mount --bind /sys /mnt/maemo-bare/sys&lt;br /&gt;
 # chroot /mnt/maemo-bare /bin/bash&lt;br /&gt;
&lt;br /&gt;
Load the new root's shell profile, install GRUB to the bare metal boot device (&amp;lt;i&amp;gt;/dev/sdb&amp;lt;/i&amp;gt;, in this example), then regenerate the GRUB configuration file.&lt;br /&gt;
&lt;br /&gt;
 # . /etc/profile&lt;br /&gt;
 # grub-install /dev/sdb&lt;br /&gt;
 # grub-mkconfig -o /boot/grub/grub.cfg&lt;br /&gt;
&lt;br /&gt;
After that, you may exit the chroot environment (Ctrl+D), unmount all the filesystems, then reboot the system into your new bare metal Maemo Leste installation.&lt;br /&gt;
&lt;br /&gt;
 # umount /mnt/maemo-virt&lt;br /&gt;
 # umount -AR /mnt/maemo-bare&lt;br /&gt;
 # reboot&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Virtual_Machine&amp;diff=754</id>
		<title>Virtual Machine</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Virtual_Machine&amp;diff=754"/>
		<updated>2020-05-28T00:08:10Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Generic&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Generic virtual machine target. This is particularly useful when doing development and testing.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
https://maedevu.maemo.org/images/virtual-machines/&lt;br /&gt;
&lt;br /&gt;
There are three different types of images: VirtualBox (.box), QEMU (.qcow2, .vdi) and Vagrant. The VirtualBox image may be converted to a VMware VMDK image which has been reported to perform better and have good hardware acceleration.&lt;br /&gt;
Converting the qcow2 image to raw allows it to be used on real hardware.&lt;br /&gt;
&lt;br /&gt;
=== VirtualBox ===&lt;br /&gt;
&lt;br /&gt;
Download latest .vdi.xz image, unpack it with &amp;quot;xz -d&amp;quot; command.&lt;br /&gt;
Create new Virtual Machine, select &amp;quot;Debian (64-bit)&amp;quot; and 1024MB RAM. Use the downloaded file as virtual hard disk.&lt;br /&gt;
You are done!&lt;br /&gt;
&lt;br /&gt;
=== QEMU ===&lt;br /&gt;
&lt;br /&gt;
In general something like&lt;br /&gt;
  qemu-system-x86_64 -hda maemo-leste-1.0-amd64.qcow2 -enable-kvm -cpu host -smp cores=2 -m 1024&lt;br /&gt;
should work. But there seem to be issues with some QEMU versions, for more details see [https://github.com/maemo-leste/bugtracker/issues/198 issue#198].&lt;br /&gt;
&lt;br /&gt;
To set up a port forward for SSH, add:&lt;br /&gt;
  -nic user,hostfwd=tcp:127.0.0.1:7722-:22&lt;br /&gt;
And then log in like this (password: &amp;lt;code&amp;gt;toor&amp;lt;/code&amp;gt;):&lt;br /&gt;
  ssh root@localhost -p 7722&lt;br /&gt;
&lt;br /&gt;
If the mouse pointer is grabbed and no cursor shows, you can add&lt;br /&gt;
  -usb -device usb-tablet&lt;br /&gt;
to the command line&lt;br /&gt;
&lt;br /&gt;
If you have a USB modem you can also use that in QEMU. You can either use sudo to elevate your privileges to be able to use it:&lt;br /&gt;
  sudo qemu-system-x86_64 -hda maemo-leste-1.0-amd64-virtual-20200324.qcow2 -enable-kvm -cpu host -smp cores=2 -m 1024 \&lt;br /&gt;
  -nic user,hostfwd=tcp:127.0.0.1:7722-:22 \&lt;br /&gt;
  -usb -device usb-ehci,id=ehci \&lt;br /&gt;
  -device usb-host,bus=ehci.0,vendorid=0x0bdb,productid=0x193e&lt;br /&gt;
&lt;br /&gt;
Or you can make a udev rule for your device. For example, with a Lenovo Ericsson N5321 gw you can create &amp;quot;/etc/udev/rules.d/45-n5321.rules&amp;quot; with this in it:&lt;br /&gt;
  # Lenovo Ericsson N5321 gw simple udev rule&lt;br /&gt;
  SUBSYSTEMS==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;0bdb&amp;quot;, ATTRS{idProduct}==&amp;quot;193e&amp;quot;, \&lt;br /&gt;
    MODE:=&amp;quot;0666&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And then activate it by running these two commands as root:&lt;br /&gt;
  # udevadm control --reload-rules&lt;br /&gt;
  # udevadm trigger&lt;br /&gt;
&lt;br /&gt;
Now you can run QEMU without the need for sudo!&lt;br /&gt;
&lt;br /&gt;
=== virt-manager ===&lt;br /&gt;
&lt;br /&gt;
See [https://github.com/maemo-leste/bugtracker/issues/291#issuecomment-575952497 here].&lt;br /&gt;
&lt;br /&gt;
== Initial configuration ==&lt;br /&gt;
&lt;br /&gt;
On the first run you may want to generate ssh host keys and set the timezone. To do so open the &amp;quot;X Terminal&amp;quot; application and run:&lt;br /&gt;
 sudo su -&lt;br /&gt;
 dpkg-reconfigure openssh-server&lt;br /&gt;
 dpkg-reconfigure tzdata&lt;br /&gt;
&lt;br /&gt;
Make the system up-to-date:&lt;br /&gt;
 apt update&lt;br /&gt;
 apt upgrade&lt;br /&gt;
 apt install linux-image-amd64&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
To get networking to work (at least in virtualbox), launch a shell and do &lt;br /&gt;
 sudo ifconfig eth0 up&lt;br /&gt;
 sudo dhclient eth0&lt;br /&gt;
&lt;br /&gt;
== Connectivity ==&lt;br /&gt;
&lt;br /&gt;
If you have a modem exposed to QEMU, you still need to do some steps manually to get connectivity.&lt;br /&gt;
&lt;br /&gt;
First off you need to add the development APT repository to your APT sources:&lt;br /&gt;
 # echo 'deb https://maedevu.maemo.org/leste beowulf-devel main contrib non-free' &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
Now update and upgrade:&lt;br /&gt;
 # apt update &amp;amp;&amp;amp; apt upgrade&lt;br /&gt;
&lt;br /&gt;
Then you can install these things:&lt;br /&gt;
 # apt install ofono libicd-network-ofono connui-iapsettings-gprs connui-statusbar-cellular connui-home-cellular connui-cellular-settings connui-conndlgs-cellular&lt;br /&gt;
&lt;br /&gt;
We need mdbus2 to manipulate oFono:&lt;br /&gt;
 # wget http://ftp.nl.debian.org/debian/pool/main/m/mdbus/mdbus2_2.3.3-2_amd64.deb&lt;br /&gt;
 # dpkg -i mdbus2_2.3.3-2_amd64.deb&lt;br /&gt;
&lt;br /&gt;
Then we can check if oFono finds our modem:&lt;br /&gt;
 # mdbus2 -s org.ofono&lt;br /&gt;
 /&lt;br /&gt;
 /bluetooth&lt;br /&gt;
 /bluetooth/profile&lt;br /&gt;
 /bluetooth/profile/dun_gw&lt;br /&gt;
 /bluetooth/profile/hfp_ag&lt;br /&gt;
 /bluetooth/profile/hfp_hf&lt;br /&gt;
 /mbm_0&lt;br /&gt;
&lt;br /&gt;
Then can check our mbm_0 modem:&lt;br /&gt;
 # mdbus2 -s org.ofono /mbm_0&lt;br /&gt;
 [METHOD]   org.freedesktop.DBus.Introspectable.Introspect() -&amp;gt; (s:xml)&lt;br /&gt;
 [METHOD]   org.ofono.Modem.GetProperties() -&amp;gt; (a{sv}:properties)&lt;br /&gt;
 [METHOD]   org.ofono.Modem.SetProperty(s:property, v:value) -&amp;gt; ()&lt;br /&gt;
 [SIGNAL]   org.ofono.Modem.PropertyChanged(s:name, v:value)&lt;br /&gt;
&lt;br /&gt;
 # mdbus2 -s org.ofono /mbm_0 org.ofono.Modem.GetProperties&lt;br /&gt;
 ({'Online': &amp;lt;false&amp;gt;, 'Powered': &amp;lt;false&amp;gt;, 'Lockdown': &amp;lt;false&amp;gt;, 'Emergency': &amp;lt;false&amp;gt;, 'SystemPath': &amp;lt;'/sys/devices/pci0000:00/0000:00:04.0/usb1/1-1'&amp;gt;, 'Interfaces': &amp;lt;@as []&amp;gt;, 'Features': &amp;lt;@as []&amp;gt;, 'Type': &amp;lt;'hardware'&amp;gt;},)&lt;br /&gt;
&lt;br /&gt;
Power on the modem:&lt;br /&gt;
 # mdbus2 -s org.ofono /mbm_0 org.ofono.Modem.SetProperty Powered true&lt;br /&gt;
 ()&lt;br /&gt;
 # mdbus2 -s org.ofono /mbm_0 org.ofono.Modem.GetProperties&lt;br /&gt;
 ({'Online': &amp;lt;false&amp;gt;, 'Powered': &amp;lt;true&amp;gt;, 'Lockdown': &amp;lt;false&amp;gt;, 'Emergency': &amp;lt;false&amp;gt;, 'Manufacturer': &amp;lt;'Lenovo'&amp;gt;, 'Model': &amp;lt;'N5321 gw'&amp;gt;, 'Revision': &amp;lt;'R3C11'&amp;gt;, 'Serial': &amp;lt;'xxxxxxxxxxxx'&amp;gt;, 'SystemPath': &amp;lt;'/sys/devices/pci0000:00/0000:00:04.0/usb1/1-1'&amp;gt;, 'Interfaces': &amp;lt;['org.ofono.SimManager']&amp;gt;, 'Features': &amp;lt;['sim']&amp;gt;, 'Type': &amp;lt;'hardware'&amp;gt;},)&lt;br /&gt;
&lt;br /&gt;
Check if we need to enter a pin:&lt;br /&gt;
 # mdbus2 -s org.ofono /mbm_0 org.ofono.SimManager.GetProperties&lt;br /&gt;
 ({'Present': &amp;lt;true&amp;gt;, 'CardIdentifier': &amp;lt;'xxxxxx'&amp;gt;, 'FixedDialing': &amp;lt;false&amp;gt;, 'BarredDialing': &amp;lt;false&amp;gt;, 'SubscriberNumbers': &amp;lt;@as []&amp;gt;, 'LockedPins': &amp;lt;['pin']&amp;gt;, 'PreferredLanguages': &amp;lt;['de', 'en', 'fr']&amp;gt;, 'PinRequired': &amp;lt;'pin'&amp;gt;, 'Retries': &amp;lt;{'pin': byte 0x03, 'pin2': 0x03, 'puk': 0x0a, 'puk2': 0x0a}&amp;gt;, 'CardSlotCount': &amp;lt;uint32 1&amp;gt;, 'ActiveCardSlot': &amp;lt;uint32 1&amp;gt;},)&lt;br /&gt;
&lt;br /&gt;
If PinRequired is 'pin' we need to enter a pin to unlock the sim:&lt;br /&gt;
 # mdbus2 -s org.ofono /mbm_0 org.ofono.SimManager.EnterPin pin 1234&lt;br /&gt;
 ()&lt;br /&gt;
&lt;br /&gt;
Then we can bring the modem online:&lt;br /&gt;
 # mdbus2 -s org.ofono /mbm_0 org.ofono.Modem.SetProperty Online true&lt;br /&gt;
 ()&lt;br /&gt;
&lt;br /&gt;
If we now redo the first mdbus2 command on /mbm_0:&lt;br /&gt;
 # mdbus2 -s org.ofono /mbm_0&lt;br /&gt;
 [METHOD]   org.freedesktop.DBus.Introspectable.Introspect() -&amp;gt; (s:xml)&lt;br /&gt;
 [METHOD]   org.ofono.Modem.GetProperties() -&amp;gt; (a{sv}:properties)&lt;br /&gt;
 [METHOD]   org.ofono.Modem.SetProperty(s:property, v:value) -&amp;gt; ()&lt;br /&gt;
 [SIGNAL]   org.ofono.Modem.PropertyChanged(s:name, v:value)&lt;br /&gt;
 [METHOD]   org.ofono.SimManager.GetProperties() -&amp;gt; (a{sv}:properties)&lt;br /&gt;
 [METHOD]   org.ofono.SimManager.SetProperty(s:property, v:value) -&amp;gt; ()&lt;br /&gt;
 [METHOD]   org.ofono.SimManager.ChangePin(s:type, s:oldpin, s:newpin) -&amp;gt; ()&lt;br /&gt;
 [METHOD]   org.ofono.SimManager.EnterPin(s:type, s:pin) -&amp;gt; ()&lt;br /&gt;
 [METHOD]   org.ofono.SimManager.ResetPin(s:type, s:puk, s:newpin) -&amp;gt; ()&lt;br /&gt;
 [METHOD]   org.ofono.SimManager.LockPin(s:type, s:pin) -&amp;gt; ()&lt;br /&gt;
 [METHOD]   org.ofono.SimManager.UnlockPin(s:type, s:pin) -&amp;gt; ()&lt;br /&gt;
 [METHOD]   org.ofono.SimManager.GetIcon(y:id) -&amp;gt; (ay:icon)&lt;br /&gt;
 [SIGNAL]   org.ofono.SimManager.PropertyChanged(s:name, v:value)&lt;br /&gt;
 [METHOD]   org.ofono.AllowedAccessPoints.GetAllowedAccessPoints() -&amp;gt; (as:apnlist)&lt;br /&gt;
 [METHOD]   org.ofono.SimAuthentication.GetApplications() -&amp;gt; (a{oa{sv}}:applications)&lt;br /&gt;
 [METHOD]   org.ofono.SimAuthentication.GetProperties() -&amp;gt; (a{sv}:properties)&lt;br /&gt;
 [METHOD]   org.ofono.SimToolkit.GetProperties() -&amp;gt; (a{sv}:properties)&lt;br /&gt;
 [METHOD]   org.ofono.SimToolkit.SelectItem(y:item, o:agent) -&amp;gt; ()&lt;br /&gt;
 [METHOD]   org.ofono.SimToolkit.RegisterAgent(o:path) -&amp;gt; ()&lt;br /&gt;
 [METHOD]   org.ofono.SimToolkit.UnregisterAgent(o:path) -&amp;gt; ()&lt;br /&gt;
 [SIGNAL]   org.ofono.SimToolkit.PropertyChanged(s:name, v:value)&lt;br /&gt;
 [METHOD]   org.ofono.RadioSettings.GetProperties() -&amp;gt; (a{sv}:properties)&lt;br /&gt;
 [METHOD]   org.ofono.RadioSettings.SetProperty(s:property, v:value) -&amp;gt; ()&lt;br /&gt;
 [SIGNAL]   org.ofono.RadioSettings.PropertyChanged(s:name, v:value)&lt;br /&gt;
 [METHOD]   org.ofono.MessageManager.GetProperties() -&amp;gt; (a{sv}:properties)&lt;br /&gt;
 [METHOD]   org.ofono.MessageManager.SetProperty(s:property, v:value) -&amp;gt; ()&lt;br /&gt;
 [METHOD]   org.ofono.MessageManager.SendMessage(s:to, s:text) -&amp;gt; (o:path)&lt;br /&gt;
 [METHOD]   org.ofono.MessageManager.GetMessages() -&amp;gt; (a(oa{sv}):messages)&lt;br /&gt;
 [SIGNAL]   org.ofono.MessageManager.PropertyChanged(s:name, v:value)&lt;br /&gt;
 [SIGNAL]   org.ofono.MessageManager.IncomingMessage(s:message, a{sv}:info)&lt;br /&gt;
 [SIGNAL]   org.ofono.MessageManager.ImmediateMessage(s:message, a{sv}:info)&lt;br /&gt;
 [SIGNAL]   org.ofono.MessageManager.MessageAdded(o:path, a{sv}:properties)&lt;br /&gt;
 [SIGNAL]   org.ofono.MessageManager.MessageRemoved(o:path)&lt;br /&gt;
 [METHOD]   org.ofono.PushNotification.RegisterAgent(o:path) -&amp;gt; ()&lt;br /&gt;
 [METHOD]   org.ofono.PushNotification.UnregisterAgent(o:path) -&amp;gt; ()&lt;br /&gt;
 [METHOD]   org.ofono.SmartMessaging.RegisterAgent(o:path) -&amp;gt; ()&lt;br /&gt;
 [METHOD]   org.ofono.SmartMessaging.UnregisterAgent(o:path) -&amp;gt; ()&lt;br /&gt;
 [METHOD]   org.ofono.SmartMessaging.SendBusinessCard(s:to, ay:card) -&amp;gt; (o:path)&lt;br /&gt;
 [METHOD]   org.ofono.SmartMessaging.SendAppointment(s:to, ay:appointment) -&amp;gt; (o:path)&lt;br /&gt;
 [METHOD]   org.ofono.LocationReporting.GetProperties() -&amp;gt; (a{sv}:properties)&lt;br /&gt;
 [METHOD]   org.ofono.LocationReporting.Request() -&amp;gt; (h:fd)&lt;br /&gt;
 [METHOD]   org.ofono.LocationReporting.Release() -&amp;gt; ()&lt;br /&gt;
 [SIGNAL]   org.ofono.LocationReporting.PropertyChanged(s:name, v:value)&lt;br /&gt;
 [METHOD]   org.ofono.SupplementaryServices.Initiate(s:command) -&amp;gt; (s:result_name, v:value)&lt;br /&gt;
 [METHOD]   org.ofono.SupplementaryServices.Respond(s:reply) -&amp;gt; (s:result)&lt;br /&gt;
 [METHOD]   org.ofono.SupplementaryServices.Cancel() -&amp;gt; ()&lt;br /&gt;
 [METHOD]   org.ofono.SupplementaryServices.GetProperties() -&amp;gt; (a{sv}:properties)&lt;br /&gt;
 [SIGNAL]   org.ofono.SupplementaryServices.NotificationReceived(s:message)&lt;br /&gt;
 [SIGNAL]   org.ofono.SupplementaryServices.RequestReceived(s:message)&lt;br /&gt;
 [SIGNAL]   org.ofono.SupplementaryServices.PropertyChanged(s:name, v:value)&lt;br /&gt;
 [METHOD]   org.ofono.CellBroadcast.GetProperties() -&amp;gt; (a{sv}:properties)&lt;br /&gt;
 [METHOD]   org.ofono.CellBroadcast.SetProperty(s:property, v:value) -&amp;gt; ()&lt;br /&gt;
 [SIGNAL]   org.ofono.CellBroadcast.PropertyChanged(s:property, v:value)&lt;br /&gt;
 [SIGNAL]   org.ofono.CellBroadcast.IncomingBroadcast(s:message, q:channel)&lt;br /&gt;
 [SIGNAL]   org.ofono.CellBroadcast.EmergencyBroadcast(s:message, a{sv}:dict)&lt;br /&gt;
 [METHOD]   org.ofono.ConnectionManager.GetProperties() -&amp;gt; (a{sv}:properties)&lt;br /&gt;
 [METHOD]   org.ofono.ConnectionManager.SetProperty(s:property, v:value) -&amp;gt; ()&lt;br /&gt;
 [METHOD]   org.ofono.ConnectionManager.AddContext(s:type) -&amp;gt; (o:path)&lt;br /&gt;
 [METHOD]   org.ofono.ConnectionManager.RemoveContext(o:path) -&amp;gt; ()&lt;br /&gt;
 [METHOD]   org.ofono.ConnectionManager.DeactivateAll() -&amp;gt; ()&lt;br /&gt;
 [METHOD]   org.ofono.ConnectionManager.GetContexts() -&amp;gt; (a(oa{sv}):contexts_with_properties)&lt;br /&gt;
 [METHOD]   org.ofono.ConnectionManager.ResetContexts() -&amp;gt; ()&lt;br /&gt;
 [SIGNAL]   org.ofono.ConnectionManager.PropertyChanged(s:name, v:value)&lt;br /&gt;
 [SIGNAL]   org.ofono.ConnectionManager.ContextAdded(o:path, a{sv}:properties)&lt;br /&gt;
 [SIGNAL]   org.ofono.ConnectionManager.ContextRemoved(o:path)&lt;br /&gt;
 [METHOD]   org.ofono.NetworkRegistration.GetProperties() -&amp;gt; (a{sv}:properties)&lt;br /&gt;
 [METHOD]   org.ofono.NetworkRegistration.Register() -&amp;gt; ()&lt;br /&gt;
 [METHOD]   org.ofono.NetworkRegistration.GetOperators() -&amp;gt; (a(oa{sv}):operators_with_properties)&lt;br /&gt;
 [METHOD]   org.ofono.NetworkRegistration.Scan() -&amp;gt; (a(oa{sv}):operators_with_properties)&lt;br /&gt;
 [SIGNAL]   org.ofono.NetworkRegistration.PropertyChanged(s:name, v:value)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=745</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=745"/>
		<updated>2020-05-22T19:35:37Z</updated>

		<summary type="html">&lt;p&gt;Derby: State that Maemo Leste uses mainline Linux in the description under &amp;quot;What is Maemo Leste?&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.  It also uses a '''[[#What_is_mainline_Linux.3F|mainline Linux]]''' kernel.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Building on top an actively developed Linux distribution makes Maemo Leste maintenance sustainable.  Fremantle was built on top of Debian packages forked from several versions of Debian, leaving the onus on Nokia to maintain every single package.  Leste however, utilises Devuan's package repositories meaning that much of the heavy lifting is already done by upstream; we only have to manage and maintain a limited set of packages.  This also gives us the benefit of having access to over 20,000 packages from upstream, immediately available for installation in Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
All in all, Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of mainline Linux.  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long-term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained by vendors with almost no effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste run with pure mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
The primary devices that we support can run with a pure mainline Linux kernel, however right now our images use mainline plus a few patches.  As we are still in the early phases of development, our current priority is to ensure that our supported devices are as fully functional as they can possibly be, thus the additional patches help to achieve this.  We have already upstreamed some of our patches and our goal is to upstream the remaining ones to be able to switch to using a 100% mainline kernel on our devices.&lt;br /&gt;
&lt;br /&gt;
=== Is Maemo Leste completely free? ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately not.  There is still no smartphone available that is fully functional without the use of [https://en.wikipedia.org/wiki/Proprietary_device_driver binary blobs].  Our primary supported devices currently require closed firmware to be able to use Wi-Fi and Bluetooth, and the TI OMAP-based devices have integrated PowerVR video hardware which require closed user space drivers for video acceleration.  It's an unfortunate state of affairs, however progress is being made, and the PinePhone is a great example of this as it can have video acceleration with the Lima driver which is 100% free software.&lt;br /&gt;
&lt;br /&gt;
Our current goal is to provide full functionality for our supported devices, however there are plans to additionally provide a blob-free, libre version of Maemo Leste with missing functionality where blobs are required.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== musl libc kicks arse.  Can I use Maemo Leste with musl? ===&lt;br /&gt;
&lt;br /&gt;
We love musl libc too.  musl provides a lean, efficient and standards-compliant implementation of libc.  What's not to like?  Well unfortunately a lot of software built for Linux is glibc-dependent and is not standards-compliant.  Rebuilding this software with musl can result in unexpected runtime behaviour or bugs.  musl would be an extra hurdle that we don't really need right now.  Still, it would be nice to one day see Maemo Leste rebuilt against musl and might make for an interesting future project, but until then, make sure you check out postmarketOS.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve.  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=631</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=631"/>
		<updated>2020-02-20T02:44:22Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* What devices does Maemo Leste work on? */ Fix punctuation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Building on top an actively developed Linux distribution makes Maemo Leste maintenance sustainable.  Fremantle was built on top of Debian packages forked from several versions of Debian, leaving the onus on Nokia to maintain every single package.  Leste however, utilises Devuan's package repositories meaning that much of the heavy lifting is already done by upstream; we only have to manage and maintain a limited set of packages.  This also gives us the benefit of having access to over 20,000 packages from upstream, immediately available for installation in Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
All in all, Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of [[#What_is_mainline_Linux.3F|mainline Linux]].  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long-term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained by vendors with almost no effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste run with pure mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
The primary devices that we support can run with a pure mainline Linux kernel, however right now our images use mainline plus a few patches.  As we are still in the early phases of development, our current priority is to ensure that our supported devices are as fully functional as they can possibly be, thus the additional patches help to achieve this.  We have already upstreamed some of our patches and our goal is to upstream the remaining ones to be able to switch to using a 100% mainline kernel on our devices.&lt;br /&gt;
&lt;br /&gt;
=== Is Maemo Leste completely free? ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately not.  There is still no smartphone available that is fully functional without the use of [https://en.wikipedia.org/wiki/Proprietary_device_driver binary blobs].  Our primary supported devices currently require closed firmware to be able to use Wi-Fi and Bluetooth, and the TI OMAP-based devices have integrated PowerVR video hardware which require closed user space drivers for video acceleration.  It's an unfortunate state of affairs, however progress is being made, and the PinePhone is a great example of this as it can have video acceleration with the Lima driver which is 100% free software.&lt;br /&gt;
&lt;br /&gt;
Our current goal is to provide full functionality for our supported devices, however there are plans to additionally provide a blob-free, libre version of Maemo Leste with missing functionality where blobs are required.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== musl libc kicks arse.  Can I use Maemo Leste with musl? ===&lt;br /&gt;
&lt;br /&gt;
We love musl libc too.  musl provides a lean, efficient and standards-compliant implementation of libc.  What's not to like?  Well unfortunately a lot of software built for Linux is glibc-dependent and is not standards-compliant.  Rebuilding this software with musl can result in unexpected runtime behaviour or bugs.  musl would be an extra hurdle that we don't really need right now.  Still, it would be nice to one day see Maemo Leste rebuilt against musl and might make for an interesting future project, but until then, make sure you check out postmarketOS.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve.  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=630</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=630"/>
		<updated>2020-02-19T13:20:13Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Does Maemo Leste run with pure mainline Linux? */ Improve wording as &amp;quot;running&amp;quot; is already possible.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Building on top an actively developed Linux distribution makes Maemo Leste maintenance sustainable.  Fremantle was built on top of Debian packages forked from several versions of Debian, leaving the onus on Nokia to maintain every single package.  Leste however, utilises Devuan's package repositories meaning that much of the heavy lifting is already done by upstream; we only have to manage and maintain a limited set of packages.  This also gives us the benefit of having access to over 20,000 packages from upstream, immediately available for installation in Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
All in all, Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of [[#What_is_mainline_Linux.3F|mainline Linux]].  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long-term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained by vendors with almost no effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste run with pure mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
The primary devices that we support can run with a pure mainline Linux kernel, however right now our images use mainline plus a few patches.  As we are still in the early phases of development, our current priority is to ensure that our supported devices are as fully functional as they can possibly be, thus the additional patches help to achieve this.  We have already upstreamed some of our patches and our goal is to upstream the remaining ones to be able to switch to using a 100% mainline kernel on our devices.&lt;br /&gt;
&lt;br /&gt;
=== Is Maemo Leste completely free? ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately not.  There is still no smartphone available that is fully functional without the use of [https://en.wikipedia.org/wiki/Proprietary_device_driver binary blobs].  Our primary supported devices currently require closed firmware to be able to use Wi-Fi and Bluetooth, and the TI OMAP-based devices have integrated PowerVR video hardware which require closed user space drivers for video acceleration.  It's an unfortunate state of affairs, however progress is being made, and the PinePhone is a great example of this as it can have video acceleration with the Lima driver which is 100% free software.&lt;br /&gt;
&lt;br /&gt;
Our current goal is to provide full functionality for our supported devices, however there are plans to additionally provide a blob-free, libre version of Maemo Leste with missing functionality where blobs are required.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== musl libc kicks arse.  Can I use Maemo Leste with musl? ===&lt;br /&gt;
&lt;br /&gt;
We love musl libc too.  musl provides a lean, efficient and standards-compliant implementation of libc.  What's not to like?  Well unfortunately a lot of software built for Linux is glibc-dependent and is not standards-compliant.  Rebuilding this software with musl can result in unexpected runtime behaviour or bugs.  musl would be an extra hurdle that we don't really need right now.  Still, it would be nice to one day see Maemo Leste rebuilt against musl and might make for an interesting future project, but until then, make sure you check out postmarketOS.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=626</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=626"/>
		<updated>2020-02-17T13:35:21Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* How about other popular non-Android mobile Linux distributions? */ Fix broken link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Building on top an actively developed Linux distribution makes Maemo Leste maintenance sustainable.  Fremantle was built on top of Debian packages forked from several versions of Debian, leaving the onus on Nokia to maintain every single package.  Leste however, utilises Devuan's package repositories meaning that much of the heavy lifting is already done by upstream; we only have to manage and maintain a limited set of packages.  This also gives us the benefit of having access to over 20,000 packages from upstream, immediately available for installation in Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
All in all, Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of [[#What_is_mainline_Linux.3F|mainline Linux]].  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long-term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained by vendors with almost no effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste run with pure mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
The primary devices that we support can run with a pure mainline Linux kernel, however right now our images use mainline plus a few patches.  As we are still in the early phases of development, our current priority is to ensure that our supported devices are as fully functional as they can possibly be, thus the additional patches help to achieve this.  We have already upstreamed some of our patches and our goal is to upstream the remaining ones to be able to run a 100% mainline kernel on our devices.&lt;br /&gt;
&lt;br /&gt;
=== Is Maemo Leste completely free? ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately not.  There is still no smartphone available that is fully functional without the use of [https://en.wikipedia.org/wiki/Proprietary_device_driver binary blobs].  Our primary supported devices currently require closed firmware to be able to use Wi-Fi and Bluetooth, and the TI OMAP-based devices have integrated PowerVR video hardware which require closed user space drivers for video acceleration.  It's an unfortunate state of affairs, however progress is being made, and the PinePhone is a great example of this as it can have video acceleration with the Lima driver which is 100% free software.&lt;br /&gt;
&lt;br /&gt;
Our current goal is to provide full functionality for our supported devices, however there are plans to additionally provide a blob-free, libre version of Maemo Leste with missing functionality where blobs are required.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== musl libc kicks arse.  Can I use Maemo Leste with musl? ===&lt;br /&gt;
&lt;br /&gt;
We love musl libc too.  musl provides a lean, efficient and standards-compliant implementation of libc.  What's not to like?  Well unfortunately a lot of software built for Linux is glibc-dependent and is not standards-compliant.  Rebuilding this software with musl can result in unexpected runtime behaviour or bugs.  musl would be an extra hurdle that we don't really need right now.  Still, it would be nice to one day see Maemo Leste rebuilt against musl and might make for an interesting future project, but until then, make sure you check out postmarketOS.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Talks&amp;diff=615</id>
		<title>Talks</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Talks&amp;diff=615"/>
		<updated>2020-02-03T19:23:13Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* FOSDEM 2020 - Freedom Main Track - 2nd February 2020 */ FOSDEM 2020 videos are now up&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FOSDEM 2020 - Freedom Main Track - 2nd February 2020 ==&lt;br /&gt;
&lt;br /&gt;
'''Regaining control of your smartphone with postmarketOS and Maemo Leste - Status of Linux on the smartphone''' - ''Merlijn Wajer (Wizzup), Bart Ribbers (PureTryOut)''&lt;br /&gt;
&lt;br /&gt;
[https://fosdem.org/2020/schedule/event/smartphones/ Event info]&lt;br /&gt;
&lt;br /&gt;
Video: [https://video.fosdem.org/2020/Janson/smartphones.webm WebM/VP9], [https://video.fosdem.org/2020/Janson/smartphones.mp4 MP4]&lt;br /&gt;
&lt;br /&gt;
== OpenFest 2019 - 2nd November 2019==&lt;br /&gt;
&lt;br /&gt;
'''GNU/Linux: coming to a phone near you''' - ''Merlijn Wajer (Wizzup)''&lt;br /&gt;
&lt;br /&gt;
[https://www.openfest.org/2019/en/full-schedule/#lecture-471 Event info]&lt;br /&gt;
&lt;br /&gt;
Video: [https://www.youtube.com/watch?v=heQmjP5tQn0 YouTube] (via [https://invidio.us/watch?v=heQmjP5tQn0 Invidious])&lt;br /&gt;
&lt;br /&gt;
== OpenAlt 2019 - 2nd November 2019 ==&lt;br /&gt;
&lt;br /&gt;
'''Debian v kapse''' - ''Pavel Machek''&lt;br /&gt;
&lt;br /&gt;
[https://openalt.cz/2019/program_detail.php#event_32 Event info]&lt;br /&gt;
&lt;br /&gt;
== Devuan Conference #1: “THE POWER OF CHOICE” - 7th April 2019 ==&lt;br /&gt;
&lt;br /&gt;
'''Maemo Leste: Mobile Hacker OS''' - ''Ivan Jelincic (parazyd)''&lt;br /&gt;
&lt;br /&gt;
Video: [https://www.youtube.com/watch?v=_ULy7jBnXdo&amp;amp;t=12304 YouTube] (via [https://invidio.us/watch?v=_ULy7jBnXdo&amp;amp;t=12304 Invidious])&lt;br /&gt;
&lt;br /&gt;
== FOSDEM 2019 - Lightning Talk - 2nd February 2019 ==&lt;br /&gt;
&lt;br /&gt;
'''Maemo Leste - A Debian/Devuan based mobile hacker OS''' - ''Merlijn Wajer (Wizzup)''&lt;br /&gt;
&lt;br /&gt;
[https://archive.fosdem.org/2019/schedule/event/maemo_leste_mobile Event info]&lt;br /&gt;
&lt;br /&gt;
Video: [https://video.fosdem.org/2019/H.2215/maemo_leste_mobile.webm WebM/VP9], [https://video.fosdem.org/2019/H.2215/maemo_leste_mobile.mp4 MP4]&lt;br /&gt;
&lt;br /&gt;
[https://maedevu.maemo.org/media/fosdem-2019-maemo-leste.pdf Slides]&lt;br /&gt;
&lt;br /&gt;
== OpenFest 2018 - 4th November 2018 ==&lt;br /&gt;
&lt;br /&gt;
'''Maemo Leste''' - ''Merlijn Wajer (Wizzup), Ivan Jelincic (parazyd)''&lt;br /&gt;
&lt;br /&gt;
[https://www.openfest.org/2018/en/full-schedule/#lecture-360 Event info]&lt;br /&gt;
&lt;br /&gt;
Video: [https://maedevu.maemo.org/media/openfest-2018-maemo-leste-wizzup-parazyd.webm WebM]&lt;br /&gt;
&lt;br /&gt;
[https://maedevu.maemo.org/media/openfest-2018-maemo-leste.pdf Slides]&lt;br /&gt;
&lt;br /&gt;
== OpenAlt 2018 - 3rd November 2018 ==&lt;br /&gt;
&lt;br /&gt;
'''Maemo Leste - Debian do kapsy''' - ''Pavel Machek''&lt;br /&gt;
&lt;br /&gt;
[https://openalt.cz/2018/program_detail.php#event_14 Event info]&lt;br /&gt;
&lt;br /&gt;
Video: [https://www.youtube.com/watch?v=9C0j4M_AQ2I YouTube] (via [https://invidio.us/watch?v=9C0j4M_AQ2I Invidious])&lt;br /&gt;
&lt;br /&gt;
[https://openalt.cz/2018/avatars/d96c9c95348879e4e6e2c27f665ca2b3-nokia_n900.pdf Slides]&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=614</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=614"/>
		<updated>2020-02-02T16:01:38Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Does Maemo Leste use Halium? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Building on top an actively developed Linux distribution makes Maemo Leste maintenance sustainable.  Fremantle was built on top of Debian packages forked from several versions of Debian, leaving the onus on Nokia to maintain every single package.  Leste however, utilises Devuan's package repositories meaning that much of the heavy lifting is already done by upstream; we only have to manage and maintain a limited set of packages.  This also gives us the benefit of having access to over 20,000 packages from upstream, immediately available for installation in Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
All in all, Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of [[#What_is_mainline_Linux.3F|mainline Linux]].  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long-term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained by vendors with almost no effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste run with pure mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
The primary devices that we support can run with a pure mainline Linux kernel, however right now our images use mainline plus a few patches.  As we are still in the early phases of development, our current priority is to ensure that our supported devices are as fully functional as they can possibly be, thus the additional patches help to achieve this.  We have already upstreamed some of our patches and our goal is to upstream the remaining ones to be able to run a 100% mainline kernel on our devices.&lt;br /&gt;
&lt;br /&gt;
=== Is Maemo Leste completely free? ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately not.  There is still no smartphone available that is fully functional without the use of [https://en.wikipedia.org/wiki/Proprietary_device_driver binary blobs].  Our primary supported devices currently require closed firmware to be able to use Wi-Fi and Bluetooth, and the TI OMAP-based devices have integrated PowerVR video hardware which require closed user space drivers for video acceleration.  It's an unfortunate state of affairs, however progress is being made, and the PinePhone is a great example of this as it can have video acceleration with the Lima driver which is 100% free software.&lt;br /&gt;
&lt;br /&gt;
Our current goal is to provide full functionality for our supported devices, however there are plans to additionally provide a blob-free, libre version of Maemo Leste with missing functionality where blobs are required.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== musl libc kicks arse.  Can I use Maemo Leste with musl? ===&lt;br /&gt;
&lt;br /&gt;
We love musl libc too.  musl provides a lean, efficient and standards-compliant implementation of libc.  What's not to like?  Well unfortunately a lot of software built for Linux is glibc-dependent and is not standards-compliant.  Rebuilding this software with musl can result in unexpected runtime behaviour or bugs.  musl would be an extra hurdle that we don't really need right now.  Still, it would be nice to one day see Maemo Leste rebuilt against musl and might make for an interesting future project, but until then, make sure you check out postmarketOS.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Talks&amp;diff=613</id>
		<title>Talks</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Talks&amp;diff=613"/>
		<updated>2020-02-02T15:01:52Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* FOSDEM 2020 - Freedom Main Track - 2nd February 2020 */ Live stream is over&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FOSDEM 2020 - Freedom Main Track - 2nd February 2020 ==&lt;br /&gt;
&lt;br /&gt;
'''Regaining control of your smartphone with postmarketOS and Maemo Leste - Status of Linux on the smartphone''' - ''Merlijn Wajer (Wizzup), Bart Ribbers (PureTryOut)''&lt;br /&gt;
&lt;br /&gt;
[https://fosdem.org/2020/schedule/event/smartphones/ Event info]&lt;br /&gt;
&lt;br /&gt;
Video: Coming soon&lt;br /&gt;
&lt;br /&gt;
== OpenFest 2019 - 2nd November 2019==&lt;br /&gt;
&lt;br /&gt;
'''GNU/Linux: coming to a phone near you''' - ''Merlijn Wajer (Wizzup)''&lt;br /&gt;
&lt;br /&gt;
[https://www.openfest.org/2019/en/full-schedule/#lecture-471 Event info]&lt;br /&gt;
&lt;br /&gt;
Video: [https://www.youtube.com/watch?v=heQmjP5tQn0 YouTube] (via [https://invidio.us/watch?v=heQmjP5tQn0 Invidious])&lt;br /&gt;
&lt;br /&gt;
== OpenAlt 2019 - 2nd November 2019 ==&lt;br /&gt;
&lt;br /&gt;
'''Debian v kapse''' - ''Pavel Machek''&lt;br /&gt;
&lt;br /&gt;
[https://openalt.cz/2019/program_detail.php#event_32 Event info]&lt;br /&gt;
&lt;br /&gt;
== Devuan Conference #1: “THE POWER OF CHOICE” - 7th April 2019 ==&lt;br /&gt;
&lt;br /&gt;
'''Maemo Leste: Mobile Hacker OS''' - ''Ivan Jelincic (parazyd)''&lt;br /&gt;
&lt;br /&gt;
Video: [https://www.youtube.com/watch?v=_ULy7jBnXdo&amp;amp;t=12304 YouTube] (via [https://invidio.us/watch?v=_ULy7jBnXdo&amp;amp;t=12304 Invidious])&lt;br /&gt;
&lt;br /&gt;
== FOSDEM 2019 - Lightning Talk - 2nd February 2019 ==&lt;br /&gt;
&lt;br /&gt;
'''Maemo Leste - A Debian/Devuan based mobile hacker OS''' - ''Merlijn Wajer (Wizzup)''&lt;br /&gt;
&lt;br /&gt;
[https://archive.fosdem.org/2019/schedule/event/maemo_leste_mobile Event info]&lt;br /&gt;
&lt;br /&gt;
Video: [https://video.fosdem.org/2019/H.2215/maemo_leste_mobile.webm WebM/VP9], [https://video.fosdem.org/2019/H.2215/maemo_leste_mobile.mp4 MP4]&lt;br /&gt;
&lt;br /&gt;
[https://maedevu.maemo.org/media/fosdem-2019-maemo-leste.pdf Slides]&lt;br /&gt;
&lt;br /&gt;
== OpenFest 2018 - 4th November 2018 ==&lt;br /&gt;
&lt;br /&gt;
'''Maemo Leste''' - ''Merlijn Wajer (Wizzup), Ivan Jelincic (parazyd)''&lt;br /&gt;
&lt;br /&gt;
[https://www.openfest.org/2018/en/full-schedule/#lecture-360 Event info]&lt;br /&gt;
&lt;br /&gt;
Video: [https://maedevu.maemo.org/media/openfest-2018-maemo-leste-wizzup-parazyd.webm WebM]&lt;br /&gt;
&lt;br /&gt;
[https://maedevu.maemo.org/media/openfest-2018-maemo-leste.pdf Slides]&lt;br /&gt;
&lt;br /&gt;
== OpenAlt 2018 - 3rd November 2018 ==&lt;br /&gt;
&lt;br /&gt;
'''Maemo Leste - Debian do kapsy''' - ''Pavel Machek''&lt;br /&gt;
&lt;br /&gt;
[https://openalt.cz/2018/program_detail.php#event_14 Event info]&lt;br /&gt;
&lt;br /&gt;
Video: [https://www.youtube.com/watch?v=9C0j4M_AQ2I YouTube] (via [https://invidio.us/watch?v=9C0j4M_AQ2I Invidious])&lt;br /&gt;
&lt;br /&gt;
[https://openalt.cz/2018/avatars/d96c9c95348879e4e6e2c27f665ca2b3-nokia_n900.pdf Slides]&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=612</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=612"/>
		<updated>2020-02-02T14:55:00Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* What is Maemo Leste? */ Add comment on available upstream packages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Building on top an actively developed Linux distribution makes Maemo Leste maintenance sustainable.  Fremantle was built on top of Debian packages forked from several versions of Debian, leaving the onus on Nokia to maintain every single package.  Leste however, utilises Devuan's package repositories meaning that much of the heavy lifting is already done by upstream; we only have to manage and maintain a limited set of packages.  This also gives us the benefit of having access to over 20,000 packages from upstream, immediately available for installation in Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
All in all, Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of [[#What_is_mainline_Linux.3F|mainline Linux]].  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long-term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained by vendors with almost no effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste run with pure mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
The primary devices that we support can run with a pure mainline Linux kernel, however right now our images use mainline plus a few patches.  As we are still in the early phases of development, our current priority is to ensure that our supported devices are as fully functional as they can possibly be, thus the additional patches help to achieve this.  We have already upstreamed some of our patches and our goal is to upstream the remaining ones to be able to run a 100% mainline kernel on our devices.&lt;br /&gt;
&lt;br /&gt;
=== Is Maemo Leste completely free? ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately not.  There is still no smartphone available that is fully functional without the use of [https://en.wikipedia.org/wiki/Proprietary_device_driver binary blobs].  Our primary supported devices currently require closed firmware to be able to use Wi-Fi and Bluetooth, and the TI OMAP-based devices have integrated PowerVR video hardware which require closed user space drivers for video acceleration.  It's an unfortunate state of affairs, however progress is being made, and the PinePhone is a great example of this as it can have video acceleration with the Lima driver which is 100% free software.&lt;br /&gt;
&lt;br /&gt;
Our current goal is to provide full functionality for our supported devices, however there are plans to additionally provide a blob-free, libre version of Maemo Leste with missing functionality where blobs are required.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== musl libc kicks arse.  Can I use Maemo Leste with musl? ===&lt;br /&gt;
&lt;br /&gt;
We love musl libc too.  musl provides a lean, efficient and standards-compliant implementation of libc.  What's not to like?  Well unfortunately a lot of software built for Linux is glibc-dependent and is not standards-compliant.  Rebuilding this software with musl can result in unexpected runtime behaviour or bugs.  musl would be an extra hurdle that we don't really need right now.  Still, it would be nice to one day see Maemo Leste rebuilt against musl and might make for an interesting future project, but until then, make sure you check out postmarketOS.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=611</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=611"/>
		<updated>2020-02-02T14:45:36Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Is Maemo Leste completely free? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Building on top an actively developed Linux distribution makes Maemo Leste maintenance sustainable.  Fremantle was built on top of Debian packages forked from several versions of Debian, leaving the onus on Nokia to maintain every single package.  Leste however, utilises Devuan's package repositories meaning that much of the heavy lifting is already done by upstream; we only have to manage and maintain a limited set of packages.&lt;br /&gt;
&lt;br /&gt;
All in all, Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of [[#What_is_mainline_Linux.3F|mainline Linux]].  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long-term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained by vendors with almost no effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste run with pure mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
The primary devices that we support can run with a pure mainline Linux kernel, however right now our images use mainline plus a few patches.  As we are still in the early phases of development, our current priority is to ensure that our supported devices are as fully functional as they can possibly be, thus the additional patches help to achieve this.  We have already upstreamed some of our patches and our goal is to upstream the remaining ones to be able to run a 100% mainline kernel on our devices.&lt;br /&gt;
&lt;br /&gt;
=== Is Maemo Leste completely free? ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately not.  There is still no smartphone available that is fully functional without the use of [https://en.wikipedia.org/wiki/Proprietary_device_driver binary blobs].  Our primary supported devices currently require closed firmware to be able to use Wi-Fi and Bluetooth, and the TI OMAP-based devices have integrated PowerVR video hardware which require closed user space drivers for video acceleration.  It's an unfortunate state of affairs, however progress is being made, and the PinePhone is a great example of this as it can have video acceleration with the Lima driver which is 100% free software.&lt;br /&gt;
&lt;br /&gt;
Our current goal is to provide full functionality for our supported devices, however there are plans to additionally provide a blob-free, libre version of Maemo Leste with missing functionality where blobs are required.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== musl libc kicks arse.  Can I use Maemo Leste with musl? ===&lt;br /&gt;
&lt;br /&gt;
We love musl libc too.  musl provides a lean, efficient and standards-compliant implementation of libc.  What's not to like?  Well unfortunately a lot of software built for Linux is glibc-dependent and is not standards-compliant.  Rebuilding this software with musl can result in unexpected runtime behaviour or bugs.  musl would be an extra hurdle that we don't really need right now.  Still, it would be nice to one day see Maemo Leste rebuilt against musl and might make for an interesting future project, but until then, make sure you check out postmarketOS.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=610</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=610"/>
		<updated>2020-02-02T06:19:18Z</updated>

		<summary type="html">&lt;p&gt;Derby: Add &amp;quot;Can I use Maemo Leste with musl?&amp;quot; question&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Building on top an actively developed Linux distribution makes Maemo Leste maintenance sustainable.  Fremantle was built on top of Debian packages forked from several versions of Debian, leaving the onus on Nokia to maintain every single package.  Leste however, utilises Devuan's package repositories meaning that much of the heavy lifting is already done by upstream; we only have to manage and maintain a limited set of packages.&lt;br /&gt;
&lt;br /&gt;
All in all, Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of [[#What_is_mainline_Linux.3F|mainline Linux]].  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long-term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained by vendors with almost no effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste run with pure mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
The primary devices that we support can run with a pure mainline Linux kernel, however right now our images use mainline plus a few patches.  As we are still in the early phases of development, our current priority is to ensure that our supported devices are as fully functional as they can possibly be, thus the additional patches help to achieve this.  We have already upstreamed some of our patches and our goal is to upstream the remaining ones to be able to run a 100% mainline kernel on our devices.&lt;br /&gt;
&lt;br /&gt;
=== Is Maemo Leste completely free? ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately not.  There is still no smartphone available that is fully functional without the use of [https://en.wikipedia.org/wiki/Proprietary_device_driver binary blobs].  Our primary supported devices currently require closed firmware to be able to use Wi-Fi and Bluetooth, and the TI OMAP-based devices have integrated PowerVR video hardware which require closed drivers for video acceleration.  It's an unfortunate state of affairs, however progress is being made, and the PinePhone is a great example of this as it can have video acceleration with the Lima driver which is 100% free software.&lt;br /&gt;
&lt;br /&gt;
Our current goal is to provide full functionality for our supported devices, however there are plans to additionally provide a blob-free, libre version of Maemo Leste with missing functionality where blobs are required.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== musl libc kicks arse.  Can I use Maemo Leste with musl? ===&lt;br /&gt;
&lt;br /&gt;
We love musl libc too.  musl provides a lean, efficient and standards-compliant implementation of libc.  What's not to like?  Well unfortunately a lot of software built for Linux is glibc-dependent and is not standards-compliant.  Rebuilding this software with musl can result in unexpected runtime behaviour or bugs.  musl would be an extra hurdle that we don't really need right now.  Still, it would be nice to one day see Maemo Leste rebuilt against musl and might make for an interesting future project, but until then, make sure you check out postmarketOS.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=609</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=609"/>
		<updated>2020-02-02T05:29:57Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* What is Maemo Leste? */ Add paragragh explaining the benefits of building on top of Devuan compared to Fremantle&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Building on top an actively developed Linux distribution makes Maemo Leste maintenance sustainable.  Fremantle was built on top of Debian packages forked from several versions of Debian, leaving the onus on Nokia to maintain every single package.  Leste however, utilises Devuan's package repositories meaning that much of the heavy lifting is already done by upstream; we only have to manage and maintain a limited set of packages.&lt;br /&gt;
&lt;br /&gt;
All in all, Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of [[#What_is_mainline_Linux.3F|mainline Linux]].  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long-term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained by vendors with almost no effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste run with pure mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
The primary devices that we support can run with a pure mainline Linux kernel, however right now our images use mainline plus a few patches.  As we are still in the early phases of development, our current priority is to ensure that our supported devices are as fully functional as they can possibly be, thus the additional patches help to achieve this.  We have already upstreamed some of our patches and our goal is to upstream the remaining ones to be able to run a 100% mainline kernel on our devices.&lt;br /&gt;
&lt;br /&gt;
=== Is Maemo Leste completely free? ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately not.  There is still no smartphone available that is fully functional without the use of [https://en.wikipedia.org/wiki/Proprietary_device_driver binary blobs].  Our primary supported devices currently require closed firmware to be able to use Wi-Fi and Bluetooth, and the TI OMAP-based devices have integrated PowerVR video hardware which require closed drivers for video acceleration.  It's an unfortunate state of affairs, however progress is being made, and the PinePhone is a great example of this as it can have video acceleration with the Lima driver which is 100% free software.&lt;br /&gt;
&lt;br /&gt;
Our current goal is to provide full functionality for our supported devices, however there are plans to additionally provide a blob-free, libre version of Maemo Leste with missing functionality where blobs are required.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=608</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=608"/>
		<updated>2020-02-02T04:28:49Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Does Maemo Leste run with pure mainline Linux? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of [[#What_is_mainline_Linux.3F|mainline Linux]].  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long-term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained by vendors with almost no effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste run with pure mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
The primary devices that we support can run with a pure mainline Linux kernel, however right now our images use mainline plus a few patches.  As we are still in the early phases of development, our current priority is to ensure that our supported devices are as fully functional as they can possibly be, thus the additional patches help to achieve this.  We have already upstreamed some of our patches and our goal is to upstream the remaining ones to be able to run a 100% mainline kernel on our devices.&lt;br /&gt;
&lt;br /&gt;
=== Is Maemo Leste completely free? ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately not.  There is still no smartphone available that is fully functional without the use of [https://en.wikipedia.org/wiki/Proprietary_device_driver binary blobs].  Our primary supported devices currently require closed firmware to be able to use Wi-Fi and Bluetooth, and the TI OMAP-based devices have integrated PowerVR video hardware which require closed drivers for video acceleration.  It's an unfortunate state of affairs, however progress is being made, and the PinePhone is a great example of this as it can have video acceleration with the Lima driver which is 100% free software.&lt;br /&gt;
&lt;br /&gt;
Our current goal is to provide full functionality for our supported devices, however there are plans to additionally provide a blob-free, libre version of Maemo Leste with missing functionality where blobs are required.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=607</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=607"/>
		<updated>2020-02-02T03:50:42Z</updated>

		<summary type="html">&lt;p&gt;Derby: Paragraph consistency&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of [[#What_is_mainline_Linux.3F|mainline Linux]].  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long-term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained by vendors with almost no effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste run with pure mainline Linux? ===&lt;br /&gt;
&lt;br /&gt;
The primary devices that we support can run with a pure mainline Linux kernel, however right now our images use mainline plus a few patches.  As we are still in the early phases of development, our current priority is to ensure that our supported devices are as fully functional as they can possibly be.  We have already upstreamed some of our patches and our goal is to upstream the remaining ones to be able to run a 100% mainline kernel on our devices.&lt;br /&gt;
&lt;br /&gt;
=== Is Maemo Leste completely free? ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately not.  There is still no smartphone available that is fully functional without the use of [https://en.wikipedia.org/wiki/Proprietary_device_driver binary blobs].  Our primary supported devices currently require closed firmware to be able to use Wi-Fi and Bluetooth, and the TI OMAP-based devices have integrated PowerVR video hardware which require closed drivers for video acceleration.  It's an unfortunate state of affairs, however progress is being made, and the PinePhone is a great example of this as it can have video acceleration with the Lima driver which is 100% free software.&lt;br /&gt;
&lt;br /&gt;
Our current goal is to provide full functionality for our supported devices, however there are plans to additionally provide a blob-free, libre version of Maemo Leste with missing functionality where blobs are required.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=606</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=606"/>
		<updated>2020-02-02T03:47:52Z</updated>

		<summary type="html">&lt;p&gt;Derby: Add &amp;quot;Is Maemo Leste completely free?&amp;quot; question&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of [[#What_is_mainline_Linux.3F|mainline Linux]].  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long-term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained by vendors with almost no effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste run with pure mainline Linux? ===&lt;br /&gt;
The primary devices that we support can run with a pure mainline Linux kernel, however right now our images use mainline plus a few patches.  As we are still in the early phases of development, our current priority is to ensure that our supported devices are as fully functional as they can possibly be.  We have already upstreamed some of our patches and our goal is to upstream the remaining ones to be able to run a 100% mainline kernel on our devices.&lt;br /&gt;
&lt;br /&gt;
=== Is Maemo Leste completely free? ===&lt;br /&gt;
Unfortunately not.  There is still no smartphone available that is fully functional without the use of [https://en.wikipedia.org/wiki/Proprietary_device_driver binary blobs].  Our primary supported devices currently require closed firmware to be able to use Wi-Fi and Bluetooth, and the TI OMAP-based devices have integrated PowerVR video hardware which require closed drivers for video acceleration.  It's an unfortunate state of affairs, however progress is being made, and the PinePhone is a great example of this as it can have video acceleration with the Lima driver which is 100% free software.&lt;br /&gt;
&lt;br /&gt;
Our current goal is to provide full functionality for our supported devices, however there are plans to additionally provide a blob-free, libre version of Maemo Leste with missing functionality where blobs are required.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=605</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=605"/>
		<updated>2020-02-02T03:00:55Z</updated>

		<summary type="html">&lt;p&gt;Derby: Add &amp;quot;Does Maemo Leste run with pure mainline Linux?&amp;quot; question&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of [[#What_is_mainline_Linux.3F|mainline Linux]].  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long-term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained by vendors with almost no effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste run with pure mainline Linux? ===&lt;br /&gt;
The primary devices that we support can run with a pure mainline Linux kernel, however right now our images use mainline plus a few patches.  As we are still in the early phases of development, our current priority is to ensure that our supported devices are as fully functional as they can possibly be.  We have already upstreamed some of our patches and our goal is to upstream the remaining ones to be able to run a 100% mainline kernel on our devices.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=604</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=604"/>
		<updated>2020-02-02T02:07:06Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* What is mainline Linux? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of [[#What_is_mainline_Linux.3F|mainline Linux]].  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long-term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained by vendors with almost no effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=603</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=603"/>
		<updated>2020-02-02T02:05:41Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* What's wrong with Android (vendor) kernels? */ Improve wording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of [[#What_is_mainline_Linux.3F|mainline Linux]].  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained by vendors with almost no effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=602</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=602"/>
		<updated>2020-02-02T02:03:08Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Does Maemo Leste use Halium? */ Fix link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of [[#What_is_mainline_Linux.3F|mainline Linux]].  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained with very little effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=601</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=601"/>
		<updated>2020-02-02T02:01:22Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Why do we need another mobile operating system? */ Improve answer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
Today's smartphone industry is dominated by the duopoly of Apple and Google with their iOS and Android operating systems.  This leaves those of us who value information privacy and software freedoms with virtually no options when it comes to choosing a smartphone.  Some pretenders have tried to change this but have ultimately [[#How_about_other_popular_non-Android_mobile_Linux_distributions.3F|fallen short in some areas]].  Maemo Leste aims to put an end to this dire situation.  We provide a ''true'' GNU/Linux experience which evolves along with the base Linux distribution from which it is built on top of.  Maemo Leste is the only multi-device mobile Linux distribution that prioritises the use of [[#What_is_mainline_Linux.3F|mainline Linux]].  We hope that Maemo Leste will help to raise awareness of the [[#Why_is_it_important_to_run_mainline_Linux.3F|importance of running mainline Linux]] which may eventually lead to increased consumer demand for devices that are compatible with mainline Linux, leading to improved options when choosing a smartphone.&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained with very little effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Main_Page&amp;diff=600</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Main_Page&amp;diff=600"/>
		<updated>2020-02-01T16:30:47Z</updated>

		<summary type="html">&lt;p&gt;Derby: Give the FAQ a heading&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description =&lt;br /&gt;
&lt;br /&gt;
Welcome to the Maemo Leste wiki; Maemo Leste continues the legacy of Maemo Fremantle. We aim to provide a free Maemo experience on mobile phones and tablets like the Nokia N900, Motorola Droid 4, Allwinner Tablets and more.&lt;br /&gt;
&lt;br /&gt;
You can find us on '''freenode''', channel '''#maemo-leste'''.&lt;br /&gt;
&lt;br /&gt;
For an overview of the current status, you might want to check out: [[Status]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is based on Devuan Ascii (Debian Stretch) and all the &amp;quot;supported&amp;quot; devices ship with recent Linux (mainline-based) kernels.&lt;br /&gt;
&lt;br /&gt;
The project is currently not usable as a daily driver for your device. Maemo Leste is currently in development phase and we are actively searching for developers.&lt;br /&gt;
&lt;br /&gt;
For some devices, we have development images available, such as the N900. So far we have set up Devuan/Debian repositories for our packages, with builds for armhf, arm64 and amd64. We have FOSS replacements for some closed Maemo packages, further building on the Maemo community efforts to replace all closed bits by open software.&lt;br /&gt;
&lt;br /&gt;
= Frequently Asked Questions =&lt;br /&gt;
&lt;br /&gt;
See [[Leste_FAQ|FAQ]]&lt;br /&gt;
&lt;br /&gt;
= Supported Devices =&lt;br /&gt;
&lt;br /&gt;
See [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
= Development =&lt;br /&gt;
&lt;br /&gt;
See [[Development]]&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
&lt;br /&gt;
== Project milestones ==&lt;br /&gt;
https://github.com/maemo-leste/bugtracker/milestones&lt;br /&gt;
&lt;br /&gt;
== Wishlist ==&lt;br /&gt;
&lt;br /&gt;
You have an application you want to see in Leste? Please let us know [[Wishlist|here]].&lt;br /&gt;
&lt;br /&gt;
= Talks =&lt;br /&gt;
&lt;br /&gt;
See [[Talks]]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
The central point of meeting and talking is IRC (irc.freenode.net in #maemo-leste) and this thread: https://talk.maemo.org/showthread.php?t=100192.&lt;br /&gt;
&lt;br /&gt;
*Our Blog: [https://maemo-leste.github.io https://maemo-leste.github.io]&lt;br /&gt;
&lt;br /&gt;
*Our Bugtracker: [https://github.com/maemo-leste/bugtracker/issues https://github.com/maemo-leste/bugtracker/issues]&lt;br /&gt;
&lt;br /&gt;
*Our Github: [https://github.com/maemo-leste/ https://github.com/maemo-leste/]&lt;br /&gt;
&lt;br /&gt;
*Our Extras Github: [https://github.com/maemo-leste-extras/ https://github.com/maemo-leste-extras/]&lt;br /&gt;
&lt;br /&gt;
*Our Images: [http://maedevu.maemo.org/images/ http://maedevu.maemo.org/images/]&lt;br /&gt;
&lt;br /&gt;
*Our Jenkins build server: [https://phoenix.maemo.org/ https://phoenix.maemo.org/]&lt;br /&gt;
&lt;br /&gt;
*Our IRC history: [http://maedevu.maemo.org/irc.txt http://maedevu.maemo.org/irc.txt]&lt;br /&gt;
&lt;br /&gt;
*Our YouTube channel: [https://www.youtube.com/channel/UCgAWiHvWSuJAg5hjk7JYn1w https://www.youtube.com/channel/UCgAWiHvWSuJAg5hjk7JYn1w] (via [https://www.invidio.us/channel/UCgAWiHvWSuJAg5hjk7JYn1w Invidious] )&lt;br /&gt;
&lt;br /&gt;
*Mailing List: [https://lists.dyne.org/lurker/list/maemo-leste.en.html https://lists.dyne.org/lurker/list/maemo-leste.en.html]&lt;br /&gt;
&lt;br /&gt;
*[https://distrowatch.com/dwres.php?resource=submit Maemo Leste on Distrowatch (voting)]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Main_Page&amp;diff=599</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Main_Page&amp;diff=599"/>
		<updated>2020-02-01T16:28:08Z</updated>

		<summary type="html">&lt;p&gt;Derby: Add link to new Talks page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description =&lt;br /&gt;
&lt;br /&gt;
Welcome to the Maemo Leste wiki; Maemo Leste continues the legacy of Maemo Fremantle. We aim to provide a free Maemo experience on mobile phones and tablets like the Nokia N900, Motorola Droid 4, Allwinner Tablets and more.&lt;br /&gt;
&lt;br /&gt;
You can find us on '''freenode''', channel '''#maemo-leste'''.&lt;br /&gt;
&lt;br /&gt;
For an overview of the current status, you might want to check out: [[Status]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is based on Devuan Ascii (Debian Stretch) and all the &amp;quot;supported&amp;quot; devices ship with recent Linux (mainline-based) kernels.&lt;br /&gt;
&lt;br /&gt;
The project is currently not usable as a daily driver for your device. Maemo Leste is currently in development phase and we are actively searching for developers.&lt;br /&gt;
&lt;br /&gt;
For some devices, we have development images available, such as the N900. So far we have set up Devuan/Debian repositories for our packages, with builds for armhf, arm64 and amd64. We have FOSS replacements for some closed Maemo packages, further building on the Maemo community efforts to replace all closed bits by open software.&lt;br /&gt;
&lt;br /&gt;
Also see our [[Leste_FAQ|FAQ]].&lt;br /&gt;
&lt;br /&gt;
= Supported Devices =&lt;br /&gt;
&lt;br /&gt;
See [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
= Development =&lt;br /&gt;
&lt;br /&gt;
See [[Development]]&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
&lt;br /&gt;
== Project milestones ==&lt;br /&gt;
https://github.com/maemo-leste/bugtracker/milestones&lt;br /&gt;
&lt;br /&gt;
== Wishlist ==&lt;br /&gt;
&lt;br /&gt;
You have an application you want to see in Leste? Please let us know [[Wishlist|here]].&lt;br /&gt;
&lt;br /&gt;
= Talks =&lt;br /&gt;
&lt;br /&gt;
See [[Talks]]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
The central point of meeting and talking is IRC (irc.freenode.net in #maemo-leste) and this thread: https://talk.maemo.org/showthread.php?t=100192.&lt;br /&gt;
&lt;br /&gt;
*Our Blog: [https://maemo-leste.github.io https://maemo-leste.github.io]&lt;br /&gt;
&lt;br /&gt;
*Our Bugtracker: [https://github.com/maemo-leste/bugtracker/issues https://github.com/maemo-leste/bugtracker/issues]&lt;br /&gt;
&lt;br /&gt;
*Our Github: [https://github.com/maemo-leste/ https://github.com/maemo-leste/]&lt;br /&gt;
&lt;br /&gt;
*Our Extras Github: [https://github.com/maemo-leste-extras/ https://github.com/maemo-leste-extras/]&lt;br /&gt;
&lt;br /&gt;
*Our Images: [http://maedevu.maemo.org/images/ http://maedevu.maemo.org/images/]&lt;br /&gt;
&lt;br /&gt;
*Our Jenkins build server: [https://phoenix.maemo.org/ https://phoenix.maemo.org/]&lt;br /&gt;
&lt;br /&gt;
*Our IRC history: [http://maedevu.maemo.org/irc.txt http://maedevu.maemo.org/irc.txt]&lt;br /&gt;
&lt;br /&gt;
*Our YouTube channel: [https://www.youtube.com/channel/UCgAWiHvWSuJAg5hjk7JYn1w https://www.youtube.com/channel/UCgAWiHvWSuJAg5hjk7JYn1w] (via [https://www.invidio.us/channel/UCgAWiHvWSuJAg5hjk7JYn1w Invidious] )&lt;br /&gt;
&lt;br /&gt;
*Mailing List: [https://lists.dyne.org/lurker/list/maemo-leste.en.html https://lists.dyne.org/lurker/list/maemo-leste.en.html]&lt;br /&gt;
&lt;br /&gt;
*[https://distrowatch.com/dwres.php?resource=submit Maemo Leste on Distrowatch (voting)]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Talks&amp;diff=598</id>
		<title>Talks</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Talks&amp;diff=598"/>
		<updated>2020-02-01T16:25:43Z</updated>

		<summary type="html">&lt;p&gt;Derby: Maemo Leste talks at various events&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FOSDEM 2020 - Freedom Main Track - 2nd February 2020 ==&lt;br /&gt;
&lt;br /&gt;
'''Regaining control of your smartphone with postmarketOS and Maemo Leste - Status of Linux on the smartphone''' - ''Merlijn Wajer (Wizzup), Bart Ribbers (PureTryOut)''&lt;br /&gt;
&lt;br /&gt;
[https://fosdem.org/2020/schedule/event/smartphones/ Event info]&lt;br /&gt;
&lt;br /&gt;
Video: [https://live.fosdem.org/watch/janson Live stream at 15:00 CET]&lt;br /&gt;
&lt;br /&gt;
== OpenFest 2019 - 2nd November 2019==&lt;br /&gt;
&lt;br /&gt;
'''GNU/Linux: coming to a phone near you''' - ''Merlijn Wajer (Wizzup)''&lt;br /&gt;
&lt;br /&gt;
[https://www.openfest.org/2019/en/full-schedule/#lecture-471 Event info]&lt;br /&gt;
&lt;br /&gt;
Video: [https://www.youtube.com/watch?v=heQmjP5tQn0 YouTube] (via [https://invidio.us/watch?v=heQmjP5tQn0 Invidious])&lt;br /&gt;
&lt;br /&gt;
== OpenAlt 2019 - 2nd November 2019 ==&lt;br /&gt;
&lt;br /&gt;
'''Debian v kapse''' - ''Pavel Machek''&lt;br /&gt;
&lt;br /&gt;
[https://openalt.cz/2019/program_detail.php#event_32 Event info]&lt;br /&gt;
&lt;br /&gt;
== Devuan Conference #1: “THE POWER OF CHOICE” - 7th April 2019 ==&lt;br /&gt;
&lt;br /&gt;
'''Maemo Leste: Mobile Hacker OS''' - ''Ivan Jelincic (parazyd)''&lt;br /&gt;
&lt;br /&gt;
Video: [https://www.youtube.com/watch?v=_ULy7jBnXdo&amp;amp;t=12304 YouTube] (via [https://invidio.us/watch?v=_ULy7jBnXdo&amp;amp;t=12304 Invidious])&lt;br /&gt;
&lt;br /&gt;
== FOSDEM 2019 - Lightning Talk - 2nd February 2019 ==&lt;br /&gt;
&lt;br /&gt;
'''Maemo Leste - A Debian/Devuan based mobile hacker OS''' - ''Merlijn Wajer (Wizzup)''&lt;br /&gt;
&lt;br /&gt;
[https://archive.fosdem.org/2019/schedule/event/maemo_leste_mobile Event info]&lt;br /&gt;
&lt;br /&gt;
Video: [https://video.fosdem.org/2019/H.2215/maemo_leste_mobile.webm WebM/VP9], [https://video.fosdem.org/2019/H.2215/maemo_leste_mobile.mp4 MP4]&lt;br /&gt;
&lt;br /&gt;
[https://maedevu.maemo.org/media/fosdem-2019-maemo-leste.pdf Slides]&lt;br /&gt;
&lt;br /&gt;
== OpenFest 2018 - 4th November 2018 ==&lt;br /&gt;
&lt;br /&gt;
'''Maemo Leste''' - ''Merlijn Wajer (Wizzup), Ivan Jelincic (parazyd)''&lt;br /&gt;
&lt;br /&gt;
[https://www.openfest.org/2018/en/full-schedule/#lecture-360 Event info]&lt;br /&gt;
&lt;br /&gt;
Video: [https://maedevu.maemo.org/media/openfest-2018-maemo-leste-wizzup-parazyd.webm WebM]&lt;br /&gt;
&lt;br /&gt;
[https://maedevu.maemo.org/media/openfest-2018-maemo-leste.pdf Slides]&lt;br /&gt;
&lt;br /&gt;
== OpenAlt 2018 - 3rd November 2018 ==&lt;br /&gt;
&lt;br /&gt;
'''Maemo Leste - Debian do kapsy''' - ''Pavel Machek''&lt;br /&gt;
&lt;br /&gt;
[https://openalt.cz/2018/program_detail.php#event_14 Event info]&lt;br /&gt;
&lt;br /&gt;
Video: [https://www.youtube.com/watch?v=9C0j4M_AQ2I YouTube] (via [https://invidio.us/watch?v=9C0j4M_AQ2I Invidious])&lt;br /&gt;
&lt;br /&gt;
[https://openalt.cz/2018/avatars/d96c9c95348879e4e6e2c27f665ca2b3-nokia_n900.pdf Slides]&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Main_Page&amp;diff=597</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Main_Page&amp;diff=597"/>
		<updated>2020-02-01T07:11:52Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Links */ Add YouTube channel&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description =&lt;br /&gt;
&lt;br /&gt;
Welcome to the Maemo Leste wiki; Maemo Leste continues the legacy of Maemo Fremantle. We aim to provide a free Maemo experience on mobile phones and tablets like the Nokia N900, Motorola Droid 4, Allwinner Tablets and more.&lt;br /&gt;
&lt;br /&gt;
You can find us on '''freenode''', channel '''#maemo-leste'''.&lt;br /&gt;
&lt;br /&gt;
For an overview of the current status, you might want to check out: [[Status]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is based on Devuan Ascii (Debian Stretch) and all the &amp;quot;supported&amp;quot; devices ship with recent Linux (mainline-based) kernels.&lt;br /&gt;
&lt;br /&gt;
The project is currently not usable as a daily driver for your device. Maemo Leste is currently in development phase and we are actively searching for developers.&lt;br /&gt;
&lt;br /&gt;
For some devices, we have development images available, such as the N900. So far we have set up Devuan/Debian repositories for our packages, with builds for armhf, arm64 and amd64. We have FOSS replacements for some closed Maemo packages, further building on the Maemo community efforts to replace all closed bits by open software.&lt;br /&gt;
&lt;br /&gt;
Also see our [[Leste_FAQ|FAQ]].&lt;br /&gt;
&lt;br /&gt;
= Supported Devices =&lt;br /&gt;
&lt;br /&gt;
See [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
= Development =&lt;br /&gt;
&lt;br /&gt;
See [[Development]]&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
&lt;br /&gt;
== Project milestones ==&lt;br /&gt;
https://github.com/maemo-leste/bugtracker/milestones&lt;br /&gt;
&lt;br /&gt;
== Wishlist ==&lt;br /&gt;
&lt;br /&gt;
You have an application you want to see in Leste? Please let us know [[Wishlist|here]].&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
The central point of meeting and talking is IRC (irc.freenode.net in #maemo-leste) and this thread: https://talk.maemo.org/showthread.php?t=100192.&lt;br /&gt;
&lt;br /&gt;
*Our Blog: [https://maemo-leste.github.io https://maemo-leste.github.io]&lt;br /&gt;
&lt;br /&gt;
*Our Bugtracker: [https://github.com/maemo-leste/bugtracker/issues https://github.com/maemo-leste/bugtracker/issues]&lt;br /&gt;
&lt;br /&gt;
*Our Github: [https://github.com/maemo-leste/ https://github.com/maemo-leste/]&lt;br /&gt;
&lt;br /&gt;
*Our Extras Github: [https://github.com/maemo-leste-extras/ https://github.com/maemo-leste-extras/]&lt;br /&gt;
&lt;br /&gt;
*Our Images: [http://maedevu.maemo.org/images/ http://maedevu.maemo.org/images/]&lt;br /&gt;
&lt;br /&gt;
*Our Jenkins build server: [https://phoenix.maemo.org/ https://phoenix.maemo.org/]&lt;br /&gt;
&lt;br /&gt;
*Our IRC history: [http://maedevu.maemo.org/irc.txt http://maedevu.maemo.org/irc.txt]&lt;br /&gt;
&lt;br /&gt;
*Our YouTube channel: [https://www.youtube.com/channel/UCgAWiHvWSuJAg5hjk7JYn1w https://www.youtube.com/channel/UCgAWiHvWSuJAg5hjk7JYn1w] (via [https://www.invidio.us/channel/UCgAWiHvWSuJAg5hjk7JYn1w Invidious] )&lt;br /&gt;
&lt;br /&gt;
*Mailing List: [https://lists.dyne.org/lurker/list/maemo-leste.en.html https://lists.dyne.org/lurker/list/maemo-leste.en.html]&lt;br /&gt;
&lt;br /&gt;
*[https://distrowatch.com/dwres.php?resource=submit Maemo Leste on Distrowatch (voting)]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Main_Page&amp;diff=596</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Main_Page&amp;diff=596"/>
		<updated>2020-02-01T04:49:15Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Project milestones */ The wishlist already has it's own section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description =&lt;br /&gt;
&lt;br /&gt;
Welcome to the Maemo Leste wiki; Maemo Leste continues the legacy of Maemo Fremantle. We aim to provide a free Maemo experience on mobile phones and tablets like the Nokia N900, Motorola Droid 4, Allwinner Tablets and more.&lt;br /&gt;
&lt;br /&gt;
You can find us on '''freenode''', channel '''#maemo-leste'''.&lt;br /&gt;
&lt;br /&gt;
For an overview of the current status, you might want to check out: [[Status]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is based on Devuan Ascii (Debian Stretch) and all the &amp;quot;supported&amp;quot; devices ship with recent Linux (mainline-based) kernels.&lt;br /&gt;
&lt;br /&gt;
The project is currently not usable as a daily driver for your device. Maemo Leste is currently in development phase and we are actively searching for developers.&lt;br /&gt;
&lt;br /&gt;
For some devices, we have development images available, such as the N900. So far we have set up Devuan/Debian repositories for our packages, with builds for armhf, arm64 and amd64. We have FOSS replacements for some closed Maemo packages, further building on the Maemo community efforts to replace all closed bits by open software.&lt;br /&gt;
&lt;br /&gt;
Also see our [[Leste_FAQ|FAQ]].&lt;br /&gt;
&lt;br /&gt;
= Supported Devices =&lt;br /&gt;
&lt;br /&gt;
See [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
= Development =&lt;br /&gt;
&lt;br /&gt;
See [[Development]]&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
&lt;br /&gt;
== Project milestones ==&lt;br /&gt;
https://github.com/maemo-leste/bugtracker/milestones&lt;br /&gt;
&lt;br /&gt;
== Wishlist ==&lt;br /&gt;
&lt;br /&gt;
You have an application you want to see in Leste? Please let us know [[Wishlist|here]].&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
The central point of meeting and talking is IRC (irc.freenode.net in #maemo-leste) and this thread: https://talk.maemo.org/showthread.php?t=100192.&lt;br /&gt;
&lt;br /&gt;
*Our Blog: [https://maemo-leste.github.io https://maemo-leste.github.io]&lt;br /&gt;
&lt;br /&gt;
*Our Bugtracker: [https://github.com/maemo-leste/bugtracker/issues https://github.com/maemo-leste/bugtracker/issues]&lt;br /&gt;
&lt;br /&gt;
*Our Github: [https://github.com/maemo-leste/ https://github.com/maemo-leste/]&lt;br /&gt;
&lt;br /&gt;
*Our Extras Github: [https://github.com/maemo-leste-extras/ https://github.com/maemo-leste-extras/]&lt;br /&gt;
&lt;br /&gt;
*Our Images: [http://maedevu.maemo.org/images/ http://maedevu.maemo.org/images/]&lt;br /&gt;
&lt;br /&gt;
*Our Jenkins build server: [https://phoenix.maemo.org/ https://phoenix.maemo.org/]&lt;br /&gt;
&lt;br /&gt;
*Our IRC history: [http://maedevu.maemo.org/irc.txt http://maedevu.maemo.org/irc.txt]&lt;br /&gt;
&lt;br /&gt;
*Mailing List: [https://lists.dyne.org/lurker/list/maemo-leste.en.html https://lists.dyne.org/lurker/list/maemo-leste.en.html]&lt;br /&gt;
&lt;br /&gt;
*[https://distrowatch.com/dwres.php?resource=submit Maemo Leste on Distrowatch (voting)]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Development/Porting_Packages&amp;diff=590</id>
		<title>Development/Porting Packages</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Development/Porting_Packages&amp;diff=590"/>
		<updated>2020-01-28T03:12:29Z</updated>

		<summary type="html">&lt;p&gt;Derby: Add a placeholder that will be used to describe the procedure for forking a Debian/Devuan package&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Porting / Creating packages =&lt;br /&gt;
&lt;br /&gt;
If you're looking at creating your own package, or porting software, the first things to do are:&lt;br /&gt;
&lt;br /&gt;
# Check if someone already ported the package (if it in the repository? Is there an issue for it?)&lt;br /&gt;
# Check if there already are Debian packaging scripts/files. Debian packages a LOT of software, so it's likely that the software is already in the Maemo repository, or someone at least has build scripts for it.&lt;br /&gt;
# (TODO)&lt;br /&gt;
&lt;br /&gt;
= Porting existing Maemo Fremantle packages =&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle (&amp;quot;Nokia Maemo for the N900&amp;quot;) contains a lot of packages that are open source. Most of them should run with very few changes on Maemo Leste, the main changes you will need to make will be:&lt;br /&gt;
&lt;br /&gt;
# Check if someone already ported the package (if it in the repository? Is there an issue for it?)&lt;br /&gt;
# Updating of the Debian packaging files/scripts.&lt;br /&gt;
# Porting to newer libraries if old libraries are used (OpenSSL 0.9.8 -&amp;gt; OpenSSL 1.1.x, Qt4 -&amp;gt; Qt5, etc)&lt;br /&gt;
# Fixing any compile errors/warnings due to more strict compile flags&lt;br /&gt;
&lt;br /&gt;
Source of the packages can be found at one of these places:&lt;br /&gt;
&lt;br /&gt;
* http://maemo.org/packages/&lt;br /&gt;
* https://garage.maemo.org/&lt;br /&gt;
&lt;br /&gt;
If you import a package, please try to preserve history if possible (converting from svn -&amp;gt; git is not too hard)&lt;br /&gt;
&lt;br /&gt;
= Forking Debian/Devuan packages =&lt;br /&gt;
&lt;br /&gt;
(TODO - Describe what branches need to be set up, Jenkins integration, etc)&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=586</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=586"/>
		<updated>2020-01-26T22:57:45Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Why is Maemo Leste based on Devuan rather than Debian? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
What Maemo Leste hopes to bring to the table is a streamlined but otherwise unrestrained mobile OS. User freedom and hackability of the devices, while still having a usable OS.&lt;br /&gt;
&lt;br /&gt;
We aim to provide a &amp;quot;true&amp;quot; GNU/Linux experience by providing up to date packages, do not use vendor Linux kernels (only &amp;quot;vanilla&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained with very little effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (although we ended up rewriting them anyway as Maemo Leste now uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=585</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=585"/>
		<updated>2020-01-26T22:55:19Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Why is Maemo Leste based on Devuan rather than Debian? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
What Maemo Leste hopes to bring to the table is a streamlined but otherwise unrestrained mobile OS. User freedom and hackability of the devices, while still having a usable OS.&lt;br /&gt;
&lt;br /&gt;
We aim to provide a &amp;quot;true&amp;quot; GNU/Linux experience by providing up to date packages, do not use vendor Linux kernels (only &amp;quot;vanilla&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained with very little effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the ''upstart'' init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (we ended up rewriting them anyway as now Maemo Leste uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=584</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=584"/>
		<updated>2020-01-26T22:32:13Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* What is Maemo Leste? */ Fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it is a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
What Maemo Leste hopes to bring to the table is a streamlined but otherwise unrestrained mobile OS. User freedom and hackability of the devices, while still having a usable OS.&lt;br /&gt;
&lt;br /&gt;
We aim to provide a &amp;quot;true&amp;quot; GNU/Linux experience by providing up to date packages, do not use vendor Linux kernels (only &amp;quot;vanilla&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained with very little effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the upstart init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (we ended up rewriting them anyway as now Maemo Leste uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=583</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=583"/>
		<updated>2020-01-26T22:31:47Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* What is Maemo Leste? */ Improve wording; add hyperlinks.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is an operating system based on GNU/Linux that is currently in development.  It is aimed at mobile devices with touch screens such as smartphones, tablets and PDAs.&lt;br /&gt;
&lt;br /&gt;
It is built on top of '''[https://devuan.org/ Devuan]''', and thus indirectly based on [https://www.debian.org/ Debian].  Essentially, it a modernised and liberated version of '''[https://en.wikipedia.org/wiki/Maemo#Maemo_5 Maemo 5/Fremantle]'''; the last version of the mobile Linux OS from Nokia that was released in 2009 for the [https://en.wikipedia.org/wiki/Nokia_N900 Nokia N900] internet tablet/smartphone.  Unlike its predecessor which only ran on a single device, Maemo Leste runs on a variety of devices.&lt;br /&gt;
&lt;br /&gt;
In Maemo Leste, closed-source packages that originate from Fremantle have been reversed engineered, liberated, updated and rebuilt; whilst open-source Fremantle packages have been updated to newer libraries and APIs, including [https://en.wikipedia.org/wiki/Hildon Hildon], the mobile user interface from Fremantle.  &lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile Linux distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
What Maemo Leste hopes to bring to the table is a streamlined but otherwise unrestrained mobile OS. User freedom and hackability of the devices, while still having a usable OS.&lt;br /&gt;
&lt;br /&gt;
We aim to provide a &amp;quot;true&amp;quot; GNU/Linux experience by providing up to date packages, do not use vendor Linux kernels (only &amp;quot;vanilla&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained with very little effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the upstart init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (we ended up rewriting them anyway as now Maemo Leste uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=582</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=582"/>
		<updated>2020-01-26T20:34:56Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* How about other popular non-Android mobile Linux distributions? */ Rephrase&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is a GNU/Linux distribution aimed at mobile devices with touch screens: smartphones, tablets and PDAs.&lt;br /&gt;
Maemo Leste is based on Devuan (and thus indirectly based on Debian), while it inherits a lot of packages from (the now very old) &amp;quot;Maemo Fremantle&amp;quot;, the Nokia OS for the Nokia N900 internet tablet/phone.&lt;br /&gt;
The mobile user interface is based on &amp;quot;Hildon&amp;quot; from Fremantle, as are various other packages (from Fremantle) -- some have been reversed engineered, others which were already open source have been updated to newer libraries and APIs.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
What Maemo Leste hopes to bring to the table is a streamlined but otherwise unrestrained mobile OS. User freedom and hackability of the devices, while still having a usable OS.&lt;br /&gt;
&lt;br /&gt;
We aim to provide a &amp;quot;true&amp;quot; GNU/Linux experience by providing up to date packages, do not use vendor Linux kernels (only &amp;quot;vanilla&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained with very little effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]], preferring to prioritise device compatibility and ease of device porting, instead of prioritising software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the upstart init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (we ended up rewriting them anyway as now Maemo Leste uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=581</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=581"/>
		<updated>2020-01-26T20:24:44Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Why is Maemo Leste based on Devuan rather than Debian? */ Fix typo; rephrase; Devuan upstart support was dropped in ascii.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is a GNU/Linux distribution aimed at mobile devices with touch screens: smartphones, tablets and PDAs.&lt;br /&gt;
Maemo Leste is based on Devuan (and thus indirectly based on Debian), while it inherits a lot of packages from (the now very old) &amp;quot;Maemo Fremantle&amp;quot;, the Nokia OS for the Nokia N900 internet tablet/phone.&lt;br /&gt;
The mobile user interface is based on &amp;quot;Hildon&amp;quot; from Fremantle, as are various other packages (from Fremantle) -- some have been reversed engineered, others which were already open source have been updated to newer libraries and APIs.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
What Maemo Leste hopes to bring to the table is a streamlined but otherwise unrestrained mobile OS. User freedom and hackability of the devices, while still having a usable OS.&lt;br /&gt;
&lt;br /&gt;
We aim to provide a &amp;quot;true&amp;quot; GNU/Linux experience by providing up to date packages, do not use vendor Linux kernels (only &amp;quot;vanilla&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained with very little effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]] in order to prioritise device compatibility and ease of ports over software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticeable in the project).&lt;br /&gt;
&lt;br /&gt;
Maemo Fremantle uses the upstart init system. We initially chose Devuan because we figured Devuan might support upstart to some degree as well, so we would not have to deal with rewriting the init scripts (we ended up rewriting them anyway as now Maemo Leste uses OpenRC). Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=580</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=580"/>
		<updated>2020-01-26T20:11:36Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Are packages (for N900 especially) Thumb-compiled? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is a GNU/Linux distribution aimed at mobile devices with touch screens: smartphones, tablets and PDAs.&lt;br /&gt;
Maemo Leste is based on Devuan (and thus indirectly based on Debian), while it inherits a lot of packages from (the now very old) &amp;quot;Maemo Fremantle&amp;quot;, the Nokia OS for the Nokia N900 internet tablet/phone.&lt;br /&gt;
The mobile user interface is based on &amp;quot;Hildon&amp;quot; from Fremantle, as are various other packages (from Fremantle) -- some have been reversed engineered, others which were already open source have been updated to newer libraries and APIs.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
What Maemo Leste hopes to bring to the table is a streamlined but otherwise unrestrained mobile OS. User freedom and hackability of the devices, while still having a usable OS.&lt;br /&gt;
&lt;br /&gt;
We aim to provide a &amp;quot;true&amp;quot; GNU/Linux experience by providing up to date packages, do not use vendor Linux kernels (only &amp;quot;vanilla&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained with very little effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]] in order to prioritise device compatibility and ease of ports over software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticable in the project).&lt;br /&gt;
&lt;br /&gt;
Fremantle used the (now abandoned) upstart init system. We initially chose Devuan because we figured Devuan might (and it does, afaik) support upstart to some degree as well, so we would not have to deal with rewriting the init scripts.&lt;br /&gt;
But we ended up doing it anyway, and now Maemo Leste uses OpenRC. Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are ARM packages Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=579</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=579"/>
		<updated>2020-01-26T20:09:44Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* What's wrong with Android (vendor) kernels? */ Rephrase&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is a GNU/Linux distribution aimed at mobile devices with touch screens: smartphones, tablets and PDAs.&lt;br /&gt;
Maemo Leste is based on Devuan (and thus indirectly based on Debian), while it inherits a lot of packages from (the now very old) &amp;quot;Maemo Fremantle&amp;quot;, the Nokia OS for the Nokia N900 internet tablet/phone.&lt;br /&gt;
The mobile user interface is based on &amp;quot;Hildon&amp;quot; from Fremantle, as are various other packages (from Fremantle) -- some have been reversed engineered, others which were already open source have been updated to newer libraries and APIs.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
What Maemo Leste hopes to bring to the table is a streamlined but otherwise unrestrained mobile OS. User freedom and hackability of the devices, while still having a usable OS.&lt;br /&gt;
&lt;br /&gt;
We aim to provide a &amp;quot;true&amp;quot; GNU/Linux experience by providing up to date packages, do not use vendor Linux kernels (only &amp;quot;vanilla&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained with very little effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices on the market, all with kernels based on Linux; yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]] in order to prioritise device compatibility and ease of ports over software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticable in the project).&lt;br /&gt;
&lt;br /&gt;
Fremantle used the (now abandoned) upstart init system. We initially chose Devuan because we figured Devuan might (and it does, afaik) support upstart to some degree as well, so we would not have to deal with rewriting the init scripts.&lt;br /&gt;
But we ended up doing it anyway, and now Maemo Leste uses OpenRC. Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are packages (for N900 especially) Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=578</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=578"/>
		<updated>2020-01-26T20:08:08Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* What's wrong with Android (vendor) kernels? */ Android kernels diverge so much (breaking compatibility), that it is incorrect to call them Linux&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is a GNU/Linux distribution aimed at mobile devices with touch screens: smartphones, tablets and PDAs.&lt;br /&gt;
Maemo Leste is based on Devuan (and thus indirectly based on Debian), while it inherits a lot of packages from (the now very old) &amp;quot;Maemo Fremantle&amp;quot;, the Nokia OS for the Nokia N900 internet tablet/phone.&lt;br /&gt;
The mobile user interface is based on &amp;quot;Hildon&amp;quot; from Fremantle, as are various other packages (from Fremantle) -- some have been reversed engineered, others which were already open source have been updated to newer libraries and APIs.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
What Maemo Leste hopes to bring to the table is a streamlined but otherwise unrestrained mobile OS. User freedom and hackability of the devices, while still having a usable OS.&lt;br /&gt;
&lt;br /&gt;
We aim to provide a &amp;quot;true&amp;quot; GNU/Linux experience by providing up to date packages, do not use vendor Linux kernels (only &amp;quot;vanilla&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained with very little effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices with kernels based on Linux on the market, yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]] in order to prioritise device compatibility and ease of ports over software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticable in the project).&lt;br /&gt;
&lt;br /&gt;
Fremantle used the (now abandoned) upstart init system. We initially chose Devuan because we figured Devuan might (and it does, afaik) support upstart to some degree as well, so we would not have to deal with rewriting the init scripts.&lt;br /&gt;
But we ended up doing it anyway, and now Maemo Leste uses OpenRC. Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are packages (for N900 especially) Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=577</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=577"/>
		<updated>2020-01-26T19:58:35Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Are there any technical merits in using System V init with OpenRC instead of systemd? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is a GNU/Linux distribution aimed at mobile devices with touch screens: smartphones, tablets and PDAs.&lt;br /&gt;
Maemo Leste is based on Devuan (and thus indirectly based on Debian), while it inherits a lot of packages from (the now very old) &amp;quot;Maemo Fremantle&amp;quot;, the Nokia OS for the Nokia N900 internet tablet/phone.&lt;br /&gt;
The mobile user interface is based on &amp;quot;Hildon&amp;quot; from Fremantle, as are various other packages (from Fremantle) -- some have been reversed engineered, others which were already open source have been updated to newer libraries and APIs.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
What Maemo Leste hopes to bring to the table is a streamlined but otherwise unrestrained mobile OS. User freedom and hackability of the devices, while still having a usable OS.&lt;br /&gt;
&lt;br /&gt;
We aim to provide a &amp;quot;true&amp;quot; GNU/Linux experience by providing up to date packages, do not use vendor Linux kernels (only &amp;quot;vanilla&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) Linux kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained with very little effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices with kernels based on Linux on the market, yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]] in order to prioritise device compatibility and ease of ports over software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticable in the project).&lt;br /&gt;
&lt;br /&gt;
Fremantle used the (now abandoned) upstart init system. We initially chose Devuan because we figured Devuan might (and it does, afaik) support upstart to some degree as well, so we would not have to deal with rewriting the init scripts.&lt;br /&gt;
But we ended up doing it anyway, and now Maemo Leste uses OpenRC. Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate; there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are packages (for N900 especially) Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=576</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=576"/>
		<updated>2020-01-26T19:47:57Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Are there any technical merits in using System V init with OpenRC instead of systemd? */ Reinforce the importance of choosing Devuan over Debian.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is a GNU/Linux distribution aimed at mobile devices with touch screens: smartphones, tablets and PDAs.&lt;br /&gt;
Maemo Leste is based on Devuan (and thus indirectly based on Debian), while it inherits a lot of packages from (the now very old) &amp;quot;Maemo Fremantle&amp;quot;, the Nokia OS for the Nokia N900 internet tablet/phone.&lt;br /&gt;
The mobile user interface is based on &amp;quot;Hildon&amp;quot; from Fremantle, as are various other packages (from Fremantle) -- some have been reversed engineered, others which were already open source have been updated to newer libraries and APIs.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
What Maemo Leste hopes to bring to the table is a streamlined but otherwise unrestrained mobile OS. User freedom and hackability of the devices, while still having a usable OS.&lt;br /&gt;
&lt;br /&gt;
We aim to provide a &amp;quot;true&amp;quot; GNU/Linux experience by providing up to date packages, do not use vendor Linux kernels (only &amp;quot;vanilla&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) Linux kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained with very little effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices with kernels based on Linux on the market, yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]] in order to prioritise device compatibility and ease of ports over software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticable in the project).&lt;br /&gt;
&lt;br /&gt;
Fremantle used the (now abandoned) upstart init system. We initially chose Devuan because we figured Devuan might (and it does, afaik) support upstart to some degree as well, so we would not have to deal with rewriting the init scripts.&lt;br /&gt;
But we ended up doing it anyway, and now Maemo Leste uses OpenRC. Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate, there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  systemd now has [https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=systemd-2019-stats over 1.2 million lines of code]; this complexity increases the [https://2h73ayp5jhv44aq9p3zmp9gd-wpengine.netdna-ssl.com/wp-content/uploads/2017/08/GaugingSoftwareReadinessWithDefectTracking.pdf defect density] and [https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/november/security-tips-minimizing-the-code-you-expose-to-untrusted-users attack surface].  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are packages (for N900 especially) Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=575</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=575"/>
		<updated>2020-01-26T18:55:56Z</updated>

		<summary type="html">&lt;p&gt;Derby: Added question on Debian/systemd compatibility&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is a GNU/Linux distribution aimed at mobile devices with touch screens: smartphones, tablets and PDAs.&lt;br /&gt;
Maemo Leste is based on Devuan (and thus indirectly based on Debian), while it inherits a lot of packages from (the now very old) &amp;quot;Maemo Fremantle&amp;quot;, the Nokia OS for the Nokia N900 internet tablet/phone.&lt;br /&gt;
The mobile user interface is based on &amp;quot;Hildon&amp;quot; from Fremantle, as are various other packages (from Fremantle) -- some have been reversed engineered, others which were already open source have been updated to newer libraries and APIs.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
What Maemo Leste hopes to bring to the table is a streamlined but otherwise unrestrained mobile OS. User freedom and hackability of the devices, while still having a usable OS.&lt;br /&gt;
&lt;br /&gt;
We aim to provide a &amp;quot;true&amp;quot; GNU/Linux experience by providing up to date packages, do not use vendor Linux kernels (only &amp;quot;vanilla&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) Linux kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained with very little effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices with kernels based on Linux on the market, yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]] in order to prioritise device compatibility and ease of ports over software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticable in the project).&lt;br /&gt;
&lt;br /&gt;
Fremantle used the (now abandoned) upstart init system. We initially chose Devuan because we figured Devuan might (and it does, afaik) support upstart to some degree as well, so we would not have to deal with rewriting the init scripts.&lt;br /&gt;
But we ended up doing it anyway, and now Maemo Leste uses OpenRC. Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate, there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== Can Maemo Leste work with a Debian/systemd base? ===&lt;br /&gt;
&lt;br /&gt;
Several users and developers have expressed interest in using Maemo Leste with Debian and systemd.  Work has begun to make this possible.  We do not want to restrict the reach of Maemo Leste, therefore we welcome contributions for Debian/systemd compatibility and provide assistance with it.  It is hoped that eventually we will be able to provide users with a choice of Devuan and Debian bases for Maemo Leste.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are packages (for N900 especially) Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=574</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=574"/>
		<updated>2020-01-26T18:34:39Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Does Maemo Leste use Halium? */ Fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is a GNU/Linux distribution aimed at mobile devices with touch screens: smartphones, tablets and PDAs.&lt;br /&gt;
Maemo Leste is based on Devuan (and thus indirectly based on Debian), while it inherits a lot of packages from (the now very old) &amp;quot;Maemo Fremantle&amp;quot;, the Nokia OS for the Nokia N900 internet tablet/phone.&lt;br /&gt;
The mobile user interface is based on &amp;quot;Hildon&amp;quot; from Fremantle, as are various other packages (from Fremantle) -- some have been reversed engineered, others which were already open source have been updated to newer libraries and APIs.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
What Maemo Leste hopes to bring to the table is a streamlined but otherwise unrestrained mobile OS. User freedom and hackability of the devices, while still having a usable OS.&lt;br /&gt;
&lt;br /&gt;
We aim to provide a &amp;quot;true&amp;quot; GNU/Linux experience by providing up to date packages, do not use vendor Linux kernels (only &amp;quot;vanilla&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) Linux kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained with very little effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices with kernels based on Linux on the market, yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]] in order to prioritise device compatibility and ease of ports over software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticable in the project).&lt;br /&gt;
&lt;br /&gt;
Fremantle used the (now abandoned) upstart init system. We initially chose Devuan because we figured Devuan might (and it does, afaik) support upstart to some degree as well, so we would not have to deal with rewriting the init scripts.&lt;br /&gt;
But we ended up doing it anyway, and now Maemo Leste uses OpenRC. Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate, there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are packages (for N900 especially) Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=573</id>
		<title>Leste FAQ</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Leste_FAQ&amp;diff=573"/>
		<updated>2020-01-26T18:31:44Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* How does Maemo Leste compare with PureOS? */ Update info on Librem 5&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== What is Maemo Leste? ===&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is a GNU/Linux distribution aimed at mobile devices with touch screens: smartphones, tablets and PDAs.&lt;br /&gt;
Maemo Leste is based on Devuan (and thus indirectly based on Debian), while it inherits a lot of packages from (the now very old) &amp;quot;Maemo Fremantle&amp;quot;, the Nokia OS for the Nokia N900 internet tablet/phone.&lt;br /&gt;
The mobile user interface is based on &amp;quot;Hildon&amp;quot; from Fremantle, as are various other packages (from Fremantle) -- some have been reversed engineered, others which were already open source have been updated to newer libraries and APIs.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste aims to provide an unconstrained and free mobile distribution for hackers, developers and even just casual users.&lt;br /&gt;
&lt;br /&gt;
=== Why do we need another mobile operating system? ===&lt;br /&gt;
&lt;br /&gt;
What Maemo Leste hopes to bring to the table is a streamlined but otherwise unrestrained mobile OS. User freedom and hackability of the devices, while still having a usable OS.&lt;br /&gt;
&lt;br /&gt;
We aim to provide a &amp;quot;true&amp;quot; GNU/Linux experience by providing up to date packages, do not use vendor Linux kernels (only &amp;quot;vanilla&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Why not add/extend new packages to Fremantle instead? ===&lt;br /&gt;
&lt;br /&gt;
Fremantle is ancient, and quite a few packages are [https://wiki.maemo.org/Fremantle_closed_packages closed source] and also outdated.&lt;br /&gt;
Many are in dire need of a replacement, either for interoperability sake (browser, closed wifi stack, closed phone stack) or need a lot of updates to be even reasonably secure: ancient (vulnerable) browser, unsupported crypto libraries, ancient Linux kernel are just a few.&lt;br /&gt;
&lt;br /&gt;
Beyond that, Fremantle was never truly &amp;quot;Debian&amp;quot; -- although it used a lot of the Debian ecosystem. We realise that we do not have the time to maintain all kinds of core packages, so it made a lot of sense to base Maemo Leste on a modern and community-run distribution. We can't run an entire distribution without a good base distribution like Debian.&lt;br /&gt;
&lt;br /&gt;
Furthermore, adding lots of updated and new packages mixed together with the old Fremantle packages is likely to become a big hell. Old packages need an older glibc (even though it claims to be backwards compatible, it isn't always), other libraries might depend on other specific libraries). That will also make it very hard to keep track of what old and new packages are in place, we would still be stuck with many other outdated packages - permanently frozen kernel interface, and so forth. This only gets more complicated with the new C++ ABI with newer GCC, and so on. We'd also ideally have all packages be Position Independent Executables (PIE), further complicating mixing with Fremantle.&lt;br /&gt;
&lt;br /&gt;
We went for a distribution based on Debian because it would provide a clean base; and Fremantle already used a large part of the Debian ecosystem. Right now it is very easy to figure out what packages Maemo Leste adds on top of Devuan/Debian, which also makes the life of developers (and even users) easier.&lt;br /&gt;
&lt;br /&gt;
=== Does Maemo Leste use Halium? ===&lt;br /&gt;
No.  Halium aims to build a common base for mobile GNU/Linux distributions.  This is great idea in principle but their choice of components leaves a lot to be desired.&lt;br /&gt;
&lt;br /&gt;
Halium uses Linux kernels from Android.  See [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|below]] for a description of some of the problems of Android kernels.  By embracing the use of Android kernels, Halium can provide a working device ports fairly quickly but this may have a negative effect in the long run.  A developer who has a fully working device running GNU/Linux with an Android kernel, may be less inclined to help get that device running on mainline Linux, thus the reliance on Android continues.  The shortage of mainline Linux kernel contributions from the developers of Halium and other libhybris-based Linux distributions is evident.&lt;br /&gt;
&lt;br /&gt;
=== What is mainline Linux? ===&lt;br /&gt;
Mainline Linux is pure Linux, taken and built from Linus Torvalds' Git tree (kernel.org).  It has an organic development model which provides new releases every two to three months and also less frequent long term supported stable releases.&lt;br /&gt;
&lt;br /&gt;
=== What's wrong with Android (vendor) Linux kernels? ===&lt;br /&gt;
The Android Open Source Project (AOSP) leeches off Linux.  Hundreds, if not thousands, of out-of-tree kernel forks are maintained with very little effort to contribute back to mainline Linux.  This not only hurts the Linux development ecosystem but we as users also suffer as a consequence of this.  There are thousands of different Android devices with kernels based on Linux on the market, yet only a handful of those devices are able to run on mainline Linux, and most of those that do, have very limited hardware support.  Linux kernels are [https://source.android.com/devices/architecture/kernel/android-common#branch-hierarchy forked up to five times by AOSP, before finally being forked once more by the device manufacturer].  This results in kernels that have diverged significantly from mainline.  This means that it is not possible to install an up-to-date mainline kernel on any given Android device.  Also, it often means that kernel updates are not timely, nor frequent.  When the device manufacturer decides to stop supporting the device, no further kernel updates are provided.  This allow the manufacturers of Android devices to practise [https://en.wikipedia.org/wiki/Planned_obsolescence planned obsolescence].  This practice is a huge contributor to our society's [https://en.wikipedia.org/wiki/Throw-away_society throw-away culture], forcing consumers to replace their devices every year or two and has a [https://www.fastcodesign.com/90165365/smartphones-are-wrecking-the-planet-faster-than-anyone-expected big impact on our planet].  The vast majority of users of Android devices are not even made aware when their kernel has reached end-of-life, leaving them vulnerable to known exploits.&lt;br /&gt;
&lt;br /&gt;
=== Why is it important to run mainline Linux? ===&lt;br /&gt;
Using mainline Linux keeps us in touch with [https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git cutting-edge kernel development], allows us to provide [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git normal stable releases] which helps to accelerate development, whilst also giving us the option of providing [https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git long-term supported stable releases].  Mainline Linux does not suffer from any of the problems associated with Android kernels listed above.  The first rule of Linux kernel development is [https://felipec.wordpress.com/2013/10/07/the-linux-way/ &amp;quot;don't break userspace&amp;quot;].  Regressions are not allowed and this ensures kernel-to-userspace API and ABI stability.  By running mainline Linux, once a device is supported, we can be sure that it will continue to work and we will receive regular kernel updates for decades to come, just like running Linux on your PC.  See also the official explanation on [https://www.kernel.org/doc/html/latest/process/1.Intro.html#the-importance-of-getting-code-into-the-mainline the importance of getting code into the mainline].&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with postmarketOS? ===&lt;br /&gt;
postmarketOS is mobile GNU/Linux distribution which runs Android kernels but also mainline Linux kernels.  We share several goals in common with postmarketOS, particularly the use of mainline Linux.  This presents a great opportunity for collaboration.  Both Maemo Leste and postmarketOS have great working relationship and have already benefited from each other's work.&lt;br /&gt;
&lt;br /&gt;
=== How does Maemo Leste compare with PureOS? ===&lt;br /&gt;
Purism's PureOS is currently in development for the Librem 5 phone.  Purism have stated their plans to upstream all work to parent projects.  This naturally presents another opportunity for collaboration, especially with PureOS also being based on Debian.  We would welcome any collaborations with Purism.  Work on a Maemo Leste port for the Librem 5 phone is in progress ([https://github.com/Daniel-Abrecht/image-builder image-builder], [https://github.com/Daniel-Abrecht/arm-sdk arm-sdk], [https://dpa.li/temp/l5-maemo.mp4 video]).&lt;br /&gt;
&lt;br /&gt;
=== How about other popular non-Android mobile Linux distributions? ===&lt;br /&gt;
The majority of initiatives to create a mobile Linux distribution as an alternative to Android have often made questionable decisions on the components they have chosen to include in their distributions.  Some of these distributions are built for profit which means they often do not have the best interests of the end-user at heart.  This has resulted in the inclusion of closed source components where they could have been avoided.&lt;br /&gt;
&lt;br /&gt;
One of the most popular alternatives is the worst offender.  It includes a proprietary GUI and a proprietary application framework which means that apps developed for that platform will run only on that platform and nowhere else.  Its base distribution, which is actually open source, deliberately uses unsupported/unmaintained GNU General Public License (GPL) version 2 licensed packages (even though they have long since been superseded by newer versions relicensed as GPL v3) for the purpose of [https://en.wikipedia.org/wiki/Tivoization Tivoisation].  This allows a vendor to use hardware restrictions to prevent users from running modified versions of the software on their hardware.  This distribution has a counterpart distribution which is open source, however it is unfortunately also based on the same Tivoised base distribution.&lt;br /&gt;
&lt;br /&gt;
Another popular alternative distribution decided that instead of working together with the community on a common display manager, Wayland, to replace X11, they would develop their own.  In the process, they heavily criticised Wayland.  Some of the criticism was unfounded, and even though other points may have been fair, Wayland could have been adapted to suit their needs.  They since retracted that criticism, nevertheless they continue to work on their own display manager in preference of working with the greater community on Wayland.&lt;br /&gt;
&lt;br /&gt;
Finally, the vast majority of alternative distributions have decided to go the route of using [[#What.27s_wrong_with_Android_.28vendor.29_Linux_kernels.3F|Android kernels]] in order to prioritise device compatibility and ease of ports over software freedoms.&lt;br /&gt;
&lt;br /&gt;
=== Why is Maemo Leste based on Devuan rather than Debian? ===&lt;br /&gt;
&lt;br /&gt;
Convenience for developers, and a little bit of politics (but this is not really noticable in the project).&lt;br /&gt;
&lt;br /&gt;
Fremantle used the (now abandoned) upstart init system. We initially chose Devuan because we figured Devuan might (and it does, afaik) support upstart to some degree as well, so we would not have to deal with rewriting the init scripts.&lt;br /&gt;
But we ended up doing it anyway, and now Maemo Leste uses OpenRC. Another reason is that some people who initiated the project are either working on Devuan or are close with people who work on Devuan.&lt;br /&gt;
&lt;br /&gt;
As you may know, the Devuan project focuses on providing a Debian alternative that can be used without systemd.  Although Debian can be installed without systemd, Devuan provides a much more stable and tested system in this regard.  Key system components such as PolicyKit, UPower and udisks2 have been known to be broken in Debian when it is used without systemd, whereas Devuan provides working replacements.&lt;br /&gt;
&lt;br /&gt;
=== Are there any technical merits in using System V init with OpenRC instead of systemd? ===&lt;br /&gt;
Not wanting to turn this into a systemd debate, there are already plenty of places on the internet where you can read up on the pros and cons of systemd.  Both init systems have their merits.  System V init with OpenRC does not provide as many features as systemd, but perhaps its main advantage is architectural.  Although traditional init is flawed in several aspects, we believe that its loose coupling of components help to provide better reliability, stability and security.&lt;br /&gt;
&lt;br /&gt;
=== What devices does Maemo Leste work on? ===&lt;br /&gt;
&lt;br /&gt;
Our currently list of (semi) supported devices can be found here: [[:Category:Device]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste could work on your device, and we'd like to link you to a porting guide here, but we don't have one yet.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste focuses on providing support for devices that can run on mainline Linux, with an emphasis on supporting mobile/cellular phones.  There are a limited number of mobile phones supported by mainline Linux at present, all with varying degrees of hardware support.  Although you may be disappointed by the lack of devices currently supported by Maemo Leste, we hope this will expand and  we strongly believe that running on top of mainline Linux is the right way forward for building a mobile OS that respects software freedoms.&lt;br /&gt;
&lt;br /&gt;
Maemo Leste has also been shown to run on the Gemini PDA which uses an Android kernel with libhybris.  It should be possible to run Maemo Leste on other Android devices using this method, however this falls outside of the scope of this project and what we are trying to achieve,  As such, only limited support would be provided.&lt;br /&gt;
&lt;br /&gt;
=== Can I run an alternative desktop environment or window manager instead of Hildon? ===&lt;br /&gt;
The Devuan base of Maemo Leste provides a variety of desktop environments and window managers.  There are some issues at the moment with running these whilst Hildon is installed, however it has been proven that it is possible to run them after making a few minor hacks.  There are plans to make this process easier, however don't expect any alternatives to provide the same level of device integration and optimisation that Hildon provides.&lt;br /&gt;
&lt;br /&gt;
=== Are packages (for N900 especially) Thumb-compiled? ===&lt;br /&gt;
Yes. This is very useful for N900 since it only has 256MB RAM. https://www.embedded.com/electronics-blogs/beginner-s-corner/4024632/Introduction-to-ARM-thumb&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=567</id>
		<title>Motorola Droid 4</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=567"/>
		<updated>2020-01-22T13:50:44Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Status */ Compass&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=[[File:Motorola Droid 4 - Leste pre-alpha.jpg|250px]]&lt;br /&gt;
|manufacturer=Motorola&lt;br /&gt;
|codename=Maserati&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.4 || Mainline + some patches not yet in mainline - see https://github.com/maemo-leste/droid4-linux/tree/maemo-5.4&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || On MicroUSB port, requires [[#Serial Cable|special cable]]&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| Micro USB || Yes || OTG&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || Slightly modified keyboard layout, see https://www.spinics.net/lists/linux-omap/msg135137.html (TLDR; Shift key produces CTRL, SYM produces ALT, and Caps lock produces SHIFT)&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Not yet || PowerVR SGX540 (closed driver) - see [[Motorola Droid 4/PowerVR]]&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G data || WIP || Reported to work, no UI yet - see https://github.com/maemo-leste/connui-cellular/&lt;br /&gt;
|-&lt;br /&gt;
| SMS || WIP || Reported to work, no UI yet&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || WIP || Reported to work, no UI yet&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || Yes || Needs firmware - see [[#Bluetooth|below]].  See also https://github.com/maemo-leste/bugtracker/issues/290.&lt;br /&gt;
|-&lt;br /&gt;
| FM Transmitter || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| FM Receiver || Not yet ||&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || ? || Available as input device, needs MCE work&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| HDMI-out || WIP || works, but not with hildon-desktop&lt;br /&gt;
|-&lt;br /&gt;
| TV-out || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
|Compass || No || Mainline supports it, so Leste needs to add config - see https://github.com/maemo-leste/bugtracker/issues/294&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Hardware requirements:&lt;br /&gt;
&lt;br /&gt;
* Droid4 with fully charged battery&lt;br /&gt;
* MicroUSB cable&lt;br /&gt;
* MicroSD card&lt;br /&gt;
&lt;br /&gt;
Software requirements:&lt;br /&gt;
* Host Linux or Windows system&lt;br /&gt;
* Android Tools: fastboot&lt;br /&gt;
* Flashing tools:&lt;br /&gt;
** XZ Utils and coreutils for Linux&lt;br /&gt;
** Etcher[https://github.com/balena-io/etcher] for Windows&lt;br /&gt;
&lt;br /&gt;
Download from https://maedevu.maemo.org/images/droid4/&lt;br /&gt;
&lt;br /&gt;
# VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# Latest maemo-leste-1.0-armhf-droid4-*.img.xz (NOTE: 20200112 image may have issues with WiFi)&lt;br /&gt;
&lt;br /&gt;
Download from https://github.com/tmlind/droid4-kexecboot.git&lt;br /&gt;
&lt;br /&gt;
# utags-mmcblk1p13.bin&lt;br /&gt;
# droid4-kexecboot.img&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
&lt;br /&gt;
# Create a working directory with above mentioned files in it&lt;br /&gt;
# unzip VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# Power off Droid4 and connect it to the host machine with MicroUSB cable&lt;br /&gt;
# Start the device in fastboot mode. For this press power button and bottom volume key simultaneously and release them after a second.&lt;br /&gt;
&lt;br /&gt;
Now go to the working directory and run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo fastboot flash mbm VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml/allow-mbmloader-flashing-mbm.bin&lt;br /&gt;
sudo fastboot reboot-bootloader&lt;br /&gt;
sudo fastboot flash bpsw droid4-kexecboot.img&lt;br /&gt;
sudo fastboot flash utags utags-mmcblk1p13.bin&lt;br /&gt;
sudo fastboot reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The device should reboot and show kexecboot menu for a few seconds before it boots to Android.&lt;br /&gt;
&lt;br /&gt;
Now, flash the Maemo Leste image to your sdcard:&lt;br /&gt;
&lt;br /&gt;
On Linux:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
xzcat maemo-leste-1.0-armhf-droid4-20190227.img.xz | sudo dd of=/dev/MICROSDCARD-DEVICE&lt;br /&gt;
sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Windows: Use Etcher&lt;br /&gt;
&lt;br /&gt;
Wait for sync to complete and insert MicroSD card into Droid4. Reboot the device and select Maemo Leste from the kexecboot menu.&lt;br /&gt;
&lt;br /&gt;
You should now see Maemo Leste booting up, and it will show you unaccelerated hildon-desktop after a minute.&lt;br /&gt;
&lt;br /&gt;
== Postinstall notes for 20200112 image ==&lt;br /&gt;
&lt;br /&gt;
=== Wifi ===&lt;br /&gt;
&lt;br /&gt;
Requires wpasupplicant and firmware-ti-connectivity from ascii-backports (needs to get added to sources.list)&lt;br /&gt;
&lt;br /&gt;
 deb http://pkgmaster.devuan.org/merged ascii-backports main contrib non-free&lt;br /&gt;
&lt;br /&gt;
 apt install -t ascii-backports wpasupplicant&lt;br /&gt;
 apt install -t ascii-backports firmware-ti-connectivity&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
Requires https://github.com/TI-ECS/bt-firmware/blob/master/TIInit_10.6.15.bts to go in /lib/firmware/ti-connectivity/&lt;br /&gt;
&lt;br /&gt;
=== Sound ===&lt;br /&gt;
&lt;br /&gt;
This needs to be executed after each boot by hand ; &lt;br /&gt;
&lt;br /&gt;
 modprobe snd-soc-cpcap&lt;br /&gt;
 modprobe snd-soc-motmdm&lt;br /&gt;
 modprobe snd-soc-audio-graph-card&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
The battery in Droid4 is not easily removable. If you got the device stuck, use this combo: power button + bottom volume key. You should hold them for about 7 seconds. Droid4 will then reboot.&lt;br /&gt;
&lt;br /&gt;
Also see [[Motorola_Droid_4/Modem]] [[Motorola_Droid_4/PowerVR]]&lt;br /&gt;
&lt;br /&gt;
Also see: http://elektranox.org/droid4/ and http://muru.com/linux/d4/&lt;br /&gt;
&lt;br /&gt;
== Serial Cable ==&lt;br /&gt;
&lt;br /&gt;
As explained at http://muru.com/linux/d4 , the Droid 4 exposes a serial console on the USB port. You can construct the required cable easily by following the instructions there. If you have old Nokia CA-42 or DKU-5 cables, then you can use them with the Droid 4, using instructions at https://jethomson.wordpress.com/2010/02/21/diy-usb-to-serial-cable-for-3usd/&lt;br /&gt;
&lt;br /&gt;
While using the serial cable, if you lose the connection, the following may help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
18:43 &amp;lt; tmlind&amp;gt; sicelo: hmm the uart debug cable multiplexing still has issues, if the uart disappears during boot it should come back with &lt;br /&gt;
                the console login propt later&lt;br /&gt;
18:45 &amp;lt; tmlind&amp;gt; try plugging in a pc usb cable then back to uart cable in case that might help&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=566</id>
		<title>Motorola Droid 4</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=566"/>
		<updated>2020-01-22T13:40:13Z</updated>

		<summary type="html">&lt;p&gt;Derby: Bluetooth info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=[[File:Motorola Droid 4 - Leste pre-alpha.jpg|250px]]&lt;br /&gt;
|manufacturer=Motorola&lt;br /&gt;
|codename=Maserati&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.4 || Mainline + some patches not yet in mainline - see https://github.com/maemo-leste/droid4-linux/tree/maemo-5.4&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || On MicroUSB port, requires [[#Serial Cable|special cable]]&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| Micro USB || Yes || OTG&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || Slightly modified keyboard layout, see https://www.spinics.net/lists/linux-omap/msg135137.html (TLDR; Shift key produces CTRL, SYM produces ALT, and Caps lock produces SHIFT)&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Not yet || PowerVR SGX540 (closed driver) - see [[Motorola Droid 4/PowerVR]]&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G data || WIP || Reported to work, no UI yet - see https://github.com/maemo-leste/connui-cellular/&lt;br /&gt;
|-&lt;br /&gt;
| SMS || WIP || Reported to work, no UI yet&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || WIP || Reported to work, no UI yet&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || Yes || Needs firmware - see [[#Bluetooth|below]].  See also https://github.com/maemo-leste/bugtracker/issues/290.&lt;br /&gt;
|-&lt;br /&gt;
| FM Transmitter || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| FM Receiver || Not yet ||&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || ? || Available as input device, needs MCE work&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| HDMI-out || WIP || works, but not with hildon-desktop&lt;br /&gt;
|-&lt;br /&gt;
| TV-out || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
|Compass || No || Mainline supports it, so Leste needs to add config&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Hardware requirements:&lt;br /&gt;
&lt;br /&gt;
* Droid4 with fully charged battery&lt;br /&gt;
* MicroUSB cable&lt;br /&gt;
* MicroSD card&lt;br /&gt;
&lt;br /&gt;
Software requirements:&lt;br /&gt;
* Host Linux or Windows system&lt;br /&gt;
* Android Tools: fastboot&lt;br /&gt;
* Flashing tools:&lt;br /&gt;
** XZ Utils and coreutils for Linux&lt;br /&gt;
** Etcher[https://github.com/balena-io/etcher] for Windows&lt;br /&gt;
&lt;br /&gt;
Download from https://maedevu.maemo.org/images/droid4/&lt;br /&gt;
&lt;br /&gt;
# VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# Latest maemo-leste-1.0-armhf-droid4-*.img.xz (NOTE: 20200112 image may have issues with WiFi)&lt;br /&gt;
&lt;br /&gt;
Download from https://github.com/tmlind/droid4-kexecboot.git&lt;br /&gt;
&lt;br /&gt;
# utags-mmcblk1p13.bin&lt;br /&gt;
# droid4-kexecboot.img&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
&lt;br /&gt;
# Create a working directory with above mentioned files in it&lt;br /&gt;
# unzip VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# Power off Droid4 and connect it to the host machine with MicroUSB cable&lt;br /&gt;
# Start the device in fastboot mode. For this press power button and bottom volume key simultaneously and release them after a second.&lt;br /&gt;
&lt;br /&gt;
Now go to the working directory and run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo fastboot flash mbm VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml/allow-mbmloader-flashing-mbm.bin&lt;br /&gt;
sudo fastboot reboot-bootloader&lt;br /&gt;
sudo fastboot flash bpsw droid4-kexecboot.img&lt;br /&gt;
sudo fastboot flash utags utags-mmcblk1p13.bin&lt;br /&gt;
sudo fastboot reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The device should reboot and show kexecboot menu for a few seconds before it boots to Android.&lt;br /&gt;
&lt;br /&gt;
Now, flash the Maemo Leste image to your sdcard:&lt;br /&gt;
&lt;br /&gt;
On Linux:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
xzcat maemo-leste-1.0-armhf-droid4-20190227.img.xz | sudo dd of=/dev/MICROSDCARD-DEVICE&lt;br /&gt;
sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Windows: Use Etcher&lt;br /&gt;
&lt;br /&gt;
Wait for sync to complete and insert MicroSD card into Droid4. Reboot the device and select Maemo Leste from the kexecboot menu.&lt;br /&gt;
&lt;br /&gt;
You should now see Maemo Leste booting up, and it will show you unaccelerated hildon-desktop after a minute.&lt;br /&gt;
&lt;br /&gt;
== Postinstall notes for 20200112 image ==&lt;br /&gt;
&lt;br /&gt;
=== Wifi ===&lt;br /&gt;
&lt;br /&gt;
Requires wpasupplicant and firmware-ti-connectivity from ascii-backports (needs to get added to sources.list)&lt;br /&gt;
&lt;br /&gt;
 deb http://pkgmaster.devuan.org/merged ascii-backports main contrib non-free&lt;br /&gt;
&lt;br /&gt;
 apt install -t ascii-backports wpasupplicant&lt;br /&gt;
 apt install -t ascii-backports firmware-ti-connectivity&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
Requires https://github.com/TI-ECS/bt-firmware/blob/master/TIInit_10.6.15.bts to go in /lib/firmware/ti-connectivity/&lt;br /&gt;
&lt;br /&gt;
=== Sound ===&lt;br /&gt;
&lt;br /&gt;
This needs to be executed after each boot by hand ; &lt;br /&gt;
&lt;br /&gt;
 modprobe snd-soc-cpcap&lt;br /&gt;
 modprobe snd-soc-motmdm&lt;br /&gt;
 modprobe snd-soc-audio-graph-card&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
The battery in Droid4 is not easily removable. If you got the device stuck, use this combo: power button + bottom volume key. You should hold them for about 7 seconds. Droid4 will then reboot.&lt;br /&gt;
&lt;br /&gt;
Also see [[Motorola_Droid_4/Modem]] [[Motorola_Droid_4/PowerVR]]&lt;br /&gt;
&lt;br /&gt;
Also see: http://elektranox.org/droid4/ and http://muru.com/linux/d4/&lt;br /&gt;
&lt;br /&gt;
== Serial Cable ==&lt;br /&gt;
&lt;br /&gt;
As explained at http://muru.com/linux/d4 , the Droid 4 exposes a serial console on the USB port. You can construct the required cable easily by following the instructions there. If you have old Nokia CA-42 or DKU-5 cables, then you can use them with the Droid 4, using instructions at https://jethomson.wordpress.com/2010/02/21/diy-usb-to-serial-cable-for-3usd/&lt;br /&gt;
&lt;br /&gt;
While using the serial cable, if you lose the connection, the following may help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
18:43 &amp;lt; tmlind&amp;gt; sicelo: hmm the uart debug cable multiplexing still has issues, if the uart disappears during boot it should come back with &lt;br /&gt;
                the console login propt later&lt;br /&gt;
18:45 &amp;lt; tmlind&amp;gt; try plugging in a pc usb cable then back to uart cable in case that might help&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=565</id>
		<title>Motorola Droid 4</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=565"/>
		<updated>2020-01-22T13:28:23Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Status */ SGX info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=[[File:Motorola Droid 4 - Leste pre-alpha.jpg|250px]]&lt;br /&gt;
|manufacturer=Motorola&lt;br /&gt;
|codename=Maserati&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.4 || Mainline + some patches not yet in mainline - see https://github.com/maemo-leste/droid4-linux/tree/maemo-5.4&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || On MicroUSB port, requires [[#Serial Cable|special cable]]&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| Micro USB || Yes || OTG&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || Slightly modified keyboard layout, see https://www.spinics.net/lists/linux-omap/msg135137.html (TLDR; Shift key produces CTRL, SYM produces ALT, and Caps lock produces SHIFT)&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Not yet || PowerVR SGX540 (closed driver) - see [[Motorola Droid 4/PowerVR]]&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G data || WIP || Reported to work, no UI yet - see https://github.com/maemo-leste/connui-cellular/&lt;br /&gt;
|-&lt;br /&gt;
| SMS || WIP || Reported to work, no UI yet&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || WIP || Reported to work, no UI yet&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || Not yet || Needs firmware. Download https://github.com/TI-ECS/bt-firmware/blob/master/TIInit_10.6.15.bts and save it in &amp;lt;code&amp;gt;/lib/firmware/ti-connectivity/&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| FM Transmitter || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| FM Receiver || Not yet ||&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || ? || Available as input device, needs MCE work&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| HDMI-out || WIP || works, but not with hildon-desktop&lt;br /&gt;
|-&lt;br /&gt;
| TV-out || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
|Compass || No || Mainline supports it, so Leste needs to add config&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Hardware requirements:&lt;br /&gt;
&lt;br /&gt;
* Droid4 with fully charged battery&lt;br /&gt;
* MicroUSB cable&lt;br /&gt;
* MicroSD card&lt;br /&gt;
&lt;br /&gt;
Software requirements:&lt;br /&gt;
* Host Linux or Windows system&lt;br /&gt;
* Android Tools: fastboot&lt;br /&gt;
* Flashing tools:&lt;br /&gt;
** XZ Utils and coreutils for Linux&lt;br /&gt;
** Etcher[https://github.com/balena-io/etcher] for Windows&lt;br /&gt;
&lt;br /&gt;
Download from https://maedevu.maemo.org/images/droid4/&lt;br /&gt;
&lt;br /&gt;
# VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# Latest maemo-leste-1.0-armhf-droid4-*.img.xz (NOTE: 20200112 image may have issues with WiFi)&lt;br /&gt;
&lt;br /&gt;
Download from https://github.com/tmlind/droid4-kexecboot.git&lt;br /&gt;
&lt;br /&gt;
# utags-mmcblk1p13.bin&lt;br /&gt;
# droid4-kexecboot.img&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
&lt;br /&gt;
# Create a working directory with above mentioned files in it&lt;br /&gt;
# unzip VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# Power off Droid4 and connect it to the host machine with MicroUSB cable&lt;br /&gt;
# Start the device in fastboot mode. For this press power button and bottom volume key simultaneously and release them after a second.&lt;br /&gt;
&lt;br /&gt;
Now go to the working directory and run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo fastboot flash mbm VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml/allow-mbmloader-flashing-mbm.bin&lt;br /&gt;
sudo fastboot reboot-bootloader&lt;br /&gt;
sudo fastboot flash bpsw droid4-kexecboot.img&lt;br /&gt;
sudo fastboot flash utags utags-mmcblk1p13.bin&lt;br /&gt;
sudo fastboot reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The device should reboot and show kexecboot menu for a few seconds before it boots to Android.&lt;br /&gt;
&lt;br /&gt;
Now, flash the Maemo Leste image to your sdcard:&lt;br /&gt;
&lt;br /&gt;
On Linux:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
xzcat maemo-leste-1.0-armhf-droid4-20190227.img.xz | sudo dd of=/dev/MICROSDCARD-DEVICE&lt;br /&gt;
sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Windows: Use Etcher&lt;br /&gt;
&lt;br /&gt;
Wait for sync to complete and insert MicroSD card into Droid4. Reboot the device and select Maemo Leste from the kexecboot menu.&lt;br /&gt;
&lt;br /&gt;
You should now see Maemo Leste booting up, and it will show you unaccelerated hildon-desktop after a minute.&lt;br /&gt;
&lt;br /&gt;
== Postinstall notes for 20200112 image ==&lt;br /&gt;
&lt;br /&gt;
=== Wifi ===&lt;br /&gt;
&lt;br /&gt;
Requires wpasupplicant and firmware-ti-connectivity from ascii-backports (needs to get added to sources.list)&lt;br /&gt;
&lt;br /&gt;
 deb http://pkgmaster.devuan.org/merged ascii-backports main contrib non-free&lt;br /&gt;
&lt;br /&gt;
 apt install -t ascii-backports wpasupplicant&lt;br /&gt;
 apt install -t ascii-backports firmware-ti-connectivity&lt;br /&gt;
&lt;br /&gt;
=== BT ===&lt;br /&gt;
&lt;br /&gt;
Requires https://github.com/TI-ECS/bt-firmware/blob/master/TIInit_10.6.15.bts to go in /lib/firmware/ti-connectivity/&lt;br /&gt;
&lt;br /&gt;
=== Sound ===&lt;br /&gt;
&lt;br /&gt;
This needs to be executed after each boot by hand ; &lt;br /&gt;
&lt;br /&gt;
 modprobe snd-soc-cpcap&lt;br /&gt;
 modprobe snd-soc-motmdm&lt;br /&gt;
 modprobe snd-soc-audio-graph-card&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
The battery in Droid4 is not easily removable. If you got the device stuck, use this combo: power button + bottom volume key. You should hold them for about 7 seconds. Droid4 will then reboot.&lt;br /&gt;
&lt;br /&gt;
Also see [[Motorola_Droid_4/Modem]] [[Motorola_Droid_4/PowerVR]]&lt;br /&gt;
&lt;br /&gt;
Also see: http://elektranox.org/droid4/ and http://muru.com/linux/d4/&lt;br /&gt;
&lt;br /&gt;
== Serial Cable ==&lt;br /&gt;
&lt;br /&gt;
As explained at http://muru.com/linux/d4 , the Droid 4 exposes a serial console on the USB port. You can construct the required cable easily by following the instructions there. If you have old Nokia CA-42 or DKU-5 cables, then you can use them with the Droid 4, using instructions at https://jethomson.wordpress.com/2010/02/21/diy-usb-to-serial-cable-for-3usd/&lt;br /&gt;
&lt;br /&gt;
While using the serial cable, if you lose the connection, the following may help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
18:43 &amp;lt; tmlind&amp;gt; sicelo: hmm the uart debug cable multiplexing still has issues, if the uart disappears during boot it should come back with &lt;br /&gt;
                the console login propt later&lt;br /&gt;
18:45 &amp;lt; tmlind&amp;gt; try plugging in a pc usb cable then back to uart cable in case that might help&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=564</id>
		<title>Motorola Droid 4</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=564"/>
		<updated>2020-01-22T13:17:52Z</updated>

		<summary type="html">&lt;p&gt;Derby: /* Status */ Add link to Serial Cable section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=[[File:Motorola Droid 4 - Leste pre-alpha.jpg|250px]]&lt;br /&gt;
|manufacturer=Motorola&lt;br /&gt;
|codename=Maserati&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.4 || Mainline + some patches not yet in mainline - see https://github.com/maemo-leste/droid4-linux/tree/maemo-5.4&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || On MicroUSB port, requires [[#Serial Cable|special cable]]&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| Micro USB || Yes || OTG&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || Slightly modified keyboard layout, see https://www.spinics.net/lists/linux-omap/msg135137.html (TLDR; Shift key produces CTRL, SYM produces ALT, and Caps lock produces SHIFT)&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Not yet || Also PowerVR - see [[Motorola Droid 4/PowerVR]]&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G data || WIP || Reported to work, no UI yet - see https://github.com/maemo-leste/connui-cellular/&lt;br /&gt;
|-&lt;br /&gt;
| SMS || WIP || Reported to work, no UI yet&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || WIP || Reported to work, no UI yet&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || Not yet || Needs firmware. Download https://github.com/TI-ECS/bt-firmware/blob/master/TIInit_10.6.15.bts and save it in &amp;lt;code&amp;gt;/lib/firmware/ti-connectivity/&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| FM Transmitter || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| FM Receiver || Not yet ||&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || ? || Available as input device, needs MCE work&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| HDMI-out || WIP || works, but not with hildon-desktop&lt;br /&gt;
|-&lt;br /&gt;
| TV-out || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
|Compass || No || Mainline supports it, so Leste needs to add config&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Hardware requirements:&lt;br /&gt;
&lt;br /&gt;
* Droid4 with fully charged battery&lt;br /&gt;
* MicroUSB cable&lt;br /&gt;
* MicroSD card&lt;br /&gt;
&lt;br /&gt;
Software requirements:&lt;br /&gt;
* Host Linux or Windows system&lt;br /&gt;
* Android Tools: fastboot&lt;br /&gt;
* Flashing tools:&lt;br /&gt;
** XZ Utils and coreutils for Linux&lt;br /&gt;
** Etcher[https://github.com/balena-io/etcher] for Windows&lt;br /&gt;
&lt;br /&gt;
Download from https://maedevu.maemo.org/images/droid4/&lt;br /&gt;
&lt;br /&gt;
# VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# Latest maemo-leste-1.0-armhf-droid4-*.img.xz (NOTE: 20200112 image may have issues with WiFi)&lt;br /&gt;
&lt;br /&gt;
Download from https://github.com/tmlind/droid4-kexecboot.git&lt;br /&gt;
&lt;br /&gt;
# utags-mmcblk1p13.bin&lt;br /&gt;
# droid4-kexecboot.img&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
&lt;br /&gt;
# Create a working directory with above mentioned files in it&lt;br /&gt;
# unzip VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# Power off Droid4 and connect it to the host machine with MicroUSB cable&lt;br /&gt;
# Start the device in fastboot mode. For this press power button and bottom volume key simultaneously and release them after a second.&lt;br /&gt;
&lt;br /&gt;
Now go to the working directory and run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo fastboot flash mbm VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml/allow-mbmloader-flashing-mbm.bin&lt;br /&gt;
sudo fastboot reboot-bootloader&lt;br /&gt;
sudo fastboot flash bpsw droid4-kexecboot.img&lt;br /&gt;
sudo fastboot flash utags utags-mmcblk1p13.bin&lt;br /&gt;
sudo fastboot reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The device should reboot and show kexecboot menu for a few seconds before it boots to Android.&lt;br /&gt;
&lt;br /&gt;
Now, flash the Maemo Leste image to your sdcard:&lt;br /&gt;
&lt;br /&gt;
On Linux:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
xzcat maemo-leste-1.0-armhf-droid4-20190227.img.xz | sudo dd of=/dev/MICROSDCARD-DEVICE&lt;br /&gt;
sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Windows: Use Etcher&lt;br /&gt;
&lt;br /&gt;
Wait for sync to complete and insert MicroSD card into Droid4. Reboot the device and select Maemo Leste from the kexecboot menu.&lt;br /&gt;
&lt;br /&gt;
You should now see Maemo Leste booting up, and it will show you unaccelerated hildon-desktop after a minute.&lt;br /&gt;
&lt;br /&gt;
== Postinstall notes for 20200112 image ==&lt;br /&gt;
&lt;br /&gt;
=== Wifi ===&lt;br /&gt;
&lt;br /&gt;
Requires wpasupplicant and firmware-ti-connectivity from ascii-backports (needs to get added to sources.list)&lt;br /&gt;
&lt;br /&gt;
 deb http://pkgmaster.devuan.org/merged ascii-backports main contrib non-free&lt;br /&gt;
&lt;br /&gt;
 apt install -t ascii-backports wpasupplicant&lt;br /&gt;
 apt install -t ascii-backports firmware-ti-connectivity&lt;br /&gt;
&lt;br /&gt;
=== BT ===&lt;br /&gt;
&lt;br /&gt;
Requires https://github.com/TI-ECS/bt-firmware/blob/master/TIInit_10.6.15.bts to go in /lib/firmware/ti-connectivity/&lt;br /&gt;
&lt;br /&gt;
=== Sound ===&lt;br /&gt;
&lt;br /&gt;
This needs to be executed after each boot by hand ; &lt;br /&gt;
&lt;br /&gt;
 modprobe snd-soc-cpcap&lt;br /&gt;
 modprobe snd-soc-motmdm&lt;br /&gt;
 modprobe snd-soc-audio-graph-card&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
The battery in Droid4 is not easily removable. If you got the device stuck, use this combo: power button + bottom volume key. You should hold them for about 7 seconds. Droid4 will then reboot.&lt;br /&gt;
&lt;br /&gt;
Also see [[Motorola_Droid_4/Modem]] [[Motorola_Droid_4/PowerVR]]&lt;br /&gt;
&lt;br /&gt;
Also see: http://elektranox.org/droid4/ and http://muru.com/linux/d4/&lt;br /&gt;
&lt;br /&gt;
== Serial Cable ==&lt;br /&gt;
&lt;br /&gt;
As explained at http://muru.com/linux/d4 , the Droid 4 exposes a serial console on the USB port. You can construct the required cable easily by following the instructions there. If you have old Nokia CA-42 or DKU-5 cables, then you can use them with the Droid 4, using instructions at https://jethomson.wordpress.com/2010/02/21/diy-usb-to-serial-cable-for-3usd/&lt;br /&gt;
&lt;br /&gt;
While using the serial cable, if you lose the connection, the following may help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
18:43 &amp;lt; tmlind&amp;gt; sicelo: hmm the uart debug cable multiplexing still has issues, if the uart disappears during boot it should come back with &lt;br /&gt;
                the console login propt later&lt;br /&gt;
18:45 &amp;lt; tmlind&amp;gt; try plugging in a pc usb cable then back to uart cable in case that might help&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=563</id>
		<title>Motorola Droid 4</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=563"/>
		<updated>2020-01-22T13:14:23Z</updated>

		<summary type="html">&lt;p&gt;Derby: Move sections to a more logical order&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=[[File:Motorola Droid 4 - Leste pre-alpha.jpg|250px]]&lt;br /&gt;
|manufacturer=Motorola&lt;br /&gt;
|codename=Maserati&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.4 || Mainline + some patches not yet in mainline - see https://github.com/maemo-leste/droid4-linux/tree/maemo-5.4&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || On MicroUSB port, requires special cable&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| Micro USB || Yes || OTG&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || Slightly modified keyboard layout, see https://www.spinics.net/lists/linux-omap/msg135137.html (TLDR; Shift key produces CTRL, SYM produces ALT, and Caps lock produces SHIFT)&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Not yet || Also PowerVR - see [[Motorola Droid 4/PowerVR]]&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G data || WIP || Reported to work, no UI yet - see https://github.com/maemo-leste/connui-cellular/&lt;br /&gt;
|-&lt;br /&gt;
| SMS || WIP || Reported to work, no UI yet&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || WIP || Reported to work, no UI yet&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || Not yet || Needs firmware. Download https://github.com/TI-ECS/bt-firmware/blob/master/TIInit_10.6.15.bts and save it in &amp;lt;code&amp;gt;/lib/firmware/ti-connectivity/&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| FM Transmitter || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| FM Receiver || Not yet ||&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || ? || Available as input device, needs MCE work&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| HDMI-out || WIP || works, but not with hildon-desktop&lt;br /&gt;
|-&lt;br /&gt;
| TV-out || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
|Compass || No || Mainline supports it, so Leste needs to add config&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Hardware requirements:&lt;br /&gt;
&lt;br /&gt;
* Droid4 with fully charged battery&lt;br /&gt;
* MicroUSB cable&lt;br /&gt;
* MicroSD card&lt;br /&gt;
&lt;br /&gt;
Software requirements:&lt;br /&gt;
* Host Linux or Windows system&lt;br /&gt;
* Android Tools: fastboot&lt;br /&gt;
* Flashing tools:&lt;br /&gt;
** XZ Utils and coreutils for Linux&lt;br /&gt;
** Etcher[https://github.com/balena-io/etcher] for Windows&lt;br /&gt;
&lt;br /&gt;
Download from https://maedevu.maemo.org/images/droid4/&lt;br /&gt;
&lt;br /&gt;
# VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# Latest maemo-leste-1.0-armhf-droid4-*.img.xz (NOTE: 20200112 image may have issues with WiFi)&lt;br /&gt;
&lt;br /&gt;
Download from https://github.com/tmlind/droid4-kexecboot.git&lt;br /&gt;
&lt;br /&gt;
# utags-mmcblk1p13.bin&lt;br /&gt;
# droid4-kexecboot.img&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
&lt;br /&gt;
# Create a working directory with above mentioned files in it&lt;br /&gt;
# unzip VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# Power off Droid4 and connect it to the host machine with MicroUSB cable&lt;br /&gt;
# Start the device in fastboot mode. For this press power button and bottom volume key simultaneously and release them after a second.&lt;br /&gt;
&lt;br /&gt;
Now go to the working directory and run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo fastboot flash mbm VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml/allow-mbmloader-flashing-mbm.bin&lt;br /&gt;
sudo fastboot reboot-bootloader&lt;br /&gt;
sudo fastboot flash bpsw droid4-kexecboot.img&lt;br /&gt;
sudo fastboot flash utags utags-mmcblk1p13.bin&lt;br /&gt;
sudo fastboot reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The device should reboot and show kexecboot menu for a few seconds before it boots to Android.&lt;br /&gt;
&lt;br /&gt;
Now, flash the Maemo Leste image to your sdcard:&lt;br /&gt;
&lt;br /&gt;
On Linux:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
xzcat maemo-leste-1.0-armhf-droid4-20190227.img.xz | sudo dd of=/dev/MICROSDCARD-DEVICE&lt;br /&gt;
sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Windows: Use Etcher&lt;br /&gt;
&lt;br /&gt;
Wait for sync to complete and insert MicroSD card into Droid4. Reboot the device and select Maemo Leste from the kexecboot menu.&lt;br /&gt;
&lt;br /&gt;
You should now see Maemo Leste booting up, and it will show you unaccelerated hildon-desktop after a minute.&lt;br /&gt;
&lt;br /&gt;
== Postinstall notes for 20200112 image ==&lt;br /&gt;
&lt;br /&gt;
=== Wifi ===&lt;br /&gt;
&lt;br /&gt;
Requires wpasupplicant and firmware-ti-connectivity from ascii-backports (needs to get added to sources.list)&lt;br /&gt;
&lt;br /&gt;
 deb http://pkgmaster.devuan.org/merged ascii-backports main contrib non-free&lt;br /&gt;
&lt;br /&gt;
 apt install -t ascii-backports wpasupplicant&lt;br /&gt;
 apt install -t ascii-backports firmware-ti-connectivity&lt;br /&gt;
&lt;br /&gt;
=== BT ===&lt;br /&gt;
&lt;br /&gt;
Requires https://github.com/TI-ECS/bt-firmware/blob/master/TIInit_10.6.15.bts to go in /lib/firmware/ti-connectivity/&lt;br /&gt;
&lt;br /&gt;
=== Sound ===&lt;br /&gt;
&lt;br /&gt;
This needs to be executed after each boot by hand ; &lt;br /&gt;
&lt;br /&gt;
 modprobe snd-soc-cpcap&lt;br /&gt;
 modprobe snd-soc-motmdm&lt;br /&gt;
 modprobe snd-soc-audio-graph-card&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
The battery in Droid4 is not easily removable. If you got the device stuck, use this combo: power button + bottom volume key. You should hold them for about 7 seconds. Droid4 will then reboot.&lt;br /&gt;
&lt;br /&gt;
Also see [[Motorola_Droid_4/Modem]] [[Motorola_Droid_4/PowerVR]]&lt;br /&gt;
&lt;br /&gt;
Also see: http://elektranox.org/droid4/ and http://muru.com/linux/d4/&lt;br /&gt;
&lt;br /&gt;
== Serial Cable ==&lt;br /&gt;
&lt;br /&gt;
As explained at http://muru.com/linux/d4 , the Droid 4 exposes a serial console on the USB port. You can construct the required cable easily by following the instructions there. If you have old Nokia CA-42 or DKU-5 cables, then you can use them with the Droid 4, using instructions at https://jethomson.wordpress.com/2010/02/21/diy-usb-to-serial-cable-for-3usd/&lt;br /&gt;
&lt;br /&gt;
While using the serial cable, if you lose the connection, the following may help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
18:43 &amp;lt; tmlind&amp;gt; sicelo: hmm the uart debug cable multiplexing still has issues, if the uart disappears during boot it should come back with &lt;br /&gt;
                the console login propt later&lt;br /&gt;
18:45 &amp;lt; tmlind&amp;gt; try plugging in a pc usb cable then back to uart cable in case that might help&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Derby</name></author>
	</entry>
</feed>