[Nouveau] [RFC PATCH v2 0/7] stabilize kepler reclocking

Thomas Martitz kugel at rockbox.org
Thu Dec 24 15:08:05 PST 2015


Hello,

first of all, I'm new to this list, so please beer with me. On the other 
hand, I'm a graduate computer systems engineer with experience in Linux 
kernel code, so I can hopefully provide useful input/assistance on this 
topic.

I'm replying because I tried your patches on my setup in the hope they'd 
fix my lockups. Unfortunately they didn't, so I'm offering debug 
assistance to make my system work as well.

Here's my setup:
- Arch Linux
- Lenovo Thinkpad x230 laptop with integrated intel (ivy bridge)
- External GPU (eGPU) connected via ExpressCard <-> PCIe adaptor, a 
nvidia GeForce 650 Ti (Kepler). The PCIe link is unfortunately limited 
to Gen 1 and one lane.
- PRIME with eGPU as primary (following this guide: 
https://wiki.archlinux.org/index.php/PRIME#Discrete_Card_as_Primary_GPU)
- This setup works fine under Windows 10, and the eGPU gives a lot 
better performance than the intel chip even with the limited PCIe link.
- I compiled nouveau.ko, and nothing else, from your out-of-tree fork 
(branch stable_reclocking_kepler, HEAD at bc4767c (bios/fan: hardcode 
the fan mode to linear))

With and without your patches, I get lockups when attempting to reclock 
to the highest level (echo 0f > /sys/.../pstate) and then running an 
actual game (Dota 2 in this instance). Reclock as such appears to work 
fine initially, but the whole system locks up as soon as I start Dota 2. 
glxgears runs fine. echo 0a > /sys/.../pstate works as wel, however the 
performance is poor.

I suspected that reclocking doesn't work fully in that the core voltage 
isn't ramped high enough, so that the GPU (and rest of the system) locks 
up when the load goes above some threshold (glxgears works after all). 
Unfortunately, I can't see any improvement with your patches.

FWIW, I made sure that the self-compiled nouveau.ko is used by running 
make install and then deleting the distro's shipped nouveau.ko. I 
verified this by running modprobe -nv nouveau (it also shows that 
pstate=1 is correctly passed to it). The nouveau.ko (.ko.gz actually) is 
placed under /lib/modules/4.3.3-2-ARCH/extra/nouveau.ko.gz.

Thanks for your ongoing effort to improve the situation on nvidia cards. 
I hope I can be of any help.

Best regards.



More information about the Nouveau mailing list