# Nouveau driver & newer kernels won't support some cards

## Helena

After many hours of searching including at least 3 re-installs I finally discovered an unexpected situation.

I have multiple systems running Gentoo (in multiboot, however). One of them is somewhat older but still performing well. This particular setup uses the following nVidia card:

```
04:00.0 VGA compatible controller: NVIDIA Corporation GF104 [GeForce GTX 460] (rev a1)

        Subsystem: eVga.com. Corp. GF104 [GeForce GTX 460]

        Kernel driver in use: nouveau

        Kernel modules: nouveau

04:00.1 Audio device: NVIDIA Corporation GF104 High Definition Audio Controller (rev a1)

tux ~ # 
```

The problem was that consistently I got a black screen immediately after booting and the system kept hanging there, when using the nouveau driver. I did not want to switch to nvidia-drivers so I kept trying different approaches and almost gave up.

What I discovered finally is that this setup isn't supported by recent kernels anymore. Once I decided to mask newer kernels, as I have now:

```
tux ~ # grep '>' /etc/portage/package.mask/gentoo-sources 

>sys-kernel/gentoo-sources-4.4.87-r1

tux ~ # 

```

my system suddenly became usable again.

I am not sure whether this is a bug (either in gentoo, nouveau or the kernel) so I'll first send this out for any comments the community might have.

