# BOINC Config Utility



## FordGT90Concept (Aug 7, 2013)

See this post for Linux!  The below is for Windows only.

Introducing the next generation of BOINC configuration!  The first generation may be found here








It really is self explanatory.  If you want details on something, hover over it and the tooltip will explain it.  The only thing that warrants a more thorough explanation is the "exclusive applications."

*Note:* In short: 1) drop desired cc_config.xml on BOINC Config Utility.exe, 2) click Apply, 3) ??????, 4) Profit!  In long: The application should support drag and drop capability on the executable.  That is, if you drop a cc_config.xml on to the executable, it should load the no_gpu, exclusive_app, exclusive_gpu_app, and report_results_immediately settings in the file on to the GUI, you can then modify it if desired, and click Apply to inject the settings into the computer's cc_config.xml and make BOINC read them immediately.  It's a quick way apply the settings without hunting for cc_config.xml on each computer and making it read cc_config.  Two steps and it is done.



Spoiler: Exclusive Applications



Long story short, if an application is in this list, BOINC will do less or no work.  Specifically:

_Default_ - Is the same as not being on the list at all.  BOINC will function normally even if this process is running.
_GPU_ - If this process is detected, BOINC will suspend all GPU work.  It will still do CPU tasks.
_All_ - If this process is detected, BOINC will suspend all tasks (GPU & CPU).  Use this on processes where BOINC interferes.






Spoiler: Version History



1.0.6 - Added ncpus.
1.0.5 - Updated to .NET Framework 4.7.2 and added "Add Applications" group.  Be careful using the recursive option because it doesn't presently show progress while going through it so application will appear to lock up if there's a lot to search through.
1.0.4 - Added no_priority_change, start_delay, and path to cc_config.xml.
1.0.3 - Many usability improvements.
1.0.2 - Added support for Server 2003 (maybe XP too) and BOINC client 5.10.
1.0.1 - Changed "Program" to "Running;" redid the running dialog so now it shows process ID, process name, and CPU usage; made the exclusive app and running list views sortable via clicking on the column header; and made it save exclusive GPU apps even if no GPUs is set to true.
1.0.0 - Initial release.


----------



## Mindweaver (Aug 7, 2013)

Very nice Ford!


----------



## AlienIsGOD (Aug 7, 2013)

great stuff


----------



## [Ion] (Aug 7, 2013)

Cool! 

I'll add it to the WCG Essentials thread!


----------



## FordGT90Concept (Aug 8, 2013)

I only tested this on Windows 7 so let me know if it doesn't work as expected on other operating systems.  I suspect it will only have problems if using an old version of BOINC/WCG.


----------



## FordGT90Concept (Aug 11, 2013)

[Ion] said:


> Cool!
> 
> I'll add it to the WCG Essentials thread!


That would be nice.


I added a note to the OP about drag and drop support.  You can use this program to quickly configure many computers by simply transferring an exported cc_config.xml and BOINC Config Utility to each computer and dropping the XML on the EXE and clicking Apply.

I would also like to remind people that if they want more commands added to this program, simply say.  The lion's share of programming work is done; it should be pretty easy to add more.

Oh, and the advantage of setting exclusive apps via this program instead of doing it in BOINC/WCG is that 1) BOINC Config Utility also supports exclusive GPU apps, 2) BOINC Config Utility doesn't spam all the default settings into the cc_config.xml--only those that are explicitly demanded (I hate dirty XMLs), and 3) BOINC Config Utility supports adding programs from running applications and by name as well as by browsing (which BOINC/WCG supports).


----------



## Arjai (Sep 5, 2013)

Wow, looks fantastic! Even to a goof like me!


----------



## FordGT90Concept (Sep 11, 2013)

Thanks, you wouldn't believe how much trouble WPF gave me especially on those radio buttons.  It's strange how what you always think will be the easiest to do is usually the most difficult. XD


I'd like to underline how awesome Add...Program... and Apply is together.  Whenever I start up a game and notice BOINC making the framerate unbearable, I alt+tab out of the game, open BOINC Config Utility, click on Add...Program..., select the game from the list, then click Apply.  BOINC, in less than a second, should be notified the config changed, read it, and put the brakes on allowing the game to operate smoothly.  This is better than using Task Manager to terminate BOINC and using BOINC's snooze function because BOINC will always halt and restart when the program is running without any further intervention.


----------



## ThE_MaD_ShOt (Sep 11, 2013)

Anyway you can make a version for Linux?


----------



## FordGT90Concept (Sep 11, 2013)

I'm drugged so this is going to be a wee bit wandering...


Spoiler: Rant



Mono doesn't support WPF at all which means falling back on WinForms (I think Mono implemented that at least) and I'm not sure how well the other functions would carry over.  If cc_config.xml is more or less the same on Linux and Windows and you're willing to do a lot of debug testing for me, I could look into it.

Oh shoot, WinForms doesn't support the slider thing I did for exclusive apps.  I'd have to come up with an alternative there.


Long story short, it would be a lot of work but I know a lot of people crunch on *NIX so I think it would be worth the effort to make it work.  I don't have a *NIX platform so I can't test so someone else would have to work with me to test it.  It would require Mono.


Spoiler: Technical Rant



