• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

BOINC Config Utility

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
26,263 (4.34/day)
Location
IA, USA
System Name BY-2021
Processor AMD Ryzen 7 5800X (65w eco profile)
Motherboard MSI B550 Gaming Plus
Cooling Scythe Mugen (rev 5)
Memory 2 x Kingston HyperX DDR4-3200 32 GiB
Video Card(s) AMD Radeon RX 7900 XT
Storage Samsung 980 Pro, Seagate Exos X20 TB 7200 RPM
Display(s) Nixeus NX-EDG274K (3840x2160@144 DP) + Samsung SyncMaster 906BW (1440x900@60 HDMI-DVI)
Case Coolermaster HAF 932 w/ USB 3.0 5.25" bay + USB 3.2 (A+C) 3.5" bay
Audio Device(s) Realtek ALC1150, Micca OriGen+
Power Supply Enermax Platimax 850w
Mouse Nixeus REVEL-X
Keyboard Tesoro Excalibur
Software Windows 10 Home 64-bit
Benchmark Scores Faster than the tortoise; slower than the hare.
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

boinc_config_utility-png.221854



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.

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.
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.
 

Attachments

Last edited:
Very nice Ford! :toast:
 
Cool! :toast:

I'll add it to the WCG Essentials thread!
 
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.
 
Last edited:
Cool! :toast:

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).
 
Wow, looks fantastic! Even to a goof like me!

:o
 
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.
 
Anyway you can make a version for Linux?
 
I'm drugged so this is going to be a wee bit wandering...
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.
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. :(
 
Hey man the program is looking really good! Making a Linux version sound interesting. :toast:
 
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.
 
Last edited:
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.
 
Use "find" on the command line. :toast:

EDIT:
Code:
find .-name cc_config\*
 
8| There's no registry or environmental variables to use to find it with almost absolute certainty?


Edit:
EDIT:
Code:
find .-name cc_config\*
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.
 
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? :toast:

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. :toast:
 
Last edited:
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?
 
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 :banghead: I'll try to run it later when I get home, but I can't promise anything for tonight. :toast: So, if someone else wants to then have at it. :toast:
 
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:toast:
 
Hey ford, the cc_config file is here on linux rigs. "/etc/boinc-client/cc_config.xml"
 
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.
 
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. :toast:
 
I will give it a whirl later this evening. :toast:

Nevermind I just tried and it failed. .Exe files are not binary compatible with Linux.
 
Last edited:
Is Mono installed on the machine? Mono is the interpreter for the executable.
 
Back
Top