We are not on holidays!

| 2 Comments | No TrackBacks
Well... in fact maybe some of us we are! But we are spending some of this time working on SHR.

We have been focusing on new shr-core images for last weeks, as well as some other nice improvements. And hopefully much more enhancements are coming soon, such as a better sound routing handling system :)

First of all, I have to tell you that we have some bad news today!
Lopi announced recently he officially abandoned the iphone SHR port because the linux kernel for those devices is no longer being worked on, so the port could never be completed as the kernel is not in a good shape (for instance it lacks suspend/resume).
Anyhow I hope  we will continue enjoying his presence in our project! :)

We even have more bad news: After Nokia Stopping the GNU/Linux phones and switching to windows phone 7, HP (that bought palm) will stop making new webOS devices. Those are bad news for SHR as we were having quite good success with the ports from webOS devices.
In the meantime, though, Android devices are becoming more standard (for instance the Nexus S has ALSA and V4l2. Its modem has a non-standard protocol, but an opensource implementation is beeing implemented in Replicant project by paulk and ius).

But let's talk about us now! SHR-core has been made possible thanks to JaMa and all the other developers who are migrating to it and fixing its bugs! For those who doesn't know what shr-core is: it is the shr-image created from new OpenEmbedded layered system, splitting configurations and recipes among several layers. For instance shr-core image is using openembedded-core, meta-openembedded and meta-smartphone layers among others. Finally, it's important to note that shr-core is not ready yet for end users as it still has some bugs which needs to be fixed, but hopefully it will be ready soon.

Next point! An alsa driver was written by Cotulla for qualcomm snapdragoon(QSD) android devices. It was writen for the htc leo (htc HD2), but it also works on nexusone device with minor changes. it's not complete yet but the sound quality is now perfect on the nexusone!

Meanwhile, GNUtoo has written two device porting guides on the wiki. There you will find information on how to port SHR on your device.

GNUtoo also hacked a bit on FSO these days, and now requesting Bluetooth resource launches bluetoothd automatically, which makes emtooth2 work out of the box for instance.

Palm Pre2 had some enhancements too: GRPS connection and WiFi should be properly handled by FSO now!

Nokia n900 is a work in progress and a better sound plugin for calls has been started by GNUtoo, mrmoku and DocScrutinizer). Recently dos1 adjusted fso configs to the new kernel, which means slider, special buttons (keyboard backlight) etc. are now working again. Finally, xf86-video-omapfb has been patched to run when using VRFB (static) screen rotation

The HTC Dream has now an improved sound driver that permits to get ringing and playing music at the same time (before it was not possible).

SHR Summer

| No TrackBacks
Hi there! after some busy weeks I can finally write something here :)

Let's see some of the most important news since aprox... omg! two months ago!

  • The phone UI now has a new button called suggestions which shows you some names from the phonebook to call directly.
  • Emtooth2 can manage offline devices as of rev152. Apart from that, GUI has been improved and it now uses pages and inwinws instead of opening new wins. (Not yet in OE nor in SHR official repos, but you can build rev152 yourself).

  • Plugins have been splited into different packages in OE, so people won't get parts which are not necessary for their devices.
  • Fsodeviced alsa routing bug fixed (the bug made fsodeviced segfault when the SHR phoneui volume control was slided during calls) (By mrmoku and GNUtoo).

HTC Dream: (by GNUtoo)
  • DPI was added to xorg.conf in OE.
  • gtkrc was corrected.

Palm Pre:
  • Switched to mplayer 1.0rc2 as newer version causes the device to freeze.
  • As our new internal PPP stack now finally works, morphis started to write a plugin for connman.

