Tiny Core Extensions > TCE Talk

gtk4 extension on armv7l (RaspberryPi)

<< < (2/4) > >>

yvs:

--- Quote from: Juanito on August 16, 2024, 06:56:49 AM ---gtk4 updated on piCore-15.x

--- End quote ---
there's still an older pango/cairo:

--- Code: ---% uname -a     
Linux box 6.6.34-piCore-v7 #18 SMP Wed Jun 19 12:59:04 EDT 2024 armv7l GNU/Linux
% gtk4-widget-factory
gtk4-widget-factory: symbol lookup error: /usr/local/lib/libgtk-4.so.1: undefined symbol: pango_layout_line_get_length
% pkg-config --libs gtk4     
Package 'gtk4' requires 'pango >= 1.50.0' but version of pango is 1.44.7

--- End code ---


--- Quote ---gtk4 is at the limit of slowness on an RPi3 as gtk4-widget-factory shows.

--- End quote ---
if I got it correctly it's gtk4.14.4. Earlier trying to run software with gtk4.12.5 (last prewayland oriented version) cairo rendering worked more or less okay (probably cairo rendering still works with 4.12 in the same way as with gtk3).
btw GTK4 is limited with minimal GL version 3, so that 3D is only with llvm rendering and no chance for Broadcom GL2.x, and not sure even GTK3 can work with GL2.x properly

yvs:

--- Code: ---gtk4-widget-factory: symbol lookup error: /usr/local/lib/libgtk-4.so.1: undefined symbol: pango_layout_line_get_length
Package 'gtk4' requires 'pango >= 1.50.0' but version of pango is 1.44.7

--- End code ---
sorry, it was my fault (thought that dependencies are updated automatically)

After update of all tcz in gtk4 dep, there's no complains on pango version, just

--- Code: ---libcups.so.2: cannot open shared object file: No such file or directory
Failed to load module: /usr/local/lib/gtk-4.0/4.0.0/printbackends/libprintbackend-cups.so
libgstplayer-1.0.so.0: cannot open shared object file: No such file or directory
Failed to load module: /usr/local/lib/gtk-4.0/4.0.0/media/libmedia-gstreamer.so
Gsk-Message: 12:53:03.693: Failed to realize renderer of type 'GskNglRenderer' for surface 'GdkX11Toplevel': OpenGL ES 3.0 is not supported by this renderer.

--- End code ---
then loading `tce -wil gst-plugins-bad libcups` there's only

--- Code: ---Gsk-Message: 12:57:46.392: Failed to realize renderer of type 'GskNglRenderer' for surface 'GdkX11Toplevel': OpenGL ES 3.0 is not supported by this renderer.

--- End code ---
but it works

with unloaded broadcom GL driver, it starts with next complains

--- Code: ---libEGL warning: DRI2: failed to authenticate
MESA: error: ZINK: failed to load libvulkan.so.1
libEGL warning: egl: failed to create dri2 screen

--- End code ---
and looks much slower

i.e. apps (including gtk4 ones) work better anyway with loaded Broadcom driver (even it's not supported by gtk4 itself)

yvs:
and completing gtk4.14 tests:
to get rid of Failed to realize renderer of type 'GskNglRenderer' for ...
there's export GSK_RENDERER=gl or =opengl or =cairo (to not use ngl/vulkans renderers and to work like in 4.12 and previous ones)

Juanito:
I’m not sure what you mean by ‘broadcom driver’, but I’ve been unable to get xorg 3d acceleration working with piCore-15.x on an RPi3 - it worked fine on piCore-14.x

Mesa has been updated to include the zink driver and mesa-vulkan-rpi4 contains the vulkan driver for RPi4. I haven’t tried vulkan with gtk4 and piCore-15.x on an RPi4 yet, but it worked with piCore64 the last time I tried.

I’ve found RPi3 and to an extent RPi4 work better with wayland than x and gtk4 works with both.

yvs:

--- Quote from: Juanito on August 16, 2024, 12:03:25 PM ---I’m not sure what you mean by ‘broadcom driver’,

--- End quote ---
I mean this one (Broadcom2835 VideoCore4)

--- Code: ---% inxi -Ga
Graphics:
  Device-1: bcm2835-vc4 driver: vc4_drm v: N/A bus-ID: N/A chip-ID: brcm:soc
    class-ID: gpu
  Device-2: bcm2835-hdmi driver: N/A bus-ID: N/A chip-ID: brcm:soc
    class-ID: hdmi
  Display: server: X.org driver: X: loaded: modesetting unloaded: fbdev
    dri: vc4
    gpu: vc4-drm,vc4_crtc,vc4_dpi,vc4_dsi,vc4_firmware_kms,vc4_hdmi,vc4_hvs,vc4_txp,vc4_v3d,vc4_vec
    display-ID: :0.0 screens: 1
  Screen-1: 0 s-res: 800x480 s-size: <missing: xdpyinfo>
  Monitor-1: DSI-1 res: 800x480 hz: 60 size: N/A modes: FIXED_MODE
  API: OpenGL v: 2.1 vendor: broadcom mesa v: 24.1.4 glx-v: 1.4 es-v: 2.0
    direct-render: yes renderer: VC4 V3D 2.1 device-ID: 14e4:ffffffff
    memory: 898.4 MiB unified: yes

--- End code ---


--- Quote ---but I’ve been unable to get xorg 3d acceleration working with piCore-15.x on an RPi3 - it worked fine on piCore-14.x

--- End quote ---

Xorg works there with VC4 too. There's 3D acceleration with piCore15 on RPI3B+:

--- Code: ---% glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
303 frames in 5.0 seconds = 60.514 FPS
301 frames in 5.0 seconds = 60.056 FPS
301 frames in 5.0 seconds = 60.048 FPS
301 frames in 5.0 seconds = 60.051 FPS
301 frames in 5.0 seconds = 60.053 FPS
301 frames in 5.0 seconds = 60.052 FPS
301 frames in 5.0 seconds = 60.052 FPS
...

--- End code ---


--- Quote ---Mesa has been updated to include the zink driver and mesa-vulkan-rpi4 contains the vulkan driver for RPi4. I haven’t tried vulkan with gtk4 and piCore-15.x on an RPi4 yet, but it worked with piCore64 the last time I tried.

I’ve found RPi3 and to an extent RPi4 work better with wayland than x and gtk4 works with both.

--- End quote ---
Frankly there's doubts that a vulkan driver even exists for RPI3, so that supposedly glx rendering (Xorg with VC4) works much faster than any software rendering with wayland on rpi3

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version