Home > arm, kernel, linaro, linux, panda, ubuntu > HW video decode and XBMC support on a Pandaboard with Ubuntu LEB

HW video decode and XBMC support on a Pandaboard with Ubuntu LEB

Part of the effort we spent during the Linaro 11.12 cycle was to try to enable at Pandaboard not only hardware graphics support (GLES with PVR SGX), but also hardware accelerated video decode, as TI had released all needed userspace to be used at Ubuntu Oneiric (11.10) release.

Unfortunately it didn’t just work with our images because at that time we were using a newer kernel already, based on the 3.1 series that is maintained by the Linaro TI Landing Team. Bug 880840 has all the details.

Luckily Sebastien Jan (from TI) was able to find the root cause of the problem, that was causing so much frame drops that was making the video playback basically unusable. The problem was related with PM support at omap’s hwspinlock implementation, as you can check at this link.

Kernel fix properly integrated and available at the Overlay PPA used by our Linaro Ubuntu Evaluation Build images, and finally able to have a similar user experience as was expected when TI delivered the user space components at their own PPA.

If you want to try it by yourself, just be sure you’re using at least linux-image-3.1.1-6-linaro-lt-omap at your board (all hwpacks >= 20110105 should have it included by default).

Playing videos with HW decode acceleration

Since today you’ll also easily find all the needed packages to enable HW video decode acceleration at our images (Pandaboard only at the moment, more boards coming soon). We just included and copied all needed packages from the TI PPA, so you don’t even need to enable it when installing the additional packages.

Installing the extra packages for video decode at your Pandaboard:

  • Grab the latest Pandaboard hwpack (lt-panda-x11-base-oneiric) and Ubuntu Desktop image from http://snapshots.linaro.org/oneiric (as example I used hwpack_linaro-lt-panda-x11-base_20120106-0_armel_supported.tar.gz and linaro-o-ubuntu-desktop-tar-20120105-0.tar.gz)
  • Create a Ubuntu LEB pandaboard image on a SD card, following the instructions described at https://wiki.linaro.org/Platform/DevPlatform/Ubuntu/ImageInstallation
  • Boot the card and install the ubuntu-omap4-extras-multimedia package: $ sudo apt-get install ubuntu-omap4-extras-multimedia
  • Reboot your pandaboard
  • Play a video with any video player that’s compatible with Gstreamer (e.g. Totem)

In the future we should also have this completely integrated at the hwpack itself, but unfortunately this is not possible at the moment without increasing the image size too much.

XBMC support

Another awesome thing we worked during previous cycle (11.12) was to make an XBMC version available that would use both GLES and Gstreamer, so it could also be used with a Pandaboard. Avik Sil did a great work making it all work with our images, and we were finally able to have XBMC 11 Beta (Eden) available at our Overlay PPA.

For proper support for Gstreamer Rob Clark did an awesome work improving the current patches, and also improving the support quite a bit. At our package you’ll find all latest patches available from Rob, from his current development tree.

To start using XBMC with the Ubuntu LEB image at your Pandaboard, you just need to install the xbmc package, with $ sudo apt-get install xbmc. For best user experience, please use the XBMC session available at LightDM (just log-out the default session and select XBMC instead). This will work a lot better because then there will be no other window manager or compositor taking extra resources from your board.

We also hope to deliver a set-top box image by the end of the current cycle (12.01), that will have XBMC installed by default. Please check the blueprint https://blueprints.launchpad.net/linaro-ubuntu/+spec/create-a-set-top-box-leb-image if you want to follow the progress of it.

Bugs and Issues

Unfortunately not everything is working perfectly at the moment, and issues with the Gstreamer and hw video decode support on Pandaboard are expected. The most annoying one that’s currently affecting XBMC is the issues with seek, as sometimes the video goes faster than the audio, and then it stops for a while until it’s in sync again. We hope to get this fixed soon, but that depends a bit of how much time Rob can spend on it.