Nokia n900:
  • FSO modem plugin can now register to the network (thanks to GNUtoo and mrmoku).
  • GPRS is working on the n900!
  • Camera is now documented on the install page (by GNUtoo)
  • Audio calls work, but it must be rewriten to get better audio quality (By GNUtoo,mickeyl,DocScrutinizer

More News

| 3 Comments | No TrackBacks
Hello everybody!

First of all, sorry for not updating the blog since about three weeks, mainly because I didn't have time to do it. But that doesn't mean we haven't done any improvements... au contraire!

So come on, let's see the most destacable news:

  • captainigloo has been investing some efforts on a On Screen Keyboard which looks promising for capacitative screens, so we may see some improvement in our keyboards in the near future.
  • You can see Elfe (the upcoming home screen for SHR) in action in this youtube video.
  • Devices section in wiki has been cleaned up a bit and now should have a better structure.
  • Illume top bar can have now different default configuration for each device.

  • morphis has created a new fsoaudiod daemon for audio management.
    • Currently there's only audio routing funtionality: supports palmpre and all other alsa using machines.
    • It will be used in libphone-ui in the near future.
    • Different audio streams (media, alerts, alarms, notifications, ...) will be available for applications in the future.

HTC HD2 (htcleo):
  • Initial SHR support for this device.
Palm Pre:
  • WiFi is now correctly integrated and can be used with liwi and other wireless tools.
  • Added specific Illume topbar configuration for this device.
  • morphis and mickeyl got PPP with fsogsmd working!
  • msmcommd now includes support for Call Forwarding.
Iphone 3g:
  • You can find the latest screenshots of SHR on the iPhone3G running Elfe here.
  • Backlight and basic power management functionality has been added. For example, the LCD screen can now turn off.
  • Fixed a bunch of cosmetic issues. For example, status bar buttons overlapped and illume-keyboard was scaled off the screen.
  • Battery icon in the status bar now shows when the device is charging. However, the battery level only shows up properly in illume settings.
  • WIP: Lock screen should be implemented soon. It's currently using the wrong lock screen that requires a password. GNUtoo explained how to fix this.
  • WIP: Basic baseband functionality is in the works. Lopi is currently extending the modem_singleline plugin in fsogsmd. You can find the initial work done here.
  • WIP: Need to enable devtmpfs in the kernel to fix the extremely slow boot times.
  • WIP: Fix the battery indicator in the status bar to properly display the battery's charge.

News News News

| No TrackBacks
Hi there!

I am not having much time lately to help and compile development related information, but fortunately there has been people writing news in the wiki about last updates and fixes. Let's see some of them:

  • Now Idle Screen detects the screen size and scales nicely to smaller screens (HVGA) like the Palm Pre (done by Slyon).
  • accelges is now working again (by elisa42, and GNUtoo|Laptop).
  • A bug in shr-settings has been fixed. After changing the timezone the new one will be displayed right away. (thx to peter).
  • emtooth2 should be working better now as I fixed a long-standing bug which messed up the devices list/hash table when a "disappeared" signal arrived from bluez.

Phoneui: Contacts list now supports multiple selection of contacts (by Rui)
  • press and hold for a while to do more actions on the selections (edit, unselect, delete)
  • when you have only one contact selected, you can call, send sms, edit, unselect and delete
  • when you have more than one contact selected, you can unselect all or delete (in the future, you will be able to send sms as well).

HTC Dream: Some more improvements by GNUtoo.
  • Improved gtkrc's font size
  • Improved illume environment's finger size
  • removal of the useless udev in the newer images since the htcdream already used devtmpfs

Nokia N900:
  • PaulFerster and GNUtoo finally got modem forwarding working!

SHR will rock you!

| No TrackBacks
Hi there!

Since some days ago there's lots of movement in the SHR mailing lists, and I'd say this is nice, really nice. There's lots of users and devs speaking about SHR future, giving ideas and making plans, and the most important thing: most of them seem eager to help! But in order to get all this help, we need first to make it easier for supporters to collaborate. Some of this work is already done, and some is work in progress or will be (hopefully) started soon, in the next few days:

  • First of all, elisa42, GNUtoo and mrmoku have been cleaning the bugtracker and they are fixing long-standing bugs.
  • We are still sorting out the better way to do it, but we will probably add JaMa's OE chroot environment into the SHR Makefile, so people have less troubles building their own apps and images using OE.

We have got some nice improvements too, for instance:

  • GNUtoo has been looking at om-gta02 kernel config and has enabled some options which hopefully will bring us some speedup.
  • [Rui] has been improving the shr_elm_sofktey module. It's buttons are now filling the blank space around them, and has added a new button which shows a list of the applications running.
  • SHR testing RC3 is out.  It has new stable EFL version 1.0.0 and newer kernel 
  • Mickey Lauer is rewriting the N900 modem handling part, with more parts being in vala.

And finally, some spoiler of what's coming in next days. captainigloo is working in  a replacement for illume-home called elfe, which will give us much more eye-candy and will have E-modules support. You can see a video of an old version of it here.

Free platforms Go On, despite former giant's NoGo

| 2 TrackBacks
Tuesday, February 15th, 2011 - Despite the recent departure of a former mobile handset manufacturer giant, several developing teams and their users are actually... happily hacking on. With the longterm goal of a fully Free Software platform for embedded systems, the teams of FSO, SHR, QtMoko, Replicant and AndroidOnFreerunner invite others to join and participate in projects which are not driven left and right by the  unpredictable follies of corporate management.

«We have been making a steady progress throughout the years. The major requirement has been a solid, Linux supported hardware, and for that we have been using Openmoko, Palm Pre, N900 and HTC phones - and ambitioned forthcoming projects like Goldelico's GTA04. All these devices are providing a great development platform for those who seek truly open and independent system for their learning, coding and even professional or commercial use.» says Dr. Michael Lauer from FSO.

There's a temporary advantage when big players like FIC (Openmoko), Nokia+Intel (MeeGo) and Google (Android) invest in Free Software Projects. Though if the project contains parts of proprietary code, it depends on the investor. At some point the investor might abandon the project and the community. Then the project is doomed because the community can not fix any bugs in the proprietary code or adapt it to newer/other APIs.

«We believe in another model - proven to be both sustainable and satisfactory - where everybody can contribute their knowledge and learn at the same time, without proprietary code blobs and no closed doors boardroom meetings. This allows us to use existing hardware even when the maker decided to abandon it all together or is not willing to update it anymore. Anybody is able to commit, read, comment on or download the source code.»

The teams invite both users and developers to look at their project pages, the current results, motivations and needs, as well as to join the mailing lists, wikis, forums, IRC rooms or what  not, to chat, listen and eventually contribute in order to create the free and open embedded platform for their devices.

The communities of FSO, SHR, QtMoko, Replicant and Android on Freerunner


FSO - freesmartphone.org is a modern and service-based middleware platform, providing an extendable and customizable middleware interface. Written in a modular way it utilizes the power of D-Bus communication for plugin integration. Due to its open nature and liberal license - being mostly a community driven project - FSO is the perfect choice for research, education and also for commercial vendors with special requirements that can benefit from professional support for FSO, including, but not limited to consulting and development. 


SHR is a community driven distribution focusing on embedded and mobile systems. Specialized in the integration of many existing free and open source projects as underlying architectural blocks onto existing hardware like Nokia N900, Palm Pre, HTC Dream or Openmoko Neo Freerunner and Neo 1973 phones, SHR's main focus is a flexible and adoptable system with integrated FSO middleware framework for telephony, networking and other hardware management, including a basic user interface for phone calls, messaging or user settings, with a slow but steady flow of applications designed especially for embedded and mobile systems, offering web browsers, microblogging clients, games and other utilities.

== ABOUT QtMoko ==

QtMoko is a Debian-based distribution for the Openmoko Neo Freerunner and Neo 1973 cellular phones, with the user interface based on Qt Extended, formerly known as Qtopia. Although it's telephony subsystem has been largely using the qtopiacomm library, it's working on moving towards FSO, allowing integration on a greater  number of supported devices and access to a wider developer/consumer group.

QtMoko can be used as a daily phone on the Openmoko devices with it's many applications, great themes and amazing speed.

== ABOUT Replicant ==

Replicant is an Android-based distribution for the HTC Dream and the Nexus One that focuses on freedom: its goal is to replace the proprietary components that are usually present on the Android phones. Based on the popular Cyanogen mod, goes further by replacing proprietary low level libraries and higher level applications and is now functional enough to be used in Europe.

== ABOUT Android on Freerunner ==

AoF - Android on Freerunner - is the continuation of the work initiated by Koolu, a community driven port of Android for the Openmoko Neo Freerunner device. AoF produces stable and fully functioning releases for Cupcake and continues to improve the quality of that distribution on the Freerunner. It can be used as a daily phone. Froyo is being ported and is functional, but considered more experimental and less stable compared to Cupcake.

The AoF builds come with all advantages of the standard Android OS functionality, look and feel, ease of use and its prepackaged applications.

Free Software is that which is licensed in a way that grants users the right to use, study, change, and modify its design through the availability of its source code.

== Contacts and links ==

* FSO, http://freesmartphone.org/ - coreteam (at) freesmartphone (dot) org 
* QtMoko, #qtmoko on irc.freenode.net http://qtmoko.org/
* Replicant, #replicant on irc.freenode.net, Identi.ca microblog,  http://trac.osuosl.org/trac/replicant
* Android on Freerunner, #android-on-freerunner on irc.freenode.net, http://code.google.com/p/android-on-freerunner/

News before FOSDEM

| No TrackBacks
Hello! I wanted to write some more News before going to FOSDEM tomorrow... because I guess we'll have lots of new interesting stuff to show once we are back home :-)

So here we list what the shr community has done in the last few days:

A patch was sent upstream to add basic FSO support. Basically it requests CPU resource automatically at startup so you won't need to disable suspend manually anymore. We already have this improved version in shr-unstable feeds.

sms receipts:
mrmoku has been working to support sms receipts in phoneui. Support is not complete though, as there are still some fsogsmd/opimd related bugs. Anyway, you can try it and give feedback to developers. You can enable it by default in phoneui configuration file or you can enable it on the fly by calling a dbus method.

There has been some efforts to start adding VOIP support to FSO. The chosen approach is integrating sflphone into FSO.

EFL 1.0:
Shr-unstable is now using the recently released EFL 1.0 libraries.

Palm Pre (plus/2):
  • libmsmcomm is now able to handle basic sms messages.
  • WiFi is now more reliable, but still fails sometimes when transmitting big files.
  • Initial steps towards bluetooth support have been done in the form of a fsodeviced plugin.
Htc Dream:
US "extended" keyboard is now activated by default in xorg.conf. if you want DE or IT keyboard you'll need to adjust your xorg.conf manually.

Nokia n900:
A new rebase branch was pushed by GNUtoo that has all the 2.6.37 patches on top of it, but has alsa issues that need to be solved.

Some good news!

| No TrackBacks
Yes, some good news! While this blog was apparently abandoned (just look at last post.. 6 months ago!), SHR has been evolving... and is still getting better with every new day.

So from now on, I'll be writing in this blog some of the hard work we, the SHR community, are doing so everyone both inside and outside the community will have an idea on what we are spending our efforts, what's done and what's still on the TODO list so someone who is eager to join in can help.

For your information, I will be writing these newsletters from information I'll collect in this wiki page:
At the moment I'm not a omniscent, so I'd appreciate your contributions to this wiki page when you discover some interesting information related to SHR ;-)

