Yet another yocto image

Introduction

I am pleased to announce that a new yocto based image (v0.0.4) with my newest XBMC for iMX6 is now available.
I would like to thanks all people who helped me to improve the current state of XBMC.
This image is an update of the previous one and is built in a similar way (Thanks to yocto dora)
Note that this image is rather for advanced users who want to give a try at the current state of XBMC for iMX6. Many users will prefer other well packaged distros like geeXboX or openelec.

The image is currently available for the following devices :

  • Wandboard Dual and Quad
  • Utilite : I have a pro model but it may work on other variants (untested for now)
  • udoo Dual and Quad

What’s new

This image packages XBMC Gotham Alpha 11 (12/31/2013) with my specific changes for iMX6.
The biggest changes compared to the previous one are :

  • Full liveTV support (with support for hardware deinterlacing)
  • Solve issues with some videos which were jerky
  • The “noise” on SPDIF is worked around
  • Kernel configuration also enablse many new options and drivers (especially most DVB USB drivers)

Resources

Here are the files :

Installation

I have updated the website to provide direct access to frequently used instructions.
For installation, you can refer to this page (It is also available in the menu header->howto->installation)

Also for liveTV, note that all XBMC clients are packaged.

If you want to plug a tuner on your target itself, most kernel USB DVD drivers are available.
Firmwares are not available by default in the Root FileSystem but the command :

get_dvb_firmware

will enable to download firmware for common devices..

tvheadend is running but you have to configure it a first time. To do so :

killall tvheadend
tvheadend -C

Then connect to you web interface : http://yourip:9981

Known issues

  • Some interlaced H264 1080p streams @50fps or @60fps are not played smoothly
  • HDMI passthrough for HD audio does not work
  • lirc is not properly configured to function properly “out of the box”
    Yet everything is available if you have a working driver (the driver for cheap IR receiver is available in wandboard image)
    You can launch lircd that way :
lircd -d /dev/lirc0 /etc/lircd.conf –output=/dev/lircd

And then xbmc that way,

/imx6/xbmc/lib/xbmc/xbmc.bin -l /dev/lircd

At last, the Smart packages updater has a few issues in this release :
If the update command

smart update

does not work in spite of working internet connection, then, issue the following commands :

rm -rf /var/lib/smart/
smart channel --add wolf_repo type=rpm-md baseurl=http://www.stephan-rafin.net/rpmhf2

For obscure reasons, smart is fooled in thinking that some basics packages are not installed (while they are ) and fails when it tries to reinstall them…
As a workaround, when you install a package, use the stepped option :

smart install --stepped your_package

and refuse installation of already installed packages…

Bugs Report

I have created a forum to discuss issues.
Please use it instead of comments as it should be more appropriate…

Conclusion

Lots of work has been addressed since the previous version.
I hope you will be able to witness the improvements and to enjoy liveTV.
Please understand that I cannot dedicate too much time for the packaging itself as I still have to focus on XBMC development and improvement…

Donate Button

New XBMC yocto image

Introduction

I am pleased to announce that a new yocto based image (v0.0.3) with my newest XBMC for iMX6 is now available.
This is a Yocto image based upon the dora version (V1.5).
This image takes advantage of the great work from freescale community while adding my own layer for most XBMC related stuff.
Today this release is available for the following devices :

  • Wandboard Dual and Quad
  • Utilite : I have a pro model but it may work on other variants (untested for now)

What’s in it

Basically, this image packages XBMC Gotham Alpha 9 with :

  • iMX6 hw accelerated decoding (VPU) for most standard formats
  • iMX CEC support (for utilite only as wandboards are not properly wired)
  • WIFI configuration thanks to network manager addon
  • Support for HDMI/SPDIF/Analog sound outputs (including passthrough for HDMI and SPDIF)
  • SMB/NFS/uPNP network shares and other standard XBMC features

It is a ARMHF build with 3.0.35_4.1.0 kernel.

Compared to my previous images, it tries to provide better support for developers :

  • Native compilation (gcc and standard dev libraries already installed)
  • Cross compilation (Full SDK provided)
  • Straightforward way to fully rebuild the yocto distro

It also solves some bugs found in the previous images :

  • The transiant black screens are gone
  • The Jump backward and Fast Backward Fast Forward are now OK
  • Many videos are now perfectly smooth and no frame drop occurs (except when the GUI is being opened)
  • Some bugs related to the main XBMC Gotham alpha are fixed in this updated alpha 9 version

Resources

