Homebrew Homebrew app Ultrahand Overlay - The fully craft-able overlay executor

ppkantorski

Well-Known Member
OP
Member
Joined
May 1, 2023
Messages
119
Trophies
0
XP
767
Country
United States
@ppkantorski
A guy sent me something interesting about Fan Control, is it possible to put its overlay on Ultrahard?
The way that package works just modifies atmosphere's tskin fan curve defined in the ini. Its doable in Ultrahand for sure, but I've already recompiled NX-FanControl overlay with libultrahand (which uses direct temperatures rather than TSkin). It works with a sys module and is probably a better option if you wanted to directly customize the fan curve.

Or you can also just use the linear max temp for fan curve defined in OC Toolkit / EOS (which applies a linear relationship to TSkin temperature and fan speed). From testing, this often works just as well (if not better) than just manually specifying a % for each temperature.
Post automatically merged:

Hello! What a great tool—I’m still amazed by how incredible it is. I have a question and I’m not sure if it’s possible: when opening UltraHand, the overlays appear directly. Is there a way to display both overlays and commands on the same screen simultaneously? Or set commands as the initial screen and overlays as the secondary?

Thank you for such great work!
In the past I allowed users to make the packages page their default menu, but I removed that feature since not many people used it. I can add it back in, if it is something you'd prefer
 
Last edited by ppkantorski,
  • Like
Reactions: johw

johw

Well-Known Member
Member
Joined
Oct 12, 2020
Messages
411
Trophies
0
Age
44
XP
1,531
Country
Brazil
The way that package works just modifies atmosphere's tskin fan curve defined in the ini. Its doable in Ultrahand for sure, but I've already recompiled NX-FanControl overlay with libultrahand (which uses direct temperatures rather than TSkin). It works with a sys module and is probably a better option if you wanted to directly customize the fan curve.

Or you can also just use the linear max temp for fan curve defined in OC Toolkit / EOS (which applies a linear relationship to TSkin temperature and fan speed). From testing, this often works just as well (if not better) than just manually specifying a % for each temperature.
Post automatically merged:


In the past I allowed users to make the packages page their default menu, but I removed that feature since not many people used it. I can add it back in, if it is something you'd prefer
Interesting your modification with libultrahand with OC Toolkit / EOS.
what is the path to create the ini? with this configuration
Congratulations on your work
 

ppkantorski

Well-Known Member
OP
Member
Joined
May 1, 2023
Messages
119
Trophies
0
XP
767
Country
United States
It would be great to have that feature back, thank you!
Added the described feature Ultrahand Overlay v1.8.2 (and fixes to prevent random screenshots in PNGShot).
Post automatically merged:

Interesting your modification with libultrahand with OC Toolkit / EOS.
what is the path to create the ini? with this configuration
Congratulations on your work
you can look at this part for OC Toolkit
 
Last edited by ppkantorski,

johw

Well-Known Member
Member
Joined
Oct 12, 2020
Messages
411
Trophies
0
Age
44
XP
1,531
Country
Brazil
Added the described feature Ultrahand Overlay v1.8.2 (and fixes to prevent random screenshots in PNGShot).
Post automatically merged:


you can look at this part for OC Toolkit
thanks
Post automatically merged:

@ppkantorski
I inserted the code here and it didn't work. Did I do something wrong? See print below

Code:
;creator='ppkantorski, B3711'

[@fan_curve]
[Fan Info]
;mode=table
;background=false
;spacing=4
;gap=20
;header_indent=true
;info_text_color=header
;section_text_color=header
json_file './json/ram_model.json'
'Optimizes the original fan curve for higher clocks' = ''
[$]
;mode=table
;background=false
;header=false
;gap=100
'->' = 'max tskin limit will be unlocked to 60°C'




