Bug 28449 - I messed up and now nouveau doesn't work.
Summary: I messed up and now nouveau doesn't work.
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: medium critical
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-08 11:07 UTC by David Ronis
Modified: 2011-02-15 01:49 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
xorg.conf (3.70 KB, application/octet-stream)
2010-06-08 11:07 UTC, David Ronis
no flags Details
log file (28.94 KB, text/plain)
2010-06-08 11:08 UTC, David Ronis
no flags Details
xorg.conf (3.70 KB, text/plain)
2010-06-08 11:10 UTC, David Ronis
no flags Details

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.