Bug 35901 - nv40: Dual display (--left-of , --right-of) with nouveau does not work any more
Summary: nv40: Dual display (--left-of , --right-of) with nouveau does not work any more
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: 7.4 (2008.09)
Hardware: x86-64 (AMD64) Linux (All)
: highest normal
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
: 37056 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-04-02 02:25 UTC by Mario Bachmann
Modified: 2011-08-08 08:14 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
kernel log of a working combination (46.66 KB, text/plain)
2011-04-14 22:53 UTC, Mario Bachmann
no flags Details
xorg log of a working combination (48.07 KB, text/plain)
2011-04-14 22:53 UTC, Mario Bachmann
no flags Details
kernel log of non-working configuration (45.68 KB, text/plain)
2011-04-15 08:12 UTC, Mario Bachmann
no flags Details
xorg log of non-working configuration (62.55 KB, text/plain)
2011-04-15 08:13 UTC, Mario Bachmann
no flags Details
xrandr-right-of results in this picture (778.24 KB, image/jpeg)
2011-04-15 08:23 UTC, Mario Bachmann
no flags Details
xrandr-below results in this picture (works) (466.63 KB, image/jpeg)
2011-04-15 08:31 UTC, Mario Bachmann
no flags Details
nv17_crtc_large_pitch.patch (2.69 KB, patch)
2011-05-23 14:35 UTC, Francisco Jerez
no flags Details | Splinter Review

Description Mario Bachmann 2011-04-02 02:25:31 UTC
the "old" combination works fine:
  x11-drivers/xf86-video-nouveau-0.0.16_pre2010101
  x11-base/xorg-server-1.9.5
  x11-libs/libdrm-2.4.22
  media-libs/mesa-7.9

with the following settings:
Section "Screen"
    Identifier  "Screen-two"
    Device      "nouveau-two"
    Monitor     "DVI-D-1"
    Monitor     "VGA-1"
    DefaultDepth 24
    Subsection "Display"
        Depth 24
        Virtual 3840 1080
    EndSubsection
EndSection

and the following commands:
xrandr --output VGA-1 --mode 1920x1080
xrandr --output DVI-D-1 --mode 1920x1080
xrandr --output DVI-D-1 --primar
xrandr --output VGA-1 --left-of DVI-D-1


the new (perhaps not the newest) combination cause problems:
  x11-drivers/xf86-video-nouveau-0.0.16_pre20101130
  x11-base/xorg-server-1.9.5
  x11-base/xorg-drivers-1.9
  media-libs/mesa-7.10.1
  x11-libs/libdrm-2.4.23

I figured out that using both displays one above the other works:
  xrandr --output DVI-D-1 --below VGA-1. 
  the final resolution is: 1920 * 2160
  The only problem is a completly wrong auto-dpi-setting. 

But my favorite layout (booth displays beside each other does not work):
  xrandr --output DVI-D-1 --right-of VGA-1
  here the final resolution is: 3840 * 1080
"does not work" means: i see a mouse courser which a can move around booth displays, but the picture has errors (vertical stripes) and the desktop is not usable at all (no text, no icons). I used kde4 and xfce4 for testing. 

When I use 1280*1024 on the left screen, "xrandr --output DVI-D-1 --below VGA-1." works fine. so the final resolution is 3200 * 1080

So why 3840 * 1080 is too much? The maximum should be 4096 * 4096 as 
  xrandr --query
tells me: 

Screen 0: minimum 320 x 200, current 3840 x 1080, maximum 4096 x 4096
VGA-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080      60.0*+
DVI-D-1 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 531mm x 299mm
   1920x1080      60.0*+
This output was made with the old working combination.
Comment 1 Mario Bachmann 2011-04-02 02:26:53 UTC
Please have a look at:
http://bugs.gentoo.org/show_bug.cgi?format=multiple&id=356965
Comment 2 x2b 2011-04-14 12:23:44 UTC
Same problem here. Once I use xrandr to put one device left-of the other, the elements are not drawn correctly, any window is merely a huge gray blob, although the cursor is drawn just fine and moves along both screens without problems. There are no errors within Xorg.log, but this problem is seriously annoying, so please fix this :)
Comment 3 Emil Velikov 2011-04-14 13:11:15 UTC
Hi Mario

Would you mind attaching kernel and X logs for *both* software
configurations so that some conclusions can be made.
Just to point out you have not even mentioned what card do you have
(apart from the fact that it is nvidia =).

Some screenshots may also be useful (but optional) - a picture says more
than a thousand words.

I.e. if you would like the issue to be resolved please provide some
relevant information [1] Please ensure that the logs are full and
attached as plain text.

Cheers

[1] http://nouveau.freedesktop.org/wiki/Bugs

On Thu, 2011-04-14 at 12:23 -0700, bugzilla-daemon@freedesktop.org
wrote:
> https://bugs.freedesktop.org/show_bug.cgi?id=35901
> 
> --- Comment #2 from x2b <thekingofthekolk@gmx.de> 2011-04-14 12:23:44 PDT ---
> Same problem here. Once I use xrandr to put one device left-of the other, the
> elements are not drawn correctly, any window is merely a huge gray blob,
> although the cursor is drawn just fine and moves along both screens without
> problems. There are no errors within Xorg.log, but this problem is seriously
> annoying, so please fix this :)
>
Comment 4 Mario Bachmann 2011-04-14 22:53:02 UTC
Created attachment 45649 [details]
kernel log of a working combination
Comment 5 Mario Bachmann 2011-04-14 22:53:40 UTC
Created attachment 45650 [details]
xorg log of a working combination
Comment 6 Mario Bachmann 2011-04-14 22:56:06 UTC
lspci -v -s 00:12.0

00:12.0 VGA compatible controller: nVidia Corporation C68 [GeForce 7025 / nForce 630a] (rev a2) (prog-if 00 [VGA controller])
	Subsystem: ABIT Computer Corp. Device 1c2f
	Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 20
	Memory at fb000000 (32-bit, non-prefetchable) [size=16M]
	Memory at e0000000 (64-bit, prefetchable) [size=256M]
	Memory at fc000000 (64-bit, non-prefetchable) [size=16M]
	[virtual] Expansion ROM at c0000000 [disabled] [size=128K]
	Capabilities: [48] Power Management version 2
	Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
	Kernel driver in use: nouveau
	Kernel modules: nouveau

It is a "Abit AN-M2" Mainboard with "nForce 630a (MCP67 media communications processor)".
Comment 7 Ben Skeggs 2011-04-14 23:14:51 UTC
Do you have those logs from the non-working config too?
Comment 8 Mario Bachmann 2011-04-15 08:12:33 UTC
Created attachment 45669 [details]
kernel log of non-working configuration

this includes two display configurations:
1. one display on top, the other at the bottom:
  xrandr --output VGA-1 --mode 1920x1080
  xrandr --output DVI-D-1 --below VGA-1
Everything is fine.

2. one display left, the other display right:
  xrandr --output VGA-1 --mode 1920x1080
  xrandr --output DVI-D-1 --right-of VGA-1
the mouse coursor is fine, but everything else not! (-> i will provide a screenshot soon!)
Comment 9 Mario Bachmann 2011-04-15 08:13:31 UTC
Created attachment 45670 [details]
xorg log of non-working configuration
Comment 10 Mario Bachmann 2011-04-15 08:23:37 UTC
Created attachment 45671 [details]
xrandr-right-of results in this picture

To make it clear: "below" is working and "right-of" (or "left-of") is NOT working with the following "new" software installation. the last two log files were made with this software installation. 

 x11-base/xorg-server-1.10.0.902
 x11-drivers/xf86-video-nouveau-0.0.16_pre20110323
 media-libs/mesa-7.10.2
 x11-libs/libdrm-2.4.24
Comment 11 Mario Bachmann 2011-04-15 08:31:07 UTC
Created attachment 45672 [details]
xrandr-below results in this picture (works)
Comment 12 Greg Turner 2011-04-25 14:20:23 UTC
Some observations about this bug which may or may not be helpful.  I messed around with xrandr to see exactly what would and wouldn't trigger the problem.

If I slightly overlay my second display onto the first one's viewport, then the problem vanishes.  Turns out that if I have 16 or more pixels of horizontal overlap, the bug does not occur, but once the right-hand display comes within 16 pixels of a standard --right-of arrangement, the bug occurs.

Finally, I found that the bug only occurs at 24bpp.

Also, I found a pseudo-workaround.  It's pretty horrible though.  If I do:

  $ xrandr --output DVI-I-1 --scale 1x1.0001
  $ xrandr --output DVI-I-2 --scale 1x1.0001

which is just enough to add one vertical pixel to the screen dimensions, then I get a result which very closely approximates a working setup.  Obviously this is a terrible kludge and really no solution at all but it was good enough to get me up and running.

HTH,

-gmt
Comment 13 Greg Turner 2011-04-26 12:35:28 UTC
A few more notes about this.  First, I backported almost everything from git://anongit.freedesktop.org/nouveau/linux-2.6 into my 2.6.38.4 kernel, but the problem remained. (Only stuff I didn't backport was 3673dd547 and 27e8b237944, which, i guess, relied on f9820a46dd, which I was too lazy to look into).

Secondly, I forgot to mention anything about my setup.

I have an NV49 (iirc, 7950GT (?)) with 512MB.  My xorg.conf is pretty trivial:

Section "ServerLayout"
  Identifier "Default Layout"
  Screen 0 "Screen0" 0 0
EndSection
Section "Monitor"
  Identifier "DVI-I-1"
EndSection
Section "Monitor"
  Identifier "DVI-I-2"
  Option "LeftOf" "DVI-I-1"
  Option "PreferredMode" "1920x1200"
EndSection
Section "Device"
  Identifier "Device0"
  Driver "nouveau"
  VendorName "NVIDIA Corporation"        
  BoardName "GeForce 7950 GT"
EndSection
Section "Screen"
Identifier "Screen0"
  DefaultDepth 24
  Device "Device0"
  SubSection "Display"
    Depth 24
    Virtual 3600 1200
  EndSubSection
EndSection
--

