2013-08-20, 11:00
HOWTO: Get a Modern, Functional XBMC Instance Running on Ancient Intel Technology
What this guide is: the chronology of an attempt - ultimately successful - to get XBMC functional and current on an Intel Springdale graphics set.
For the record, that was one of the more popular integrated graphics sets from the Pentium 4 days.
What this guide is not: a guide to installing Linux, fixing miscellaneous settings, or integrating add-ons.
Disclaimer: This guide is written from the perspective of a live, current installation of Ubuntu 13.04 "Raring Ringtail" for x86 processors.
Many commands should be similar if not identical; if anyone wants to contribute distro equivalents, feel free to do so.
We're going to be doing some work with the Terminal for the sake of brevity; with due caution, you'll find it can be the quickest way to get things done in Linux.
Just watch what you're typing.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Step 1: Adding the XBMC repository.
RECOMMENDED: If you would only like to install the most current stable version, issue this command (followed by Enter):
If you would like to give v13 and newer a shot, noting that things may break severely and often, issue this command:
You can also switch between releases; this will be covered at the end of the "installation" step below.
Step 2: Installing XBMC.
For many of you, this should be old hat by now. You can always get XBMC from your distro's package manager, though they tend to lag behind the main site quite a bit at times.
If you want to stay current:
That complex-looking bit of code updates your local settings to use the repository chosen in Step 1 (above), replaces outdated packages with the latest versions, and installs the latest XBMC specified in that repository.
If you want to switch between releases, you can always do that by slightly modifying the code from Step 1.
Step 3: Testing XBMC.
A number of people will be able to simply start XBMC from the appropriate Applications menu or shortcut, and will have no further value for this guide.
The following directions are only when you start encountering problems.
Step 4a: Resolve screen depth issues.
In my setup, X incorrectly detected my display as only being capable of 15bpp (16-bit color by upstream's definition).
This popped up the dreaded "Screen Resolution too low" dialog, which cannot be resolved through Ubuntu's GUI.
CAUTION: MAKE ABSOLUTELY SURE that your screen supports 24-bit color before proceeding.
Manually overriding the screen depth of an outdated display may permanently ruin your monitor.
Big red text out of the way, you'll want to manually create a new Xorg.conf. In Ubuntu, the old /etc/X11/ directory no longer exists as such, so:
If you're using a remote terminal, as I was, you'll want to replace gedit with nano -w.
Either way, the important bit is that you get a text editor pane opened for that conf file.
Paste the following into it:
Save and exit the text editor.
Step 4b: Make sure your graphics drivers are up-to-date.
NOTE: You will have to reboot following this step.
If you're at all concerned that upgrading your graphics drivers may render your system unusable, skip this step until you can take appropriate backup measures.
If you're confident that your graphics drivers are current enough to handle XBMC, feel free to skip this step and report your results.
When I upgraded to 13.04, my Mesa instances also got bumped up to 9.1.2.
I'm not sure if it was strictly necessary to upgrade my Intel drivers, but I ran the installer just to be on the safe side.
https://01.org/linuxgraphics/downloads has the most recent packages for 32 and 64 bit versions of Ubuntu and Fedora, as well as source packages for everyone else.
Download the appropriate package for your platform. If you're not sure:
Will kick back x86 or x86_64 for 32 or 64 bit, respectively.
Once you have the correct package (Ubuntu or Fedora, respectively):
Then, enter in:
It's not a requirement to run that last bit from the CLI, though it may dump some useful debugging info should something go awry.
Once this step finishes, reboot your system; in my case, I had to reboot twice, then manually select the correct GRUB option (which is a chore on a headless server with no easy access to a keyboard port).
Step 5: Edit the XBMC applications link.
Special thanks to shebi for posting this workaround, and wsnipex for linking to it in a relevant enough thread to catch my attention.
Modify xbmc.desktop to override the standard hardware OpenGL requirement.
Intel open drivers use Mesa for 3D rendering, so this is absolutely required.
Find the first line that reads "Exec=xbmc", change it to read
Save and exit.
Step 6: Final Testing!
Reboot your system.
In my case, I had to first switch login sessions to use GNOME Fallback (No Effects) by logging out from Unity/Ubuntu.
This eliminated interference issues between Unity3D and XBMC.
Once you're back at the desktop, kill any remote sessions you may have opened.
SSH should be fine, but RDP/VNC connections will make the program absolutely unusable.
Launch the program.
Enjoy your media, or report back issues experienced here for further analysis.
Hope this helps!
What this guide is: the chronology of an attempt - ultimately successful - to get XBMC functional and current on an Intel Springdale graphics set.
For the record, that was one of the more popular integrated graphics sets from the Pentium 4 days.
What this guide is not: a guide to installing Linux, fixing miscellaneous settings, or integrating add-ons.
Disclaimer: This guide is written from the perspective of a live, current installation of Ubuntu 13.04 "Raring Ringtail" for x86 processors.
Many commands should be similar if not identical; if anyone wants to contribute distro equivalents, feel free to do so.
We're going to be doing some work with the Terminal for the sake of brevity; with due caution, you'll find it can be the quickest way to get things done in Linux.
Just watch what you're typing.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Step 1: Adding the XBMC repository.
RECOMMENDED: If you would only like to install the most current stable version, issue this command (followed by Enter):
Code:
sudo add-apt-repository ppa:team-xbmc/ppa
If you would like to give v13 and newer a shot, noting that things may break severely and often, issue this command:
Code:
sudo add-apt-repository ppa:team-xbmc/unstable
You can also switch between releases; this will be covered at the end of the "installation" step below.
Step 2: Installing XBMC.
For many of you, this should be old hat by now. You can always get XBMC from your distro's package manager, though they tend to lag behind the main site quite a bit at times.
If you want to stay current:
Code:
sudo apt-get update; sudo apt-get upgrade; sudo apt-get install xbmc xbmc-bin
That complex-looking bit of code updates your local settings to use the repository chosen in Step 1 (above), replaces outdated packages with the latest versions, and installs the latest XBMC specified in that repository.
If you want to switch between releases, you can always do that by slightly modifying the code from Step 1.
Code:
sudo apt-add-repository -r *the repository you used in Step 1*
sudo add-apt-repository *the other repository listed in Step 1*
sudo apt-get remove xbmc xbmc-bin
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install xbmc xbmc-bin
Step 3: Testing XBMC.
A number of people will be able to simply start XBMC from the appropriate Applications menu or shortcut, and will have no further value for this guide.
The following directions are only when you start encountering problems.
Step 4a: Resolve screen depth issues.
In my setup, X incorrectly detected my display as only being capable of 15bpp (16-bit color by upstream's definition).
This popped up the dreaded "Screen Resolution too low" dialog, which cannot be resolved through Ubuntu's GUI.
CAUTION: MAKE ABSOLUTELY SURE that your screen supports 24-bit color before proceeding.
Manually overriding the screen depth of an outdated display may permanently ruin your monitor.
Big red text out of the way, you'll want to manually create a new Xorg.conf. In Ubuntu, the old /etc/X11/ directory no longer exists as such, so:
Code:
sudo gedit /usr/share/X11/xorg.conf.d/00-xorg.conf
If you're using a remote terminal, as I was, you'll want to replace gedit with nano -w.
Either way, the important bit is that you get a text editor pane opened for that conf file.
Paste the following into it:
Code:
Section "Device"
Identifier "Configured Video Device"
EndSection
Section "Monitor"
Identifier "Configured Monitor"
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
DefaultDepth 24
EndSection
Save and exit the text editor.
Step 4b: Make sure your graphics drivers are up-to-date.
NOTE: You will have to reboot following this step.
If you're at all concerned that upgrading your graphics drivers may render your system unusable, skip this step until you can take appropriate backup measures.
If you're confident that your graphics drivers are current enough to handle XBMC, feel free to skip this step and report your results.
When I upgraded to 13.04, my Mesa instances also got bumped up to 9.1.2.
I'm not sure if it was strictly necessary to upgrade my Intel drivers, but I ran the installer just to be on the safe side.
https://01.org/linuxgraphics/downloads has the most recent packages for 32 and 64 bit versions of Ubuntu and Fedora, as well as source packages for everyone else.
Download the appropriate package for your platform. If you're not sure:
Code:
lscpu | grep Arch
Once you have the correct package (Ubuntu or Fedora, respectively):
Code:
sudo dpkg -i intel-linux-graphics*
Code:
sudo rpm -i intel-linux-graphics*
Then, enter in:
Code:
sudo intel-linux-graphics-installer
It's not a requirement to run that last bit from the CLI, though it may dump some useful debugging info should something go awry.
Once this step finishes, reboot your system; in my case, I had to reboot twice, then manually select the correct GRUB option (which is a chore on a headless server with no easy access to a keyboard port).
Step 5: Edit the XBMC applications link.
Special thanks to shebi for posting this workaround, and wsnipex for linking to it in a relevant enough thread to catch my attention.
Modify xbmc.desktop to override the standard hardware OpenGL requirement.
Intel open drivers use Mesa for 3D rendering, so this is absolutely required.
Code:
sudo gedit /usr/share/applications/xbmc.desktop
Find the first line that reads "Exec=xbmc", change it to read
Code:
Exec=sh -c "MESA_GL_VERSION_OVERRIDE=3.0 xbmc"
Save and exit.
Step 6: Final Testing!
Reboot your system.
In my case, I had to first switch login sessions to use GNOME Fallback (No Effects) by logging out from Unity/Ubuntu.
This eliminated interference issues between Unity3D and XBMC.
Once you're back at the desktop, kill any remote sessions you may have opened.
SSH should be fine, but RDP/VNC connections will make the program absolutely unusable.
Launch the program.
Enjoy your media, or report back issues experienced here for further analysis.
Hope this helps!