Home > arm, canonical, linaro, linux, meego, panda, ubuntu > Ubuntu TV UI at Pandaboard, and next steps

Ubuntu TV UI at Pandaboard, and next steps

Yesterday Canonical announced the first UI concept for the Ubuntu TV. Together with the announcement, the first code drop was released, so we could read and understand better the technologies used, and how this will behave on an ARM environment, mostly at a Pandaboard (that we already have OpenGL ES 2 and video decode working).

Getting Ubuntu TV to work

If are still using Oneiric, you can just follow the guide presented at https://wiki.ubuntu.com/UbuntuTV/Contributing, where you’ll find all needed steps to try Ubuntu TV at your machine.

As it’s quite close with Unity 2D (similar code base), and also based on Qt, I decided to follow the steps described at wiki page and see if it should work correctly.

First issue we found with Qt, was that it wasn’t rendering at full screen when using with latest PowerVR SGX drivers, so any application you wanted to use with Qt Opengl would just show itself on a small part of the screen. Luckily TI (Nicolas Dechesne and Xavier Boudet) quickly provided me a new release of the driver, fixing this issue (version that should be around later today at the Linaro Overlay), so I could continue my journey:-)

Next problem was that Qt was enabling brokenTexSubImage and brokenFBOReadBack for the SGX drivers based on the old versions available for Beagle, and seems this is not needed anymore with the current version available at Pandaboard (still to be reviewed with TI, so a proper solution can be forwarded to Qt).

Code removed, patch applied and package built (after many hours), and I was finally able to successfully open the Ubuntu TV interface at my Panda:-)

UI Navigation on a Pandaboard, with Qt and OpenGL ES2.0

Running Ubuntu TV is quite simple if you’re already running the Unity 2D interface. All you need to do is to make sure you kill all unity-2d components and that you’re running metacity without composite enabled. Other than that you just run ”unity-2d-shell -opengl” and voilà😉

Here’s a video of the current interface running on my Panda:

As you can see from the video, I didn’t actually play any video, and that’s because currently we’re lacking a generic texture handler for OpenGL ES with Gstreamer at Qtmobility (there’s only one available, but specifically for Meego). Once that’s fixed, the video playback should behave similarly as with XBMC (but with less hacks, as it’s a native GST backend).

Next steps, enabling proper video decode

Looking at what would be needed to finally be able to play the videos, and to make it something useful at your Pandaboard, the first thing is that we need to improve Qtmobility to have a more generic (but unfortunately still specific to Omap) way handle texture streaming with Gstreamer and OpenGL ES. Rob Clark added a similar functionality at XBMC, creating support for ”eglImage”, so we just need to port the work and make sure it works properly with Qtmobility.

Once that’s ported, the video should be streamed as a texture at the video surface, making it also work transparently with QML (the way it’s done with Ubuntu TV).

If you know Qt and Gstreamer, and also want to help getting it to work properly on your panda, here follows a few resources:

As soon video decoding is working properly, a new blog post should be around explaining the details and how to reproduce it at your own Panda with Ubuntu LEB:-)


  1. av500
    January 10, 2012 at 4:27 am

    I am constantly amazed through how many hoops people like to jump in order to display video over EGL over SGX over whatever instead of just piping it to a DSS overlays with e.g. V4L2

    • m][sko
      January 10, 2012 at 7:36 am

      Just imagine how many effects you can do with OpenGL:)

    • rsalveti
      January 10, 2012 at 2:13 pm

      This is just because then you can manipulate the image and do what ever effects you want at your screen. Getting it to work with qtmobility would make the life a lot easier for the designers using QML, as they can manipulate the output and composite it anywhere they want.

  2. January 10, 2012 at 2:56 pm

    What I wonder is why everyone uses X11 for everything…

    Do we really need it in ubuntu tv?

    • rsalveti
      January 10, 2012 at 3:19 pm

      At least with the current UI we could make it to work without X11, but once you decide to bring the additional softwares and related it with the normal desktop, X11 becomes a requirement. As we all say, hopefully this will be better once Wayland is around.

  3. January 11, 2012 at 5:03 pm

    I tried compiling the damn thing and it worked but it couldn’t play the channels.

    • January 11, 2012 at 5:05 pm

      Is there some sort of regional block for the bbc channels listed ? I only got a black screen.

  4. Adam
    April 6, 2012 at 3:20 am

    I am trying to install Ubuntu TV on my Pandaboard using this guide:
    I have a clean Linaro 12.03. However, there are probably some dependency problems at “cmake .” and I can not solve them. Maybe there are some prerequisites or additional steps needed. I will really appreciate your help

  5. April 8, 2012 at 2:34 am

    An interesting discussion is definitely worth comment. I do think that you ought to write more on this topic, it may not be a taboo matter but generally people don’t talk about these issues. To the next! Cheers!!

  6. Anonymous
    September 7, 2012 at 12:14 am

    Good article. I’m going through a few of these issues as well..

  7. Anonymous
    December 7, 2012 at 6:54 am

    There is definately a great deal to know about this subject. I like all the points you’ve made.

  8. May 16, 2013 at 2:26 am

    99, while the Sansa Clip+ has an entry price of $39. Just a few evenings ago we were at a meeting with other volunteers to find out
    more about RSVP: the Retired Senior Volunteer
    Program. We are literally not the same person we were a minute ago, let alone a day, a
    month or a year ago.

  9. July 28, 2013 at 4:50 am

    Thanks for one’s marvelous posting! I really enjoyed reading it, you may be a great author.I will be sure to bookmark your blog and will often come back in the foreseeable future. I want to encourage that you continue your great writing, have a nice holiday weekend!

  10. September 30, 2013 at 4:14 pm

    THB Bury9 to many more such as THB Bury 9068, 9058, 9060 and along with these a few more.
    It’s cordless as well, which makes vacuuming a little
    more fun as kicking a cord around can be quite a pain if you know what I mean.
    Playing with the dog in the garden or touching other kids
    or many such activities brings lot of germs with

  11. July 4, 2014 at 8:58 am

    Thank you for sharing your thoughts. I really appreciate your efforts
    and I am waiting for your next post thank you once again.

  1. January 10, 2012 at 3:42 am
  2. January 12, 2012 at 2:03 pm
  3. January 16, 2012 at 3:56 am

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

%d bloggers like this: