Linux, open source, audio, and stuff

  • Home
  • About

Category Archives: Android

A Second Android UCM

8th June, 2012 · krtaylor

Now there are two. Yes, there are now two different UCM prototypes for Android on Pandaboard. But why?  Well, the first, tinyHAL, came out of conversations with Mark Brown and others, as described in my earlier post.  The second came from later discovering that Gabriel Beddingfield had implemented a similar PoC for Blaze. They are both good starts and both have their pluses, and now both run on Pandaboard with the Linaro Android builds.

The first, tinyHAL is available at here.  The second, android-ucm, is available here.  I have also facilitated the relicensing of the dependencies for android-ucm and deposited them here and here.  Please refer to the README in each of these repositories for the instructions on how to build these components in a Linaro Android build (edit: Linaro has removed these git repos, contact them directly for this source).

So, which one should be used and enhanced? Well, I like the XML mapping from android-ucm, and I like the XML configuration formats from tinyHAL. I suspect that the way forward should be to decide the best features, and then combine, refactor, and merge efforts. For now, try them both and see which one you prefer. As always, contributions are always welcome and feel free to contact me or linaro-dev@lists.linaro.org if you have comments.

Posted in ALSA, Android, Linaro Sound, PandaBoard | Tags: ALSA, Android, Linaro, Linux sound, PandaBoard |

UCM for Android

23rd March, 2012 · krtaylor

Following the ASoC Embedded ALSA Conference and the Linaro Multimedia Summit last year, I put plans in place to bring UCM to Linaro for both the Ubuntu-based builds and the Android builds.  We are seeing that happen.  UCM functionality is improving in Ubuntu and now is coming to Android.  Based on the initial drop of tinyhal by Mark Brown, I now have a prototype running on Pandaboard.  This code should be viewed as a proof-of-concept framework for UCM, not a complete fully-functioning implementation.  The code supports basic playback and will need to be enhanced for a full dynamic verb set.  I have created a git repository for my work here (edit: Linaro has removed this git repo, contact them directly for this source).

To give it a try, you will need to follow the Linaro Android instructions for building from source, which I recently blogged here.  Follow the README instructions for copying files to their needed locations.  You can test playback with tinyplay or the Android music player app.  The configuration file sets the initial volume, but the Android settings work normally for adjusting this level.

The remaining needed work will continue over the next several weeks, adding support for other mixing and routes.  I am also looking to unify the file formats between Ubuntu and Android.  Stay tuned for that proposal.  As always, contributions are welcome.

Posted in ALSA, Android, Linaro Sound, PandaBoard, Ubuntu | Tags: ALSA, Android, Linux sound |

Setting up an Android Build

13th February, 2012 · krtaylor

Yes, it has been too long since I blogged, I won’t bore you with the details of why.  Instead, I’ll kick this off again with a step-by-step post on how to set up a system to do your first Android build.

Linaro has a great new Android homepage with lots of useful links on it, go explore the info there http://wiki.linaro.org/Platform/Android

I did my installation on Ubuntu 11.10 Oneiric, so this post will make the most sense if you do too.  Put away that P3 box in the corner you were planning on using.  It seems to be a wise requirement to use a quick box with x86_64 support. You will also need ~30G of free space on your drive an a good amount of memory, plan for it. So, go do your AMD64 install of Ubuntu Oneiric desktop and then come back.

The AOSP “Initializing a Build Environment” page is your next stop. It is slightly out of date, but work through it  http://source.android.com/source/initializing.html  Under the “Installing required packages” section, there is a package change for Oneiric. The package lib32readline5-dev is not available, use lib32readline-gplv2-dev instead.

Next, go get repo.  To do this, follow the first 3 steps under the Quickstart section at http://wiki.linaro.org/Platform/Android/BuildSource  Wait on running the repo init command for now.

Install gcc-4.5. I used software center, and uninstalled 4.6 first. You may not have to do this as it may have caused me some extra fun for me. Regardless, when you have it installed, make sure that you have /usr/bin/cc and /usr/bin/gcc symlinked to gcc-4.5, not 4.6.

