Gearbox GUI program for the Devterm

Hi! I wanted to have some kind of a widget like the wifi or sound button on the taskbar to change the cores, so I made one myself!
image

I have been having fun making this and even if I made it with tech I am comfortable with, still learned alot!

It features GUI widgets that let you set each core frequency and governors. It also has presets which for now are the ones that come with the original script, and anyone could add more (Although thats still undocumented)


dt

I created a .deb with which you could try the app. Its still in its early stages and I have alot of TODOs like:

  • Ensure only one instance of the program is running.
  • Show a message box on apply.
  • Validation of the presets file.
  • Documentation!
  • Overall robustness of the code.

Have fun!

EDIT 2022-02-01T00:00:00Z
A Dev version was released for a04

19 Likes

thanks

a really useful widget

2 Likes

This should be standard in future images! Amazing work as usual!
I was just thinking about making something like this today! You’re always one step ahead.

I’ll have to read up more, but has the community delved into GPU Overclocking yet? Just thinking of similar gui integration like this.

1 Like

If the overclocks performed could appear in the /sys/devices/platform/ff9a0000.gpu/devfreq/ff9a0000.gpu/available_frequencies then this GUI will still work without needing changes :stuck_out_tongue: it populates the comboboxes from that file.

2 Likes

Very cool, that interface reminds me of the rectangular properties windows of Windows CE:

Windows CE properties window

They presumably were that aspect ratio so they could fit on the display of those palmtop computers. Must be the same reason for fitting your Gearbox GUI on the DevTerm, too!

2 Likes

I’ve been a windows user for a long time (and still am), I worked in the past making GUIs for windows and I also developed this widget on my windows machine so there could be some influence :stuck_out_tongue:

Lets take the time to explain a bit how the presets work and how to change them.

I made them a CSV file because it was fairly easy to program and parse. The one that comes by default when you install the .deb package is gearboxplus/presets.csv at main · Mihaylov93/gearboxplus · GitHub

It is located at /usr/share/gearboxplus/presets.csv If you wish to add more presets you can edit that file.

Its structured as such:
name,cpu0,cpu1,cpu2,cpu3,cpu4,cpu5,gpu,cpugov,gpugov

Name should be a string of the text you wish to appear on the presets combobox, the other values should be numbers with 0 meaning Off for CPU0 to CPU5, GPU can’t be turned off, and obviously governors don’t have off state.

So for clarification:

CPU0 - CPU3
0 - Off
1 - 408 Mhz
2 - 600 Mhz
3 - 816 Mhz
4 - 1006 Mhz
5 - 1200 Mhz
6 - 1416 Mhz

CPU4 and CPU5
0 - Off
1 - 408 Mhz
2 - 600 Mhz
3 - 816 Mhz
4 - 1006 Mhz
5 - 1200 Mhz
6 - 1416 Mhz
7 - 1608 Mhz
8 - 1800 Mhz

GPU
0 - 200 Mhz
1 - 297 Mhz
2 - 400 Mhz
3 - 500 Mhz
4 - 600 Mhz
5 - 800 Mhz

CPU Governors
0 - Conservative
1 - Ondemand
2 - Userspace
3 - Powersave
4 - Performance
5 - Schedutil

GPU Governors
0 - Performance
1 - simple_ondemand

I might add a button to save the custom preset as a preset to the GUI :thinking:

5 Likes

Do we need to do anything special to get it to show up as a widget on the taskbar?

I installed it and have been using it for a while now, but it only shows up as a shortcut under the accessories menu. I’m not sure how to get it into the panel. I went to the panel settings, but it didn’t show up as a widget in the list. It’s a really useful tool!

To put it in the panel I cheated a bit, you have to go to the panel settings, add a launcher widget, and then on the launcher settings add the gearbox.

3 Likes

I want to use this, but I’m unsure if I have the time to port what you already have to the A04. Do you have a version for the A04 ready?

I don’t have an A04 version for now.

Hi, I have been doing some work on a development branch and I have rewritten the GUI to allow easy integration with cores in case there are different cores in the future.

As this version is mostly untested its not part of the main branch and also not a main release for now. Its a dev release.

You can find it here: Release Version 2.0 release candidate · Mihaylov93/gearboxplus · GitHub

If you guys give a green light, ill merge it to the main branch!

image

Q&A
As an a06 user should I update?

There is no visible changes, they are internal changes. Better wait for the main release. Anyway if you chose to install this with the .deb, Debian will take care of managing future versions for you.

2 Likes

Great work mate! I will absolutely install this on my A04 image. Is the setting maintained after reboot or shutdown?

They should be, in my Devterm they are persistent but ive read in a topic that an user had that issue and the user discovered that a script was the culprit overriding that on boot. Let me see if I can find it.

Edit: Found it Bootup CPU governor and scaling - #4 by zerker

1 Like

Thanks for this link! I had already changed that file to fix the bad behavior of the fan (always shutting off for 5 seconds even when overheating). Seems like that file should be updated/replaced since the default version has both the fan bug and this CPU governor issue.

Up until now I’ve gotten into the habit of just always running your gearbox gui after powering on to set things the way I want them but it will be nice to not have to fight with the defaults anymore.