Commit Graph

509 Commits

Author SHA1 Message Date
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
Luis Uguina
90651fafe8 Fix: app randomly hung when the upload queue is full (#231) 2020-05-23 15:10:01 +02:00
Luis Uguina
b969077d18 Optimise the retries algorithm for the "no job" server response (#230)
* Implement an optimised retries algorithm for the "no job" server response

* formating

Co-authored-by: Laurent Clouet <laurent@nopnop.net>
2020-05-20 14:32:39 +02:00
Luis Uguina
dd09997bfa Fix: ugly JavaException when failing to generate thumbnail in SWING client (#224) 2020-05-16 10:56:57 +02:00
Laurent Clouet
656985c538 Add new type of errror 2020-05-16 10:51:35 +02:00
Luis Uguina
642ad86419 Improve waiting messages to show the time of the next retry. (#225) 2020-05-16 10:42:16 +02:00
Luis Uguina
bd88b2e3dd Allow the user to configure the GPU render bucket size (#220)
* Feature: user defined render bucket size when using GPUs
2020-05-16 10:20:38 +02:00
Laurent Clouet
36e32ab168 Fix: NullPointerException 2020-05-13 14:42:58 +02:00
Luis Uguina
26155a28dc Fix: racing condition with messages when the queue is full (#223)
There was a racing condition between the queue full message and *any* error message where the later are overwritten by the former.
2020-05-11 13:51:36 +02:00
Luis Uguina
18b99ded40 fix: a ghost project is created when a job upload fails (#222) 2020-05-09 22:04:07 +02:00
Andy Li
b91d3e71ce Fix: JAXB NoClassDefFoundError on Java 9+ (#218)
JAXB APIs are considered to be a part of Java EE and was removed by default in Java SE 9.
See: https://stackoverflow.com/a/47412779/6238618
2020-04-28 10:31:30 +02:00
Luis Uguina
d6984fa450 Feature: improve the application exit-button process (#214)
* Improve the application exit-button behaviour
2020-04-27 14:28:04 +02:00
Luis Uguina
aae5ec3254 Improve the pause button screen workflow (#216) 2020-04-26 15:35:05 +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
Luis Uguina
87533a1262 feature: improve user information on queued uploads (#210)
* feature: improve user information about queued uploads
2020-04-19 17:01:43 +02:00
Luis Uguina
433ed5ed74 fix: background uploads queuing not working properly (#209)
Fix the sync/async detection to ensure that handle the server side projects properly. The routine was incorrectly uploading sync files with the async routine and vice-versa.
2020-04-15 09:40:51 +02:00
Laurent Clouet
57bc27bdcf Feat: change the architecture of the 'sheepit network', instead of storing every frame,mp4,zip on a single server, use multiple servers(shepherds) 2020-04-14 17:35:54 +02:00
Laurent Clouet
08fe55564c Feat: Don't do last render image request, use local image 2020-04-14 17:32:22 +02:00
Luis Uguina
b2227e9f4f feature: light/dark mode theme support (#208)
* feature: light/dark mode theme support

New feature providing a more modern flat design with support for light and dark modes, including:
- New SheepIt logo (old one removed)
- New configuration option (-theme) that changes the existing client theme.
- Minimal UI cosmetic changes (some separation lines under the logo and above the buttons)
2020-04-14 15:24:28 +02:00
Luis Uguina
4f5fcf9d1b fix: add a space after the h and min to format/show the human duration correctly (#203) 2020-04-12 13:18:35 +02:00
Luis Uguina
2e7755c823 Improve status messages (#202)
* Improve status messages

Add three new status messages (uploading frame, stopping the client and disconnecting from SheepIt servers) to keep the user better informed. Additionally, amended some existing messages to make them more user friendly, while maintaining the existing technical logs.
2020-04-11 11:53:55 +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
Luis Uguina
07525f101e Feature: Show progress bar in systray icon 2020-03-19 23:48:06 +01:00
Laurent Clouet
cffd34708f Merge pull request #197 from DaCoolX/patch-1
Slightly improve logging messages
2020-02-24 13:58:28 +01:00
DaCoolX
1471eccec4 Slightly improve logging messages 2020-02-23 15:22:46 +01:00
Laurent Clouet
53663a6933 Fix: nullpointerexception 2020-01-12 14:37:30 +01:00
Laurent Clouet
99d717634b Fix: in case of error, the publickey is not sent 2020-01-12 14:21:49 +01:00
FluxTape
83ce5b6f6c Fix: opencl gpu id 2020-01-02 13:41:01 +01:00
Laurent Clouet
2ceecb5830 Bugfix: GPU could be on the same bus (and having the same pci bus id) 2019-11-06 14:04:59 +01:00
Laurent Clouet
7b693a8f36 Save config file 2019-09-15 21:34:16 +02:00
Laurent Clouet
56239ae6dd Display global stats even when the session has no job 2019-09-09 10:25:12 +02:00
Laurent Clouet
86a02015a2 Last download status could be 99% instead of 100% 2019-09-05 13:16:28 +02:00
Laurent Clouet
9065a1aef6 2.80's tile size recomandation is 32x32 2019-09-04 21:01:44 +02:00
Laurent Clouet
96a1b28bc0 Use an xml (de)serializer to create Java object instead of parsing them by hand 2019-09-03 20:15:46 +02:00
Laurent Clouet
5ed88a240f Update travis settings 2019-08-22 21:50:43 +02:00
Laurent Clouet
72462b88c7 Feature: do not store the passwrd as plain text but instead use a public key generated on server side 2019-08-22 21:35:26 +02:00
Laurent Clouet
e044c35ad7 Fix: all the directory cannot be removed because blender will reload some file even if the rendering has started 2019-08-22 21:34:34 +02:00
Laurent Clouet
3413301609 Moving to Intellij IDEA 2019-08-11 22:25:26 +02:00
Laurent Clouet
3001bed260 Update README.md 2019-08-11 17:30:50 +02:00
Laurent Clouet
614513f9d1 update wrapper 2019-08-11 12:47:35 +02:00
Laurent Clouet
3230807a7d Migrate from ant to gradle 2019-08-10 22:09:32 +02:00
Laurent Clouet
9f1f509bb6 Use lombok annotation instead of get/set 2019-08-07 22:17:59 +02:00
Laurent Clouet
9b36dcf9b5 Default version 2019-08-07 21:43:53 +02:00
Laurent Clouet
d38c8c5fcc Cleanup 2019-08-07 21:40:37 +02:00
Laurent Clouet
3e9d701d7c Cleaner version of removing project's directory 2019-08-07 18:40:02 +02:00
Laurent Clouet
de4dfcd047 Remove blend files after the render has started 2019-08-07 17:02:52 +02:00
Laurent Clouet
edbd4cae52 Fix: update process remaing time on 'part' method 2019-08-07 15:26:11 +02:00
Laurent Clouet
d4ec9f3d92 Slow update of ui was made for the javascript ui, since it's not used anymore, it should be removed 2019-08-07 15:22:34 +02:00
Laurent Clouet
71a85af3f4 code cleanup 2019-08-05 14:11:24 +02:00
Laurent Clouet
c014e56a08 Better error detection 2019-08-05 14:06:46 +02:00