• 1(current)
  • 2
  • 3
  • 4
  • 5
  • 8
XBMC Live on ASUS P5N7A-VM complete guide
#1
Finally, as promised recently, I put together a step-by-step guide on how do I got almost everything working on my ASUS P5N7A-VM, using XBMC Live as a base. Please note, that I am far not a Linux pro by any means, so all these are based on some basic Linux knowledge, endless readings of XBMC and ubuntu forums, and a lot of hands-on trying.

With motherboard, equipped with an E7300 C2D CPU, I am able to play killa sample with only 10-13 frame drops at the begining, so I don’t think overclocking to ~3Ghz is necessery.

Features are working:
- AUDIO over SPDIF or HDMI (including navigation sounds, stereo MP3s, DTS, etc)
- Automatically adjust refresh rate according to the refresh rate of the movie
- Plugins (finally)
- CPU Scaling
- Optional usplash change

Remaining issues:
- Suspend is not working (that would require new kernel)
- Shutdown splash is collapsed on this board, but this is the same with standard ubuntu installation as well (didn't find the reason yet)
- because of the 2GB space limit on XBMC Live root partition, XBMC rebuild from SVN is possible only once (after we install ASLA upgrade, there will be no space any more to do an other compilation of XBMC)

STEP1
Download and install XBMC Live 8.10 (I installed to an USB stick, but I would assume, the belows can be used in case of HDD install as well).

STEP2
Download the newest nvidia linux driver from nvidia.com (the file name is „NVIDIA-Linux-x86-177.82-pkg1.run” today)

STEP3
Download ALSA upgrade script (AlsaUpgrade-1.0.x-rev-1.15.tar) from here:
http://ubuntuforums.org/showthread.php?t=962695

STEP4
Untar the ALSA upgrade sript somehow (eg. Total Commander has a built in feature for this), than you will get a file, named: AlsaUpgrade-1.0.x-rev-1.15.sh

STEP5
Make a new dir and name it „install” on the flash drive and copy over the freshly downloaded nvidia driver and ALSA upgrade srcipt into this dir.

STEP6
Copy over the syslinux.cfg (follow in a separate post) to the root of the flash drive to avoid the need of choosing nvidia manually in XBMC Live boot menu.

If you also want to change the splash screen:

STEP7
Download the choosen one, most probably from duduke. His blog is here

STEP8
Make a subdir in the above created "install" dir and name it to "splash". Unzip the downloaded splash zip into this folder.

STEP9
Boot into XBMC Live, than quit from XBMC (choose exit XBMC in the shutdown menu)
login on the console or ssh in remotely as per your convinience, using the user/pass: xbmc/xbmc

First of all, update the repos, and install all prerequisites using:

STEP10
Code:
#sudo apt-get update

STEP11
Code:
#sudo apt-get install make g++-4.1 gcc-4.1 libsdl1.2-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libsdl-sound1.2-dev libsdl-stretch-dev libfribidi0 libfribidi-dev liblzo1 liblzo-dev libfreetype6 libfreetype6-dev libsqlite3-0 libsqlite3-dev libogg-dev libasound2-dev python-sqlite libglew1.5 libglew1.5-dev libcurl3-dev g++ gawk x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev pmount libmad0-dev libtre-dev libogg-dev libvorbis-dev libmysqlclient15-dev libhal1 libhal-dev libhal-storage1 libhal-storage-dev libpcre3-dev subversion libjasper-dev libjasper1 libfontconfig-dev libbz2-dev libboost-dev libtool nasm libfaac-dev libenca-dev automake cmake libxt-dev libxmu-dev gperf unzip libpng12-dev libjpeg62-dev bison libpulse-dev wget build-essential linux-headers-`uname -r`

Obviously it is a bit long to type in from the console, that’s why it would be more convinient to use ssh for that. (than you can use copy-paste). (I tried to use build dependencies from the repo, but I have difficulties with that, that’s why I recommend this manual way)

To upgrade nvidia driver:

STEP12
Code:
#sudo sh /mnt/install/NVIDIA-Linux-x86-177.82-pkg1.run

In the nvidia installer: accept the Licence agreement, choose „YES” for „No precompiled kernel interface...”, choose „OK” for „No matching precompiled kernel interface...”, than choose „NO” to update X configuration file, than finally „OK” again at the end.

To update XBMC to the latest SVN

STEP13
Code:
#cd $HOME

STEP14
Code:
#svn checkout https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/linuxport/XBMC

Accept the certificate permanetly with „P”
Wait for downloading XBMC source files, might be long time, depend on your Internet connection. After it downloaded:

STEP15
Code:
#cd XBMC

STEP16
Code:
#./configure --prefix=/usr

STEP17
Code:
#make –j2 [b](use only „make” in case you don’t have a dualcore CPU)[/b]

This is again, can takes a bit more of time, depend on your CPU speed. After it has compiled:

You have to preserve a file from the original XBMC Live system directory in order to have python (plugin) capabilities later:

STEP18
Code:
#sudo mv /usr/share/xbmc/system/python/python24.zip /mnt/install

STEP19
Code:
#sudo rm -r /usr/share/xbmc

STEP20
Code:
#sudo make install

STEP21
Code:
#sudo mv /mnt/install/python24.zip /usr/share/xbmc/system/python/

You will need to delete the source files (free up some disk space for next steps)

STEP22
Code:
#sudo rm -r /home/xbmc/XBMC


Now it’s a good time to an interim check if everything went OK, so reboot the system:

STEP23
Code:
#sudo reboot

STEP24
After the reboot, go to the shutdown menu in XBMC and check system info for compilation date. If it’s today, than you updated successfully.

STEP25
Than quit from XBMC (choose exit XBMC in the shutdown menu) again and log in, as in the very begining. To check if nvidia driver update was OK:

Code:
#grep -i "x driver" /var/log/Xorg.0.log
You will see the driver version here.

I hope, everything is fine, than we can continue with the ALSA upgrade.

To upgrade ALSA and enable digital (SPDIF or HDMI sound):

STEP26
Code:
#sudo /mnt/install/AlsaUpgrade-1.0.x-rev-1.15.sh -d

STEP27
Code:
#sudo /mnt/install/AlsaUpgrade-1.0.x-rev-1.15.sh -snap

STEP28
Code:
#sudo /mnt/install/AlsaUpgrade-1.0.x-rev-1.15.sh -i

Now, you have to edit the following file, using nano for example:

STEP29
Code:
#sudo nano /etc/modprobe.d/alsa-base

and add this line to the end:
Code:
options snd-hda-intel model=6stack-dig

than run alsamixer:

STEP30
Code:
#alsamixer

Note that you should see Alsamixer v1.0.18 in the title.
Navigate right with cursor keys until IEC958 and unmute all of them (IEC958, IEC958-D, IEC958-1) with „M” key. You should see in case of all IEC958 a „00” in green background. Press „ESC” to quit from alsamixer.

If you wish to enable CPU scaling feature:

First of all, don’t forget to enable it in the BIOS

STEP31

Code:
#sudo apt-get powernowd

Reboot the computer:

STEP32
Code:
#sudo reboot

STEP33
After booted into XBMC switch to „digital” audio output, than choose the AC3 and DTS capabilities according to your receiver.
For SPDIF: leave audio output device: default and passthrough on IEC958
For HDMI: change both audio output device and passthrough to hdmi (you will loose analog sound eg. navigation sound in case of hdmi)

Configure xorg.conf for proper modes to benefit from auto refresh:

STEP34
This is not an easy part and can differ from display to display.
In my case I configured 3 modes for my FullHD plazma screen, I post the result in a separete post. If you a properly working xorg.conf, than just copy it over to the „config” dir of your flash drive and you are done.

If you want to change the splash screen (thanks to erix):

STEP35
Code:
#cd /mnt/install/splash/

STEP36
Code:
#sudo apt-get install libusplash-dev

STEP37
Code:
#sudo make

STEP38
Code:
#cp /mnt/initrd0.img /mnt/install/splash

STEP39
Code:
#mv initrd0.img initrd0.gz

STEP40
Code:
#sudo gunzip initrd0.gz

STEP41
Code:
#mkdir tmp

STEP42
Code:
#cd tmp

STEP43
Code:
#sudo cpio -id < ../initrd0

STEP44
Code:
sudo cp /mnt/install/splash/xbmc-splash.so usr/lib/usplash/usplash-artwork.so

If you want to change to resolution of the splash, than
STEP45
Code:
sudo nano etc/usplash.conf
change the resolution and save the file.

STEP46
Code:
#find . | cpio --create --format='newc' > ../initrd0

STEP47
Code:
cd ..

STEP48
Code:
#sudo gzip initrd0

STEP49
Code:
#mv initrd0.gz initrd0.img

STEP50
Code:
#sudo mv initrd0.img /mnt/

STEP50
Code:
#sudo cp xbmc-splash.so /usr/lib/usplash/XBMC-theme.so

Now, as a cleanup, you might want to delete the temp, source dirs:

STEP51
Code:
#sudo rm -r /mnt/install/

STEP52
Code:
#sudo rm -r /usr/src/Alsa-1.0.18a/
Reply
#2
Syslinux.cfg

Code:
default 1
prompt        1
timeout        1
# CONSOLE        0



# nVidia
label 1
  kernel vmlinuz
  append initrd=initrd0.img boot=usb quiet splash xbmc=nvidia

# AMD
label 2
  kernel vmlinuz
  append initrd=initrd0.img boot=usb quiet splash xbmc=amd

# Intel
label 3
  kernel vmlinuz
  append initrd=initrd0.img boot=usb quiet splash xbmc=intel

#MkUSB
label 0
  kernel vmlinuz
  append initrd=initrd0.img boot=usb quiet splash xbmc=mkusb

#Safe mode
label safe
  kernel vmlinuz
  append initrd=initrd0.img boot=usb

label toramintel
  kernel vmlinuz
  append initrd=initrd0.img boot=usb quiet splash xbmc=intel,boottoram

label toramnvidia
  kernel vmlinuz
  append initrd=initrd0.img boot=usb quiet splash xbmc=nvidia,boottoram

label toramamd
  kernel vmlinuz
  append initrd=initrd0.img boot=usb quiet splash xbmc=amd,boottoram
Reply
#3
xorg.conf

Code:
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 1.0  (buildmeister@builder63)  Tue Nov  4 14:07:17 PST 2008


Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
    RgbPath         "/usr/X11R6/lib/X11/rgb"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
#    VendorName     "Unknown"
#    ModelName      "Unknown"
    Option         "DPMS"
    Modeline "1920x1080@24" 74.160 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
    Modeline "1920x1080@50" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
    Modeline "1920x1080@60" 148.350 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
    HorizSync       15.0 - 68.0
    VertRefresh     23.0 - 61.0
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "NoLogo"
    Option         "DynamicTwinView" "false"
    Option         "AddARGBGLXVisuals" "True"
    Option        "ExactModeTimingsDVI" "True"
    SubSection     "Display"
        Depth       24
    Modes       "1920x1080@24" "1920x1080@60" "1920x1080@50"
    EndSubSection
EndSection
Reply
#4
haven't tried it(don't have a P5N7A-VM, but I want one.), but nice going with the guide!
  • Livingroom - C2D E8400, P5N7A-VM on a Samsung 46" LE46M86 FullHD via HDMI
  • Kitchen - ASRock 330 HT Displayed on a Samsung Lapfit 22" dual touch screen LD220Z
  • Bedroom - LG Laptop on a 32" tv
