FS#14409 - [xf86-video-intel] 2.6.3-3 and kernel26 2.6.29.1-4: "Failed to set tiling" error

Attached to Project: Arch Linux
Opened by Andrew Munkres (amunkres) - Tuesday, 21 April 2009, 08:57 GMT
Last edited by Jan de Groot (JGC) - Thursday, 11 June 2009, 22:45 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan de Groot (JGC)
Architecture x86_64
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

Description:
Just now I ran "pacman -Syu" and rebooted, and now the compositing performance in X is far slower than it used to be. I tried regenerating the xorg.conf file with "X -configure", but that didn't help. So, I compared the "Xorg.0.log" file from before the upgrade to the newest "Xorg.0.log" file, and I found this difference:

Old file:
(**) intel(0): Tiling enabled
(==) intel(0): VideoRam: 262144 KB
(II) intel(0): Attempting memory allocation with tiled buffers.
(II) intel(0): Tiled allocation successful.
(II) intel(0): [drm] Registers = 0xfde80000
(II) intel(0): [drm] ring buffer = 0xd0000000
(II) intel(0): [drm] mapped front buffer at 0xd1000000, handle = 0xd1000000
(II) intel(0): [drm] mapped back buffer at 0xd5000000, handle = 0xd5000000
(II) intel(0): [drm] mapped depth buffer at 0xd6000000, handle = 0xd6000000
(II) intel(0): [drm] mapped classic textures at 0xd7000000, handle = 0xd7000000
(II) intel(0): [drm] Initialized kernel agp heap manager, 33554432
(II) intel(0): [dri] visual configs initialized
(II) intel(0): Page Flipping disabled

New file:
(**) intel(0): Tiling enabled
(==) intel(0): VideoRam: 262144 KB
(II) intel(0): Attempting memory allocation with tiled buffers.
(EE) intel(0): Failed to set tiling on front buffer: rejected by kernel
(EE) intel(0): Failed to set tiling on back buffer: rejected by kernel
(EE) intel(0): Failed to set tiling on depth buffer: rejected by kernel
(II) intel(0): Tiled allocation successful.
(II) intel(0): [drm] Registers = 0xfde80000
(II) intel(0): [drm] Initialized kernel agp heap manager, 33554432
(II) intel(0): [dri] visual configs initialized
(II) intel(0): Page Flipping disabled

Is this problem related to  FS#14394  ("xf86-video-intel 2.7.0 tiling issue")? Also, does the package "xf86-video-intel-legacy" have this same problem? (I haven't tried xf86-video-intel-legacy yet.)

Additional info:
* package version(s)
kernel26 2.6.29.1-4 (version from before upgrade was 2.6.29.1-3)
xf86-video-intel 2.6.3-3 (version from before upgrade was 2.4.3-1)
xorg-server 1.6.1-1 (version from before upgrade was 1.5.3-5)
* config and/or log files etc.
See the excerpts from "Xorg.0.log" above. Here is the part of "Xorg.0.log" which says what the video chipset is:
(II) intel(0): Integrated Graphics Chipset: Intel(R) 945GM
(--) intel(0): Chipset: "945GM"
Also see the attached new and old xorg.conf files.

Steps to reproduce:
With the above-listed package versions running on a system with a 945GM video chipset (that's the only chipset I've tried it with), start the X server, and look in Xorg.0.log to find the "Failed to set tiling" error messages.
This task depends upon

Closed by  Jan de Groot (JGC)
Thursday, 11 June 2009, 22:45 GMT
Reason for closing:  Fixed
Additional comments about closing:  Fixed with kernel 2.6.30 from testing.
Comment by Andrew Munkres (amunkres) - Tuesday, 21 April 2009, 09:14 GMT
I replaced xf86-video-intel 2.6.3-3 with xf86-video-intel-legacy 2.3.2-2, and the problem no longer occurs:

