Blender
Blender 最出名的是作为流行的开源 3D 建模程序。
安装
GPU 渲染
Blender 支持多种硬件加速渲染选项。根据您的硬件准备好系统后(请参阅以下段落),您可以在编辑 > 首选项... > 系统下将您的显卡设置为计算设备。
NVIDIA GPU
对于 NVIDIA,Blender 支持两种 GPU 渲染后端:CUDA 和 OptiX。大多数现代 NVIDIA GPU 都受支持。为了使用这些,您需要安装 cuda。之后,渲染后端应该在系统选项中可用。
Intel Arc GPU
如果您有现代 Intel Arc GPU,您可以利用 Blender 对这些设备的内置硬件渲染支持。为此,您需要安装 intel-compute-runtime 软件包。
在撰写本文时,您可能需要启动 Blender 并设置额外的环境变量
CYCLES_ONEAPI_ALL_DEVICES=1 blender
AMD 开源驱动上的 HIP
在受支持的 GPU 上(GFX9、CDNA 和 RDNA;请参阅官方硬件兼容性列表以获取更多信息),hip-runtime-amd 可以通过 Mesa 中的 HIP 在 Blender 中获得 GPU 加速,使用 Mesa。
要使 HIP 在 Blender 中工作,请安装 hip-runtime-amd 并在 Blender 的首选项中选择您的 GPU,与使用专有驱动程序相同。
在支持的 GPU 上启用硬件光线追踪
要在 Navi 2x (AMD 6xxx 系列) 及更高版本上启用硬件光线追踪,必须安装 hiprt。最低 Blender 版本为 3.5+。
与软件光线追踪相比,这在 Navi 3x 上提供了稳定的 20% 速度提升。
专业渲染插件
Blender 在专业行业中越来越出名。因此,现在有了 EEVEE 和 Cycles 的替代渲染方法,以插件的形式出现。这应该作为 Linux 上已发布或即将发布的主要专业渲染插件列表。
BlendNet
BlendNet 是一个开源插件,允许在多台机器上分配 CPU 和 GPU 渲染。
BlendNet 原生集成了主要的云提供商,如 AWS、Azure 或 GCP,并且还支持自托管您自己的渲染农场。
云集成
- 安装 blendnetAUR 软件包
- 在首选项 -> 插件 -> 启用“渲染:BlendNet”中启用 BlendNet 插件
- 按照官方 BlendNet wiki 上的说明在 AWS、Azure 或 GCP 上配置渲染农场。
自托管
blendnetAUR 软件包提供了 systemd 单元和配置,以快速部署您自己的 CUDA GPU 加速 Blendnet 渲染农场。
BlendNet 渲染农场由一个管理器实例组成,该实例将任务分发到多台代理机器。blender 插件连接到管理器和代理以安排渲染。有关 BlendNet 架构的更多信息,请参阅 BlendNet wiki。
首先,在管理器、代理和插件机器上安装 blendnetAUR,然后按照以下说明进行操作。
设置:管理器
- 将
/etc/blendnet/server.key
和/etc/blendnet/server.crt
复制到所有代理和插件机器的/etc/blendnet/
。 - 编辑
/etc/blendnet/manager.json
,添加管理器用户名和密码。 - 编辑
/etc/blendnet/manager.json
,添加代理用户名和密码。 - 启动/启用
blendnet-manager.service
单元。
设置:代理
- 编辑
/etc/blendnet/agent.json
,添加与管理器中使用的相同的代理用户名和密码。 - 启动/启用
blendnet-agent.service
单元。
如果安装了 cuda,blendnetAUR 将自动启用 GPU+CPU 加速:您可以通过检查代理日志来检查是否正在使用 GPU 加速
$ journalctl -xefu blendnet-agent.service
设置:插件
- 在首选项 -> 插件 -> 启用“渲染:BlendNet”中启用 BlendNet 插件。
- 使用管理器/代理用户名和密码配置插件。
- 指定位于
/etc/blendnet/server.crt
中的 CA 证书。 - 关闭首选项,打开渲染选项卡并切换到 Cycles 渲染引擎(**不是** BlendNet!)。
- 使用新的“BlendNet Render (local)”Cycles 面板中的
+
按钮添加所有代理。 - 按照 BlendNet 渲染说明。
LuxCoreRender
LuxCoreRender 是一种开源渲染方法,也可以使用 OpenCL 进行渲染。要使用它,只需安装 (blender-plugin-luxcorerenderAUR) 软件包,然后在 Blender 的用户首选项框中启用 LuxCoreRender 插件。
RenderMan
RenderMan 是一个 Linux 兼容的专有渲染插件,在非商业许可下可以免费与 blender 一起使用。请参阅 Renderman 页面 以了解如何使用 blender 设置它。
Pro-Render
Pro-Render 是 AMD 的一个开源 Blender 渲染插件,它将允许任何使用 OpenCL 1.2 兼容 AMD GPU 的机器创建逼真的 GPU 渲染,从而实现比 CPU 更快的工作速度。
Blend4Web
Blend4Web 是一个开源框架,用于在 Web 浏览器中创建和显示交互式 3D 图形。它包含一个 Blender 插件,用于直接在 Web 中创建和导出 3D 场景。可以在插件设置中激活 Blend4Web 特定配置文件。切换到此配置文件时,Blender 界面会发生更改,以便仅显示与 Blend4Web 相关的设置。有关如何安装 Blend4Web SDK,请参阅文档。
Verge3D
Verge3D for Blender 是来自 Blend4Web 原始创建者的实时渲染器和工具包。它包含 Puzzles 可视化编辑器,允许在无需编码的情况下创建交互式 Web 应用程序。
故障排除
Blender 对象选择缓慢
当使用板载 Intel 显卡时,选择一个对象可能需要 5-10 秒。在文件 > 用户首选项 > 系统中将选择更改为 OpenGL 遮挡查询。
Blender 不显示 AMD 显卡作为 OpenCL 渲染设备
Blender 仅支持官方 AMD 专有驱动程序以使用 OpenCL 进行渲染(目前),这意味着您需要安装以下 AMD OpenCL 驱动程序之一
- 安装 AMDGPU PRO
- 与开源 AMDGPU 驱动程序一起安装 opencl-amdAUR 驱动程序
安装后,AMD GPU 现在应该作为文件 > 用户首选项 > 系统 > 计算设备下的可选设备出现。
注意:Blender 开发人员决定切换到另一个 API (HIP) 并弃用 OpenCL 支持。这将发生在 Blender 3.0 版本(2021 年 12 月 4 日)。更多信息。
Blender 在 i915 上崩溃
Blender 只是通过调整启动立方体的大小就变得无响应,dmesg 显示有关 GPU 挂起的消息
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]
基于 上游错误 和 AskUbuntu 上的问题的解决方法
- 使用环境变量
INTEL_DEBUG=reemit
启动 Blender,即通过将 .desktop 文件的 Exec 行更改为Exec=env INTEL_DEBUG=reemit blender %f
- 将抢占超时增加到 10 000 毫秒。要持久化此设置,请添加 udev 规则
/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'"
界面文本
如果字体看起来太小或模糊,可以在用户首选项 > 主题 > 文本样式中增加其大小(一两个点)。在用户首选项 > 主题 > 系统中选择粗体字体系列作为界面字体也可以大大减少模糊。
参见
- Blender 手册
- Reddit 上的 Blender wiki
- Sheepit 免费的分布式 Blender 渲染农场