Homebrew Custom Fan Profiles

  • Thread starter Thread starter FinalLau
  • Start date Start date
  • Views Views 19,330
  • Replies Replies 9

FinalLau

Active Member
Newcomer
Joined
Oct 24, 2019
Messages
30
Reaction score
2
Trophies
0
Age
29
XP
254
Country
Singapore
I noticed the fan noise on my switch in handheld mode with sys-clk on were louder compared to docked mode with the same/similar temperature and this is quite annoying despite trying my best to make it run cooler so fans wouldn't spin as high and loud as possible as I had applied liquid metal onto the SoC and drilled some tiny holes for the fan intake to increase airflow but no avail.

Is there anyway/anyone able to extract and make a custom fan profile mod for it with the same fan profile on handheld and docked mode or a custom fan speed profile with respect with temperature junctions?
 
Last edited by FinalLau,
I noticed the fan noise on my switch in handheld mode with sys-clk on were louder compared to docked mode with the same/similar temperature and this is quite annoying despite trying my best to make it run cooler so fans wouldn't spin as high and loud as possible as I had applied liquid metal onto the SoC and drilled some tiny holes for the fan intake to increase airflow but no avail.

Is there anyway/anyone able to extract and make a custom fan profile mod for it with the same fan profile on handheld and docked mode or a custom fan speed profile with respect with temperature junctions?
Its possible, but there's no homebrew/sysmodule that i know of that's capable of doing this. And i also never experienced loud fan noise, my temp rarely goes above 50.
 
Last edited by bad361,
Its possible, but there's no homebrew/sysmodule that i know of that's capable of doing this. And i also never experienced loud fan noise, my temp rarely goes above 50.
Really? With sys-clk on and maxed overclock settings?
 
Really? With sys-clk on and maxed overclock settings?
I usually use 1.5, rarely 1.7 but even with that i've never heard any major fan noise.. I also almost never OC gpu and i think it produces the most heat and eats the most battery %, but i might be wrong.

Yep, just played an hour of midnight club 3 in ppsspp with 1.7oc, this game is quite demanding and it needs oc to be playable. After an hour of playing max temp was 46C and the cpu almost constantly was at 60-80% load. Even when playing botw with 460 gpu and 1.7 cpu (just for testing purposes, cause it doesn't benefit from cpu oc) temp reaches 45-49 C max for me.
 
Last edited by bad361,
Well, only Method available is this:
tskin_rate_table_console
tskin_rate_table_handheld

You need to paste your custom config to system_settings.ini (only Atmosphere supports it iirc)
This is how it will look for default settings:
Code:
[tc]
tskin_rate_table_console = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 53000, 51, 153], [53000, 58000, 153, 255], [58000, 1000000, 255, 255]]"
tskin_rate_table_handheld = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 48000, 51, 102], [48000, 53000, 102, 153], [53000, 1000000, 153, 153], [48000, 1000000, 153, 153]]"
 
Last edited by masagrator,
Well, only Method available is this:
tskin_rate_table_console
tskin_rate_table_handheld

You need to paste your custom config to system_settings.ini (only Atmosphere supports it iirc)
This is how it will look for default settings:
Code:
[tc]
tskin_rate_table_console = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 53000, 51, 153], [53000, 58000, 153, 255], [58000, 1000000, 255, 255]]"
tskin_rate_table_handheld = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 48000, 51, 102], [48000, 53000, 102, 153], [53000, 1000000, 153, 153], [48000, 1000000, 153, 153]]"

wow props for sharing this knowledge
 
Well, only Method available is this:
tskin_rate_table_console
tskin_rate_table_handheld

You need to paste your custom config to system_settings.ini (only Atmosphere supports it iirc)
This is how it will look for default settings:
Code:
[tc]
tskin_rate_table_console = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 53000, 51, 153], [53000, 58000, 153, 255], [58000, 1000000, 255, 255]]"
tskin_rate_table_handheld = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 48000, 51, 102], [48000, 53000, 102, 153], [53000, 1000000, 153, 153], [48000, 1000000, 153, 153]]"

Thanks! I knew I've seen this from switchbrew.org but couldn't understand them.

Now I know:
str!"[[-1000000, 40000, 255, 255]
-1000000, 40000 these are temperature 40000 = 40C
255 is the speed, 0-255

Will work around with it and see how it does :)
 
Update:
I've tested and it works but i'm only able to set higher fan speeds than lower.
I've tried many times and different ways but no avail. It seems there's some "safe limit" or so preventing me from going lower than it's original fan setting
Any solution?

After much testing, I realize all I could do is only control the switch's skin temperature and not the SoC nor the PCB temperature as the code does not exist in the system. The only solution is to make a sys module as told from an experienced switch coder/modder.

Here's my code:
tskin_rate_table_handheld = str!"[[-1000000, 40000, 0, 0], [48000, 53000, 0, 153], [53000, 58000, 153, 255], [58000, 1000000, 255, 255]]"

Original code:
tskin_rate_table_handheld = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 48000, 51, 102], [48000, 53000, 102, 153], [53000, 1000000, 153, 153], [48000, 1000000, 153, 153]]"

From my understanding:
"[36000, 43000, 51, 51]" = Temp from 36°C - 43°C, fan speed will be at 51
"[43000, 53000, 51, 153]" = Temp 43°C -> 53°C, fan speed will increase from 51 -> 153
Max fan speed is 255
My switch would spin as if stock controlled fan speed regardless of what speed I set lower than it's original and even with 153 maxed speed set would still be overridden.
Code:
 
Last edited by FinalLau,
Well, only Method available is this:
tskin_rate_table_console
tskin_rate_table_handheld

You need to paste your custom config to system_settings.ini (only Atmosphere supports it iirc)
This is how it will look for default settings:
Code:
[tc]
tskin_rate_table_console = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 53000, 51, 153], [53000, 58000, 153, 255], [58000, 1000000, 255, 255]]"
tskin_rate_table_handheld = str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 48000, 51, 102], [48000, 53000, 102, 153], [53000, 1000000, 153, 153], [48000, 1000000, 153, 153]]"

I've tested and it works but i'm only able to set higher fan speeds than going lower.
I've tried many times and different ways but no avail. It seems there's some "safe limit" or so preventing me from going lower than it's original fan setting
My switch would spin as if stock controlled fan speed regardless of what speed I set lower than it's original system setting and even with 153 maxed speed set would still be overridden.
Any other solution?

Maybe "tskin" controls only the skin's temperature than the SoC and pcb hence default fan speed settings still applies for SoC and pcb.
 
I've tested and it works but i'm only able to set higher fan speeds than going lower.
I've tried many times and different ways but no avail. It seems there's some "safe limit" or so preventing me from going lower than it's original fan setting
My switch would spin as if stock controlled fan speed regardless of what speed I set lower than it's original system setting and even with 153 maxed speed set would still be overridden.
Any other solution?

Maybe "tskin" controls only the skin's temperature than the SoC and pcb hence default fan speed settings still applies for SoC and pcb.
Please give us the code of going higher fan speed.
Post automatically merged:

I've tested and it works but i'm only able to set higher fan speeds than going lower.
I've tried many times and different ways but no avail. It seems there's some "safe limit" or so preventing me from going lower than it's original fan setting
My switch would spin as if stock controlled fan speed regardless of what speed I set lower than it's original system setting and even with 153 maxed speed set would still be overridden.
Any other solution?

Maybe "tskin" controls only the skin's temperature than the SoC and pcb hence default fan speed settings still applies for SoC and pcb.
Please give us the code of going higher fan speed.
 

Site & Scene News

Popular threads in this forum