Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 526480 - media-gfx/mandelbulber - add USE=opencl support
Summary: media-gfx/mandelbulber - add USE=opencl support
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Graphics Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-10-22 15:18 UTC by Gerard van Vuuren
Modified: 2018-02-27 15:38 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
mandelbulber-1.21.1-opencl.patch (526480-mandelbulber-1.21.1-opencl.patch,1.26 KB, patch)
2014-10-22 16:20 UTC, Jeroen Roovers (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Gerard van Vuuren 2014-10-22 15:18:07 UTC
Please can somebody make an ebuild for mandelbulber-opencl-1.21-2.orig?
I am using mandelbulber-1.21.1 from the tree.
It works ok but slow.
With opencl I can have more speed because it'll use the GPU and the CPU for rendering.
Thanks a lot in advance.
Gerard.
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-22 15:48:14 UTC
Where would we find the HOMEPAGE of that software?
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-22 15:59:00 UTC
It seems to have -DCLSUPPORT but the library linkage needs to be provided by other means.
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-22 16:11:28 UTC
LDFLAGS="-lOpenCL" CXXFLAGS="-DCLSUPPORT" ebuild mandelbulber-1.21.1.ebuild compile

That seems to work so it shouldn't be hard to implement.
Comment 4 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-22 16:20:48 UTC
Created attachment 387212 [details, diff]
mandelbulber-1.21.1-opencl.patch

It bit of a hack, but then makefiles/objects.mk already is a hack that desperately needs pkg-config love.
Comment 5 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-22 16:25:09 UTC
(In reply to Jeroen Roovers from comment #4)
> Created attachment 387212 [details, diff] [details, diff]
> mandelbulber-1.21.1-opencl.patch

It does complain at run-time that it wants /usr/share/mandelbulber/cl/cl_engine_*.cl, depending on what I select after [OpenCL Enable]. Apparently those files are not bundled?
Comment 6 Gerard van Vuuren 2014-10-22 17:51:10 UTC
Thanks for taking time to look into this Jeroen.
I tried to compile it myself from sources from sourforce.net after applying the same patches (by hand) found in the 1.21.1 ebuild files but it failed with the message that "ld" exited with 1.
I am no coder so am at a loss how to continue.
Gerard.
Comment 7 Gerard van Vuuren 2014-10-22 17:53:41 UTC
(In reply to Jeroen Roovers from comment #5)
> (In reply to Jeroen Roovers from comment #4)
> > Created attachment 387212 [details, diff] [details, diff] [details, diff]
> > mandelbulber-1.21.1-opencl.patch
> 
> It does complain at run-time that it wants
> /usr/share/mandelbulber/cl/cl_engine_*.cl, depending on what I select after
> [OpenCL Enable]. Apparently those files are not bundled?

Those files are in /usr/share which gets installed.
Gerard.
Comment 8 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-22 23:22:59 UTC
(In reply to Gerard van Vuuren from comment #7)
> > /usr/share/mandelbulber/cl/cl_engine_*.cl

> Those files are in /usr/share which gets installed.

No, they are not.
Comment 9 Gerard van Vuuren 2014-10-23 10:48:03 UTC
ikke@localhost /mnt/gentoo/usr/share/mandelbulber $ ls ./cl
cl_DOF.cl               cl_engine_noDE.cl        cl_kaleidoscopic.cl       cl_mandelbulb2.cl       cl_quaternionInit.cl
cl_SSAO.cl              cl_formulaBegin.cl       cl_kaleidoscopicInit.cl   cl_mandelbulb2Init.cl   cl_xenodreambuie.cl
cl_distance.cl          cl_formulaBeginJulia.cl  cl_mandelbox.cl           cl_mandelbulbInit.cl    cl_xenodreambuieInit.cl
cl_distance_deltaDE.cl  cl_formulaEnd.cl         cl_mandelboxInit.cl       cl_mengersponge.cl      mandelbulber_cl_data.h
cl_engine.cl            cl_formulaFor.cl         cl_mandelbox_full.cl      cl_mengerspongeInit.cl
cl_engine_fast.cl       cl_hypercomplex.cl       cl_mandelbox_fullInit.cl  cl_primitives.cl
cl_engine_full.cl       cl_hypercomplexInit.cl   cl_mandelbulb.cl          cl_quaternion.cl
ikke@localhost /mnt/gentoo/usr/share/mandelbulber $ 

I have a separate instance of Gentoo Linux for experiments that's why the /mnt/gentoo folder.
These files got there trying to use the "install" file that's in the the d/led files.
But the main executable errors out with "ld" error 1.
Thanks again for your efforts.
Gerard.
Comment 10 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-23 11:00:29 UTC
So you're basically confusing your manual install with the ebuild I proposed. Your manual install has an unspecified linking problem and the ebuild I proposed doesn't know where to put the files in /usr/share/man. Since it's virtually impossible to determine what your manual install looks like, let's focus on the ebuild, and getting that right.
Comment 11 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-23 11:02:41 UTC
(In reply to Jeroen Roovers from comment #10)
> ebuild I proposed doesn't know where to put the files in /usr/share/man

/usr/share/man => /usr/share/mandelbulber

Additionally, the cl_engine_* files (that src/cl_support.cpp requires) simply aren't distributed in the SRC_URI that we have.
Comment 12 Gerard van Vuuren 2014-10-23 12:38:54 UTC
I got the source from this URL:
http://sourceforge.net/projects/mandelbulber/files/
Sorry for not having been more explicit.
Gerard.
Comment 13 Gerard van Vuuren 2014-10-23 12:46:12 UTC
http://sourceforge.net/projects/mandelbulber/files/mandelbulber-opencl-1.21-2-orig.tar.gz is the complete SRC-URI.
Gerard.
Comment 14 Andreas Sturmlechner gentoo-dev 2018-02-27 15:38:28 UTC
Fixed in 2.12-r1.