Bug 38642

Summary: [SNB] mesa 7.11: missing characters in text display of freedroid rpg
Product: Mesa Reporter: Martin Steigerwald <Martin>
Component: Drivers/DRI/i915Assignee: Chris Wilson <chris>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: jbarnes, kibi
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
URL: http://bugs.debian.org/631516
Whiteboard:
i915 platform: i915 features:
Attachments: screenshot showing those missing characters

Description Martin Steigerwald 2011-06-24 07:08:10 UTC
With mesa 7.11~0-2 from Debian experimental I have missing characters in text display of freedroidrpg 0.14.1-1 on my ThinkPad T520 with SandyBridge graphics. I attach a screen shot. It doesn´t matter whether I play the game in full screen or not. I see nothing obvious in dmesg, syslog, ~/.xsession-errors or Xorg log.

When I downgrade to 7.10.3-3 all characters are shown.

Packages in use (now with 7.10 mesa again):

martin@merkaba:~> apt-show-versions | egrep "(xserver-xorg-core|mesa|drm)"
libdrm-intel1/sid uptodate 2.4.25-3
libdrm-radeon1/sid uptodate 2.4.25-3
libdrm2/sid uptodate 2.4.25-3
libgl1-mesa-dev/sid uptodate 7.10.3-3
libgl1-mesa-dri/sid uptodate 7.10.3-3
libgl1-mesa-glx/sid uptodate 7.10.3-3
libglu1-mesa/sid uptodate 7.10.3-3
libglu1-mesa-dev/sid uptodate 7.10.3-3
mesa-common-dev/sid uptodate 7.10.3-3
mesa-utils/sid uptodate 8.0.1-2
xserver-xorg-core/sid uptodate 2:1.10.2-2
martin@merkaba:~> lspci -nn | grep VGA
00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0126] (rev 09)

Kernel in use:

martin@merkaba:~> cat /proc/version 
Linux version 3.0.0-rc4-amd64 (Debian 3.0.0~rc4-1~experimental.1) (maks@debian.org) (gcc version 4.4.6 (Debian 4.4.6-6) ) #1 SMP Tue Jun 21 13:22:03 UTC 2011

(which fixes freezes in supertuxkart 0.7 played fullscreen all 10-15 seconds that I still had with 3.0.0-rc3, Debian changelog hinted at that - yeah and thanks ;)

Graphics in use:

martin@merkaba:~> lspci -nn | grep VGA
00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0126] (rev 09)
Comment 1 Martin Steigerwald 2011-06-24 07:11:13 UTC
Created attachment 48382 [details]
screenshot showing those missing characters
Comment 2 Cyril Brulebois 2011-06-24 07:42:25 UTC
Adding the link to Debian bug #631516 as URL for this bug report (http://bugs.debian.org/631516).
Comment 3 Martin Steigerwald 2011-06-24 07:43:57 UTC
Said debian package is:

* New upstream snapshot, from the master branch (up to 2fe39b46e7).

(wanted to add debian bug link in that moment too, but you did already, Cyril;-).
Comment 4 Chris Wilson 2011-06-25 14:28:00 UTC
commit a5a36d9b158a317daa1cf10a6b6ed2bed6b22750
Author: Eric Anholt <eric@anholt.net>
Date:   Fri Jun 10 20:19:01 2011 -0700

    i965: Don't try to continue space before the start of a VBO.
    
    This loop is trying to see if all the buffers to be uploaded happen to
    be the same increment from the start of the 3DSTATE_VERTEX_BUFFERS
    currently loaded in the hardware.  However, we might be at a smaller
    offset than the previous set of VERTEX_BUFFERS, so we can't reuse
    because that packet made the first entry be its starting offset (you
    can't access outside the given bounds).
    
    Fixes piglit ARB_vertex_buffer_object/elements-negative-offset.
Comment 5 Gordon Jin 2011-06-26 17:40:35 UTC
(correcting component)
Comment 6 Martin Steigerwald 2011-06-27 00:59:41 UTC
According to module list it is i915, not i965. Thanks to the Debian maintainer Cyril I will be getting an mesa package with just this commit cherry-picked soon and test the fix then.
Comment 7 Martin Steigerwald 2011-06-27 01:02:43 UTC
Changed back to i965 to have it assigned to Chris Wilson again. Sorry for noise.
Comment 8 Martin Steigerwald 2011-06-27 01:04:37 UTC
I give up to understand bugzilla. Now its i915 and Chris Wilson set manually.
Comment 9 Gordon Jin 2011-06-27 01:30:52 UTC
(In reply to comment #6)
> According to module list it is i915, not i965. 

just curious what's the module name for i915?
The Mesa DRI driver for SNB should be i965.
There's a kernel module named i915.
Comment 10 Martin Steigerwald 2011-06-27 02:35:18 UTC
Well I do have two apparently different drivers:

merkaba:~> ls -l $(dpkg -L libgl1-mesa-dri | grep i9)
-rw-r--r-- 1 root root 3449304 19. Jun 17:47 /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
-rw-r--r-- 1 root root 3678488 19. Jun 17:47 /usr/lib/x86_64-linux-gnu/dri/i965_dri.so

Anyway, I leave that to the experts now to decide ;).
Comment 11 Martin Steigerwald 2011-06-27 02:36:53 UTC
Sorry I forgot: i915 is the module name according to lsmod.
Comment 12 Martin Steigerwald 2011-06-27 06:26:43 UTC
Fix confirmed. All characters of the text are visible again.

I didn´t get any higher framerate due to SNB tough. But the framerate raised when upgrading from 3.0.0-rc3 to 3.0.0-rc4 with mesa 7.10 still back then from about 18-20 maximum to 28-30 maximum at 1400x1050.
Comment 13 Martin Steigerwald 2011-06-27 06:27:16 UTC
Thanks for fixing the bug!
Comment 14 Martin Steigerwald 2011-07-01 13:25:29 UTC
Just for the record, as the backtrace in bug #38898 shows, its really i965 being involved here.

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.