The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)
Architecture
(→System Control) |
(→Fonts) |
||
Line 60: | Line 60: | ||
=== Fonts === | === Fonts === | ||
+ | |||
+ | Mer provides a minimum of freely distributable fonts, the [http://www.freedesktop.org/wiki/Software/CJKUnifonts CJKUni fonts], [http://www.droidfonts.com/ Droid fonts], [https://fedorahosted.org/liberation-fonts/ Liberation fonts]. | ||
== System == | == System == |
Revision as of 08:07, 1 April 2012
Contents |
Mer Architecture
Mer architecturally derives from the MeeGo 1.3 architecture. The big changes in MeeGo 1.3 compared to MeeGo 1.2 was systemd inclusion, which simplified much of the startup process and services handling. Mer architecture was based around the need for a minimal Core that could be the basis of many different kinds of products.
As such, in the transformation of MeeGo to Mer, only packages and dependencies that served a practical purpose for the criteria of booting up to a Xorg+Qt qmlviewer with connectivity and ability to expand upon that was left in. This meant a much smaller set of packages were put together and hence your favourite package will probably not be part of Mer.
Another difference from MeeGo is that in Mer, we do not contain hardware adaptations and reference user interfaces. Architecturally, hardware adaptations are plugging into abstract 'adaptation interfaces' of the Mer Core, which means that when you couple the Mer Core with a hardware adaptation, you get a booting system. If you add a user interface of your selection on top, you have a working device with UI.
The reasoning for no hardware adaptations or reference user interfaces stems from experiences within MeeGo, where hardware adaptations were often completely out of sync with the release schedule of the Core and the reference user interfaces reflected badly on the MeeGo Core's actual abilities, along with release pressures giving a lesser quality Core, UIs and hardware adaptations.
Essentials
Base Essentials
D-Bus
For inter-process communication, Mer utilizes D-Bus as messaging bus.
Software Management
Package Manager
Mer utilizes the RPM package manager as backend for the Zypper package manager, which handles repositories and fetching RPMs and looking for available updates, etc.
Communications
ConnMan
Mer utilizes the ConnMan connection manager for managing internet connections.
Cellular Framework
Mer utilizes the oFono telephony stack
Bluetooth
Mer utilizes the BlueZ Bluetooth protocol stack
Proxy Management
Mer provides the libproxy API, with pacrunner as backend
Graphics
X11
OpenGL ES
3D-accelerated Software built against Mer should be utilizing the OpenGL ES 2.0 and EGL native platform interface APIs. Mer Core provides the open source Mesa 3D Graphics Library containing OpenGL ES 2.0 and EGL libraries to link and build against, which can at image build time be replaced with device-specific OpenGL ES 2.0/EGL implementations.
In Mer Core, Mesa is built to be utilizing LLVMpipe for fast software rendering with no hardware specific drivers enabled.
Font management
Input Adaptation
Display & Graphics Adaptation
Imaging
Fonts
Mer provides a minimum of freely distributable fonts, the CJKUni fonts, Droid fonts, Liberation fonts.
System
Startup Services
Sensor Framework
System Control
Mer utilizes the systemd system and service manager for Linux. This approach is much different from typical SysV init scripts, but is also more suitable for mobile systems due to on-demand starting of daemons.