Kodi Community Forum
[LINUX] HOW-TO install XBMC for Linux on Ubuntu 8.04 (Hardy) and 8.10 (Intrepid) - Printable Version

Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: General Support (https://forum.kodi.tv/forumdisplay.php?fid=111)
+---- Forum: Linux (https://forum.kodi.tv/forumdisplay.php?fid=52)
---- Thread: [LINUX] HOW-TO install XBMC for Linux on Ubuntu 8.04 (Hardy) and 8.10 (Intrepid) (/showthread.php?tid=44019)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44


- bertrand - 2009-04-17

I've followed this How-to in order to setup a clean & reliable XBMC on my HTPC. There is one thing I have to say first: thank you ! Great guide, really.

Now here are the details I stumbled upon and had to dig in a bit for:
- in the first batch of apt-get install, libmysqlclient-dev threw an error at me, saying it's a virtual package. I actually had to replace libmysqlclient-dev with libmysqlclient15-dev.
- EDID didn't do anything for me. I had to manually edit my xorg.conf file to get the proper resolution to work
- My keyboard is still configured as QWERTY (I haven't changed it yet)

(I don't need help with these, I just wanted to highlight parts of the how-to that could be improved).

I also think that you may want to add a few screenshots, for instance when there are choices to do or so. It may help some users.

I also wonder about something: why do we install MySQL related stuff ? I also have PostgreSQL installed & running... any idea why ? Smile


- Matt Devo - 2009-04-18

just wanted to say thanks - finally made the move from XBMC Live on a USB flash to a full HDD install. works perfectly, save some minor splash screen quibbles


my experience - rickx - 2009-04-19

My big THANK YOU first of all! I've run up and down this guide a lot of times now and I can say it is really helpful.

I'm using jaunty since alpha 5. Everything works fine following the intrepid instructions, except for the usplash thing which btw did not work too well in intrepid either.

And here to my question:
There are lots of places with warnings about gdm or probably any windows manager. I simply obeyed and things like fullscreen start etc. always worked perfectly. But then I started exploring a bit more "advanced" options from xbmc, like
- calling firefox for some widescreen googling Rofl
- xmame using launcher plugin
- vdr tv watching
- (mythtv...yes I tried that also...still trying to forget)
So now I have to come back to that gdm thing for clarifications: why is it we should avoid window managers?
Trying the things above is quiet hard (impossible?) after one followed this HOW-TO, and some threads seem to suggest that exactly HAVING a window manager eases their handling. (For example starting firefox is very easy, but it will stay in the foreground and won't get focus so basically you have to kill it from terminal. xmame problems are similar).
So after all this introduction, I'd like to know:
1. why no gdm?
2. why gdm?
or in other words why use or not use a window manager?
I thought having the system with just/exactly what is needed was the way to go, trying to minimize boot time and making the pc a sort of xbox on steroids. but now I start wondering...


- bobb0 - 2009-04-20

rickx Wrote:So after all this introduction, I'd like to know:
1. why no gdm?
2. why gdm?
or in other words why use or not use a window manager?
I thought having the system with just/exactly what is needed was the way to go, trying to minimize boot time and making the pc a sort of xbox on steroids. but now I start wondering...

Quite simply, this guide was developed for those who want a stripped down installation. In fact, it's not even the recommended method. The recommended method is to setup Ubuntu, create an XBMC user and configure that user to auto-login and run XBMC on login. A lot of people turn to this guide because it is very well done in that any linux novice can follow the instructions (minus some changed packages when prepping the build env) and get a XBMC set-top box-like machine running in no time.

Myself, now that I've got a little more practice under my belt, I'm going to attempt the "recommended" method with Jaunty and see what I prefer. Smile

b


- xanadu1979 - 2009-04-20

bobb0 Wrote:Myself, now that I've got a little more practice under my belt, I'm going to attempt the "recommended" method with Jaunty and see what I prefer. Smile

b

Please let us know how it goes. I've been considering doing the same. I love the mini install guide because it's super easy and gives me pretty much everything I want (a quick-booting xbmc box). But now that I know a little more about Ubuntu (been playing with it on another computer), I miss a lot of the graphical tools on the full install.


- rickx - 2009-04-21

By recommended you mean ubuntu plus gnome (and gdm), right?
Apart from having to adjust the start scripts, wouldn't installing gdm suffice? I mean is the gnome-desktop with all it's apps you don't need on an xbmc-pc needed anyway? I don't think so...


minimal core 2 duo for 720p software decoding - nikiiv - 2009-04-21

Sorry wrong post


- bobb0 - 2009-04-21

rickx Wrote:By recommended you mean ubuntu plus gnome (and gdm), right?
Apart from having to adjust the start scripts, wouldn't installing gdm suffice? I mean is the gnome-desktop with all it's apps you don't need on an xbmc-pc needed anyway? I don't think so...

You could certainly try. I think that by installing gdm, you'll end up getting a lot of the apps you don't need. There was a minor debacle about this guide when an xbmc developer said something very discouraging in this thread: http://forum.xbmc.org/showpost.php?p=300779&postcount=8

Which led directly to this post: http://forum.xbmc.org/showpost.php?p=301299&postcount=432

Which led to a rallying of the team that read this thread religiously to encourage Olympia to keep this method in the Wiki at all...

"Recommended" in terms of those posts means a full Ubuntu desktop, create an unpriv'd XBMC user and configure gdm to a) autologin that user and b) auto start xbmc by starting it from /home/{xbmcusername}/.xsession

The whole point of this thread (or any thread for that matter) is that you experiment, find what works for you and share your findings with others. The ideas that are really good make it, others fall by the wayside.

So in short, try it and let us know how it goes. It could make it into the guide Smile

Edit: Sorry if that sounds a little preachy. I'm just saying that I don't think gdm was chosen to be excluded for any other reason in that it didn't fit in with the whole stripped down/set-top box context at the time. If you can find a way to work it in, that would be cool. Smile


XBMC and the recommended method - bobb0 - 2009-04-21

So, Day 1 of my "recommended" method project has passed.

So far I've been able to:
* Install Jaunty
* Setup an autologin XBMC user
* Install build dependencies and compile XBMC from svn
* Get HDMI audio working (more on this later)
* Install the userspace xbox360 pad driver

To do:
* Restart XBMC on crash -- currently it drops me to a login prompt (boourns!)
* Figure out a way to define a keyboard mapping which mimicks the xbox reboot command (Left Trigger + Right Trigger + Back + Start) to kill X in case of XBMC lockup. Those keys in combination should trigger a Ctrl+Alt+Backspace, however in Jaunty it seems even that key combo is disabled??


Step 1: Install Jaunty
Did this from USB. Seems easy enough except that on my HTPC, it dropped me to busybox / initramfs cli. Durrr what to do? Amazingly I typed "exit," walked away and came back later to find it had booted into GUI. Commenced installation - no issues.

Step 2: Create XBMC user
Easy enough, did this via Administration/Users and Groups. Started with the unpriv'd profile and added the things I think the xbmc user needs such as fuse, audio, mount shares, etc.
For autologin, you can do this via... Admin or Prefs / Login Screen (I wish I could remember more clearly) At this point the system will auto-login the XBMC user and start a GNOME desktop.

Step 3: Install build deps and compile XBMC from svn
Because I'm lazy, I used the guide for this using Intrepid steps.

Step 4: HDMI Audio
Jaunty uses ALSA 1.0.18 out of the box which, even though it is not the newest ALSA, still supported my chipset+HDMI out of the box! All I had to do was slave the HDMI audio off the analog and viola! Slaving HDMI is as simple as adding the following to /etc/asound.conf:
Code:
pcm.!default {
    type plug
    slave {
        pcm "hdmi"
    }
}
This way HDMI works (including navigation sounds) without any modification to XBMC's audio settings, and it resolves the issue of the HDMI codec only supporting 48k input. (see http://www.xbmc.org/forum/showpost.php?p=299924&postcount=404 )

Step 5: installed grumbel's xbox360 userspace driver
I find this driver to be much better than the xpad kernel driver. For some idiotic reason, xpad defines the dpad as axis however xbmc needs dpad as buttons. So, the choices are to modify kernel source and recompile the driver to fix the issue, or nix xpad and use the userspace driver. I chose the latter because the userspace driver allows me to define a deadzone which helps a lot.
First I downloaded the source from here: http://pingus.seul.org/~grumbel/xboxdrv/
And the Keymap from here: http://www.stolennotebook.com/anthony/2008/09/13/using-xbmc-for-linux-with-an-xbox-360-wireless-controller-and-the-userspace-usb-driver-xboxdrv/
Grumbel's README has all the compilation instructions you need. After compilation, copy xboxdrv and xboxdrv-daemon.py to /usr/local/bin
Make sure kernel modules uinput and joydev load on boot. If not you can add them to /etc/modules to make it so.

Step 6: auto load XBMC and xboxdrv-daemon.py
For the xbmc user create a .xsession file in its home directory and add
Code:
#!/bin/bash

sudo xboxdrv-daemon.py -- -s --dpad-as-button --deadzone 6000 &
xbmc -fs
I was unable to get xboxdrv to load properly as a regular user so I had to allow it to be run as root. You can do this by running
Code:
sudo visudo
and adding the following entry:
Code:
xbmc    ALL=NOPASSWD: /usr/local/bin/xboxdrv-daemon.py
Perhaps someone can help me with this little bit of suck?

That's all for now. Later this week I hope to further refine .xsession to restart xbmc on crash, similar to but not exactly the same as the XBMCLive .xsession script. If anyone has any comments or suggestions on that, I would be more than happy to hear them Smile

Long term goal: magical button mapping that will trigger an X restart. Anyone? Smile

Edit: This should probably be a new thread -- I won't be offended if (an admin) moves it to a new thread...


- rickx - 2009-04-21

@ bobb0

Hi and thanks for your replie(s).
- no, I did not find them preachy, I liked the "historical background" view
- I think you are wrong for one thing: gdm is installable without apps. The apps come with gnome-desktop (or ubuntu-gnome-desktop Huh). So I'm still tempted to try that route.
- althekiller is not exactly the kind&polite type from what I read, but I agree with him and - at the same time - don't see it as an attack against olympia nor against the stripped-down approach. Just pointing out that a wiki entry should explain the "why" along the "how".
- regarding the last post: sounds very nice, but I'd suggest to start a new thread...now that we're in the jaunty era Laugh

bye,
rickx

p.s. the ctrl+alt+backspace is disabled but can be re-enabled (read it somewhere...just don't ask how No but google knows Eek)


- berchti - 2009-04-21

hi everyone

I installed my xbmx on a ASUS P5N7A-VM everything worked fine until today. I just want to listen to some radio streams, but the streams only work for about 3 minutes than they all start stumbeling!!

Audio is playing through hdmi connected to my hd.

here is the xbmc.log

Code:
21:31:06 T:3022982032 M:1682038784    INFO: AudioDecoder: File is queued
21:31:06 T:3052615488 M:1681481728   DEBUG: Load special://home/skin/Aeon/media/common/rssbar_mid.png: 24.2ms
21:31:06 T:3052615488 M:1681481728   DEBUG: CGUIInfoManager::SetCurrentSong(http://broadcast.infomaniak.net:80/energyblack-high.mp3)
21:31:07 T:3052615488 M:1681481728   DEBUG: LoadMusicTag: loading tag information for file: http://broadcast.infomaniak.net:80/energyblack-high.mp3
21:31:07 T:3052615488 M:1681481728   DEBUG: Streaming media detected... using http://broadcast.infomaniak.ch/energyblack-high.mp3.pls to find a thumb
21:31:07 T:3052615488 M:1681481728   DEBUG: CGUIInfoManager::SetCurrentSong(http://broadcast.infomaniak.net:80/energyblack-high.mp3)
21:31:07 T:3052615488 M:1681481728   DEBUG: LoadMusicTag: loading tag information for file: http://broadcast.infomaniak.net:80/energyblack-high.mp3
21:31:07 T:3052615488 M:1681481728   DEBUG: Streaming media detected... using http://broadcast.infomaniak.ch/energyblack-high.mp3.pls to find a thumb
21:31:07 T:3052615488 M:1681584128   DEBUG: ------------------- GUI_MSG_WINDOW_DEINIT
21:31:07 T:3052615488 M:1681584128   DEBUG: Progress dialog
21:31:07 T:3052615488 M:1681584128   DEBUG: -------------------
21:31:12 T:3052615488 M:1674252288   DEBUG: Load /home/xbmc/BG/music/pogues1080.jpg: 237.2ms
21:31:29 T:3052615488 M:1682534400    INFO: CheckIdle - Closing session to http://broadcast.infomaniak.ch (easy=0x9ebcf28, multi=0x9bbc028)
21:31:30 T:3052615488 M:1682534400    INFO: CheckIdle - Closing session to http://broadcast.infomaniak.net (easy=0x9ec54e0, multi=0x9bb73c0)
21:31:34 T:3052615488 M:1674170368   DEBUG: Load /home/xbmc/BG/music/britney.jpg: 192.6ms
21:31:51 T:3052615488 M:1682604032  NOTICE: Samba is idle. Closing the remaining connections
21:31:57 T:3052615488 M:1674113024   DEBUG: Load /home/xbmc/BG/music/bjork1080.jpg: 225.0ms
21:32:19 T:3052615488 M:1674108928   DEBUG: Load /home/xbmc/BG/music/gwenstefani1080b.jpg: 212.6ms
21:32:41 T:3052615488 M:1674092544   DEBUG: Load /home/xbmc/BG/music/avrillavigne1080.jpg: 201.1ms
21:32:59 T:3052615488 M:1682518016   ERROR: GetDelay - snd_pcm_delay, alsa error: -32 - Broken pipe
21:33:02 T:3052615488 M:1682518016   ERROR: GetDelay - snd_pcm_delay, alsa error: -32 - Broken pipe
21:33:03 T:3052615488 M:1674108928   DEBUG: Load /home/xbmc/BG/music/natashabeddingfield1080.jpg: 214.7ms
21:33:04 T:3052615488 M:1674223616   ERROR: GetDelay - snd_pcm_delay, alsa error: -32 - Broken pipe
21:33:05 T:3052615488 M:1674231808   ERROR: GetDelay - snd_pcm_delay, alsa error: -32 - Broken pipe
21:33:06 T:3052615488 M:1682485248   ERROR: GetDelay - snd_pcm_delay, alsa error: -32 - Broken pipe
21:33:08 T:3052615488 M:1682485248   ERROR: GetDelay - snd_pcm_delay, alsa error: -32 - Broken pipe
21:33:09 T:3052615488 M:1682485248   ERROR: GetDelay - snd_pcm_delay, alsa error: -32 - Broken pipe
21:33:10 T:3052615488 M:1682485248   ERROR: GetDelay - snd_pcm_delay, alsa error: -32 - Broken pipe
21:33:11 T:3052615488 M:1682497536   ERROR: GetDelay - snd_pcm_delay, alsa error: -32 - Broken pipe
21:33:13 T:3052615488 M:1682497536   DEBUG: Update - NEW at 222811:00000000800f0419 00 Stop mceusb (Stop)
21:33:13 T:3052615488 M:1682497536   DEBUG: OnKey: 224 pressed, action is 13
21:33:13 T:3022982032 M:1682497536    INFO: PAPlayer: End of playback reached
21:33:13 T:3022982032 M:1682497536   DEBUG: Playback was stopped

I read something about this problem, couldn't find a solution...


Can someone help me out??

Thanks

patrick


- bobb0 - 2009-04-22

Pvt_Ryan gave me a hand with the ctrl-alt-backspace issue so it is now working again, i just need to figure out if there is a way i can map a button combo to that key combo.. Wink

So, i've spent 2 days.. no 3.. days on setting it up the "recommended" style and everything is really good.. except for one thing... it's not responding correctly to my xbox360 controller (why is it not supported out of the boxHuh) axis' (triggers, thumb sticks)

i'm not sure if its the controller or jaunty as i had noticed some differences even before i took on this project. however, that problem was minor compared to this. (previously, the scroll-up function had been performing a bit slower than it used to)

overall, using the recommended method is also very viable, especially if you are interested in having a gui interface to fall back on. for me, i don't think its very necessary as i just ssh into the box from my netbook (just purchased it!!! Smile and make the required changes that way.

i think ultimately, i prefer the minimal install. ugh.. now i am going to have to start over again!! hahaha

ohwell, this xbmc box is my hobby... if i'm not fidding with it in some way then its lost its meaning Smile


- molesza - 2009-04-23

What steps should I take to unpgrade my minimal 8.10 install to 9.04? Or is this not recommended?


- rickx - 2009-04-23

molesza Wrote:What steps should I take to unpgrade my minimal 8.10 install to 9.04? Or is this not recommended?

Huh! Recommended is becoming word of the month here!

Do the following:
put something like
Code:
deb http://it.archive.ubuntu.com/ubuntu jaunty main restricted universe multiverse
deb http://it.archive.ubuntu.com/ubuntu jaunty-updates main restricted universe multiverse
deb http://it.archive.ubuntu.com/ubuntu jaunty-security main restricted universe multiverse
deb-src http://it.archive.ubuntu.com/ubuntu jaunty-updates main restricted universe multiverse
deb-src http://it.archive.ubuntu.com/ubuntu jaunty universe multiverse main restricted
deb-src http://it.archive.ubuntu.com/ubuntu jaunty-security main restricted universe multiverse
inside your /etc/apt/sources.list removing any other content and probably replacing "it" in it.archive... with your country's mirror.
Then
Code:
sudo apt-get update
sudo apt-get dist-upgrade
that makes a minimal 9.04.
If then you really want the RECOMMMMENDED version, also do a
Code:
sudo apt-get install ubuntu-desktop
which will bring some other packages in....gnome in first place. Or try
Code:
apt-cache search ubuntu-desktop
for alternatives.


- Pvt_Ryan - 2009-04-23

I am *fairly* sure I got one of my installs working without GDM, I just installed X I think..

if I ever get my new HTPC built I'll do some in depth testing and configuring on it, but unless someone wants to give me either an ATX case or a mATX case that could be a while..