NVidia on Linux: IRQ error «nobody cared»

Well, I’ve got a marvellous nVidia 9800 GTX. I run KDE4 with KWin effects enabled.

It has happened many times that after some random hours of usage overall KDE performance dropped to the floor: moving windows was nearly impossible, desktop effects stopped working, writing in the Konsole was slow…

But the system was not unresponsive: SSH (and everything not related to the X server) was working as usual.

Since I was too lazy to investigate it, I simply restarted the X server (or closed and reopened my KDE session) when it happened.

Some days ago I took a look at dmesg | tail and found this string:

kernel: irq 16: nobody cared (try booting with the "irqpoll" option)

followed by a (stack?) trace.

So it was an IRQ problem. Looking at /proc/interrupts revealed that the interrupt #16 was shared between my nvidia card, a pata_jmicron thingy and an usb port.

After googling a little I found that you can (actually you should) put the nvidia card on MSI system (see this wikipedia entry).

You simply tell the nVidia module (loaded at startup) to use MSI rather than old pci irqs, by writing a file in /etc/modprobe.d/:

# nano /etc/modprobe.d/MSIfixes.conf
options nvidia NVreg_EnableMSI=1

Then you should unload the module and reload it (well, it’s easier to do a reboot).

I haven’t had that annoying freeze issue ever since I put MSI in the game.

On a side note, hda_intel module supports MSI too:

options snd_hda_intel enable_msi=1

Powered by Blogilo

Contrassegnato da tag , , , ,


Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: