After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 736677 - Doesn't work in clutter-gtk embed in Wayland
Doesn't work in clutter-gtk embed in Wayland
Status: RESOLVED NOTABUG
Product: clutter-gst
Classification: Other
Component: general
2.0.x
Other Linux
: Normal normal
: ---
Assigned To: clutter-gst-maint
clutter-gst-maint
Depends on:
Blocks: 672735
 
 
Reported: 2014-09-15 14:05 UTC by Bastien Nocera
Modified: 2014-09-17 17:49 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gtk-clutter-multistage.c (3.58 KB, application/octet-stream)
2014-09-15 14:05 UTC, Bastien Nocera
Details

Description Bastien Nocera 2014-09-15 14:05:34 UTC
Created attachment 286206 [details]
gtk-clutter-multistage.c

Test program attached. You'll also need the patches from bug 736564.
Comment 1 Bastien Nocera 2014-09-15 14:07:39 UTC
From the other bug:
I get:
- 2 flickery video displays when using cheese (which doesn't use a GtkStack)
- mouse events going nowhere (buttons not working, hidden video texture) in totem

I can reproduce the latter with another test program. Given that it only
happens when using clutter-gst inside clutter-gtk, I would consider it a
clutter-gst bug.
Comment 2 Lionel Landwerlin 2014-09-15 22:43:21 UTC
Is this what you're expecting : https://www.youtube.com/watch?v=lLbFqO9XDRo ?

You have to initialize clutter-gst before clutter-gtk, otherwise cairo crashes. I think this problem has been reported several times already.

Also no need for file:// in clutter_media_set_file().
Comment 3 Lionel Landwerlin 2014-09-16 19:28:18 UTC
Right, I completely missed the wayland part of the bug.

I just used jhbuild to get weston + clutter + clutter-gtk + clutter-gst and ended with an application that draws itself exactly once and then blocks forever in a glClear :

Program received signal SIGINT, Interrupt.
0x00007ffff1e6e0ed in poll () at ../sysdeps/unix/syscall-template.S:81
81	../sysdeps/unix/syscall-template.S: No such file or directory.
(gdb) bt
  • #0 poll
    at ../sysdeps/unix/syscall-template.S line 81
  • #1 wl_display_dispatch_queue
    at src/wayland-client.c line 1432
  • #2 ??
    from /usr/lib/x86_64-linux-gnu/libEGL.so.1
  • #3 ??
    from /usr/lib/x86_64-linux-gnu/libEGL.so.1
  • #4 ??
    from /usr/lib/x86_64-linux-gnu/libEGL.so.1
  • #5 ??
    from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
  • #6 ??
    from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
  • #7 ??
    from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
  • #8 _cogl_framebuffer_gl_clear
    at ./driver/gl/cogl-framebuffer-gl.c line 1013
  • #9 cogl_framebuffer_clear4f
    at ./cogl-framebuffer.c line 388
  • #10 cogl_framebuffer_clear
    at ./cogl-framebuffer.c line 457
  • #11 clutter_root_node_pre_draw
    at ./clutter-paint-nodes.c line 114
  • #12 _clutter_paint_node_paint
    at ./clutter-paint-node.c line 961
  • #13 _clutter_paint_node_paint
    at ./clutter-paint-node.c line 972
  • #14 clutter_actor_paint_node
    at ./clutter-actor.c line 3648
  • #15 clutter_actor_continue_paint
    at ./clutter-actor.c line 3951
  • #16 clutter_actor_paint
    at ./clutter-actor.c line 3875
  • #17 clutter_actor_paint
    at ./clutter-actor.c line 3901
  • #18 _clutter_stage_do_paint
    at ./clutter-stage.c line 688
  • #19 clutter_stage_cogl_redraw
    at ./cogl/clutter-stage-cogl.c line 566
  • #20 clutter_stage_do_redraw
    at ./clutter-stage.c line 1201
  • #21 _clutter_stage_do_update
    at ./clutter-stage.c line 1259
  • #22 master_clock_update_stages
    at ./clutter-master-clock.c line 463
  • #23 clutter_clock_dispatch
    at ./clutter-master-clock.c line 595
  • #24 g_main_dispatch
    at gmain.c line 3064
  • #25 g_main_context_dispatch
    at gmain.c line 3663
  • #26 g_main_context_iterate
    at gmain.c line 3734
  • #27 g_main_loop_run
    at gmain.c line 3928
  • #28 gtk_main
    at gtkmain.c line 1207
  • #29 main
    at gtk-clutter-multistage.c line 84


Let me know what's your setup and your mesa version.
Comment 4 Bastien Nocera 2014-09-16 19:42:15 UTC
jhbuild versions of gtk+, clutter-gtk and clutter-gst.
clutter from the distro: clutter-1.19.8-1.fc21.x86_64
I ran this under gnome-shell's wayland session in F21.
Comment 5 Lionel Landwerlin 2014-09-16 20:51:12 UTC
Anyway to test this stuff under X?
Mutter used to have a nested mode according to https://wiki.gnome.org/Initiatives/Wayland/TryingIt
What happened to that?
Comment 6 Lionel Landwerlin 2014-09-16 21:13:36 UTC
Ok, same problem with nested wayland.
What's your version of Mesa?
Comment 7 Bastien Nocera 2014-09-16 21:15:54 UTC
(In reply to comment #5)
> Anyway to test this stuff under X?
> Mutter used to have a nested mode according to
> https://wiki.gnome.org/Initiatives/Wayland/TryingIt
> What happened to that?

I don't know. I wish it was easier to test as well, but I make do with the gnome-shell wayland session.

(In reply to comment #6)
> Ok, same problem with nested wayland.
> What's your version of Mesa?

mesa-libEGL-10.3-0.rc1.20140824.fc21.x86_64
Comment 8 Lionel Landwerlin 2014-09-16 21:27:30 UTC
Actually you can compile mutter in jhbuild with xwayland and it works nested like this :

mutter --wayland
Comment 9 Bastien Nocera 2014-09-17 17:49:15 UTC
Sorted inside clutter-gtk itself now. Apologies for the red herring :/