dracwyrm / gentoo-ebuilds

Gentoo Linux ebuilds for Blender and dependency work.
8 stars 4 forks source link

media-libs/opensubdiv-3.0.5 installs but Blender doesn't see it. #2

Closed dracwyrm closed 8 years ago

dracwyrm commented 8 years ago

After compiling Blender with OpenSubdiv support, the option in User Preferences doesn't allow the selection of any OpenSubdiv libraries. However, CMake is able to detect the OpenSubdiv files during the compile phase. Blender runtime might be looking at a different directory.

redchillipadi commented 8 years ago

Your opensubdiv-3.0.5 ebuild works in Blender on my system. When I opened blender the User Preferences for opensubdiv had all the options eg GLSL Compute was selectable. After adding a patch to skip the osd regression test (which can't run under emerge as it needs to open a window in X) I was able to run the remaining regression tests successfully. The problem I have is that I can now compile the examples (thanks to your Improved-Ptex... patch) but they don't run due to libGL failing to load swrast.

I have checked that I have the exact same ebuilds for ptex, opensubdiv and blender in your repo, and am still not able to reproduce your issue. I will let you know if I can think of anything else

redchillipadi commented 8 years ago

This issue is listed as a bug in Blender

Juicyfruit states:

To use opensubdiv you need to be able to both render one or more backends AND support all the following OpenGL extensions:

Using mesa 10.6 is not expected to work. Mesa 11.x git might work.

dracwyrm commented 8 years ago

Good find on that bug report!

I'm using Mesa v11.2.2. Unfortunately, I have an ATI Card, it was cheap, and using the open source drivers, though they do support those OpenGL versions. I guess my card just isn't compatible. :(

In other news, I finally have OpenVDB working right!!!!!! Check my commit message for it for more details.

dracwyrm commented 8 years ago

@redchillipadi this is my output:

$ glxinfo | grep OpenGL
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD BONAIRE (DRM 2.43.0, LLVM 3.8.0)
OpenGL core profile version string: 4.1 (Core Profile) Mesa 11.2.2
OpenGL core profile shading language version string: 4.10

I have those extensions, so I have no idea what's going on. At least it works for you, so that proves it can work and there's nothing wrong with the ebuilds... I hope.

dracwyrm commented 8 years ago

@redchillipadi I think this is nVidia only since you see it. I think I remember reading about that, so maybe we need a pkg_pretend section to detect if the user has binary nVidia drivers, if not, set die with a info that this is nVidia only? Is that a good idea? In Gentoo, you can't just ignore a use flag with einfo why it's ignored, but actually kill the build so the user sees it and knows. It's supposed to stop bug reports.... like this one. :P

dracwyrm commented 8 years ago

This is what I am thinking of adding:

    # So far, only nVidia binary drivers are supported.
    cards=$(echo -n /dev/nvidiactl* | sed 's/ /:/g')
    if use opensubdiv && ! test -n "${cards}"; then
        einfo "Currently, only nVidia binary drivers are supported for"
        einfo "OpenSubdiv features to work correctly. Please disable"
        einfo "the 'opensubdiv' use flag and try installing again."
        einfo "Support may be added in future versions."
        die "Need binary nVidia drivers"
    fi
redchillipadi commented 8 years ago

Yes, opensubdiv requires CUDA which is NVIDIA only. The patch looks good, I will recompile later

dracwyrm commented 8 years ago

I really need a nVidia card on Linux. I was running out of money on my PC build, so I went with a basic card, because on Linux, it's brilliant and fast, on Windows, it's a turd. :P The power of Linux.

redchillipadi commented 8 years ago

At least we were able to test our ebuild on Amd before releasing it. And I hear it is better for mining cryptocurrencies :P

dracwyrm commented 8 years ago

Yeah. AMD is for some reason. I've tried it. ;)

It was good that we were able to test that fully. It's always good to have multiple dev machines like that.