I would have to entirely separate the UI from the underlying code and attempt to make the binary open WinForm UI on *NIX and WPF on Windows.  I don't know if that's even possible because simply having WPF in the binary may cause Mono to throw a fit.  If it doesn't work, I'd have to release a package with WinForm.exe, WPF.exe, and Shared.dll that way updating produces less logical problems, and still isolates the code so *NIX doesn't throw a fit.  On top of that, I'm not sure if the Processes commands carry over so the Add... functions might have to be substituted for simply entering the name. I  could seriously see this take 50 debug tests on Linux to get right, unfortunately. So...


If I undertake this *NIX project, I would really appreciate it if the WPF version had everything everyone wants in it presently.  Adding more stuff after the WinForms version is finished will double the effort and result in delays while someone tests the Linux port.


----------



## Mindweaver (Sep 11, 2013)

Hey man the program is looking really good! Making a Linux version sound interesting.


----------



## ThE_MaD_ShOt (Sep 11, 2013)

Hell basically all we linux people would need would be to add the "send the results automatically" to the cc_config.xml file. It's easy enough to do in terminal once you gain root control of the file so you have permission to change it. New people to linux may just be intimated with having to go through terminal to add the line to the config file. I've added it manually to mine. 

Now I guess the program would need to be able to gain root access to the boinc config file and add the options lines. The permission part would probably be the hardest and there will need to be somewhere along the way the end user would have to input there root password.

I guess what i'm saying is the program would have to gain access to terminal. Then go all sudoedit on it ass, then apply root password, apply changes to config file then exit terminal. Whether this is doable or not, I haven't a clue. May have to say you linux people need to manually edit your stuffs.


But if you do decide to accept the challenge I will setup a test rig for it.


----------



## FordGT90Concept (Sep 11, 2013)

If that's the case, try this one (appears in Easy WCG Config thread):
http://fordgt90concept.homeip.net/apps/Binaries/WcgConfigurator.exe

It's a CUI that only does reports_results_immediately.  I suspect it will crash and burn but it's easier to make that one work on *nix and Windows than BOINC Config Utility.  I'll examine the code for obvious *nix problems in the meantime.


What's the best way to find the cc_config.xml on *nix?  Is it even called, cc_config.xml.


----------



## Mindweaver (Sep 11, 2013)

Use "find" on the command line. 

EDIT: 
	
	



```
find .-name cc_config\*
```


----------



## FordGT90Concept (Sep 11, 2013)

8| There's no registry or environmental variables to use to find it with almost absolute certainty?


Edit:





Mindweaver said:


> EDIT:
> 
> 
> 
> ...


That's great and all but how do I do that via C#.NET?  On Windows, I'd run cmd.exe and pass that as an argument but obviously that won't work on *NIX.


----------



## Mindweaver (Sep 11, 2013)

Nope no registry, but you should be able to find it in /etc. Gnome has _GConf_. I don't know if I would spend a lot of time on a linux project, because advanced or older Linux users are not going to use it. You're probably only looking a new users and that might be a good thing if Google's OS takes off.. I don't know, but if you have the spare time then what the hell.. right? 

*EDIT: Linux uses a unified file system. If you are bored and have nothing to do read this... hehe Good luck and I'll help you as much as I can buddy. *


----------



## FordGT90Concept (Sep 11, 2013)

