How to fix Video Stuttering on Pivos Xios with XBMC

Xios_XBMC_poster

The Pivos Xios is a great little appliance that can run a full-blown version of XBMC for Linux.  It works great after initial install, but after a while many users may experience video playback stuttering.

There’s nothing really wrong with the Xios, You just have to tweak some settings to get around some limitations.

Use a wired network

If, for some reason you are using a wireless connection, connect it to physical network jack, preferrably gigabit.  Even the best wireless networks don’t have the bandwidth to stream high-bitrate HD content, and the problem can be exacerbated if other devices are using the same wireless access point.  There could also be any number of issues that could choke your wireless bandwidth.

No streaming media device should try to play HD content if on a wireless network.  Ever.

You may have run out of space

You probably noticed that the stuttering started happening after you’ve scraped a bunch of TV Shows and Movies for metadata, right?  The problem is that you are running out of space on the Xios’ internal storage, which makes the system work harder than it has to, which is likely the issue causing the video stutter.

The Pivos Xios has 2 gigabytes of storage, but the XBMC distro for this device formats this storage into four 500-megabyte chunks.  Unfortunately, for all intents and purposes, only 500MB of this is used for add-ons and metadata (1 for the system, one for userdata, one for temp userdata, and some reserved space).  It doesn’t take long to fill this up if you have an average collection of media.

You can verify this by going to XBMC’s system area and selecting “Storage”.  If any of the modules are over 75% used, then this is the most likely problem.

The solution is to get XBMC to store and read its metadata on an inserted mini SD card.  To do this, we need to install a script on the XIOS and have it run every time it boots.

In layman’s terms, this script mounts a new SD card (if present).  Then it creates a new directory to hold all of your metadata and then makes an alias so all metadata will be written to the SD card instead of internal storage.  Then the script moves any internal data to the new directory.

By default, the original metadata is stored in /tmp/userdata, but this script copies it to /media/sdcard/xbmc-data/userdata.  The contents of the existing /tmp/userdata directory is mapped to /tmp/userdata.internal to avoid confusing the system.


Installation

There are a few methods to install this script (the original is located here), but I find the easiest is to copy the file to a micro SD card, insert it into the Xios, and then copy it using a remote terminal like PuTTY.

1. First, you need to get the IP address of your XIOS.  Get it from the System Info screen on XBMC.

2. Use PuTTY and enter the IP address.  By default the port is “22”.

3. At the login prompt, type “root“.  The default root password for the Xios is “letmein“.

4. Ok, so if you put the script on the root of your SD card and inserted it, it should be located at /media/sdcard.  We need to copy this to /tmp/userdata/xio9s/root/.xbmc/S94xbmc-pre

Type “cp /media/sdcard/S94xbmc-pre /tmp/userdata/xios/root/.xbmc/S94xbmc-pre

5. Now we need to give the file the right permissions to execute.

Type “chmod 755 /tmp/userdata/xios/root/.xbmc/S94xbmc-pre”

6. If you don’t get any errors then reboot your Xios.

Note: If you’re trying to navigate through the filesystem and reach a brick wall (you see nothing in the “root” directory), then remember that any files or directories that begin with a period are hidden.  If you type “ls -ah” while in the root directory, then you should see the “.xbmc” sub-directory.

The first time you power up your device with this script, it will take a few minutes longer as it moves metadata onto the SD card.  The SD card’s /media/sdcard/xbmc-data is then mapped to /tmp/userdata, and then the content of /media/sdcard/xbmc-data/userdata/xios/root is mapped to /root.

Now if you navigate to System Info > Storage within the XBMC GUI you should see that your SD card is being used, and you should have a lot more free space.  I’m using a 4GB SD card and have over 75% free, and that’s after scraping thousands of movies and TV shows.

Freeing up the internal storage of the Xios worked for me, and now XBMC’s video playback is silky-smooth.  Even playing a 1080p movie does not slow the system down.

You might also want to look at our article on how to fix 100% CPU usage when using the Pivos Xios and other low-powered devices running XBMC.

Alan is a web architect, stand-up comedian, and your friendly neighborhood Grammar Nazi. You can stalk him on the Interwebs via Google+, Facebook and follow his ass on Twitter @ocmodshop.

