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

Understand whether weston on Wayland can replace Xvfb #3851

Open
sxa opened this issue Dec 20, 2024 · 19 comments
Open

Understand whether weston on Wayland can replace Xvfb #3851

sxa opened this issue Dec 20, 2024 · 19 comments

Comments

@sxa
Copy link
Member

sxa commented Dec 20, 2024

CentOS Stream 10 has chosen to remove all support for xorg and that includes xvfb.
weston is a potential alternative, but while it's available in EPEL10 it does not install properly due to broken dependencies.

Assuming this is the first notable distribution to have dropped all the xorg packages, and they won't add it back in, we should investigate alternatives in order to be able to continue to run the AQA tests that expect a display to be available.

(FYI @judovana in case anyone in your team has already investigated this)

@judovana
Copy link

Hi. Thanx for heads up. No, we had not hit it. We do not relay on xvfb. We use full vms which have theirs "normal" display.

@judovana
Copy link

@zzambers fyi too.

@sxa
Copy link
Member Author

sxa commented Dec 23, 2024

Hi. Thanx for heads up. No, we had not hit it. We do not relay on xvfb. We use full vms which have theirs "normal" display.

Interesting. So you do have them automatically logging into the UI on boot?

@sxa
Copy link
Member Author

sxa commented Dec 24, 2024

It looks like, if you can install westion (I tried on Ubuntu) then this:

weston --no-config --socket=wayland-vfb --backend=headless-backend.so --xwayland

will start a virtual server. It will display a line like this in the output which will give you the X11 display number:

[11:55:58.278] xserver listening on display :1 

In a container there are a couple of gotchas:

  1. You need to create an empty directory, mode 0700 and set XDG_RUNTIME_DIR to it.
  2. You need to pre-create /tmp/X11-unix otherwise you get a segmentation fault with --xwayland after this error: failed to bind to /tmp/.X11-unix/X0: No such file or directory

Altref: https://github.com/Xpra-org/xpra 4282 https://unix.stackexchange.com/questions/653672/virtual-wayland-display-server-possible

@sxa
Copy link
Member Author

sxa commented Dec 27, 2024

Trying on fedora 40: Note: xclock -display :0 with weston started on :0 doesn't appear to work:

Error: Can't open display: :0

Even though running weston with a 'real' display as :0 seems ok ...

Problem was xwayland-run not being installed to provide /usr/bin/Xwayland

@llxia
Copy link

llxia commented Jan 14, 2025

@sxa We are experiencing a similar issue. Please let us know if there have been any updates or progress using Wayland. Thanks

@sxa
Copy link
Member Author

sxa commented Jan 15, 2025

Didn't spot this notification earlier today for some reason but it's showing up now. As per PMC discussion I'm unlikely to get to progressing this much until after the release cycle, but all i know is in this issue. Hopefully it won't be too hard to get something finalised and integrated into the AQA code that normally starts Xvfb 😁

If anyone else from your side looks at it in the meantime please get them to put any additional discoveries in this issue

@pshipton
Copy link
Contributor

We were successful in installing weston on RHEL 10 and running/passing the tests using it on alinux so far (using the command from #3851 (comment)).

Need the turbojpeg which comes from CodeReady Builder. Install weston and wayland-utils.

@sxa
Copy link
Member Author

sxa commented Jan 20, 2025

Fantastic news @pshipton - thanks for reporting back :-)
I hit something with libturbojpeg recently too but can't remember if it was specifically related to this. Was it needed for a specific test or just to get it started at all? Sounds like I'll need to add that to my CS10 dockerfile in https://github.com/adoptium/infrastructure/pull/3850/files too :)

@pshipton
Copy link
Contributor

The turbojpeg was needed to install weston before any tests were run.

@pshipton
Copy link
Contributor

Also needed to install xorg-x11-server-Xwayland to pass the tests.

@llxia
Copy link

llxia commented Jan 20, 2025

Just for the record, we have updated the test pipeline code to use weston on RHEL10: adoptium/aqa-tests#5883

@judovana
Copy link

Also needed to install xorg-x11-server-Xwayland to pass the tests.

xorg-x11-server-Xwayland is still available to install? And is not dependence of weston? Similarly with jpeg turbo, it was not part of dependence chain?

Thanx a lot for head up @llxia / @pshipton !!!

@pshipton
Copy link
Contributor

@aswinkr77 can you pls answer the questions in #3851 (comment)

@mwornast
Copy link
Contributor

@aswinkr77 Will you list all the display related packages that were installed on the working rhel10 internal hosts?
Also, confirm which hostnames that have run and passed the display tests.

@aswinkr77
Copy link
Contributor

aswinkr77 commented Jan 21, 2025

Hi @judovana,
xorg-x11-server-Xwayland is available to install in Rhel. It is not a dependency of weston. I had to install it separately.
turbojpeg is a part of the dependency chain of weston, it comes from CRB. In our case, since we don't have a rhel 10 beta subscription, I had to download it separately from RedHat Customer Portal.
This is the error we got when trying to install weston without CRB repository:

 Problem: package weston-14.0.1-2.el10_0.x86_64 from epel requires libweston-14.so.0()(64bit), but none of the providers can be installed
  - package weston-14.0.1-2.el10_0.x86_64 from epel requires weston-libs(x86-64) = 14.0.1-2.el10_0, but none of the providers can be installed
  - package weston-libs-14.0.1-2.el10_0.x86_64 from epel requires libneatvnc.so.0()(64bit), but none of the providers can be installed
  - conflicting requests
  - nothing provides libturbojpeg.so.0()(64bit) needed by neatvnc-0.9.0-1.el10_0.x86_64 from epel
  - nothing provides libturbojpeg.so.0(TURBOJPEG_1.0)(64bit) needed by neatvnc-0.9.0-1.el10_0.x86_64 from epel
  - nothing provides libturbojpeg.so.0(TURBOJPEG_1.2)(64bit) needed by neatvnc-0.9.0-1.el10_0.x86_64 from epel

note: error reproduced from CentOS 10 stream container.

@judovana
Copy link

Thank you!

@aswinkr77
Copy link
Contributor

@mwornast
Packages that I installed:

  • turbojpeg
  • weston
  • wayland-utils
  • xorg-x11-server-Xwayland

Display tests are passing on these two:

  • rtj-rhel10aarch64-svl-test-1.svl.ibm.com
  • rtj-rhel10aarch64-svl-test-2.svl.ibm.com

@judovana
Copy link

Hi. Thanx for heads up. No, we had not hit it. We do not relay on xvfb. We use full vms which have theirs "normal" display.

Interesting. So you do have them automatically logging into the UI on boot?

yes. Sorry, I have overlooked this question.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

6 participants