In case of any other bug while trying to get video decode to work on your Pandaboard, don’t hesitate to open a bug at https://bugs.launchpad.net/linaro-ubuntu/+filebug or ping aviksil, robclark or rsalveti at #linaro on freenode.


Update: Check bug https://bugs.launchpad.net/linaro-ubuntu/+bug/915456 for the video hanging issue. Without polling XBMC should now play most videos just fine.

Update 2: XBMC-ready image already available at http://snapshots.linaro.org/oneiric/linaro-o-linarotv-xbmc/, just be sure to flash with http://snapshots.linaro.org/oneiric/lt-panda-x11-base-oneiric/.

Update 3: There’s a mem leak at the gst decode codec, check bug https://bugs.launchpad.net/ubuntu-omap4-extras-multimedia/+bug/915768 for progress on that.

  1. January 6, 2012 at 10:08

    Nice work; I’m going to put this on my Panda this weekend to see if I can enjoy com classic cycling AVIs!:-)

  2. wookey
    January 6, 2012 at 13:12

    yeah this looks cool. I’ll see if our version is better than geexbox’s now.Should be…

  3. bembel
    January 8, 2012 at 10:54

    Cool.. thanks. I have tested it yesterday, but sadly it didn’t works on my pandaboard. I got many graphical errors in ubuntu (black blocks, vertical and horizontal lines etc.) and the video playback fps were nearly the same like in ubuntu 11.10 with the multimedia packages and a self compiled xbmc (something about 10-15fps – even with sd video files).
    But perhaps I did something wrong, I’ll test it again.

    • rsalveti
      January 8, 2012 at 13:52

      That’s weird, which Pandaboard revision do you have? Here I didn’t have any graphical errors at the XBMC interface. Also, did you try running XBMC from the lightdm session (just log-out and select XBMC at the login box). Without any window manager the decode and interface work a lot faster.

  4. bembel
    January 8, 2012 at 20:10

    rsalveti :
    That’s weird, which Pandaboard revision do you have? Here I didn’t have any graphical errors at the XBMC interface. Also, did you try running XBMC from the lightdm session (just log-out and select XBMC at the login box). Without any window manager the decode and interface work a lot faster.

    Oh sorry, my bad. I did not running xbmc from the xbmc lightDM session. If I do it, xbmc works fine (with the known bugs and issues you describe above). Great work, it is a big improvment:-)
    The graphical errors are still there, but not at the xbmc interface. The errors are at the ubuntu desktop when I use the default lightDM session. It is weird, it looks like the errors you get if your graphic card has a hardware failure…
    The revision of my pandaboard is A3.

    • rsalveti
      January 8, 2012 at 20:18

      Guess you’re facing bug https://bugs.launchpad.net/linaro-ubuntu/+bug/893538 when using the Unity 3D interface. We know we have a few bugs at both Unity and the driver, and we’re working to get them fixed. Please subscribe at the bug if you want to receive updates on this issue.

      One workaround is to use the Unity 2D interface, which is a bit more stable, and with less rendering issues (log-out and select Ubuntu 2D at lightdm).

  5. Edward S.
    January 9, 2012 at 03:26

    [ 327.107116] nameserver_get_local entry not found!
    [ 327.118072] Unable to handle kernel paging request at virtual address b667e000

    I cannot play any media file using a gstreamer based player.. The player cannot even get the length (time).. parole reports that the loading of the file is taking too long.. and things of this nature..
    [ 327.211029] —[ end trace 1b75b31a2719ed22 ]—
    [ 327.216217] note: qtdemux0:sink[3362] exited with preempt_count 1
    [ 327.222717] BUG: scheduling while atomic: qtdemux0:sink/3362/0x40000002
    [ 327.229705] INFO: lockdep is turned off.

    I’m trying a fresh ‘install’.. As I’m currently running 3.1.5 (clone of kernel-tilt, branch tilt-linux-linaro-3.1 up to date).. I’m going to hate running rootfs off the sd (again)..

    In better news, mdadm/raid0 works perfectly.:) Doesn’t improve speed much (64k chunk is worse than 128k, opposite of what I would expect)… but I just had to test it. musb and usb have separate channels, correct?

  6. Edward S.
    January 9, 2012 at 18:09

    Ok, I tried a new install.. rootfs on usb disk…. totem in unity was awful (as expected).. XBMC is less prone to be glitchy.. But there seems to be tearing and the occasional frame drop.. about every second or two.. 99% of tearing is a single line dividing the screen… It looks to be exactly in the middle.. 960 pixels? ‘Glitchiness’ does not seem to scale on codec/decoder complexity.. Some low res xvid videos were worse than high profile 720p x264 matroska.. I suppose this isn’t really a big deal, the important thing is that hw decode is actually being utilized..

    One thing I gotta say.. I despise using unity on my laptop… using it on the pandaboard is nothing short of torture.. Why use it? Is it just a matter of sticking with what ubuntu uses or did someone actually say.. “Yeah, unity will work great with this”?

    • rsalveti
      January 9, 2012 at 19:55

      Yeah, our major goal here was to actually have a valid solution where we could get at the pieces working together. There are quite a few issues with hw decode, but TI said they will be releasing newer components soon, so I’m hoping it’ll improve quite a bit.

      Unity is broken this way because of Compiz, that still has quite a few issues with GLES. The goal was to enable the same user experience, but unfortunately there are still a lot to do at Compiz side. My suggestion would be to stick with Unity 2D until 3D is working properly (may take a while).

  7. Edward S.
    January 9, 2012 at 20:41

    Thanks for the reply. Even on a hexacore w/16gb of ram Unity is irritating. Perhaps MATE (gnome 2 backport) will be available for arm.. But thats a different issue entirely.. Whats strange for me is the errors I’m having with ducati on my current working setup.. Going back to a single usb disk rootfs and 1.2ghz clock, I realized how much faster this dual usb (mdraid) rootfs and 1.5ghz clock is.. I’d say the 1.5ghz helps out the most. I have a little heatsink (graphics card memory sink) sitting atop the 4460 to help with excess heat.

    when the omapdrm_pvr module is built, kernel_dir pointing to the correct place (again, clone of kernel-tilt, branch tilt-linux-linaro-3.1), it is a whopping 40KB smaller than the module for 3.1.1-6…. It crashes upon loading, yet appears to be functional and listed in the output of lsmod.. gstreamer-properties works fine for testing pvrvideosink..Still, I think that may be my problem with my ‘customized’ rootfs.. I think I have smartreflex turned off, but that may be the only difference in my config (besides additions). I’ll test out the custom kernel on the default rootfs.. can’t test out default kernel on custom rootfs due to lack of raid0 support.

    Finally, when the time comes – will TI/Imagination be ready to supply proprietary blobs for armhf arch? I wonder how much work will need to be done to cross everything over?

  8. bembel
    January 11, 2012 at 19:40

    rsalveti :
    Guess you’re facing bug https://bugs.launchpad.net/linaro-ubuntu/+bug/893538 when using the Unity 3D interface.

    You are right. It’s the bug I have, but it’s heavier as you can see it in the screenshot. I’ll subscribe the bug. Thanks for your feedback.

  9. pip
    January 13, 2012 at 06:49

    im confused why the dependency on Gstreamer as your only HS playback option when ARM ffmpeg/ffplay is available and waiting for all the patches including NEON SIMD optimisations you and the other vendors might supply/pass to them in their dev IRC/message board.

    • rsalveti
      January 13, 2012 at 12:38

      We are also enabling NEON optimizations on ffmpeg/libav and such, it’s just that Gstreamer is a requirement if you want to use hw decode support on OMAP 4, using ducati, gst-ducati and the pvrvideosink (for texture streaming and such).

  10. pip
  11. tty
    January 17, 2012 at 12:05

    Hi I am currently trying to have video and 3D hardware acceleration on my pandaboard. I am not using ubuntu but I am working directly with source codes.

    For the moment, I have compiled everything required to have a X window system (including u-boot, kernel, omafb driver, a basic window manager). Everything is working fine.

    However I would like to go a step further and have the hardware acceleration for 3D and video. I have retrieved the pvr dkms modules ( from: https://launchpad.net/~tiomap-dev/+archive/release But the code is not compiling with the kernel I am currently using: http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap.git;a=tree

    I am looking for a valid linux kernel source tree with the required patches to compile the SGX kernel module. Could you please spare the good uri where I could find this ?

    If you could, it would be great to give the main git repositories for the main “pandaboard software” like:
    – kernel with required patches
    – pvr-omap4-dkms and pvr-omap4 (i know pvr-omap4 is closed source, but where can I download the latest version ?)
    – gstreamer and gst-ducati
    – xf86-video-omapfb
    – any other things I am not aware yet:)

    I am spending more time to look for source codes, than to actually work on my project😦

    Thanks in advance

  12. chris romero
    January 18, 2012 at 14:33

    I just loaded up xbmc on my pandaboard es and works like a champ, I even scanned my external drive and populated the video thumbnails. The only issue I really have is when the system is decoding full 1080p bluray MKV files. The files play fairly smooth with minor hitches in between but the frame rate does drop to half of what it should be. 720p MKV’s play almost perfect. I think there are some issues with the decoders for MKV/MP4 because other full 1080/720 files that are AVI play flawlessly. When I get off work today I will upload a video with my findings on youtube. I get irritated by seeing the blank CPU field because on my first LEB install I was able to install cpufreq and modprobed and the omap2plus driver was there and recognized, but this go around that was not so, I am not a programmer or anything like that I am actually a buyer with the interest in embedded linux and have transitioned from using the beagle board to the panda.

    • rsalveti
      January 18, 2012 at 14:48

      Are you using the poll workaround described at https://bugs.launchpad.net/linaro-ubuntu/+bug/915456 when testing 1080p videos?
      Guess for the cpu field would be something we could also check at the xbmc code. Can you spend some time opening both bugs against https://bugs.launchpad.net/linaro-ubuntu/+filebug ?

      • chris
        January 25, 2012 at 04:30

        So I finally got time to play with my board and instead of using the poll method I went a different rout and set the cpu cores to their maximum frequency since for some reason the system always starts with the cores lock on the minimum 350mhz…. once I switched this I am able to play the higher definition video withought the atrocious frame drops, however not perfect but certainly watchable at appropriate frame rates but sometimes frames tend to go on the high side 40’s while the audio adjust to the video, I think I will lower the voltage to 800mhz and if given enough time I think the video will finish buffering and settle jus have not given it enoughhh time.

      • chris romero
        January 25, 2012 at 14:24

  13. Eckhard
    January 19, 2012 at 05:21

    I am following this project with great interest. Thanks to all who are contributing.

    I installed the linarotv image 20120114-2 and hwpack_linaro-lt-panda-x11-base_20120106-1 on a pandaboard ES, then installed ubuntu-omap4-extras-multimedia and started that with a connection of the HDMI to a Yamaha RX-V and from there to a 1080p plasma.
    The resulting screen resolution was only 720×576@50 (the default for SDTV here) so I am guessing the EDID the Yamaha is sending out is somewhat problematic (the same installation starts with 1920×1080 just fine when connected to a cheap 1080 LCD monitor and other devices like my Blu-Ray player can do 1080p through the Yamaha). But that is not my main concern now. I will keep researching on this but maybe you can give me a hint in what direction I should read up on how to bypass the EDID and force the available screen resolutions similar to how I did it with my nvidia/vdpau based xbmc in its xorg.conf?

    I then played around with the audio settings in xbmc and set it to
    Audio output: HDMI
    Speaker Configuration: 5.1
    Audio output device: Defaults (ALSA)
    Passthrough output devive: hdmi (ALSA)
    (all other settings did no work)

    When passthrough of Dolby and DTS is enabled, the sound from videos with AC3 does not work.
    When passthrough is disabled, only two audio channels are sent to the Yamaha even from 5.1 source material (the RX it has little symbols in its display that show which audio channels are being used).
    Speaker test videos sound correct for front left, front right and center (the latter only because the pro-logic decoder puts mono sound onto the center) but rear sound is played with low volume on the front speakers.

    I now wonder if I just configured xbmc wrong or if this is also an EDID interpretation problem (the Yamaha announces its audio capabilities) or if I could fix it in the alsa configuration.

    I guess it would be a great feature to have some means to just tell the system what the connected audio and video hardware is capable of and thus get rid of EDID problems and the like.

    • rsalveti
      January 19, 2012 at 19:28

      For EDID, I would not be surprised to see a bug at your monitor or even at the HDMI/DRM driver for OMAP. If you add omapdss.debug=1 drm.debug=7 to the kernel cmd line you should probably see what is happening at the kernel side. Another option would be to get the EDID and parse it to understand what the monitor is providing.

      In case the driver is wrong, please open a bug at http://launchpad.net/linaro-ubuntu putting your logs, or just go to #linaro @ freenode, and look for rsalveti or robclark (who created the drm driver).

      Now for sound, I’d recommend you to update your image (apt-get update/dist-upgrade) to make sure you’re using the last packages available first. Then if it’s still not working properly, would be good to understand if the issue is at Alsa, Alsa UCM or Pulse, as any could be messing up with your sistem. Please open a bug if it still doesn’t work for you.

      • Eckhard
        January 20, 2012 at 18:16

        I opened the bugs like you suggested.

        While checking the EDIDs I noticed that while 1080p50 and 1080p60 are being sent by the Yamaha, the AVR is embezzling some other resolutions the TV is reporting in its EDID to the AVR (1080p59.94, 1080p23.98). So I think it would still be good to have a documented way to manually add modes so that xbmc can use them (when connected directly to the plasma xbmc is also offering only 50p and 60p but not 59.94p and 23.98p).
        I will keep trying to figure out how to override or extend the available modes but any hint as to how to go about it are welcome.

    • rsalveti
      January 25, 2012 at 18:17

      Thanks for opening the bugs.

      You could try to force the mode at the DRM driver (check http://nouveau.freedesktop.org/wiki/KernelModeSetting), but the HDMI driver will still limit your options. One thing you could do is to try calculating the timings from your monitor, or hacking the DRM driver to support interlaced mode and others.

      Hope to have these bugs fixed soon.

  14. Phil
    January 26, 2012 at 14:48


    Any chance of a prebuilt Image for an SDCard?

    Trying this on Fedora is frustrating to say the least using the linaro tools, and at the moment an Ubuntu install is not an option.

  15. January 26, 2012 at 19:21

    rsalveti: have you experienced the screen blanking bug? Is that related to the polling disable? I’ve tried the Panda on two displays via HDMI and after 5 or so minutes, the screen goes black and you can’t revive it without restarting lightdm.

    • rsalveti
      January 27, 2012 at 15:03

      I believe that’s probably related with DPMS, guess that if you disable it (by forcing it at X11), it’ll probably go away.

    • n1vr
      January 30, 2012 at 19:38

      Keyan – were you able to solve the screen blanking problem? After spending quite some time searching I am still stuck.

      • February 8, 2012 at 18:27

        Yes I was. Create /usr/share/X11/xorg.conf.d/30-monitor.conf and add this

        Section “Monitor”
        Identifier “Monitor0”
        Option “DPMS”

        Section “ServerLayout”
        Identifier “NoBlankScreen”
        Option “BlankTime” “0”
        Option “StandbyTime” “0”
        Option “SuspendTime” “0”
        Option “OffTime” “0”

  16. Robert
    January 29, 2012 at 01:44

    What is best practices for setting up wireless networking under this image? Should I switch to a terminal (Ctrl-Alt-F2) and setup wpa_supplicant details in the /etc/network/interfaces file? If so…do I need to disable NetworkManager etc.? Also…anyone else have problems switching back to XBMC via Ctrl-Alt-F7 after working in a terminal?

    • rsalveti
      January 29, 2012 at 02:29

      You just need to configure your network/interfaces correctly and network manager will not handle your device. Check at http://blog.nelhage.com/2008/08/using-wpa_supplicant-on-debianubuntu/.

      For the terminal switch bug, it’s reported already, check https://bugs.launchpad.net/linaro-ubuntu/+bug/916135

      • Robert
        January 30, 2012 at 02:40

        Thanks. My problem had to do with the new way that wpa_supplicant gets started up. I had to edit the invocation via /usr/share/dbus-1/system-services/fi…wpa_supplicant… files and add to the invocation “-i wlan0 -c /etc/wpa_supplicant.conf”. That, in addition to the changes to /etc/network/interfaces and new /etc/wpa_supplicant.conf file, seemed to get it up. Something tells me that with the newer DBUS/NetworkManager world I probably went about this the hard way. Should I have not edited the /usr/share/dbus-1 files and instead added some commands to the interface file to accomplish the same thing?

  17. Raybuntu
    January 29, 2012 at 10:56

    Works Great. I’m actually using the ubuntu oneirics generic kernel with Linaro overlay ppa since the linaro kernel doesn’t seem to have twofish and xts crypto modules which I need to encrypt my external HDD.

    Anyway, one big issue I saw is that I can’t play vob files (DVD Backups with mplayer dumfile). 1/3 of the right screen is just blur nonsense and the video is scaled wrongI guess this is somehow related to gstreamer since I can watch the same files with the the official xbmc11. Is there a way to let ffmpeg play SD and gstreamer HD in xbmc?

  18. Altaflux
    March 11, 2012 at 21:52

    I have installed the setup box image from march/11 but i am having some issues, video playback works almost perfect but it seems that randomly it pauses for half a second and then accelerates to catch up. The other issue is that i can’t get xbmcto run in 1080 as every time i change the setting inside xbmc it freezes and then logouts. Any help would be really appreciated.

    • Altaflux
      March 11, 2012 at 22:14

      it seems drm polling turns back on everytime i reboot the system even if i manually turn it off

      • Altaflux
        March 11, 2012 at 22:38

        I seem to have solved the fact that disabling polling didn’t work, after checking its parameter it seems that polling parameter resets itself to on every time it turns on. I have fixed it by adding to rc.local (echo 0 > /sys/module/drm_kms_helper/parameters/poll), now every time the system starts it disables polling. I still have issues setting xbmc to 1080 if anyone can help.

  19. zeke
    April 23, 2012 at 12:17

    I am trying to get xbmc installed on my Droid Bionic (which has the TI-OMAP4 SoC).

    I have a full Ubuntu distro installed, and I can play videos with VLC with no problem.

    But, I am new to Ubuntu – I am coming from the Red Hat world by way of Mandriva/Mageia, so the who concept of ppas is new to me – I am used to a more central integration of packages, rather than having to seek out a bunch of repositories from lots of different devs. I think my distro (which is based off of the default Motorola webtop) is Maverick. So even how I go about upgrading to Oneric is a bit baffling to me.

    But in principle, shouldn’t this work on my Bionic? It has a 1GHz dual core processor and is definitely capable of playing 1080p content?

    Any help or comments would be very much appreciated!

  20. July 13, 2013 at 07:17

    After first time it gets easy (with the same girl of course.

    ” But, a woman from most areas of Latin America would understand it as “Would you like to go out with
    me. Making it sound casual will make her less paranoid herself.

  21. November 8, 2013 at 23:59

    super article you have here, thanks alot for making it available!

  22. November 27, 2013 at 18:16

    Thank you for the auspicious writeup. It in fact was
    once a enjoyment account it. Look advanced to far
    delivered agreeable from you! By the way, how could we communicate?

  23. June 18, 2014 at 16:20

    The science behind Adiphene consists of 12 of probably the most power fat preventing ingredients
    known. These substances are designed to help the body do what it naturally
    does, solely somewhat faster. In order to energize
    yourself and improve your outlook you will have to change your diet and get moving.

  24. June 27, 2014 at 07:30

    If you want to know the crystal clear details it is better to view just about any
    online store web sites explaining the actual product or service
    information using elements. Perhaps the main reason behind this though is that you have developed
    a dependence on food. Having said that, the study has shown that just about anything that
    can maximize the metabolism, also can raise the weight reduction even if the human being is just resting.

  25. July 7, 2014 at 23:47

    Newcomers to China may be faced with the question of “How can I open Facebook in China. To help you to cope with this situation better, there are a few explanations why your boyfriend likes to flirt with girls on Facebook. It allows you to quickly update your status but only scrolls through status updates of your friends, ignoring any filters you may have placed for friends you don’t really know well.

  26. September 26, 2014 at 23:59

    You’ll for certain do not have something to lose with Adiphene, thus for those that actually need to slim while not losing their time and power, then Adiphene
    is that the product for you. There are various surgical methods
    to combat obesity. With more time now passed, those rates would be even higher as obesity is still on the rise.

  27. October 4, 2014 at 00:20

    Lets begin with stating among the information about this excellent revolutionary weight-reduction plan capsule and metabolism price
    booster. Adiphene is the newest and fastest
    weight reduction supplement in market. Glucomannan is among the most active hunger suppressants in Adiphene, and it works to suppress yearnings and help you handle your parts.

  28. March 10, 2015 at 05:36

    You’ll for certain do not have something to lose with Adiphene,
    thus for those that actually need to slim while not losing their time
    and power, then Adiphene is that the product for you.
    There are hundreds to choose from, allowing you the
    choice of matching the type with your own health and fitness goals.
    Assuming that you aren’t a super-taught individual, you will have some
    major snags adding on control over your zealous urges towards consuming distinctive sustenances.

  29. April 18, 2016 at 11:34

    From the above image, you might have realized that keyboard has no 10-button numeric

  1. January 25, 2012 at 18:26
  2. April 8, 2012 at 09:06
  3. June 21, 2014 at 14:54
  4. June 21, 2014 at 16:21
  5. June 22, 2014 at 00:55
  6. June 23, 2014 at 01:51
  7. June 23, 2014 at 02:00
  8. June 23, 2014 at 04:13
  9. June 23, 2014 at 05:17
  10. June 23, 2014 at 05:18
  11. June 23, 2014 at 06:44
  12. June 23, 2014 at 06:49
  13. June 23, 2014 at 09:05
  14. June 25, 2014 at 06:24
  15. June 25, 2014 at 07:37
  16. July 2, 2014 at 03:37
  17. July 4, 2014 at 10:55
  18. July 9, 2014 at 02:24
  19. July 9, 2014 at 19:28
  20. July 10, 2014 at 14:21
  21. July 10, 2014 at 14:22
  22. July 10, 2014 at 14:31
  23. July 10, 2014 at 14:36
  24. July 10, 2014 at 14:38
  25. July 10, 2014 at 17:08
  26. July 10, 2014 at 17:35
  27. July 10, 2014 at 18:51
  28. July 10, 2014 at 19:13
  29. July 11, 2014 at 12:52
  30. July 11, 2014 at 15:38
  31. July 11, 2014 at 16:27
  32. July 11, 2014 at 16:46
  33. July 11, 2014 at 16:49
  34. July 11, 2014 at 16:58
  35. July 11, 2014 at 22:22
  36. July 11, 2014 at 23:16
  37. July 11, 2014 at 23:20
  38. July 11, 2014 at 23:20
  39. July 11, 2014 at 23:31
  40. July 11, 2014 at 23:35
  41. August 11, 2014 at 20:45
  42. August 11, 2014 at 20:56
  43. August 16, 2014 at 01:33

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: