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 clients not displayed unless something else is running #328

Closed
AlanGriffiths opened this issue Apr 17, 2018 · 1 comment
Closed
Assignees
Labels

Comments

@AlanGriffiths
Copy link
Collaborator

AlanGriffiths commented Apr 17, 2018

Extracted from canonical/mir-kiosk#5 (more discussion and scenarios there).

Run Mir from ssh into test system:

ssh(1)
$ sudo --preserve-env miral-shell --vt 4 --arw-file
ssh(2)
$ sudo --preserve-env WAYLAND_DEBUG=1 Xwayland -wr :1
ssh(3)
$ sudo DISPLAY=:1 xeyes
Expect: xeyes appears
Actual: nothing appears


Running an additional program seems to fix this. E.g.
$ mir_demo_client_multiwin& sudo --preserve-env WAYLAND_DEBUG=1 Xwayland -wr :1

This suggests there's a problem getting the compositor to use the first buffer which should result in a frame notification back to the Xwayland client.

@AlanGriffiths
Copy link
Collaborator Author

@gerboland I think I understand the problem: The surface is being added to the scene but the scene's observer doesn't see a buffer posted.

The reason:

  1. the buffer is posted;
  2. the surface created; and,
  3. only then, the observer is added.

(That sequence is something we enabled recently.)

The reason having another app around helps is that the z-order change triggers compositing. I just have to figure out the right twisty little function to fix.

bors bot added a commit that referenced this issue Apr 17, 2018
329: Notify the compositor of surfaces that have content before they are added to the scene. r=wmww a=AlanGriffiths

Both Wayland and Mir clients can provide content when creating a window, we need draw them before another buffer is submitted.  (Fixes #328)

Co-authored-by: Alan Griffiths <alan.griffiths@canonical.com>
bors bot added a commit that referenced this issue Apr 18, 2018
329: Notify the compositor of surfaces that have content before they are added to the scene. r=gerboland,wmww a=AlanGriffiths

Both Wayland and Mir clients can provide content when creating a window, we need draw them before another buffer is submitted.  (Fixes #328)

Co-authored-by: Alan Griffiths <alan.griffiths@canonical.com>
Co-authored-by: Alan Griffiths <alan@octopull.co.uk>
@bors bors bot closed this as completed in #329 Apr 18, 2018
wmww pushed a commit that referenced this issue Apr 19, 2018
329: Notify the compositor of surfaces that have content before they are added to the scene. r=gerboland,wmww a=AlanGriffiths

Both Wayland and Mir clients can provide content when creating a window, we need draw them before another buffer is submitted.  (Fixes #328)

Co-authored-by: Alan Griffiths <alan.griffiths@canonical.com>
Co-authored-by: Alan Griffiths <alan@octopull.co.uk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant