← Back to team overview

hybrid-graphics-linux team mailing list archive

testers wanted: nvidia nouveau power management dumps

 

Hi all,

Emil Velikov has re-initiated his efforts to implement power
management capabilities in the nouveau nvidia drivers.
He needs people with nv50, nv8x, and nv9x cards to provide dumps using
his nouveau-pm tool.

The instructions are in the README file contained when downloading the
package with cvs:
cvs -z3 -d:pserver:anonymous@xxxxxxxxxxxxxxxxxxxxxxxxxxx:/cvsroot/nouveau
co -P nouveau-pm

Cheers,

Albert.

====================================

Sending dumps


Pre-requirements
--------------
----------------

- any single setup NVIDIA videocard of the following generations -
nv50, nv8x, nv9x.
Note: Any additional cards (nv3x, nv4x, nvAx) are currently out of the scope of
the project If you are willing to add them please be my guest. If you do not
know the generation of your card take a look here [1]
- a working binary driver version 190.42 or above, including the -dev package
 provided by your distribution
- linux kernel with CONFIG_MMIOTRACE built-in
- the normal build-essentials, such as gcc, make etc.
- xorg-dev packages provided by your distribution
- timeout - a small program that kills a program after a specified
amount of time
- compressing programs like - xz-utils, tar and gzip



How to
------

1. Disable all of the fancy window effects that comes with "eye candy" window
managers, like compiz, KWin etc.

2. Download the relevant files
$ cvs -z3 -d:pserver:anonymous@xxxxxxxxxxxxxxxxxxxxxxxxxxx:/cvsroot/nouveau
co -P nouveau-pm

3. Compile the program
$ make

4. Exit to a virtual terminal and kill X

5. Run the following script as root
$ sudo ./init-trace.sh

6. Startup X

7. Once everything is up and running run the following script as root :
$ sudo ./run-trace.sh

Retain yourself from running anything else as it may alther the clocks and/or
increase the dump size.

Within two-three minutes you should see the message "Dumping done. Stopping
tracer" but the script will continue running (compressing the data and
collecting other information).

If the above message does not appear, stop the script manually and do
NOT send the dump.
This means that the driver did not decrease the clocks to
NV_CTRL_GPU_DEFAULT_2D_CLOCK_FREQS, which can be caused by several reasons :

 A. You are using a videocard without "dedicated video memory", i.e. the card is
 using the system memory / the card is a integrated within the motherboard

 B. The test is being run while something is connected to the HDMI/DP output
 (please send me a email if it happens with other outputs)

 Possible workarounds :
 A. Use gdb to find the lowest frequency the "integrated" videocard
reaches in a stable 2D state.
 Within 3-4 minutes look at the value returned by
NV_CTRL_GPU_CURRENT_CLOCK_FREQS.
 Set def_2d to the same value and repeat the procedure from step 3 onwards.

Example of monitor_downclocking.c (around line 170)
	check_bus_type(dpy);
	check_fans(dpy);
+	def_2d = 0x008b0078; // example of 139MHz core, and 120MHz mem
// Where def_2d is a packed integer. The upper 16bits are the core
freq and the mem
// freq is the lower 16bits. All the values are in MHz
	do
	{
		XNVCTRLQueryTargetAttribute (dpy, NV_CTRL_TARGET_TYPE_X_SCREEN, 0,

 B. Use alternative output such as VGA/DVI

8. In the end there should be a file created in your current directory called
nvXX-0xYYYYYYYY-ZZZZ.tar.gz
Where nvXX is the generation of the card (see [1] for a list), and YYYYYYYY is
the BOOT_0 and ZZZZ is the PCI_ID/DEVICE_ID

9. Please send the file, your vbios [2], along with some additional
information that you believe
to be relevant to mmio dot dumps at gmail dot com.

NOTE: When sending a dump it will be uploaded to XXX so that other
people and devs can take a look
and assist. Your EMAIL WILL BE PUBLICLY MADE available. If you wish it
may excluded just state in your email.

[1] http://nouveau.freedesktop.org/wiki/CodeNames
[2] http://nouveau.freedesktop.org/wiki/DumpingVideoBios