XBMC on an Acer Aspire Revo 1600 *outdated* (see newer xbmc live 10 post)

Categories: Featured, Movies, Tech
Written By: Scott

aeon_backdrops

This post is outdated after the Dharma release, I will copy relevant info from this post to the newer post.

[Note: There's currently a bug that has been fixed in svn (changeset) that causes Aeon to crash. I compiled and installed from svn and confirm that the bug is fixed; will create an idoits guide to installing from svn soon. Again, like most things XBMC, it wasn't hard but nobody wanted to give up concise, correct instructions.]

Notes
I’m filling in a lot of blanks from this guide on the XBMC.org forums here, or the Lifehacker guide here. Unfortunately a lot of this info is scattered around forum posts and these guides will only get you most of the way there. For instance, don’t mess with adding the nvidia drivers to the iso … I mean you could if you wanted to but why not just do them after install?

Purpose
I need to catalogue all of the changes I had to make so that, in the event I ever need to do it all over again, I don’t spend the six – seven hours it took me the first time digging through random forum posts. For my purposes, I want to install XMBC directly to the revo’s hdd but since it has no cd/dvd rom, and there’s no way I’ll go buy one just for this, it needs to install from usb. I don’t know why this is, but there seems to be a lot of posts asking how this is done, and I think people get confused because of extra random steps mentioned in the thread.

I. Install XBMC Live to Revo HDD

  1. Download XBMC Live.
  2. Download unetbootin. [I don't know if this part is correct] For Mac users, like me, it appears easist to run it under a Windows virtual or boot camp even though there’s a Linux version.
  3. Plug in your USB drive and [I had trouble getting my USB key to boot until I did this] format it FAT32.
  4. Launch unetbootin, select the XMBC Live iso and select the drive letter of your USB key and then let unetbootin do it’s thing.
  5. Plug the USB key into your Revo, turn it on and [Optional] hit Del to get to the bios and change the boot priority to removable devices. [/Optional] hit F12 for the boot menu and select your USB key.
    [Note: the guide has you create a file for permanent storage. This is only necessary if you want to run XBMC Live directly from the USB key. If you're installing to HDD then it's pointless.]
  6. At the XBMC Live boot menu select the Install to HDD option. You’ll then see the normal ubuntu command line installer and it’ll walk you through partitioning the drive, etc.
  7. Remove the USB key, reboot per the installer and make sure XMBC loads. Once it has, immediately shut it down.

II. Install Invidia drivers

  1. [I haven't confirmed if XMBC Live 9.11 final contains up to date Nvidia drivers since the install to HDD option was broken when this was written and I had to use RC1 -> apt-get update / upgrade path]Download latest Nvidia ION Linux drivers here. Make sure to check beta releases. Current certified 190.53 appears to be working with 9.11 Live.
  2. Copy them over, or easier yet, use [need to verify url] wget http://us.download.nvidia.com/XFree86/Linux-x86/190.53/NVIDIA-Linux-x86-190.53-pkg1.run. Should be obvious from url that you can you just replace the version number with whichever you’re after.
  3. Install … sudo sh NVIDIA-Linux-x86-190.53-pkg1.run.
  4. Reboot; done.
  5. Once in XBMC, you should be fine leaving the Renderer option set to Auto, but if you really feel the need switch it to VDPAU.
  6. My Revo 1600 is running 1080p fine with only the stock 1gb, but I still have another 1gb on order. I’ve also noticed the tiniest bit of jitter during playback (about the same as PS3MS to PS3) and am still investigating all of the xorg.conf posts for that solution.

III. Audio over HDMI

  1. [Note: this is very dependent on how and what you're hooking your Revo up to. Both guides fail to mention that the audio config they give you only works when connecting directly to screen and only outputs stereo. Wich should be obvious from 'Downmix multichannel audio to stereo - ON', but still, who wants stereo?!?]
  2. Set Audio Output to Digital.
  3. AC3:on
  4. DTS:on
  5. Both guides state that both, audio output device and passthrough output device should be set to ‘hdmi’. Unfortunately, this didn’t work for me and all I got was silence. There’s a massive thread about multichannel audio here, but I found that I didn’t need any of it except for one key part.
  6. Alt-F2 to bring up a terminal, and login.
  7. aplay -l and note the HDMI device; it should be card 0 device 3.
  8. Set Audio Output Device to Custom and enter plughw:0,3.
  9. Set Passthrough Output Device to Custom and enter plughw:0,3.
  10. Downmix multichannel audio to stereo: off
  11. You should now get DD5.1 and DTS5.1 [possibly 7.1 too?] out of the Revo’s HDMI. My assumption is that you’re connecting the Revo HDMI to either a receiver with HDMI in, or you’re routing sound through your TV via HDMI in and then Optical out to your receiver (how mine is configured). Since the Revo 1600 has no optical out, that route isn’t covered. I would guess that for the 3600 all you’d need to change would be the approiate card / hardware numbers, but I haven’t done any research into that.
  12. And of course, if you want menu sounds create /home/xbmc/.asoundrc and put:
    pcm.!default {
    type plug
    slave {
    pcm “hdmi”
    }
    }
    in it.

IV. Logitech Harmony Remote

  1. Get an IR Receiver by purchasing a cheap MCE remote.
  2. Verify that the MCE remote works with xbmc-live out of the box (it should).
  3. In the Harmony remote software setup the revo as a Media Center PC -> Manufacturer: Microsoft -> Model: manually type in Extender. I had a hell of a time getting my Harmony 550 to work before I found that little tidbit recently. Even manually learning the IR from the other remote wasn’t working.
  4. If you also have an Xbox360 that’s sitting nearby, using the power toggle of the MCE Remote/Harmony will also turn it on or off. Go into system setup on the 360 and set it to xbox360 remote only. Don’t worry, the activity for the 360 on the Harmony will still power it on and off … I’d have to guess it won’t navigate menus but I only use my 360 for gaming so the controller is on and that’s what I’m using for navigation. Why would you watch movies on the 360 now that you have XBMC? Netflix?!? Two words … use, net.
  5. [Still need to adjust timing, Harmony software on Mac isn't letting me edit the default 200ms setting. Also still need to map back and home to a face button.]

V. Skins from git

  1. This is another one of those really easy things that gets more complicated the more people talk about it. For Aeon, use the scripts from here and save yourself some time.
  2. Install git client; sudo apt-get install git-core
  3. git clone git://github.com/ “/home/xbmc/.xbmc/skin/”
    e.g. git clone git://github.com/HitcherUK/Alaska.git “/home/xbmc/.xbmc/skin/Alaska”

VI. Password protected Samba share to transfer files to the Revo

  1. sudo apt-get install samba
  2. sudo nano /etc/samba/smb.conf
  3. sudo smbpasswd -a [username]. Unlike in the Windows world where the shares use a local account for authentication, samba maintains it’s own user db. I’m sure somebody smarter than me knows how to get samba to look at linux local accounts, but for my purposes simply mirroring the user/pass of the local account in samba works.
  4. The tail of my smb.conf file, sharing out two password protected directories.
    [XBMC Skins]
    path = /home/xbmc/.xbmc/skin

    security = user [shared_folder]
    public = no
    read only = no
    guest ok = no
    writeable = yes
    printable = no
    create mask = 0755
    force create mode = 0755
    directory mask = 0775
    force directory mode = 0775

    [XBMC Aeon Backdrops]
    path = "/home/xbmc/Aeon Backdrops"

    security = user [shared_folder]
    public = no
    read only = no
    guest ok = no
    writeable = yes
    printable = no
    create mask = 0755
    force create mode = 0755
    directory mask = 0775
    force directory mode = 0775

VII. Xorg changes

  1. sudo cp /etc/X11/xorg.conf /etc/X11/xorg.orig
  2. sudo nano /etc/X11/xorg.conf
  3. If XBMC boots to a command prompt, you did something wrong. Comment out your change and restart.
  4. Gamma: on my TV XBMC is way too dark so I needed to adjust the gamma. On the XBMC forums, somebody posted that gamma was specified in the form: gamma r g b; calling out gamma values for each channel. Turns out with XBMC Live, it needs a single gamma value, e.g. gamma 1.2, or it pukes. [If you have the opposite problem where the gui is bright but your movies are too dark, enable VDPAU studio level color conversion (need to look up where this is located)]
  5. Jitter/Judder: [I'm still messing around with these to see if any work, as it stands some of these modifications make my install puke to command prompt]
    From the revouser thread here.
    Monitor Section:
    HorizSync 31.0 – 69.0
    VertRefresh 59.0 – 86.0
    [confirmed the above works and made a large difference visually]
    Device Section:
    Option “DynamicTwinView” “False”
    Option “TripleBuffer” “True”
    [above works, but no visual change that I can detect]
    Screen Section:
    Option “TwinView” “False”
    Option “AddARGBGLXVisuals” “True”
    [untested]
    Add an Extensions Section:
    Section Extensions
    Option “Composite” “Disable”
    EndSection
    [untested, not sure that this would make a huge difference]
  6. There is mention that this:
    Screen Section
    Option “UseEDIDFreqs” “False”
    worked too.
    [untested]
  7. There’s also a post here detailing how to add your own modelines into xorg.

VIII. Automount USB

  1. sudo apt-get install usbmount
  2. sudo nano /etc/usbmount/usbmount.conf add ntfs to filesystems string.

IX. Resume from USB

  1. I had just assumed that this would be configured by default; I’m increasingly becoming annoyed with all the little fiddling that you have to do for things that should already be configured by default. That and finding all of the information to get stuff to work. Digging through fifty pages of forum postings isn’t my idea of fun.
  2. Follow this guide from the wiki.
  3. cat /proc/acpi/wakeup | grep ^USB
  4. You should see something like this:
    USB0      S3      disabled pci:0000:00:02.0
    USB2      S3      disabled pci:0000:00:02.1
  5. sudo su and nano /etc/rc.local and add:
    echo USB0>/proc/acpi/wakeup
    echo “rc.local has completed sucessfully.” >> /tmp/resume.log (optional)
  6. [I need to track down the post I found that actually set this as a script to only echo out the enable if it wasn't already enabled.]
  7. Don’t enabled USB2 otherwise the computer will wake up immediately after suspend.
  8. Now that that’s over with there’s another little bit that isn’t mentioned in that wiki that needed to be enabled on my 1600. Usbcore.autosuspend=-1
  9. sudo nano /boot/grub/menu.lst
  10. in the first entry (not safe mode) append “usbcore.autosuspend=-1″ (without quotes) to the end of ‘kernel’ line.
  11. Reboot.
  12. I see a lot of posts about resume scripts and the remote not working correctly after resume. I’m still waiting for my newegg order to show up so the previous instructions were only tested using the keyboard.

X. Upgrading RAM

  1. [link to youtube video needed]
  2. Needed: philips screwdriver and small standard screwdriver / jeweler’s screwdriver.
  3. Where the wobbly stand snaps in, there will be a warranty sticker covering a philips screw, Cut the sticker and remove the screw.
  4. Looking at the black top plate, notice the hairline seam on the outer white case. Run your finger nail down that seam to seperate it slightly. Enough that you can get the standard screwdriver in without chunking up the plastic.
  5. Wiggle standard screwdriver back and forth to pry the top of the case up releasing the tabs holding it. Top of case will come off as one piece.
  6. Insert memory module
  7. [personal preference] plug in power, keyboard and monitor; boot into bios and make sure the ram is recognized before replacing top case.
  8. In bios adjust [correct term?] video cache from 256mb to 512mb.

Advanced
XI. Compile and Install XBMC from source
This is incredibly easy, but all of the posts I found were kind of wonky; even the wiki is missing some vital info that you need. I’m assuming that you’re already running XBMC Live and want to latest … the pre-compiled PPAs are supposed to do this for you but I never can seem to get them to work.

  1. sudo apt-get update (If you haven’t already done this previously when you first installed).
  2. sudo apt-get build-dep xbmc
  3. Here I’m assuming that you already have nvidia drivers installed from the previous steps.
    sudo apt-get install libvdpau-dev
    This is needed so that you can enable vdpau during configure.
  4. sudo apt-get install subversion
  5. Either create a directory that you want to download source to, or a ‘trunk’ directory will be created in the current directory.
  6. svn co -r http://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk
    I’m probably downloading way too much of the source but the previous posted instructions I’d found called out ‘/branches/linuxport/XBMC’ which doesn’t exist. I should probably spend some time looking to see what branch I should be downloading.
  7. cd trunk
  8. ./bootstrap
  9. ./configure --prefix=/usr --disable-debug --disable-ccache --enable-vdpau
    prefix=/usr to specify the directory to install to; for some reason I found my Live installed to /usr/xbmc instead of the stated default of /usr/share/xbmc. Disable debug, self explanatory. Disable ccache, no idea what this does, copied it from a post? Enable vdpau; this is supposed to be enabled by default but in my first configure run I noticed that it was disabled.
  10. make
  11. Prepare to wait a long time if you’re doing this directly on the AR1600. Usually takes me an hour or so … don’t have exact time since I walk away and come back.
  12. sudo make install

Conclusion
My final hurdle in the next few days, once it arrives from Newegg, is to hook up an ir receiver and get my Harmony remote working with XBMC. From the number of posts on the subject I’m in for a long couple of days.
Aside from the learning curve of open-source software, for $199 the Revo 1600 is an incredible HTPC bargain. Right now my focus is entirely on playing 1080p MKVs but soon I’ll move on to Music and Photos. From what I can gather, XBMC has native ALAC support, as well as UPNP (SimplifyMedia server as a backup) support. iPhoto is going to be a beast and I don’t think I’ll ever get that conquered. I’ll probably have to point XBMC at the iPhoto folder structure where it’s backed up on the server. Or I could just not mess with it. Picture support isn’t that exciting to me.
Current cost:
Acer Aspire Revo 1600 $199
Crucial 1GB DDR2 800 (PC2 6400) 200-pin SO-DIMM $29.98
AVS Gear Certified MCE Remote $25.41
Total $254.39
I probably could’ve gotten a Popcorn Hour for just a little more and been done with it. I do plan on checking out the Boxee beta when it goes public next month.
At first I really wanted the Revo 36xx because of the optical out, dual-core proc, extra gig of ram and the wireless N card. But, turns out, the extra options weren’t necessary. Once I get this one working flawlessly, I’ll probably get another one and stick it downstairs with a wireless extender.

13 Comments, Comment or Ping

  1. Austin

    Hi Scott,

    Great post. I am currently in the process of installing XBMC on to my Revo. However, I’ve reached my wits end when trying to get any audio over HDMI. I’ve been through several guides from various forums but all result in no audio. I have managed to get stereo out over the headphones off and on in the course of this, but I’m really not that interested in that and have not been working towards that.

    I am running an install of XBMC Live. I’ve tried your ‘plughw:0,3′ trick but with no success. I’ve tried various ~/.asoundrc and /etc/modprobe.d/alsa-base.conf and /etc/modprobe.d/asound.conf. I’ve triple checked volume levels on the tv. Triple checked connections. Also checked alsamixer and made sure nothing was muted and turned up, but no luck. Also tried various audio output settings in XBMC (do u have have to reboot for these to take effect? I’ve done both) but nothing.

    Here is some relevant console outputs and files:

    console:

    http://pastebin.com/f32fa133e

    /etc/modprob.d/alsa-base.conf:

    http://pastebin.com/f12113578

    /etc/modprob.d/asound.conf:

    http://pastebin.com/f58a47bf0

    Do you have any suggestions? Or perhaps a better way I can troubleshoot this?

    Thanks,

    Austin

  2. Scott

    Personally, I’d start at rock bottom and just load up a clean Live version off usb and start there.

    How is your sound wired btw? Are you doing Revo -> hdmi -> TV -> optical out -> receiver? Or are you doing Revo -> hdmi -> receiver -> hdmi -> TV? I’m no subject matter expert, but I’d take a good look to make sure your TV actually passes the audio through untouched … my guess is a good test for that is if you can get stereo sound out if you enable downmixing. On my TV, an older Samsung DLP, I had to enable an option labeled, ‘Enable Internal Mute’ before it would pass audio to my receiver. And, sorry if this sounds like I’m talking down to you, if you’re doing HDMI to the receiver make sure it’s HDMI input actually takes audio and video. I was looking for a new one with HDMI switching and there were a couple of brands/models (Yamaha being the big one) that only passthrough the video over HDMI, instead of passing video and processing audio, instead requiring a seperate optical in for audio. Having to do research on that really pisses me. One more HT headache that I don’t need.

    The settings I use are:
    Audio output: Digital
    AC3 capable receiver: On
    DTS capable receiver: On
    Audio output device: custom plughw:0,3
    Passthrough output device: custom plughw:0,3
    Downmix: Off

    Oh, and yes, no matter how much fiddling I did audio wasn’t enabled using this configuration until I rebooted the box and turned my TV off and on. Again, I’m just a monkey, but what I suspect is that the TV needed to do the hdmi handshake thing again to notice that it was getting audio in addition to the video.

  3. Austin

    Thanks for the reply, Scott. My setup is simple. I simply have Revo -> HDMI -> TV. No receiver. Nothing fancy. (I may plan to buy a audio receiver soon, but as of now I’m stuck with stereo from my TV). So last night I made an interesting discovery. When I boot the LIVE (ie unetboot version, not installed) version of XBMC via a usb key I was able to get audio off HDMI without any additional linux configuration. My XBMC settings were the following:

    Audio output: Digital
    AC3 capable receiver: On
    DTS capable receiver: On
    Audio output device: hdmi
    Passthrough output device: hdmi
    Downmix: On

    So my first thought is I just screwed something up when I was configuring linux. (I had also installed things like rtorrent, lighttpd, irssi, dropbox, etc) So today I started over. New day. New install. Wiped the hard drive and reinstalled thru Live via usb key. I didn’t bother reinstalling anything else. I only had a fresh XBMC install. I put in the same settings that worked with Live and nothing. So I am completely perplexed to why this is happening. Apparently something gets changed when it is installed. I compared the md5′s of my alsa-base.confs in the Live and installed versions and they match. Not sure what else to check though.

    Front headphone sound works fine. Tried the turn tv off / on thing. No luck. Even tried your XBMC settings but that didn’t work either.

    I realize I could just run the analog cord to get sound since I am just working off stereo, but thats rather ugly since the port is in the front. Also, I will want digital sound once I get a receiver.

    So any ideas?

  4. Scott

    Keep in mind, I’m standing on the shoulders of giants … I hate digging through (and understanding) log files if I don’t have to. At first glimpse, turn AC3 and DTS off since I doubt your TV is capable of decoding those? I know our new bravia can take DD5.1 in, but not DTS. My understanding is that if you have those on, xbmc is going to pass the stream directly to the device and bypass the downmix setting. I know the Lifehacker guide shows those options turned on in their screenshots, but I don’t think that’s how it’s supposed to be.

    BTW, do you have any other device that outputs digital sound that you’re using with your TV? What I’m getting at is, do each of your TV’s inputs have specific options that can be set? My old samsung is retarded and will play anything that’s sent to it (including a loud screeching noise from the revo if I don’t enable internal mute) but if I remember right, my new bravia had a setting to enable/disable sound from hdmi in. Long shot, but something to think about.

    Also if you know you can get analog from the headphone jack, you might just enable analog in xbmc real quick to test. Seriously, I think the ‘hdmi’ setting in xbmc is broken. I couldn’t even get stereo sound using that.

    I’d recommend ,

    Audio output: Analog
    AC3: Off
    DTS: Off
    audio output: pluginhw:0,3
    passthrough: pluginhw:0,3 (although since we’re not really passing 5.1 through I don’ t think that is applicable)
    downmix stereo: On

    and see what you get there before moving to digital. I know I was able to get stereo sound to both TV and receiver using those settings … my goal was 5.1 though.

  5. Nick

    Hello Scott – thanks for the post, I finally realised that I needed the NVidia drivers installed to make the thing work properly. The only issue I have now is that 5.1 audio doesn’t work – I hear background noise but voices are muted. I can hear everything if I select ‘downmix multichannel audio to stereo’, but as you say, who wants stereo. Any idea what I’m doing wrong?

  6. Scott

    Certified Nvidia linux drivers or latest beta? Strangely enough, I got a big boost in menu scroll speed going from the certified 190.53 to the beta 195.30 version. I thought you were going straight to your TV and using the TVs speakers for sound?

    Thanks for posting what fixed the problem for you, I need to add ‘have latest nvidia drivers installed’ so that I remember that for next time.

  7. David

    Oh, yes! Thanks for pulling all this together. I was going to do it myself, but ugh….

    If this post gets my AC3 working, I’ll link over from my blog so I’ll have it just in case I ever lose my setup.

  8. Blaque

    I had the same problem you had with the voices muted and background noise ok. Check Downmix to stereo and it should work.

  9. Bill

    Thanx for the great post. This saved me a ton of time.

  10. Bill

    One thing that I needed to do before apt-get could find packages was to do a apt-get update.
    Here is what I did with smb.conf:
    sudo mv /etc/samba/smb.conf /etc/samba/smb.orig
    sudo nano /etc/smb.conf

    Paste in the following and save:

    [global]
    ; General server settings
    netbios name = xbmclive
    server string =
    workgroup = WORKGROUP
    announce version = 5.0
    socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192

    passdb backend = tdbsam
    security = user
    null passwords = true
    username map = /etc/samba/smbusers
    name resolve order = hosts wins bcast

    wins support = yes

    printing = CUPS
    printcap name = CUPS

    syslog = 1
    syslog only = yes

    ; NOTE: If you need access to the user home directories uncomment the
    ; lines below and adjust the settings to your hearts content.
    [homes]
    valid users = %S
    create mode = 0600
    directory mode = 0755
    browseable = yes
    read only = no

    You can set netbios name to whatever you want to call server
    and workgroup to whatever windows workgroup is

    I hear what you are saying about this stuff being the defaults. I keep telling myself that I spend all this time because it is a hobby.

  11. MasterMonkey

    I was able to get rid of all the clipping and jitter while playing 24fps video by using the xorg.conf configuration in this post. Just make sure to disable any options except for vdup inside the video playback section..

    http://xbmc.org/forum/showthread.php?t=63531&page=2

  12. Tod

    Thanks Scott for writing this article. I tried installing xbmc with a usb stick last night and ran into all the problems associated with that. Then I found your article and I was able to get it installed. Once I found out how to get to the terminal I updated the video drivers. At least have a base system now, so I can work up from there. I will say this is a piece of cake compared to setting up xbmc on an xbox (making adapter plugs etc). Thanks again!

    Tod

  13. Brian

    I’m having trouble getting sound out via the headphones. Using a Live install of XBMC 9.11 with the latest nVidia drivers. I tried this:

    Audio output: Analog
    AC3: Off
    DTS: Off
    audio output: pluginhw:0,3

    downmix stereo: On

    No luck. Thoughts? I need it b/c the TV I’m hooking to doesn’t have HDMI.

Featured & Popular Articles