Loki Render 0.7.0 released!

Update
Latest version is now 0.7.1c - Tile rendering is working again, and several other improvements. I’ve also created a public AMI on Amazon Web Services that allows for an easy and scalable render farm in the cloud without needing to login and configure the grunt instances; just specify the master IP during creation, launch as many instances as you want, and you’re good to go! Find out more on the wiki, or later in this thread.


Greetings,

I just finished implementing several features and improvements in Loki, making it worthy of a new release!

You can download it from the SF project page here:
https://sourceforge.net/projects/loki-render

For those new to Loki Render, it allows you to setup a very simple and easy render farm without needing to specify IP addresses, setup a network share, etc.

Some of the noteworthy improvements:

  • Auto-discovery is now much more robust and can announce and listen across all interfaces on both master and grunts.
  • Auto file transfer and caching can now be enabled/disabled via Preferences or on a job by job basis. Most users will stick with the default of enabled. Users working with large projects and an external distributed network file setups can disable the feature.
  • Master IP address can be manually specified for cases where one or more routers must be traversed.

Since berlios.de took Loki’s website with it when it went down, Loki’s main website is now in wiki form:
http://loki-render.sourceforge.net/wiki/

Please feel free to download Loki and give the new version a whirl!

For those of you moving up from a previous version of Loki, make sure to delete the .loki directory in your user directory before using 0.7.0 to avoid conflicts.

You may have noticed that the wiki is a bit sparse; I was unable to recover content from the previous website (sigh), so please feel free to improve or add to the wiki in any way you see beneficial to the community; FAQs, tutorials, or whatever:-)

Cheers and happy blending:-)

EDIT: For those of you encountering problems or otherwise needing support, please open up a new thread in the Discussion tool under the Loki project on SF in the ‘Support’ forum here:

https://sourceforge.net/p/loki-render/discussion/support/

Please write steps to repro, how often it happens, and relevant output like a stack trace. Please limit each thread to just one problem. I appreciate your feedback and will do what I can to help.

Hi, thank you for update, I test/work with Loki for a long time and like it very much.
Unfortunately I get an error if I start master and master/grunt, grunt alone is working.

Loki encountered a fatal error.
Click OK to exit.java.net.UnknownHostException: mib2-laptop.site: mib2-laptop.site: Der Name oder der Dienst ist nicht bekannt
java.net.UnknownHostException: mib2-laptop.site: mib2-laptop.site: Der Name oder der Dienst ist nicht bekannt
at java.net.InetAddress.getLocalHost(InetAddress.java:1473)
at net.whn.loki.master.AnnouncerR.<init>(AnnouncerR.java:58)
at net.whn.loki.common.Main.startMaster(Main.java:249)
at net.whn.loki.common.Main.startLoki(Main.java:200)
at net.whn.loki.common.Main.main(Main.java:109)
Caused by: java.net.UnknownHostException: mib2-laptop.site: Der Name oder der Dienst ist nicht bekannt
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293)
at java.net.InetAddress.getLocalHost(InetAddress.java:1469)
… 4 more

This HostException “.site” is standard in Linux.

Cheers, mib

Hi mib,
Glad to hear Loki has been useful, and thanks for reporting the crash. If you’ll kindly provide more information, we can hopefully figure out what’s happening and solve the problem:

Is this always reproducible for you?

Can you provide steps to reproduce?

Can you tell more about your setup? (How many NICs, etc)

Have you found a workaround?

Also, I don’t know what you mean by “.site is standard in Linux”. Can you expand on that?

Thanks again for the feedback.

Edit: Hmm, poking around a bit on the WWW and may have found a similar problem/solution: Try using a FQDN for the system in your /etc/hosts file; does that solve the problem?

Hi, after adding “mib2-laptop.site” to my hosts > localhost Loki is working fine.

Hosts line is:
127.0.0.0 localhost mib2-laptop.site
now.

This host name is auto created during setup the NIC on my system, regular it is yxz123.site or something.
The “.site” is used to get not a conflict with a real FQDN, iirc.

Thank you for your fast reply, testing further, mib

Interesting, and glad to hear you have an easy solution! Which Linux distro are you running, BTW?

EDIT: ah, if your signature is any indicator, OpenSUSE;-) During my search online for this error, others who were seeing this problem were running OpenSUSE as well.

It’s the first time I’m using Loki and have a couple of questions:

I’m running Loki and in two machines, both have Linux-mint 17 as an OS, blender 2.72 with a shared .config folder via Dropbox.

I can not have both master and grunt in the same machine unless I manually specify an IP address.
OK no big deal since it’s solved, but I’d love to learn why!

Is it a problem that one machine is directly connected to router and the other through a hub?

Tile rendering is disabled by default cause it doesn’t work any more. Are there any chance to have it working in the near future?
Can we still use it with version 2.49?

Thank you for this wonderful application.

yeah what he said

Looks a great bit of kit. One question though, is it only for animations or can you render a single frame using all your slaves?

Thanks, Wig