Reply
#5
Very Nice guide olympia.

If you want more space on the root partition download gparted live cd. It can resize the partitions created by the xbmc live installer. I made my sda1 partition 3.5gb larger and replaced the ext3fs.img with a larger one. You have have to manually make it bootable again by running syslinux.exe in windows but thats no problem. Bare in mind all changes made in the current ext3fs.img will be erased. I've only tested this with a hd install not flash drive.

To make a larger ext3fs.img in linux.
Code:
dd if=/dev/zero of=ext3fs.img bs=1M count=3500
mkfs.ext3 ext3fs.img -F
You can replace count= 3500 to whatever size although the sda1 partition is formatted in fat32 so i think it has a 4gb size limit(could be wrong about this).

cheers
Reply
#6
Thanks for the really nice guide!!! Im wondering over sound to HDMI, you suggest:
olympia Wrote:STEP31
...
For HDMI: change both audio output device and passthrough to hdmi (you will loose analog sound eg. navigation sound in case of hdmi)

Why not create a file in /home/xbmc/.asoundrc and insert:
Code:
pcm.dmixer {
   type dmix
   ipc_key 1024
   ipc_key_add_uid false
   ipc_perm 0660
   slave {
      pcm "hw:0,3"
      rate 48000
      channels 2
      format S32_LE
      period_time 0
      period_size 1024
      buffer_time 0
      buffer_size 4096
   }
}

pcm.!default {
   type plug
   slave.pcm "dmixer"
}

And in XBMC audio settings:
digital
on/off
on/off
default
default

from this post:
http://forum.xbmc.org/showpost.php?p=259...stcount=41

This way you also get menu sound or is there a drawback with this metod?

Happy new year!
/O
Reply
#7
SpiffBB Wrote:Thanks for the really nice guide!!! Im wondering over sound to HDMI, you suggest:

Why not create a file in /home/xbmc/.asoundrc and insert:

Primarily I don't have hdmi audio setup, I just tested on my TV set, so it wasn't a major issue to me (I am using SPDIF). Anyway, thank you for the suggestion.

@harryzimm
Thank you for this also, i will give it a try, once I figured out the plugin (python) problem. Does plugins works for you after a manual compilation on XBMC Live from source?
Reply
#8
The guide has been revised:

- Plugins are working now!
- Some steps was consolidated
- CPU scaling added

I will play later with haryzimm's suggestion concerning resizing, but the real pain is to miss suspend on this kernel. That's the reason I am experimenting further with building a linux base manually based on intrepid (suspend works fine on that).
Reply
#9
Thanks for the tutorial and it works just fine for me except I cannot get stereo sound to work. I think it worked the first time but after a reboot it was gone. Dolby Digital and DTS works just fine.

