WayfireWM / wayfire

A modular and extensible wayland compositor
https://wayfire.org/
MIT License
2.36k stars 175 forks source link

Xwayland startup failed, not setting up xwm #247

Closed FlightBlaze closed 5 years ago

FlightBlaze commented 5 years ago

Log: 2019-06-21 15:33:06 - [wlroots-0.6.0/xwayland/xwayland.c:225] Xwayland startup failed, not setting up xwm

Wayfire is not working on Manjaro Linux KDE. Any ideas?

image

ammen99 commented 5 years ago

How did you install Wayfire? Which version are you using?

AdrianVovk commented 5 years ago

Install XWayland with pacman and it should work. It isn't a dependency of the arch package for whatever reason

soreau commented 5 years ago

It says you have a stale lock file, might want to remove it or reboot.

FlightBlaze commented 5 years ago

I installed xorg-server-xwayland with pacman. And it don't works

My steps from downloading to error:

  1. Clone repository using git
  2. Install meson and ninja
  3. Install dependencies
  4. Build with step-by-step recipe
  5. Run .. oops, xwayland is not installed
  6. Install XWayland (xorg-server-xwayland)
  7. Run again and get errors
AdrianVovk commented 5 years ago

Is the XWayland command in your PATH?

soreau commented 5 years ago

Can you post the latest errors?

ammen99 commented 5 years ago

Another thing to try would be installing the sway package and checking whether sway works (so that we are sure this is a problem in Wayfire), and not some system-setup oddity.

FlightBlaze commented 5 years ago

So, this is my idea and i'm going to implement it

image

Good?

FlightBlaze commented 5 years ago

Can you post the latest errors?

[blaze@blaze-kde ~]$ wayfire 2019-06-21 20:13:09 - [wlroots-0.6.0/xwayland/sockets.c:65] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use Xwayland: /usr/lib/libm.so.6: versionGLIBC_2.29' not found (required by Xwayland) 2019-06-21 20:13:09 - [src/output/plugin-loader.cpp:103] error loading plugin: /usr/lib/wayfire/libviewport_impl.so: cannot open shared object file: No such file or directory 2019-06-21 20:13:09 - [src/output/plugin-loader.cpp:103] error loading plugin: /usr/lib/wayfire/librotator.so: cannot open shared object file: No such file or directory 2019-06-21 20:13:09 - [wlroots-0.6.0/xwayland/xwayland.c:225] Xwayland startup failed, not setting up xwm libEGL warning: FIXME: egl/x11 doesn't support front buffer rendering. 2019-06-21 20:13:12 - [src/output/plugin-loader.cpp:103] error loading plugin: /usr/lib/wayfire/libviewport_impl.so: cannot open shared object file: No such file or directory 2019-06-21 20:13:12 - [src/output/plugin-loader.cpp:103] error loading plugin: /usr/lib/wayfire/librotator.so: cannot open shared object file: No such file or directory 2019-06-21 20:13:12 - [src/output/render-manager.cpp:391] constant_redraw_counter got below 0! 2019-06-21 20:13:12 - [src/output/render-manager.cpp:391] constant_redraw_counter got below 0!`

soreau commented 5 years ago

Try rootston or sway like @ammen99 suggested and see if there isn't some generic problem not specific to wayfire.

FlightBlaze commented 5 years ago

I tried sway and it works:

1

And then wayfire:

image

Both based on wlroots, but wayfire is not working

AdrianVovk commented 5 years ago

It looks like XWayland is messed up because of Manjaro on this machine (Notice that it is linked against the wrong glibc. That's just next level genius right there)

Does Wayfire open if XWayland fails to start?

ammen99 commented 5 years ago

I am not really sure whether Wayfire handles Xwayland startup failures correctly. Anyway, you can try either fixing the problem with Xwayland(the error about glibc), or you can try disabling Xwayland support in Wayfire at compile time (there is a configuration option which was implemented very recently)

FlightBlaze commented 5 years ago

I am not really sure whether Wayfire handles Xwayland startup failures correctly. Anyway, you can try either fixing the problem with Xwayland(the error about glibc), or you can try disabling Xwayland support in Wayfire at compile time (there is a configuration option which was implemented very recently)

But where i can find configuration file with disable xwayland option?

soreau commented 5 years ago

@FlightBlaze https://github.com/WayfireWM/wayfire/blob/master/wayfire.ini.default#L15

FlightBlaze commented 5 years ago

Thank you! But it still not working, Xwayland is not to blame. Black screen and errors in terminal are the same as with xwayland. It cannot find my eglstream capable device.

Running without sudo Screenshot_20190626_152840

FlightBlaze commented 5 years ago

I tried to open it in Openbox/x11, same result

ammen99 commented 5 years ago

You certainly don't need sudo (and it is probable that Wayfire will break in that case).

The last screenshot looks almost fine. Have you installed wf-shell ? It is needed to show a background and a panel, otherwise you get a black screen.

Also, make sure that your ~/.config/wayfire.ini contains correct paths to wf-background/wf-panel, or that they can be found in your $PATH.

Alternatively, you can try to start an application from X: DISPLAY=garbage WAYLAND_DISPLAY=wayland-0 gedit for example. If it shows up in the Wayfire window, then the problem is indeed the path to wf-panel/wf-background

FlightBlaze commented 5 years ago

Thank you for creating so cool and customizable window manager! :) I will try to make it fancy and user-friendly (see concept)
What would be better, modify this project or fork and modify?

image

ammen99 commented 5 years ago

I am not exactly sure what your concept was (just a fancy minimize animation? The side dock?).

It would certainly be best not to fork the whole Wayfire. You can write a plugin instead (which can live in a separate repository) or, we can also merge it to the main repo. Ask in IRC if you have questions regarding plugins :)

FlightBlaze commented 5 years ago

I am not exactly sure what your concept was (just a fancy minimize animation? The side dock?).

It would certainly be best not to fork the whole Wayfire. You can write a plugin instead (which can live in a separate repository) or, we can also merge it to the main repo. Ask in IRC if you have questions regarding plugins :)

It will be a fancy minimize animation, new system buttons layout, window translucency api, global menu like in mac, new look and new shell

AdrianVovk commented 5 years ago

@FlightBlaze The minimize anim. can be done with a Wayfire plugin. Windows already have the ability to make themselves translucent. The system button layout is defined by the app itself (Wayland tends to use something called client-side-decorations), and if not you can make another Wayfire plugin for custom decorations. A global menu depends on support from the app, and has nothing to do with Wayfire (this will be handled entirely by your shell). As for the shell itself, it should be a separate process (or even multiple) using the layer-shell protocol to tell Wayfire how to interact with them.

Good luck with your project! Feel free to drop in on IRC and ask questions

FlightBlaze commented 5 years ago

@FlightBlaze The minimize anim. can be done with a Wayfire plugin. Windows already have the ability to make themselves translucent. The system button layout is defined by the app itself (Wayland tends to use something called client-side-decorations), and if not you can make another Wayfire plugin for custom decorations. A global menu depends on support from the app, and has nothing to do with Wayfire (this will be handled entirely by your shell). As for the shell itself, it should be a separate process (or even multiple) using the layer-shell protocol to tell Wayfire how to interact with them.

Good luck with your project! Feel free to drop in on IRC and ask questions

I mean not just transparent. I want to make api (for using with d-bus) to mark region for blurring. Global menu can be done by patching libgtk and libqt (if these libraries are dynamically linked with apps)