First time Loki user here as well. I’m running 3 machines on my little farm: 2 x Win8 and one Ubuntu. Master + Grunt on one machine only works if IP is specified like SunBurn said, no biggy. The biggy: Grunts will only see the Master if the Master is running on the Ubuntu machine. This is a problem for me since the Ubuntu machine doesn’t have easy access to the location of my blend files, nor is it attached to a monitor or anything (my only access to it is VNC). Has anybody else gotten Loki to work with the Master running on a Win Box?

-David

hey, this is great! i used to use Loki back in the day with the BI engine. it rocked because you could split up the tiles across computers, something i don’t the build in network renderer can do easily (at all?). i’ll have to test it out with Cycles!

Responses below for LordOdin as well:

Hi SunBurn, I’d love to learn why as well:-) When you say you cannot have both master and grunt on the same machine, how exactly is it not working out? Please launch from a terminal so you can keep an eye on all of Loki’s log chatter. If you can provide output when it fails, particularly the stack trace, we can take a closer look.

It shouldn’t be. Can you better describe how you have everything connected, network wise?

The code for tile rendering is still in there, and it does work with 2.49. It probably could work with minimal changes since it’s just the Blender’s python API that changed and broke it. In fact, a couple years ago someone on the community adjusted the tile rendering for more recent versions of blender. If I remember right he said that there were still some remaining issues; I’ll have to dig through my emails and see if I can find that conversation.

I’m going to be busy with other projects the next while, but I’ll at least find that conversation and try to assess how much work it would be. Maybe I can fit it in. If any developers in the community want to get involved and fix this they are welcome as well.

Hope you find it useful:-)

Hi Wig, Please take a look at my response to SunBurn concerning tile rendering.

Hi David, Hope you find Loki useful. That’s interesting you’re having the same auto-discovery problem as SunBurn. Is this happening on both Windows and Ubuntu? I have limited access to Windows systems, so your feedback is appreciated. Please run Loki from a terminal and then provide the output, particularly the stack trace and I can take a closer look.

I’m particularly interested in hearing if others are having the same problem on Windows that you are having.

Hi swirlypillow, please see my post to SunBurn for tile rendering status. Many people interested in tile rendering! I’ll try to make some time to get this working in Loki again.

Hi folks,

Just fixed some bugs in the auto-discovery code that feedback on this thread helped me to identify, thank you! Most of the problems mentioned in this thread concerning: auto-discovery, needing to specify manual ip, master on Windows, etc should be fixed now. Download the latest version off SF here:

https://sourceforge.net/projects/loki-render/files/latest

and please let me know how it goes!

I’ll look more into the tile rendering when I have some time.

Cheers!

Just tested Loki across 4 Windows machines of mine (All 8.1u1) and it appears to run perfectly :slight_smile:

All I had to do was allow Java through the firewall on some machines (which auto asked) and the grunts all located the master correctly, including the grunt on the same PC as the master.

I have a few questions, is it possible to run the master/grunt on a command line only machine? I’m thinking running some grunts on Amazon EC2 machines, and having the master on the Virtual Private Network (Amazon Instance LAN) would speed things up vastly compared to having to connect to each grunt from my (slow) upload home internet.

Regards,

Alan

Hello @samuraidanieru and thank you for this update of the Loki Renderer.

I am working with Windows 7 Pro 64bit machines and I’d like to ask you if it would be feasible to add an option (perhaps to the Master UI?) to set the computing Priority and Affinity of the Blender executables so to be able to change them (globally or per client) on the Grunt clients. I tried to run both Master and Grunt on the same machine and I cannot change the priority level manually in the task manager (despite having admin rights locally and on the network domain). Thanks.

I get no errors in console all I is this in Lokis grunt window:

Connection: attempting to connect with master

My status idle

and it stays there forever

My router has 4 inputs which are used from 3 machines in the remaining input I’ve connected a 4 input expansion switch.
The first machine is directly connected to the router and the other one is connected through the switch.

Without being a 100% sure I think I heard somewhere in th Blender Conference streams that are some thoughts for distributed rendering so if you’re already busy maybe we can all wait and see how that goes.

Yeah I find your applications really useful because I’m planning to build a small home farm and so far Loki seems the easiest and the most straightforward method and if we could have split tiles then all the old machines that hanging around could easily contribute a bit to the final result.

Thanx againhttp://blenderartists.org/forum/images/icons/icon7.png

Hi Alan,

Glad to hear the latest version is working across your Windows systems! Sounds like I’ve properly squashed the issues mentioned earlier in the thread.

Concerning a command line only machine: yes and no. The grunt can be run in command line only mode, the master only GUI. This could easily work on Amazon EC2 machines: just setup all the grunts with a ‘server’ variant of Ubuntu or whatever, and run one desktop instance for the master.

To run the grunt in command line only mode, in a terminal launch as normal, with the additional parameter of the blender path. This will signal to the grunt that it should only run in the terminal and not launch a GUI. e.g.:

java -jar LokiRender-070c.jar /path/to/blender/executable/blender

I haven’t tested that recently, so hopefully it still works. I’ll try to take a look as time permits. If you try it, let me know how it goes. It would be very cool to hear about a Loki render farm up and running on AWS:-)

Hi Harvester,
So you’re not able to manually change the priority of the blender executable after Loki has launched it? hmm.

At a quick glance, it seems Java allows changing priority of threads, but not external processes, so I don’t see a good way to do this.