[Tskin Target]
;mode=step_trackbar
;unlocked=true
;min_value=52
;max_value=60
;units=°C
set-ini-val /atmosphere/config/system_settings.ini tc use_configurations_on_fwdbg u8!0x1
set-ini-val /atmosphere/config/system_settings.ini tc tskin_rate_table_console_on_fwdbg 'str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 49000, 51, 128], [49000, {value}000, 128, 255], [{value}000, 1000000, 255, 255]]"'
set-ini-val /atmosphere/config/system_settings.ini tc tskin_rate_table_handheld_on_fwdbg 'str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 49000, 51, 128], [49000, {value}000, 128, 255], [{value}000, 1000000, 255, 255]]"'
set-ini-val /atmosphere/config/system_settings.ini tc holdable_tskin u32!0xEA60
set-ini-val /atmosphere/config/system_settings.ini tc touchable_tskin u32!0xEA60


[recommended = 54°C]

[Gap]
;mode=table
;background=false
;header=false
;gap=100


[Restore]
[Restore factory defaults]
remove-ini-section /atmosphere/config/system_settings.ini tc
remove-ini-section './config.ini' 'Tskin Target'
refresh
 

Attachments

  • 8a636884-a1ae-43d3-89b0-36098890b185.png
    8a636884-a1ae-43d3-89b0-36098890b185.png
    26.8 KB · Views: 10
  • 132b6f6c-ef72-40ea-91ee-946d849eb85a.png
    132b6f6c-ef72-40ea-91ee-946d849eb85a.png
    21.9 KB · Views: 9
  • b8112f85-ac7e-4de6-b9b2-e8a0493f44e5.png
    b8112f85-ac7e-4de6-b9b2-e8a0493f44e5.png
    22.4 KB · Views: 12
Last edited by johw,

johw

Well-Known Member
Member
Joined
Oct 12, 2020
Messages
411
Trophies
0
Age
44
XP
1,531
Country
Brazil
what do you mean by it doesnt work? here you'd only need the `[Tskin Target]` entry.

Or you can use nx--fancontrol.
Code:
[System]
[Tskin Target]
;mode=step_trackbar
;unlocked=true
;min_value=52
;max_value=60
;units=°C
set-ini-val /atmosphere/config/system_settings.ini tc use_configurations_on_fwdbg u8!0x1
set-ini-val /atmosphere/config/system_settings.ini tc tskin_rate_table_console_on_fwdbg 'str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 49000, 51, 128], [49000, {value}000, 128, 255], [{value}000, 1000000, 255, 255]]"'
set-ini-val /atmosphere/config/system_settings.ini tc tskin_rate_table_handheld_on_fwdbg 'str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 49000, 51, 128], [49000, {value}000, 128, 255], [{value}000, 1000000, 255, 255]]"'
set-ini-val /atmosphere/config/system_settings.ini tc holdable_tskin u32!0xEA60
set-ini-val /atmosphere/config/system_settings.ini tc touchable_tskin u32!0xEA60

[recommended = 54°C]

[Power]
[*Reboot To]
ini_file_source /bootloader/hekate_ipl.ini
filter config
reboot boot '{ini_file_source(*)}'

[*Hekate Entry]
[Hekate]
reboot HEKATE
[Hekate USB Mass Storage]
reboot UMS

[*Shutdown System]
[Shutdown]
shutdown
Can I ride like this?
 

ppkantorski

Well-Known Member
OP
Member
Joined
May 1, 2023
Messages
119
Trophies
0
XP
767
Country
United States
Now I understand
The cooler will only speed up if it reaches 54 degrees.

Now I understand
The cooler will only accelerate if it reaches 54 degrees.
A question: In the name System, how can I put the name NX-FanControl below?
it will
Now I understand
The cooler will only speed up if it reaches 54 degrees.
NX-FanControl is an overlay, not a package, so it shows up in Overlays.

You could also do something like this, where it linearly scales the fan from 0% to 100% from 36C to (52 to 60)C.

