Your message dated Tue, 04 Oct 2011 12:01:08 +0200
with message-id <[email protected]>
and subject line Re: nvidia-settings: Overclocking Auto Detect never available
has caused the Debian Bug report #447517,
regarding nvidia-settings: Overclocking Auto Detect never available
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
447517: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=447517
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: nvidia-settings
Version: 1.0+20070502-1
Severity: normal


After some major system "upgrades" (switching RAM sticks, motherboard,
PSU, graphic cards and xservers) I found that nvidia-settings no
longer could auto-detect the optimal overclocking frequencies.
The "Auto Detect" button would always be greyed out even though I had
enabled "Coolbits" in Xorg.conf

I downgraded nvidia-settings to the version in testing
(1.0+20060516-3) and suddenly "Auto Detect" would be available.
After some further digging I think I found the bug;

The problem is that according NVCtrl.h (from nvidia-settings/testing)
NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION is a write-only attribute so
  NvCtrlGetAttribute(..,NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION,..)
will always fail.

There should be a way to discover if the current card support optimal frequency 
detection,
but trying to read a write-only attribute isn't the way. :)
Removing the attempted read of NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION
enables the "Auto Detect" button again.

I haven't checked if this is fixed in the upstream version.


I'll attach quick-and-dirty patch later



- the friendly but rusty hacker Mikael Ã…kersund


Quotes from relevent files below

File: nvidia-settings-1.0+20070502/src/gtk+-2.x/ctkclocks.c
Line 320:
if ( overclocking_enabled ) {
        ret = NvCtrlGetAttribute(handle,
                                 NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION,
                                 &value);
   if ( ret == NvCtrlSuccess ) {                       # <---- Will always fail
      ret = NvCtrlGetAttribute(handle,
                               NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_STATE,
                               &value);
      if (
          ret != NvCtrlSuccess )
        return NULL;
      probing_optimal =
        (value ==
         NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_STATE_BUSY);
      auto_detection_available = TRUE;
   }
}


Here's a snip from   /usr/include/NVCtrl/NVCtrl.h
  [Line 1244]:
/*
 *  * NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION - set to _START to
 *  * initiate testing for the optimal 3D clock frequencies.  Once
 *  * found, the optimal clock frequencies will be returned by the
 *  * NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS attribute asynchronously
 *  * (using an X event, see XNVCtrlSelectNotify).
 *  *
 *  * To cancel an ongoing test for the optimal clocks, set the
 *  * NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION attribute to _CANCEL
 *  *
 *  * Note: unless NV_CTRL_GPU_OVERCLOCKING_STATE is set to _MANUAL, the
 *  * optimal clock detection process is unavailable.
 *  */

#define NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION               95  /* -W- */   
  # <--- No reading!
#define NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_START          0
#define NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_CANCEL         1



--------------------------------------------

-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (990, 'testing'), (140, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.22-4-d3-ul8-1
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages nvidia-settings depends on:
ii  libatk1.0-0                  1.20.0-1    The ATK accessibility toolkit
ii  libc6                        2.6.1-1     GNU C Library: Shared libraries
ii  libcairo2                    1.4.10-1+b2 The Cairo 2D vector graphics libra
ii  libfontconfig1               2.4.2-1.2   generic font configuration library
ii  libglib2.0-0                 2.14.1-5    The GLib library of C routines
ii  libgtk2.0-0                  2.10.13-1   The GTK+ graphical user interface
ii  libpango1.0-0                1.18.2-1    Layout and rendering of internatio
ii  libx11-6                     2:1.0.3-7   X11 client-side library
ii  libxcursor1                  1:1.1.9-1   X cursor management library
ii  libxext6                     1:1.0.3-2   X11 miscellaneous extension librar
ii  libxfixes3                   1:4.0.3-2   X11 miscellaneous 'fixes' extensio
ii  libxi6                       2:1.1.3-1   X11 Input extension library
ii  libxinerama1                 1:1.0.2-1   X11 Xinerama extension library
ii  libxrandr2                   2:1.2.2-1   X11 RandR extension library
ii  libxrender1                  1:0.9.4-1   X Rendering Extension client libra

Versions of packages nvidia-settings recommends:
ii  nvidia-glx                   100.14.19-1 NVIDIA binary Xorg driver

-- no debconf information


_________________________________________________________________
Explore the seven wonders of the world
http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
--- ctkclocks.c.orig	2007-10-21 21:29:28.000000000 +0200
+++ ctkclocks.c	2007-10-21 21:38:34.000000000 +0200
@@ -319,18 +319,13 @@
     
     if ( overclocking_enabled ) {
         ret = NvCtrlGetAttribute(handle,
-                                 NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION,
-                                 &value);
-        if ( ret == NvCtrlSuccess ) {
-            ret = NvCtrlGetAttribute(handle,
-                                     NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_STATE,
-                                     &value);
-            if ( ret != NvCtrlSuccess )
-                return NULL;
-            probing_optimal =
-                (value == NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_STATE_BUSY);
-            auto_detection_available = TRUE;
-        }
+				 NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_STATE,
+				 &value);
+	if ( ret != NvCtrlSuccess )
+	    return NULL;
+	probing_optimal =
+	    (value == NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_STATE_BUSY);
+	auto_detection_available = TRUE;
     }
 
     /* Can we access the 2D clocks? */

--- End Message ---
--- Begin Message ---
On 2011-05-17 20:36, Mikael Ã…kersund wrote:
> Just week ago I updated to a new graphics card (Gtx 560Ti) which seems to 
> have overclocking disabled all-together in Nvidia's drivers (270.41.06-1) 
> so I can't verify 100% that the bug is gone right now.
> IIRC the bug was fixed after a couple of months as I can clearly remember 
> trying out how high my previous graphics cards would overclock.

In that case I'll close this report now as unreproducible.


Andreas


--- End Message ---

Reply via email to