Is it perhaps possible to write fixed frequencies and voltages to the videocard's firmware?

Status
Not open for further replies.

Nazo

2[H]4U
Joined
Apr 2, 2002
Messages
3,643
So let me preface this for the thread skimmers with the fact that I already know this has a lot of potential major disadvantages including the fact that a card could be effectively rendered bricked if one really really screwed up. I'd like to not spend a week arguing with someone explaining why everything I do is wrong and instead try to focus on if this can be done and how someone like myself might theoretically actually do it. I will not be recommending that any friends or family members use this and, in fact, would specifically recommend against it to most.

First, I'd like to provide a slight bit of background. I recently got a Ryzen 5600X and was pretty disappointed by its heat production. After reading a bunch of threads where the best scenario is generally given as to use PBO to adjust the voltage curve down a bit but still not getting it low enough I felt satisfied, I tried a trick I used with my old 2600 a while back of setting an all core frequency override. (In the case of the 2600 that meant a loss of the full boost capabilities of the best core, but all the other cores were going faster and I definitely saw a very positive performance benefit in a lot of games and such when I did this.) In this case I was actually going down though. Instead of the 4.6GHz it's capable of, I ended up on 4.3GHz with voltage lowered down to 1.10625 and incredible temperatures. I get the theory of "race to idle" but it only applies when "idle" actually has meaning and in actual practice with the way I use my CPU this actually works exceptionally well. I think the concept of "race to idle" fails when a true idle condition isn't the actual way one uses the device. My CPU no longer deals with scheduling stuff or anything like that and I've set it to a point below where the voltage requirements ramp up quickly (I never fully tested 4.6, but it's probably at least 1.3V -- probably 1.35 -- which is not far below stock anyway) so, along with the lower voltage I've set it actually runs quite a lot cooler than it ever did on stock, yet in a lot of things ultimately performs better (thermal throttling initially was dropping the CPU on all stock settings below 4.2GHz when under really heavy usage. I've since changed the heatsink, but this still would have produced a much better result on stock.) This actually has the really cool side effect of greatly reducing thermal cycling on this chip since the voltage is fixed. (It still heats up faster than a hair dryer under really heavy usage, but the temperature does go up slower than it did before, it goes to a lower max value, and then it goes back down much much slower after to a minimum that is really only a bit higher than the stock minimum.)

Actually, I just want to say that with modern devices I'm beginning to think we need to retire the word "overclocking" and instead use something else ("overspeccing" I guess?) because there's more and more of this sort of thing these days (my favorite being that we still call raising the CPU/GPU above the stock underclocking on devices like the Nintendo Switch closer to the actual official chip specifications themselves "overclocking" even though we're really just reducing or disabling the underclocking and not actually going over the original maximums.)

Anyway, I would like to do this with my videocard. I'd like to see no more scheduling, but also I'd like to actually change the clocks and voltages to reduce each a bit so it runs generally cooler. (Yes I'll lose maximum performance. I don't think any game has used more than ~60% of my card anyway though. Especially since I play in 1080p.) Well, I'd like it best if it could at least still have 2D and 3D modes where it goes way down when not being used if that is theoretically possible. To some extent I get a bit of what I want by setting the video drivers to high performance. However, the moment the GPU goes into 3D mode, it no longer can scale down with this set, so sits at a really high temperature just idling at <=1% GPU usage. It also seems to be nonresponsive about disabling high performance mode and stays there until I reboot apparently. (Don't know if this is a bug in the current official drivers or what, but it seems unlikely they'd miss something this big, so I assume it's just how the card itself handles things or something.) If I combine high performance in that with a frequency+voltage curve lowering in something like MSI Afterburner (which seems to work with my Zotac card) it somewhat gets where I want. But this is super messy and I don't like relying on software solutions for these things. (Such software can break with updates -- sometimes even including OS or driver updates rather than the software itself -- gets bloated, is Windows only, etc etc. I'm hoping we can not argue about this, but I suppose if it must happen I'd appreciate if it didn't go on for days, thanks.) For my CPU this was a complete non-issue -- I just set the frequency and voltage in the BIOS and boom, done. (If anything it's actually 100x easier than messing with curve adjustments.)

What I'd truly like to see is something that could write some sort of override to the GPU's own firmware (yeah, I realize the risk factor in this as stated in the first of this post) so it works completely independently of everything. Preferably something that can override the curve to fixed values for actual gaming but would still allow it to drop down when idle (since it doesn't handle an idle or near idle state at full clock/voltage as well as my CPU apparently does.) I know this has actually been done in the past for videocards. I even used one once back in the days when I did my most overclocking (quite a number of years ago I admit) to manually unlock cores and adjust voltages and clocks on one of my videocards. (At the time I was going up, not down, so it did eventually die but did quite well for quite a long time before it finally did.) Of course, that was a long time ago -- in fact, there weren't even software options for things like voltage adjustments at the time. It's likely no one makes anything quite so convenient today. But something like hex editing a backup of my card's firmware is also basically beyond me. Is such a thing reasonably possible to those of us incapable of basically outright hacking such a thing?
 

duronboy

Gawd
Joined
Feb 1, 2003
Messages
549
I must have missed what video card you have. Zotac something.

Have you thought about just upgrading the card's cooling? Just get a bigger heatsink. Lower temps, lower noise, no safrifice in performance(probably a gain in performance). Maybe a dual-tower CPU heatsink? Sometimes this isn't practical due to case and mobo layouts, not to mention the position of the GPU chip on the PCB. But there are ways to overcome that. Sometimes you can upgrade to a cooler from an older-gen GPU that had a higher TDP.

If you have great case airflow, and you don't have a blower-style card, you can try removing the card's shroud and just adding a couple larger fans. Lower RPM, less noise, more air, lower temps?
 

travm

[H]ard|Gawd
Joined
Feb 26, 2016
Messages
1,899
Video cards of the gaming variety generally spend more time idling than pushing frames like badasses. Likely no one has ever considered doing this.
 

cdabc123

Supreme [H]ardness
Joined
Jun 21, 2016
Messages
4,096
Flashing the vbios on older and cars is super easy and ya could mod almost anything you want. Most people just flash a new max power state voktage and clock and call it a day as that is where the card will always be running under load.

Undervolting will save some power. You can undervolt in overclocking utilities and avoid the vbios flash if thats all you want.
 

oldmanbal

2[H]4U
Joined
Aug 27, 2010
Messages
2,613
some miners flash ygeir carda to only run at a certain freq and voltage, so yes this ia something people do
 

cdabc123

Supreme [H]ardness
Joined
Jun 21, 2016
Messages
4,096
some miners flash ygeir carda to only run at a certain freq and voltage, so yes this ia something people do
You can change mem timings (voltage too) with a vbios flash. It helps alot for mining and utilities arnt able to do it
 
Last edited:

ZodaEX

Supreme [H]ardness
Joined
Sep 17, 2004
Messages
4,559
So let me preface this for the thread skimmers with the fact that I already know this has a lot of potential major disadvantages including the fact that a card could be effectively rendered bricked if one really really screwed up. I'd like to not spend a week arguing with someone explaining why everything I do is wrong and instead try to focus on if this can be done and how someone like myself might theoretically actually do it. I will not be recommending that any friends or family members use this and, in fact, would specifically recommend against it to most.

First, I'd like to provide a slight bit of background. I recently got a Ryzen 5600X and was pretty disappointed by its heat production. After reading a bunch of threads where the best scenario is generally given as to use PBO to adjust the voltage curve down a bit but still not getting it low enough I felt satisfied, I tried a trick I used with my old 2600 a while back of setting an all core frequency override. (In the case of the 2600 that meant a loss of the full boost capabilities of the best core, but all the other cores were going faster and I definitely saw a very positive performance benefit in a lot of games and such when I did this.) In this case I was actually going down though. Instead of the 4.6GHz it's capable of, I ended up on 4.3GHz with voltage lowered down to 1.10625 and incredible temperatures. I get the theory of "race to idle" but it only applies when "idle" actually has meaning and in actual practice with the way I use my CPU this actually works exceptionally well. I think the concept of "race to idle" fails when a true idle condition isn't the actual way one uses the device. My CPU no longer deals with scheduling stuff or anything like that and I've set it to a point below where the voltage requirements ramp up quickly (I never fully tested 4.6, but it's probably at least 1.3V -- probably 1.35 -- which is not far below stock anyway) so, along with the lower voltage I've set it actually runs quite a lot cooler than it ever did on stock, yet in a lot of things ultimately performs better (thermal throttling initially was dropping the CPU on all stock settings below 4.2GHz when under really heavy usage. I've since changed the heatsink, but this still would have produced a much better result on stock.) This actually has the really cool side effect of greatly reducing thermal cycling on this chip since the voltage is fixed. (It still heats up faster than a hair dryer under really heavy usage, but the temperature does go up slower than it did before, it goes to a lower max value, and then it goes back down much much slower after to a minimum that is really only a bit higher than the stock minimum.)

Actually, I just want to say that with modern devices I'm beginning to think we need to retire the word "overclocking" and instead use something else ("overspeccing" I guess?) because there's more and more of this sort of thing these days (my favorite being that we still call raising the CPU/GPU above the stock underclocking on devices like the Nintendo Switch closer to the actual official chip specifications themselves "overclocking" even though we're really just reducing or disabling the underclocking and not actually going over the original maximums.)

Anyway, I would like to do this with my videocard. I'd like to see no more scheduling, but also I'd like to actually change the clocks and voltages to reduce each a bit so it runs generally cooler. (Yes I'll lose maximum performance. I don't think any game has used more than ~60% of my card anyway though. Especially since I play in 1080p.) Well, I'd like it best if it could at least still have 2D and 3D modes where it goes way down when not being used if that is theoretically possible. To some extent I get a bit of what I want by setting the video drivers to high performance. However, the moment the GPU goes into 3D mode, it no longer can scale down with this set, so sits at a really high temperature just idling at <=1% GPU usage. It also seems to be nonresponsive about disabling high performance mode and stays there until I reboot apparently. (Don't know if this is a bug in the current official drivers or what, but it seems unlikely they'd miss something this big, so I assume it's just how the card itself handles things or something.) If I combine high performance in that with a frequency+voltage curve lowering in something like MSI Afterburner (which seems to work with my Zotac card) it somewhat gets where I want. But this is super messy and I don't like relying on software solutions for these things. (Such software can break with updates -- sometimes even including OS or driver updates rather than the software itself -- gets bloated, is Windows only, etc etc. I'm hoping we can not argue about this, but I suppose if it must happen I'd appreciate if it didn't go on for days, thanks.) For my CPU this was a complete non-issue -- I just set the frequency and voltage in the BIOS and boom, done. (If anything it's actually 100x easier than messing with curve adjustments.)

What I'd truly like to see is something that could write some sort of override to the GPU's own firmware (yeah, I realize the risk factor in this as stated in the first of this post) so it works completely independently of everything. Preferably something that can override the curve to fixed values for actual gaming but would still allow it to drop down when idle (since it doesn't handle an idle or near idle state at full clock/voltage as well as my CPU apparently does.) I know this has actually been done in the past for videocards. I even used one once back in the days when I did my most overclocking (quite a number of years ago I admit) to manually unlock cores and adjust voltages and clocks on one of my videocards. (At the time I was going up, not down, so it did eventually die but did quite well for quite a long time before it finally did.) Of course, that was a long time ago -- in fact, there weren't even software options for things like voltage adjustments at the time. It's likely no one makes anything quite so convenient today. But something like hex editing a backup of my card's firmware is also basically beyond me. Is such a thing reasonably possible to those of us incapable of basically outright hacking such a thing?

You shouldn't be using high performance mode in your GPU drivers since you want your card to be able to ramp down lower during near-idle. It's a case of getting poorer result because of over tweaking.
 

LigTasm

Supreme [H]ardness
Joined
Jul 29, 2011
Messages
5,632
I remember back in the fermi days you could write a custom vbios with the p-states how you wanted it. Not sure if you can still do that now.
 

Nazo

2[H]4U
Joined
Apr 2, 2002
Messages
3,643
I must have missed what video card you have. Zotac something.

Have you thought about just upgrading the card's cooling? Just get a bigger heatsink. Lower temps, lower noise, no safrifice in performance(probably a gain in performance). Maybe a dual-tower CPU heatsink? Sometimes this isn't practical due to case and mobo layouts, not to mention the position of the GPU chip on the PCB. But there are ways to overcome that. Sometimes you can upgrade to a cooler from an older-gen GPU that had a higher TDP.

If you have great case airflow, and you don't have a blower-style card, you can try removing the card's shroud and just adding a couple larger fans. Lower RPM, less noise, more air, lower temps?
I didn't say what specific card. Not sure it's applicable since I'm more specifically wondering about a more generic way of doing it, but it is their 3060 Ti LHR model. (So I guess applicable in terms of if there is a miner specific firmware it presumably wouldn't be compatible.) I can't really afford to buy a different cooler for this card, but actually I'm not sure that it needs one. ATM it's not exceeding 70C (so much so that I'm actually kind of wanting to get a look at its firmware settings also in part because I want to make sure they didn't accidentally set the thermal limit to 70 instead of the 83 it's supposed to be set to.) I already cleaned it and added Arctic Cooling MX4 (I don't have MX5, but MX4 is still extremely good even today) which did actually make it drop roughly 3 degrees or so and I have given it plenty of clearance and airflow. I even modded my case with a side fan pointing a bit between the videocard and the CPU (like I said, this CPU has temperature ramping issues, but GPUs have always been tricky. Especially since their cooling is usually designed to recycle air at least a little bit. My previous one even had the heatsink fins turned horizontally instead of vertically so all air would go out into the case instead of out the holes in the back, lol.) I would actually very much like to see a better heatsink designed with one of those side blower fans to force all the air out the back instead of recycling, but that seems to not be a thing. Regardless though, I can't buy heatsinks right now.

That said, my goal here isn't actually specifically cooling. Like I said, it's actually doing ok in that regard. Perhaps too good. (Again, this model is supposed to be thermal limiting at 83, but I'd swear it's limiting to 70 because even something that used the GPU at 100% -- I think it actually had a bug or feature that pushed the GPU harder than it was supposed to because a driver update made it stop doing it -- did not exceed 70.) It's to stop the on-the-fly governing that normally goes on. And we can go back and forth about the disadvantages of this, why it's not perfectly ideal, etc etc, but I would like to at least try it and see the results along with an easier time messing with voltages (testing a whole curve is a pain in the rear!) and double checking the thermal throttling limit along the way.

You shouldn't be using high performance mode in your GPU drivers since you want your card to be able to ramp down lower during near-idle. It's a case of getting poorer result because of over tweaking.
I did literally say I didn't want to be using high performance mode. That said, I do want to avoid too much governing too. What I'm specifically looking for is for the scaling to just stop while under actual use, which basically is what high performance mode does. It would be great if it could scale down when idle and only when idle though. Naturally that does make a huge difference temperature and efficiency-wise, but not quite as much as you may think. (Remember, even if the voltage doesn't go down, it does simply use less current when it's being used less, so there is still less power usage at idle when at full speed, just not as much less.) Right now what I'm doing is writing specific game profiles per game in the drivers to put only games at high performance, which is a good alternative (better in some ways) but it's a pain because I have to manually add each game and I do forget when installing a new game. The driver app is very very slow and awkward (I have always hated it since they switched to such bloated drivers -- I miss the days of drivers just being drivers and being more in the order of 50MB than the nearly 500 they are today. This isn't even nVidia specific as AMD and even Intel's video drivers are also bloated these days.) I also have a bunch of games (especially since that system basically is my "high performance" PC -- more or less a gaming PC though I do use it for stuff like GIMP or etc that can push systems a bit -- with a second very minimal PC dedicated to most non-gaming purposes.) This is messy and I'd like to find a cleaner method. nVidia used to have a performance profile called "adaptive" that was basically full power in games and low power out of games that they've removed in favor of either the normal curve or the high performance mode and I'd sort of like to reproduce that if possible. However, it may be too lenient or too extreme and defeat the purpose, so I'm not completely unwilling to try going to completely high performance if that's what it takes.


some miners flash ygeir carda to only run at a certain freq and voltage, so yes this ia something people do
You can change mem timings (voltage too) with a vbios flash. It helps alot for mining and utilities arnt able to do it
Yes, this is the kind of thing I'm looking for. But how? It's not like nvflash has a command for this -- or if it does it's well hidden because I sure didn't see it. (I've already backed up my video card's firmware pretty much first thing.) My GPU manufacturer doesn't even have a program for GPU firmware flashing -- the last time they issued an update (the BAR support thing) it was the firmware this on already had (so it won't even flash.) What method do they use to manage those things? Is there any specific tool out there or are they actually manually hacking their own firmwares in hex editors or something? Because it's definitely beyond me to try to hack the firmware by hand...


BTW, possibly not relevant, but it seems there is a firmware available on TechPowerup for this model card that has a higher version number on it, but it's apparently a completely different revision of this card because nvflash absolutely refuses to flash it even with the -6 command that's supposed to make it not check. On that note, GPU-Z's BIOS features produce errors that it's not available for this card interestingly enough.
 

duronboy

Gawd
Joined
Feb 1, 2003
Messages
549
it's not exceeding 70C (so much so that I'm actually kind of wanting to get a look at its firmware settings also in part because I want to make sure they didn't accidentally set the thermal limit to 70
Well, there had to be a reason you wanted to lower temps? You have a 200w card that isn't exceeding 70c. If I didn't know any better I'd say it almost sounds like you're looking for a problem that isn't there. If benchmarks come out alright you could try MSI Kombustor to light it up. If you don't see a rise above 70c with Kombustor, then you might start looking deeper. Using something like Open Hardware Monitor to watch the core clock while watching the temp rise could reveal something.

When you change thermal paste, don't forget about thermal pads for the VRAM. I looked at this video and got some Nab Cooling thermal pads. Probably unnecessary for my old GDDR5 card.
 

cdabc123

Supreme [H]ardness
Joined
Jun 21, 2016
Messages
4,096
I didn't say what specific card. Not sure it's applicable since I'm more specifically wondering about a more generic way of doing it, but it is their 3060 Ti LHR model. (So I guess applicable in terms of if there is a miner specific firmware it presumably wouldn't be compatible.) I can't really afford to buy a different cooler for this card, but actually I'm not sure that it needs one. ATM it's not exceeding 70C (so much so that I'm actually kind of wanting to get a look at its firmware settings also in part because I want to make sure they didn't accidentally set the thermal limit to 70 instead of the 83 it's supposed to be set to.) I already cleaned it and added Arctic Cooling MX4 (I don't have MX5, but MX4 is still extremely good even today) which did actually make it drop roughly 3 degrees or so and I have given it plenty of clearance and airflow. I even modded my case with a side fan pointing a bit between the videocard and the CPU (like I said, this CPU has temperature ramping issues, but GPUs have always been tricky. Especially since their cooling is usually designed to recycle air at least a little bit. My previous one even had the heatsink fins turned horizontally instead of vertically so all air would go out into the case instead of out the holes in the back, lol.) I would actually very much like to see a better heatsink designed with one of those side blower fans to force all the air out the back instead of recycling, but that seems to not be a thing. Regardless though, I can't buy heatsinks right now.

That said, my goal here isn't actually specifically cooling. Like I said, it's actually doing ok in that regard. Perhaps too good. (Again, this model is supposed to be thermal limiting at 83, but I'd swear it's limiting to 70 because even something that used the GPU at 100% -- I think it actually had a bug or feature that pushed the GPU harder than it was supposed to because a driver update made it stop doing it -- did not exceed 70.) It's to stop the on-the-fly governing that normally goes on. And we can go back and forth about the disadvantages of this, why it's not perfectly ideal, etc etc, but I would like to at least try it and see the results along with an easier time messing with voltages (testing a whole curve is a pain in the rear!) and double checking the thermal throttling limit along the way.


I did literally say I didn't want to be using high performance mode. That said, I do want to avoid too much governing too. What I'm specifically looking for is for the scaling to just stop while under actual use, which basically is what high performance mode does. It would be great if it could scale down when idle and only when idle though. Naturally that does make a huge difference temperature and efficiency-wise, but not quite as much as you may think. (Remember, even if the voltage doesn't go down, it does simply use less current when it's being used less, so there is still less power usage at idle when at full speed, just not as much less.) Right now what I'm doing is writing specific game profiles per game in the drivers to put only games at high performance, which is a good alternative (better in some ways) but it's a pain because I have to manually add each game and I do forget when installing a new game. The driver app is very very slow and awkward (I have always hated it since they switched to such bloated drivers -- I miss the days of drivers just being drivers and being more in the order of 50MB than the nearly 500 they are today. This isn't even nVidia specific as AMD and even Intel's video drivers are also bloated these days.) I also have a bunch of games (especially since that system basically is my "high performance" PC -- more or less a gaming PC though I do use it for stuff like GIMP or etc that can push systems a bit -- with a second very minimal PC dedicated to most non-gaming purposes.) This is messy and I'd like to find a cleaner method. nVidia used to have a performance profile called "adaptive" that was basically full power in games and low power out of games that they've removed in favor of either the normal curve or the high performance mode and I'd sort of like to reproduce that if possible. However, it may be too lenient or too extreme and defeat the purpose, so I'm not completely unwilling to try going to completely high performance if that's what it takes.




Yes, this is the kind of thing I'm looking for. But how? It's not like nvflash has a command for this -- or if it does it's well hidden because I sure didn't see it. (I've already backed up my video card's firmware pretty much first thing.) My GPU manufacturer doesn't even have a program for GPU firmware flashing -- the last time they issued an update (the BAR support thing) it was the firmware this on already had (so it won't even flash.) What method do they use to manage those things? Is there any specific tool out there or are they actually manually hacking their own firmwares in hex editors or something? Because it's definitely beyond me to try to hack the firmware by hand...


BTW, possibly not relevant, but it seems there is a firmware available on TechPowerup for this model card that has a higher version number on it, but it's apparently a completely different revision of this card because nvflash absolutely refuses to flash it even with the -6 command that's supposed to make it not check. On that note, GPU-Z's BIOS features produce errors that it's not available for this card interestingly enough.
Apologies, its pretty hard to get through some of these text walls so I just skimmed it.

You can't vbios mod a 3060ti. nvidia encrypts the bios and will prevent it from flashing.


Undervolt the card abit in msi afterburner and let the drivers do the normal things. This will save abit of power and temps at max load and the card will still use almost nothing at idle
 
Last edited:

kirbyrj

Fully [H]
Joined
Feb 1, 2005
Messages
30,228
I would just setup an Afterburner Profile to run at 80% of the power limit (or less) and let afterburner run at startup, etc. You'd still have the advantage of using the fancy boost algorithms just with less power available to it.
 

Nazo

2[H]4U
Joined
Apr 2, 2002
Messages
3,643
Well, there had to be a reason you wanted to lower temps? You have a 200w card that isn't exceeding 70c.
Several reasons. But, more importantly:
I'd like to not spend a week arguing with someone explaining why everything I do is wrong and instead try to focus on if this can be done and how someone like myself might theoretically actually do it.
Every time I ask for help with something unusual this happens. But if it were a normal thing I wouldn't need help with it. I realize not everyone agrees. I realize that from most people's points of view this is wrong. Can we skip this part for now? I promise if you really really want to we can get back to it later.


Apologies, its pretty hard to get through some of these text walls so I just skimmed it.
I wish people wouldn't. The text is there for a reason. I didn't talk about what I did over the weekend or describe air fryer recipes or something. I put in details about the process, what I'm trying to do, and etc.
You can't vbios mod a 3060ti. nvidia encrypts the bios and will prevent it from flashing.
Hmm. But wouldn't that basically apply to pretty much everything they make? If people are doing it I suppose maybe they have some means of decrypting it or something? I would imagine they probably encrypt most of them for most of their cards really, so for people to have pretty much ever done this I would have to assume they've found a way.
 

cdabc123

Supreme [H]ardness
Joined
Jun 21, 2016
Messages
4,096
Several reasons. But, more importantly:

Every time I ask for help with something unusual this happens. But if it were a normal thing I wouldn't need help with it. I realize not everyone agrees. I realize that from most people's points of view this is wrong. Can we skip this part for now? I promise if you really really want to we can get back to it later.



I wish people wouldn't. The text is there for a reason. I didn't talk about what I did over the weekend or describe air fryer recipes or something. I put in details about the process, what I'm trying to do, and etc.

Hmm. But wouldn't that basically apply to pretty much everything they make? If people are doing it I suppose maybe they have some means of decrypting it or something? I would imagine they probably encrypt most of them for most of their cards really, so for people to have pretty much ever done this I would have to assume they've found a
Looking into it you can flash a different vbios provided it happens to be the right one for your card. A modded vbios would have a incorrect checksum which you cannot flash. This had been the case for all recent nvidia cards.

Changing the vbios was (is?) Popular for amd cards as you could hexmod the roms and there were many easy guis for that. That allowed for better control over power state voltage settings, tdp settings, and memory (including timings which helped eth mining on rx 480s quite abit).

Something you may be able to do, flash a vbios from a card that has a different thermal solution. This will change fan curve tdp voltage and clocks.

Although you can just do all of that through msi afterburner so why not use that instead?
 

duronboy

Gawd
Joined
Feb 1, 2003
Messages
549
Although you can just do all of that through msi afterburner so why not use that instead?
They say that's messy and updates can break things. Which I can identify with.

You know what updates don't break? Larger heatsinks and larger fans. But, they don't want to spend money on larger hardware. Which I can identify with.
 

ZodaEX

Supreme [H]ardness
Joined
Sep 17, 2004
Messages
4,559
They say that's messy and updates can break things. Which I can identify with.

You know what updates don't break? Larger heatsinks and larger fans. But, they don't want to spend money on larger hardware. Which I can identify with.

Par for the course. You always risk breaking things with updates. I suggest you do what I do, and use Windows 7. It doesn't have nuisance updates that break things every couple of months.
 

cdabc123

Supreme [H]ardness
Joined
Jun 21, 2016
Messages
4,096
They say that's messy and updates can break things. Which I can identify with.

You know what updates don't break? Larger heatsinks and larger fans. But, they don't want to spend money on larger hardware. Which I can identify with.
Yup it is a possibility. I had a old r9 290 that would alternate between linux and Windows and I had the overclock vbios flashed so I didnt have to deal with different utilities in different os. It was convenient and worked well

Unfortunately I dont believe that's possible with modern nvidia cards.
 

lopoetve

Extremely [H]
Joined
Oct 11, 2001
Messages
33,306
Ok, I'll take a swing at this.
Several reasons. But, more importantly:

Every time I ask for help with something unusual this happens. But if it were a normal thing I wouldn't need help with it. I realize not everyone agrees. I realize that from most people's points of view this is wrong. Can we skip this part for now? I promise if you really really want to we can get back to it later.
Because we're trying to figure out what you want to accomplish; generally what you want to do is not done anymore (encrypted bios, difficult, dangerous), but your ~outcome~ is almost certainly hit in a different fashion. Aim for outcomes, not processes - don't define the work based on the tool, define the work based on what you want to accomplish.
I wish people wouldn't. The text is there for a reason. I didn't talk about what I did over the weekend or describe air fryer recipes or something. I put in details about the process, what I'm trying to do, and etc.
Not, quite... but ok.
Hmm. But wouldn't that basically apply to pretty much everything they make? If people are doing it I suppose maybe they have some means of decrypting it or something? I would imagine they probably encrypt most of them for most of their cards really, so for people to have pretty much ever done this I would have to assume they've found a way.
Very few do it these days; it's generally mining companies that want to tweak the shit out of things, and they're not sharing a lot of what they find/manage/etc. And their goals (and the published bios that results, if they do share) are not your goals, unless you're looking to maximize MH/hr.
I didn't say what specific card. Not sure it's applicable since I'm more specifically wondering about a more generic way of doing it, but it is their 3060 Ti LHR model.
It matters. REALLY matters.
(So I guess applicable in terms of if there is a miner specific firmware it presumably wouldn't be compatible.)
This is partially why.
I can't really afford to buy a different cooler for this card, but actually I'm not sure that it needs one. ATM it's not exceeding 70C (so much so that I'm actually kind of wanting to get a look at its firmware settings also in part because I want to make sure they didn't accidentally set the thermal limit to 70 instead of the 83 it's supposed to be set to.) I already cleaned it and added Arctic Cooling MX4 (I don't have MX5, but MX4 is still extremely good even today) which did actually make it drop roughly 3 degrees or so and I have given it plenty of clearance and airflow. I even modded my case with a side fan pointing a bit between the videocard and the CPU (like I said, this CPU has temperature ramping issues, but GPUs have always been tricky. Especially since their cooling is usually designed to recycle air at least a little bit. My previous one even had the heatsink fins turned horizontally instead of vertically so all air would go out into the case instead of out the holes in the back, lol.) I would actually very much like to see a better heatsink designed with one of those side blower fans to force all the air out the back instead of recycling, but that seems to not be a thing. Regardless though, I can't buy heatsinks right now.
This is called a blower-style card. They exist, but aren't advertised all that much as the cooling tends to be not notably better than the alternative, and they tend to be noisier (that style of fan isn't the most efficient at moving air for a given DB level - which is the priority for the majority of folks). Also heavily used in the datacenter space, as you have to eject air outside the chassis - this has actually resulted in limited production, as major commercial customers were using consumer blower cards instead of buying enterprise cards (I have a customer that was literally buying 6 2080TI blower cards for each R730) for ML work - Nvidia frowns on this as it's less profit for them.
That said, my goal here isn't actually specifically cooling. Like I said, it's actually doing ok in that regard. Perhaps too good. (Again, this model is supposed to be thermal limiting at 83, but I'd swear it's limiting to 70 because even something that used the GPU at 100% -- I think it actually had a bug or feature that pushed the GPU harder than it was supposed to because a driver update made it stop doing it -- did not exceed 70.) It's to stop the on-the-fly governing that normally goes on. And we can go back and forth about the disadvantages of this, why it's not perfectly ideal, etc etc, but I would like to at least try it and see the results along with an easier time messing with voltages (testing a whole curve is a pain in the rear!) and double checking the thermal throttling limit along the way.
Then what exactly is your goal...?
I did literally say I didn't want to be using high performance mode. That said, I do want to avoid too much governing too.
This is automatic and handled in driver-space now, not firmware (generally, outside of the absolute limits - the equivalent of TSTOP on a CPU). Use MSI Afterburner or hte like to make tweaks.
What I'm specifically looking for is for the scaling to just stop while under actual use, which basically is what high performance mode does.
Yep - they boost as high as they can, as long as they can, based on power and temperature limits. Use afterburner to tweak those limits, or the tool of your choice. Generally you don't need to go into firmware to do this - and no one really does anymore.
It would be great if it could scale down when idle and only when idle though. Naturally that does make a huge difference temperature and efficiency-wise, but not quite as much as you may think. (Remember, even if the voltage doesn't go down, it does simply use less current when it's being used less, so there is still less power usage at idle when at full speed, just not as much less.) Right now what I'm doing is writing specific game profiles per game in the drivers to put only games at high performance, which is a good alternative (better in some ways) but it's a pain because I have to manually add each game and I do forget when installing a new game.
Why not just let the drivers handle it? I don't think I've had to list a game as high performance in a few years now, across multiple cards. If you're trying to reduce power draw, undervolt it (which might actually make it faster - less power = less heat, boost may hold longer)... Are you trying to reduce power when not in use, or when gaming?
The driver app is very very slow and awkward (I have always hated it since they switched to such bloated drivers -- I miss the days of drivers just being drivers and being more in the order of 50MB than the nearly 500 they are today. This isn't even nVidia specific as AMD and even Intel's video drivers are also bloated these days.) I also have a bunch of games (especially since that system basically is my "high performance" PC -- more or less a gaming PC though I do use it for stuff like GIMP or etc that can push systems a bit -- with a second very minimal PC dedicated to most non-gaming purposes.) This is messy and I'd like to find a cleaner method. nVidia used to have a performance profile called "adaptive" that was basically full power in games and low power out of games that they've removed in favor of either the normal curve or the high performance mode and I'd sort of like to reproduce that if possible. However, it may be too lenient or too extreme and defeat the purpose, so I'm not completely unwilling to try going to completely high performance if that's what it takes.
That's because that curve is pretty much built in to the OS and drivers now entirely - it's the default, barring a BIOS level switch on the card that forces a given OC (common on some). Cards undervolt and power down when not in use, and scale up when in use - generally you don't have to worry about it unless you've got something that isn't being detected as a "game" or requiring higher power (or you're using combined graphics like the older Optimus setups, where iGPU vs GPU choosing was... flaky).
Yes, this is the kind of thing I'm looking for. But how? It's not like nvflash has a command for this -- or if it does it's well hidden because I sure didn't see it. (I've already backed up my video card's firmware pretty much first thing.) My GPU manufacturer doesn't even have a program for GPU firmware flashing -- the last time they issued an update (the BAR support thing) it was the firmware this on already had (so it won't even flash.) What method do they use to manage those things? Is there any specific tool out there or are they actually manually hacking their own firmwares in hex editors or something? Because it's definitely beyond me to try to hack the firmware by hand...
They're doing it with a pile of systems for decrypting, hex editors, some chinese NDA-breaking, and more. Generally not end-consumer stuff. Remember, the ones doing this are generally multi-million mining farms, and some of them are even buying the GPUs straight (and have the NDA BIOS / Firmware guide to build their own, letting them compare against a retail one and figure out how to crack it).