INI:
[Tskin Target]
;mode=step_trackbar
;unlocked=true
;min_value=52
;max_value=60
;units=°C
set-ini-val /atmosphere/config/system_settings.ini tc use_configurations_on_fwdbg u8!0x1
set-ini-val /atmosphere/config/system_settings.ini tc tskin_rate_table_console_on_fwdbg 'str!"[[-1000000, 36000, 0, 0], [36000, {value}000, 0, 255], [{value}000, 1000000, 255, 255]]"'
set-ini-val /atmosphere/config/system_settings.ini tc tskin_rate_table_handheld_on_fwdbg 'str!"[[-1000000, 36000, 0, 0], [36000, {value}000, 0, 255], [{value}000, 1000000, 255, 255]]"'
set-ini-val /atmosphere/config/system_settings.ini tc holdable_tskin u32!0xEA60
set-ini-val /atmosphere/config/system_settings.ini tc touchable_tskin u32!0x
 
  • Like
Reactions: johw

johw

Well-Known Member
Member
Joined
Oct 12, 2020
Messages
411
Trophies
0
Age
44
XP
1,531
Country
Brazil
it will

NX-FanControl is an overlay, not a package, so it shows up in Overlays.

You could also do something like this, where it linearly scales the fan from 0% to 100% from 36C to (52 to 60)C.

INI:
[Tskin Target]
;mode=step_trackbar
;unlocked=true
;min_value=52
;max_value=60
;units=°C
set-ini-val /atmosphere/config/system_settings.ini tc use_configurations_on_fwdbg u8!0x1
set-ini-val /atmosphere/config/system_settings.ini tc tskin_rate_table_console_on_fwdbg 'str!"[[-1000000, 36000, 0, 0], [36000, {value}000, 0, 255], [{value}000, 1000000, 255, 255]]"'
set-ini-val /atmosphere/config/system_settings.ini tc tskin_rate_table_handheld_on_fwdbg 'str!"[[-1000000, 36000, 0, 0], [36000, {value}000, 0, 255], [{value}000, 1000000, 255, 255]]"'
set-ini-val /atmosphere/config/system_settings.ini tc holdable_tskin u32!0xEA60
set-ini-val /atmosphere/config/system_settings.ini tc touchable_tskin u32!0x
Thank you very much for the tip, I'm learning a lot from you.
I managed to make it like this, with the code above that you provided.
 

Attachments

  • 79091086-bc4a-4220-ba62-40739bd764b7.jpg
    79091086-bc4a-4220-ba62-40739bd764b7.jpg
    60.9 KB · Views: 11
  • 446bcfe9-1a36-48ba-a33b-72c9e223c9f9.jpg
    446bcfe9-1a36-48ba-a33b-72c9e223c9f9.jpg
    24.7 KB · Views: 10

ppkantorski

Well-Known Member
OP
Member
Joined
May 1, 2023
Messages
119
Trophies
0
XP
767
Country
United States
Thank you very much for the tip, I'm learning a lot from you.
I managed to make it like this, with the code above that you provided.
Not sure why you are naming it `NX-FanControl` tho, (because its just a trackbar, not associated with NX-FanControl).

NX-FanControl overlay looks like this and works with a custom system module for using the actual temperatures instead of TSkin. The implementation here is different. It doesnt just modify Atmosphere's ini.

1730858748708.png
 
  • Like
Reactions: johw

johw

Well-Known Member
Member
Joined
Oct 12, 2020
Messages
411
Trophies
0
Age
44
XP
1,531
Country
Brazil
Not sure why you are naming it `NX-FanControl` tho, (because its just a trackbar, not associated with NX-FanControl).

NX-FanControl overlay looks like this and works with a custom system module for using the actual temperatures instead of TSkin. The implementation here is different. It doesnt just modify Atmosphere's ini.

View attachment 469548
I named it NX-FanControl to differentiate it from other configurations, just that.
Here the cooler is working in sleep mode.
Post automatically merged:

it will

