yozoon / gnome-shell-extension-blyr

Apply a Blur Effect to GNOME Shell UI elements
https://extensions.gnome.org/extension/1251/blyr/
GNU General Public License v2.0
222 stars 18 forks source link

Cannot open preferences #2

Closed alice-mkh closed 6 years ago

alice-mkh commented 7 years ago

gnome-shell-extension-prefs crashes: (gnome-shell-extension-prefs:12699): Clutter-Gtk-ERROR **: *** Unsupported backend. zsh: trace trap (core dumped) gnome-shell-extension-prefs

gnome-tweak-tool does nothing and outputs the same thing: (gnome-shell-extension-prefs:12699): Clutter-Gtk-ERROR **: *** Unsupported backend.

Opening them from extensions.gnome.org through browser (Epiphany) does nothing.

Fedora 26, Intel GPU.

yozoon commented 7 years ago

What version of clutter-gtk is installed on your system?

alice-mkh commented 7 years ago

1.8.2 Forgot to mention, it was on Wayland session, if that matters.

chyyran commented 7 years ago

On Wayland session, I get the same Clutter-Gtk-ERROR. However, on x11, I get this following error as well when trying to launch preferences.

(gnome-shell-extension-prefs:2331): GLib-GObject-WARNING **: cannot register existing type 'ClutterBackend'

(gnome-shell-extension-prefs:2331): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(gnome-shell-extension-prefs:2331): GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed

(gnome-shell-extension-prefs:2331): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(gnome-shell-extension-prefs:2331): GLib-GObject-CRITICAL **: g_object_new: assertion 'G_TYPE_IS_OBJECT (object_type)' failed

I'm on clutter-gtk 1.8.2 as well.

λ ~/ dnf list installed | grep clutter
clutter.x86_64                         1.26.2-1.fc26            @anaconda       
clutter-gst2.x86_64                    2.0.18-2.fc26            @anaconda       
clutter-gst3.x86_64                    3.0.24-1.fc26            @anaconda       
clutter-gtk.x86_64                     1.8.2-2.fc26             @anaconda    
chrome-gnome-shell.noarch              9-1.fc26                 @region51-chrome-gnome-shell
gnome-shell.x86_64                     3.24.2-1.fc26            @anaconda       
gnome-shell-extension-alternate-tab.noarch
gnome-shell-extension-apps-menu.noarch 3.24.2-1.fc26            @anaconda       
gnome-shell-extension-background-logo.noarch
gnome-shell-extension-common.noarch    3.24.2-1.fc26            @anaconda       
gnome-shell-extension-launch-new-instance.noarch
gnome-shell-extension-places-menu.noarch
gnome-shell-extension-user-theme.noarch
gnome-shell-extension-window-list.noarch
gnome-shell-theme-adapta.noarch        3.91.0-1.201707111515git652efc0.fc26
λ ~/ screenfetch
           /:-------------:\          chyran@chyran-fedora
        :-------------------::        OS: Fedora 26 TwentySix
      :-----------/shhOHbmp---:\      Kernel: x86_64 Linux 4.11.8-300.fc26.x86_64
    /-----------omMMMNNNMMD  ---:     Uptime: 10h 33m
   :-----------sMMMMNMNMP.    ---:    Packages: 1837
  :-----------:MMMdP-------    ---\   Shell: zsh 5.3.1
 ,------------:MMMd--------    ---:   Resolution: 1920x1080
 :------------:MMMd-------    .---:   DE: GNOME 
 :----    oNMMMMMMMMMNho     .----:   WM: GNOME Shell
 :--     .+shhhMMMmhhy++   .------/   WM Theme: Flat-Plat
 :-    -------:MMMd--------------:    GTK Theme: Flat-Plat [GTK2/3]
 :-   --------/MMMd-------------;     Icon Theme: Paper
 :-    ------/hMMMy------------:      Font: Roboto 11
 :-- :dMNdhhdNMMNo------------;       CPU: Intel Core i7-7700HQ @ 8x 3.8GHz [25.0°C]
 :---:sdNMMMMNds:------------:        GPU: Mesa DRI Intel(R) HD Graphics 630 (Kaby Lake GT2) 
 :------:://:-------------::          RAM: 2962MiB / 7707MiB
yozoon commented 7 years ago

