It's been a few weeks since our end of 2019 update, and let's start with a few highlights:
There will be a separate post for the Pinephone in the next few days, along with images for the Pinephone.
There have been many additions, bugfixes and improvements, perhaps best illustrated by this screenshot of a developer's Nokia N900 running Maemo Leste:
The above screenshot shows the availability of python bindings (binary clock), importing Fremantle themes, the progress of connui-cellular (status bar with 3G logo, signal bar, operator name 'KPN' on the home screen), and homescreen shortcuts of applications that have been ported, including a package manager and PDF reader.
We now have a separate repository called leste-extras for non-core packages, similar to the "Maemo Extras" repository - http://maemo.org/downloads/updated/Maemo5/
Currently leste-extras contains a few games, emulators and status widgets. Eventually, it will be home to status widgets, home widgets, different browsers, map applications, games, and more.
Keep in mind that in addition to the packages available in this repository, every package available in Debian can be installed using apt-get install - usability will vary.
If there is a specific application you would like to see (ported), the wiki now contains an Application Wishlist. Feel free to add suggestions to the table.
Porting applications from Maemo Fremantle ("Maemo 5") is usually not very hard, and sometimes particularly simple, as outlined in this talk.maemo.org forum post. In general, if an application depends on libraries that are mostly available in Debian, and uses gtk2, it should be not very hard to port. If it relies on Qt, it is not yet possible to properly port it, as we do not have a usable Qt5 Hildon port yet. A gtk3 port is in the works -but help is needed.
One application that was ported recently is the PDF Reader.
Maemo had pretty decent Python bindings and documentation for them -- and they were only available for Python 2.5, which is beyond ancient. Issue #260 was created to modernise and port some of the python bindings to Maemo Leste, allowing us to run port and build (new) python applications.
As of a few weeks, pygtk is available with hildon widget support, python-hildon, python-hildondesktop and python-osso are all available as well. These are the main bindings to the Maemo mobile environment. They have all been ported to Python 2.7. Python 2.7 is now end of life, so we'll have to migrate to 3.x eventually, but 2.7 seemed like a good and useful intermediate goal.
And, surely enough, python applications like the binary clock applet now run:
Here one can see a home widget example:
And a status bar example:
Hildon-type stacked windows in Python:
Maemo 5 features a PDF reader, and it has now been ported to Maemo Leste, the osso-pdf-viewer source can be found here. Porting was slightly more involved than we hoped, but all in all it was maybe half a day of work. Porting did reveal that there is a bug in the underlying maemo file manager libraries, making it impossible for users to select a file to open if the enviroment variable MYDOCSDIR is set, see #280. This bug also effects the SNES emulator drnoksnes, so we'll hopefully get it resolved soon.
Even though it's currently hard to open PDFs, the application is available in the core Maemo Leste repository now, and part of the new images.
Another core component of Maemo is "HAM", also known as the "Hildon Application Manager". It's an user interface to the Debian package manager, apt, which allows users to discover, install and uninstall packages, and it also notifies the user when updates are available, and if the user agrees, updates the system. You can adjust the frequency of update checks.
This was a relatively quick port, and there are likely bugs, so there is more work to be done. Nevertheless, it works.
This screenshot shows the device informing the user there are (important) updates to be installed (Yellow "!" icon).
Clicking on the updates button in the status menu will show the following sequence of dialogs:
As of today, the Hildon Application Manager will also automatically add and enable our Leste "Extras" software repository.
For a long time, our hildon-desktop environment completely did not work in so called "Portrait" mode -- where the screen is higher than it is wide. This is very common now in smart phones. As a result, many devices have "Portrait" as the native orientation of the display. The Droid 4 and Pinephone are no exception.
Maemo Leste still doesn't work very well yet in Portrait mode (although the original Maemo Fremantle does mostly work really well in Portrait mode). There were some real show stopping bugs, in particular #214, which resulted in the entire desktop been drawn offscreen. Some bugs still remain, like #283 and these affect the Pinephone in a negative way.
Nevertheless, here's a photo of a Motorola Droid 4 in Portrait mode:
Various games have been ported from Fremantle, and they work really well on the Nokia N900. Most games still require some fixes to work on devices with other screen sizes and orientations.
Latest ScummVM from git works on the N900:
UAE4ALL is also in the leste-extras repository, but could see some more testing.
The marbles port is in the works, the mahjong port mostly works (#275), and the chess port compiles, but is not yet functional (#277)
User Angel Vega also has UAE4ALL and milkytracker running on Maemo Leste:
Maemo and Mer (base system for Sailfish OS and Nemo Mobile) share a lot of core packages, even though those have diverged over time. spiiroin has Maemo Leste running with various core packages replaced with their (newer!) Mer equivalents:
We hope to make use of this work in the (near) future and use the same base software as Mer does. The evolved versions of MCE and DSME that are used in Mer also have some features that we will need, like being able to deal with the new (well, not so new anymore) kernel vibration interface.
connui-cellular is the piece of software that contains a lot of widgets and libraries used in cellular activities. The home widget that displays the operator name, the program that asks you for your PIN to unlock your SIM card, the status applet that shows the strength of your cellular signal, what technology is being used to connect to the network, the Phone settings applet. And more. This piece is being ported to ofono, but it's not ready for general use yet. You might see various screenshots in this blogpost already featuring various pieces of connui-cellular - it is available in the leste-devel repository, which contains unstable or testing versions of our software.
Hopefully in the next one or two weeks a first version will make it to the production leste repository.
This video shows that unlocking your SIM using the pin-entry dialog now works:
Maemo had a pretty good address book and presence (for Instant Messaging and SIP calling) system. Developer freemangordon is working on getting that in Maemo Leste as well. It's a rather big task, so it might take a while, but we will rely on this piece of software to integrate our various contact applications. Examples of this would be the modest email client, and a not-yet-existing dialer and SMS application.
One of the cool things about being compatible with Maemo 5 "Fremantle" on various levels is that it's often really easy to cherry pick things we like.
In this case, one can literally just download a theme from the maemo.org website and install it on Maemo Leste. For example, the Marina Theme can be installed with dpkg -i <debhere>. Currently, the /usr/share/themes/default symlink also needs to be updated, but after that, the themes from Maemo 5 "Fremantle" are fully usable on Maemo Leste.
There are a lot of themes available too, we are hoping to eventually have a default theme with a Maemo Leste logo, there was some discussion about a default Maemo Leste theme on talk.maemo.org
New Virtual Machine images are available: https://maedevu.maemo.org/images/virtual-machines/20200103/
New N900 images are available here, main changes include:
New Motorola Droid 4 images are available here, main changes include:
Sound works, but requires three manual steps every boot. Basically, you need to insert the modules. Inserting them at boot time will not work:
modprobe snd-soc-cpcap modprobe snd-soc-motmdm modprobe snd-soc-audio-graph-card
If you like bluetooth, installing this firmware file to /lib/firmware/ti-connectivity/TIInit_10.6.15.bts will make it work after a reboot:
# hcitool scan Scanning ... C0:38:F9:A6:29:BA Nokia N900
Detailed instructions on how to play with PowerVR using this image will follow, but you will need at least:
DOING SO WILL BREAK HILDON-DESKTOP AND MIGHT MAKE YOUR SYSTEM BOOT LOOP, SO CONTINUE AT YOUR OWN RISK.
If you're interested in specifics, or helping out, or wish to have a specific package ported, please see our bugtracker.
We have several Nokia N900 and Motorola Droid 4 units available to interested developers, so if you are interested in helping out but have trouble acquiring a device, let us know.
Please also join our mailing list to stay up to date, ask questions and/or help out. Another great way to get in touch is to join the IRC channel.
If you like our work and want to see it continue, join us!