Fundamentally - I'm not sure what you're trying to accomplish, or why. This is all stuff that, as far as I'm concerned, and outside of wanting a custom fan profile or undervolt, has been totally dealt with in software, and is now tweaked/changed in software. Do you have a specific game or result that shows differently between default settings and "high performance" mode (especially benchmark numbers)? Or perhaps an application that is not utilizing the GPU that should be? Seriously - I've got 5 major systems sitting here, and other than the MB BIOS on my X299 box being stupid picky about games for ramping up to full power on the 10980XE (disable c-states), and wanting the fans on my 6800XT to always run (LC model, and the rad gets stupid hot otherwise), I don't think I've actually tweaked card settings for a game since my GTX 280 days, or maybe my GTX 780.

So, the question remains - what are you trying to accomplish that cannot be done in software? Tell us that, and we might be able to figure out how to help (either different software, or finding a custom BIOS that does what you're looking for). I still can't figure out what problem you're trying to solve.
 

lopoetve

Extremely [H]
Joined
Oct 11, 2001
Messages
33,306
Ok, ~ignoring~ the follow-on posts and digging deep into the actual OP post - "no, you can't really do that anymore - afterburner is the way, and the drivers are designed to detect when a game is running and throttle up so that you don't have crappy gaming performance."

Or you could try to contract for a custom vBIOS, but ... that really isn't done anymore unless you're mining.
 

cdabc123

Supreme [H]ardness
Joined
Jun 21, 2016
Messages
4,096
I'm still thinking the solution is to undervolt the card abit and leave everything else as-is.

If given the option I would personally do this with a vbios flash for convenience. But nvidia does not give that option and or makes it very difficult.
 

Nazo

2[H]4U
Joined
Apr 2, 2002
Messages
3,643
I do want to seriously thank the people who actually tried to help. I guess the final conclusion is nVidia has too well protected the card firmwares to actually be able to do such a thing. That seriously sucks, but with the whole mining crap going on and forcing them to take extreme measures I can kind of understand. Can't say I won't be glad to see crypto fall if it ever should (sort of looks iffy lately) but I guess that won't help on cards of this generation. Anyway, thanks again to those who actually tried to help.

Go ahead and name them.
The thing that particularly bugs me about this is I still named a few already even though I didn't want to, one of which you literally quoted earlier!


I've been here a really long time. In all these years (closer to decades now I guess,) I pretty much only have to ask for help for something more unusual because, after all, any of us with even the most basic tech skills can google simple things (especially these days. Ten years ago it was hard to google something really obscure and get actual results, but these days it's getting easier and easier) and I seriously can't understand why it is that people just can't accept the unusual questions. Do you really want forums dedicated solely to just answering everything with ltmgfy and rtfm? If I wanted the simple solution you're satisfied with, I would never have posted in here at all because, after all, I had already found it via google and even explained exactly what it was and already stated that I did it (which has been ignored by several I see.) That's why the very first statement in the very first post at the very top of the first page is me saying "I want to skip the whole 'you're doing it wrong' thing and focus on how to actually do it." The thing is that in all the time I've been here, never once have I been able to ask for help without being preached at and having to spend literally one to two weeks explaining out all my reasonings, all the problems I've run into along the way, etc etc to the satisfaction of someone like yourself. I can sit here and explain it to you for one to two weeks until you fully understand the entire process I've gone through. Eventually the person demanding I personally convince them concedes, but meanwhile weeks of time have been wasted on something that should have taken one or two days to solve at the most and a lot of the people who could have helped moved on because they want nothing to do with a thread that has devolved into a back and forth argument. Or I can just hit ignore on you so I no longer get e-mail updates when you quote me. In the past I always spent the weeks of time and effort. I think I'll try something different this time. Just once though I'd really love to ask for help with a problem and then people just... help...
 