I experimented with the prefs.js file on Fedora 26. So far I've figured out that gnome-shell-extension-prefs on Fedora doesn't like it, when you initialize Clutter or GtkClutter inside the prefs.js script - unfortunately both of them are a requirement for the preview widget. I also wrote a small GJS program to test Clutter.init(null) in combination with GtkClutter.init(null) , but this standalone application worked as expected, so I'm guessing the observed errors originate from the way gnome-shell-extension-preferences parses the prefs.js file on Fedora (interestingly it's working as expected on Ubuntu and Arch).

Frowny commented 7 years ago

I get this with Ubuntu 16.04 error loading preferences

yozoon commented 7 years ago

@Frowny looks like the package gir1.2-gtkclutter-1.0 is missing on your system.

PatrickSiIva commented 7 years ago

Hi @Frowny and @yozoon , I got the same "Requiring GtkClutter" on Ubuntu 17.10 and installing gir1.2-gtkclutter-1.0 solved it. But I don't remember if I installed it when I was on "Ubuntu GNOME" 16.04. Probably it's ship by default on "Ubuntu GNOME", but on the Ubuntu 17.10 (which uses GNOME now as everyone knows) we'll probably need to install it by our hands. Maybe an advice on gnome-shell extensions Webpage warning less skilled users about it...

yozoon commented 6 years ago

In the newest version of the extension I implemented a fallback mode, which should make all settings accessible, even if the (gtk)clutter initialisation fails. Please test with the current master branch and report your results here :)

yozoon commented 6 years ago

I tested the extension preferences on Fedora 27 under both, the wayland and the xorg session. I didn't get any Clutter-Gtk errors, and using the xorg session, the preferences dialog worked as expected. But I observed some strange behavior using the wayland session: after launching the preferences from the gnome-tweak tool the panel went black and system monitor said that an instance of the extension-prefs was running even though no window/ application symbol showed up. Further investigation showed that this behaviour can be circumvented by launching the gnome-shell-extension-prefs directly from the command line with an additional environment variable: _export GDKBACKEND=x11 gnome-shell-extension-prefs blyr@yozoon.dev.gmail.com I found this fix on the redhat bugzilla

Can anyone confirm those results?

yozoon commented 6 years ago

Does this problem still persist on Fedora 27? Otherwise I will close this issue, as my inspections showed that it is related to the way Fedora 26 handles the ClutterGtk bindings, which I can't directly influence.

PatrickSiIva commented 6 years ago

Hi @yozoon, sry I'm a little late ^^'. Unfortunately even using the latest master branch, I'm not able to get to the preference screen without "gir1.2-gtkclutter-1.0" installed. I didn't tried on a wayland session because of the NVIDIA drivers. I still running on Ubuntu 17.10 (all up to date).

Error: Requiring GtkClutter, version none: Typelib file for namespace 'GtkClutter' (any version) not found

Stack trace: @/home/patrick/.local/share/gnome-shell/extensions/blyr@yozoon.dev.gmail.com/prefs.js:43:7 Application<._getExtensionPrefsModule@resource:///org/gnome/shell/extensionPrefs/main.js:75:13 wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22 Application<._selectExtension@resource:///org/gnome/shell/extensionPrefs/main.js:90:31 wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22 Application<._onCommandLine@resource:///org/gnome/shell/extensionPrefs/main.js:246:17 wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22 main@resource:///org/gnome/shell/extensionPrefs/main.js:402:5 @

:1:43

BTW, I enjoyed the new features :D

yozoon commented 6 years ago

@patrickpcs91 it was never the objective to remove the reliance on the ClutterGtk Bindings, as the Preferences dialog needs them to embed the blur effect (Clutter) preview box in the Gtk prefs window. The original bug reported in this issue thread was a crash of gtkclutter on Fedora 26 directly after the initialisation was called in the preferences dialog. As this bug doesn't seem to exist in Fedora 27 I'll close this issue now.

jcklpe commented 6 years ago

@yozoon I just installed Gnome Shell onto my fresh kubuntu install. When I tried to run Blyr preferences I got the same Clutter error as everyone else. But Is should have clutter installed etc.

n-jay commented 5 years ago

Agree with @patrickpcs91, doing a sudo apt-get install gir1.2-gtkclutter-1.0 fixed the clutter issue in the gnome extension preferences.