I also experienced a problem that was well documented here: http://unforgivendevelopment.com/2011/10/05/solved-cyanogenmod-build-issues-on-debian-wheezy-testing/  As this post suggests, running “sudo ln -s /usr/include/`uname -m`-linux-gnu/asm/ /usr/include/asm” fixed the problem.

Now it is time to decide on the code to build.  I was interested in reproducing the 12.01 Linaro Android “tracking” build because it had the patches needed to make audio work on the Pandaboard. The best way to do this is to follow the “How to Get and Build the Source” on the android-build.linaro.org page for the build you are interested in, in my case, https://android-build.linaro.org/builds/~linaro-android/tracking-panda-12.01-release/  If you follow this exactly (with any changes for your environment, of course), you shouldn’t have any problems. Also, I hope you aren’t in a hurry. The repo sync alone will take over an hour unless you have a super fast connection and the build will depend on your host, but mine takes a good long time.

When the build is complete, check the build log in the root directory to make sure there wasn’t any issues. To use the build you just made, refer to the instructions “How to Use Prebuilt Images” on the same Linaro Build page you used in the step above. The boot, system and userdata compressed tarballs are available in the ~/android/out/target/product/<board> directory. Substitute <board> with your dev platform, in my case that was “pandaboard”. Blast these onto a SD card just like you’d do with the prebuilt images and you’ll be up an running on your own Android build.

That’s all there is to it. Hope this helps, I tried to capture everything that I went through to get it working. Please let me know if you find any omissions or problems so that I can edit this post with any corrections.

Posted in Android, Linaro Sound, PandaBoard, Ubuntu | Tags: Android, Linaro, Ubuntu |

Pages

  • About

Archives

  • July 2020
  • February 2019
  • October 2018
  • April 2018
  • December 2017
  • October 2017
  • May 2017
  • March 2017
  • February 2017
  • October 2016
  • May 2016
  • June 2015
  • May 2015
  • March 2015
  • November 2014
  • October 2014
  • June 2012
  • March 2012
  • February 2012
  • July 2011
  • May 2011
  • March 2011
  • January 2011
  • December 2010

Categories

  • About (2)
  • ALSA (8)
  • Android (3)
  • BeagleBoard (1)
  • DragonBoard410C (1)
  • Ironic (3)
  • Kolla (3)
  • Linaro Sound (12)
  • Open Source Community (2)
  • OpenBMC (4)
  • OpenStack (12)
  • PandaBoard (5)
  • PulseAudio (7)
  • Red Hat (1)
  • Swift (1)
  • Third-party CI (4)
  • TripleO (2)
  • Ubuntu (5)
  • Uncategorized (1)

WordPress

  • Log in
  • WordPress

Subscribe

  • Entries (RSS)
  • Comments (RSS)

Pages

  • About

Archives

  • July 2020
  • February 2019
  • October 2018
  • April 2018
  • December 2017
  • October 2017
  • May 2017
  • March 2017
  • February 2017
  • October 2016
  • May 2016
  • June 2015
  • May 2015
  • March 2015
  • November 2014
  • October 2014
  • June 2012
  • March 2012
  • February 2012
  • July 2011
  • May 2011
  • March 2011
  • January 2011
  • December 2010

Categories

  • About (2)
  • ALSA (8)
  • Android (3)
  • BeagleBoard (1)
  • DragonBoard410C (1)
  • Ironic (3)
  • Kolla (3)
  • Linaro Sound (12)
  • Open Source Community (2)
  • OpenBMC (4)
  • OpenStack (12)
  • PandaBoard (5)
  • PulseAudio (7)
  • Red Hat (1)
  • Swift (1)
  • Third-party CI (4)
  • TripleO (2)
  • Ubuntu (5)
  • Uncategorized (1)

WordPress

  • Log in
  • WordPress
© Kurt Taylor, all rights reserved
  • About