Enough introduction. Let's start!

migration to gdbus:
First of all, for those who didn't know, last weeks have been a bit problematic for shr-unstable, since all FSO framework was moved from dbus-glib to gdbus, and thus phoneui had to change some of its code to work properly and is now using gdbus too. A patch was applied to Iliwi to work with gdbus too.

For those who love features, a new module has been added to shr-settings which lets you switch between fso alsa scenarios manually without having to fight against terminal and dbus.

Palm Pre (plus/2):
Lots of great new stuff on palm pre devices. First of all, libmsmcomm has been rewritten to vala. Wifi should be working since today. And to help users and development, we have 2 interesting little projects:
  • fso-installer: GarthPS has been working in a bash script which configures and installs SHR in your palm pre phone. Even your aunt can now run SHR :P
  • Bootr: Slyon wrote program which lets you dual-boot between SHR and webOS. You can see a video of bootr in action here.

Nokia n900:
This is one of the devices with better expectation at the moment. libisi is going to be rewritten in Vala to bring an easier and faster development. GNUtoo and mrmoku are working on the kernel side too, where patches are beeing rebased on top of the omap PM branch.

Nexus One:
GNUtoo has been working in an alsa driver for this mobile which you can find here, but it's still quite buggy. Please, note that Nexus One is not in OpenEmbedded yet, but apart from ALSA, all other components look quite usual (for instance gps = NMEA with FLOSS libraries, gsm = AT-commands, wifi = WEXT wifi driver, etc.)