Also I am uncertain which kernel version exactly introduces the problems. I chose this version because I had an older version of SystemRescueCD (http://www.system-rescue-cd.org/) at hand which also uses this version and booted perfectly.

----------

## nokilli

I gave up after two days of reinstalls and on a lark tried other distros and found that Fedora worked well.  It's running kernel 4.13.4.

I love Gentoo but I'm not willing to spend more than two days in a row pounding my head against the wall trying to get hardware to work when it is seemingly against the wishes of the vendor.  Love my Gentoo running with radeon.  Never buying another nvidia product again. Ever.

----------

## Hu

Helena: how did you determine that the system was hung?  Did it fail to respond to ping?  Did it fail to respond to ssh, despite having sshd configured to autostart?  If you install a v4.13 or later kernel on your otherwise working setup, does that kernel still fail?  That would let us isolate whether different choices in your user packages and configuration are relevant, and is safe since you could reboot back to your v4.4 kernel if v4.13 fails.  If v4.13 fails when run with a user environment that works with v4.4, then either there is a newly-required kconfig symbol that you did not set or there is a kernel regression.  You could also try each of the major v4.x releases to see which one first broke, although knowing that may not be immediately helpful.  If v4.4 works and v4.13 fails, please pastebin the configuration files for both kernels.

----------

## SP2340

 *Helena wrote:*   

> After many hours of searching including at least 3 re-installs I finally discovered an unexpected situation.
> 
> I have multiple systems running Gentoo (in multiboot, however). One of them is somewhat older but still performing well. This particular setup uses the following nVidia card:
> 
> ```
> ...

 

Your graphic card is old and is no longer supported by nVidia.  I believe this is a driver issue and not a kernel issue.  Back when I had this issue I was told I should mask the driver so it doesn't get updated. I always used the nVidia driver and never the nouveau driver myself.  I decided instead to just by new hardware seeing how mine was 10+ yrs old.  Never looked back.

For fun why don't you mask the driver instead of the kernel and the see if you still have the same issue?  If nothing else you will have figured out if it is really the driver or the kernel that is casing the issue.

----------

## Helena

 *SP2340 wrote:*   

> ...
> 
> Your graphic card is old and is no longer supported by nVidia. 

 Wrong. The card is of course supported by the manufacturer. For example Windows 10 runs perfectly on it. *Quote:*   

>  I believe this is a driver issue and not a kernel issue.  Back when I had this issue I was told I should mask the driver so it doesn't get updated. I always used the nVidia driver and never the nouveau driver myself.  I decided instead to just by new hardware seeing how mine was 10+ yrs old.  Never looked back.
> 
> For fun why don't you mask the driver instead of the kernel and the see if you still have the same issue?  If nothing else you will have figured out if it is really the driver or the kernel that is casing the issue.

 What do you mean by masking the driver? From the rest of your post I guess switching to nvidia-drivers. I said I don't want that.

But anyway, I appreciate your thoughts.

----------

## Helena

 *Hu wrote:*   

> Helena: how did you determine that the system was hung?  Did it fail to respond to ping?  Did it fail to respond to ssh, despite having sshd configured to autostart?  If you install a v4.13 or later kernel on your otherwise working setup, does that kernel still fail?  That would let us isolate whether different choices in your user packages and configuration are relevant, and is safe since you could reboot back to your v4.4 kernel if v4.13 fails.  If v4.13 fails when run with a user environment that works with v4.4, then either there is a newly-required kconfig symbol that you did not set or there is a kernel regression.  You could also try each of the major v4.x releases to see which one first broke, although knowing that may not be immediately helpful.  If v4.4 works and v4.13 fails, please pastebin the configuration files for both kernels.

 I have done what you asked for and it seems definitely a nouveau problem. I upgraded to kernel 4.12.12 and the screen went black after booting. Connecting from another cliënt via SSH and typing

```
dmesg
```

reveals about a hundred repeated messages from the driver. Each reads

```
[time] nouveau <PCI address> bus MMIO read of 0000000 FAULT at 610270 [IBUS]
```

----------

## Helena

I tested a 4.9.x kernel today: doesn’t work either. In the stable tree I have no more options I think (not counting 3.x.x).

Later this week I will list the configs; but this will probably not be very useful since what i’ve done is simply

```
make oldconfig
```

and pressing Enter repeatedly to accept defaults for new kernel symbols.

----------

## The Doctor

 *Helena wrote:*   

> Later this week I will list the configs; but this will probably not be very useful since what i’ve done is simply
> 
> ```
> make oldconfig
> ```
> ...

 You really shouldn't do that. Things change and that results in many things you need disabled by default and a ton of useless stuff added to the kernel. I've had stuff stop working from careless kernel updates.

----------

## Roman_Gruber

 *SP2340 wrote:*   

>  *Helena wrote:*   .... 
> 
> Your graphic card is old and is no longer supported by nVidia.  I believe this is a driver issue and not a kernel issue.  Back when I had this issue I was told I should mask the driver so it doesn't get updated. I always used the nVidia driver and never the nouveau driver myself.  I decided instead to just by new hardware seeing how mine was 10+ yrs old.  Never looked back.
> 
> For fun why don't you mask the driver instead of the kernel and the see if you still have the same issue?  If nothing else you will have figured out if it is really the driver or the kernel that is casing the issue.

 

2 years ago I made an upgrade. The closed source drivers just needed a kernel patch for the older cards with newer kernels, was in a bug report I made or posted in.

I am quite sure, oldest stable kernel of the gentoo sources + older nvidia-drivers + kernel patch applied should still work these days. 

With older hardware I recommend that you stay on the stable branch, except a few packages like webbrowsers

My card was a 9800m gts in asus g70sg which I sold.

definitely off topic: Agree on disliking nvidia for certain things. But same applies for intel for their management engine / processors; amd for their processors and hidden thing like intel management engine. Probably next box is some arm based box or something else which is open source. these hardware get better by the day, i stop playing games, and for basic tasks they are soon up for it.

 *Quote:*   

> What I discovered finally is that this setup isn't supported by recent kernels anymore. 

 

I think staying at version 4.4, as long it is supported long term by kernel org is a good idea. I have no idea which version is long term supported.

Anyway If you have time, plesae report back to the developers for nouveau / kernel org.

Energy wise you better dump that crap and get some more power efficent card. It's your thing to do the math, power consumption over time vs purchase newer old card which is more power efficent. The energy bill makes some hardware quite obsolete!

--

off topic:

just for information. kernel 4.12 had random issues with hda_intel soundcard on my notebook. kernel 4.13 does not support cpu frequency-scaling anymore, different posts from other guys also for ubuntu and other distros. so kernel 4.12, 4.13 is broken in my point of view.

quite annoying when you set powersave governour and it does not work. latest ~ gentoo-sources does boot, but the x server is broken. without an image after i typed my luks password, it is kinda useless kernel.

you better stay at something more stable like 4.4

----------

## Helena

@Roman_Gruber: thanks for sharing your thoughts.

First, I am on the stable tree:

```
tux ~ # equery l -p gentoo-sources

 * Searching for gentoo-sources ...

[-P-] [  ] sys-kernel/gentoo-sources-3.10.107-r1:3.10.107-r1

[-P-] [  ] sys-kernel/gentoo-sources-4.1.43-r1:4.1.43-r1

[IP-] [  ] sys-kernel/gentoo-sources-4.4.87-r1:4.4.87-r1

[-P-] [ ~] sys-kernel/gentoo-sources-4.4.95:4.4.95

[-P-] [ ~] sys-kernel/gentoo-sources-4.4.96:4.4.96

[-P-] [M~] sys-kernel/gentoo-sources-4.4.97:4.4.97

[-P-] [M ] sys-kernel/gentoo-sources-4.9.49-r1:4.9.49-r1

[-P-] [M~] sys-kernel/gentoo-sources-4.9.59:4.9.59

[-P-] [M~] sys-kernel/gentoo-sources-4.9.60:4.9.60

[-P-] [M~] sys-kernel/gentoo-sources-4.9.61:4.9.61

[-P-] [M ] sys-kernel/gentoo-sources-4.12.12:4.12.12

[-P-] [M~] sys-kernel/gentoo-sources-4.12.13:4.12.13

[-P-] [M~] sys-kernel/gentoo-sources-4.12.14:4.12.14

[-P-] [M~] sys-kernel/gentoo-sources-4.13.10:4.13.10

[-P-] [M~] sys-kernel/gentoo-sources-4.13.11:4.13.11

[-P-] [M~] sys-kernel/gentoo-sources-4.13.12:4.13.12

[-P-] [M~] sys-kernel/gentoo-sources-4.14.0:4.14.0

tux ~ # 
```

So indeed I'll stick with the 4.4.x kernels as long as this system is operational, which I don't really need for productive work (just playing around). I have other more recent systems for that purpose, so buying another video card is not an option at this point. Nevertheless, I will be curious to try kernels >4.12 when they become stable.Last edited by Helena on Wed Nov 15, 2017 3:44 pm; edited 1 time in total

----------

## Helena

@Hu, @The Doctor: here are my kernel configs:

https://pastebin.com/nUtL8AJm for 4.4.x

https://pastebin.com/vGcsSAXu for 4.9.x.

If you can suggest improvements or see errors, please advise.

----------

## hhfeuer

Have you tried setting nouveau.modeset=0 as a workaround?

Might be related to this:

https://bugs.freedesktop.org/show_bug.cgi?id=100423

----------

## Helena

 *hhfeuer wrote:*   

> Have you tried setting nouveau.modeset=0 as a workaround?
> 
> Might be related to this:
> 
> https://bugs.freedesktop.org/show_bug.cgi?id=100423

 Yes I have done that multiple times. If I do that I get a less than optimal display. But I do want KMS and it works in kernel 4.4.x.

----------

## hhfeuer

Since this is a kernel bug you can only bisect to see if the mentioned commit

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fcb371a1d5fc7def715227f74dfcb9be73a597e8

really is breaking it and then issue a regression bug report about it on kernel or nouveau bugzilla.

----------

## Helena

 *hhfeuer wrote:*   

> Since this is a kernel bug you can only bisect to see if the mentioned commit
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fcb371a1d5fc7def715227f74dfcb9be73a597e8
> 
> really is breaking it and then issue a regression bug report about it on kernel or nouveau bugzilla.

 Thanks for your research! I could never have found this myself. And really I do not know exactly how to proceed. Its something I’ve never done before and looks difficult to me. If anyone else feels they can do it, be my guest!

----------

