LinuxBeaver / Gimp_Layer_Effects_Text_Styler_Plugin_GEGL_Effects

Gimp Plugin that gives users layer effects powered by GEGL. Allowing you to make stylish text. Binaries Avalible for Windows and Linux
http://gimpchat.com/viewtopic.php?f=9&t=19924
GNU General Public License v3.0
68 stars 0 forks source link

Errors on gimp 2.10.32 on debian #4

Open Mte90 opened 1 year ago

Mte90 commented 1 year ago

So I compiled on my own the libraries to see if this fixed the issues but no.

This on selecting Gegleffects

(gimp:74307): GLib-GObject-CRITICAL **: 11:08:40.612: g_object_bind_property_full: assertion 'g_param_spec_is_valid_name (target_property)' failed

(gimp:74307): GLib-GObject-WARNING **: 11:08:40.612: ../../../gobject/gbinding.c:1273: The source object of type GeglOpgegleffects_c has no property called 'string'
gimp: GEGL-ATTENZIONE: (../gegl/buffer/gegl-tile.c:127):gegl_tile_dup: runtime check failed: (! src->damage)
gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:432@gegl_buffer_cl_iterator_next - invalid command queue
gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue
gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:432@gegl_buffer_cl_iterator_next - invalid command queue
gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue
gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

I get this trying to change parameters on bevel

I have gegl 04.40.

Mte90 commented 1 year ago

I forgot to add a screen to explain the issue:

immagine

LinuxBeaver commented 1 year ago

Bevel's work on anything but very dark text - and color overlays only work proper on white text, but I have no idea why it is doing that. This shouldn't happen. I am asking a Gimp dev to investigate.

LinuxBeaver commented 1 year ago

Try using GEGL Bevel or GEGL inner glow on their own and see what happens.

LinuxBeaver commented 1 year ago

It says it has no property called string. Based on everything I know string is referring to this. https://gegl.org/operations/gegl-gegl.html

I don't know why this error is happening.

LinuxBeaver commented 1 year ago

image

See if your copy of GEGL has this string setting. If it gives you an EEEEEEK error then something is wrong.

LinuxBeaver commented 1 year ago

I just confirmed "string" is not the issue. That is a trivial error on line 790 that should have zero effect on the filter. Something else is going on here.

liamquin commented 1 year ago

I can reproduce the warning about string, but not the main problem.

Do you have a selection? Make sure, if so, it overlaps with the text layer. I didn't have any selection and it worked fine. Were there any errors when you compiled the plug-in?

You could try also gimp 2.99.14. It might be a problem with the video driver you have (NVidia proprietary??).

You could try running clinfo in a terminal (for me it says Number of platforms: 0, which is fine as i don't live in a railway station)... and for me, glxinfo says:

$ glxinfo  | grep 'vendor string'
server glx vendor string: SGI
client glx vendor string: Mesa Project and SGI
OpenGL vendor string: nouveau

It might be a problem with the OpEnCL support in your graphics card, in other words. i'm not sure.

Mte90 commented 1 year ago

So I just selected the level where there is the text.

Yes, I have the nvidia proprietary.

Compile log for everything:

The Meson build system
Version: 1.0.0
Source dir: /home/mte90/Desktop/kde/GEGL-Effects---Layer-Effects-in-Gimp-using-GEGL/GEGL_EFFECTS
Build dir: /home/mte90/Desktop/kde/GEGL-Effects---Layer-Effects-in-Gimp-using-GEGL/GEGL_EFFECTS/build
Build type: native build
Project name: gegleffects
Project version: 0.1
C compiler for the host machine: ccache cc (gcc 12.2.0 "cc (Debian 12.2.0-14) 12.2.0")
C linker for the host machine: cc ld.bfd 2.40
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (1.8.1)
Found CMake: /usr/bin/cmake (3.25.1)
Run-time dependency gegl-0.3 found: NO (tried pkgconfig and cmake)
Run-time dependency gegl-0.4 found: YES 0.4.40
Build targets in project: 1

gegleffects 0.1

  User defined options
    buildtype: release

Found ninja-1.11.1 at /usr/bin/ninja
ninja: Entering directory `build'                                                                   
[1/2] Compiling C object gegleffects.so.p/gegleffects.c.o
In file included from /usr/include/gegl-0.4/gegl.h:38,
                 from /usr/include/gegl-0.4/gegl-plugin.h:31,
                 from /usr/include/gegl-0.4/gegl-op.h:56,
                 from ../gegleffects.c:398:
/usr/include/gegl-0.4/gegl-version.h:38: warning: "GEGL_MICRO_VERSION" redefined
   38 | #define GEGL_MICRO_VERSION 40
      | 
In file included from ../gegleffects.c:21:
../config.h:16: note: this is the location of the previous definition
   16 | #define GEGL_MICRO_VERSION 34
      | 
[2/2] Linking target gegleffects.so
The Meson build system
Version: 1.0.0
Source dir: /home/mte90/Desktop/kde/GEGL-Effects---Layer-Effects-in-Gimp-using-GEGL/GEGL_EFFECTS/compile_innerglow_here
Build dir: /home/mte90/Desktop/kde/GEGL-Effects---Layer-Effects-in-Gimp-using-GEGL/GEGL_EFFECTS/compile_innerglow_here/build
Build type: native build
Project name: inner-glow
Project version: 0.1
C compiler for the host machine: ccache cc (gcc 12.2.0 "cc (Debian 12.2.0-14) 12.2.0")
C linker for the host machine: cc ld.bfd 2.40
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (1.8.1)
Found CMake: /usr/bin/cmake (3.25.1)
Run-time dependency gegl-0.3 found: NO (tried pkgconfig and cmake)
Run-time dependency gegl-0.4 found: YES 0.4.40
Build targets in project: 1

inner-glow 0.1

  User defined options
    buildtype: release

Found ninja-1.11.1 at /usr/bin/ninja
ninja: Entering directory `build'                                                                   
[1/2] Compiling C object inner-glow.so.p/inner-glow.c.o
In file included from /usr/include/gegl-0.4/gegl.h:38,
                 from /usr/include/gegl-0.4/gegl-plugin.h:31,
                 from /usr/include/gegl-0.4/gegl-op.h:56,
                 from ../inner-glow.c:124:
/usr/include/gegl-0.4/gegl-version.h:38: warning: "GEGL_MICRO_VERSION" redefined
   38 | #define GEGL_MICRO_VERSION 40
      | 
In file included from ../inner-glow.c:20:
../config.h:16: note: this is the location of the previous definition
   16 | #define GEGL_MICRO_VERSION 34
      | 
../inner-glow.c: In function ‘attach’:
../inner-glow.c:129:41: warning: unused variable ‘white’ [-Wunused-variable]
  129 |   GeglNode *input, *it, *shadow, *c2a, *white, *color, *nop, *color2, *eblack, *atop, *median2, *in, *nop2, *output;
      |                                         ^~~~~
../inner-glow.c:129:35: warning: unused variable ‘c2a’ [-Wunused-variable]
  129 |   GeglNode *input, *it, *shadow, *c2a, *white, *color, *nop, *color2, *eblack, *atop, *median2, *in, *nop2, *output;
      |                                   ^~~
[2/2] Linking target inner-glow.so
The Meson build system
Version: 1.0.0
Source dir: /home/mte90/Desktop/kde/GEGL-Effects---Layer-Effects-in-Gimp-using-GEGL/GEGL_EFFECTS/compile_bevel_here
Build dir: /home/mte90/Desktop/kde/GEGL-Effects---Layer-Effects-in-Gimp-using-GEGL/GEGL_EFFECTS/compile_bevel_here/build
Build type: native build
Project name: bevel
Project version: 0.1
C compiler for the host machine: ccache cc (gcc 12.2.0 "cc (Debian 12.2.0-14) 12.2.0")
C linker for the host machine: cc ld.bfd 2.40
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (1.8.1)
Found CMake: /usr/bin/cmake (3.25.1)
Run-time dependency gegl-0.3 found: NO (tried pkgconfig and cmake)
Run-time dependency gegl-0.4 found: YES 0.4.40
Build targets in project: 1

bevel 0.1

  User defined options
    buildtype: release

Found ninja-1.11.1 at /usr/bin/ninja
ninja: Entering directory `build'                                                                   
[1/2] Compiling C object bevel.so.p/bevel.c.o
In file included from /usr/include/gegl-0.4/gegl.h:38,
                 from /usr/include/gegl-0.4/gegl-plugin.h:31,
                 from /usr/include/gegl-0.4/gegl-op.h:56,
                 from ../bevel.c:60:
/usr/include/gegl-0.4/gegl-version.h:38: warning: "GEGL_MICRO_VERSION" redefined
   38 | #define GEGL_MICRO_VERSION 40
      | 
In file included from ../bevel.c:19:
../config.h:16: note: this is the location of the previous definition
   16 | #define GEGL_MICRO_VERSION 34
      | 
[2/2] Linking target bevel.so

The issue appears strangely, if I pick one of those repo filters works. If I switch to another one stops (of this repo), switch to the latest one don't works too. If I close the window and restart the process in the same gimp instance also the first one that worked stops working too.

Gimp output:

using gegl copy
GUI new func match: generic fallback
gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

using gegl copy
using gegl copy
GUI new func match: generic fallback
gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue

gimp: GEGL-ATTENZIONE: Error in ../gegl/opencl/gegl-buffer-cl-iterator.c:469@gegl_buffer_cl_iterator_next - invalid command queue
liamquin commented 1 year ago

I'm still suspecting a problem in your graphics driver configuration - can you confirm you used the Debian-packaged non-free video driver and paste the output from clinfo and from glxinfo ?

i haven't been able to reproduce this problem, unfortunately, to debug it further, but depending on the output from clinfo and glxinfo, i may be able to suggest some more things to try and find the problem. First, we have to make sure the underlying platform is stable.

glinfo | grep -i version should say NVIdia and not SGI or Mesa.

Mte90 commented 1 year ago

Sure, I am using nvidia proprietary on debian sid.

the output:

server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL core profile version string: 4.6.0 NVIDIA 510.108.03
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL version string: 4.6.0 NVIDIA 510.108.03
OpenGL shading language version string: 4.60 NVIDIA
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 510.108.03
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
    GL_EXT_shader_group_vote, GL_EXT_shader_implicit_conversions, 

If there is something I can do also compile gimp let me know :-) Maybe this is a bug in gimp and not on this module so we can migrate somewhere else? Probably for that we need to replicate somehow also in other gimp stuff.

liamquin commented 1 year ago

Thanks. Yes; this filter calls lots of other GEGL opertations (filters), and the problem is likely in one of those since the filter itself doesn't use OpenCL and doesn't do much memory manipulation. Deleting line 790,

  gegl_operation_meta_redirect (operation, "string", image, "string");

which doesn't do anything useful, then recompiling, would make the message about string go away, but i doubt that's causing the problem.

Mte90 commented 1 year ago

Well I tried now and seems that now works. Bevel works only if I transform the text as image but in that way gegl effects doesn't work on that but I think that is part of the filter. This is what I get anyway:

(gimp:12649): GLib-GObject-CRITICAL **: 11:58:16.621: g_object_bind_property_full: assertion 'g_param_spec_is_valid_name (target_property)' failed
using gegl copy
GUI new func match: generic fallback
using gegl copy
GUI new func match: generic fallback

(gimp:12649): GLib-GObject-CRITICAL **: 11:58:25.033: g_object_bind_property_full: assertion 'g_param_spec_is_valid_name (target_property)' failed
using gegl copy
GUI new func match: generic fallback

(gimp:12649): GLib-GObject-CRITICAL **: 11:58:30.274: g_object_bind_property_full: assertion 'g_param_spec_is_valid_name (target_property)' failed
using gegl copy
GUI new func match: generic fallback

(gimp:12649): GLib-GObject-CRITICAL **: 11:58:34.572: g_object_bind_property_full: assertion 'g_param_spec_is_valid_name (target_property)' failed
using gegl copy
GUI new func match: generic fallback
using gegl copy
GUI new func match: generic fallback

(gimp:12649): GLib-GObject-CRITICAL **: 11:58:53.487: g_object_bind_property_full: assertion 'g_param_spec_is_valid_name (target_property)' failed
using gegl copy
GUI new func match: generic fallback
LinuxBeaver commented 1 year ago

All filters require transforming text into raster. None of them work in real time.

Make sure to use blend modes on bevel.