Commit Graph

40 Commits

Author SHA1 Message Date
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