This is what aplay shows as playback devices
Code:
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: ALC1200 Analog [ALC1200 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 1: ALC1200 Digital [ALC1200 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

In AlsaMixer IEC958, IEC958 D and IEC958 1 are all green with two O's showing.

Any idea what might be wrong?

EDIT:

SOLUTION: Inside XBMC i changed output from "default" to "IEC958" and then it worked. No clicking sound anymore when I arrow up/down in menues but it is no big deal. Don't know why it worked just once....
Reply
#10
Interesting.
If I understand well, you are also using SPDIF and not HDMI for audio.

What do you use for testing stereo?
Reply
#11
Yes I use SPDIF.

For testing stereo I use random mp3 files and some XVID movies with stereo sound.
Reply
#12
hebjor Wrote:Yes I use SPDIF.

For testing stereo I use random mp3 files and some XVID movies with stereo sound.

try turning the volume up on one or your iec958 channels in Alsamixer. I know they are digital and it is not suppose to matter, but some DO.

Dave
Reply
#13
The method to change usplash theme is added (thanks to erix)

I wish I could solve to suspend on 8.04 with this board, until Intrepid playback performance issues is tracked down....
Reply
#14
i got a problem with the sound from playback xvid/mp3 files, the sound is hanging,delaying.. sometimes short clear then hanging again like in a room Sad

alsamixer shows me only AlsaMixer v1.0.15 and not .18 dunno why..
Yes I use SPDIF
Reply
#15
dirtylion Wrote:i got a problem with the sound from playback xvid/mp3 files, the sound is hanging,delaying.. sometimes short clear then hanging again like in a room Sad

alsamixer shows me only AlsaMixer v1.0.15 and not .18 dunno why..
Yes I use SPDIF

Than alsa is not got upgraded, I would assume, than can cause the problem. I had major sound quaility issues with 1.0.15 as well....
Reply
  • 1(current)
  • 2
  • 3
  • 4
  • 5
  • 8

Logout Mark Read Team Forum Stats Members Help
XBMC Live on ASUS P5N7A-VM complete guide2