The following sdcard images are available :

  • Wandboard Quad (md5sum f913b2d586e96f8ddaa0d1014720abba)
  • Wandboard Dual (md5sum cc39390ee87de8b8ef806604a79c410a)
  • utilite (md5sum 6a3dae479cccedeae63d692f32cdaba2) (Was updated on 11/20 to solve boot issue some users were faced with)

You can also download :

  • the wandoard Quad RFS alone (md5sum 6494d166591044beba3b27d4d6e889b6)
  • the SDK for x86_64 linux host (md5sum c6ec065ba02add6005f8f4b82b5aa0a9)

Installation

The provided images target 2GiB sdcards.

  • Download the relevant image for you device
  • Extract it by using the xz utility :
xz -dv image_name.bin.xz
  • Burn it on a sdcard by using
dd if=image_name.bin of=/dev/sdx bs=4M

With /dev/sdx being the sdcard device (for instance /dev/sdd)

Optionally, you can use gparted to resize the second partition/FS and benefit from all the available space on your card.

Note that installation on internal SSD for utilite pro is perfectly doable. I will publish the way to do it when the recovery tool from Compulab will be available.

How to use

At startup, XBMC is automatically launched, just have fun…
Be aware that :

  • login is root and password is empty
  • You have a shell on the serial line interface (115200n8)
  • A ssh/scp server is up and running
  • Your wired Ethernet will be configured by DHCP and you can setup wifi thanks to the XBMC nm addon

Known issues

  • Sound saturation still occurs on analog output : Refer to this ticket
  • HDMI passthrough for HD audio is not yet validated
  • live TV support is being worked on but not yet available

Moreover, the Smart packages updater has a few issues in this release :
If the update command

smart update

does not work in spite of working internet connection, then, issue the following commands :

rm -rf /var/lib/smart/
smart channel --add wolf_repo type=rpm-md baseurl=http://www.stephan-rafin.net/rpmhf2

For obscure reasons, smart is fooled in thinking that some basics packages are not installed (while they are ) and fails when it tries to reinstall them…
As a workaround, when you install a package, use the stepped option :

smart install --stepped your_package

and refuse installation of already installed packages…

Bugs Report

This image is still work in progress.
If you experience instabilities, crashes or bugs, please report them to me without being too rude 😉
Known bugs are tracked here
Please when you report a bug :

  • Try to be as precise as possible regarding the context.
  • When it occurs, try to download the 2 files :
    • /tmp/temp/xbmc.log
    • /var/log/messages
  • Try to reproduce it

For now, report these bugs on this blog, then we will move to a forum thread may it be the XBMC one or another one if required.
I will create tickets in trac by myself as I have disabled the ability to create tickets for anonymous because of spams.

If you need to send files, I will give you a direct link to upload on my server by mail.
In case I ask you to create a core dump dump here is the way to do it :

  • Stop XBMC
  • login on the board and issue the commands :
echo "/tmp/core.%e.%p" > /proc/sys/kernel/core_pattern
ulimit -c unlimited
/imx6/xbmc/lib/xbmc/xbmc.bin &

Then if XBMC crashes, a file core.* will be created in /tmp folder

Rebuild your own distro

Just issue the following commands on a Linux host to rebuild from scratch the whole distro :

#Install repo
mkdir ~/bin
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

#Create BSP folder
PATH=${PATH}:~/bin
mkdir xbmc-bsp
cd xbmc-bsp

#Download layers
repo init -u https://github.com/wolfgar/fsl-community-bsp-platform -b dora
repo sync

#Initialize build environement
#Valid MACHINE values are wandboard-quad wandboard-dual and utilite
TEMPLATECONF=`pwd`/sources/meta-stef/conf MACHINE=wandboard-quad source setup-environment build

#Let's build the whole thing
bitbake xbmc-image

At the end you will find the image in build/tmp/deploy/images/$MACHINE folder.

Conclusion

That’s all for now, I will focus on liveTV (including hw deinterlacing) and I will investigate the analog sound output issue during the next days.
If you design a iMX6 board/device (Dual ultra or Quad) and would like that I add support to it, please mail me.
At last, if you appreciate my work and want to encourage it, you can consider to click the following button.
Donate Button

ARMHF XBMC image – Part 2

Introduction

As announced in a previous quick post, I have just released a new image for wandboard quad.

What’s in it

