Bug 21262

Summary: xbmc not working with opensource radeon driver in ubuntu jaunty
Product: xorg Reporter: Dominic Evans <oldmanuk>
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED DUPLICATE QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Dominic Evans 2009-04-17 14:52:35 UTC
Binary package hint: xserver-xorg-video-ati

already raised upstream with xbmc at http://trac.xbmc.org/ticket/6382 and downstream with ubuntu at https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/363139

Ubuntu 9.04

xbmc 9.04~alpha1svn19419-jaunty1
xserver-xorg 7.4~5ubuntu18

tested with xserver-xorg-video-radeon, including the default 1:6.12.1-0ubuntu2 shipped with jaunty and a git compiled version 6.12.2.99+git20090415.5abcea88-0ubuntu0tormod2, both fail with the same problem:

$ xbmc
X Error of failed request: BadMatch (invalid parameter attributes)

    Major opcode of failed request: 1 (X_CreateWindow)
    Serial number of failed request: 28
    Current serial number in output stream: 29

CRITSEC[0x8bea684]: Trying to enter destroyed section.
CRITSEC[0x8bea684]: Trying to leave destroyed section.

I don't know if this backtrace is useful but if I try the following workaround (which was suggested elsewhere) I get a segfault:

$ XLIB_SKIP_ARGB_VISUALS=1 gdb /usr/share/xbmc/xbmc.bin
...
(gdb) bt
#0 0xb777ce26 in glClearColor () from /usr/lib/libGL.so.1
#1 0x0821075b in CGraphicContext::SetVideoResolution (this=0x8bea680, res=@0x8beb7a0, NeedZ=1, forceClear=true) at GraphicContext.cpp:792
#2 0x082e4a05 in CApplication::Create (this=0x8bec4a0, hWnd=0x0) at Application.cpp:849
#3 0x0853e5ee in main (argc=1, argv=0xbfd7a8d4) at xbmc.cpp:125

full xbmc debug log is here http://paste.ubuntu.com/152489/

nothing much interesting in it though apart from these lines:

01:31:38 T:3066156912 M:1433460736 INFO: XRANDR: /usr/share/xbmc/xbmc-xrandr --output LVDS --mode 0x4e
01:31:38 T:3066156912 M:1434112000 DEBUG: Constructing surface 1280x720, shared=(nil), fullscreen=0
01:31:38 T:3066156912 M:1434112000 INFO: GLX Info: NOT Using destination window
01:31:38 T:3066156912 M:1433858048 INFO: GLX Info: Using parent window
01:31:38 T:3066156912 M:1433513984 ERROR: (pthread_mutex_destroy(&m_mutex)): [XCriticalSection.cpp:86] 16

ProblemType: Bug
Architecture: i386
DistroRelease: Ubuntu 9.04
Package: xserver-xorg-video-radeon 1:6.12.2.99+git20090415.5abcea88-0ubuntu0tormod2
ProcEnviron:
 SHELL=/bin/bash
 PATH=(custom, user)
 LANG=en_GB.UTF-8
ProcVersion: Linux version 2.6.28-11-generic (buildd@rothera) (gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4) ) #41-Ubuntu SMP Wed Apr 8 04:38:53 UTC 2009
SourcePackage: xserver-xorg-video-ati
Uname: Linux 2.6.28-11-generic i686
UnreportableReason: This is not a genuine Ubuntu package
Comment 1 Alex Deucher 2009-04-17 16:56:48 UTC

*** This bug has been marked as a duplicate of bug 21145 ***
Comment 2 Andreas Setterlind 2009-04-19 02:59:55 UTC
This is not a XBMC bug; XBMC requires full 3D OpenGL 1.4 with GLSL and ARB support, the open source radeon driver does simply not support that yet.

Read:
http://xbmc.org/wiki/?title=XBMC_for_Linux_specific_FAQ#XBMC_for_Linux_minimum_requirements
and:
http://xbmc.org/wiki/?title=XBMC_for_Linux_specific_FAQ#Why_is_a_OpenGL_2.0_compatible_graphic-controller_the_recommended_minimum_for_XBMC.3F
as well as:
http://xbmc.org/wiki/?title=XBMC_for_Linux_specific_FAQ#Currently_OpenGL_2.0_hardware_is_only_needed_for.../

So until the open source radeon driver supports full 3D OpenGL 1.4 with GLSL and ARB support, you need to use the latest ATI restricted driver (meaning the closed source binary driver from ATI). You can follow these instructions for help on installing the latest restricted drivers:
http://xbmc.org/wiki/?title=XBMC_for_Linux_specific_FAQ#How_can_I_sort_out_graphic.2Fvideo_issues_in_XBMC_for_Linux

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.