Commit Graph

47 Commits

Author SHA1 Message Date
DaCool
d41d77cda7 Fix minor deprecation-issues 2021-11-19 16:05:55 +00:00
DaCool
1969f57da3 Add Ram Usage Detector 2021-11-16 14:51:53 +00:00
harlekin
7187dc5051 fix: Windows server support 2021-11-11 17:08:45 +00:00
DaCoolX
4caba3440a Exclude 32bit from supported systems 2021-11-08 19:53:56 +01:00
Bryan Stenson
bd3fc92634 Ref: ensure comment matches reality 2021-09-10 09:51:13 +00:00
DaCool
a68639ff51 * Add OSHI lib for hardware and os detection
* Raised Windows minimum support to 8.1
* Raised OSX minimum support to 10.13
2021-09-10 00:23:57 +00:00
Laurent Clouet
9a5cd74609 Feat: send full version os to the server 2021-06-24 10:36:25 +02:00
Luis Uguina
9f5c35d02f Feature: allow the client to shut down the computer at or after a certain time (#249)
A new -shutdown <time> option has been created to specify the time when the client will stop asking for new jobs, will finish uploading the frames in the upload queue and will shutdown the computer. The time argument can have two different formats: an absolute date & time in the format yyyy-MM-ddThh:mm:ss (24h format) or a relative time in the format +m where m is the number of minutes from now.

The user can also select the shutdown-mode, where "wait" will wait for all the processes (render + pending uploads) to finish and "hard" will cancel all the pending jobs and will initiate the computer shutdown.
2020-07-27 16:49:36 +02:00
Luis Uguina
cdf552f708 Fix: priority functionality not working properly (#232) 2020-05-28 15:05:52 +02:00
Laurent Clouet
44cf85739c Code formator (#236)
* Re-import code formator
2020-05-28 13:28:42 +02:00
Luis Uguina
1dc865a979 Fix: EEVEE renders with CPU instead of GPU in Linux clients (#229)
* Fix: EEVEE renders with CPU instead of GPU in Linux clients

In Linux systems, setting the env LD_LIBRARY_PATH var to point the /lib folder included in the sheepit binary compressed .zip, mandates Blender to swap whatever openGL library is already in use by the OS. Modern GPU drivers install their own optimised version of the OpenGL library and replacing it creates incompatibilities that avoid EEVEE to run.

To detect if Blender already uses the standard OS provided OpenGL library is via _ldd_ Linux command. The execution in a system with OpenGL libraries already in use delivers an output similar to this:

ldd rend.exe
	linux-vdso.so.1 (0x00007ffda6bf9000)
	...
	libXfixes.so.3 => /lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007fefefe3a000)
	libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x00007fefefc30000)
	libGL.so.1 => /lib/x86_64-linux-gnu/libGL.so.1 (0x00007fefefb9c000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fefefa4d000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fefef85c000)
	...
	libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007fefef6e7000)

While a system with no OS OpenGL libraries that requires the shipped default OpenGL lib to work returns this instead:

ldd rend.exe
	linux-vdso.so.1 (0x00007ffda6bf9000)
	...
	libXfixes.so.3 => /lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007fefefe3a000)
	libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x00007fefefc30000)
	libGL.so.1 => not found
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fefefa4d000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fefef85c000)
	...
	libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007fefef6e7000)

