when i try to use the nv driver with my Geforce 8300 GS (on an inspiron 531, athlon XP 4400+, archlinux), i got only a black screen and a mouse pointer. at first, i thought it might gdm, so i run a bare fluxbox via startx (with exec fluxbox & in ~/.xinitrc) and i still get only a black screen with a mouse pointer. I have also rebooted to be sure not to have nvidia module loaded. moreover, if i run an xterm from another console (DISPLAY=:0 xterm) it seems to work but i still see nothing on my X display. when i hover my mouse, i see the pointer changing shape to a double T over a region i guess where xterm is supposed to be, but it's black there. i tried with an empty xorg.conf, it's the same. i can't see why it's not working, so, on last ressort, i think of a bug of the driver. it's not that i rely on the nv driver. but the only time i needed it, it seems to let me down ;-( the vesa driver works fine (and the nvidia binary driver too)
Created attachment 33364 [details] Xorg.0.log
The problem is that xserver 1.7 contains a bug where it fails to call the LoadPalette driver hook, leaving the palette uninitialized. To implement the new-style hooks, I'd need to create a separate LUT per display, which I don't have time to do right now. In the meantime, you could simply disable the LUT entirely by (and this is completely untested) changing this line in g80_display.c from C(0x00000840 + headOff, pScrn->depth == 8 ? 0x80000000 : 0xc0000000); to C(0x00000840 + headOff, 0);
I just pushed a change that might fix this. Please give it a try: Author: Aaron Plattner <aplattner@nvidia.com> Date: Mon Mar 1 14:26:51 2010 -0800 Bug #26612: Separate LUTs per output. Wire up the RandR 1.2 gamma_set hook. Call it from G80SetPalette like the Intel driver does. Signed-off-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Andy Ritger <aritger@nvidia.com> Reviewed-by: Christian Zander <chzander@nvidia.com> :100644 100644 0cb9860... 8c8e5bd... M src/g80_display.c :100644 100644 2031fed... 43c6e12... M src/g80_display.h :100644 100644 13e417a... 8ea45af... M src/g80_driver.c
i am terribly sorry. i just tried 2.1.16 and this was working fine but not 2.1.15. 2.1.15 add a patch here and X segfaults without the patch to 2.1.15. +static void +G80DispGammaSet(xf86CrtcPtr crtc, CARD16 *red, CARD16 *green, CARD16 *blue, + int size) +{ +} + static const xf86CrtcFuncsRec g80_crtc_funcs = { .dpms = G80CrtcDPMSSet, .save = NULL, @@ -654,7 +660,7 @@ static const xf86CrtcFuncsRec g80_crtc_f .mode_fixup = G80CrtcModeFixup, .prepare = G80CrtcPrepare, .mode_set = G80CrtcModeSet, - // .gamma_set = G80DispGammaSet, + .gamma_set = G80DispGammaSet, .commit = G80CrtcCommit, .shadow_create = NULL, .shadow_destroy = NULL, so may be it's not a surprise i get a black screen with an empty function like that ? i used 2.1.16 without any patch and repeat it worked. at least, the git version is still working here.
but i did not recompiled X or any other package except the nv driver. still using 1.7.5 as seen in Xorg.log.0 p.s.: previouly i meant had not add
Sorry, I should have been more clear. The change is in git, but it's not in any release yet. 2.1.16 doesn't contain my change. You should be able to build it like this: git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-nv cd xf86-video-nv ./autogen.sh --prefix=/usr make sudo make install You'll need to have autoconf and automake installed for that to work.
this was clear to me. i wanted to make clear that i did not tested the latest stable nor did mention the version that fails, in my bug report.
Okay, got it. Thanks for testing. Marking fixed.
*** Bug 16639 has been marked as a duplicate of this bug. ***
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.