HTC Dream:
GNUtoo has been working a bit on this device lately too, mostly polishing details. For instance, splash screen for the device is now pushed to openembedded, as well as extended keyboard, the last not being activated by default in xorg.conf though.
Despite trying another time, GNUtoo hasn't been successful at having wifi with PSM working. linux-next kernel branch can boot in the device now, but there's no input nor usbnet, so users will have to stick to 2.6.32 till support is improved.

I'm sure most of you didn't know, but it's a true fact that SHR runs on iphones too! Lopi has been working on adding support for iphone3g in openembedded. He has started his own project, which is using SHR at the moment: http://www.projectix.org
You can find a video of an iphone running SHR here.

SHR-T upgrade and no sound?

| No TrackBacks

Upgrading via opkg upgrade should fix this automatically, Thanks Martin Jansa for putting in a fix.

If that does not work, check this manually:

Older versions of fsodeviced left a stray directory around. Delete the directory
and make that a symlink to

Thanks everyone for finding that out.

How to develop and debug the SHR phone stack on your desktop

| No TrackBacks
Why do we want to do that?
One annoying thing while developing applications for SHR is the time consuming cycle of: hacking - building with OE - installing on the device - testing. The UI itself could be developed natively on the desktop too, but as lots of stuff depends on the actual hardware (eg. phone calls) that does not cover the whole story.

