You are not logged in.

#1 2012-07-05 07:30:06

fredmorcos
Member
From: Austria
Registered: 2008-09-01
Posts: 9
Website

sysconf

Hello fellow Archers,

For some reason, I have been resisting the urge to post about this, but anyways.

In recent years, I have been dissatisfied with the interplay between power management, performance/throughput and interactivity of my Linux machines (please note that I used "Linux" and not "GNU/Linux" here, since for the most part, the kernel is to blame). So I set out to work on a tool which would dynamically tune the system at runtime depending on the current workload. As you might expect, that didn't work out so well and was actually a huge undertaking. After several trials, I decided to go with a simple shell script, and well, here is sysconf[1].

It is by no means complete, it is actually very far from complete. So, I need help, ideas, patches/pull requests, testing, improvements, etc... all is welcome. I hope we can, for the most part, solve that problem once and for all.

I realize that there are many resources out there that explain why and how to tune the system, so I also aim at bringing all this scattered information into one place with descriptions and explanations of each tunable (as you can see in the example config file).

Cheers,
Fred

[1] https://github.com/fredmorcos/sysconf
[2] https://gitorious.org/linux-powersave-scripts (that was a first attempt and a quick hack which is a much less configurable/adaptable script)

Update:
sysconf-git is now in the AUR: https://aur.archlinux.org/packages.php?ID=60650

Last edited by fredmorcos (2012-07-09 21:04:44)

Offline

#2 2012-07-05 08:33:22

theGunslinger
Member
Registered: 2011-05-20
Posts: 300

Re: sysconf

Looks interesting, will try it out as soon as I get some free time.

Offline

#3 2012-07-09 15:49:47

nierro
Member
From: Milan, Italy
Registered: 2011-09-02
Posts: 849

Re: sysconf

@fredmorcos: i read https://bbs.archlinux.org/viewtopic.php … 4#p1127254 .

From what I found in this thread (a quick skim) that is missing in sysconf would be:
1. pm-utils integration scripts.
2. Screen brightness control.
3. Curses/dialog UI for creating/editing profiles.
4. Check the README for some TODO items.

1) pm-utils (and upowerd) makes it easier to handle plugging/unplugging ac.
2) screen brightness : i'm using calise (http://aur.archlinux.org/packages.php?ID=50801) to obtain the right brightness. Have a look at it!

These are only my hints, hope they can be helpful.
I think your project can be really important for lots of linux users and to improve experience with power management in linux ( pm-utils, acpid, DE-power-manager, what else??ah obviously laptop-mode-tools big_smile ... too messy...)
Btw, i like your idea of profiles, but i'm thinking of normal linux user, that should run "sysconf profile_name" manually...i guess this won't be very easy. So, may be providing something like an applet (like jupiter http://aur.archlinux.org/packages.php?ID=43821) , to tune /change the running profile would be perfect. And obviously, using pm-utils and upowerd to change between performance (or another profile) and powersave, while on ac or on battery.
So, in the end:
1) pm-utils to change the profile loaded if alimentation changes. (with an entry in a config file to choose which profile to load when on ac/on battery).
2) before do the above step, check if user changed the profile manually, if true, do not change again profile if plugged in or out ac (ie: if user changes manually the profile, it will remain the same until user doesn't change it again).
3) a little applet to change running profiles (and may be, but this is only a stupid feature request, a GUi to manage profiles -> to edit them | this last request is really useless, may be it is more a dream wink  )

Hope again you'll find these suggestions helpful!
Thanks for your work!

Offline

#4 2012-07-09 18:36:21

fredmorcos
Member
From: Austria
Registered: 2008-09-01
Posts: 9
Website

Re: sysconf

nierro wrote:

1) pm-utils (and upowerd) makes it easier to handle plugging/unplugging ac.

Exactly, and sysconf is easily composable, so that you can use it from pm-utils by writing a "simple pm-utils script" which runs your desired sysconf profile(s). Patches are welcome for that "simple pm-utils script".

nierro wrote:

2) screen brightness : i'm using calise (http://aur.archlinux.org/packages.php?ID=50801) to obtain the right brightness. Have a look at it!

Seems nice, I also remember using a tool that adjusts my brightness according to the current time of the day. Can't remember the name unfortunately. However, running a webcam and an image analysis daemon written in Python doesn't seem like a very good idea for powersaving.

nierro wrote:

So, may be providing something like an applet (like jupiter http://aur.archlinux.org/packages.php?ID=43821) , to tune /change the running profile would be perfect. And obviously, using pm-utils and upowerd to change between performance (or another profile) and powersave, while on ac or on battery.
So, in the end:
1) pm-utils to change the profile loaded if alimentation changes. (with an entry in a config file to choose which profile to load when on ac/on battery).
2) before do the above step, check if user changed the profile manually, if true, do not change again profile if plugged in or out ac (ie: if user changes manually the profile, it will remain the same until user doesn't change it again).
3) a little applet to change running profiles (and may be, but this is only a stupid feature request, a GUi to manage profiles -> to edit them | this last request is really useless, may be it is more a dream wink  )

This sounds like a nice idea, but sysconf is too early in development that it is currently more important for me to have it support the largest number of tunables. Patches are welcome to implement the above smile even as a sub-project.

nierro wrote:

Hope again you'll find these suggestions helpful!
Thanks for your work!

Cheers smile

Offline

#5 2012-07-09 18:41:48

el mariachi
Member
Registered: 2007-11-30
Posts: 595

Re: sysconf

about screen brightness: although it doesn't control "brightness", redscale is a nice tool to spare your eyes at night wink

Offline

#6 2012-07-09 18:51:08

nierro
Member
From: Milan, Italy
Registered: 2011-09-02
Posts: 849

Re: sysconf

Calise has a daemon mode (dbus service) that doesn't use battery (is in idle almost always) neither ram (9mb). So it is perfect, i use it on my netbook and get 8 hrs battery life with or without it.

Btw I'll follow this project!
Thank you for your work!

Offline

#7 2012-08-02 14:45:32

mark-o-solo
Member
Registered: 2012-03-19
Posts: 77

Re: sysconf

Hello,
excuse my asking, but I just cannot find a tutorial how to edit or create power profiles, sysconf is asking for one and I do not know what to feed it.
Also, I would have another suggestion: instead of an applet, is there a way to change the brightness with a key combination ( I dont have hardware buttons) ?
Thanks,
Mark

Offline

#8 2012-08-02 15:00:27

fredmorcos
Member
From: Austria
Registered: 2008-09-01
Posts: 9
Website

Re: sysconf

@mark-o-solo you should find a file named "sysconfrc.conf.example" in the project directory (if you checked out from git), in this case I ma referring to that file: https://github.com/fredmorcos/sysconf/b … nf.example. If you installed through the AUR, you should find that file in /usr/share/sysconf. Let me know how it goes.

In general, sysconf is not a daemon or a desktop tool. It's a shell script meant to be executed by daemons or desktop tools on appropriate occasions with appropriate profiles. Key-binding or "appletting" support is completely out of the scope of this project.

Offline

Board footer

Powered by FluxBB