HOME

TheInfoList



OR:

Sailfish OS is a Linux-based
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
based on
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
, and
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
projects such as Mer as well as including a closed source UI. The project is being developed by the
Finnish Finnish may refer to: * Something or someone from, or related to Finland * Culture of Finland * Finnish people or Finns, the primary ethnic group in Finland * Finnish language, the national language of the Finnish people * Finnish cuisine See also ...
company
Jolla Jolla Oy (sometimes referred to as Jolla Ltd.) is a Finnish technology company; vendor and developer of Sailfish OS. Headquartered in Tampere, Finland, Jolla has its own research and development offices in Helsinki, Tampere and Cyberport, Hong ...
. The OS first shipped with the original Jolla Phone in 2013 (its sale stopped in 2016, but it was supplied with software updates until the end of 2020), then the Jolla Tablet in 2015 and from other vendors licensing the OS. The OS is ported by community enthusiasts to third-party mobile devices including
smartphones A smartphone is a portable computer device that combines mobile telephone and computing functions into one unit. They are distinguished from feature phones by their stronger hardware capabilities and extensive mobile operating systems, which ...
and
tablet computers A tablet computer, commonly shortened to tablet, is a mobile device, typically with a mobile operating system and touchscreen display processing circuitry, and a rechargeable battery in a single, thin and flat package. Tablets, being compu ...
. Sailfish OS can be used for many kinds of devices.


History and development

The OS is an evolved continuation of the Linux
MeeGo MeeGo is a discontinued Linux distribution hosted by the Linux Foundation, using source code from the operating systems Moblin (produced by Intel) and Maemo (produced by Nokia). Primarily targeted at mobile devices and information appliances ...
OS previously developed by alliance of
Nokia Nokia Corporation (natively Nokia Oyj, referred to as Nokia) is a Finnish multinational corporation, multinational telecommunications industry, telecommunications, technology company, information technology, and consumer electronics corporatio ...
and
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
which itself relies on combined
Maemo Maemo is a software platform originally developed by Nokia, now developed by the community, for smartphones and Internet tablets. The platform comprises both the Maemo operating system and SDK. Maemo played a key role in Nokia's strategy to com ...
and
Moblin Moblin, short for 'mobile Linux', is a discontinued open source operating system and application stack for Mobile Internet Devices (MIDs), netbooks, nettops and embedded devices. Built around the Intel Atom processor, all builds were designed to ...
. The MeeGo legacy is contained in the Mer core in about 80% of its code; the Mer name thus expands to MEego Reconstructed. This base is extended by Jolla with a custom user interface and default applications. Jolla and MERproject.org follow a meritocratic system to avoid the mistakes that led to the MeeGo project's then-unanticipated discontinuation. The main elements for include: * Technically stronger OS core * Improved Android application compatibility * Support for ARM and Intel architectures, including the Intel Atom x3 processor, or any platform with kernel useable (settle-able) for MER core stack (also called middleware of Sailfish). * Design to provide visibility in the UI for digital content providers and to enable OS level integration for mobile commerce * Strong multitasking (one of the most important advantage of the OS and declared to be the best one on the market) * Strong privacy and personalization features * Enhanced user interface with new UI/UX features, including simpler swipe access to main functions, enhanced notifications and events views.


Software architecture

The and the Sailfish
software development kit A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific to ...
(SDK) are based on the
Linux kernel The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ope ...
and Mer. includes a multi-tasking
graphical shell In computing, a shell is a computer program that exposes an operating system's services to a human user or other programs. In general, operating system shells use either a command-line interface (CLI) or graphical user interface (GUI), depending ...
called "Lipstick" built with Qt by Jolla on top of the
Wayland display server protocol Wayland may refer to: Computers * Wayland (display server protocol), a graphical display system for Unix-like computers Fiction * Jace Wayland, a character in the ''Mortal Instruments'' book series * Wayland (''Star Wars''), a planet in the '' ...
. Jolla uses
free and open-source graphics device driver A free and open-source graphics device driver is a software stack which controls computer-graphics hardware and supports graphics-rendering application programming interfaces (APIs) and is released under a free and open-source software licens ...
s but the Hybris library allows use of proprietary drivers for Android. Jolla's stated goal is for Sailfish to be open source eventually. can run some Android applications through a proprietary compatibility layer.


Targeted device classes

Sailfish is targeted at mobile devices, but since it inherited around 80% of MeeGo code, Sailfish can be used as a complete general-purpose Linux OS on devices including in vehicle infotainment (IVI), navigation, smart TV, desktops and notebooks, yachts, automotive, e-commerce, home appliances, measuring and control equipment, smart building equipment, etc. See use cases of original MeeGo to compare, and the Devices section for devices that run the .


Sailfish OS SDK