15 Comments

  1. Paul Bradshaw

    January 25, 2016 at 8:52 pm

    Does this xmbc-data work with android 4.2.2?

  2. spannow

    July 3, 2014 at 5:51 am

    I did the following:

    – use putty to login to xios

    – cd /tmp/userdata/xio9s/root/.xbmc

    – create empty file first: nano s94xbmc-pre

    – copy the contents of the text file (on windows) and paste it in the file on xios (so in putty)

    – write output with nano and quit nano

    – change file so it can execute: chmod 755 s94xbmc-pre

    – test script by running it manually: ./s94xbmc-pre

    – takes some time, so be patient (took 60min for 1gig for me. if you connect with another putty session you can use: top

    Then you can see if it is till busy e.g.: /bin/cp -rp /tmp/userdata /media/sdcard/xbmc-data/userdata

    – then #reboot

    another way to the same results, hopefully it helps someone.

  3. Joe

    March 22, 2014 at 8:05 am

    thanks for very clear steps … I think I managed… could you put a screen capture on how the storage of your Xios Xbmc after you have performed the change. Navigating on the memory card I can see it has done a copy of the system with userdata+otherfiles, but in the storage information on XBMC /dev/root/ shows 511 MB.
    I am a complete Newbie with XBMC so anything will help.

  4. dave

    March 7, 2014 at 6:58 am

    i made the directory xbmc-data capital letter.where u put the script

  5. George

    February 5, 2014 at 12:29 pm

    Thank you so much for the guide. However after creating the folder "xbmc-data" pivos automatically started copying the files to the card.

    I still have stuttering and it is not caused by the network or CPU usage. I checked again the storage and I still see that I have 2 partitions showing 99% used. I am afraid that it is still causing the issue. How do I clean those partitions?

    Thank you

  6. Pfdez

    December 1, 2013 at 5:21 pm

    I have video stuttering on my xios ds device but im running Android OS, need help please

  7. kim

    November 11, 2013 at 2:01 am

    Need to create a directory called "xbmc-data" in the root directory of your mSD card.

    • dave

      March 7, 2014 at 7:00 am

      i did the directory with capital letters. where u put the script?

  8. joe mcisaac

    September 10, 2013 at 6:28 am

    cant get the script to run keeps giving me the error can't stat '/media/sdcard/S94xbmc-pre': No such file or directory and i have changed capitalization still nothing ive checked and the sdcard is there just dont know any other way anyone got any other ideas

  9. forTheNom

    August 16, 2013 at 11:08 am

    I copied the file to the specified directory but the system seems to boot pretty fast for me (I have a big library at the moment). Wasn't expecting it to be that fast. I don't think the script did anything…
    How does xbmc know to run this script?
    Does every script in that dir get executed automatically?
    The script that I downloaded had '-orig.txt' appended to it but in the post above, it is not. Should the file be a txt or not?

    other than that nice and well explained article! greetz

  10. Johan

    June 16, 2013 at 6:09 pm

    I get the error message at step 4 – can't stat '/media/sdcard/S94xbmc-pre': No such file or directory

    • ocmodshop

      June 29, 2013 at 11:43 am

      Make sure the capitalization of your file is correct. Linux is case sensitive.

  11. @rduinmayer

    May 29, 2013 at 10:49 am

    Hi,

    I got the same. Stuttering with video and music.

    I am stuck at step 2:
    2. Use PuTTY and enter the IP address. By default the port is “22″.

    Where can i find putty? There are a few paid versions in the play store.Do you know a free version i could use?

    P.s. how can i run the copy script every time on start-up?

    I hope you can help me out…

    • ocmodshop

      June 2, 2013 at 3:03 pm

      PuTTY is free for the PC. Just do an internet search for "download PuTTY".

  12. produnis

    May 27, 2013 at 1:22 pm

    please share the content of your script!

    • ocmodshop

      June 2, 2013 at 3:21 pm

      Sorry I forgot to link it. You can get the original script here: http://pastebin.com/wXqF00Sw

      • tom

        December 17, 2014 at 6:40 am

        this guide is now not needed and a big waste of time. create a folder called xbmc-data in root of your sd card. your xios will automatically copy your contents to this folder upon start up freeing up space.

Leave a Reply

Your email address will not be published. Required fields are marked *