nV News Forums

 
 

nV News Forums (http://www.nvnews.net/vbulletin/index.php)
-   NVIDIA FreeBSD (http://www.nvnews.net/vbulletin/forumdisplay.php?f=47)
-   -   Understanding. Maybe. (http://www.nvnews.net/vbulletin/showthread.php?t=120310)

zBeeble42 10-01-08 11:22 AM

Understanding. Maybe.
 
I think I "understand" why my 8700M-SLI is stuck in 170Mhz mode. I was checking nvidia-settings after upgrading from 177.76 to 177.78 (nothing changed, see my 177.76 report) and I noticed that the PowerMiser Monitor screen of GPU-0 (and GPU-1) indicated that it thought we were on battery. This seems to disable (greyed out) they 275Mhz and 625Mhz options.

This might be progress. How does the driver know it's on battery? We're most certainly not on battery. The APM/ACPI dock tools seem to know that AC is connected.

Checking sysctl,

hw.acpi.acline: 1
hw.acpi.battery.life: 100
hw.acpi.battery.time: -1
hw.acpi.battery.state: 0
hw.acpi.battery.units: 1

Is this possibly an easy fix --- make the driver correctly detect power?

zander 10-01-08 11:41 AM

Re: Understanding. Maybe.
 
There's a good chance that there's code missing to properly detect the AC state on FreeBSD. I think on Linux, the X driver gets this information via various pseudo file systems. I'll take a closer look.

HenryHu 10-04-08 01:46 PM

Re: Understanding. Maybe.
 
Mine is also telling me "Battery", but if I ran something using GPU much, it would switch to higher levels such as 500/700MHz.

busbus 11-08-08 08:30 AM

Re: Understanding. Maybe.
 
i had the battery issues before aswell. check your acpi if it does its job correctly, that corrected it for me. it didnt fix the powermizer issue though.

zBeeble42 11-10-08 01:07 PM

Re: Understanding. Maybe.
 
I just checked. hw.acpi.acline gives "1" for when AC is available and "0" for when it is not. This does work correctly. I don't know where to look in linprocfs to know if it parrot's the setting correctly.

From my observation of the notebook in windows mode, I strongly suspect that the reason it sticks to 150Mhz mode on battery is that the battery system can't power the cards at higher frequencies.

Anyways... zander: thanks for looking at this --- it's one of the largest gnats in my enjoment of this laptop :).

zander 11-10-08 08:29 PM

Re: Understanding. Maybe.
 
The ACPI power state detection/reporting problem should be resolved in the next BETA driver release. Let me know if you continue to see the stuck-in-low-perf-state problem (I don't believe the AC power state detection bug was responsible for it, but the next BETA will have numerous other fixes).

zBeeble42 11-11-08 12:07 PM

Re: Understanding. Maybe.
 
excellent... how long till we see that? :)

zander 11-11-08 01:46 PM

Re: Understanding. Maybe.
 
As always, I can't provide a date, but I expect said BETA release to become available very soon.

zander 11-14-08 01:55 PM

Re: Understanding. Maybe.
 
Please see http://www.nvnews.net/vbulletin/showthread.php?t=123092.

tut 12-04-08 07:36 PM

Power source detection
 
Quote:

Originally Posted by zander (Post 1845048)

I tried 180.06 and 180.11 also. It doesn't work on my notebook:
  • Hardware GeForce Go 6100
  • OS FreeBSD 7.1-PRERELEASE
  • X xorg-7.3_2
  • Driver nvidia-driver-180.11
Code:

[battery] $ sysctl hw.acpi.acline; nvidia-settings -q GPUPowerSource -t
hw.acpi.acline: 0
0

[AC] $ sysctl hw.acpi.acline; nvidia-settings -q GPUPowerSource -t
hw.acpi.acline: 1
0

BTW, you can find proper power source detection example in src/usr.sbin/powerd/powerd.c - see 'acline_init' and 'acline_read' functions. Note that sometimes ACPI may be absent or disabled because of broken BIOS so power source detection using APM is preferable in the case.

tut 12-07-08 12:29 AM

Re: Power source detection
 
Quote:

Originally Posted by tut (Post 1864252)
BTW, you can find proper power source detection example in src/usr.sbin/powerd/powerd.c - see 'acline_init' and 'acline_read' functions. Note that sometimes ACPI may be absent or disabled because of broken BIOS so power source detection using APM is preferable in the case.

zander, I've found following line in 'nvidia_drv.so' file:
Code:

!system=ACPI subsystem=ACAD type=\_SB_.AC__ notify=%x
It seems you are using wrong pattern. Look at following messages on my notebook:
Code:

!system=ACPI subsystem=ACAD type=\_SB_.PCI0.AC0_ notify=0x00
!system=ACPI subsystem=ACAD type=\_SB_.PCI0.AC0_ notify=0x01

I'm not sure you should do hardcoded 'type' parameter matching, numbers may vary. And as I wrote before the best method is in powerd.c implementation.

tut 12-07-08 02:06 AM

[WORKAROUND] Power source detection
 
I was right. Have just replaced
Code:

!system=ACPI subsystem=ACAD type=\_SB_.AC__ notify=%x
with
Code:

!system=ACPI subsystem=ACAD type=%*s notify=%x
in 'nvidia_drv.so' binary using hex editor and voilą - it works:
Code:

[battery] $ sysctl hw.acpi.acline; nvidia-settings -q GPUPowerSource -t
hw.acpi.acline: 0
1

[AC] $ sysctl hw.acpi.acline; nvidia-settings -q GPUPowerSource -t
hw.acpi.acline: 1
0



All times are GMT -5. The time now is 11:07 PM.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright ©1998 - 2014, nV News.