The SDK was announced at the
Slush Helsinki Aaltoes, also known as Aalto Entrepreneurship Society, is a non-profit organization run by students, based in Helsinki, Finland. Founded in 2009, Aaltoes has helped the rapid emergence of a startup culture in Finland in 2008-2011. Aaltoes's purp ...
conference in 2012, and the
alpha Alpha (uppercase , lowercase ; grc, ἄλφα, ''álpha'', or ell, άλφα, álfa) is the first letter of the Greek alphabet. In the system of Greek numerals, it has a value of one. Alpha is derived from the Phoenician letter aleph , whic ...
was published in February 2013. The SDK, installation and coding tutorials are available for free download from the website despite the overall license not being open source. Sailfish SDK uses Qt with
VirtualBox Oracle VM VirtualBox (formerly Sun VirtualBox, Sun xVM VirtualBox and Innotek VirtualBox) is a type-2 hypervisor for x86 virtualization developed by Oracle Corporation. VirtualBox was originally created by Innotek GmbH, which was acquired by S ...
for development, compiling and
emulation Emulation may refer to: *Emulation (computing), imitation of behavior of a computer or other electronic system with the help of another type of system :*Video game console emulator, software which emulates video game consoles *Gaussian process em ...
purposes, in contrast to the
simulation A simulation is the imitation of the operation of a real-world process or system over time. Simulations require the use of Conceptual model, models; the model represents the key characteristics or behaviors of the selected system or proc ...
method. This technique allows compilation on the and full testing of developed software in the
virtual machine In computing, a virtual machine (VM) is the virtualization/emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized hardw ...
, emulatingnot simulatingthe whole . This also separates development activities and side effects from everything else running on the host computer, leaving it undisturbed by developments and tests. According to Jolla, development with Sailfish SDK is development on itself; there are no differences between developed software appearance and behaviour in the SDK and on a device running . The availability of source code to the SDK allows shaping and rebuilding to companies' or developers' specific needs, creating a context-specific environment that is set once and needs no preparation when the device is booted. The SDK runs on the operating systems Android, 32- and
64-bit In computer architecture, 64-bit Integer (computer science), integers, memory addresses, or other Data (computing), data units are those that are 64 bits wide. Also, 64-bit central processing unit, CPUs and arithmetic logic unit, ALUs are those ...
versions of
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
, 64-bit versions of
OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
, and
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
. It can be used for compiling software for devices from Linux sources. Its general console/terminal mode follows a commonly used standard. Compatible binaries or libraries can also be used.


Application programming interfaces

uses open source Qt APIs (Qt 5, QtQuick 2 etc.) and a closed source Sailfish Silica for the UI. Standard Linux APIs are provided by the Mer Core. Sailfish,
Ubuntu Ubuntu ( ) is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is officially released in three editions: '' Desktop'', ''Server'', and ''Core'' for Internet of things devices and robots. All ...
and Plasma Active have been cooperating to share common APIs. When successful, this will make the platforms compatible on the API level. Sailfish Browser is the default web browser based on
Gecko Geckos are small, mostly carnivorous lizards that have a wide distribution, found on every continent except Antarctica. Belonging to the infraorder Gekkota, geckos are found in warm climates throughout the world. They range from . Geckos ar ...
and using embedlite (also known as IPCLiteAPI), a lite-weight embedding API from Mozilla.


Software overview


UI supported human languages

Officially Jolla declares supporting the following 14 languages for the user interface:
Danish Danish may refer to: * Something of, from, or related to the country of Denmark People * A national or citizen of Denmark, also called a "Dane," see Demographics of Denmark * Culture of Denmark * Danish people or Danes, people with a Danish a ...
,
German German(s) may refer to: * Germany (of or related to) ** Germania (historical use) * Germans, citizens of Germany, people of German ancestry, or native speakers of the German language ** For citizens of Germany, see also German nationality law **Ge ...
, English (UK),
Spanish Spanish might refer to: * Items from or related to Spain: **Spaniards are a nation and ethnic group indigenous to Spain **Spanish language, spoken in Spain and many Latin American countries **Spanish cuisine Other places * Spanish, Ontario, Can ...
, French,
Italian Italian(s) may refer to: * Anything of, from, or related to the people of Italy over the centuries ** Italians, an ethnic group or simply a citizen of the Italian Republic or Italian Kingdom ** Italian language, a Romance language *** Regional Ita ...
,
Norwegian Norwegian, Norwayan, or Norsk may refer to: *Something of, from, or related to Norway, a country in northwestern Europe * Norwegians, both a nation and an ethnic group native to Norway * Demographics of Norway *The Norwegian language, including ...
,
Polish Polish may refer to: * Anything from or related to Poland, a country in Europe * Polish language * Poles Poles,, ; singular masculine: ''Polak'', singular feminine: ''Polka'' or Polish people, are a West Slavic nation and ethnic group, w ...
,
Portuguese Portuguese may refer to: * anything of, from, or related to the country and nation of Portugal ** Portuguese cuisine, traditional foods ** Portuguese language, a Romance language *** Portuguese dialects, variants of the Portuguese language ** Portu ...
,
Finnish Finnish may refer to: * Something or someone from, or related to Finland * Culture of Finland * Finnish people or Finns, the primary ethnic group in Finland * Finnish language, the national language of the Finnish people * Finnish cuisine See also ...
,
Swedish Swedish or ' may refer to: Anything from or related to Sweden, a country in Northern Europe. Or, specifically: * Swedish language, a North Germanic language spoken primarily in Sweden and Finland ** Swedish alphabet, the official alphabet used by ...
,
Russian Russian(s) refers to anything related to Russia, including: *Russians (, ''russkiye''), an ethnic group of the East Slavic peoples, primarily living in Russia and neighboring countries *Rossiyane (), Russian language term for all citizens and peo ...
, Chinese (mainland), and Chinese (Hong Kong). For each of them, the OS has a dedicated keyboard. There are a few more languages which are unofficially supported by community freelancers not under control by Jolla, hence more than 20 languages are supported in total. Additional languages can be installed by skilled users due to the Linux architecture.


