Trouble with Deadline + Maxwell + Xvfb on Linux (no Xserver)

Hi

I’ve been struggling with this for many hours today so thought I’d reach out and see if anyone can help…

I’m trying to run Deadline 6 with Maxwell 2.6 on a Linux machine with no X-server installed. To avoid installing a full X-server I’m running the virtual frame buffer Xvfb, as recommended by Next Limit in this document: http://www.maxwellrender.com/pdf/Technical_FAQ.pdf

Without deadline this solution seems to work ok. After starting the Xvfb server like this: $ Xvfb :1 -screen 0 1024x768x24 & I can then run maxwell in command line mode: $ DISPLAY=:1 ./maxwell -nogui

However I can’t get jobs submitted via Deadline to work. Pointing Deadline to the normal maxwell program via the script plugin config results in this error when I try to render:

Assuming this error related to maxwell not finding an X-server I then created a shell script to start maxwell using Xfvb and pointed deadline to it instead of the maxwell:

DISPLAY=:1 /home/a-user/maxwell/maxwell -nogui "$@"

But now this error occurs when I try to render:

How can I get round this or find out what the exit code values mean?

Any pointers really appreciated. I haven’t tested Maxwell 3 yet, but I’ve read it no longer needs X-server so hopefully that will simplify things in future.

Thanks

Hello Dave,

I talked to one of our coders, and they suggested that you try

DISPLAY=:1 ./maxwell -nogui $@

as the script you are using, making sure to keep the lines separate. Can you let me know how that works for you?

Hi Dwall

Thanks for getting back to me.

Unfortunately that change to the shell script hasn’t worked; we’re still getting the 255 error code.

My current suspicion is that it’s a permissions problem, either with the user deadline runs maxwell with or access to Xvfb. I’m not sure what the best way to troubleshoot this is yet.

When deadline calls the shell script after a maxwell job is submitted what user does it do it under?

Hello Dave,

To answer your base question, whatever system user the slave is running as is what maxwell will be launched using, and thus the script will run as. You can use activity monitor to find out which system user is running deadlineslave on the machine. I hope that helps.

Cheers,

Dwight