NX-FanControl is an overlay, not a package, so it shows up in Overlays.

You could also do something like this, where it linearly scales the fan from 0% to 100% from 36C to (52 to 60)C.

INI:
[Tskin Target]
;mode=step_trackbar
;unlocked=true
;min_value=52
;max_value=60
;units=°C
set-ini-val /atmosphere/config/system_settings.ini tc use_configurations_on_fwdbg u8!0x1
set-ini-val /atmosphere/config/system_settings.ini tc tskin_rate_table_console_on_fwdbg 'str!"[[-1000000, 36000, 0, 0], [36000, {value}000, 0, 255], [{value}000, 1000000, 255, 255]]"'
set-ini-val /atmosphere/config/system_settings.ini tc tskin_rate_table_handheld_on_fwdbg 'str!"[[-1000000, 36000, 0, 0], [36000, {value}000, 0, 255], [{value}000, 1000000, 255, 255]]"'
set-ini-val /atmosphere/config/system_settings.ini tc holdable_tskin u32!0xEA60
set-ini-val /atmosphere/config/system_settings.ini tc touchable_tskin u32!0x
@ppkantorski
This is better
Fan Curve
Tskin Target

I did a test here, when I turn off the switch in sleep mode the cooler still works.

Code:
[System]
[Auto Brightness]
;mode=toggle
on:
backlight auto on
off:
backlight auto off

[Brightness]
;mode=step_trackbar
;min_value=0
;max_value=100
;units=%
;steps=11
;on_every_tick=true
backlight {value}

[Volume]
;mode=trackbar
;min_value=0
;max_value=150
;units=%
;on_every_tick=true
volume {value}

[Fan Curve]
[Tskin Target]
;mode=step_trackbar
;unlocked=true
;min_value=52
;max_value=60
;units=°C
set-ini-val /atmosphere/config/system_settings.ini tc use_configurations_on_fwdbg u8!0x1
set-ini-val /atmosphere/config/system_settings.ini tc tskin_rate_table_console_on_fwdbg 'str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 49000, 51, 128], [49000, {value}000, 128, 255], [{value}000, 1000000, 255, 255]]"'
set-ini-val /atmosphere/config/system_settings.ini tc tskin_rate_table_handheld_on_fwdbg 'str!"[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 49000, 51, 128], [49000, {value}000, 128, 255], [{value}000, 1000000, 255, 255]]"'
set-ini-val /atmosphere/config/system_settings.ini tc holdable_tskin u32!0xEA60
set-ini-val /atmosphere/config/system_settings.ini tc touchable_tskin u32!0xEA60

[Power]
[*Reboot To]
ini_file_source /bootloader/hekate_ipl.ini
filter config
reboot boot '{ini_file_source(*)}'

[*Hekate Entry]
[Hekate]
reboot HEKATE
[Hekate USB Mass Storage]
reboot UMS

[*Shutdown System]
[Shutdown]
shutdown
 

Attachments

  • Fan Curve.jpg
    Fan Curve.jpg
    32.9 KB · Views: 12
Last edited by johw,

Grimwynn

Member
Newcomer
Joined
Aug 10, 2024
Messages
11
Trophies
0
Age
27
XP
48
Country
Brazil
Hey @ppkantorski, just wanna say thank you for putting a request that was requested a long time ago (change overlay display name), I was asking for that and it's nice to feel heard.

Is there any updated wiki on what can Ultrahand do? How I set new packages, and how to navigate them?

Thank you for your incredible work <3
 

NotUsingAnAltAccount

Well-Known Member
Member
Joined
Dec 7, 2023
Messages
108
Trophies
0
Age
54
XP
386
Country
Iceland
Hey @ppkantorski, just wanna say thank you for putting a request that was requested a long time ago (change overlay display name), I was asking for that and it's nice to feel heard.

Is there any updated wiki on what can Ultrahand do? How I set new packages, and how to navigate them?

