p-e-w / finalterm

At last – a modern terminal emulator (NO LONGER MAINTAINED)
http://finalterm.org
GNU General Public License v3.0
3.84k stars 179 forks source link

clutter not an X11 backend #410

Open CJD14 opened 9 years ago

CJD14 commented 9 years ago

i built finalterm from the git source here. I believe all the dependencies should be installed im on Arch Linux latest in Gnome 3 DM.

When launching the application from activities nothing happens, but when i run finalterm

from the terminal I get this error:

(finalterm:2664): Clutter-CRITICAL **: The Clutter backend is not a X11 backend

(finalterm:2664): Clutter-CRITICAL **: The Clutter backend is not a X11 backend
[1]    2664 segmentation fault (core dumped)  finalterm

I did some heavy researching but was unable to find anything that references how to fix this. Just not sure what the next step is.

Thanks

lantw44 commented 9 years ago

The default Clutter backend was changed from X11 to GDK in GNOME 3.16.

CJD14 commented 9 years ago

Ah okay let me try and update and see how it goes. can't believe I didn't see that in my research. thank you

CJD14 commented 9 years ago

turns out Gnome is already updated to GNOME 3.16. I did a full GNOME install from PacMan in Arch Linux, without the GNOME extras. Is there something I should verify?

so does that mean I would have to downgrade GNOME to 3.14.12? Im not sure I understand, do I not want GDK as the backend or do I?

lantw44 commented 9 years ago

export CLUTTER_BACKEND=x11 may get it work, but I think we should also try to fix the error.

CJD14 commented 9 years ago

very good, thank you very much. so simple yet perfect. Worked great indeed.

I saw this during my researching this may be a good starting point GDK3 - X Windows System Interaction

it included this if else statement

#ifdef GDK_WINDOWING_X11
  if (GDK_IS_X11_DISPLAY (display))
    {
      // make X11-specific calls here
    }
  else
#endif
#ifdef GDK_WINDOWING_QUARTZ
  if (GDK_IS_QUARTZ_DISPLAY (display))
    {
      // make Quartz-specific calls here
    }
  else
#endif
  g_error ("Unsupported GDK backend");

maybe this could set this could be used to set this variable on first run.

this seemed to fix launching it, and seemed to run okay as far as i can tell based on the little testing, but on close this is the output in terminal now:

** Message: TerminalOutput.vala:386: Command mode entered

** (finalterm:4575): CRITICAL **: line_container_real_set_adjustments: assertion 'hadjustment != NULL' failed

(finalterm:4575): Clutter-CRITICAL **: clutter_container_add: assertion 'CLUTTER_IS_CONTAINER (container)' failed

im going to test some more and see how stable i can keep it with this env variable.

lantw44 commented 9 years ago

I remember the change is needed because they want to make whole GNOME 3.16 desktop run in wayland. (GTK+ and Clutter in GNOME 3.14 uses Xwayland)