What can we do about that?
Now, we have a solution :-) The other day an interesting application was added to OpenEmbedded (thanks mickeyl): dbus-daemon-proxy. So, what is that? If you start dbus-daemon-proxy on your phone it will proxy all dbus methods and signals from your phone over the network to you desktop. This means you can have the hardware dependent stuff like fsogsmd running on the phone and stuff like phoneuid running on your desktop and it will just work.

So, what do you need to do that?
1) you need a current EFL stack with elementary. Current means you have to build it yourself from Enlightenment SVN. I personally use the get_e.sh script from raster (find it here: get_e.sh). But there are others out there too. NOTE: get_e.sh does not install elementary itself. You have to do that manually after get_e.sh finished installing all the other stuff.

2) you have to install dbus-daemon-proxy on your phone. It is already in the SHR-unstable feed, so if you run SHR-unstable (which is somehow important if you want to develop the SHR phone stack ;), then just opkg install dbus-proxy-daemon.

3) install the SHR phone stack (and all of its dependencies) on your desktop. To make life easy for you I created a script which does that (setup-shr-build-env.sh). It will install all needed stuff to your home directory. If you don't already have LD_LIBRARY_PATH set to contain $HOME/lib you have to add it.

4) stop phoneuid on your phone. Easiest way is to just execute 'killall phoneuid'.

5) start dbus-daemon proxy on your phone. Note: you need one instance for every program connecting to it. I'm using one for phoneuid, one for communication with phoneuid (eg. to start messages app) and one for some debugging tool like d-feet or mdbus2. Create something like the following script to start it on three different ports:

dbus-daemon-proxy --system --port 8080 &
dbus-daemon-proxy --system --port 8081 &
dbus-daemon-proxy --system --port 8082 &
make it executable and start it.

6) start phoneuid on your desktop with the following call:

DBUS_SYSTEM_BUS_ADDRESS=tcp:host=,port=8080 phoneuid
7) start the messages app with the following call:

DBUS_SYSTEM_BUS_ADDRESS=tcp:host=,port=8081 phoneui-messages
8) have fun watching your messages pop up on your desktop :-)

Apart from saving a lot of time by not cross-compiling and installing... one big winner is to be able to use some nice gdb GUI to debug the thing.

Recent Comments

  • Petr Vanek: Thank you for the news, much appreciated here! With the read more
  • Yannick: Hello, The register login page in SHR Trac web site read more
  • pespin: Hi, I think new testing is here: http://build.shr-project.org/shr-testing2011.1/images/om-gta02/ You can read more
  • Raigedas: hello, very nice to hear that the project is going. read more
  • pespin: Hi, I'm sorry but I'm quite busy these days, and read more
  • Menestrel: About Date/time, I can't change time : date/time invalid with read more
  • Menestrel: Good work men. So is it possible, in next release, read more
  • James D. Hasselman: What is battery life like these days? The newest unstable read more
  • kahlb: Isn't it possible to set "Auto Dim" off in power read more
  • Tom 'TAsn' Hacohen: No idea ;) I think all the candidates have some read more

Recent Assets

  • vanous.jpg
  • TheGuys.jpg
  • hebrew-text.png
  • arabic-text.png
  • shr-eten-m800-02.png
  • shr-eten-m800.png

Find recent content on the main index or look in the archives to find all content.