Open Urs11 opened 4 years ago
Fast call, this feature is 10 days old I'll implement appropriate switches to build without cuda/opencl support, similar to one in blender-develop-git
ð€
Nice! Looking forward to it
Should be working now:
@Urs11 btw. could you test both blender-plugin-luxcorrerender{,-git}
for denoiser. I've made a patch that uses openimagedenoise
but only for non git version and wonder if it has been resolved upstream in -git
one ð€
So I used DISABLE_OPENCL=1 pamac-manager to upgrade
to luxcorerender-git 2.3.r900.g4cb96ab42-1
but I still get
OpenCL driver API error (code: -1001, file:/var/tmp/pamac-build-urs/luxcorerender-git/src/luxcorerender/src/luxrays/devices/ocldevice.cpp, line: 72): -1001
once I start rendering. Addon version blender-plugin-luxcorerender-git 2.3.r267.g066bde9-1
Seems like the pkgbuild is not up to date: your updates are not yet in https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=luxcorerender-git
could you test both
blender-plugin-luxcorrerender{,-git}
for denoiser
Sure, I will test the denoiser once I get luxcore working.
Okay, so I substituted .SRCINFO and PKGBUILD in /var/tmp/pamac-build-urs/luxcorerender-git/ with the ones from here and kept the lastest pkgver. Now I can successfully use DISABLE_OPENCL=1 pamac-manager and can render without any OpenCL error. Thanks a lot!
Denoiser tests (Blender 2.83): blender-plugin-luxcorerender-git 2.3.r267.g066bde9-1( luxcorerender-git 2.3.r900.g4cb96ab42-1):
Viewport denoiser:
no denoising and this error:
Could not start denoiser: Binary not found. Download it from https://github.com/OpenImageDenoise/oidn/releases
(although I have oidn 1.2.0-2 installed from official repos)
F12 rendering denoiser: Both OIDN and BCD can be selected and rendering works but there is no visible denoising and no error message. Console output if Denoise is checked:
[SDL][40.114] Image pipeline: film.imagepipelines.001
[SDL][40.114] Image pipeline step 0: INTEL_OIDN
[SDL][40.114] Image pipeline step 1: NOP
[SDL][40.114] Image pipeline step 2: TONEMAP_LINEAR
[Engine/Final] Finished rendering layer "View Layer"
blender-plugin-luxcorerender 2:2.3-1 I can't render nor denoise - error message:
Python argument types in
Scene.DefineBlenderMesh(Scene, str, int, int, int, int, int, list, list, int, NoneType)
did not match C++ signature:
DefineBlenderMesh(luxcore::detail::SceneImpl*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, boost::python::api::object, boost::python::api::object, unsigned long, unsigned int)
DefineBlenderMesh(luxcore::detail::SceneImpl*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, boost::python::api::object, boost::python::api::object, unsigned long, unsigned int, boost::python::api::object)
For comparison, I tested BlendLuxCore-v2.3-linux64 with Blender 2.82a and it denoises viewport and F12 render. Also it seems to render faster, i.e. if I set Halt Condition to 2 sec, the 2.82 render using the BlendLuxCore addon has less noise than the 2.83 render using blender-plugin-luxcorerender-git !? Time for 1 sample (repeated measurements):
Using blender-plugin-luxcorerender-git there is a region where the samples look almost as "smooth" as when using BlendLuxCore. In consecutive renderings, that region is not constant in size, seems like the last rendering step is incomplete (also when using halt after x samples instead of halt after time) although it is taking longer.
@Urs11 I've updated AUR clone, I've been working on a script that automatically update AUR when Travis build succeed on a PUSH build type, looks like it sill need some polish..
As for speed, I'll have to dig deeper. Perhaps it's related to missing optimizations in luxcorerender-master branch or some extra feature that was added after luxcorerendero:v2.3...
As for plugins, blender-plugin-luxcorerender
works against luxcorerender
and luxcorerender-git
should be used with blender-plugin-luxcorerender-git
. It's not a rigid rule and sometimes cross operation may works thought.
@bartoszek luxcorerender-git has not been updated so far. blender-plugin-luxcorerender-git now is at 2.4.beta1.r1.g504867b but it does not work anymore: like before with blender-plugin-luxcorerender 2:2.3-1 I can't render nor denoise - error message (almost identical):
Python argument types in
Scene.DefineBlenderMesh(Scene, str, int, int, int, int, int, list, list, int, int, NoneType, tuple)
did not match C++ signature:
DefineBlenderMesh(luxcore::detail::SceneImpl*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, boost::python::api::object, boost::python::api::object, unsigned long, unsigned int)
DefineBlenderMesh(luxcore::detail::SceneImpl*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, boost::python::api::object, boost::python::api::object, unsigned long, unsigned int, boost::python::api::object)
luxcorerender-git
was updated like two days ago ð€ to v2.4.beta1
I've updated denoiser.patch
:feelsgood: : somehow I've missed oidn
renaming its binary from denoise
to oidnDenoise
:exploding_head:
Tested with [community]/blender:
AUR/blender-develop-git:2.90 fails with
SystemError: initialization of pyluxcore raised unreported exception
will report upstream.
btw. thanks for poking me about this, I'd tend to use Cycles, so LuxCore get a bit neglected
Glad I'm not a nuisance :-)
Pamac once again insisted on being weird, even cleaning the build files and refreshing the databases did not make it show the luxcorerender-git update to me (but it showed to blender-plugin... update). Only after I started it with DISABLE_OPENCL=1 pamac-manager the new version was available - that was never necessary to see updates so far. Now I have the latest version.
The blender-plugin-luxcorerender-git works now in 2.83, viewport denoising works, too [edit: not anymore. After todays (30.6.) update to blender-plugin-luxcorerender-git 2.4.beta1.r2.g4532c9d: Warning | Could not start denoiser: stat: path should be string, bytes, os.PathLike or integer, not None Type], but F12 render does not look denoised although it prints "Denoising..." in the header. In 2.90, the last blender-plugin-luxcorerender-git version worked, but the latest one doesn't:
Python argument types in
Scene.DefineBlenderMesh(Scene, str, int, int, int, int, int, list, list, int, int, NoneType, tuple)
did not match C++ signature:
DefineBlenderMesh(luxcore::detail::SceneImpl*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, boost::python::api::object, boost::python::api::object, unsigned long, unsigned int)
DefineBlenderMesh(luxcore::detail::SceneImpl*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, boost::python::api::object, boost::python::api::object, unsigned long, unsigned int, boost::python::api::object)
It even crashed after pressing F12 too often.
BTW:
If I try to activate the plugin, I get "import certifi ModuleNotFoundError: No module named 'certifi' " from __init__.py
- so far I just commented the respective lines in __init__.py
since I don't need that functionality but I assume that there is a dependency missing.
I asked around on BlendLuxCore
bug tracker, and was told that blender:v2.90
is not supported until officially released.
I've updated the depends
, now it list all required BlendLuxCore
modules (requests,certifi,numpy).
Great, thanks!
Sorry, I didn't know about the denoised pass. Not sure if it is working though: the OIDN Denoised pass looks like a darkened version of Combined pass with the same amount of noise (BCD seems to work ok).
Have you seen my edit in the last post - something seems to be wrong with the viewport denoiser.
As for viewport denoise: None Type
error suggests that binary can't be found.
denoise.patch
is supposed to work with openimagedenoise>=1.2.1
(check your version pacman -Qi openimagedenoise
) where binary name is oidnDenoise
(for openimagedenoise<=1.2.0
the binary was named denoise
).
I see, you added it in the latest version that is not yet available - might take some hours until the mirrors are synced. Thanks!
Since openimagedenoise needs to be >=1.2.1, I would suggest adding openimagedenoise-bin [AUR] to the dependencies.
Sorry, I can't build the latest blender-plugin-luxcorerender-git 2.4.beta1.r2.g4532c9d-1, even after removing and clearing the cache.
Preparing...
Cloning blender-plugin-luxcorerender-git build files...
Checking blender-plugin-luxcorerender-git dependencies...
Warning: blender-plugin-luxcorerender-git-2.4.beta1.r2.g4532c9d-1 is up to date -- reinstalling
Resolving dependencies...
Checking inter-conflicts...
Download of python-certifi (2019.11.28-1) finished
Checking keyring...
Checking integrity...
Loading packages files...
Checking file conflicts...
Checking available disk space...
Installing python-certifi (2019.11.28-1)...
Building blender-plugin-luxcorerender-git...
==> Making package: blender-plugin-luxcorerender-git 2.4.beta1.r2.g4532c9d-1 (Do 02 Jul 2020 01:20:56 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Cloning luxcorerender git repo...
Cloning into bare repository '/var/tmp/pamac-build-urs/blender-plugin-luxcorerender-git/luxcorerender'...
-> Found denoise.patch
==> Validating source files with sha256sums...
luxcorerender ... Skipped
denoise.patch ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
-> Creating working copy of luxcorerender git repo...
Cloning into 'luxcorerender'...
done.
==> Starting prepare()...
Checking patch __init__.py...
error: while searching for:
import addon_utils
import platform
import os
_, luxblend_is_enabled = addon_utils.check("luxrender")
error: patch failed: __init__.py:2
error: __init__.py: patch does not apply
Checking patch draw/viewport.py...
Hunk #1 succeeded at 9 (offset 1 line).
error: while searching for:
self._albedo_file_path = self._make_denoiser_filepath("albedo")
self._normal_file_path = self._make_denoiser_filepath("normal")
self._denoised_file_path = self._make_denoiser_filepath("denoised")
current_dir = os.path.dirname(os.path.realpath(__file__))
self._denoiser_path = os.path.join(os.path.dirname(current_dir), "bin", "denoise")
if platform.system() == "Windows":
self._denoiser_path += ".exe"
self._denoiser_process = None
error: patch failed: draw/viewport.py:72
error: draw/viewport.py: patch does not apply
==> ERROR: A failure occurred in prepare().
Aborting...
That's because denoise.patch
was merged upstream and is no longer needed, just didn't find a slit of time near a computer to update the PKGBUILD
. Just for you pal I wake up earlier and patch this up ð
Thanks for adding the openexr patch, unfortunately I can't build, because no matter if I use
pamac-manager
or
DISABLE_CUDA=1 DISABLE_OPENCL=1 pamac-manager
or
DISABLE_OPENCL=1 pamac-manager
or
DISABLE_CUDA=1 pamac-manager
every time, the dependencies
ocl-icd, nvidia-utils, opencl-nvidia and cuda get selected for installation. This does not happen with the fracture-modifier package.
That's weird, just tested with aurutils --margs="DISABLE_CUDA=1"
and it works fine.
I've tried DISABLE_CUDA=1 pamac install luxcorerende-git
and it seems to work fine env={pamac:10.1.2,dist:Arch}
$LC_ALL=C DISABLE_CUDA=1 pamac build luxcorerender-git
Install luxcorerender-git from aur ? [y/N]
Preparing...
Cloning luxcorerender-git build files...
Checking luxcorerender-git dependencies...
Resolving dependencies...
Checking inter-conflicts...
To build (1):
luxcorerender-git 2:2.5.r105.g575dcd2f4-1 AUR
To remove (1):
luxcorerender-bin 2.5-1 (Conflicts With: luxcorerender) aur
Total removed size: 272.7Â MB
Edit build files : [e]
Apply transaction ? [e/y/N] y
Building luxcorerender-git...
==> Making package: luxcorerender-git 2:2.5.r105.g575dcd2f4-1 (Sun May 16 18:55:30 2021)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Cloning luxcorerender git repo...
Cloning into bare repository '/var/tmp/pamac-build-bartus/luxcorerender-git/luxcorerender'...
Where without DISABLE_CUDA=1
it stops due to unsatisfied dependencies:
$LC_ALL=C pamac build luxcorerender-git
Install luxcorerender-git from aur ? [y/N]
Preparing...
Cloning luxcorerender-git build files...
Checking luxcorerender-git dependencies...
Resolving dependencies...
Checking inter-conflicts...
To build (1):
luxcorerender-git 2:2.5.r105.g575dcd2f4-1 AUR
To remove (1):
luxcorerender-bin 2.5-1 (Conflicts With: luxcorerender) aur
Total removed size: 272.7Â MB
Edit build files : [e]
Apply transaction ? [e/y/N] y
Building luxcorerender-git...
==> Making package: luxcorerender-git 2:2.5.r105.g575dcd2f4-1 (Sun May 16 18:55:07 2021)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Missing dependencies:
-> cuda
==> ERROR: Could not resolve all dependencies.
Manjaro is still using pamac 10.0.6, don't know if that is the problem. 10.1 should arrive in 4-8 weeks, will report back then. In the meantime, deleting the opencl and cuda parts from the pkgbuild seems to work.
DISABLE_CUDA=1 pamac install luxcorerender-git
Warning: luxcorerender-git is only available from AUR
Preparing...
Cloning luxcorerender-git build files...
Checking luxcorerender-git dependencies...
Resolving dependencies...
Checking inter-conflicts...
To install (4):
ocl-icd 2.2.14-1 (Required By: luxcorerender-git) extra
nvidia-utils 460.73.01-1 (Required By: luxcorerender-git) extra 115,4Â MB
opencl-nvidia 460.73.01-1 (Required By: luxcorerender-git) extra 24,1Â MB
cuda 11.3.0-1 (Required By: luxcorerender-git) community 1,2Â GB
To build (1):
luxcorerender-git 2:2.5.r105.g575dcd2f4-1 AUR
Total download size: 1,3Â GB
Total installed size: 3,8Â GB
Edit build files : [e]
Apply transaction ? [e/y/N]
Finally, pamac got updated to 10.1.3-3 but nothing changed. Also tried it on a different computer (same OS/same versions) and it's the same.
DISABLE_CUDA=1 pamac install luxcorerender-git
Warning: luxcorerender-git is only available from AUR
Preparing...
Cloning luxcorerender-git build files...
Checking luxcorerender-git dependencies...
Resolving dependencies...
Checking inter-conflicts...
To install (6):
ocl-icd 2.3.0-1 (Required By: luxcorerender-git) extra 60,3Â kB
gcc10-libs 1:10.2.0-3 (Required By: luxcorerender-git) community 13,2Â MB
nvidia-utils 470.42.01-1 (Required By: luxcorerender-git) extra 178,3Â MB
gcc10 1:10.2.0-3 (Required By: luxcorerender-git) community 26,0Â MB
opencl-nvidia 470.42.01-1 (Required By: luxcorerender-git) extra 16,1Â MB
cuda 11.3.1-1 (Required By: luxcorerender-git) community 1,3Â GB
To build (1):
luxcorerender-git 2:2.5.r182.gc7d4e677f-1 (2:2.5.r105.g575dcd2f4-1) AUR
Total download size: 1,5Â GB
Total installed size: 4,4Â GB
Edit build files : [e]
Apply transaction ? [e/y/N]
Ups, sorry. Accidently committed cuda
in .SRCINFO
in 0f1dd63763a71337e3712285b3670995e07f6ccf, should be fixed now.
Thank you! Only issue: even with DISABLE_OPENCL=1 or DISABLE_CUDA=1, or both, ocl-icd is still listed as dependency (it is also listed in .SRCINFO):
DISABLE_OPENCL=1 pamac install luxcorerender-git
Warning: luxcorerender-git is only available from AUR
Preparing...
Cloning luxcorerender-git build files...
Checking luxcorerender-git dependencies...
Resolving dependencies...
Checking inter-conflicts...
To install (1):
ocl-icd 2.3.0-1 (Required By: luxcorerender-git) extra 60,3Â kB
To build (1):
luxcorerender-git 2:2.5.r182.gc7d4e677f-1 (2:2.5.r105.g575dcd2f4-1) AUR
Total download size: 60,3Â kB
Total installed size: 277,9Â kB
Just in case you haven't seen my last post: ocl-icd is still required after disabling OpenCL.
Without an OpenCL runtime installed, I get
OpenCL driver API error (code: -1001, file:/var/tmp/pamac-build-urs/luxcorerender-git/src/luxcorerender/src/luxrays/devices/ocldevice.cpp, line: 72): -1001
whenever I try to render.In the past, luxcore rendered without a runtime installed, so I assume that I somehow have to tell the AUR helper to build luxcore without opencl, but I couldn't find the right command. Using
LUXRAYS_DISABLE_OPENCL=1 pamac-manager
did not work.Could you please tell me the right command?