Archive:Windows FAQ: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>Dandar3
(Use %APPDATA% environment variable on Windows (generic))
>Fowie
No edit summary
Line 97: Line 97:
:When starting XBMC on Windows startup it can be that some sub services weren't started when XBMC is up. To delay XBMC just add the parameter -d X with X equal to the startup delay in seconds.
:When starting XBMC on Windows startup it can be that some sub services weren't started when XBMC is up. To delay XBMC just add the parameter -d X with X equal to the startup delay in seconds.


==Does XBMC for Windows support Blu-ray or HD DVD playback with or without menus?==
=== Does XBMC for Windows 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. [http://www.ffmpeg.org 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.
: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. [http://www.ffmpeg.org 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.
=== Why does XBMC use x% CPU usage while sitting idle? ===
:XBMC was originally written for the XBox game console, which is a single-threaded system (not a multi-tasking OS like Windows).  As such, it was written in a game loop, rather than being event-driven.  This means that the screen refreshes as fast as possible in order to "feel" responsive to the user.  What this boils down to is that while sitting on the idle screen, XBMC is still repainting the screen at 60-90 frames per second (as can be seen by the FPS number if debug mode is enabled).  This takes up a lot of processor power, because the "game" is still running, even though you may not be doing anything with it.
:There are currently no intentions to change this, as it is a very low-level change of the entire XBMC platform.  A few workarounds do exist though:
* Enable the "blank" screensaver.  This puts XBMC into a low FPS mode which uses much fewer resources.
* Set an Idle timeout.  In the PM3-HD skin, under Settings > System > Hardware there is the option to enable a "Shutdown function timer" and a "Shutdown function".  The timer only counts down when media is not playing (it's not based on mouse movement like a typical screensaver).  Setting the timer to something like 5 minutes, and the function to "Quit" will quit XBMC if no media has played for 5 minutes.  It is also easy to use EventGhost or a similar application to register a remote button (or an Un-Idle event) to re-start XBMC.


[[Category:FAQ]]
[[Category:FAQ]]

Revision as of 18:32, 20 October 2009

Template:XBMC faq toc Inline

XBMC for specific FAQs about XBMC running under Windows, Windows computer hardware, and Windows operating-system questions.

What Win32 ports are available ?

There are two existing Windows ports of XBMC
  • XBMC.exe (build from the linux branch, using SDL/OpenGL)
  • XBMC_PC.exe (build from the xbox trunk, using DirectX)

About XBMC.exe (SDL/OpenGL)

The SDL version is the Windows future of XBMC. The codebase is under development and is the base for the Linux, MacOSX and Windows ports. This FAQ will ONLY deal with the SDL version!
Note: The SDL win32 port still needs DirectX for the audio processing.

About XBMC_PC.exe (DirectX)

The DirectX version is only for skin and python development. You won't get support for it since it is only adapted to reflect the skin and python changes.

Where do I get XBMC for Windows?

The latest stable version can be found on sourceforge:
However since the svn is updated almost daily we recommend to use a community build of the latest svn:
Automatic Update Client for XBMC Community Builds:

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 Windows 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.3 + 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.3 does provide GLSL as an extension. OpenGL 2.0 guarantees availability of GLSL).
In the future OpenGL 2.0 might also be needed for...

How to install XBMC for Windows (SDL/OpenGL)?

XBMC for Windows is still in experimental stage, there are however install packages available for easy installation.
XBMC doesn't depend on video or audio codecs on the system. Everything is installed in the XBMC directory ONLY. Only some user specific stuff (XML, cache, etc) goes to the users profile directory.

Where is user specific data stored?

All user-specific data is stored in in the XBMC home directory which, for a standard installation, is found in your windows users' application data directory, which is %APPDATA%\XBMC\. The UserData Folder, where your settings, thumbs and library files are stored is located in the UserData folder within this directory. Similarly, skins, plugins and scripts should be installed by the user into this directory.
XBMC will not alter this directory on an upgrade, so your data will remain safe between upgrades of XBMC.

Can XBMC be run in portable mode?

If you wish, you may run XBMC in portable mode by adding the -p switch to the shortcut used to launch XBMC. This will then use the XBMC folder itself as the Home folder, which means scripts, plugins, skins and userdata will be located within the XBMC folder. This is useful for running XBMC for Windows off a USB stick for portability.
You will, however, have to be careful when upgrading to make sure that the UserData/ folder you use is not overwritten.

Where is the log file located?

The log file (xbmc.log) is located in the users writable directory, which by default resides in %APPDATA%\XBMC\. If XBMC is started in portable mode, the log file will be created in the XBMC folder itself.

What is the best way to post logs?

Take the xbmc.log from the appropriate XBMC UserData directory (see above, make sure it's a debug log and ) and upload it to http://pastebin.com/ for example. Post the pastebin link instead of the content into the support forum.

How can I switch XBMC to full screen?

Start XBMC.exe with -fs or create the advancedsettings.xml file in userdata with <fullscreen>true</fullscreen>.

What are the recent changes?

All changes to the repository can be seen on our XBMC Tracker
Note: branches/linuxport/XBMC/ is the repository for the Linux, MacOSX and Win32 port. trunk/ belongs to the Xbox repository.

What is the current development platform ?

We currently develop under Windows XP SP3 with Visual Studio 2008. VS2003 project files are still available and updated in svn.

Why is my video screen smaller than my desktop in full screen?

We're still early alpha. Try to set the XBMC video resolution to your current desktop resolution.

Why does XBMC exit unexpectedly when it's starting?

The most common problem is the lack of working OpenGL drivers. Most Windows installations use the Microsoft generic OpenGL driver which doesn't support the extensions and hardware acceleration we need. Check for newer drivers from you vendor, especially if you have the following entries in your xbmc.log:
  • INFO: GL_VENDOR = Microsoft Corporation
  • INFO: GL_RENDERER = GDI Generic
  • INFO: GL_VERSION = 1.1.0

Can I start XBMC with a delay of X seconds?

When starting XBMC on Windows startup it can be that some sub services weren't started when XBMC is up. To delay XBMC just add the parameter -d X with X equal to the startup delay in seconds.

Does XBMC for Windows 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.

Why does XBMC use x% CPU usage while sitting idle?

XBMC was originally written for the XBox game console, which is a single-threaded system (not a multi-tasking OS like Windows). As such, it was written in a game loop, rather than being event-driven. This means that the screen refreshes as fast as possible in order to "feel" responsive to the user. What this boils down to is that while sitting on the idle screen, XBMC is still repainting the screen at 60-90 frames per second (as can be seen by the FPS number if debug mode is enabled). This takes up a lot of processor power, because the "game" is still running, even though you may not be doing anything with it.
There are currently no intentions to change this, as it is a very low-level change of the entire XBMC platform. A few workarounds do exist though:
  • Enable the "blank" screensaver. This puts XBMC into a low FPS mode which uses much fewer resources.
  • Set an Idle timeout. In the PM3-HD skin, under Settings > System > Hardware there is the option to enable a "Shutdown function timer" and a "Shutdown function". The timer only counts down when media is not playing (it's not based on mouse movement like a typical screensaver). Setting the timer to something like 5 minutes, and the function to "Quit" will quit XBMC if no media has played for 5 minutes. It is also easy to use EventGhost or a similar application to register a remote button (or an Un-Idle event) to re-start XBMC.