Archive:Linux FAQ

From Official Kodi Wiki
Revision as of 15:16, 9 April 2009 by >Rwparris2 (typo)
Jump to navigation Jump to search

XBMC for specific FAQs about XBMC running under Linux, Linux computer hardware, and Linux operating-system squestions.

About XBMC for Linux

What is XBMC for Linux?

XBMC (formerly named "XBox Media Center", not to be confused with Microsoft's Windows Media Center Extender for the Xbox) is an award-winning free and open source media player, originally designed to run on the Xbox game-console. The GPL/LGPL licensed source code basically consist of a GUI framework that has been written from scratch by Team-XBMC, this GUI acts as a front-end control interface for several audio/video players designed for specific purposes (and those are loaded when needed as DLLs), the GUI is also the user interface to all of XBMC multimedia handling functions such as databases and sorting, etc.. The XBMC Project, (who's members maintain XBMC source code), is a non-profit open source hobby project that is developed by volunteers in their spare-time without any monetary gain. The team of developers working on XBMC have always encouraged anyone to contrinute to the projecj, this would be helpoing out with this wiki and write HOW-TO guides, help others in the forum, skin XBMC, submit source code patches for new features or functions, improve on existing ones, or fix bugs.

Why port XBMC to Linux?

The main reasons for porting XBMC to Linux are non-technical, (so it is not that the Xbox hardware is too slow orgetting too old for the XBMC GUI or its existing features/functions), no the real reasons for the Team-XBMC developers is that we want XBMC to get a larger end-user and developer-base, because the more people who use XBMC and help maintain the code (and skins) the longer the project will grow and stay alive. The main reason from an end-user point of view is that the Xbox can not playback native high-definition video (at 720p and 1080i/1080p), especially not if the video is encoded with a H.264 or VC-1 codec. Nevertheless, note that the XBMC project will still keep the old Xbox as the primary reference platform for standard-definition resolution video for some time (possibly a few more years), which means that the same GUI (and skins) that runs smooth under Linux on a relatively new computer must also run just as smooth on the old Xbox hardware (or a old computer that closely matches the Xbox hardware, at 733Mhz Intel Pentium III CPU and only 64MB shared memory with supported 3D accelerator).

XBMC for Linux specific features and functions

Where are the UserData folder and the debug log?

See here.

Does XBMC for Linux support Blu-ray or HD DVD playback with or without menus?

No. There is not yet any C/C++ open source software out there yet capable of fully playing back Blu-ray or HD DVD so we can not add the code from somewhere in any case. FFmpeg (the open source codec-suit that XBMC uses) will probably relativly soon be able to decode all audio and video codecs used in both Blu-ray and HD DVD, but even when that happens you still have to get around the DRM encryptions used by the disc formats and there is not yet any C/C++ open source software library capable of that on-the-fly, nither is there any C/C++ open source software library out there capable of displaying Blu-ray or HD DVD menus. XBMC need C/C++ open source software libraries for all of these things to fully support Blu-ray or HD DVD playback.

Linux Operating-System Questions

Which are the supported Linux distributions?

Hardware Questions

What is current recommended hardware requirements for XBMC

For end-users the recommended minimum requirement is a x86-based computer, with a 3D GPU (Graphics Processing Unit) that at least supports Shader Model 3.0 and OpenGL 2.0 (that features 24bpp or 32bpp for 3D hardware-acceleration support, which XBMC GUI need to run smoothly at an acceptable frame-rate). Graphic adapters that support DirectX version 9.0c or later usually meet all of those mentioned requirements, (Team-XBMC recommends NVIDIA GeForce 6150 or later as NVIDIA are currently the manufacturer that offers good device-drivers for Linux (and NVIDIA GeForce 6150 or later supports OpenGL 2.0).

XBMC for Linux minimum requirements

Why is a OpenGL 2.0 compatible graphic-controller the recommended minimum for XBMC?

OpenGL 2.0 is not really the current minimum requirement to run XBMC, as in reality XBMC will today run with only OpenGL 1.4 + GLSL support (everything else has fall-backs to be runned in software on the CPU, slower than GPU hardware though), however to be sure to stay future-proof Team-XBMC have decided that the OpenGL 2.0 is the recommended minimum requirement.

Currently OpenGL 2.0 hardware is only needed for...
  • Any deinterlacing that is not linear blending, (FFmpeg does linear blending in software on the CPU)
  • Video video post-processing filtering (bicubic upscaling, etc.)
  • Non-power of two textures for the GUI (using NPOT saves a lot of texture memory)
  • Hardware accelerated YUV 2 RGB conversion (actually GLSL is needed for this, and a few GPU hardware implementations as low as OpenGL 1.4 does provide GLSL as an extension. OpenGL 2.0 guarantees availability of GLSL).
In the future OpenGL 2.0 might also be needed for...

Troubleshooting

How can I sort out graphic/video issues in XBMC for Linux

Video Device Driver

Most of the problems that you encounter with slow display or OpenGL related errors are because you do not have the proper or outdated display drivers installed.

Begin but install the video drivers the Ubuntu Way
  • For NVIDIA drivers follow the guide here (link)
  • For ATI drivers follow the guide here (link)
  • For Intel it is simpler since the drivers are open source so they are usually already pre-installed. You need to make sure that you use the newer 'intel' driver and not the older 'i810' driver or the 'vesa' driver. This could be verified by checking the 'Driver' value in /etc/X11/xorg.conf.
Alternative is to install the latest drivers using Envy

There is a tool called Envy that helps you setup the proper display drivers. It usually contains the very latest versions of the video drivers. Please follow the guide here (link).

Verify OpenGL support

Once you have your drivers in place, you need to make sure that OpenGL is properly configured. Run the following command:

# glxinfo | grep -i direct

The result should be:

direct rendering: Yes

If the result is "No" it means that the display driver have not been properly configured. Also, you can run the command glxgears and you should see the wheels turning smoothly.

Compiz is not compatible with XBMC

Make sure Compiz visual effects is disabled. You can do this by going to System -> Preferences -> Appearance -> Visual Effects. Make sure "None" is selected.