Plugins on multi-OS renderfarm?

Hello all,

I’m setting up a render farm for my current project, and have both Linux and Windows machines. Unfortunately, the project uses a texture plugin; since the plugin is provided in a different file for each OS (and is located in a different directory on each system), the Windows machines give me a blank texture if I set it to the Linux path, and vice-versa.

Is there any way around this? (Other than booting my Windows machines to a Linux live CD and installing Blender+DrQueue every time I want to use the render farm?)

Try to use relative paths.

For instance (and these are only examples, I can’t remember where blender starts looking by default), if blender starts looking in windows in “C:\Program Files\Blender” while Linux starts looking in “/usr/share/blender” then place the windows plugin at “C:\Program Files\Blender\plugins\plugin_name” while placing the Linux version at “/usr/share/blender/plugins/plugin_name”.

Then, use a relative path for the plugin: “./plugins/plugin_name”

Well, it doesn’t seem to like relative paths for the plugin. I put a copy of the plugins into the same directory as the blend file. But changing the plugin path to // resulted in an error (“Error no plugin: //”). (I hope that’s correct; the manual states that // indicates the directory the .blend file was loaded from.)

Even if I can get the relative paths working, the plugins are named differently for each operating system ( versus t_bricks.dll). Is Blender smart enough to append the appropriate extension for the operating system if I leave it off?

You don’t need to install drqueue everytime. It will run perfectly from a network share.
Regarding the different paths, You can write a small python script that checks which OS you are on and change the path/scene or whatever you like. I think it would be possible. However don’t have blender at hand here so I can’t check
the other option is 2 different jobs
eg 2 windows machines render frames 1 to 50
and 3 Linux machines do 51 tot 100

As for the .dll/.so naming difference, you could try ln -s t_bricks.dll on Linux and use //t_bricks.dll as the path on both architectures.

So the plugin can be a python script, it doesn’t have to be a compiled library? That should do the trick, thanks.

Except that if t_bricks.dll already exists in the directory, I can’t make a symbolic link with that name.