Thank you for your incredible work <3
I did as well, we're too pedantic I guess.
 

ppkantorski

Well-Known Member
OP
Member
Joined
May 1, 2023
Messages
119
Trophies
0
XP
767
Country
United States
Hey @ppkantorski, just wanna say thank you for putting a request that was requested a long time ago (change overlay display name), I was asking for that and it's nice to feel heard.

Is there any updated wiki on what can Ultrahand do? How I set new packages, and how to navigate them?

Thank you for your incredible work <3
It may be missing stuff, and some things may be out dated on the information so I will need to look over it more sometime, but there is a wiki on the github.

https://github.com/ppkantorski/Ultrahand-Overlay/wiki/Command-Reference
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • IC_ @ IC_:
    I still don't get what the deal with Bluesky is, I heard it was supposed to be federated and possible to self-host like Mastodon as well, but somehow I haven't seen or heard anyone doing that. Yet people complain about community and moderation issues on the official Bluesky instance. I really don't get what's going on and how it's supposed to work.
  • Xdqwerty @ Xdqwerty:
    @IC_, Yeah most of the posts I get are either about polítics or selfies and all that
    +1
  • Xdqwerty @ Xdqwerty:
    @IC_, although I just asked on the official subreddit if there is any feed(s) with the content I like
  • IC_ @ IC_:
    Myself, I have no interest in using (having an account on) such a social media website. People are often surprised that I don't have any social media and none of the most popular IM services, especially in real life. But I continue to stand against it, even when so many people have complained about it. Even if it makes my life a bit harder.
  • A @ anotherthing:
    I don't bother with social media.
    +1
  • Xdqwerty @ Xdqwerty:
    @anotherthing, being online is one of my few ways of entertainment since I will be murdered/kidnapped if I go outside while alone
    +1
  • IC_ @ IC_:
    At some point I should probably create my own blog website, so my blogs can reach more people outside of GBAtemp. Long-form blogs are much nicer in my opinion compared to this modern "microblogging".
  • Xdqwerty @ Xdqwerty:
    @IC_, I ran out of ideas for blog entries and thus I just make profile posts
  • IC_ @ IC_:
    I still have lots of ideas, but it unfortunately does take a lot more effort to write a good blog entry with photos than to write a simple post.
  • IC_ @ IC_:
    Once I finish this project I've been working on for months, I'll hopefully do a blog entry about it.
  • Xdqwerty @ Xdqwerty:
    @IC_, I have been starting making a game, I will record a gameplay of the battle system once it's relatively done
    +1
  • IC_ @ IC_:
    Haven't ever heard of it, but it could be interesting. Are you using RPGmaker for it, or something else?
  • Xdqwerty @ Xdqwerty:
    @IC_, gdevelop
  • IC_ @ IC_:
    Nice, it's open-source.
  • Xdqwerty @ Xdqwerty:
    @IC_, I only use "vanilla" gdevelop since I always forget how to code
  • Xdqwerty @ Xdqwerty:
    Also lemme show you a picture of how events work in it
  • IC_ @ IC_:
    I think free and open-source software is a very important benefit to everyone, even if you're not going to study or modify the code.
  • Xdqwerty @ Xdqwerty:
    @IC_, or well here is just the event tutorial itself https://wiki.gdevelop.io/gdevelop5/events/#timedelta
  • IC_ @ IC_:
    Yeah, I guess it's kind of like Scratch, a friendly programming interface. I think there was a specific term for this kind of thing, but I can't remember it.
  • Xdqwerty @ Xdqwerty:
    @IC_, also I already made a short game in it, wanna see it?
  • IC_ @ IC_:
    Sure, if you have some pictures or video.
  • Xdqwerty @ Xdqwerty:
    @IC_, here is a video if you can't play it https://gbatemp.net/profile-posts/166302/
    Xdqwerty @ Xdqwerty: @IC_, here is a video if you can't play it https://gbatemp.net/profile-posts/166302/