# [Solved] KMS/nouveau giving only black screen

## Satoshi

So, I wanted a pretty boot and thought I'd try KMS/nouveau (I have a Geforce 7300 GS). I had tried it before and got a ridiculously deformed resolution/image. For the sake of support, I emerged gentoo-sources-2.6.36 (I originally use zen-sources), copied over my .config, checked it for errors and compiled it, everything was working so I recompiled it, changing only the stuff for KMS and nouveau as described in the wiki.

The kernel loads, enters OpenRC (I thought KMS should've taken over by now, in fact, I thought it would take over from the very beginning, same as framebuffer does), it starts loading stuff and everything goes black around when udev is being loaded. Evidence, such as the caps lock lighting up and control-alt-del-reboot, suggest the machine booted fine, perhaps even into X (probably not, though), but my monitor complains there's no connection and soon shuts down, as if no data was being transmitted anymore.

My .config: http://paste.pocoo.org/show/291010/Last edited by Satoshi on Wed Nov 17, 2010 3:46 am; edited 1 time in total

----------

## chithanh

 *Quote:*   

> CONFIG_FRAMEBUFFER_CONSOLE=m

 Probably you don't have the fbcon module loaded. Enable this option built-in or add fbcon to the modules which are loaded at boot time.

----------

## Satoshi

Enabled it and got at least something, garbled garbage.

This is /var/log/dmesg, which I got using a LiveCD:

http://paste.pocoo.org/show/291056/

(Basically just "[drm] nouveau 0000:01:00.0: PFIFO_CACHE_ERROR - Ch 0/3 Mthd 0x0000 Data 0x00000000")

----------

## chithanh

Did you run "make oldconfig" when copying your .config to the new kernel?

Also the dmesg buffer runs full so that the boot messages can no longer be seen. Please temprorarily prevent nouveau from being loaded and post dmesg.

----------

## Satoshi

 *chithanh wrote:*   

> Did you run "make oldconfig" when copying your .config to the new kernel?

 

Yes, I did. And I tested it before trying noveau and everything seemed to work fine.

 *chithanh wrote:*   

> Also the dmesg buffer runs full so that the boot messages can no longer be seen. Please temprorarily prevent nouveau from being loaded and post dmesg.

 

Unfortunately I have no idea how to do that. I tried noveau.modeset=0 on grub but that got me a pretty weird result: a deformed version of Xfce's login/loading screen. I have no idea how that was there (Xfce is the default DE only for my sister's user, who haven't used this for almost a year now, besides, TTY1 autologins and auto-startsx on my user, and there were still lots of services to be started before that point of the bootup would be reached).

The only way I know to prevent nouveau loading is taking it out of the kernel.

----------

## Satoshi

Alright, I configured a kernel from scratch using Pappy's kernel seeds and still got the same problem and same dmesg output.

My new .config:

http://paste.pocoo.org/show/291926/

C'mon guys, I really want a pretty bootup   :Very Happy: 

----------

## idella4

You can prevent the loading of the nouveau module.  There os a kind of blacklist that linux has in a file to block cited modules from loading.  Can't remember its name & location, looj around in /etc/ in the modules and modprobe relayed content & am sure you'll find it quite readily.

As a new baseline, withour removing it from the kernel, nominate an alternate driver for X, such as nvidiafb, vesa, and get a clean and sud standard prettiness of boot, then work your way back to the nouveau driver in place.

Is that driver nouveau in xorg.conf?

All right, I need something to do.  Your card is nvidia, yes???  I shall test your kernel.

EDIT :  At this point, I can't emerge the nouveau-drm, it finds fault with your kernel config.

```

>>> Failed to emerge x11-base/nouveau-drm-20100811, Log file:

>>>  '/var/tmp/portage/portage/x11-base/nouveau-drm-20100811/temp/build.log'

 * Messages for package x11-base/nouveau-drm-20100811:

 *   CONFIG_FB_CFB_FILLRECT:     is not set when it should be.

 *   CONFIG_FB_CFB_COPYAREA:     is not set when it should be.

 *   CONFIG_FB_CFB_IMAGEBLIT:    is not set when it should be.

 *   CONFIG_I2C_ALGOBIT:         is not set when it should be.

 * Please check to make sure these options are set correctly.

```

I haven't bothered with this driver until now, wasn't going to and offhand don't know  what changes to rectify, deals with these areas I an not familiar with.

It's a hint your config is likely off the mark.

----------

## Satoshi

 *idella4 wrote:*   

> You can prevent the loading of the nouveau module.  There os a kind of blacklist that linux has in a file to block cited modules from loading.  Can't remember its name & location, looj around in /etc/ in the modules and modprobe relayed content & am sure you'll find it quite readily.
> 
> As a new baseline, withour removing it from the kernel, nominate an alternate driver for X, such as nvidiafb, vesa, and get a clean and sud standard prettiness of boot, then work your way back to the nouveau driver in place.
> 
> Is that driver nouveau in xorg.conf?
> ...

 

Not sure that had anything to do with this, but it finally worked.

It was a wrong video= option (specifically, 24 instead of 36-bit depth).

Now I got a pretty boot. However, that did not solve the offset image problem I had. Well, can't work miracles on these kinda monitors.

----------

## idella4

Satoshi,

out of interest, would you like to inform me of the nouveau driver.  Is it and adjunct to the nvidia driver, or a re-work?

What are the improvements that give a more attractive boot-up, I take it you must employ bootsplash to have something to make pretty.

Was the video setting you re-set on the grub bootup line?  Any xorg.conf I have only goes up to 24, doesn't have a 36. Is that new?

Apparently later versions of kde &  gnome don't even require the xorg.conf, can't decipher what is used in its place.

EDIT:  well, never mind.  I took the time to read a few hints and recompiled a zen kernel to take nouveau and emerged the nouveau drivers into it.  Hmm, as you say, well I don't know about pretty, but far more refined, finer resolution.

Curios, the nouveau driver strangely requires a fbdev setting in xorg.conf, then promptly modprobes nouveau rather than nouveaufb.  Then the emerge doesn't make a nouveuafb.ko.    Oh well

```

idella@genny ~ $ sudo lsmod | grep nouv

Password: 

nouveau               327833  2 

ttm                    35811  1 nouveau

drm_kms_helper         17550  1 nouveau

drm                   113170  3 nouveau,ttm,drm_kms_helper

i2c_algo_bit            4046  1 nouveau

cfbcopyarea             2709  1 nouveau

cfbimgblt               1873  1 nouveau

cfbfillrect             2545  1 nouveau

idella@genny ~ $ uname -r

2.6.35-zen2

```

nvidia users are spoiled for choice, also get the nvidia driver itself.  The things that happen in linux!

----------

