Blender

From ArchWiki

Blender is best known as a popular open source 3D modelling program.

Installation

Install the blender package.

GPU rendering

Blender supports a multitude of hardware offloading options for rendering. After preparing your system according to your hardware (see following paragraphs), you can set these your graphics card as a compute device under Edit > Preferences... > System.

NVIDIA GPUs

For NVIDIA, Blender supports two GPU rendering backends: CUDA and OptiX. Most modern NVIDIA GPUs are supported. In order to make use of these, you need to install cuda. Afterwards, the rendering backends should be available in the systems options.

Intel Arc GPUs

If you have a modern Intel Arc GPU, you can make use of Blender's built-in hardware rendering support for those devices. To do so, you need to have the intel-compute-runtime package installed.

As of this writing, you might have to launch Blender with the an additional environment variable set:

CYCLES_ONEAPI_ALL_DEVICES=1 blender

HIP on AMD open source drivers

On supported GPUs (GFX9, CDNA, and RDNA; see the official hardware compatibility list for more info), hip-runtime-amd can be used to get GPU acceleration through HIP in Blender, using Mesa.

To get HIP working in Blender, install hip-runtime-amd and select your GPU in the Blender's Preferences, same as with proprietary drivers.

Note: ROCm HIP is known to currently have issues with cycles in the while in the 3D Viewport (refer to the "issue" cited before to find workarounds), however rendering with Render > Render Image or F12 should work fine.

Professional rendering plugins

Blender is becoming increasingly well known in the professional industry. As such, there are now alternative rendering methods to EEVEE and Cycles, in the form of plugins. This should serve as a list of the major professional rendering plugins that are released or upcoming for Linux.

BlendNet

BlendNet is an open source plugin that allows distributing CPU and GPU renders across multiple machines.

BlendNet natively integrates with major cloud providers like AWS, Azure or GCP, and also supports self-hosting your own render farm.

Cloud integration

  1. Install the blendnetAUR package
  2. Enable the BlendNet plugin in Preferences -> Add-ons -> Enable "Render: BlendNet"
  3. Follow the instructions on the official BlendNet wiki to configure a render farm on AWS, Azure or GCP.

Self-hosting

The blendnetAUR package provides systemd units and configuration to quickly deploy your own CUDA GPU-accelerated Blendnet render farm.

A BlendNet render farm consists of one Manager instance, which distributes tasks to multiple Agent machines. The blender Addon connects to the Manager and the Agents to schedule renders. See the BlendNet wiki for more information on BlendNet architecture.

To start, install blendnetAUR on the Manager, Agent and Addon machines, then follow these instructions.

Setup: Manager
  1. Copy /etc/blendnet/server.key and /etc/blendnet/server.crt to all Agent and Addon machines, to /etc/blendnet/.
  2. Edit /etc/blendnet/manager.json, adding a manager username and password.
  3. Edit /etc/blendnet/manager.json, adding an agent username and password.
  4. Start/enable the blendnet-manager.service unit.
Setup: Agent
  1. Edit /etc/blendnet/agent.json, adding the same agent username and password used in the Manager.
  2. Start/enable the blendnet-agent.service unit.

If cuda is installed, blendnetAUR will automatically enable GPU+CPU acceleration: you can check whether GPU acceleration is in use by checking the agent logs:

$ journalctl -xefu blendnet-agent.service
Setup: Addon
  1. Enable the BlendNet plugin in Preferences -> Add-ons -> Enable "Render: BlendNet".
  2. Configure the plugin with the Manager/Agent usernames and passwords.
  3. Specify the CA certificate located in /etc/blendnet/server.crt.
  4. Close Preferences, open the Render tab and switch to the Cycles rendering engine (**NOT** BlendNet!).
  5. Add all Agents using the + button in the new "BlendNet Render (local)" Cycles panel.
  6. Follow the BlendNet rendering instructions.

LuxCoreRender

LuxCoreRender[dead link 2024-07-30 ⓘ] is an open source rendering method that can also make use of OpenCL to render. To make use of it, simply install the (blender-plugin-luxcorerenderAUR) package and then enable the LuxCoreRender addon in the User Preferences box in Blender.

RenderMan

RenderMan is a Linux compatible proprietary rendering plugin that is free for use with blender under a non-commercial license. See the Renderman page for setting it up with blender.

Pro-Render

Pro-Render is an open source Blender rendering plugin from AMD that will allow any machine using an OpenCL 1.2 compatible AMD GPU the ability to create realistic GPU renders, allowing for faster work compared to the CPU.

Blend4Web

Blend4Web is an open source framework for creating and displaying interactive 3D graphics in web browsers. It contains a Blender add-on to create and export 3D scenes directly into the web. A Blend4Web-specific profile can be activated in the add-on settings. When switching to this profile, the Blender interface changes so that it only reveals settings relevant to Blend4Web. See the documentation on how to install Blend4Web SDK.

Verge3D

Verge3D for Blender is a real-time renderer and a toolkit from the original creators of Blend4Web. It contains Puzzles visual editor to allow creating interactive web applications without coding.

Troubleshooting

Blender is slow to select objects

When using onboard Intel graphics, it may take 5-10 seconds to select an object. Change Selection in File > User Preferences > System to OpenGL Occlusion Queries.

Blender does not show the AMD card as an OpenCL rendering device

This article or section is out of date.

Reason: There are methods of enabling OpenCL in Blender without the need of proprietary drivers. (Discuss in Talk:Blender)

Blender only supports the official AMD proprietary drivers for rendering with OpenCL (for now), meaning you will need to install one of the following AMD OpenCL drivers:

After installation, the AMD GPU should now appear as a selectable device under File > User Preferences > System > Compute Device.

Note: Blender developers decided to switch another API (HIP) and deprecate OpenCL support. This will happen in Blender 3.0 release (4th December 2021). More information.

Blender crashes on i915

Blender gets unresponsive simply by resizing the startup cube, dmesg shows messages about a GPU hang:

kernel: i915 0000:00:02.0: [drm] blender[90663] context reset due to GPU hang
kernel: i915 0000:00:02.0: [drm] GPU HANG: ecode 9:1:85df9ebf, in blender [90663]

Workaround based on the Upstream Bug and a question on AskUbuntu:

  • Start Blender with the environment variable INTEL_DEBUG=reemit, i.e. by changing the .desktop file's Exec line to Exec=env INTEL_DEBUG=reemit blender %f
  • Increase the preemtion timeout to 10 000 ms. To persist this, add a udev rule:
/etc/udev/rules.d/99-i915-increase-preemt-timeout.rules
# Increase Intel preemt timeout to 10 000 ms
#
# This is needed for Blender not to crush, see
# https://askubuntu.com/questions/1477715/blender-hangs-using-intel-integrated-graphics
 
ACTION=="add|bind",SUBSYSTEM=="pci",DRIVER=="i915",RUN+="/bin/bash -c 'for i in /sys/$DEVPATH/drm/card?/engine/[rc]cs*/preempt_timeout_ms; do echo 10000 > $i; done'"

Interface text

If fonts look small or blurry, their size can be increased (by a point or two) in User Preferences > Themes > Text Style. Selecting a bold font family as Interface Font in User Preferences > Themes > System can also greatly decrease blurriness.

See also