AIGODLIKE / ComfyUI-BlenderAI-node

Used for AI model generation, next-generation Blender rendering engine, texture enhancement&generation (based on ComfyUI)
GNU General Public License v3.0
875 stars 51 forks source link

Riquest Linux port #45

Open kalkishnu opened 11 months ago

kalkishnu commented 11 months ago

Like the title says, i request the port of this crazy addon to linux. thx for the great work.

McSimKammerer commented 9 months ago

I can confirm that some of us really need this. Will this be possible in the future?

j2l commented 8 months ago

I'd love it too!

j2l commented 8 months ago

So far, this add-on workspace works, but the menu is not populated. In the console there's a lot of red lines like: Parsing Failed: KSampler -> 'LuaRuntime' object has no attribute 'dll' Lua does work on Linux, but it's not based on dll (windows).

saphtea commented 6 months ago

Hey! Please I'm begging you if you have the time to port it, even if it's just switching it to be more environment independent Lua calls! I switched from Windows to Linux Ubuntu and can't use any of my workflows I made with this and some of them were a little too complex to remake in ComfyUI itself! No pressure I know you do this for free, but would love if it wasn't too hard to bring this to linux.

As reported above, I'm only getting issues with the nodes populating in the add menu, the image I believe is the relevant error log. image

ra100 commented 6 months ago

I've tried to install lupa module /snap/blender/4765/4.1/python/bin/python3.11 -m pip install lupa, as it couldn't find it, so now I have a different type of issues :D

[SDN-ERR]: Exception: 节点模板解析失败
[SDN-ERR]: 节点模板解析失败, 可能由不标准的第三方节点导致, 请联系开发者
Traceback (most recent call last):
  File "/home/USER/.config/blender/4.1/scripts/addons/BlenderAI_Node/SDNode/nodes.py", line 1636, in parse
    node_clss = self._parse_node_clss()
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/USER/.config/blender/4.1/scripts/addons/BlenderAI_Node/SDNode/nodes.py", line 1802, in _parse_node_clss
    nodes_desc = self._get_n_desc()
                 ^^^^^^^^^^^^^^^^^^
  File "/home/USER/.config/blender/4.1/scripts/addons/BlenderAI_Node/SDNode/nodes.py", line 1650, in _get_n_desc
    from .blueprints import get_blueprints
  File "/home/USER/.config/blender/4.1/scripts/addons/BlenderAI_Node/SDNode/blueprints.py", line 17, in <module>
    from .plugins.animatedimageplayer import AnimatedImagePlayer as AIP
  File "/home/USER/.config/blender/4.1/scripts/addons/BlenderAI_Node/SDNode/plugins/animatedimageplayer.py", line 12, in <module>
    imglib = rt.load_dll("image")
             ^^^^^^^^^^^^^^^^^^^^
  File "/home/USER/.config/blender/4.1/scripts/addons/BlenderAI_Node/External/lupawrapper.py", line 137, in load_dll
    res = L.require("lib" + dll_name)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "lupa/lua54.pyx", line 502, in lupa.lua54.LuaRuntime.require
  File "lupa/lua54.pyx", line 1835, in lupa.lua54.call_lua
  File "lupa/lua54.pyx", line 1861, in lupa.lua54.execute_lua_call
  File "lupa/lua54.pyx", line 1743, in lupa.lua54.raise_lua_error
lupa.lua54.LuaError: module 'libimage' not found:
    no field package.preload['libimage']
    no file '/usr/local/share/lua/5.4/libimage.lua'
    no file '/usr/local/share/lua/5.4/libimage/init.lua'
    no file '/usr/local/lib/lua/5.4/libimage.lua'
    no file '/usr/local/lib/lua/5.4/libimage/init.lua'
    no file './libimage.lua'
    no file './libimage/init.lua'
    no file '/usr/local/lib/lua/5.4/libimage.so'
    no file '/usr/local/lib/lua/5.4/loadall.so'
    no file './libimage.so'
    no file '/home/USER/.config/blender/4.1/scripts/addons/BlenderAI_Node/External/SDN-1.1/libimage.so'
    no file '/home/USER/.config/blender/4.1/scripts/addons/BlenderAI_Node/External/SDN-1.1/lualib/libimage.so'
stack traceback:
    [C]: in function 'require'

What would be needed to make it work on Linux again? I'd be happy to help, if you give me some pointers.

nomq1 commented 6 months ago

It seems like there is a macos and windows compiled lupa dynamic library, but no linux. Also I can see some preparation for .so files . Can you please also compile it for linux? Is there anything I can help with?

a-One-Fan commented 5 months ago

@nomq1 @j2l @kalkishnu @ra100 @saphtea @McSimKammerer I made a PR that lets the addon work, somewhat, on Linux. The PR has been accepted. It is usable enough to generate images. The Image Input node (and its functions) does not work. Other things might not work. Consider it experimental.

I don't know what the maintainers' plan for Lupa is. For now, this issue should probably stay open, or a similar one should be opened, as I deal with things, or as something happens with Lupa. Either way, have a heads up.

SimonHeggie commented 5 months ago

Doesn't work for me on Blender 4.1 with Nobara 39. Lenovo Legion, Laptop RTX 4090 and I9....

Traceback (most recent call last): File "/home/simon/.Applications/Blender/blender-4.1.0-linux-x64/4.1/scripts/modules/addon_utils.py", line 376, in enable mod = importlib.import_module(module_name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/simon/.Applications/Blender/blender-4.1.0-linux-x64/4.1/python/lib/python3.11/importlib/init.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 1204, in _gcd_import File "", line 1176, in _find_and_load File "", line 1126, in _find_and_load_unlocked File "", line 241, in _call_with_frames_removed File "", line 1204, in _gcd_import File "", line 1176, in _find_and_load File "", line 1126, in _find_and_load_unlocked File "", line 241, in _call_with_frames_removed File "", line 1204, in _gcd_import File "", line 1176, in _find_and_load File "", line 1140, in _find_and_load_unlocked ModuleNotFoundError: No module named 'ComfyUI-BlenderAI-node-1'

a-One-Fan commented 5 months ago

@SimonHeggie delete the addon's folder in /home/simon/.config/blender/4.1/scripts/addons, re-download it, re-install it, and show a log of what happens as you're installing it.

marianbasti commented 5 months ago

Running into the same issue on Ubuntu and release version 1.5.3

This is my log (installing and activating the addon):

./blender
Read prefs: "/home/***/.config/blender/4.1/config/userpref.blend"
addon_utils.disable: ComfyUI-BlenderAI-node-1.5.3 not loaded
Modules Installed (ComfyUI-BlenderAI-node-1.5.3) from '/home/***/Downloads/ComfyUI-BlenderAI-node-1.5.3.zip' into '/home/***/.config/blender/4.1/scripts/addons'
Traceback (most recent call last):
  File "/home/***/Blender Foundation/stable/blender-4.1.1-stable.e1743a0317bc/4.1/scripts/modules/addon_utils.py", line 376, in enable
    mod = importlib.import_module(module_name)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/***/Blender Foundation/stable/blender-4.1.1-stable.e1743a0317bc/4.1/python/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1126, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1126, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1140, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'ComfyUI-BlenderAI-node-1'
a-One-Fan commented 5 months ago

@marianbasti Please uninstall the addon, and re-install it in the way I outlined in the readme https://github.com/AIGODLIKE/ComfyUI-BlenderAI-node?tab=readme-ov-file#linux