(**) intel(0): Tiling enabled
(==) intel(0): VideoRam: 262144 KB
(II) intel(0): Attempting memory allocation with tiled buffers.
(II) intel(0): Tiled allocation successful.
(II) intel(0): [drm] Registers = 0xfde80000
(II) intel(0): [drm] ring buffer = 0xd0000000
(II) intel(0): [drm] mapped front buffer at 0xd1000000, handle = 0xd1000000
(II) intel(0): [drm] mapped back buffer at 0xd5000000, handle = 0xd5000000
(II) intel(0): [drm] mapped depth buffer at 0xd6000000, handle = 0xd6000000
(II) intel(0): [drm] mapped classic textures at 0xd7000000, handle = 0xd7000000
(II) intel(0): [drm] Initialized kernel agp heap manager, 33554432
(II) intel(0): [dri] visual configs initialized
(II) intel(0): Page Flipping enabled
Comment by xduugu (xduugu) - Tuesday, 21 April 2009, 09:16 GMT
It's a bug in the kernel module of 2.6.29(.1) which occurs when using kms.
You have three options: 1) patching the kernel module 2) disable kms 3) disable tiling.
Comment by xduugu (xduugu) - Tuesday, 21 April 2009, 09:17 GMT
@amunkres
I assume the older driver does not support kms which is why it works.
Comment by Andrew Munkres (amunkres) - Tuesday, 21 April 2009, 09:32 GMT
I don't think that I have KMS enabled. I don't have any mention of "i915" or "modeset=1" in /boot/grub/menu.lst or /etc/modprobe.conf, and /usr/src/linux-2.6.29-ARCH/.config contains these lines:

CONFIG_DRM_I915=m
# CONFIG_DRM_I915_KMS is not set
Comment by Igor Saric (karabaja4) - Saturday, 25 April 2009, 02:07 GMT
I confirm this problem. The 2.6.29.1-2 kernel works much better in 3D than the 2.6.29.1-3 or 2.6.29.1-4 (Intel i915, EXA/UXA, xorg 1.6.1, xf86-video-intel 2.7.0).

It indeed seems to be a tiling issue.

Here's the Xorg.0.log from 2.6.29.1-4 kernel:

...
(EE) intel(0): Failed to set tiling on front buffer: rejected by kernel
(EE) intel(0): Failed to set tiling on back buffer: rejected by kernel
(EE) intel(0): Failed to set tiling on depth buffer: rejected by kernel
...
(II) intel(0): 0x00800000-0x00bfffff: depth buffer (4096 kB)
(II) intel(0): 0x00c00000-0x00ffffff: back buffer (4096 kB)
(II) intel(0): 0x01000000-0x013fffff: front buffer (4096 kB)
...

//

and here's from 2.6.29.1-2 kernel:

...
(II) intel(0): 0x00800000-0x00bfffff: depth buffer (4096 kB) X tiled
(II) intel(0): 0x00c00000-0x00ffffff: back buffer (4096 kB) X tiled
(II) intel(0): 0x01000000-0x013fffff: front buffer (4096 kB) X tiled
...

//

in glxgears,

- 2.6.29.1-2 gives 1200fps and etracer runs smoothly (if I disable tiling with Option "Tiling" "false" I get very low performance in etracer and 170fps in glxgears).
- 2.6.29.1-3 or 2.6.29.1-4 gives 170fps and etracer runs at 2-3 fps.

The above numbers are with EXA, it's the same situation with UXA.
Comment by Andrew Munkres (amunkres) - Saturday, 09 May 2009, 06:21 GMT
I still have the problem when using version 2.6.3-4 of xf-86-video-intel with version 2.6.29-2.1 of kernel26.
Comment by Emiliano Vavassori (syntaxerrormmm) - Sunday, 10 May 2009, 03:41 GMT
I also want to confirm this on IBM Thinkpad X41t, Arch i686, kernel26-2.6.29.3-1, xorg-server-1.6.1-1, xf86-video-intel-2.6.3-4.
00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)

No I915 or KMS are in use here.

For the moment, I'll switch back to xf86-video-intel-legacy; there I should obtain at least 400fps.
Comment by Andrew Munkres (amunkres) - Friday, 22 May 2009, 08:25 GMT
I tried again with xf86-video-intel 2.7.1-1 and kernel26 2.6.29.4-1, and it still has the problem.
Comment by Denacke (Denacke) - Monday, 01 June 2009, 17:49 GMT
I just now see that there's a bug report about this. I made a forum post of this problem a while ago and karabaja4 managed to find the cause of this. It appears to be a change in patches for the kernel.

Check this post for more information: http://bbs.archlinux.org/viewtopic.php?pid=545476#p545476
Comment by Igor Saric (karabaja4) - Monday, 01 June 2009, 18:37 GMT
Yeah, all I did was I removed all the diffs related to i915 modules and GEM, because that configuration was there in 2.6.29.1-2 and it worked fast with i915.

Since the kernel 2.6.29.1-3 and above (including 2.6.29.4), there are some diffs for intel related files which apperantly cause slowdown on i915 cards.
Comment by Igor Saric (karabaja4) - Wednesday, 03 June 2009, 12:18 GMT
P.S. The above fix apperantly only works with i915 cards.
Comment by Igor Saric (karabaja4) - Thursday, 11 June 2009, 22:39 GMT
fixed in 2.6.30

Loading...