Open heschy2 opened 1 year ago
Could be sandboxing issue, does running with flatpak run --device=all org.blender.Blender
solve the issue?
No, it does not solve the issue:
heschy@gamingpc:~$ flatpak run --device=all org.blender.Blender
Read prefs: "/home/heschy/.var/app/org.blender.Blender/config/blender/3.6/config/userpref.blend"
Read blend: "/home/heschy/Dokumente/Blender/optixdoesnotwork.blend"
Failed to create OptiX denoiser
Refer to the Cycles GPU rendering documentation for possible solutions:
https://docs.blender.org/manual/en/latest/render/cycles/gpu_rendering.html
E0720 19:14:47.227938 70 denoiser_optix.cpp:279] OptiX denoiser creation has failed.
In Flatseal, the application got the following permissions:
share=network
share=ipc
socket=x11
socket=wayland
socket=fallback-x11
socket=pulseaudio
device=dri
filesystem=host
filesystem=home
(modified by user)/run/user/1000/gvfs
- read-write access
(modified by user)xdg-config/gtk-4.0
- read-write access
(modified globally by Gradience)/run/spnav.sock
- read-only access
The Environment Variables for the Flatpak are:
TMP=/tmp
TMP_DIR=/tmp
SPNAV_SOCKET=/run/spnav.sock
I hope this helps
Running Blender with --verbose 5 does not give much info from what I can tell either. I don't have a clue.
0:13:23.962348 160 path_trace.cpp:408] Rendered 1 samples in 0.000915051 seconds (0.000915051 seconds per sample), occupancy: 0.0013455
I0720 20:13:23.962360 160 render_scheduler.cpp:504] Measured path tracing occupancy: 0.0013455
I0720 20:13:23.962370 160 render_scheduler.cpp:497] Average path tracing time: 0.0603638 seconds.
I0720 20:13:23.962380 160 path_trace.cpp:536] Perform denoising work.
I0720 20:13:23.962412 160 device.cpp:676] Buffer allocate: denoiser guiding passes buffer, 112,464 bytes. (109.83K) in device memory
I0720 20:13:23.962443 160 device_impl.cpp:80] using cuda device "NVIDIA GeForce GTX 1650 Ti" (7.5), buffers: fp16, xmma/xmma-jit convolution, rt v12020
I0720 20:13:23.962455 160 device_impl.cpp:80] using cuda device "NVIDIA GeForce GTX 1650 Ti" (7.5), buffers: fp16, xmma/xmma-jit convolution, rt v12020
E0720 20:13:23.962525 160 device_impl.cpp:74] Unable to load denoiser weights
Failed to create OptiX denoiser
Refer to the Cycles GPU rendering documentation for possible solutions:
https://docs.blender.org/manual/en/latest/render/cycles/gpu_rendering.html
E0720 20:13:23.962545 160 denoiser_optix.cpp:279] OptiX denoiser creation has failed.
I0720 20:13:23.962563 160 render_scheduler.cpp:545] Average denoising time: 0.0112 seconds.
I0720 20:13:23.962574 160 path_trace.cpp:648] Perform copy to GPUDisplay work.
I0720 20:13:23.981179 160 render_scheduler.cpp:564] Average display update time: 1.1902 seconds.
I0720 20:13:24.072180 116 display_driver.cpp:807] Display driver number of textures: 1
I0720 20:13:24.072203 116 display_driver.cpp:808] Display driver number of PBOs: 1
Same issue here. I suspect it's Nvidia's 535's driver being buggy again. Could you post your inxi -G to confirm? Also try using drivers 325 to see if it fixes things
Here's mine for reference.
Graphics: Device-1: NVIDIA GA104M [GeForce RTX 3070 Mobile / Max-Q] driver: nvidia v: 535.86.05 Device-2: AMD Cezanne driver: amdgpu v: kernel Display: x11 server: X.Org v: 1.21.1.4 driver: X: loaded: amdgpu,ati,nvidia unloaded: fbdev,modesetting,nouveau,vesa gpu: amdgpu resolution: 1: 1920x550~60Hz 2: 2560x1440~144Hz 3: 1920x1080~300Hz OpenGL: renderer: RENOIR (renoir LLVM 15.0.7 DRM 3.42 5.15.0-78-generic) v: 4.6 Mesa 23.0.4-0ubuntu1~22.04.1
Also try using Steam Edition to rule out if it's flatpack or not. For me this is definitively a flatpack/nvidia 535.x issue.
Same problem only with flatpak. Any update?
I'm able to render with Optix, but the denoiser will fail. Also installed through Flatpak. Denoiser seems to work if I use CUDA instead.
Just like rasmusthog, I can now render with optix, however the denoiser fails. But also when using CUDA.
Also try using Steam Edition to rule out if it's flatpack or not. For me this is definitively a flatpack/nvidia 535.x issue.
Well, I already know that it is a flatpak issue, in the initial message, I linked (twice) the original blender disscusion, there I was told that I should report here, because it only broke with flatpak.
Hey guys I just tested this and reporting the same issue as heschy2. Optix denoiser works fine in the steam version of Blender 4 but not in the flatpack version.
GPU: GTX 1080 Nobara Official (fedora 38 based)
Also try using Steam Edition to rule out if it's flatpack or not. For me this is definitively a flatpack/nvidia 535.x issue.
Tried the steam version, and got the same issue. Can Render with Optix, but cannot use Optix Denoiser. Both flatpak and steam edition
So for everyone that land there, I can report it seems an issue with flatpak steam and drivers.
Manually downloading the tarball from blender.org, I can run Optix and Optix Denoiser.
System:
I am running the Blender version from the Arch Linux repos and I am also getting this issue. Regular Optix rendering is fine, but it breaks when enabling the Optix denoiser. I don't think this is necessarily a Flatpak specific issue.
Arch Linux Blender 4.0.2-10 Nvidia 3090 w/ 550.40.07 Beta drivers Kernel 6.7.3.arch1-2
I am watching this issue for some time now and I can confirm this is not a Flatpak specific issue. I cant get the Optix Denoiser to work with any driver newer than 525. I cant really make a good reproducer since my setup is very cursed but depending on the driver version I can even make blender segfault :D
So, for anyone new here, this Issue is most likeley related to the drivers, multi distro (fedora, fedora silverblue, arch, nobara, PopOS, etc...) and is present in the flatpak and steam version, but not in thw official Blender Tarball.
but not in thw official Blender Tarball.
It also happens with the official tarball. I can reproduce it with the linuxserver/blender docker image
I created an install script that works with Optix and Cuda which I tested on these devices in Nobara:
-Nobara 38/39, GTX 1080 custom tower
-Nobara 38, surface book with integrated Intel and dedicated gtx 965m
-Nobara 39, Lenovo Legion with hybrid of integrated Intel and dedicated RTX 4090.
It should work with other distros but remember that you must enable Cuda via installing the correct proprietary NVIDIA drivers, and Nobara just handles that for you, so I can't promise this will work for everyone. I (think) it'll work with POP.
Install Script:
echo "Installing Blender to ~/.Applications/Blender (hidden in your home directory)"
INSTALL_DIR=~/.Applications/Blender
mkdir -p "$INSTALL_DIR"
cd "$INSTALL_DIR"
echo "Getting the latest version of Blender"
BASE_BLENDER_URL="https://download.blender.org/release/"
LATEST_BLENDER_VERSION=$(curl -s $BASE_BLENDER_URL | grep -oP 'Blender[0-9\.]+/.*(?=")' | sort -V | tail -1)
BLENDER_DOWNLOAD_PAGE="${BASE_BLENDER_URL}${LATEST_BLENDER_VERSION}"
echo "Fetching the latest Blender download link"
LATEST_BLENDER_TARBALL=$(curl -s $BLENDER_DOWNLOAD_PAGE | grep -oP 'blender-[0-9\.]+-linux-x64.tar.xz' | head -1)
echo "Checking to see if your version of Blender is up to date?"
if [ ! -f "$LATEST_BLENDER_TARBALL" ]; then
echo "Downloading new Blender"
wget -O "$LATEST_BLENDER_TARBALL" "${BLENDER_DOWNLOAD_PAGE}${LATEST_BLENDER_TARBALL}"
tar -xf "$LATEST_BLENDER_TARBALL" -C "$INSTALL_DIR"
else
echo "Latest Blender is already installed; moving on."
fi
echo "Updating the desktop file with correct paths"
BLENDER_EXTRACTED_DIR=$(tar -tf "$LATEST_BLENDER_TARBALL" | head -1 | sed 's|/.*||')
EXTRACTED_DESKTOP_FILE="$INSTALL_DIR/$BLENDER_EXTRACTED_DIR/blender.desktop"
ICON_PATH="$INSTALL_DIR/$BLENDER_EXTRACTED_DIR/blender.svg"
if [ -f "$EXTRACTED_DESKTOP_FILE" ]; then
echo "Pointing shortcut to Blender"
sed -i 's|^Exec=.*|Exec='"$INSTALL_DIR/$BLENDER_EXTRACTED_DIR/blender"'|' "$EXTRACTED_DESKTOP_FILE"
sed -i 's|^Icon=.*|Icon='"$ICON_PATH"'|' "$EXTRACTED_DESKTOP_FILE"
cp "$EXTRACTED_DESKTOP_FILE" ~/.local/share/applications/
else
echo "Extracted desktop file not found, it could have been moved."
fi
echo "DONE! Installed Blender."
This will install without stopping for permission. The same script will update to the latest stable version if you run it again.
It will create a handy desktop shortcut. And the following script will remove it neatly:
Uninstall Script:
# Define the installation directory
INSTALL_DIR=~/.Applications/Blender
# Check if Blender is installed
if [ -d "$INSTALL_DIR" ]; then
read -p "Are you sure you want to uninstall Blender? [Y/N] " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
echo "Uninstalling Blender..."
rm -rf "$INSTALL_DIR"
# Remove desktop entry if exists
DESKTOP_FILE=~/.local/share/applications/blender.desktop
[ -f "$DESKTOP_FILE" ] && rm "$DESKTOP_FILE"
echo "Blender has been uninstalled."
else
echo "Uninstall aborted."
fi
else
echo "Blender is not installed in $INSTALL_DIR."
fi
I do other installation scripts too. For instance I have one that extends Krita to have object select and has genAI built in. Thanks to ACLY.
I'll be interested to know how many people are interested in these kinds of install scripts. I do it with most of my apps because it's easy to generate these days.
-S
Just wanted to say I have the same problem here. Again it is POP-OS. The flatpak version you get from the POP-OS software repository does not work with OptiX, but the version downloaded from blender.org works perfectly.
In addition the "flatpack" writes /tmp to a completely hidden location, which is pretty inconvienent.
The latest blender 4.x didn't work with optix on ubuntu 23.10 from the flatpak repository. I switched over to the steam version which works fine, same as the tarball from blender.org
Odd, I am unable to get the tarball working with Optix on my machine. If I set Viewport denoiser to automatic it will always fall back to OpenImageDenoise. Setting it explicitly to Optix still fails.
Okay, just so that is clear, we are talking about using the GPU to render using Optix-Rendering AND denoise it with the OptiX Denoiser.
Because today I thought the problem was fixed but in fact it still occurs if you switch to GPU Compute.
In CUDA Mode however, the optix-denoiser works fine (which it did not when I created this issue, so that is good)
The native Arch package seems to be working with Optix (with GPU compute) now. Tested this morning with Blender 4.2 and Nvidia 555.58.02 drivers.
First of all, I already reported this at blender.org: https://projects.blender.org/blender/blender/issues/110298
The problem ist, that I cant use any OptiX functionality: the denoiser is not denoising and if I switch to Optix in
Preferences > System
, Cycles (in gpu-mode) even refuses to render, giving me the Error Message: "OptiX denoiser creation has failed".Terminal Example:
This error is only in the Flatpak-version of blender, and if I use the exact same version (3.6.1) but downloaded from blender.org, anything works fine.
For more information see: https://projects.blender.org/blender/blender/issues/110298