<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.7.6(BH)" -->
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Planet Maemo: category &quot;feed:89e919e881f6ec510fc2f0aa43617339&quot;</title>
        <description>Blog entries from Maemo community</description>
        <link>http://maemo.org/news/planet-maemo/</link>
        <lastBuildDate>Sun, 24 May 2026 12:07:03 +0000</lastBuildDate>
        <generator>FeedCreator 1.7.6(BH)</generator>
        <language>en</language>
        <managingEditor>planet@maemo.org</managingEditor>
        <item>
            <title>N950 display breaking down</title>
            <link>http://tuomas.kulve.fi/blog/2012/02/27/n950-display-breaking-down/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=n950-display-breaking-down</link>
            <description><![CDATA[
<p>My N950&#8217;s display started to grow black stripes some weeks ago:</p>
<p><center><a href="http://tuomas.kulve.fi/blog/wp-content/uploads/2012/02/n950_broken_display.jpg"><img src="http://tuomas.kulve.fi/blog/wp-content/uploads/2012/02/n950_broken_display-300x169.jpg" alt="" title="n950_broken_display" width="300" height="169" class="alignnone size-medium wp-image-181" /></a></center></p>
<p>The lines are getting longer and thicker day by day. And now an N950 of a friend of mine started to do the same thing. I wonder if this is happening to all of them?</p>
<p>N9 is the only viable option for me with its own pros and cons. Hopefully it won&#8217;t disappear too quickly from the shops..</p>
<span class="net_nemein_favourites">3 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=46f71284613711e181ad5dbf9cecbe3bbe3b&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/46f71284613711e181ad5dbf9cecbe3bbe3b/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=46f71284613711e181ad5dbf9cecbe3bbe3b&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/46f71284613711e181ad5dbf9cecbe3bbe3b/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Mon, 27 Feb 2012 10:23:33 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-46f71284613711e181ad5dbf9cecbe3bbe3b</guid>
        </item>
        <item>
            <title>Command-line sharing for Harmattan</title>
            <link>http://tuomas.kulve.fi/blog/2012/01/12/command-line-sharing-for-harmattan/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=command-line-sharing-for-harmattan</link>
            <description><![CDATA[
<p>I use IRC and I want to be able to share photos there easily. For n900 I had implemented <a href="https://garage.maemo.org/projects/sharing-cli/">a sharing plugin</a> and that worked nicely. When I got the n950 I of course wanted to do the same with that but it turned out to be a difficult task.</p>
<p>I started to implement webupload and SSO plugins but I never got them to work. The biggest show stopper was lacking documentation for the SSO part. Finally <a href="https://gitorious.org/~mikasu">Mika Suonpää</a> pointed me to <a href="https://meego.gitorious.org/meego-sharing-framework/share-ui/trees/master/method-plugins">Share UI plugins</a> and now, only a few days later, I have the first version of it working for n950 :)</p>
<p><center><a href="http://tuomas.kulve.fi/blog/wp-content/uploads/2012/01/cmdshare-red-square.png"><img src="http://tuomas.kulve.fi/blog/wp-content/uploads/2012/01/cmdshare-red-square.png" alt="" title="cmdshare-red-square" width="427" height="240" class="alignnone size-full wp-image-163" /></a></center></p>
<p>For some reason I don&#8217;t get my icons visible, they are always shown as a red square. All hints about that are most welcome. As is testing and feedback of the plugin. The plugin settings are in Settings -> Applications -> Command-line Share, and from there you need to enable the plugin and set the command to be run. After that the sharing plugin is visible in the Gallery -> share.</p>
<p>The source code can be found <a href="http://projects.developer.nokia.com/cmdshare">here</a> and the corresponding forum thread <a href="http://www.developer.nokia.com/Community/Discussion/showthread.php?227356-MeeGo-Sharing-Framework-plugin-in-Harmattan&#038;p=877844">here</a>.</p>
<span class="net_nemein_favourites">4 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=ce3655923d4311e182d60ddd8c84a8b8a8b8&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/ce3655923d4311e182d60ddd8c84a8b8a8b8/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=ce3655923d4311e182d60ddd8c84a8b8a8b8&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/ce3655923d4311e182d60ddd8c84a8b8a8b8/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Thu, 12 Jan 2012 16:48:02 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-ce3655923d4311e182d60ddd8c84a8b8a8b8</guid>
        </item>
        <item>
            <title>Ogg-support 1.1.1: Performance</title>
            <link>http://tuomas.kulve.fi/blog/2011/07/27/ogg-support-1-1-1-performance/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ogg-support-1-1-1-performance</link>
            <description><![CDATA[
<p>After almost two years there&#8217;s a new version of the Ogg Support in the Fremantle Extras.</p>
<p>The decoder code has changed completely. Where the old one used libvorbis and vorbisdec from the GStreamer base plugins, the new one uses libav (formerly FFmpeg) and <a href="http://github.com/felipec/gst-av/">gst-av</a> from <a href="http://felipec.wordpress.com">Felipe Contreras</a>. The impact on performance should be significant because the vorbis decoder in libav is more efficient on the n900 than the libvorbis and Felipe&#8217;s gst-av also outperforms the vorbisdec.</p>
<p>Thanks to Felipe for doing all the hard work. I&#8217;ve just been updating the version numbers of the dependencies and tracking the bugzilla for the known issues and fixes :)</p>
<span class="net_nemein_favourites">7 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=a70cadb6b83411e0986f5beae737e576e576&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/a70cadb6b83411e0986f5beae737e576e576/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=a70cadb6b83411e0986f5beae737e576e576&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/a70cadb6b83411e0986f5beae737e576e576/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Wed, 27 Jul 2011 08:42:06 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-a70cadb6b83411e0986f5beae737e576e576</guid>
        </item>
        <item>
            <title>MeeGo 1.2 ARMv7 chroot (beta)</title>
            <link>http://tuomas.kulve.fi/blog/2011/07/09/meego-1-2-armv7-chroot-beta/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=meego-1-2-armv7-chroot-beta</link>
            <description><![CDATA[
<p>I&#8217;ve always liked the Scratchbox approach to cross-compiling. Run <code>./configure &#038;&#038; make</code> and you have an ARM binary, no need to explicitly tell the configure we are cross-compiling nor fix the bad behaving build scripts.</p>
<p>MeeGo doesn&#8217;t provide an SDK for the (ARM) platform. There&#8217;s an SDK for building Qt applications and there&#8217;s an QEMU for emulating the ARM device environment.  For building the lower level components (Qt itself, GStreamer, etc) you are expected to use OBS. OBS is a very good build infrastructure tool, especially as you can link your own OBS to upstream OBS instances like MeeGo or OpenSUSE and have your OBS build only your own components or modified upstream components.</p>
<p>But OBS is a bit overkill when you are developing your own component that you don&#8217;t want to be a part of anything bigger yet. The OBS client side tool, osc, allows you to build components locally in a chroot but still you need an OBS account and those aren&#8217;t automatically available for everyone, not even in the community OBS.</p>
<p>I took the chroot created by <code>osc build</code> and modified it a bit with the help from stskeeps @ #meego-arm. The produced chroot is capable of building ARMv7 hard-float binaries without OBS or OBS account. It includes a minimal set of dependencies to make it smaller for easy download (it&#8217;s still 162MB), and the project specific dependencies can be installed normally with zypper from the standard MeeGo repositories.</p>
<p>The benefit from using a chroot over a QEMU image is the installed speed tools; many of the components taking time during a build are actually x86 binaries. These include e.g. bash, compilers and bzip2. Running these as emulated ARM binaries (or natively on an ARM hardware) would be much much slower.</p>
<p>I&#8217;ve used this approach with my own Qt + GStreamer project and it has been working well but that&#8217;s only a small use case so there can be all kinds of issues still. I use the same account inside the chroot and outside and bind mount my $HOME to the chroot so I can build project under my $HOME.</p>
<p>Current known issues:</p>
<ul>
<li>Zypper doesn&#8217;t find noarch packages (this is an upstream bug, not related to my chroot).</li>
<li>Tested only on Debian Squeeze. At some point there was a linker issue on Ubuntu and I don&#8217;t know if that still exists.</li>
<li>My instructions mention libqt4-devel although the package name is libqt-devel.</li>
</ul>
<p>If you want to try it out, it&#8217;s available via BitTorrent at <a href="http://tuomas.kulve.fi/tmp/torrent/">http://tuomas.kulve.fi/tmp/torrent/</a> (temporary location). After extracting the tarball, see the readme file in the root directory.</p>
<span class="net_nemein_favourites">5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=c09bc32aaa4211e0b125c9f1084c38623862&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/c09bc32aaa4211e0b125c9f1084c38623862/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=c09bc32aaa4211e0b125c9f1084c38623862&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/c09bc32aaa4211e0b125c9f1084c38623862/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Sat, 09 Jul 2011 15:42:50 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-c09bc32aaa4211e0b125c9f1084c38623862</guid>
        </item>
        <item>
            <title>Command line sharing plugin in extras-devel</title>
            <link>http://tuomas.kulve.fi/blog/2010/11/28/command-line-sharing-plugin-in-extras-devel/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=command-line-sharing-plugin-in-extras-devel</link>
            <description><![CDATA[
<p>I reflashed my device and the biggest annoyance after restoring the backup was recompiling the sharing-cli plugin as it was not in any repository. Now it is.</p>
<p>It has been working for me for several months without issues, although I&#8217;ve been sharing only medium size images over a decent connection. It might not succeed in sharing videos over GPRS.</p>
<p>For hints about the usage, see the <a href="http://tuomas.kulve.fi/blog/2010/03/02/command-line-sharing-plugin-for-n900/">previous post</a>.</p>
<span class="net_nemein_favourites">10 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=3319c7a0fa6f11dfaffaaf69cc5cff93ff93&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/3319c7a0fa6f11dfaffaaf69cc5cff93ff93/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=3319c7a0fa6f11dfaffaaf69cc5cff93ff93&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/3319c7a0fa6f11dfaffaaf69cc5cff93ff93/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Sat, 27 Nov 2010 21:07:42 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-3319c7a0fa6f11dfaffaaf69cc5cff93ff93</guid>
        </item>
        <item>
            <title>Command line sharing plugin for n900</title>
            <link>http://tuomas.kulve.fi/blog/2010/03/02/command-line-sharing-plugin-for-n900/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=command-line-sharing-plugin-for-n900</link>
            <description><![CDATA[
<p>Thomas Perl <a href="http://lists.maemo.org/pipermail/maemo-developers/2010-January/023349.html">made a proposal</a> for creating a command line sharing plugin for the n900. I had already planned to implement something like that so I joined the <a href="https://garage.maemo.org/projects/sharing-cli/">project</a>.</p>
<p>I pushed the first &#8220;proof-of-concept&#8221; quality implementation to the GIT a month ago. I&#8217;ve been using it with the Irssi script (in the <code>scripts</code> directory) to get http URLs with meta information to IRC. The Irssi script needs to be modified to match the directories and IRC servers in use and both the script and the sharing plugin are still missing most of the error checking and extra functionality. Nevertheless, they&#8217;ve worked for me for the past weeks.</p>
<p>For the sharing plugin I&#8217;ve given something like the following command line:</p>
<p><code><br />
scp %s kulve@foo.bar.fi:~/photos_incoming/%s<br />
</code></p>
<p>There&#8217;s two times the <code>%s</code> as the local temporary file name doesn&#8217;t match the actual file name to be copied. And that assumes the SSH keys have been exchanged so that no passwords will be asked.</p>
<p>The Irssi script polls the incoming directory for new images. For each new file, it moves the file to public WWW tree, gets the meta information with exiftool and prints something like this to the specified IRC channel:</p>
<p><code><br />
Title: Description [tags] (GPS coordinates) http://foo.bar.fi/~kulve/imagename.jpg<br />
</code></p>
<p>I modified the Irssi script a bit before pushing it to the GIT, so no guarantees it works. And that&#8217;s my first Irssi script ever, so it may do something odd ;)</p>
<p>There&#8217;s no debian packages yet as neither the script nor the plugin have been tested properly. Comments, testing and patches are welcome.</p>
<span class="net_nemein_favourites">13 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=d498510a25d611df9fa7e165a10f315c315c&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/d498510a25d611df9fa7e165a10f315c315c/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=d498510a25d611df9fa7e165a10f315c315c&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/d498510a25d611df9fa7e165a10f315c315c/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Tue, 02 Mar 2010 08:10:18 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-d498510a25d611df9fa7e165a10f315c315c</guid>
        </item>
        <item>
            <title>n900 Battery Duration: Ogg vs. MP3</title>
            <link>http://tuomas.kulve.fi/blog/2009/11/07/n900-battery-duration-ogg-vs-mp3/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=n900-battery-duration-ogg-vs-mp3</link>
            <description><![CDATA[
<p>There have always been complaints about Ogg being more of a battery hog on the Nokia tablets compared to Nokia optimized MP3. I decided to measure the difference.</p>
<p>All tests were run on a preproduction n900 device that Nokia distributed at the Maemo Summit. The software is the Maemo5 41-10 release which was already installed in the device. I installed Ogg Support, gst-av, ffmpeg and OpenSSH. Otherwise the device is the default 41-10 release. WLAN connection was configured but not activated during the tests. A SIM card was in place only in the SIM idle test. </p>
<p>Before every test I charged the device, disconnected the charger once I noticed the green led, and rebooted the device. After the boot I started a simple script in the xterm. The script logged current time to a file, run &#8220;sync&#8221; command and slept 60 seconds after which it started the loop again.</p>
<p><strong>Idle tests</strong></p>
<p>I run two idle tests between the libvorbis and ffvorbis tests but I&#8217;ll introduce the idle results first.</p>
<p>First idle test was a generally idle device. I.e. it did have the default processes running but I didn&#8217;t start anything, except my logging script. During the test I did check a couple of times if the device was still on.  The battery lasted for 93.8 hours.</p>
<p><a href="http://lists.maemo.org/pipermail/maemo-users/2009-October/014529.html">According to Igor Stoppa</a>, there&#8217;s a cellmo sw bug that makes current higher without a SIM card. Therefore I rerun the idle test with a SIM card inserted. During the test I received two phone calls which I hung up, I received two SMS messages and wrote one. At one point the notification led was blinking for 45 mins. The battery laster for 93.6 hours.</p>
<p>There&#8217;s probably a few hour error margin on those tests, so basically the battery lasted roughly a bit over 90 hours in both tests.</p>
<p><em>Powertop</em> shows that after 60 seconds of showing the xterm with display blanked, the CPU is mostly in the highest C4 sleep state:</p>
<p><center><br />
<table border=1>
<tr align=right>
<th>C#      </th>
<th> Ratio  </th>
<th> Avg/dura </th>
<th> Frequency </th>
<th> Ratio</th>
</tr>
<tr align=right>
<td>     C0 </td>
<td>   0.3% </td>
<td>          </td>
<td>   600 MHz </td>
<td>   0.0% </td>
</tr>
<tr align=right>
<td>     C1 </td>
<td>   0.0% </td>
<td>          </td>
<td>   550 MHz </td>
<td>   0.0% </td>
</tr>
<tr align=right>
<td>     C2 </td>
<td>   0.1% </td>
<td>    1.1ms </td>
<td>   500 MHz </td>
<td>   0.0% </td>
</tr>
<tr align=right>
<td>     C3 </td>
<td>   0.2% </td>
<td>   15.2ms </td>
<td>   250 MHz </td>
<td> 100.0% </td>
</tr>
<tr align=right>
<td>     C4 </td>
<td>  99.5% </td>
<td> 2297.0ms </td>
<td>   &nbsp;  </td>
<td> &nbsp; </td>
</tr>
</table>
<p></center></p>
<p><strong>Ogg vs. MP3</strong></p>
<p>Now that we know how long the device will last when idle we can move to the actual results.</p>
<p>I run two sets of tests. First one was with the Ogg Support 1.0.5 from Extras and the second one with <a href="http://github.com/felipec/gst-av">Felipe&#8217;s gst-av</a> (2009-09-25) which is using vorbis decoder from FFmpeg (2009-09-07). I repeated both tests three times, running every other test with MP3 and every other with Ogg.</p>
<p>After restarting the device with a fully charged battery I started the logging script in the xterm, started the File Manager and clicked on the MP3 or Ogg file which then started playing that single file in a loop in the Media Player. Both files were encoded with variable bitrate 192kbps settings. Volume of the device was set to minimum and no headphones were connected.</p>
<p>This is what <em>powertop</em> shows while playing MP3 in Media Player compared to libvorbis:</p>
<p><center><br />
<table>
<tr>
<th align=center>MP3</th>
<th align=center>libvorbis</th>
</tr>
<tr>
<td>
<table border=1>
<tr>
<th>C#      </th>
<th> Ratio  </th>
<th> Avg/dura </th>
<th> Frequency </th>
<th> Ratio </th>
</tr>
<tr align=right>
<td>     C0 </td>
<td>  37.9% </td>
<td>          </td>
<td>   600 MHz </td>
<td>   3.1% </td>
</tr>
<tr align=right>
<td>     C1 </td>
<td>   0.0% </td>
<td>    0.2ms </td>
<td>   550 MHz </td>
<td>   1.1% </td>
</tr>
<tr align=right>
<td>     C2 </td>
<td>   7.0% </td>
<td>    3.0ms </td>
<td>   500 MHz </td>
<td>  17.5% </td>
</tr>
<tr align=right>
<td>     C3 </td>
<td>  55.1% </td>
<td>    8.0ms </td>
<td>   250 MHz </td>
<td>  78.3% </td>
</tr>
<tr align=right>
<td>     C4 </td>
<td>   0.0% </td>
<td>          </td>
<td>   &nbsp;  </td>
<td> &nbsp; </td>
</tr>
</table>
</td>
<td>
<table border=1>
<tr>
<th>C#      </th>
<th> Ratio  </th>
<th> Avg/dura </th>
<th> Frequency </th>
<th> Ratio</th>
</tr>
<tr align=right>
<td>     C0 </td>
<td>  70.1% </td>
<td>          </td>
<td>   600 MHz </td>
<td>  18.2% </td>
</tr>
<tr align=right>
<td>     C1 </td>
<td>   0.0% </td>
<td>    0.1ms </td>
<td>   550 MHz </td>
<td>   0.0% </td>
</tr>
<tr align=right>
<td>     C2 </td>
<td>   4.7% </td>
<td>    2.7ms </td>
<td>   500 MHz </td>
<td>  28.8% </td>
</tr>
<tr align=right>
<td>     C3 </td>
<td>  25.1% </td>
<td>    7.8ms </td>
<td>   250 MHz </td>
<td>  52.9% </td>
</tr>
<tr align=right>
<td>     C4 </td>
<td>   0.0% </td>
<td>          </td>
<td>   &nbsp;  </td>
<td> &nbsp; </td>
</tr>
</table>
<td>
</tr>
</table>
<p></center></p>
<p>Clearly while using libvorbis the CPU spents more time in lower sleep state and running with higher frequency. The following graph shows how this affects the battery. The battery lasts around 18 hours while playing MP3 but only around 11 hours while playing Ogg.</p>
<p><center><img src="http://tuomas.kulve.fi/blogstuff/battery_duration_libvorbis.png" alt="Battery duration: MP3 vs. libvorbis" /></center></p>
<p>Next numbers are with ffvorbis instead of libvorbis. <em>Powertop</em> shows that while using ffvorbis the time spent in different sleep states matches quite closely to the ones of MP3 usage:</p>
<p><center><br />
<table>
<tr>
<th align=center>MP3</th>
<th align=center>ffvorbis</th>
</tr>
<tr>
<td>
<table border=1>
<tr>
<th>C#      </th>
<th> Ratio  </th>
<th> Avg/dura </th>
<th> Frequency </th>
<th> Ratio </th>
</tr>
<tr align=right>
<td>     C0 </td>
<td>  37.9% </td>
<td>          </td>
<td>   600 MHz </td>
<td>   3.1% </td>
</tr>
<tr align=right>
<td>     C1 </td>
<td>   0.0% </td>
<td>    0.2ms </td>
<td>   550 MHz </td>
<td>   1.1% </td>
</tr>
<tr align=right>
<td>     C2 </td>
<td>   7.0% </td>
<td>    3.0ms </td>
<td>   500 MHz </td>
<td>  17.5% </td>
</tr>
<tr align=right>
<td>     C3 </td>
<td>  55.1% </td>
<td>    8.0ms </td>
<td>   250 MHz </td>
<td>  78.3% </td>
</tr>
<tr align=right>
<td>     C4 </td>
<td>   0.0% </td>
<td>          </td>
<td>   &nbsp;  </td>
<td> &nbsp; </td>
</tr>
</table>
</td>
<td>
<table border=1>
<tr>
<th>C#      </th>
<th> Ratio  </th>
<th> Avg/dura </th>
<th> Frequency </th>
<th> Ratio</th>
</tr>
<tr align=right>
<td>     C0 </td>
<td>  38.4% </td>
<td>          </td>
<td>   600 MHz </td>
<td>   2.1% </td>
</tr>
<tr align=right>
<td>     C1 </td>
<td>   0.0% </td>
<td>    0.1ms </td>
<td>   550 MHz </td>
<td>   0.0% </td>
</tr>
<tr align=right>
<td>     C2 </td>
<td>   5.7% </td>
<td>    3.1ms </td>
<td>   500 MHz </td>
<td>  13.2% </td>
</tr>
<tr align=right>
<td>     C3 </td>
<td>  55.9% </td>
<td>    8.3ms </td>
<td>   250 MHz </td>
<td>  84.6% </td>
</tr>
<tr align=right>
<td>     C4 </td>
<td>   0.0% </td>
<td>          </td>
<td>   &nbsp;  </td>
<td> &nbsp; </td>
</tr>
</table>
<td>
</tr>
</table>
<p></center></p>
<p>The similarity of the <em>powertop</em> numbers can be seen in the battery duration as well:</p>
<p><center><img src="http://tuomas.kulve.fi/blogstuff/battery_duration_ffvorbis.png" alt="Battery duration: MP3 vs. ffvorbis" /></center></p>
<p>The average battery duration while using ffvorbis was slightly better than while using MP3 but probably well within the error margins. So basically they are equal when battery duration is concerned.</p>
<p>It&#8217;s interesting to see how the situation changes in a year, will Nokia make better optimizations to their MP3 decoder than the community to the FFmpeg. These tests were run in a preproduction device with a pre-sales software. I&#8217;m sure the overall power management of the device will get (even?) better in the future software releases.</p>
<p><strong>Addition</strong> (2009-11-17):</p>
<p>When using the speakers the n900 runs some &#8220;speaker protection algorithms&#8221; that take extra power. I repeated the ffvorbis test case with Nokia&#8217;s headset and here are the results:</p>
<p><center><img src="http://tuomas.kulve.fi/blogstuff/battery_duration_ffvorbis_hp.png" alt="Battery duration: ffvorbis with headphones" /></center></p>
<p>On the average the battery duration improved a bit over three hours.</p>
<p><strong>Addition</strong> (2009-11-25):</p>
<p>I run the same tests (Ogg Support 1.0.5, no headset) for Flac:</p>
<p><center><img src="http://tuomas.kulve.fi/blogstuff/battery_duration_libflac.png" alt="Battery duration: libflac" /></center></p>
<p>n900 with a pre-sales w41-10 software can run Flac roughly 1.5 hours longer than MP3.</p>
<span class="net_nemein_favourites">46 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=06901868cb9711debd85e96df7af1fd81fd8&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/06901868cb9711debd85e96df7af1fd81fd8/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=06901868cb9711debd85e96df7af1fd81fd8&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/06901868cb9711debd85e96df7af1fd81fd8/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Sat, 07 Nov 2009 10:54:05 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-06901868cb9711debd85e96df7af1fd81fd8</guid>
        </item>
        <item>
            <title>Ogg Support: Next Steps</title>
            <link>http://tuomas.kulve.fi/blog/2009/10/16/ogg-support-next-steps/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ogg-support-next-steps</link>
            <description><![CDATA[
<p>Purpose of the 1.0.5 release was to get a decent feature set to Extras repository before the Maemo Summit. There are still some bigger issues to be fixed in the future releases.</p>
<p><strong>Bugs</strong></p>
<p>There&#8217;s a product for Ogg Support at the <a href="http://bugs.maemo.org/buglist.cgi?product=ogg-support">Maemo Extras Bugzilla</a>. I&#8217;ve added the major issues there but do report any other issues you find.</p>
<p><strong>Tags</strong></p>
<p>Media Player and File Manager depend heavily on the open source <a href="http://projects.gnome.org/tracker/">Tracker</a> for the meta data. Tracker has different meta data extractors for different mime types. <em>GStreamer</em> extractor is used by default for all <em>audio/*</em> and <em>video/*</em> mime types. The gstreamer extractor uses tagreadbin for getting the meta data from the media files. </p>
<p>For better efficiency tagreadbin uses only parsers for getting the meta data. Decoders may need e.g. separate DSP hardware, so using decoders for getting the meta data could be a very slow and heavy process.</p>
<p>Unfortunately Vorbis and Flac tags are not in the container and need a decoder for parsing them. Tracker provides a separate extractor for Vorbis that&#8217;s now <a href="http://gitorious.org/tracker-vorbis-extractor">packaged separately for Maemo</a> by Ivan Frade. That&#8217;s not &#8220;product quality&#8221; and shouldn&#8217;t be used, so a proper solution will replace that one. The work for getting a tag parser for Vorbis and Flac to be used with tagreadbin has already been started. Hopefully the patch will be attached to the <a href="https://bugzilla.gnome.org/show_bug.cgi?id=564749">Gnome bugzilla</a> at some point.</p>
<p>Gstreamer&#8217;s <em>playbin</em>(2) element reports tags while playing the media file and this already works with Vorbis and Flac. MP and FM need to know the meta data before they start to play the file but e.g. the Media Widget on the Desktop seems to get the tags from the playbin2 as it shows the tags for Flac as well.</p>
<p><strong>Performance</strong></p>
<p>The Vorbis decoder from xiph.org isn&#8217;t as fast as the FFmpeg&#8217;s Vorbis decoder on the n900.</p>
<p>There weren&#8217;t any GStreamer plugins for the FFmpeg&#8217;s Vorbis decoder until <a href="http://felipec.wordpress.com/">Felipe</a> <a href="http://github.com/felipec/gst-av">implemented one</a>. The gst-av is still missing some features that need to be implemented before it can be taken into use, mainly tags and streaming.</p>
<p>If you are interested in the topic, I&#8217;m sure Felipe would be more than happy to apply patches :)</p>
<p>I&#8217;ll report numbers about performance comparisons between MP3 and Ogg later.</p>
<span class="net_nemein_favourites">14 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=08a668ecba2f11de846f0dbbc4ede6d3e6d3&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/08a668ecba2f11de846f0dbbc4ede6d3e6d3/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=08a668ecba2f11de846f0dbbc4ede6d3e6d3&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/08a668ecba2f11de846f0dbbc4ede6d3e6d3/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Fri, 16 Oct 2009 08:15:10 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-08a668ecba2f11de846f0dbbc4ede6d3e6d3</guid>
        </item>
        <item>
            <title>Ogg Support in Fremantle Extras</title>
            <link>http://tuomas.kulve.fi/blog/2009/10/04/ogg-support-in-fremantle-extras/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ogg-support-in-fremantle-extras</link>
            <description><![CDATA[
<p>In my last post I asked for a wish list of features for the Ogg Support. I started the integration work based on those comments and now the 1.0.5 version for n900 has been promoted to Fremantle Extras repository.</p>
<p>The support for Vorbis audio is good: tags work, File Manager shows them too and knows how to launch Vorbis files in Media Player, etc. Flacs are missing tags but no magic is needed for that, just a new GStreamer element. Theora support is also included. I haven&#8217;t tested it much but at least the basic features seem to work.</p>
<p>I&#8217;ll tell more about the details at the Maemo Summit.</p>
<span class="net_nemein_favourites">40 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=0aa3a870b0f311deb357e9404142daeadaea&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/0aa3a870b0f311deb357e9404142daeadaea/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=0aa3a870b0f311deb357e9404142daeadaea&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/0aa3a870b0f311deb357e9404142daeadaea/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Sun, 04 Oct 2009 13:42:45 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-0aa3a870b0f311deb357e9404142daeadaea</guid>
        </item>
        <item>
            <title>Wishlist for N900 ogg-support</title>
            <link>http://tuomas.kulve.fi/blog/2009/09/03/wishlist-for-n900-ogg-support/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=wishlist-for-n900-ogg-support</link>
            <description><![CDATA[
<p>Time to switch to a Linux phone and time to start preparing ogg-support for N900/Fremantle.</p>
<p>Hopefully everything will be easier to get working with the N900 since at least the closed source Metalayer Crawler is replaced with open source Tracker.</p>
<p>I would like to hear if there&#8217;s anything special people would like to get with ogg-support. Support for oggs in the built-in media player with tags is of course the first goal but is there something else that is a must? Theora? Flac?</p>
<p>Thanks.</p>
<span class="net_nemein_favourites">30 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=f5e57b28988f11de854099cf46a9153d153d&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/f5e57b28988f11de854099cf46a9153d153d/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=f5e57b28988f11de854099cf46a9153d153d&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/f5e57b28988f11de854099cf46a9153d153d/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Thu, 03 Sep 2009 12:49:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-f5e57b28988f11de854099cf46a9153d153d</guid>
        </item>
        <item>
            <title>Learning OpenGL ES 2.0</title>
            <link>http://tuomas.kulve.fi/blog/2009/04/28/learning-opengl-es-20/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=learning-opengl-es-20</link>
            <description><![CDATA[
<p>I got (again) interested on OpenGL ES 2.0 and bought <em>OpenGL&reg; ES 2.0 Programming Guide</em>.</p>
<p>The examples on the book can be downloaded from <a href="http://www.opengles-book.com/">http://www.opengles-book.com/</a>. Those are meant to be compiled with Microsoft Visual Studio.</p>
<p>I made a small <a href="http://tuomas.kulve.fi/blogstuff/0001-Initial-Linux-X11-port.patch">patch</a> that adds initial support for Linux/X11. It doesn&#8217;t support texture loading (because I misplaced my png loader somewhere), the <code>WinCreate()</code> is copypaste code I don&#8217;t fully understand and the <code>WinLoop()</code> is missing some functionality. But at least the Chapter 1 Hello Triangle compiles and runs in Fremantle on Beagle board :)</p>
<p>Compile and install the <em>libes</em> in a normal autotools manner. Then you can compile the examples by exporting the <code>PKG_CONFIG_PATH</code> and running gcc:</p>
<p><code><br />
gcc `pkg-config libes --cflags --libs` Hello_Triangle.c -o Hello_Triangle<br />
</code></p>
<p>As usual, patches are welcome :)</p>
<span class="net_nemein_favourites">13 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=618294b033be11deaa6591919754ed0aed0a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/618294b033be11deaa6591919754ed0aed0a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=618294b033be11deaa6591919754ed0aed0a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/618294b033be11deaa6591919754ed0aed0a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Tue, 28 Apr 2009 06:32:35 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-618294b033be11deaa6591919754ed0aed0a</guid>
        </item>
        <item>
            <title>ALIP on n8x0</title>
            <link>http://tuomas.kulve.fi/blog/2009/02/24/alip-on-n8x0/</link>
            <description><![CDATA[
<p><a href="http://www.arm.com">ARM</a> and <a href="http://www.movial.com">Movial</a> announced a second stable release of <a href="http://linux.onarm.com">ARM Linux Internet Platform (ALIP)</a> generic repository. ALIP got other updates as well, see a <a href="http://sandbox.movial.com/blog/2009/02/linux-on-arm-v2/">blog post</a> about them in <a href="http://sandbox.movial.com">Movial&#8217;s Sandbox</a> or the actual <a href="http://linux.onarm.com/index.php/Release_generic-2">release notes</a>.</p>
<p>The <a href="http://linux.onarm.com/index.php/Kaze">Kaze project</a> for n8x0 devices was updated to use the <em>generic-2</em> branch as well. There are no built images provided, but ALIP is relatively easy to compile if one is already familiar with Scratchbox. The ALIP rootfs works with the Maemo kernel and initfs and it can be booted nicely from an MMC/SD card, so no need to destroy the Maemo from the device just to test ALIP.</p>
<p><center><br />
<a href="http://tuomas.kulve.fi/blogstuff/kaze-n8x0.png"><img src="http://tuomas.kulve.fi/blogstuff/t_kaze-n8x0.png" alt="Kaze on n8x0" /></a><br />
</center></p>
<p>ALIP requires newer SB components (and specific toolchains) but the newer SB components should work just fine with Maemo targets and Maemo toolchains. Or the newer SB can be installed in a different directory from tarballs and used concurrently with the Maemo SB.</p>
<p>Follow the <a href="http://linux.onarm.com/index.php/From_scratch">From scratch</a> instructions but replace alip-project with kaze-project and don&#8217;t pass the <em>-cbeagleboard</em>. You should pass <em>-c multimedia</em> to include 3rd party provided (by me actually) gst-ffmpeg to the build.</p>
<p>If you want to include WebKit engine and Midori UI to it, add &#8220;midori&#8221; to the <em>components</em> file.</p>
<p>Unfortunately the X driver for OMAPs (<a href="http://linux.onarm.com/gitweb/?p=omap/source/xf86-video-omapfb.git;a=summary">xf86-video-omapfb</a>) in the stable branch in omap-repository has a bug concerning n8x0 devices and you should use master branch of it if you want to test video playback. The easiest way to switch using master branch for this component is to clone the n8x0 configuration repository and switch the branch before running the <em>matrix install</em>.</p>
<p><code><br />
git clone git://linux.onarm.com/git/n8x0/config/n8x0.git<br />
vi n8x0/suite/n8x0-recommended<br />
# Add the branch: Component("xf86-video-omapfb", branch="master")<br />
matrix install -c multimedia<br />
</code></p>
<p>After the install you should include the binary DSP tasks from the device (they are proprietary and cannot be distributed). Use the helper script (<a href="http://linux.onarm.com/gitweb/?p=n8x0/source/platform-n8x0.git;a=blob;f=get_nokia_binaries.sh;h=70b3d474fc20738780867611200bcf013df8219d;hb=n8x0-2">get_nokia_binaries.sh</a>) in src/platform-n8x0 that fetches them from the device over ssh and reinstall the component before creating the rootfs image:</p>
<p><code><br />
matrix install-only -c multimedia platform-n8x0<br />
</code></p>
<p>Lots of things are still broken:</p>
<ul>
<li>Power button tries to suspend, which fails and does nothing.</li>
<li>WLAN encryption keys are not stored succesfully.</li>
<li>WPA doesn&#8217;t work (WEP and unencrypted do work).</li>
<li>Midori should be started after networking.</li>
<li>There&#8217;s no ssh client (but dbclient as it&#8217;s dropbear).</li>
<li>Power management.</li>
<li>Default XFCE theme doesn&#8217;t look cool.</li>
<li>Etc.</li>
</ul>
<p>But I believe that with some work Kaze on n8x0 will become decent enough for everyday use and will provide up to date components long after Nokia has dropped the n8x0 support.</p>
<p>If you have any questions, visit #alip @ freenode.</p>
<p>PS. If you want an open source media engine with D-Bus API checkout the <a href="http://sandbox.movial.com/wiki/index.php/Octopus">Octopus</a>. It&#8217;s a work in progress but handles basic audio and video playback on n8x0 just fine :)</p>
<span class="net_nemein_favourites">10 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=00f2839e02b311deba09bf8d73423da63da6&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/00f2839e02b311deba09bf8d73423da63da6/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=00f2839e02b311deba09bf8d73423da63da6&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/00f2839e02b311deba09bf8d73423da63da6/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Tue, 24 Feb 2009 19:52:29 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-00f2839e02b311deba09bf8d73423da63da6</guid>
        </item>
        <item>
            <title>Ogg-support: in Extras</title>
            <link>http://tuomas.kulve.fi/blog/2009/01/22/ogg-support-in-extras/</link>
            <description><![CDATA[
<p>I promoted the ogg-support 0.9 to Extras repository. Feedback is welcome.</p>
<p>I&#8217;ve also managed to get the tags (except for the album) to show up in Metalayer Crawler. But that code isn&#8217;t even in SVN yet. </p>
<p>Kilikali shows all the tags properly and based on the GStreamer debug prints the MLC also gets the album tag but for some reason doesn&#8217;t write it to ~/.meta_storage SQL db.</p>
<p>Too bad the MLC is closed source so I can&#8217;t debug further why it rejects the album tag.</p>
<span class="net_nemein_favourites">16 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=714ac276e8bb11dd8f0b271969562c472c47&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/714ac276e8bb11dd8f0b271969562c472c47/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=714ac276e8bb11dd8f0b271969562c472c47&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/714ac276e8bb11dd8f0b271969562c472c47/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Thu, 22 Jan 2009 19:31:28 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-714ac276e8bb11dd8f0b271969562c472c47</guid>
        </item>
        <item>
            <title>Ogg-support 0.9: Builder</title>
            <link>http://tuomas.kulve.fi/blog/2008/12/26/ogg-support-09-builder/</link>
            <description><![CDATA[
<p>I added the Theora support back to ogg-support and uploaded the source packages to extras-devel builder.</p>
<p>I didn&#8217;t change the mimetypes though, so all *.ogg files are seen as audio files even though they may contain video streams as well. I quickly transcoded the Big Buck Bunny video to lower resolution ogg containing Theora video and vorbis audio. The Media Player was able to show it although I should have used even lower resolution (and lower audio bitrate).</p>
<p>Comments are welcome.</p>
<span class="net_nemein_favourites">8 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=179b96e8d36b11ddb52c8d1b1e80b3ccb3cc&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/179b96e8d36b11ddb52c8d1b1e80b3ccb3cc/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=179b96e8d36b11ddb52c8d1b1e80b3ccb3cc&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/179b96e8d36b11ddb52c8d1b1e80b3ccb3cc/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Fri, 26 Dec 2008 16:21:42 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-179b96e8d36b11ddb52c8d1b1e80b3ccb3cc</guid>
        </item>
        <item>
            <title>New UI for Kilikali</title>
            <link>http://tuomas.kulve.fi/blog/2008/10/05/new-ui-for-kilikali/</link>
            <description><![CDATA[
<p>Thanks to <a href="http://movial.fi/en/company/About/careers/">Movial</a> <a href="http://garage.maemo.org/projects/kilikali/">Kilikali</a> got a modern UI and looks quite nice now:</p>
<p><center><a href="http://maemo.org/blogstuff/kilikali-ui-2008-10-05.png"><img src="http://maemo.org/blogstuff/kilikali-ui-small-2008-10-05.png" alt="Kilikali UI" border=1></a></center></p>
<p>Kilikali development has moved to <a href="http://linux.onarm.com/gitweb/?p=generic/source/kilikali.git;a=shortlog;h=refs/heads/generic-2">a GIT tree</a> (branch generic-2) hosted by <a href="http://linux.onarm.com/">linux.onarm.com</a>.</p>
<p>Although the UI got improved and the playback on n8&#215;0 got fixes there are still some bigger task to be done. E.g. adding single files, adding directories recursively and skipping unknown media types. Integration with <a href="http://lms.garage.maemo.org/">Light Media Scanner</a> has also been discussed.</p>
<span class="net_nemein_favourites">7 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=9ce172ba92c911dd963b6b6e2b3f28fd28fd&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/9ce172ba92c911dd963b6b6e2b3f28fd28fd/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=9ce172ba92c911dd963b6b6e2b3f28fd28fd&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/9ce172ba92c911dd963b6b6e2b3f28fd28fd/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Sun, 05 Oct 2008 09:54:39 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-9ce172ba92c911dd963b6b6e2b3f28fd28fd</guid>
        </item>
        <item>
            <title>Ogg-support 0.8: Diablo</title>
            <link>http://tuomas.kulve.fi/blog/2008/09/10/ogg-support-08-diablo/</link>
            <description><![CDATA[
<p>I finally compiled ogg-support for Diablo too. It&#8217;s available through the <a href="http://maemo.org/downloads/product/OS2008/ogg/">maemo downloads</a> page.</p>
<p>I don&#8217;t know why the Chinook version didn&#8217;t work in Diablo any more. And I didn&#8217;t really want to start debugging why the Maemo&#8217;s mime libraries and the closed source Metalayer Crawler don&#8217;t want to work with the mimetypes copied from a desktop system. So, now there&#8217;s only one mimetype: <em>audio/x-vorbis</em> and no support for speex or theora anymore. On the good side, e.g. File Manager can now start OGGs to Media Player.</p>
<p>New feature is a Control Panel plugin to ignore the OGGs from the Maps application. After installing ogg-support wait several minutes for the Metalayer Crawler to finish and then start the CP plugin. Metalayer Crawler seems to be much much slower if you have the Media Player open while it indexes the files.</p>
<span class="net_nemein_favourites">15 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=8709177c7f5511dd852c6d6473a0588d588d&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/8709177c7f5511dd852c6d6473a0588d588d/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=8709177c7f5511dd852c6d6473a0588d588d&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/8709177c7f5511dd852c6d6473a0588d588d/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Wed, 10 Sep 2008 16:15:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-8709177c7f5511dd852c6d6473a0588d588d</guid>
        </item>
        <item>
            <title>Linux on ARM</title>
            <link>http://tuomas.kulve.fi/blog/2008/08/20/linux-on-arm/</link>
            <description><![CDATA[
<p>ARM (and Movial) has published a new <a href="http://linux.onarm.com">site</a> that <i>provides Open Source components, middleware and utilities used to build a Linux Mobile software stack on ARM.</i></p>
<p>All components (applications, libraries, etc) are in GIT repositories. The build tool is called <i><a href="http://sandbox.movial.com/wiki/index.php/Matrix">Matrix</a></i>. Matrix clones all components under one directory and compiles them with a single command. With another command you get JFFS2 image although that&#8217;s not as simple as it should be.</p>
<p>ARM would like to get all contributions directly to upstream instead of providing large code dumps and states that <i>developers are encouraged to participate in discussion forums and developer community of respective components used on this site</i>. That&#8217;s why there are no new mailing lists nor forums available for the platform. There is <code>#matrixhelp</code> (<code>#matrix</code> was taken) on <code>irc.ipv6.oftc.net</code> for Matrix related issues though. Developing the components is convenient if you are familiar with GIT. It&#8217;s easy to test if your patch works and send it to the upstream project.</p>
<p>One of the supported hardware platforms is n8&#215;0 which is nice as it&#8217;s commonly available. The downside is the closed source nature of it. There are two projects, <a href="http://linux.onarm.com/index.php/Integration">example-project</a> and <a href="http://linux.onarm.com/index.php/Kaze">Kaze</a> that has n8&#215;0 configured as one target platform. Kaze has XFCE desktop instead of Matchbox desktop that the example-project uses.</p>
<p>Kaze boots but most features need still work. WLAN works without encryption but WEP and WPA encryptions need to be fixed. ALSA works with alsa plugins through the DSP but the closed source DSP tasks need to be <a href="http://www.linux.onarm.com/gitweb/?p=n8x0/source/platform-n8x0.git;a=blob;f=get_nokia_binaries.sh;hb=HEAD">copied</a> to the build system. Kaze has normal X.Org instead of Xomap, so there&#8217;s no XV extension, only <a href="http://www.linux.onarm.com/gitweb/?p=n8x0/source/xf86-video-fbdev-omap.git;a=summary">stubs<a>.</p>
<span class="net_nemein_favourites">6 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=29fb42266f2e11dd8b074986ddafeae9eae9&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/29fb42266f2e11dd8b074986ddafeae9eae9/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=29fb42266f2e11dd8b074986ddafeae9eae9&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/29fb42266f2e11dd8b074986ddafeae9eae9/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Wed, 20 Aug 2008 06:44:59 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-29fb42266f2e11dd8b074986ddafeae9eae9</guid>
        </item>
        <item>
            <title>GCC options and floating point</title>
            <link>http://tuomas.kulve.fi/blog/2008/05/17/gcc-options-and-floating-point/</link>
            <description><![CDATA[
<p>There was (again) some discussion on <code>#maemo</code> about gcc options regarding VFP usage so I decided to make a simple test with different gcc options using the Maemo&#8217;s <code>cs2005q3.2-glibc2.5-arm</code> toolchain. Nothing new here for people already familiar with the floating point stuff.</p>
<p>In the test I compiled a very simple <a href="http://maemo.org/blogstuff/vfp-2008-05-17/vfp.c">test code</a> with different <code>-mfpu</code> and <code>-mfloat-abi</code> options, <code>-O2</code> and <code>-march=armv6</code> were given in all cases. The asm code is linked in the table. The code is a simple for loop which could be optimized to one round but based on the results it looks like the gcc didn&#8217;t do this kind of tricks.</p>
<p>Although you can ask the default options from the gcc I decided to test also without the options. The test was run on n810 and results are in the table below.</p>
<table align=center border=1>
<tr>
<td>GCC</td>
<td><b>none</b></td>
<td><b>hard</b></td>
<td><b>soft</b></td>
<td><b>softfp</b></td>
</tr>
<tr>
<td><b>none</b></td>
<td>0m 31.11s<br />0m 31.01s<br />0m 0.00s<br /><a href="http://maemo.org/blogstuff/vfp-2008-05-17/test-armv6-none-none.s">asm</a></td>
<td>-<br />-<br />-<br /><a href="http://maemo.org/blogstuff/vfp-2008-05-17/test-armv6-none-hard.s">asm</a></td>
<td>0m 31.24s<br />0m 31.00s<br />0m 0.00s<br /><a href="http://maemo.org/blogstuff/vfp-2008-05-17/test-armv6-none-soft.s">asm</a></td>
<td>0m 4.38s<br />0m 4.37s<br />0m 0.00s<br /><a href="http://maemo.org/blogstuff/vfp-2008-05-17/test-armv6-none-softfp.s">asm</a></td>
</tr>
<tr>
<td><b>fpa</b></td>
<td>0m 30.64s<br />0m 30.54s<br />0m 0.00s<br /><a href="http://maemo.org/blogstuff/vfp-2008-05-17/test-armv6-fpa-none.s">asm</a></td>
<td>5m 52.53s<br />0m 21.25s<br />5m 30.66s<br /><a href="http://maemo.org/blogstuff/vfp-2008-05-17/test-armv6-fpa-hard.s">asm</a></td>
<td>0m 30.57s<br />0m 30.55s<br />0m 0.00s<br /><a href="http://maemo.org/blogstuff/vfp-2008-05-17/test-armv6-fpa-soft.s">asm</a></td>
<td>5m 52.56s<br />0m 21.06s<br />5m 30.69s<br /><a href="http://maemo.org/blogstuff/vfp-2008-05-17/test-armv6-fpa-softfp.s">asm</a></td>
</tr>
<tr>
<td><b>vfp</b></td>
<td>0m 31.09s<br />0m 30.99s<br />0m 0.00s<br /><a href="http://maemo.org/blogstuff/vfp-2008-05-17/test-armv6-vfp-none.s">asm</a></td>
<td>-<br />-<br />-<br /><a href="http://maemo.org/blogstuff/vfp-2008-05-17/test-armv6-vfp-hard.s">asm</a></td>
<td>0m 31.08s<br />0m 31.00s<br />0m 0.00s<br /><a href="http://maemo.org/blogstuff/vfp-2008-05-17/test-armv6-vfp-soft.s">asm</a></td>
<td>0m 4.40s<br />0m 4.39s<br />0m 0.00s<br /><a href="http://maemo.org/blogstuff/vfp-2008-05-17/test-armv6-vfp-softfp.s">asm</a></td>
</tr>
</table>
<p>Looks like the default for <code>-mfpu</code> is <em>vfp</em> and the default for <code>-mfloat-abi</code> is <em>soft</em>.</p>
<p>There are three different values, one takes some seconds, one takes some tens of seconds and one takes some minutes. </p>
<p>This was expected as there are three different ways to do floating point math. In the slowest one the kernel emulates the fpu after cpu has run into undefined floating point opcode. This is extremely slow as there are a lot of context switches. A faster way to do the floating point math without the hardware is to let the gcc to compile the floating point math to the binary itself (and something in libgcc?). The fastest way is to use the VFP hardware.</p>
<span class="net_nemein_favourites">6 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=cfa23ac8243711dd9ff53759ce0dd259d259&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/cfa23ac8243711dd9ff53759ce0dd259d259/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=cfa23ac8243711dd9ff53759ce0dd259d259&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/cfa23ac8243711dd9ff53759ce0dd259d259/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Sat, 17 May 2008 17:15:40 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-cfa23ac8243711dd9ff53759ce0dd259d259</guid>
        </item>
        <item>
            <title>Ogg-support 0.7: Canola interoperability</title>
            <link>http://tuomas.kulve.fi/blog/2008/05/04/ogg-support-07-canola-interoperability/</link>
            <description><![CDATA[
<p>Light Media Scanner now uses libivorbis (Tremor) instead of floating point libvorbis. Ogg-support now depends on newer build of libivorbis that exports the symbols needed by LMS.</p>
<p>There&#8217;s now <code>ogg-support-lightmediascanner</code> meta package which depends on <code>lightmediascanner0-ogg</code> for easier installation with the Application Manager.</p>
<p>Unfortunately all other issues with ogg-support still remain.</p>
<span class="net_nemein_favourites">5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=7f52325e19e611dd98fbab643047b1fbb1fb&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/7f52325e19e611dd98fbab643047b1fbb1fb/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>4 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=7f52325e19e611dd98fbab643047b1fbb1fb&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/7f52325e19e611dd98fbab643047b1fbb1fb/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Sun, 04 May 2008 14:15:15 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-7f52325e19e611dd98fbab643047b1fbb1fb</guid>
        </item>
        <item>
            <title>Ogg-support: Issues</title>
            <link>http://tuomas.kulve.fi/blog/2008/01/24/ogg-support-issues/</link>
            <description><![CDATA[
<p>The ogg-support is listed as the The Pearl for OS2008, thanks! :)</p>
<p>Even though the ogg-support has got nice ratings in the download page, it doesn&#8217;t work perfectly on the OS2008. Most of the issues has some sort of workaround so I decided to make a summary post of them.</p>
<p><b>Ogg-support breaks VOIP calls</b></p>
<p>Ogg-support adds Speex voice codec to the system and it seems that the VOIP client advertises it as the <b>first</b> choice. If both parties have it installed, it&#8217;s selected. But. The VOIP engine (or whatever) doesn&#8217;t know or just refuses to use Speex, so the VOIP stream is not actually sent, properly at least.</p>
<p>If you delete the Speex&#8217; GStreamer plugin, the calls seems to work nicely.</p>
<p><a href="http://bugs.maemo.org/show_bug.cgi?id=2811">Bug report (#2811)</a>.</p>
<p><b>All Oggs from Map are listed in Media Player</b></p>
<p>The Metalayer Crawler adds all known media files to the Media Player&#8217;s Library. With ogg-support also Ogg files are recognized and added to the Library. Problem is that the Map application includes almost 2000 Oggs with N810 so they are added to the Library too.</p>
<p>A workaround is mentioned in the ogg-support&#8217;s <a href="http://garage.maemo.org/forum/message.php?msg_id=4089">help forum</a>. It requires editing the SQL database after the files are added to the Library.</p>
<p><a href="http://bugs.maemo.org/show_bug.cgi?id=2772">Bug report (#2772)</a>.</p>
<p><b>File Manager doesn&#8217;t launch Media Player for Oggs</b></p>
<p>I had to modify the mime type XML a bit to get File Manager to recognize videos and audios in Ogg container separately instead of just showing all *.ogg files as e.g. audio/x-vorbis. To be specific I had to remove the *.ogg pattern from the XML file.</p>
<p>It seems that the <code>hildon_mime_open_file()</code> in <code>libhildonmime</code> doesn&#8217;t launch the file without the *.ogg pattern tag in XML.</p>
<p>No workaround for this one.</p>
<p><a href="http://bugs.maemo.org/show_bug.cgi?id=2521">Bug report (#2521)</a>.</p>
<p><strong>PS.</strong> Many problems are reported in the Internet Tablet Talk&#8217;s forums. I don&#8217;t follow those frequently so please notify me in the garage&#8217;s forums about possible bugs, issues or workarounds. I do get a instant mail notification about those. Thanks.</p>
<span class="net_nemein_favourites">9 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=4ddb56c2ca5611dc93dd75c5275b91369136&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/4ddb56c2ca5611dc93dd75c5275b91369136/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=4ddb56c2ca5611dc93dd75c5275b91369136&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/4ddb56c2ca5611dc93dd75c5275b91369136/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Tuomas Kulve &lt;tuomas@kulve.fi&gt;</author>
            <category>feed:89e919e881f6ec510fc2f0aa43617339</category>
            <pubDate>Thu, 24 Jan 2008 08:00:54 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-4ddb56c2ca5611dc93dd75c5275b91369136</guid>
        </item>
    </channel>
</rss>