Well, that's what makes WCG Configurator worth while.  It's really fast because it finds everything it needs automatically and in-place-modifies the file (doesn't tamper with any settings except the target setting).  On Windows, it often doesn't need any user input at all.  Obviously, I'd want to achieve the same goal on *nix but I don't have the knowledge on how to go about doing that.

Maybe Mono already accounts for this...can someone run this on Linux and tell me what happens?


----------



## Mindweaver (Sep 11, 2013)

FordGT90Concept said:


> Well, that's what makes WCG Configurator worth while.  It's really fast because it finds everything it needs automatically and in-place-modifies the file (doesn't tamper with any settings except the target setting).  On Windows, it often doesn't need any user input at all.  Obviously, I'd want to achieve the same goal on *nix but I don't have the knowledge on how to go about doing that.
> 
> Maybe Mono already accounts for this...can someone run this on Linux and tell me what happens?



Dang of all the days I leave my personal laptop at home.. lol  I'll try to run it later when I get home, but I can't promise anything for tonight.  So, if someone else wants to then have at it.


----------



## HammerON (Sep 11, 2013)

Can't try it on Linux because I don't use it.
However I will be utilizing this utility on my Win7 rig
Thanks Ford


----------



## ThE_MaD_ShOt (Sep 11, 2013)

Hey ford, the cc_config file is here on linux rigs. "/etc/boinc-client/cc_config.xml"


----------



## FordGT90Concept (Sep 11, 2013)

If it is always there, that makes life simple. XD


I already found a problem...that being it targets .NET Framework 2.0 which doesn't play nice with 64-bit registry (used whacky code to compensate) where 4.0 does.  I might as well change that while I'm at it too.


----------



## Mindweaver (Sep 11, 2013)

FordGT90Concept said:


> If it is always there, that makes life simple. XD
> 
> 
> I already found a problem...that being it targets .NET Framework 2.0 which doesn't play nice with 64-bit registry (used whacky code to compensate) where 4.0 does.  I might as well change that while I'm at it too.



Yea, I don't see a Linux user moving that file.


----------



## FordGT90Concept (Sep 11, 2013)

If/when someone on *nix gets a chance, please try this:
http://fordgt90concept.homeip.net/apps/Binaries/WcgConfigurator.exe

Version number is 2.0.0.0.  I changed everything I saw to support *nix but I could have easily missed something.  Let me know if it fails harder than the Titanic or works perfectly.


----------



## ThE_MaD_ShOt (Sep 11, 2013)

I will give it a whirl later this evening. 

Nevermind I just tried and it failed. .Exe files are not binary compatible with Linux.


----------



## FordGT90Concept (Sep 12, 2013)

Is Mono installed on the machine?  Mono is the interpreter for the executable.


----------



## ThE_MaD_ShOt (Sep 12, 2013)

No it is nots. It has just a base Ubuntu 13.04 install , Chrome and Boinc. Thats it.


----------



## FordGT90Concept (Sep 12, 2013)

Try it with Mono...unless you're telling me that defeats the purpose.


----------



## ThE_MaD_ShOt (Sep 12, 2013)

Yes that defeats the purpose. I am thinking of this to be more suited to new users. A click and done deal if it's even possible. Also the cc_config file will need root access to change it. For me I don't mind firing up terminal and sudo editing the file. But newbies to *nix will run in fear. LOL. 

 I was helping another member the other day editing his config file and didn't even think to tell him how to get to terminal. He found it with a goggle search. I have also seen the occasional "how do I install Boinc on Linux" question. So if this program is possible it has to be geared towards newbies in the *nix world.


----------



## FordGT90Concept (Sep 12, 2013)

If Mono handles permissions the same way as .NET, it should be easy to elevate them.  Someone would have to try it and tell me if it requires higher permissions.  If Mono behaves the same as .NET, it should demand adequate permission before it even starts.


----------



## ThE_MaD_ShOt (Sep 12, 2013)

Here's how I do it. 

First I fire up terminal. 
Then I type " sudoedit /ect/boinc-client/cc_config.xml"
It will ask for root password \, I enter it and hit enter
then it will pop up the file and I add in
"<options>
         <report_results_immediately>1</report_results_immediately>
 </options>"

screenies after this line














I may have to setup the other rig to try it out with mono as it seems to only be offically supported up to Ubuntu 12.10 and I am running 13.04.




I tried opening it with mono and nothing happened


----------



## FordGT90Concept (Sep 12, 2013)

Did it close itself or did it just hang?  It should be incapable of hanging.  I might know why it just closed if that's what happened.


----------



## ThE_MaD_ShOt (Sep 12, 2013)

It didn't do anything. I right clicked and sad to open with mono and absolutely nothing happened.


----------



## FordGT90Concept (Sep 12, 2013)

2.0.1: http://fordgt90concept.homeip.net/apps/Binaries/WcgConfigurator.exe

Maybe that will be more descriptive (or work altogether...one can hope).


----------



## ThE_MaD_ShOt (Sep 12, 2013)

Same thing, nothing. I am going to try it under wine once it installs.




Under wine I get a quick blip of a black box is all. Also theres no rush on this. I will put together another rig to keep testing this on so I don't boink my Linux install on my i7 rig.


----------



## FordGT90Concept (Sep 12, 2013)

Maybe this will help:
http://www.mono-project.com/Guide:Running_Mono_Applications

mono WcgConfigurator.exe should have worked.




ThE_MaD_ShOt said:


> Under wine I get a quick blip of a black box is all. Also theres no rush on this. I will put together another rig to keep testing this on so I don't boink my Linux install on my i7 rig.


If the terminal is ignoring my Console.ReadKey() commands, that would be all it should do.  Maybe try changing report_results_immediately to 0, run it, and check if it changed back to 1.


Still...this isn't sounding any more efficient than your method because Mono isn't designed to be intrinsic like .NET is to Windows.


----------



## ThE_MaD_ShOt (Sep 12, 2013)

Also it should ask for the root password to change the file. For some reason it is lock down tight and you need root access to open the file to edit it.





Changed from 1 to 0 and ran the exe file through mono and nothing happened.


----------



## Norton (Sep 12, 2013)

ThE_MaD_ShOt said:


> Yes that defeats the purpose. I am thinking of this to be more suited to new users. A click and done deal if it's even possible. Also the cc_config file will need root access to change it. For me I don't mind firing up terminal and sudo editing the file. But newbies to *nix will run in fear. LOL.
> 
> *I was helping another member the other day editing his config file and didn't even think to tell him how to get to terminal. He found it with a goggle search*. I have also seen the occasional "how do I install Boinc on Linux" question. So if this program is possible it has to be geared towards newbies in the *nix world.



That would be me .... Norton = Linux noob


----------



## ThE_MaD_ShOt (Sep 12, 2013)

Ah I wasn't trying to single you out buddy. LOL


----------



## FordGT90Concept (Sep 12, 2013)

2.0.2: http://fordgt90concept.homeip.net/apps/Binaries/WcgConfigurator.exe

It should "requireAdministrator" but that's a UAC thing, I doubt Mono will adhere to it.  Under UAC, if administrator account is password protected, it would require the password be input.


Don't quote me on this but Mono may require elevated rights, not WcgConfigurator.  On windows, when it executes it is the executable.  On *nix, it might only be Mono that executes.


----------



## ThE_MaD_ShOt (Sep 12, 2013)

Okay we are getting somewhere now. kinda LOL I tried simply clicking on it and right clicking and hitting open with mono. Did same thing as before which is nothing. So I fired up terminal and provoked it from there and got this.


----------



## FordGT90Concept (Sep 12, 2013)

Was that 2.0.2?  If so, you're right: can't touch the cc_config.xml.  Is there a way for my application to demand read/write privileges to that file?


----------



## ThE_MaD_ShOt (Sep 12, 2013)

Yes it was 2.0.2. The program would have to gain root/admin access to the file. 

Now I may be talking out my bung hole and off my rocker, but is there a way to write the program so it:
A: opens terminal
B: enters the "sudoedit /etc/boinc-client/cc_config.xml" command
C: enters the password for root/admin
D: applies the report results line to the config file
E: enters "ctrl+x"
F: enters "yes"
D: enters "enter"
E: closes terminal. 


Now if someone with more experience in Linux knows of another way to gain access to the file and to apply the changes, please chime in. 


Basically we need it to work like the older version of the configurator, where it went to the command prompt. and had simple choices to make. We just need it to go to terminal in linux and have some simple question to answer. Like press enter and enter password for root.


----------



## Mindweaver (Sep 12, 2013)

ThE_MaD_ShOt said:


> Also it should ask for the root password to change the file. For some reason it is lock down tight and you need root access to open the file to edit it.
> 
> Changed from 1 to 0 and ran the exe file through mono and nothing happened.





Norton said:


> That would be me .... Norton = Linux noob



Hehehe yea the new unity shell interface takes some getting use too.. hehehe But remember the easiest way to get to terminal is 
	
	



```
Ctrl + Alt + T
```


----------



## FordGT90Concept (Sep 12, 2013)

Maybe this[url] would work?  So how is that BOINC and read/write to that directory and my program cannot?  What I need to do, and have no clue how to do, is make my program request access to that file (most likely via sudo or chmod).  I'm beginning to suspect a third party program cannot access sudo at all meaning there's no way to accomplish this.


----------



## ThE_MaD_ShOt (Sep 12, 2013)

I am beginning to fell the same way. Maybe I just need to write up a detailed tutorial on how to make the changes through terminal and hope new people to *nix will be able to understand it clearly.


----------



## FordGT90Concept (Sep 12, 2013)

I'm thinking there has to be a way to start the program as a user kind of like on Windows with "Run As Administrator."  I have no clue how to do that in *nix but I'm looking.


----------



## ThE_MaD_ShOt (Sep 12, 2013)

FordGT90Concept said:


> I'm thinking there has to be a way to start the program as a user kind of like on Windows with "Run As Administrator."  I have no clue how to do that in *nix but I'm looking.



Not sure man. I am logged in as admin on my nix rig and it still locks the file down. I have to still sudo edit it and enter password to access the file. No right clicking and editing.


----------



## FordGT90Concept (Sep 12, 2013)

There has to be a way or BOINC couldn't write to it.  I need to replicate that way.


----------



## ThE_MaD_ShOt (Sep 12, 2013)

Does boinc actually write to the xml file or does it just read from it?


----------



## Mindweaver (Sep 12, 2013)

I've got to run to a meeting, but why not create the file outside of /etc and then do a sudo cp to the /etc directory?


----------



## FordGT90Concept (Sep 12, 2013)

ThE_MaD_ShOt said:


> Does boinc actually write to the xml file or does it just read from it?


Both.  If you do anything with exclusive apps in BOINC client, it should write all the default values to the cc_config.xml.




Mindweaver said:


> I've got to run to a meeting, but why not create the file outside of /etc and then do a sudo cp to the /etc directory?


I would have to move cc_config.xml out of /etc first.  Where could my program read/write without problems?


----------



## ThE_MaD_ShOt (Sep 12, 2013)

Theres a download folder. I will try moving it and see how it works. But will probably need permission for that also.


----------



## FordGT90Concept (Sep 12, 2013)

Probably.  It seems like a dead end to me.  A good guide is probably the best we can do.


----------



## ThE_MaD_ShOt (Sep 12, 2013)

Cool thanks for trying man, I really do appreciate it. 

I will get to work on a guide.


----------



## Mindweaver (Sep 12, 2013)

Yea, I agree with the guide, because even if it's wrote outside of the /etc directory it still needs sudo to modify anything going into the /etc directory.  I think it would be much simplier to use a script using "_sed_" to do a find and replace. But I think most Linux users would just use the terminal to pass sudo to gedit and modify that file. example: 
	
	



```
sudo gedit
```
 or edit the file outside of /etc like the "_Documents_" folder and then copy it to /etc/boinc-client. 
	
	



```
cd /home/user/Documents
```
 then once in the Documents folder 
	
	



```
sudo cp cc_config.xml /etc/boinc-client
```


----------



## FordGT90Concept (Sep 12, 2013)

That's the advantage of using that program though: it processes the XML file as an XML file.  It literally reads the whole file, makes the changes, and writes it back.  I don't know if *nix has an XML parser for Bash Shell script but if it does, that would probably be the best way to go.

Apparently it is possible, but not easy because there is no native support:
http://stackoverflow.com/questions/893585/how-to-parse-xml-in-bash/2608159#2608159


----------



## Mindweaver (Sep 12, 2013)

FordGT90Concept said:


> That's the advantage of using that program though: it processes the XML file as an XML file.  It literally reads the whole file, makes the changes, and writes it back.  I don't know if *nix has an XML parser for Bash Shell script but if it does, that would probably be the best way to go.
> 
> Apparently it is possible, but not easy because there is no native support:
> http://stackoverflow.com/questions/893585/how-to-parse-xml-in-bash/2608159#2608159



Yea, even if you're able too, the biggest obstacle is still getting a Linux user to except they need a program to do something as simple as editing a text file. and don't take that as me taking a cheap shot at the program or your ability buddy, because that's far from what I'm trying to do.  It's just the mind set of 95% of Linux users.  It's getting a lot better with more users using Ubuntu and Android, but we still have a ways to go.


----------



## FordGT90Concept (Sep 13, 2013)

No one "needs a program" to do what these do.  Like most programs, their intent is to take a 10 step process and simplify it to one or two.  Linux is engineered, it seems, to prevent that so, naturally, people that don't like wasting time doing frivolous tasks are going to stay away from Linux.

The problem isn't me, it isn't you, it isn't BOINC, it is Linux.  None of us are going to fix Linux (it's a systemic problem, not a distro problem) so a thorough guide is the best we can do.  I don't have Linux on any of my computers so I can't write that guide but I hope someone else will.  I recommend using spoiler tags and images for whoever does it though.

I'm not intending to remove the Linux code by the way so if someone finds a way to make it work on Linux, let me know and I'll keep trying.  Until then, it's really only useful on Windows.


----------



## Arjai (Sep 13, 2013)

Fine work guys. Really. This noob absorbs this stuff. I think I could edit my config in *nix with just reading these posts! Of course, both my *nix-er's are sitting in storage, at the moment but, good info for future use.

BTW, MAD, anytime spent writing a Guide will be essential to getting people to switch up their Crunchers to *nix. Effectively improving the PPD and eventually propping TPU on the top of the WCG list!!


----------



## laptop-hpc (Sep 13, 2013)

Well, I've been looking at writing something using GTK+, but that turned into a pain pretty fast, so a command line program seemed simpler to start, and the attached program is what I threw together last night. 

It's a horrible hack that asks whether to report tasks immediately and whether to use GPUs, and then writes strings to the XML file with the options in place. It doesn't parse any XML, so it will OVERWRITE the config file, which is only useful if you don't care about any other options.

*Edit Sep 15:* Version 0.01 had a bug where cc_config.xml was written as root, and boinc can't write to it until it's manually removed.  V0.02 fixes that.

*Usage:*


Spoiler



To run it, open a terminal in the directory with the program, and type 
	
	



```
sudo ./boinc-config
```
 to use the default path "/etc/boinc-client/cc_config.xml" or 
	
	



```
sudo ./boinc-config 'path-to-cc_config.xml'
```
  for a custom path (on my system it's /var/lib/boinc/cc_config.xml).


I'll keep messing with some kind of GUI, but it might take me weeks to get that working.  
The zip file has the compiled program, plus source code if anyone wants it. 
Edit: I realize this is hardly easier than just editing the config file with a text editor, but at least you don't have to write the XML every time.


----------



## FordGT90Concept (Oct 30, 2013)

Updated BOINC Config Utility to 1.0.1 including changes:
-Changed "Program..." to "Running..." to avoid confusion.
-Redid the "Running..." dialog so now it shows process ID, process name, and CPU usage.  This is sortable via clicking on the column header to make it much quicker to find the application you are looking for.
-Made the Exclusive Application list view sortable as well via clicking on the column header.  Related: added "Value" to the header because the sorter needs it (silly sorter).
-Made it save exclusive GPU apps even if no GPUs is set to true.  I'll let BOINC sort that one out.  Because the application saves and loads directly to/from cc_config.xml, I didn't want to lose exclusive GPU app settings just because no GPUs was true.

Note: the program will freeze for a few seconds when opening the "Running..." dialog.  This inadvertently happens because it is loading information about the running processes.  I figure it isn't slow enough that it requires a "loading" dialog.

Note: It doesn't save the sorted order in the Exclusive Applications list view because, frankly, there's no reason to.  Performance is better by not sorting the underlying collection, only sorting the user interface.


----------



## FordGT90Concept (Dec 17, 2013)

Updated BOINC Config Utility to 1.0.2 including changes:
-Revamped code for reading registry so it will properly fall through the options should they fail (e.g. check 64-bit registry, then 32-bit registry, then ask user).
-Changed windows icons from icons to portable network graphics.  Don't ask why but if this isn't done, it will crash on start in Server 2003 and potentially other, older operating systems (read: XP).
-It now supports 5.10 which is still in service on Windows Server domain controllers.


----------



## FordGT90Concept (Apr 6, 2014)

Just updated BOINC Config Utility to 1.0.3.  The changes I can remember...
-Exclusive Apps list now defaults to sorting alphabetically.
-Add running program list now defaults to sorting highest CPU load.
-Double click to add a program from the running program list is now supported again.
-When a program is added to the exclusive apps list, it automatically scrolls to it and selects it.
-When a program is added to the exclusive apps list, the default is to select "All" instead of "Default."
-Add running program and add program name dialogs no longer show up in the taskbar.

These changes should make it much faster to find, add, and apply rules so you can get back to what you were doing as quickly as possible.


----------



## FordGT90Concept (May 16, 2014)

The thought occurred to me that I never actually tested this with WCG, only 64-bit BOINC.  Can someone that uses WCG verify this works?


----------



## Nordic (May 16, 2014)

Works fine windows x64.


----------



## FordGT90Concept (May 16, 2014)

Come to think of it, I haven't tested it on 32-bit either.  It should work but...


----------



## Mindweaver (May 16, 2014)

Hey guys I've unsticked my old "*Easy WCG Config*" thread, and stickied this thread. Ford and I agree that we don't think anyone still uses the old one. If you do then I added the link to it here just in case.


----------



## FordGT90Concept (May 16, 2014)

I added a link to it too in the OP.  Also added a link to laptop-hpc's Linux guide/tool too.


----------



## Nordic (May 16, 2014)

Mindweaver said:


> Hey guys I've unsticked my old "*Easy WCG Config*" thread, and stickied this thread. Ford and I agree that we don't think anyone still uses the old one. If you do then I added the link to it here just in case.


I did but was ignorant of this newer better utility.


----------



## FordGT90Concept (May 16, 2014)

I can always add more options to this program.  Here is the full list BOINC supports:
http://boinc.berkeley.edu/wiki/client_configuration#Options

NCpus may be useful, for example.


----------



## Nordic (May 17, 2014)

FordGT90Concept said:


> I can always add more options to this program.  Here is the full list BOINC supports:
> http://boinc.berkeley.edu/wiki/client_configuration#Options
> 
> NCpus may be useful, for example.




```
<ncpus>N</ncpus>
Act as if there were N CPUs; e.g. to simulate 2 CPUs on a machine that has only 1. To use the number of available CPUs, set the value to -1 (was 0 which in newer clients really means zero).
```

Lets just take an i5 for example here. 4 cores 4 threads. Would this allow you to run 8 wu's and 4 cores, so essentially running 8 threads? If so, I wonder if this would hurt, help, or do nothing at all to ppd. If so this would require testing.


```
<no_alt_platform>0|1</no_alt_platform>
If enabled, the client will run applications only for its primary platform. For example, a Win64 machine will run only Win64 apps, and not Win32. List-add.pngNew in 5.9.10
```
I don't know how apps work exactly. If there are 32bit and 64bit FAAH or MCM apps then I would definitely prefer to only run 64bit apps as long as I had plenty of work. If so this would require testing.


```
<no_priority_change>0|1</no_priority_change>
If 1, don't change priority of applications (run them at same priority as client). List-add.pngNew in 6.6.18
NB: This option can, if activated, impact system responsiveness for the user. Default, all CPU science apps run at lowest (idle) priority Nice 15.
```
This might be useful on dedicated crunchers that don't get used on even a weekly basis.


```
<start_delay>nseconds</start_delay>
Specify a number of seconds to delay running applications after client startup. List-add.pngNew in 6.1.6
```
I could see this being useful to someone but not myself.


----------



## FordGT90Concept (May 17, 2014)

james888 said:


> Lets just take an i5 for example here. 4 cores 4 threads. Would this allow you to run 8 wu's and 4 cores, so essentially running 8 threads? If so, I wonder if this would hurt, help, or do nothing at all to ppd. If so this would require testing.


The only time I can think of this being useful is a processor that disables cores if there isn't enough load to warrant running it.  By running two applications, the processor would look at the load, say "whoa, I need more power," and turn on that disabled core.  Maybe some IBM PowerPC processors do that but I can't see that being a great thing for the common user.  I can add if there is demand though.



james888 said:


> I don't know how apps work exactly. If there are 32bit and 64bit FAAH or MCM apps then I would definitely prefer to only run 64bit apps as long as I had plenty of work. If so this would require testing.


x86-64 can do 64-bit and 32-bit.  If this is enabled, only 64-bit work will be requested.  [Ion] has repeatedly said that 64-bit operating systems yields about 10% more PPD.  Whether 64-bit only work translates to higher PPD, I don't know.  I could add it if there is demand for it.



james888 said:


> This might be useful on dedicated crunchers that don't get used on even a weekly basis.


Tru dat.  Could add it.



james888 said:


> I could see this being useful to someone but not myself.


I've been debating about adding that one myself.  I think I should put that on my to-do list.


----------



## Nordic (May 17, 2014)

FordGT90Concept said:


> The only time I can think of this being useful is a processor that disables cores if there isn't enough load to warrant running it.  By running two applications, the processor would look at the load, say "whoa, I need more power," and turn on that disabled core.  Maybe some IBM PowerPC processors do that but I can't see that being a great thing for the common user.  I can add if there is demand though.


This makes me think back to the gpu wu's we used to have where I maximized my ppd but having 16 wu's distributed over 4 cores. The work was done on the gpu not cpu so it is different, but I do wonder if there could be a slight ppd gain. Sandy bridge and up has such great single threaded performance.... I could just be totally wrong as I am speaking about something similar that I did in my experience but might be totally different. I could try this on my own to see if there is a difference in ppd.



FordGT90Concept said:


> x86-64 can do 64-bit and 32-bit.  If this is enabled, only 64-bit work will be requested.  [Ion] has repeatedly said that 64-bit operating systems yields about 10% more PPD.  Whether 64-bit only work translates to higher PPD, I don't know.  I could add it if there is demand for it.


I know there is that 10% from x64. That is where I had my thought there, but now that I think about it x32 and x64 really only applies to memory management. Right? I barely touch my 8gb of memory on each of my rigs whether I have 2 wu's going or 12.



Edit:
What file do I need to edit? Where would I find it?


----------



## FordGT90Concept (May 17, 2014)

C:\ProgramData\BOINC\cc_config.xml most likely.  Make sure to put it between the options flags.  Which reminds me, I should show the full path to the file it is editing.

x86-64 has more processor registers so that can significantly boost performance.  The 10% gain doesn't really make any sense just for using 64-bit client.  I mean, it's not memory because I have mine set up to accept high memory units and I don't think they exceed 256 MiB each.  I'm running 16 tasks presently and the most memory intensive is only using 54 MB--a pittance.  I think the more plausible scenario is that the tasks itself are 64-bit which yields that that bonus.


----------



## Nordic (May 17, 2014)

Ncpu option does allow you to run more WU's than you have cores. In my i7 4 cores 8 threads I just put 14 in the Ncpu area. I now have 12 wu's going. I will leave this like this for a few days. I am currently getting about 5600ppd average. Lets see if I do better.

The estimate of time to completion went up about 5 minutes also. So if I get 50% more wu's done in about the same amount of time that should relate to an increase in ppd.


----------



## FordGT90Concept (May 17, 2014)

How should I lay out these simpler options?  Should they all be above Exclusive Applications like they are now, stacked to the left or right of Exclusive Applications, or below Exclusive Applications?


----------



## FordGT90Concept (May 18, 2014)

I just went ahead and made the changes that were discussed.  Stuff's in the original post.  The jury is still out on no_alt_platform and ncpus so I left those out for now.


Edit: I'm not 100% on start_delay default being 120 seconds.  If someone finds out that it isn't, let me know and I'll change it.


----------



## xvi (May 20, 2014)

FordGT90Concept said:


> 1.0.2 - Added support for Server 2003 (maybe XP too) and BOINC client 5.10.



Tried it on my WinXP machine. It guessed c:\Documents and Settings\All Users\Application Data\BOINC\cc_config.xml, which appears to be correct. I'll be testing 4 WUs on 2 threads on that machine. We'll see how it goes.


----------



## Arjai (May 20, 2014)

Why is this all there is in the cconfig file? I wanted to up the <ncpus> on my buddies computer, new BOINC install, and could not find cconfig, until I ran this utility.

Now it's there but, this is it? Do I need to add it into the cconfig manually?


----------



## xvi (May 20, 2014)

@Arjai  Yep. By default, it doesn't exist. Once you create it (in the correct location), BOINC will load settings out of it. Just pop a new line and add <ncpus>9001</ncpus>
(DISCLAIMER: Setting it to run *over 9000* WUs at once may or may not set your computer on fire and I take no responsibility if this happens.)

Should end up looking something like my config:

```
<cc_config>
  <options>
    <report_results_immediately>1</report_results_immediately>
    <start_delay>60</start_delay>
    <ncpus>4</ncpus>
  </options>
</cc_config>
```


----------



## Arjai (May 20, 2014)

Thanks, I also posted this in the Challenge thread. Vinska beat you to the punch! 

Anyways, it is now edited for 9000 cpu's and is running a little hot.

Seriously, upped it to 3, 1 more, and it is Crunching away!!!


----------



## FordGT90Concept (May 20, 2014)

BOINC has all of these options with default values.  The only ones that need to appear in cc_config are those that are non-default (e.g. report_results_immediately 1).  BCU behaves the same way by removing default values from cc_config so it is easier to follow.  That's also likely why you may have set a lot of options in BCU (like no_gpus to false) but they do not appear in the cc_config because they are default.


Should I just add ncpus to the program since it is trendy? XD


----------



## Arjai (May 20, 2014)

No. Don't want the enemies to get it!! make them work for it, like we did!!


----------



## FordGT90Concept (May 20, 2014)

But, but, but for science!


----------



## Arjai (May 20, 2014)

FordGT90Concept said:


> But, but, but for science!


OK, but, please hold it until this challenge ends...Don't want any Frenchies tipping off RIT!!


----------



## Nordic (Nov 22, 2019)

I still use this tool. It is great. It still works. I am surprised no one has said anything in 5 years. @FordGT90Concept I had an idea for a great feature. Would it be possible to automatically import exclusive applications from the steam library or other game platforms?


----------



## FordGT90Concept (Nov 22, 2019)

It would a lot of work and I'm not sure how much value that would be because the vast majority of games aren't impacted by BOINC.  In the past five years, the only game I added to the exclusive list is Assassin's Creed: Origins.

Edit: One idea that's far simpler is to use uninstall registry keys to find all installed software.  Thing is...a computer that has hundreds of installed programs will make a list 100s long which is tedious/not user friendly.  Additionally, a lot of games (like those published by Kalypso) have install keys that point to the launcher rather than the game itself so it will completely miss the mark.  That applies to pulling data directly from Steam too.


----------



## Nordic (Nov 22, 2019)

Would it be possible to pull all exe's from a given directory such as the steam directory?

While the vast majority of games on steam are not impacted, the vast majority of games in my library are impacted, specifically the ones I play. I can't imagine I am all that unique.


----------



## phill (Nov 22, 2019)

Nordic said:


> I still use this tool. It is great. It still works. I am surprised no one has said anything in 5 years. @FordGT90Concept I had an idea for a great feature. Would it be possible to automatically import exclusive applications from the steam library or other game platforms?



I'm a bit of a noob at this, but can't this be done already within Boinc itself?  I do notice a bit of a slow down between running Boinc and not running it whenever I did get chance to game but the difference wasn't really that bad I didn't think?

Read through the last 4 pages and saw the dates on them, brilliant idea and execution   We really do have an amazing community here and such amazing people


----------



## Mindweaver (Nov 22, 2019)

Nordic said:


> I still use this tool. It is great. It still works. I am surprised no one has said anything in 5 years. @FordGT90Concept I had an idea for a great feature. Would it be possible to automatically import exclusive applications from the steam library or other game platforms?





FordGT90Concept said:


> It would a lot of work and I'm not sure how much value that would be because the vast majority of games aren't impacted by BOINC.  In the past five years, the only game I added to the exclusive list is Assassin's Creed: Origins.
> 
> Edit: One idea that's far simpler is to use uninstall registry keys to find all installed software.  Thing is...a computer that has hundreds of installed programs will make a list 100s long which is tedious/not user friendly.  Additionally, a lot of games (like those published by Kalypso) have install keys that point to the launcher rather than the game itself so it will completely miss the mark.  That applies to pulling data directly from Steam too.



Yea, I started to add that to my utility as well, but the feature in the Boinc app works well and is fairly simple to use. So, I stopped developing my app, due to other projects at work lucky Ford carried it on.


----------



## Nordic (Nov 23, 2019)

phill said:


> I'm a bit of a noob at this, but can't this be done already within Boinc itself?  I do notice a bit of a slow down between running Boinc and not running it whenever I did get chance to game but the difference wasn't really that bad I didn't think?
> 
> Read through the last 4 pages and saw the dates on them, brilliant idea and execution   We really do have an amazing community here and such amazing people


Well yes, but I am hoping to find a way to add many games faster. I would be really cool if I could add every game in my steam library.


----------



## FordGT90Concept (Nov 23, 2019)

Nordic said:


> Would it be possible to pull all exe's from a given directory such as the steam directory?


That makes more sense.  Are you talking recursively (folder+subfolders) or just the selected folder?


----------



## Nordic (Nov 23, 2019)

Folder and sub folders would be perfect. It would make it super easy to have all your games excluded.


----------



## Mindweaver (Nov 23, 2019)

That's not a bad idea. @FordGT90Concept you could then just loop through the exe's in the folder and add them to the config file. You could also add each exe to a row in your DataGridView.

*EDIT: Maybe add a listview at the top for Directories to exclude and then loop through those directories and put them in the DataGridView.*


----------



## FordGT90Concept (Nov 23, 2019)

1.0.5  Uploaded to OP.

Updated to .NET Framework 4.7.2 and added "Add Applications" group. Be careful using the recursive option because it doesn't presently show progress while going through it so application will appear to lock up if there's a lot to search through.

I'm using the baked in recursive option which doesn't show progress as it goes.  If there's enough demand, I can code my own solution which does show progress.  Give this version a go to see if you think it's unacceptable.


----------



## Mindweaver (Nov 23, 2019)

FordGT90Concept said:


> 1.0.5  Uploaded to OP.
> 
> Updated to .NET Framework 4.7.2 and added "Add Applications" group. Be careful using the recursive option because it doesn't presently show progress while going through it so application will appear to lock up if there's a lot to search through.
> 
> I'm using the baked in recursive option which doesn't show progress as it goes.  If there's enough demand, I can code my own solution which does show progress.  Give this version a go to see if you think it's unacceptable.


I like the flat buttons!


----------



## Nordic (Nov 23, 2019)

Thank you so much @FordGT90Concept. It took all of 3 seconds to go through my entire steam library pulling out about 50 exe's. I know you have about as big a steam library as one can possibly expect, so under most people's circumstances it shouldn't appear to hang.


----------



## FordGT90Concept (Nov 24, 2019)

Nordic said:


> Thank you so much @FordGT90Concept. It took all of 3 seconds to go through my entire steam library pulling out about 50 exe's. I know you have about as big a steam library as one can possibly expect, so under most people's circumstances it shouldn't appear to hang.


Fun fact, I tried scanning steampapps/common, and got stick of waiting after about a minute and a half and killed it. The picture I included is from scanning Origin Games instead.


----------



## FordGT90Concept (Oct 22, 2021)

1.0.6 uploaded with ncpu support.


----------



## Mindweaver (Oct 22, 2021)

FordGT90Concept said:


> 1.0.6 uploaded with ncpu support.


Wow! Long time no see, buddy!


----------