$ dmesg |egrep -i 'drm|nouveau|ttm'|grep -v 'linked\sin'
[drm] Initialized drm 1.1.0 20060810
nouveau 0000:01:00.0: PCI INT A -> Link[AXV5] -> GSI 16 (level, low) -> IRQ 16
nouveau 0000:01:00.0: setting latency timer to 64
[drm] nouveau 0000:01:00.0: Detected an NV40 generation card (0x049500a2)
[drm] nouveau 0000:01:00.0: Attempting to load BIOS image from PRAMIN
[drm] nouveau 0000:01:00.0: ... appears to be valid
[drm] nouveau 0000:01:00.0: BIT BIOS found
[drm] nouveau 0000:01:00.0: Bios version 05.71.22.42
[drm] nouveau 0000:01:00.0: TMDS table version 1.1
[drm] nouveau 0000:01:00.0: TMDS table script pointers not stubbed
[drm] nouveau 0000:01:00.0: BIT table 'd' not found
[drm] nouveau 0000:01:00.0: Found Display Configuration Block version 3.0
[drm] nouveau 0000:01:00.0: Raw DCB entry 0: 01000300 00000028
[drm] nouveau 0000:01:00.0: Raw DCB entry 1: 03000302 00000000
[drm] nouveau 0000:01:00.0: Raw DCB entry 2: 04011310 00000028
[drm] nouveau 0000:01:00.0: Raw DCB entry 3: 0c011312 00000000
[drm] nouveau 0000:01:00.0: Raw DCB entry 4: 020223f1 00c0c080
[drm] nouveau 0000:01:00.0: DCB connector table: VHER 0x30 5 10 2
[drm] nouveau 0000:01:00.0:   0: 0x00001030: type 0x30 idx 0 tag 0x07
[drm] nouveau 0000:01:00.0:   1: 0x00002130: type 0x30 idx 1 tag 0x08
[drm] nouveau 0000:01:00.0:   2: 0x00000210: type 0x10 idx 2 tag 0xff
[drm] nouveau 0000:01:00.0:   3: 0x00000211: type 0x11 idx 3 tag 0xff
[drm] nouveau 0000:01:00.0:   4: 0x00000213: type 0x13 idx 4 tag 0xff
[drm] nouveau 0000:01:00.0: Parsing VBIOS init table 0 at offset 0xD1D8
[drm] nouveau 0000:01:00.0: Parsing VBIOS init table 1 at offset 0xDACB
[drm] nouveau 0000:01:00.0: Parsing VBIOS init table 2 at offset 0xE4F9
[drm] nouveau 0000:01:00.0: Parsing VBIOS init table 3 at offset 0xE674
[drm] nouveau 0000:01:00.0: Parsing VBIOS init table 4 at offset 0xE7D0
[drm] nouveau 0000:01:00.0: timingset 255 does not exist
[drm] nouveau 0000:01:00.0: timingset 255 does not exist
[drm] nouveau 0000:01:00.0: 2 available performance level(s)
[drm] nouveau 0000:01:00.0: 0: memory 700MHz core 550MHz voltage 1350mV fanspeed 20%
[drm] nouveau 0000:01:00.0: 1: memory 730MHz core 570MHz voltage 1350mV fanspeed 30%
[drm] nouveau 0000:01:00.0: c: memory 702MHz core 550MHz voltage 1350mV
[TTM] Zone  kernel: Available graphics memory: 4091730 kiB.
[TTM] Zone   dma32: Available graphics memory: 2097152 kiB.
[TTM] Initializing pool allocator.
[drm] nouveau 0000:01:00.0: Detected 512MiB VRAM
[drm] nouveau 0000:01:00.0: 512 MiB GART (aperture)
[drm] nouveau 0000:01:00.0: Saving VGA fonts
[drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[drm] No driver support for vblank timestamp query.
[drm] nouveau 0000:01:00.0: Setting dpms mode 3 on vga encoder (output 0)
[drm] nouveau 0000:01:00.0: Setting dpms mode 3 on tmds encoder (output 1)
[drm] nouveau 0000:01:00.0: Setting dpms mode 3 on vga encoder (output 2)
[drm] nouveau 0000:01:00.0: Setting dpms mode 3 on tmds encoder (output 3)
[drm] nouveau 0000:01:00.0: Setting dpms mode 3 on TV encoder (output 4)
[drm] nouveau 0000:01:00.0: allocated 1920x1200 fb: 0x49000, bo ffff88024d43f800
[drm] nouveau 0000:01:00.0: 0xC5B5: Parsing digital output script table
[drm] nouveau 0000:01:00.0: Setting dpms mode 0 on tmds encoder (output 1)
[drm] nouveau 0000:01:00.0: Output DVI-I-1 is running on CRTC 0 using output A
[drm] nouveau 0000:01:00.0: 0xC605: Parsing digital output script table
[drm] nouveau 0000:01:00.0: Setting dpms mode 0 on tmds encoder (output 3)
[drm] nouveau 0000:01:00.0: Output DVI-I-2 is running on CRTC 1 using output C
fb0: nouveaufb frame buffer device
drm: registered panic notifier
[drm] Initialized nouveau 0.0.16 20090420 for 0000:01:00.0 on minor 0
--
some Xorg.0.log excerpts:

X.Org X Server 1.10.99.1
(II) Loader magic: 0x7d5200
(II) Module ABI versions:
   X.Org ANSI C Emulation: 0.4
   X.Org Video Driver: 10.0
   X.Org XInput driver : 12.2
   X.Org Server Extension : 5.0
 (--) PCI:*(0:1:0:0) 10de:0295:1682:2219 rev 161, Mem @ 0xcc000000/16777216, 0xb0000000/268435456, 0xcd000000/16777216, I/O @ 0x0000dc00/128, BIOS @ 0x????????/131072
 (II) Module nouveau: vendor="X.Org Foundation"
   compiled for 1.10.99.1, module version = 0.0.16
   Module class: X.Org Video Driver
   ABI class: X.Org Video Driver, version 10.0
drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0
(II) [drm] nouveau interface version: 0.0.16
(II) [drm] DRM interface version 1.4
(--) NOUVEAU(0): Chipset: "NVIDIA NV49"
(**) NOUVEAU(0): Depth 24, (--) framebuffer bpp 32
(==) NOUVEAU(0): RGB weight 888
(==) NOUVEAU(0): Default visual is TrueColor
(==) NOUVEAU(0): Using HW cursor
(==) NOUVEAU(0): GLX sync to VBlank disabled.
(==) NOUVEAU(0): Page flipping enabled
(II) NOUVEAU(0): EDID for output DVI-I-1
(II) NOUVEAU(0): Supported color encodings: RGB 4:4:4 YCrCb 4:4:4
(II) NOUVEAU(0): redX: 0.640 redY: 0.340   greenX: 0.295 greenY: 0.610
(II) NOUVEAU(0): blueX: 0.145 blueY: 0.070   whiteX: 0.312 whiteY: 0.329
(II) NOUVEAU(0): Supported detailed timing:
(II) NOUVEAU(0): clock: 119.0 MHz   Image Size:  433 x 270 mm
(II) NOUVEAU(0): h_active: 1680  h_sync: 1728  h_sync_end 1760 h_blank_end 1840 h_border: 0
(II) NOUVEAU(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1080 v_border: 0
(II) NOUVEAU(0): Printing DDC gathered Modelines:
(II) NOUVEAU(0): Modeline "1680x1050"x0.0  119.00  1680 1728 1760 1840  1050 1053 1059 1080 +hsync -vsync (64.7 kHz)
(II) NOUVEAU(0): Printing probed modes for output DVI-I-1
(II) NOUVEAU(0): Modeline "1680x1050"x59.9  119.00  1680 1728 1760 1840  1050 1053 1059 1080 +hsync -vsync (64.7 kHz)
(II) NOUVEAU(0): EDID for output DVI-I-2
(II) NOUVEAU(0): Supported color encodings: RGB 4:4:4 YCrCb 4:4:4
(II) NOUVEAU(0): redX: 0.640 redY: 0.330   greenX: 0.300 greenY: 0.608
(II) NOUVEAU(0): blueX: 0.150 blueY: 0.060   whiteX: 0.313 whiteY: 0.329
(II) NOUVEAU(0): Supported detailed timing:
(II) NOUVEAU(0): clock: 154.0 MHz   Image Size:  518 x 324 mm
(II) NOUVEAU(0): h_active: 1920  h_sync: 1968  h_sync_end 2000 h_blank_end 2080 h_border: 0
(II) NOUVEAU(0): v_active: 1200  v_sync: 1203  v_sync_end 1209 v_blanking: 1235 v_border: 0
(II) NOUVEAU(0): Printing probed modes for output DVI-I-2
(II) NOUVEAU(0): Modeline "1920x1200"x60.0  154.00  1920 1968 2000 2080  1200 1203 1209 1235 +hsync -vsync (74.0 kHz)
(II) NOUVEAU(0): Output DVI-I-1 using initial mode 1680x1050
(II) NOUVEAU(0): Output DVI-I-2 using initial mode 1920x1200
(--) NOUVEAU(0): Virtual size is 3600x1200 (pitch 0)
(**) NOUVEAU(0):  Driver mode "1680x1050": 119.0 MHz (scaled from 0.0 MHz), 64.7 kHz, 59.9 Hz
(II) NOUVEAU(0): Modeline "1680x1050"x59.9  119.00  1680 1728 1760 1840  1050 1053 1059 1080 +hsync -vsync (64.7 kHz)
(**) NOUVEAU(0): Display dimensions: (430, 270) mm
(**) NOUVEAU(0): DPI set to (212, 112)
(--) Depth 24 pixmap format is 32 bpp
(II) NOUVEAU(0): [DRI2]   DRI driver: nouveau
(II) NOUVEAU(0): GART: 512MiB available
(II) NOUVEAU(0): GART: Allocated 16MiB as a scratch buffer
(II) EXA(0): Driver allocated offscreen pixmaps
(II) EXA(0): Driver registered support for the following operations:
(II)         Solid
(II)         Copy
(II)         Composite (RENDER acceleration)
(II)         UploadToScreen
(II)         DownloadFromScreen
(==) NOUVEAU(0): Backing store disabled
(II) NOUVEAU(0): [XvMC] Associated with NV40 texture adapter.
(II) NOUVEAU(0): [XvMC] Extension initialized.
(II) NOUVEAU(0): RandR 1.2 enabled, ignore the following RandR disabled message.
(II) Initializing built-in extension Generic Event Extension
(II) Initializing built-in extension SHAPE
(II) Initializing built-in extension MIT-SHM
(II) Initializing built-in extension XInputExtension
(II) Initializing built-in extension XTEST
(II) Initializing built-in extension BIG-REQUESTS
(II) Initializing built-in extension SYNC
(II) Initializing built-in extension XKEYBOARD
(II) Initializing built-in extension XC-MISC
(II) Initializing built-in extension XINERAMA
(II) Initializing built-in extension XFIXES
(II) Initializing built-in extension RENDER
(II) Initializing built-in extension RANDR
(II) Initializing built-in extension COMPOSITE
(II) Initializing built-in extension DAMAGE
(II) AIGLX: enabled GLX_MESA_copy_sub_buffer
(II) AIGLX: enabled GLX_INTEL_swap_event
(II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control
(II) AIGLX: enabled GLX_SGI_make_current_read
(II) AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects
(II) AIGLX: Loaded and initialized nouveau
(II) GLX: Initialized DRI2 GL provider for screen 0
(II) NOUVEAU(0): NVEnterVT is called.
(II) NOUVEAU(0): Setting screen physical size to 952 x 317
resize called 3600 1200
--
Comment 14 Greg Turner 2011-04-29 14:13:43 UTC
One final note: (can you tell I'd really like to get this resolved?)

after some experimenting, I've figured out the precise nature of the glitch.  When this glitch occurs, what we are seeing is the top pixel on the screen, stretched out into screen-tall columns.  In other words, the top row of pixels is displayed correctly, but all the other rows in the framebuffer are just duplicates of the top row of pixels.

If anyone would like me to perform any additional experiments, I'd be glad to.

-gmt
Comment 15 Emil Velikov 2011-05-20 08:34:05 UTC
Here as some things you can try - not too sure it they may work as I do not have a nv40 card

xorg.cong options:

* Try enabling/disabling the WrappedFB - it is known to cause issues in some rare cases
* Disable PageFlip
* Disable AIGLX

Looking at the "16 pixels overlap" it does give me some ideas that tiling may be responsible, thus on top of master(xf86-video-nouveau) you can try reverting some commits
Note that in some cases reverting can cause other visual "bonuses"

* xv: use nouveau_bo_new_tile() - c2d341f7e0a0dc70a28c6091ef6919fc6c0d60561

* nv10-nv40/exa: Fix tiled pixmap pitch alignment calculation - 8c8f15c9d3a31c35bf2ef20faf8c4133295a678f

* Restructure tiled pixmap allocation in a single place - 75daada678d03d2e162f8003a6f2edcbe0525f92

* Allocate a tiled scanout on pre-nv50 too - c88f13e25b0040c1dd0f93e0ac40f62a6005ce59

I hope it helps
Comment 16 Emil Velikov 2011-05-20 10:56:49 UTC
*** Bug 37056 has been marked as a duplicate of this bug. ***
Comment 17 Francisco Jerez 2011-05-23 14:35:12 UTC
Created attachment 47074 [details] [review]
nv17_crtc_large_pitch.patch

Apparently you're hitting a corner case of the nv17-nv40 modesetting code (pitch == 4096px), because of the pitch alignment restrictions imposed by tiling.

Can you try out the attached patch?
Comment 18 Greg Turner 2011-05-23 23:22:01 UTC
(In reply to comment #17)
> Created an attachment (id=47074) [details]
> nv17_crtc_large_pitch.patch
> 
> Apparently you're hitting a corner case of the nv17-nv40 modesetting code
> (pitch == 4096px), because of the pitch alignment restrictions imposed by
> tiling.
> 
> Can you try out the attached patch?

Works like a charm, problem solved afaics.  Thanks!

-gmt
Comment 19 Francisco Jerez 2011-05-26 05:54:41 UTC
(In reply to comment #18)
> (In reply to comment #17)
> > Created an attachment (id=47074) [details] [details]
> > nv17_crtc_large_pitch.patch
> > 
> > Apparently you're hitting a corner case of the nv17-nv40 modesetting code
> > (pitch == 4096px), because of the pitch alignment restrictions imposed by
> > tiling.
> > 
> > Can you try out the attached patch?
> 
> Works like a charm, problem solved afaics.  Thanks!
> 
> -gmt

Thanks, I just pushed it to the nouveau tree, closing...
Comment 20 Florian Mickler 2011-08-08 08:14:09 UTC
A patch referencing this bug report has been merged in Linux v3.0-rc3:

commit c1003d9c90f410777ab57f675b2a575c9c7ab5d7
Author: Francisco Jerez <currojerez@riseup.net>
Date:   Tue May 24 15:57:14 2011 +0200

    drm/nv17-nv40: Fix modesetting failure when pitch == 4096px (fdo bug 35901).


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.