Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XWayland support #12

Closed
Zubnix opened this issue May 30, 2019 · 10 comments
Closed

XWayland support #12

Zubnix opened this issue May 30, 2019 · 10 comments

Comments

@Zubnix
Copy link
Collaborator

Zubnix commented May 30, 2019

Adding XWayland support would allow running large number of applications that do not have a Wayland port. For this we need to implement an X window manager in the Greenfield compositor. It will be required to compile a modified XCB/Xlib to WebAssembly in order to maximize code reuse.

@Zubnix Zubnix added the roadmap label May 30, 2019
@Zubnix Zubnix added this to To do in Greenfield development Jun 6, 2019
@Zubnix
Copy link
Collaborator Author

Zubnix commented Aug 7, 2019

Investigate if we can use https://github.com/sidorares/node-x11 in the browser, maybe fork & patch it so it can use websockets and doesn't need node dependencies. https://github.com/udevbe/browser-x11

@sabrehagen
Copy link

The lack of XWayland support seems to be the number one blocker to adopting greenfield. Do you have plans to address this feature in the near term?

@Zubnix
Copy link
Collaborator Author

Zubnix commented Apr 22, 2020

I wasn't really aware this was the number one priority for users. I'm currently doing a rather large refactor of the core middleware using redux-saga + typescript which is almost done. Once finished (hopefully somewhere this week), I could start the XWayland support.

@sabrehagen
Copy link

I'm making the claim it's "number one" given the majority of Linux graphical applications require X11 to function, thereby the majority of users require X11 support in greenfield to use their daily applications.

Starting work on XWayland would be most exciting. Thanks for taking up the challenge :)

@Zubnix
Copy link
Collaborator Author

Zubnix commented May 1, 2020

TODO

@sabrehagen
Copy link

Hello! Just wanted to check in to see how progress on this was going 😃

@Zubnix
Copy link
Collaborator Author

Zubnix commented Aug 6, 2020

DONE:

  • The current state is that there is a working pure TypeScript X library: https://github.com/udevbe/xtsb
  • The entire codebase of Greenfield (+Westfield+WebShell) has also been ported to TypeScript.
  • I also needed a bit a change of code and build a custom WebGL react renderer, so in the future you could run React apps in Greenfield (goal is something like react-native but for Greenfield): https://github.com/udevbe/react-canvaskit

TODO:

  • xtsb connection logic needs to be adapted so it can communicate over websocket
  • an XWayland Window Manager needs to be implemented in Greenfield. This is non trivial as it will need to be multi X-server aware, although we can probably start by supporting just a single X-server for now.

@Zubnix Zubnix moved this from To do to In progress in Greenfield development Dec 9, 2020
@Zubnix
Copy link
Collaborator Author

Zubnix commented Sep 22, 2021

DONE:

  • All things XWayland execpt:

TODO:

  • fullscreen support for XWayland
  • copy/paste

@sabrehagen
Copy link

So great to see this supported! Thank you!!

@Zubnix
Copy link
Collaborator Author

Zubnix commented May 17, 2022

c/p is now fully implemented for both xwayland and browser

fullscreen supported will be added later on

@Zubnix Zubnix closed this as completed May 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Greenfield development
  
In progress
Development

No branches or pull requests

2 participants