Public "Early access" for beta testers and developers

After positive experiences with pushing early updates to a small group of opt-in users for Sailfish Update 9 and for the connectivity hotfix, Jolla has allowed all interested parties to try a new version of about 1–2 weeks before official release, in a program called "Early access". It is expected to be useful for developers and technically minded users, and a step towards more community integration into the Sailfish release process, including improvement of quality by identifying critical issues which only show up in certain environments or device setups, before rolling the update out to the wider user audience. As an added bonus, it provides a window for developers to test their applications on new releases of . In the long term it will help Jolla to establish a developer program with early release candidate access for registered developers, and to have more community involvement in platform development. The first detail Jolla is hoping to learn from this is how it can gather feedback from a large audience in a reasonable way. Basic details about the early access update: * The early release access is meant primarily for advanced users and developers. * To sign up for the program there is a checkbox in the Jolla accounts profile page. * Installed early-access release cannot be downgraded. The only way to downgrade from early access releases is to do a factory reset after removing the sign up check from the user's account profile. * Early access releases should be considered "reasonably stable". Issues found during that period will either be fixed, or added to "known issues" on the release notes. * Signing up for the early access releases will not void warranty.


Version history

has three naming conventions: version number, update number and version name. * Sailfish OS 1.0 versions were named after Finnish lakes. * Sailfish OS 2.0 supports the Jolla Tablet with
x86 x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was introd ...
platforms and featured a reworked touch based UI. Releases were named after Finnish rivers. * Sailfish OS 3.0 and 4.0 features a slightly reworked UI. Releases are named after Finnish national parks. * Sailfish OS 4.1, 4.2, 4.3 and 4.4 features 64 bit support on the Sony Xperia 10 II, plus a new sharing system. Releases are named after Finnish Unesco world heritage sites.


Stop releases

When updating an installed Sailfish OS from an earlier release, for example after device factory reset, there are several stop releases which must not be skipped and have to be installed before continuing on the path to subsequent releases. These releases provide new functionality that is not compatible with previous releases and have to be traversed in order not to put the Sailfish OS installation into an unstable state.


Porting

The Sailfish website publishes an online compendium of knowledge, links and instructions on porting issues.


Using Android software running on

In addition to its native applications, Sailfish can run some Android applications by installing them from an application store or directly through an APK file. Supported Android versions are 4.1.2 "Jelly Bean" on the original Jolla phone; 4.4.4 "Kit-Kat" on the Jolla C, Jolla tablet and Xperia X; 8.1.0 "Oreo", 9 "Pie" and 10 (depending on the Sailfish OS release) on Xperia XA2, Xperia 10 and Xperia 10 II. Problems can arise if these applications were built without following Android standards about controls, which might not display correctly and so become unusable. Sailfish OS uses Alien Dalvik, a
proprietary {{Short pages monitor *
Comparison of mobile operating systems This is a comparison of mobile operating systems. Only the latest versions are shown in the table below, even though older versions may still be marketed. About OS Advanced controls Accessibility features App ecosystem Browser ...
*
Hongmeng OS HarmonyOS (HMOS) () is a distributed operating system developed by Huawei to collaborate and interconnect with multiple smart devices on the Internet of Things (IoT) ecosystem. In its current multi-kernel design, the operating system selects s ...
*
KaiOS KaiOS is a mobile Linux distribution for keypad feature phones based on the Firefox OS open-source project. It is developed by KaiOS Technologies (Hong Kong) Limited; a company based in Hong Kong, whose largest shareholder is Chinese multinati ...
*
Nokia Asha platform The Nokia Asha platform is a mobile operating system (OS) and computing platform designed for low-end borderline smartphones, based on software from Smarterphone which was acquired by Nokia. The platform inherits UI similarities mostly from MeeG ...
* Nokia X platform


References


External links

*
SailfishOSwiki
a site hosting documentation
Building packages manually (including porting over existing applications that use a different build system)

Jolla website

OpenRepos.net

FlyingSheep on Sailfish
good reading for developers and porting from MeeGo Harmattan to {{Qt ARM operating systems Embedded Linux distributions Finnish brands Free mobile software Linux distributions MeeGo Mobile Linux Mobile operating systems Smartphones Software that uses QML X86-64 Linux distributions X86-64 operating systems