Blender: Difference between revisions

Smudgebun (talk | contribs)
Installing With Additional Python Packages: Split paragraph, added comma
Tags: Mobile edit Mobile web edit Advanced mobile edit
Smudgebun (talk | contribs)
m Add to Applications category
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Installation ==
[https://www.blender.org/ Blender] is an open-source 3D suite for modelling, animation, VFX, and more.
[https://www.blender.org/ Blender] is an open-source 3D suite for modelling, animation, VFX, and more.


== Installation ==
The default <code>blender</code> nix package is compiled without support for any compute APIs (CUDA, OptiX, oneAPI, HIP), and can be installed with the following in your configuration.
The default <code>blender</code> nix package is compiled without support for any compute APIs (CUDA, OptiX, oneAPI, HIP), and can be installed with the following in your configuration.


Line 20: Line 20:
<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
environment.systemPackages = with pkgs; [
environment.systemPackages = with pkgs; [
   (blender.withPackages(ps: [ ps.pyserial ps.fs ])
   (blender.withPackages(ps: [ ps.pyserial ps.fs ]))
];
];
</syntaxhighlight>
</syntaxhighlight>
Line 27: Line 27:
<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
let
let
   blender-cuda = blender.override {config.cudaSupport=true;};
   blender-cuda = blender.override {config.cudaSupport=true; config.rocmSupport=false; };
in {
in {


   environment.systemPackages = with pkgs; [
   environment.systemPackages = with pkgs; [
     (blender-cuda.withPackages(ps: [ ps.yq ])
     (blender-cuda.withPackages(ps: [ ps.yq ]))
#  (pkgsRocm.blender.withPackages(ps: [ ps.pyserial ps.fs ])
#  (pkgsRocm.blender.withPackages(ps: [ ps.pyserial ps.fs ]))
   ];
   ];
}
}
Line 144: Line 144:
<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
environment.systemPackages = with pkgs; [
environment.systemPackages = with pkgs; [
   (blender.override {config.cudaSupport=true;})
   (blender.override {config.cudaSupport=true; config.rocmSupport=false;})


/* (blender.override {
/* (blender.override {
Line 152: Line 152:
</syntaxhighlight>
</syntaxhighlight>


If installing Blender with <code>cudaSupport</code>, it is highly recommended you set up the [[CUDA#Setting up CUDA Binary Cache|CUDA Binary Cache]]. If you do not have it set up, and install Blender with <code>cudaSupport</code>, your machine will be compiling Blender from source.  
If installing Blender with <code>cudaSupport</code>, it is highly recommended you set up a [[CUDA#Setting up CUDA Binary Cache|CUDA binary cache]]. If you do not have one set up, and install Blender with <code>cudaSupport</code>, your machine will be compiling Blender from source.  


Compiling Blender is very resource-intensive, so if you are unable to use the CUDA Cache, please see the associated warning and information in [[CUDA#Enabling CUDA In Packages]].
Compiling Blender is very resource-intensive, so if you are unable to use a binary cache, please see the associated warning and information in [[CUDA#Enabling CUDA In Packages]].


==== Community Flakes ====
==== Community Flakes ====
Line 180: Line 180:


=== oneAPI ===
=== oneAPI ===
Currently, Nixpkgs has extremely limited oneAPI support (see: {{issue|367722|<nowiki>[Tracking] OneAPI Packages</nowiki>}}), which is explicitly blocking {{issue|447245|Blender oneAPI Support}}. As such, the current only way to have oneAPI support on NixOS is through one of the [[#Binary Packages|#Binary Packages]].
Currently, Nixpkgs has extremely limited oneAPI support (see {{issue|367722|<nowiki>the tracking issue</nowiki>}}), which is explicitly blocking {{issue|447245|Blender oneAPI support}}. As such, the current only way to have oneAPI support on NixOS is through one of the [[#Binary Packages|#Binary Packages]].


=== Last Resorts ===
=== Last Resorts ===
If nothing else works for your situation, you can also download the Blender binary from [https://www.blender.org/download/ blender.org] and run it in NixOS using a program like [[Nix-ld|nix-ld]] or [https://github.com/thiagokokada/nix-alien nix-alien], patch the binary manually (see: [[Packaging/Binaries]]), or try using a container like [[Distrobox]] (see: [https://distrobox.it/useful_tips/#using-the-gpu-inside-the-container Distrobox: Using the GPU Inside the Container]).
If nothing else works for your situation, you can also download the Blender binary from [https://www.blender.org/download/ blender.org] and run it in NixOS using a program like [[Nix-ld|nix-ld]] or [https://github.com/thiagokokada/nix-alien nix-alien], patch the binary manually (see: [[Packaging/Binaries]]), or try using a container like [[Distrobox]] (see: [https://distrobox.it/useful_tips/#using-the-gpu-inside-the-container Distrobox: Using the GPU Inside the Container]).


== Troubleshooting ==
== Known Issues ==


=== UI is dim on Vulkan backend and KDE Plasma ===
=== UI is dim on Vulkan backend and KDE Plasma ===


This is a cross-distro issue on current KDE Plasma with NVIDIA, (confirmed issue on KDE Version 6.6.2-6.6.4 Wayland Session with NVIDIA drivers Versions 595.XX, though may affect others too). A workaround option that doesn't require downgrading is to force XWayland by running Blender with the following command. See more information at the related {{issue|link=https://projects.blender.org/blender/blender/issues/155467||issue}} on Blender's repo.
A cross-distro issue on KDE Plasma with NVIDIA. A workaround option that doesn't require downgrading is to force XWayland by running Blender with the following command. See more information at the related {{issue|link=https://projects.blender.org/blender/blender/issues/155467||issue}} on Blender's repo.
<syntaxhighlight lang="sh">
<syntaxhighlight lang="sh">
WAYLAND_DISPLAY=0 blender
WAYLAND_DISPLAY=0 blender
Line 196: Line 196:
== References ==
== References ==
<references />
<references />
[[Category:Applications]]