[Intel-gfx] opengl acceleration on intel 945gm with virtual screen size > 2048

Mateusz Jasiński matt1606 at gmail.com
Tue Dec 22 16:04:02 CET 2009


Hello,

I'm rather searching for a problem resolution. I'm running debian sid and a 
custom built linux-2.6.32 krenel with built-in drm_i915 driver for my intel 
945gm integrated graphics controller. While everything was working correctly 
on single monitor setup with DRI, I've connected a second monitor. My setup 
was: LVDS1 1280x800 and VGA1 1024x768.

I've set up dual screen mode using 'xrandr --output LVDS1 --auto --output VGA1 
--auto --right-of LVDS1' command. After this my opengl accelerated compositing 
effects (KDE4.3.4) were gone. I've investigated the case and found that the 
GL_MAX_TEXTURE_SIZE = 2048 was causing the problem since my virtual monitor 
size exceeds 2048 pixel dimension. But since drm_i915 in 2.6.32 is able to 
display 4096x4096 max texture size reported by xrandr: 

	Screen 0: minimum 320 x 200, current 1280 x 800, maximum 4096 x 4096

I've manually patched and compiled the xorg-video-intel and mesa package to be 
enable the 4096 texture size.

In xorg-video-intel it was:

src/i915_render.c @187
- if ((w > 2048) || (h > 2048))
+ if ((w > 4096) || (h > 4096))

In mesa it was:

src/mesa/drivers/dri/i915/i915_context.c @197
-  ctx->Const.MaxTextureLevels = 12;
+ ctx->Const.MaxTextureLevels = 13;
   ctx->Const.Max3DTextureLevels = 9;
   ctx->Const.MaxCubeTextureLevels = 12;
- ctx->Const.MaxTextureRectSize = (1 << 11);
+ ctx->Const.MaxTextureRectSize = (1 << 12);
   ctx->Const.MaxTextureUnits = I915_TEX_UNITS;

After recompiling and installing the packages in glxinfo I've got:

	GL_MAX_TEXTURE_SIZE = 4096

So I've tried to run my dual screen setup.
Without opengl desktop effects everything is wirking like before patching.
When I turn on the opengl rendering on dual screen I've get black screen on 
both monitors with only moveable cursor. The resolutions are set correctly 
(noiced this while observing the cursor size). In dmesg I get:

[drm] DAC-6: set mode  1e
[drm:i915_hangcheck_elapsed] ERROR Hangcheck timer elapsed... GPU hung
render error detected, EIR: 0x00000000
i915: Waking up sleeping processes
reboot required
[drm:i915_gem_execbuffer] ERROR Execbuf while wedged
[drm:i915_gem_execbuffer] ERROR Execbuf while wedged

Is there a possible resolution of this problem? Since dmesg is reporting an 
error in the kernel drm_i915 driver?

I've sometimes observed the same error on single monitor setup earlier during 
linux 2.6.31 and 2.6.32 developement cycle.

To sum up: all I want to achieve is to have dual screen setup with dri and 
opengl acceleration on intel 945gm with virtual screen size > 2048.

Versions of my xorg and mesa packages are:

xserver-xorg-video-intel   2:2.9.1-1
xserver-xorg               1:7.4+4
xserver-xorg-core          2:1.6.5-1
libgl1-mesa-dri            7.6.1~rc3-1
libgl1-mesa-glx            7.6.1~rc3-1
libglu1-mesa               7.6.1~rc3-1

I'm attaching my dmesg.log, Xorg.0.log files.

Thanks in advance for any help in this matter.

Regards,
 Mateusz Jasiński
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dmesg.log
Type: text/x-log
Size: 63099 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20091222/05ca54ae/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Xorg.0.log
Type: text/x-log
Size: 29690 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20091222/05ca54ae/attachment-0001.bin>


More information about the Intel-gfx mailing list