Git Product home page Git Product logo

Comments (8)

MaynardMiner avatar MaynardMiner commented on May 23, 2024 1

Just an update:

I don't think NVAPI is being used for their controller. I had him try multiple monitoring software like openharwaremonitor which is open source C# as well as some C programs that worked for me, but not for him.

Nvapi is only returning 1 cooler for that software as well. Only thing that works is manufacturer software for his cards. It must be the bios the user upgraded to.

Everything low level is returning one 1 fan cooler, I made some debug software that would output values as it running the lower level API...And it one returns a count of 1 and 1 coolersetting.

I'm going to close this, I think it is the after production manufacturer bios that is cause.

from nvapiwrapper.

MaynardMiner avatar MaynardMiner commented on May 23, 2024
            NVIDIA.Initialize();
            var GPUs = PhysicalGPU.GetPhysicalGPUs();

                // Change speed if applicable
                if (Speed > -1)
                {
                    var Cool = GPUs[Index].CoolerInformation.Coolers;
                    Console.WriteLine("Current Fan Speed: " + GPUs[Index].CoolerInformation.CurrentFanSpeedLevel);
                    foreach (GPUCooler cooler in Cool)
                    {
                        Console.WriteLine("Current Fan Speed For Cooler " + cooler.CoolerId + ":" + GPUs[Index].CoolerInformation.CurrentFanSpeedLevel);
                        GPUs[Index].CoolerInformation.SetCoolerSettings(cooler.CoolerId, Speed);
                    }
                    Console.WriteLine("New Fan Speed: " + Speed);
                }

Code snippet from software.
Variable Speed and Index are arguments

from nvapiwrapper.

falahati avatar falahati commented on May 23, 2024

@MaynardMiner, Hey, I got an email regarding a solution to this, but the comment is missing. Was it wrong?

from nvapiwrapper.

MaynardMiner avatar MaynardMiner commented on May 23, 2024

"So I have user that was using my software with your wrapper with no issues. He has 3 GTX 1080ti cards.

This user decided to do a bios update on the cards. Upon doing a bios update, he noticed in EVGA precision (EVGA's overclocking software) now has the option to set both fans individually. It works correctly. Prior to the bios update, only 1 fan could be set.

Using the wrapper:

CoolerInformation.Coolers

The cards only return 1 fan cooler still.

I wasn't even aware that any GTX cards could be dual-fan aware. This is news to me. The user confirmed that he can now set fans individually after bios update.

This is a photo which uses the simple software I have made, along with the EVGA precision showing the card's fan speeds. Both this user and myself can set RTX dual-fan aware cards with the software. GTX cards however are failing due to only one cooler being found.

Do you have any ideas?"

I have tried to Flip around methods in GPUCooler. Have it run the new api first for RTX, then run the old one. I thought maybe that the bios update allowed the new one to work. I confirmed that the RTX version of fan setting didn't work at all. Just the original, but it sets only the first fan.

I think the original version you made seems to only returns 1 cooler by default. Is there a way to have the old version check for multiple coolers? Or does it already, and it's just not working?

from nvapiwrapper.

MaynardMiner avatar MaynardMiner commented on May 23, 2024

I thought I solved it, but was wrong. I removed the comment. I thought the issue was that RTX method to search for GPUCooler should be first. But we found that it was still failing after I tried flipping around the methods.

from nvapiwrapper.

MaynardMiner avatar MaynardMiner commented on May 23, 2024

Later tonight, I was going to try to have it run:

                    status = GPUApi.GetClientFanCoolersStatus(PhysicalGPU.Handle);
                    info = GPUApi.GetClientFanCoolersInfo(PhysicalGPU.Handle);
                    control = GPUApi.GetClientFanCoolersControl(PhysicalGPU.Handle);

Each individually instead of a try{} catch{} for all three, to see if one in particular is failing. I mean if v1 is working, the only one that is needed is status I believe to get the cooler count if I'm reading it right. The rest of the information can be pulled from the successful v1 method (it works with the bios update).

I will report when I get the user to test it.

from nvapiwrapper.

falahati avatar falahati commented on May 23, 2024

Well, PrivateCoolerSettingsV1 supports multiple cooler information. So it should work and since it doesn't, there is probably another problem somewhere. You can try the low-level API GPUApi.GetCoolerSettings() and see what it really returns. You can also forcefully run GPUApi.SetCoolerLevels() with a greater cooler id, if this is the real method used by other software, it should be able to change the speed.

Is there any open-source program that shows you both fans? As of now, I can't think of a way to solve it except maybe diving into debugging AfterBurner again, but since this isn't even your card and you can't really help with that and the fact that I don't even own a 10xx GPU let alone a duel fan one, I can't do much for this except maybe keeping the issue open for later.

from nvapiwrapper.

MaynardMiner avatar MaynardMiner commented on May 23, 2024

I have been searching for software outside of yours that will show both fans. I haven't found any as of yet, besides linux nvidia-settings

I will see what GPUAPI.GetCoolerSettings() returns.

I will try to forcefully run GPUApi.SetCoolerLevels().

I plan to continue trying to solve. This has been the only software that has worked thus far.

from nvapiwrapper.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.