Bug 28449

Summary: I messed up and now nouveau doesn't work.
Product: xorg Reporter: David Ronis <David.Ronis>
Component: Driver/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: critical    
Priority: medium CC: mcepl
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
See Also: https://bugzilla.redhat.com/show_bug.cgi?id=653142
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
xorg.conf
none
log file
none
xorg.conf none

Description David Ronis 2010-06-08 11:07:38 UTC
Created attachment 36158 [details]
xorg.conf 

I mistakenly upgraded xserver on my dual-screen desktop (I had intended to do so on a laptop running a totally different driver).  I had been using nouveau stably for quite some time, and now it's stopped working.  [I also have upgraded pixman, xf86-input-*, mesa, xcb/libxcb, xf86-video-nouveau, drm, and various proto's].   

When I run startx, on the console I see:

(EE) NOUVEAU(0): Output position loop. Moving VGA-1 to 0,0
X: pixmap.c:118: AllocatePixmap: Assertion `pScreen->totalPixmapSize > 0' failed.
xinit: giving up

(I'll upload my xorg.conf file and Xorg.0.log files)

This is my main machine, and need this fixed urgently.
Comment 1 David Ronis 2010-06-08 11:08:36 UTC
Created attachment 36159 [details]
log file
Comment 2 David Ronis 2010-06-08 11:10:22 UTC
Created attachment 36160 [details]
xorg.conf
Comment 3 Chris Wilson 2010-06-08 11:33:35 UTC
Try this hack:

diff --git a/src/nv_driver.c b/src/nv_driver.c
index f60b6d9..7a6311c 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -1138,6 +1138,9 @@ NVScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
        pNv->BlockHandler = pScreen->BlockHandler;
        pScreen->BlockHandler = NVBlockHandler;
 
+       if (!CreateScratchPixmapsForScreen(pScreen->myNum))
+               return FALSE;
+
        drmmode_fbcon_copy(pScreen);
 
        if (!NVEnterVT(pScrn->scrnIndex, 0))
Comment 4 David Ronis 2010-06-08 11:53:07 UTC
I added the patch and reinstalled.  I get further, but now I see:

EE) NOUVEAU(0): Output position loop. Moving VGA-1 to 0,0
(EE) AIGLX error: dlopen of /usr/lib/dri/nouveau_dri.so failed (/usr/lib/dri/nouveau_dri.so: cannot open shared object file: No such file or directory)
(EE) AIGLX: reverting to software rendering
X: ../../../include/privates.h:122: dixGetPrivateAddr: Assertion `key->initialized' failed.

It looks like nouveau_dri is in mesa, and is enabled by --enable-gallium-nouveau.  I've enabled it and am trying again (this wasn't necessary in the past).
Comment 5 David Ronis 2010-06-08 12:04:59 UTC
rebuilding mesa with the extra --enable-gallium-nouveau seems to have fixed things.

Thanks
Comment 6 Matej Cepl 2010-11-15 16:18:30 UTC
Looks like we have this in Fedora https://bugzilla.redhat.com/show_bug.cgi?id=653142
Comment 7 Lucas Stach 2011-02-15 01:49:07 UTC
This bug is fixed.

As an additional comment it is still not recommended to install the experimental nouveau Mesa3D libraries systemwide.

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.