In the former case, the SheepIt client will set the LD_LIBRARY_PATH env var to point the /lib folder to allow Blender to execute properly.
2020-05-24 22:12:02 +02:00
Andy Li
d529da172a Cleanup dependencies (#201)
* We don't need to shadow in `lombok` itself. Gradle must be upgraded to at least 4.6 to support `annotationProcessor`, which is a version that still supports Java 7.
* `args4j-maven-plugin` is intended to use as a maven plugin.
* The requirement for `jaxb-api` was removed in 81cba7d58c0ce8a334204700dca669f2ad8e16ff
* We are only using `simple-xml`, don't need the whole `retrofit`+`okhttp`+`okio` chain.
* Resolve deprecation warnings in JNA code.
2020-04-26 15:29:48 +02:00
Andy Li
c1020d1534 Resolve compiler warnings (#200)
* Fix: resolve compiler warnings
* Fix: supress warnings about internal api usage
See https://stackoverflow.com/a/19553686/6238618
2020-04-09 17:39:09 +02:00
Laurent Clouet
3413301609 Moving to Intellij IDEA 2019-08-11 22:25:26 +02:00
Laurent Clouet
3230807a7d Migrate from ant to gradle 2019-08-10 22:09:32 +02:00
Laurent Clouet
208f49ba1d Memory amount should be in long not int 2019-02-20 13:46:53 +01:00
Laurent Clouet
e9b7ed61fc Use the right attribut for available memory.
MemFree: The amount of physical RAM, in kilobytes, left unused by the system.
MemAvailable: An estimate of how much memory is available for starting new applications, without swapping.
2018-08-29 15:42:04 +02:00
intrigus
7840d0119b Use Process's pid() when it exists.
(Done via reflection so it also works for java versions < 9)
Else fall back to old reflective method.
2018-08-18 12:05:27 +02:00
Laurent Clouet
6ded57fc0a Use the actual available free memory instead of the max possible 2018-08-10 17:33:50 +02:00
Laurent Clouet
8771d07a99 Revert feature affinity per core on windows 2017-10-26 15:41:06 +02:00
Laurent Clouet
a0c4c5fda6 Don't recreate OS object everytime 2017-05-21 15:21:52 +02:00
Laurent Clouet
0a68a3357c On linux, only the root can create process with high priority, so don't display the option is the client is launched as regular user 2017-03-19 18:14:33 +01:00
Rolf Aretz Lap
d8aa315699 add the ability to set the priority of the render process as commandline argument 2017-01-05 09:58:27 +01:00
Laurent Clouet
2f00d7816d Code formating 2017-01-05 09:35:59 +01:00
hailIulius
be3a30facc Use core affinity on windows to improve performance 2016-04-27 19:35:32 +02:00
harrim4n
c2a45dbc7c FIX #61 fixed issues with dmesg being rotated 2016-02-18 20:52:24 +01:00
harrim4n
c89cfb6749 fixed infinite wait on too large dmesg output 2016-01-28 23:49:23 +01:00
harrim4n
ec8fa6a996 Add Freebsd support 2015-11-24 00:55:27 +00:00
Laurent Clouet
0927682365 Force subclass to override system name 2015-06-11 22:19:52 +01:00
Laurent Clouet
1f8757264b No need to set the system path, project dir path is enough 2015-05-06 20:58:37 +01:00
Laurent Clouet
39addc82ef Bugfix: the array need to have a lenght of at least 2 2015-05-06 20:04:28 +01:00
Mathis Chenuet
38ba5a995d Typo: english 2015-03-02 18:03:58 +00:00
Mathis Chenuet
bda6691159 Cleanup: redudant new String() 2015-01-28 20:00:00 +00:00
Laurent Clouet
f444bd5526 Cleanup: use generic list instead of low level array 2015-01-25 19:07:32 +00:00
Mathis Chenuet
7f10281792 Use String.contains instead of String.indexof 2015-01-25 18:38:27 +00:00
Mathis Chenuet
be687718c6 typo fix 2015-01-20 21:31:59 +00:00
Laurent Clouet
da5fbabb91 Cleanup: indentation 2015-01-20 22:06:05 +01:00
Laurent Clouet
f119eabc77 Merge pull request #10 from artemisart/clean
Fix typo  and Clean up.
2015-01-18 00:08:41 +01:00
Laurent Clouet
b61df37034 Set the BLENDER_USER_CONFIG env variable to not use the local blender conf 2015-01-16 17:51:50 +01:00
Mathis Chenuet
b65d47e906 typo 2015-01-12 23:08:24 +01:00
Mathis Chenuet
c174e574f1 ide reformat 2015-01-06 12:13:24 +00:00
mvolli
bdf10b36c3 spelling/language corrections 2014-12-23 20:05:29 +01:00
Laurent Clouet
e38a2e1ee6 Bugfix: do not close the handle because destructing the object does not mean that the process is dead 2014-12-02 20:23:04 +00:00
Laurent Clouet
51752b0e49 The OSX package of blender require a specific path to be launch. If the path is modified 'dyld: Library not loaded: @loader_path' error or static python appear on blender 2.72 2014-11-30 23:42:57 +00:00
Laurent Clouet
af601a7df4 Bugfix: the constructor with parameter should also initialize value (i.e. call the default constructor) 2014-11-24 20:56:13 +00:00
Laurent Clouet
2c03eb2d24 Bugfix: when loading the native process, use the pid parameter not the uninitialized one... 2014-11-24 20:55:08 +00:00
Laurent Clouet
422a9e74c8 Initial commit
Version 3.3 of the client
2014-11-20 13:21:19 +00:00