This image packages my latest version of XBMC for iMX6. It is built using ARMHF ABI.
This XBMC is derived from a gotham dev branch (which is 4 month old. A sync to catch latest main devs will happen soon).
It exhibits the following features :

  • Hw decoding is available for most codecs which are handled by the iMX6 VPU (noticeable exceptions are RV and AVS standard but they are not so common so it is not a major drawback).
  • codecs which are not directly handled by VPU are available through sw decoding
  • Network shares such as uPNP, SMB, NFS are available
  • RTMP protocol is available
  • Support for bluray has been built in (but tests are required)
  • All sound interfaces are available (HDMI, SPDIF and sgtl5000) and passthrough should work (not yet tested on my side)

How to install

  • Download the compressed (xz) SDcard image – md5sum is 70c39feda421fc4130909127219e27b8.
  • Extract it by using the xz utility :
xz -dv wand.bin.xz
  • Burn it on a sdcard (At least 2GiB) by using
dd if=wand_v0.0.2.bin of=/dev/sdx bs=4M

With /dev/sdx being the sdcard device (for instance /dev/sdd)

How to use

On startup, XBMC is automatically launched, just have fun…
Be aware that :

  • login is root and password is empty
  • You have a shell on the serial line interface
  • A ssh/scp server is up and running

Bugs

This image is still beta and work in progress.
If you experience instabilities, crashes or bugs, please report them to me without being too rude 😉
Known bugs are tracked here
Please when you report a bug :

  • Try to be as precise as possible regarding the context.
  • When it occurs, try to download the 2 files :
    • /tmp/temp/xbmc.log
    • /var/log/messages
  • Try to reproduce it

For now, report these bugs on this blog or in XBMC thread. I will create tickets in trac by myself as I have disabled the ability to create tickets for anonymous because of spams.

If you need to send files, I will give you a direct link to upload on my server by mail.
In case I ask you to create a core dump dump here is the way to do it :

  • Stop XBMC
  • login on the board and issue the commands :
echo "/tmp/core.%e.%p" > /proc/sys/kernel/core_pattern
ulimit -c unlimited
/imx6/xbmc/lib/xbmc/xbmc.bin &

Then if XBMC crashes, a file core.* will be created in /tmp folder

Updates

A package manager (smart) is installed and will enable future updates.

First additional package is NTP client which is not already installed in the image. So, if you want a NTP client please issue the following commands on your board :

smart update
smart install ntp ntp-utils

What next ?

Of course stability is a must have and I will do my best to improve it by investigating and hopefully by solving reported bugs.
Then, regarding new features, my current priorities for the days to come are :

  • Sync with main gotham dev branch
  • Add support for liveTV
  • Add support for LIRC
  • Port libCEC on iMX6 to provide support in XBMC (not possible for wandboard as CEC pin is not connected, thanks to hste for pointing this. I will check if other products have connected this pin or not…)

I will also provide images ready to use for other devices than wandboard quad. I mostly think about utilite and maybe GK802 (with special care given the overheating issue) because I own these other products.
(If you want support for another iMX6 board or device and are ready to send to me a free sample then you can contact me.)

iMX6 XBMC : What is coming next ?

Hi all,

After releasing an XBMC image for wandboard quad and wandboard dual, some of you could wonder : And next ?

Well, i, fact lots of bug fixes and enhancements are already planed. I have just setup a bug tracker to organize this work.
So, if you are curious you can have a look at my active tickets

And if you find a bug or think about an interesting improvement, you are also very welcome to log your own ticket…

Cheers

XBMC image for dual (part 2)

Hi,

As I was unable to test by myself, my previous image for wandboard dual was not good at first try.
Yet, thanks to feedback from several users, now dual wandboard image is as easy to install as quad wandboard image.

You will find the new image here (md5sum is 011faad27ed394c2860ea43571a1f157)

Installation notes

These are the same as the ones for quad except that you have to repalce the wand.bin image name by wand_dual_ok

XBMC image for wandboard dual

Hi,

Following several requests, I have just prepared an XBMC image which should work on wandboard dual.

How to install

Please have a look at XBMC on wandboard post.
Instructions are the same except :

  • You have to replace the filename wand.bin by wand_dual.bin
  • You have to connect a serial cable on db9 and to hit ESC on first boot. On uboot prompt, you have to type
set bootcmd ‘mmc dev 2; mmc read ${loadaddr} 0×800 0×1200; bootm’
set bootargs 'console=ttymxc0,115200 root=/dev/mmcblk0p1 rootwait ro video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 rootwait'
saveenv
run bootcmd

This specific step is required only once

NB : This post has just been updated on the 24th of July (and the image has also been updated.) Please Download again the image and check that the md5sum is df9b68ae2dc7342320018327d10774ff

Regards