[Nouveau] NvClkMode and NvMemExec Options

Ilia Mirkin imirkin at alum.mit.edu
Fri Dec 16 21:14:31 UTC 2016


On Fri, Dec 16, 2016 at 4:09 PM, Joseph D. Wagner
<joe at josephdwagner.info> wrote:
> On 2016-12-16 12:52, Ilia Mirkin wrote:
>
>> On Fri, Dec 16, 2016 at 12:10 PM, Joseph D. Wagner
>> <joe at josephdwagner.info> wrote:
>>
>>> When using the nouveau driver, my screen freezes (and stays frozen) when
>>> it
>>> starts to more than a minimum amount of work.  To fix this, I've been
>>> using
>>> the nvidia driver with the Preferred Mode set to Prefer Maximum
>>> Performance.
>>>
>>> It looks like equivalent settings in nouveau are NvClkMode and NvMemExec.
>>> However, I didn't see any documentation specifying the valid options for
>>> these settings?
>>>
>>> What are the valid options for NvClkMode?
>>
>>
>> This takes the decimal (!) value of the pstate you want to clock to on
>> boot. The valid pstates are defined by your VBIOS, and are visible in
>> /sys/kernel/debug/dri/0/pstate (in hex).
>
>
> These are my options.  I've tried both 14 (0e) and 15 (0f).  Both appear to
> work.  Is there a difference?

Probably, but you'll never know what it is. It's a bunch of tables in
the vbios which specify stuff. Could be the video domain is clocked
lower, or something else trivial.

> 07: core 405 MHz memory 648 MHz
> 0a: core 405-967 MHz memory 1620 MHz
> 0e: core 405-1241 MHz memory 6008 MHz
> 0f: core 405-1241 MHz memory 6008 MHz AC DC *
> AC: core 405 MHz memory 6007 MHz
>
> 0f is currently selected in the above.
>
>> Based on the little information you provided, I doubt your hangs have
>> much to do with the performance level. (Unless you meant to say "When
>> using the nvidia driver ... ".)
>
>
> If I run it without NvClkMode at boot time, it will freeze on me after
> moderate use while using the nouveau driver.
>
> If I run it with NvClkMode=14 or NvClkMode=15, it appears to work fine (from
> the small amount of testing I've done).

Surprising. Not sure why that would happen. Perhaps the memory comes
up a little weird, and *any* reclock would "fix" it, not necessarily
to the highest perf level.

Note that kernel 4.10 (or the current drm-next tree, or linus's HEAD)
should allow you to properly reclock the core of that GPU (your
current setting is at 405 instead of the max which is probably
1100-1200, depending on some voltage setting details). "AC" displays
the current configuration. The *'s are mostly there to mislead you :)

Cheers,

  -ilia


More information about the Nouveau mailing list