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 672735 - Wayland support
Wayland support
Product: totem
Classification: Core
Component: Movie player
Other Linux
: Normal enhancement
: ---
Assigned To: General Totem maintainer(s)
General Totem maintainer(s)
: 735679 (view as bug list)
Depends on: 672999 695685 695737 736564 736677
Blocks: wayland
Reported: 2012-03-24 01:26 UTC by Darxus
Modified: 2014-09-17 20:00 UTC
See Also:
GNOME target: ---
GNOME version: ---

HACK: main: Fix placement of video player under Wayland (3.51 KB, patch)
2014-09-12 14:02 UTC, Bastien Nocera
none Details | Review

Description Darxus 2012-03-24 01:26:52 UTC
Quoting on porting to wayland:

* Ensure that your application uses gtk+-3.0 for its pkg-config request.
* Your application must not use any API in the gdk_x11_ namespace or any raw Xlib calls.

I just tried running totem under wayland, and got:

$ totem
totem: symbol lookup error: /usr/lib/ undefined symbol: gdk_x11_set_sm_client_id

So it's using gdk_x11 stuff, so it won't work with wayland.
Comment 1 André Klapper 2012-03-27 16:00:25 UTC
$:andre\> grep -r gdk_x11_ .
./lib/totem-scrsaver.c:		xid = gdk_x11_window_get_xid (window);
./src/totem-interface.c:	toplevel = gdk_x11_window_foreign_new_for_display (gdk_display_get_default (), xid);
./src/plugins/brasero-disc-recorder/totem-disc-recorder.c:	xid = gdk_x11_window_get_xid (gtk_widget_get_window (GTK_WIDGET (main_window)));

./src/eggsmclient-xsmp.c:      gdk_x11_set_sm_client_id (xsmp->client_id);
./src/eggdesktopfile.c:    launch_time = gdk_x11_display_get_user_time (display);
./src/eggdesktopfile.c:  gdk_x11_display_broadcast_startup_message (display, "new",
./src/eggdesktopfile.c:  gdk_x11_display_broadcast_startup_message (display, "remove",

The latter are code copied from libegg, hence added dependency bug.
Comment 2 Matthias Clasen 2012-03-29 01:00:15 UTC
Using X11-specific calls is fine actually, as long as it is ifdefed and under a runtime check
Comment 3 Bastien Nocera 2012-03-29 01:10:35 UTC
We don't need the libegg ported, as we want to remove the session handling as it is done. See bug 672999.
Comment 4 Bastien Nocera 2012-03-29 02:20:25 UTC
It should now work with "--with-smclient=no" passed.
Comment 5 Bastien Nocera 2012-04-18 17:12:02 UTC
This is a "Movie Player" only problem now, as the browser plugin doesn't work on non-X11.
Comment 6 Bastien Nocera 2013-03-09 00:25:39 UTC
commit 040b118a86ac5a1f4e44d3f7662102b5afbce3d7
Author: Bastien Nocera <>
Date:   Sat Mar 9 00:29:18 2013 +0100

    main: Remove eggsmclient code
    We now save our own session.
Comment 7 Jasper St. Pierre (not reading bugmail) 2014-04-28 17:34:44 UTC
Is there anything left to do here?
Comment 8 Bastien Nocera 2014-04-28 17:36:39 UTC
(In reply to comment #7)
> Is there anything left to do here?

Haven't had the chance to test it. If it works, feel free to close this. Might want to test cheese as well.
Comment 9 Bastien Nocera 2014-09-02 08:42:30 UTC
*** Bug 735679 has been marked as a duplicate of this bug. ***
Comment 10 Bastien Nocera 2014-09-02 08:42:51 UTC
Reopening, it's not working.
Comment 11 Armin K. 2014-09-02 15:26:57 UTC
I don't think the bug is relevant anymore. Player starts and works just fine, I am able to play videos (although not when gstreamer-vaapi is installed, but that's some other issue) but the video widget is not embedded properly in the main GTK+ window. That may be because of problem in clutter-gtk itself, not totem.

I've asked Jasper to try to investigate.
Comment 12 Bastien Nocera 2014-09-12 14:02:38 UTC
Created attachment 286041 [details] [review]
HACK: main: Fix placement of video player under Wayland
Comment 13 Bastien Nocera 2014-09-12 14:03:18 UTC
(In reply to comment #11)
> I don't think the bug is relevant anymore.

It is, because, ultimately, it's dependent on the widgets we use.
Comment 14 Bastien Nocera 2014-09-17 20:00:43 UTC
And fixed.