cdabc123

Supreme [H]ardness
Joined
Jun 21, 2016
Messages
4,096
I do want to seriously thank the people who actually tried to help. I guess the final conclusion is nVidia has too well protected the card firmwares to actually be able to do such a thing. That seriously sucks, but with the whole mining crap going on and forcing them to take extreme measures I can kind of understand. Can't say I won't be glad to see crypto fall if it ever should (sort of looks iffy lately) but I guess that won't help on cards of this generation. Anyway, thanks again to those who actually tried to help.
It isn't really because of mining. Nvidia has been doing it as a company practice since the 980ti.

If you want more freedom to mess with the vbios of cards. AMD is a better bet as they have had a far more open stance on it even allowing lower cards to be occasionally flashed as higher performing skus.
 

Nazo

2[H]4U
Joined
Apr 2, 2002
Messages
3,643
I see. When I considered AMD vs nVidia that was one aspect it never occurred to me to consider. I don't like it when anything is too locked down, be it a video card or a smartphone or just whatever. It's always good for people to have the ability to exert more control over their devices (just not the necessity.) I guess I'll add that to the list of things to factor in when considering a videocard, but it will be years yet I suppose.
 

lopoetve

Extremely [H]
Joined
Oct 11, 2001
Messages
33,306
It isn't really because of mining. Nvidia has been doing it as a company practice since the 980ti.

If you want more freedom to mess with the vbios of cards. AMD is a better bet as they have had a far more open stance on it even allowing lower cards to be occasionally flashed as higher performing skus.
Which happens to line up with when GRID software became licensed instead of attached to the hardware. Not sure if coincidence or not, but… consumer cards being flashed and used for enterprise things was and is still common.

As to the OP: I’d suggest simplifying your message. “I’m trying to undervolt and under clock my card; can this be done in hardware or must it be software?” - end result is that you’re pretty limited to software unless you have very big pockets.
 

bluestang

Gawd
Joined
Dec 14, 2018
Messages
707
As most people have already told you a modded VBIOS is not the solution you are actually needing.

I use EVGA's Precision X1 software ( because I have all their GPUsz but MSI Afterburner can do it as well) to reduce power levels and also raise clocks which in turn gives me more performance since they don't limit clocks then because of heat. So you pretty much undervolt and overclock.

I think you're trying to make things more difficult than they actually are. Oh, and maybe get a better cooler for you CPU and a better case for cooling too since you didn't mention what you have there as well.
 
Status
Not open for further replies.
Top