Bug 28515 - [i915] Failed to allocate framebuffer when exceed 2048 width
[i915] Failed to allocate framebuffer when exceed 2048 width
Status: VERIFIED FIXED
Product: DRI
Classification: Unclassified
Component: DRM/Intel
unspecified
All Linux (All)
: medium normal
Assigned To: Chris Wilson
:
: 28571 30372 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2010-06-13 02:21 UTC by fangxun
Modified: 2012-01-09 03:57 UTC (History)
2 users (show)

See Also:


Attachments
xorg log (87.79 KB, text/plain)
2010-06-13 02:21 UTC, fangxun
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description fangxun 2010-06-13 02:21:00 UTC
Created attachment 36239 [details]
xorg log

System Environment:
--------------------------
Arch:          i386
Platform:      pineview
Libdrm:        (master)2.4.21
Mesa:     (7.8)mesa_7_6_1_rc1-5913-g1f756d916a48393ce4ff7c284193e48a510c175b
Xserver:      (server-1.8-branch)xorg-server-1.8.1
Xf86_video_intel: (master)2.11.0-169-g5a0a8a1cf6d9b0616d6a097e783f2aa318b45736
Kernel:  (master)e40152ee1e1c7a63f4777791863215e3faa37a86

Bug detailed description:
-------------------------
On extended mode, when width exceed 2048,  error message is reported:
 (EE) intel(0): Failed to allocate framebuffer.
  X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  148 (RANDR)
  Minor opcode of failed request:  7 (RRSetScreenSize)
  Serial number of failed request:  28
  Current serial number in output stream:  29

  
Reproduce steps:
----------------
1. xrandr --output LVDS1 --mode 1024x600
2. xrandr --output VGA1 --mode 1280x1024
3. xrandr --output LVDS1 --left-of VGA1
Comment 1 Chris Wilson 2010-06-24 03:24:03 UTC
I can reproduce this and have tracked it down to a change in the ddx between db586624d4f2908d2a998ba87fe0ae31c10f46b91 and 41684d54592cf93554a4d6534e7ea74562b1798.
Comment 2 Chris Wilson 2010-06-24 03:41:47 UTC
So the change to use drm to create the tiled buffer was the cause. We were failing to limit what we requested from the kernel and subsequently did not check the return code [EINVAL] and interpreted as a general failure.

commit 726210f87d558d558022f35bc8c839e798a19f0c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Jun 24 11:38:00 2010 +0100

    intel: Limit tiled pitches to 8192 on pre-i965.
    
    Fixes:
    
      Bug 28515 - Failed to allocate framebuffer when exceed 2048 width
      https://bugs.freedesktop.org/show_bug.cgi?id=28515
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Comment 3 Chris Wilson 2010-06-24 10:28:53 UTC
*** Bug 28571 has been marked as a duplicate of this bug. ***
Comment 4 Gordon Jin 2010-06-24 18:14:31 UTC
It should be noted the fix is in drm master.
Comment 5 Chris Wilson 2010-09-25 04:39:41 UTC
*** Bug 30372 has been marked as a duplicate of this bug. ***
Comment 6 fangxun 2012-01-09 03:57:02 UTC
Closed.