Linux [FIXED] xbmc 12 fails to start on intel i845G debian sid
#1
Problem is xbmc 12 [all versions] crashes immediately upon startup on intel i845G [yea, I know it's old].

v11 works fine!

This happens on 2 intel GPU systems here [1 desktop, 1 laptop] but does not happen on a much newer ATI GPU machine where xbmc 12 works well.

I believe problem rests somewhere between xbmc 12 and opengl.

Terminal shows:
Quote:xbmc.bin: swrast/s_renderbuffer.c:588: map_attachment: Assertion `srb->Map' failed.

xbmc crashlog error shows:
Quote:ERROR: ResetRenderSystem() GL_MAX_TEXTURE_IMAGE_UNITS_ARB returned error 1280

Crash occurs even if I nuke my ~/.xbmc directory so I know it's not plugin related.

xbmc 12 will start if I first force opengl to always use software accelleration by issuing
Code:
export LIBGL_ALWAYS_SOFTWARE=1
prior to starting xbmc, but it runs terribly slow.

I know intel i845G is old....and not supported, but I am able to play 720p on this old POS and would like to continue to use it if possible.

System Info:
Quote:inxi -F
System: Host: HPa210n Kernel: 3.7.0-1.dmz.2-liquorix-686 i686 (32 bit)
Desktop: Xfce 4.8.3 Distro: aptosid 2011-02 Ἡμέρα - xfce - (201107131632)
Machine: System: HP Pavilion 061 product: DF210A-ABA a210n version: 05+1211RE101GLEND10
Mobo: TriGem model: Glendale motherboard Bios: Phoenix version: 6.00 date: 04/25/2003
CPU: Single core Intel Celeron CPU (-UP-) cache: 128 KB flags: (sse sse2) clocked at 2491.864 MHz
Graphics: Card: Intel 82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device
X.Org: 1.12.4 drivers: intel (unloaded: fbdev,vesa) Resolution: [email protected]
GLX Renderer: Mesa DRI Intel 845G x86/MMX/SSE2 GLX Version: 1.3 Mesa 8.0.5
Audio: Card-1: Intel 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller driver: snd_intel8x0
Card-2: Texas Instruments Japan Speakers driver: USB Audio
Sound: Advanced Linux Sound Architecture ver: k3.7.0-1.dmz.2-liquorix-686
Network: Card-1: Realtek RTL-8139/8139C/8139C+ driver: 8139too
IF: eth0 state: down mac: 00:40:2b:63:e0:50
Card-2: Realtek RTL8187 Wireless Adapter driver: rtl8187
IF: wlan0 state: up mac: 00:e0:4c:04:37:19
Drives: HDD Total Size: 280.1GB (3.1% used) 1: id: /dev/sda model: WDC_WD800JB size: 80.0GB
2: id: /dev/sdb model: WDC_WD2000JB size: 200.0GB
Partition: ID: / size: 11G used: 5.1G (51%) fs: ext3 ID: /home size: 11G used: 1.9G (20%) fs: ext3
ID: swap-1 size: 2.09GB used: 0.06GB (3%) fs: swap
Sensors: None detected - is lm-sensors installed and configured?
Info: Processes: 138 Uptime: 2 days Memory: 278.6/492.0MB Client: Shell (bash) inxi: 1.8.26


Any ideas?
Or should I file a bug report?

Thanks in advance,
The Garage
Reply
#2
only thing that comes to mind it trying a newer mesa and intel driver version.
Reply
#3
Installed newer intel driver from debian experimental [2.20.14-1]. Did not improve situation. I think problem lies with mesa and 3d rendering [DRI]. Only thing that crashes is xbmc 12 frodo, all versions...........hmmmm. I'm thinking problen is with xbmc?

any ideas?
Reply
#4
I have the same hardware and the same problem since installing Frodo. The frustrating thing is, it worked pretty well under Eden. I can get into XBMCbuntu no problems, but not XBMC itself.
Reply
#5
did you also update mesa?
Reply
#6
Same problem but with sis chipset i think.
http://forum.xbmc.org/showthread.php?tid...pid1350270
Reply
#7
No newer libgl1-mesa-glx package in debian experimental.

I have this installed.

$ apt-cache policy libgl1-mesa-glx
libgl1-mesa-glx:
Installed: 8.0.5-3
Candidate: 8.0.5-3
Version table:
*** 8.0.5-3 0
500 http://ftp.us.debian.org/debian/ sid/main i386 Packages
100 /var/lib/dpkg/status

(2013-01-25, 12:09)dogscoff Wrote: I have the same hardware and the same problem since installing Frodo. The frustrating thing is, it worked pretty well under Eden. I can get into XBMCbuntu no problems, but not XBMC itself.


Yes! Agreed! Same hardware worked VERY well under Eden. [still does actually, but it will soon disappear from the debian sid repo.]
Reply
#8
Newer mesa packages came into Deb Sid yesterday..........still no joy. Crashes as before........

Commit Log for Thu Mar 14 14:35:47 2013

Upgraded the following packages:
libegl1-mesa (8.0.5-3) to 8.0.5-4
libgbm1 (8.0.5-3) to 8.0.5-4
libgl1-mesa-dev (8.0.5-3) to 8.0.5-4
libgl1-mesa-dri (8.0.5-3) to 8.0.5-4
libgl1-mesa-dri-experimental (8.0.5-3) to 8.0.5-4
libgl1-mesa-glx (8.0.5-3) to 8.0.5-4
libglapi-mesa (8.0.5-3) to 8.0.5-4
libglu1-mesa (8.0.5-3) to 8.0.5-4
libglu1-mesa-dev (8.0.5-3) to 8.0.5-4
mesa-common-dev (8.0.5-3) to 8.0.5-4
Reply
#9
Really the problem is with 12.10 version or with FRODO? I reinstalled lubuntu 12.04, can i install FRODO?
Reply
#10
the problem could be too low gfx memory.
Reply
#11
I'm getting this same error on a Radeon RV200 chipset. I'm not a C++ or OpenGL developer, but I did some digging to see if I could narrow down what might be causing the issue. First, the error is getting tripped in ./xbmc/rendering/gl/RenderSystemGL.cpp at line 205:

Code:
// lines 201 - 207
    //some sanity checks
    GLenum error = glGetError();
    if (error != GL_NO_ERROR)
    {
      CLog::Log(LOGERROR, "ResetRenderSystem() GL_MAX_TEXTURE_IMAGE_UNITS_ARB returned error %i", (int)error);
      maxtex = 3;
    }

According to this thread, error 1280 is GL_INVALID_ENUM. Based on my various Google searches, it might actually be safe to ignore it.

http://stackoverflow.com/questions/10857...o-glewinit

It's obvious that this is affecting old hardware, but isn't that what Linux media projects are for? Big Grin

UPDATE: I filed a bug report in Trac with as much information as I have. I'm trying to hack around the bug on my own, but I'm hampered by a very slow compile process and an extreme lack of knowledge in Linux app development. :O
Reply
#12
After finding out my Galaxy Nexus wasn't quite up to the task, I went to my old PC pile and pulled out a Celeron D with a GeForce2 MX 400 (NVIDIA Corporation NV11 [GeForce2 MX/MX 400] [10de:0110] (rev b2)).

I'm getting the same error + segfault as others under Lubuntu 13.04 w/XBMC 12.2 and OpenELEC 3.0.2 (except OpenELEC doesn't log anything beyond "Checking resolution 16") using nouveau driver
Code:
03:48:10 T:3037484800  NOTICE: Setup SDL
03:48:10 T:3037484800  NOTICE: Checking resolution 16
03:48:11 T:3037484800  NOTICE: Using visual 0xe9
03:48:11 T:3037484800  NOTICE: GL_VENDOR = Nouveau
03:48:11 T:3037484800  NOTICE: GL_RENDERER = Mesa DRI nv11 x86/MMX/SSE2
03:48:11 T:3037484800  NOTICE: GL_VERSION = 1.2 Mesa 9.1.1
03:48:11 T:3037484800  NOTICE: GL_SHADING_LANGUAGE_VERSION = NULL
03:48:11 T:3037484800  NOTICE: GL_EXTENSIONS = GL_ARB_multisample GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_copy_texture GL_EXT_polygon_offset GL_EXT_subtexture GL_EXT_texture_object GL_EXT_vertex_array GL_EXT_compiled_vertex_array GL_EXT_texture GL_EXT_texture3D GL_IBM_rasterpos_clip GL_EXT_draw_range_elements GL_EXT_packed_pixels GL_EXT_rescale_normal GL_EXT_separate_specular_color GL_EXT_texture_edge_clamp GL_SGIS_generate_mipmap GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_ARB_multitexture GL_IBM_multimode_draw_arrays GL_IBM_texture_mirrored_repeat GL_ARB_texture_env_add GL_ARB_transpose_matrix GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_secondary_color GL_EXT_texture_env_add GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_NV_blend_square GL_NV_light_max_exponent GL_NV_texgen_reflection GL_NV_texture_env_combine4 GL_SUN_multi_draw_arrays GL_ARB_texture_compression GL_EXT_framebuffer_object GL_EXT_texture_env_combine GL_MESA_window_pos GL_NV_packed_depth_stencil GL_NV_texture_rectangle GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_ARB_window_pos GL_NV_fog_distance GL_APPLE_packed_pixels GL_APPLE_vertex_array_object GL_ARB_draw_buffers GL_ATI_draw_buffers GL_EXT_stencil_wrap GL_ARB_vertex_buffer_object GL_OES_read_format GL_ARB_texture_rectangle GL_EXT_texture_rectangle GL_EXT_framebuffer_blit GL_EXT_packed_depth_stencil GL_ARB_vertex_array_object GL_ARB_copy_buffer GL_ARB_debug_output GL_ARB_sampler_objects GL_ARB_robustness GL_ARB_invalidate_subdata
03:48:11 T:3037484800   ERROR: GLX: Same window as before, refreshing context
03:48:11 T:3037484800   ERROR: ResetRenderSystem() GL_MAX_TEXTURE_IMAGE_UNITS_ARB returned error 1280
Full crashlog here.

Edit: Downgraded Lubuntu to 12.04, switched to nvidia-96 LKMS driver package... hey presto, XBMC doesn't bitch anymore. Problem is, however, that 12.04 is the last version of Ubuntu that ships a version of Xorg with an nvidia compatible ABI for older Nvidia cards... and this won't work for non-Nvidia users..
Reply
#13
12.04 is an lts release so has plenty of life in it. But your hardware is ancient and you can't expect it to be supported forever.
Reply
#14
Workaround Found! Not ideal, but at least it works!

1. Start XBMC without GL video accelleration. On my debian sid xfce4.8 box I edited /usr/share/applications/xbmc.desktop. Change the Exec line to:

Code:
Exec=sh -c "LIBGL_ALWAYS_SOFTWARE=y xbmc"

The GUI will be slow, but useable. Works best if you disable mouse support.

2. Set up XBMC to play all video in an External Player using playercorefactory.xml.
Install VLC.

Code:
apt-get install vlc

Create file playercorefactory.xml in ~/.xbmc/userdata . Paste the following into playercorefactory.xml.

Code:
<playercorefactory>
<players>
   <player name="VLC" type="ExternalPlayer" audio="false" video="true">
     <filename>/usr/bin/vlc</filename>
     <args> --fullscreen --play-and-exit "{1}"</args>
     <hidexbmc>true</hidexbmc>
     <hideconsole>false</hideconsole>
     <warpcursor>none</warpcursor>
   </player>
</players>
<rules action="append">
  <rule video="true" player="VLC">
</rule>
</rules>
</playercorefactory>

Tip: Make sure you do not have a file "advancedsettings.xml" in ~/.xbmc/userdata or the playercorefactory.xml file will be ignored!


3. If you are going to play sources streamed from online you should probably edit vlc settings to increase buffer time as standard settings are very short. Launch VLC. Go to Tools>Preferences click "all" in the bottom left corner then select Input/Codecs from the list on the left. Scroll down on the right to the "Advanced" section & select the line "network caching (ms). Change the value to something like 30000. [for 30 seconds of buffering, more if you'd like.] Click Save button on bottom right & close vlc.

What will happen:
1. XBMC will start, without crashing, but the gui is a bit slow. Select your video. When stream starts coming in xbmc will "hide". Give it a bit & VLC will open & begin playing your video fullscreen, WITH hardware accelleration! The amber color line in the bottom vlc controls bar shows buffering progress. When the video ends, or you close vlc, xbmc will reappear allowing you to continue.

Conclusion: It appears that the only thing crashing xbmc on these old intel cards is the xbmc gui, not GL accelleration when playing videos....as they work with both vlc & mplayer used as external players. I would still like to hope that xbmc could be fixed, but until then hopefully this workaround will help others.
Reply
#15
Another workaround that "might help" in this case is:

Code:
Exec=sh -c "MESA_GL_VERSION_OVERRIDE=3.0 xbmc"

Given you have some of the lastest Mesa builds...
Reply

Logout Mark Read Team Forum Stats Members Help
[FIXED] xbmc 12 fails to start on intel i845G debian sid0