Re: Bug 78372 - create multiple windows with offset

2014-05-09 Thread Pekka Paalanen
On Thu, 08 May 2014 13:13:34 -0700
Bill Spitzak spit...@gmail.com wrote:

 I posted the same patch for the xserver for 6 months to allow it to read 
 a different xorg.conf file. I finally got sick of being ignored and gave 
 up, also recent xwayland can now work on a non-EGL wayland without 
 having a special xorg.conf file, thus fixing it for me. However the 
 underlying bug still exists and I'm sure there will be text that has to 
 be in one xorg.conf file or the other that makes the other server choke. 
 Maybe then somebody will fix it.

Maybe you completely missed it, but the X server part of xwayland was
rewritten almost from scratch. It does not use Xorg anymore at all. No
DDXes. I'm not sure if it even tries to read any config files anymore.

Now, the same source code tree that produces the familar 'Xorg'
program and lots of modules, can also produce a program called
'Xwayland'. That single binary is now probably the only thing you need
from the xserver tree for xwayland to work. See the new xwayland build
instructions.

For hardware accelerated GLX clients you might have to wait a bit more,
but I see that glxgears works just fine - it gets llvmpipe. I didn't
try to enable Glamor at all.

With the very little effort I used, I'm in a state, where I can run
'glxgears' inside Weston, and it just works.

- pq
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: Bug 78372 - create multiple windows with offset

2014-05-09 Thread Pekka Paalanen
On Thu, 08 May 2014 10:52:51 -0700
Bill Spitzak spit...@gmail.com wrote:

 On 05/07/2014 10:54 PM, Pekka Paalanen wrote:
 
  This is similar to session save/restore, lacking a better term for it.
  We do not even pretend to support or enable this yet. It is just yet one
  more feature that the shell protocol suite for desktop should cover,
  but so far no-one has done any work on it AFAIK.
 
  If there is not one already, you are welcome to open a feature request
  bug about application layout save/restore.
 
 But the only practical method I can see is to allow the client to query 
 and set the output and x/y position of any surface directly.

You have just been starting at X11 for too long.

 Possibly you are reading the words save/restore literally, in that you 
 are imagining some blob of data stored in the compositor that is 
 recognized to restore the layout. However this is NOT what is wanted. 

Sure, that's the first thing comes to my mind. Let the client save a
cookie or an encrypted blob, that it can pass back to the server when
it creates the windows again. /handwaving/

When I say that I have not heard anyone working on it, it really means
I do not have nor seen any plan *yet*. It is a complicated issue, which
cannot be designed in an email, and especially not by me.

 Clients must be able to generate a usable layout the first time they are 
 run, they must be able to do something intelligent if the set of windows 
 changes from that in the saved layout, and use a layout from one system 
 on another (including cross-platform), and be able to choose layouts 
 from a list and add the current layout as a new item on the list.

No. With separate windows you simply cannot do that. The client has no
clue whatsoever on e.g. what positions on an output might be ok, what
else is on the screen, or which outputs would be ok to conquer. You
also might be on a tiling compositor, where your expectations simply
totally fail.

Your program would have to be a mind-reader to get the initial layout
right for any user.

Instead, what an application could do, is describe the expectations it
has for its initial window layout, if possible. That is again left up
for the desktop shell protocol suite to develop.

If you want to be in absolute control of the layout (you the app, not
even the user), use a single big window with compartments or something,
maybe per output. If you think that sucks, I would probably agree. But
I still cannot see how you could guess which output to pick for what,
but that's probably just me never using special purpose monitors.

- pq
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: Bug 78372 - create multiple windows with offset

2014-05-09 Thread Daniel Stone
Hi,

On 9 May 2014 08:34, Pekka Paalanen ppaala...@gmail.com wrote:

 On Thu, 08 May 2014 10:52:51 -0700
 Bill Spitzak spit...@gmail.com wrote:
  Possibly you are reading the words save/restore literally, in that you
  are imagining some blob of data stored in the compositor that is
  recognized to restore the layout. However this is NOT what is wanted.

 Sure, that's the first thing comes to my mind. Let the client save a
 cookie or an encrypted blob, that it can pass back to the server when
 it creates the windows again. /handwaving/

 When I say that I have not heard anyone working on it, it really means
 I do not have nor seen any plan *yet*. It is a complicated issue, which
 cannot be designed in an email, and especially not by me.


I wouldn't say it's that much of a handwave: it's actually exactly what we
came up with a couple of years ago when we were talking about session
management and persistent state.  Seemed to be the best option indeed.

But, like you say, no-one's really approached it yet.

Cheers,
Daniel
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: Bug 78372 - create multiple windows with offset

2014-05-09 Thread Bill Spitzak

On 05/09/2014 12:34 AM, Pekka Paalanen wrote:


Possibly you are reading the words save/restore literally, in that you
are imagining some blob of data stored in the compositor that is
recognized to restore the layout. However this is NOT what is wanted.


Sure, that's the first thing comes to my mind. Let the client save a
cookie or an encrypted blob, that it can pass back to the server when
it creates the windows again. /handwaving/


That is what I was worried about. This will not work, as we need layouts 
that work the first time the client is run, that can be used by 
different compositors, and can port to non-Wayland systems.



The client has no
clue whatsoever on e.g. what positions on an output might be ok, what
else is on the screen, or which outputs would be ok to conquer. You
also might be on a tiling compositor, where your expectations simply
totally fail.

Your program would have to be a mind-reader to get the initial layout
right for any user.


I have no problem with the compositor moving the windows from the 
client's expected positions. It is a *HINT*. Clients can probably assume 
that if they reuse the positions from a previous run on the same 
compositor with the same outputs, they will get the same positions. I 
think also they can assume that if a window has a smaller x value than 
another it will be further to the left. That is all I am trying to get.


I think an x/y position in some global space will fulfill these 
requirements and anything more complex is unnecessary and confusing, as 
well as making it impossible to port these positions to other operating 
systems.


I think it is acceptable that the actual client api is output+x+y 
along with another api that says the x+y of the corner of each output 
is this. Then the client can do the conversion from global x/y to 
per-output x/y.

___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: Bug 78372 - create multiple windows with offset

2014-05-08 Thread Jasper St. Pierre
What should happen if the user unplugs monitors, or adds an additional one,
or repositions them? What should be restored where?


On Wed, May 7, 2014 at 4:10 PM, Bill Spitzak spit...@gmail.com wrote:

 Good to see there is an actual bug on this, but I need to ask for our
 exact case:

 Our app can be configured to have 2 (well actually any number) of windows.
 Normally each window is maximized or fullscreen on a different output. User
 expects to be able to rearrange the windows, change their size and whether
 they are fullscreen/maximized, and then do save layout, and later when
 they run the software again or do a load layout they get EXACTLY the same
 arrangement of windows. In particular the windows must not be on different
 outputs than they were previously, they cannot overlap and there must be
 absolutely no way they can be swapped no matter what order the client
 creates them.

 Preserving the exact size and position is less important. In particular I
 have no problem with the compositor moving the windows if they do not fit
 on the current outputs. It is also acceptable for maximized or
 fullscreen to be more important than the size if the output changes size.
 It is nice to not change the size without a good reason however.

 If you want example clients, take a look at Nuke or Maya or 3DStudioMax or
 Photoshop or Blender or virtually every other application in special
 effects or video editing.

 As far as I can tell, Wayland explicitly makes this impossible. Requiring
 a special compositor is not acceptable as we need to run more than one
 piece of software on the same machine simultaneously.

 I would greatly appreciate an answer to this question: is Wayland not
 going to support this, or is there a plan to do so?


 On 05/07/2014 02:51 AM, Rohit Nandan wrote:

 Please go through this NOTABUG bug.


 https://bugs.freedesktop.org/show_bug.cgi?id=78372



 Rohit Nandan


 ___
 wayland-devel mailing list
 wayland-devel@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/wayland-devel

  ___
 wayland-devel mailing list
 wayland-devel@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/wayland-devel




-- 
  Jasper
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: Bug 78372 - create multiple windows with offset

2014-05-08 Thread Bill Spitzak

On 05/07/2014 10:54 PM, Pekka Paalanen wrote:


This is similar to session save/restore, lacking a better term for it.
We do not even pretend to support or enable this yet. It is just yet one
more feature that the shell protocol suite for desktop should cover,
but so far no-one has done any work on it AFAIK.

If there is not one already, you are welcome to open a feature request
bug about application layout save/restore.


But the only practical method I can see is to allow the client to query 
and set the output and x/y position of any surface directly.


For portability it would help if each output was given an x/y in some 
global space so that only a single x/y must be stored (it is ok if the 
client has to translate from global x/y to output + x/y, but there is a 
requirement that the compositor can be queried for these output x/y).


As any such x/y position has been explicitly stated as being disallowed 
by Wayland, I am a bit stumped as to what, if any, solution is being 
imagined.


Possibly you are reading the words save/restore literally, in that you 
are imagining some blob of data stored in the compositor that is 
recognized to restore the layout. However this is NOT what is wanted. 
Clients must be able to generate a usable layout the first time they are 
run, they must be able to do something intelligent if the set of windows 
changes from that in the saved layout, and use a layout from one system 
on another (including cross-platform), and be able to choose layouts 
from a list and add the current layout as a new item on the list.

___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: Bug 78372 - create multiple windows with offset

2014-05-08 Thread Jasper St. Pierre
I don't know how you can have been on the Wayland mailing list for this
long and not grasp core Wayland protocol concepts. Clients cannot get
global surface positions, and it's been that way since day 1 six years ago.
I also have never seen a patch or a line of code from you, ever.

It's incredibly frustrating to talk to you, since you seem to have your own
imagination of what the Wayland protocol is, and what it provides to
clients.

Go and write a simple Wayland client, read the wayland.xml file, do
anything to try to understand the actual Wayland protocol as it exists
today. Until you show that you've made some attempt at properly
understanding the protocol today, I'm going to ignore all messages from
you, since you're just wasting my time otherwise.


On Thu, May 8, 2014 at 1:52 PM, Bill Spitzak spit...@gmail.com wrote:

 On 05/07/2014 10:54 PM, Pekka Paalanen wrote:

  This is similar to session save/restore, lacking a better term for it.
 We do not even pretend to support or enable this yet. It is just yet one
 more feature that the shell protocol suite for desktop should cover,
 but so far no-one has done any work on it AFAIK.

 If there is not one already, you are welcome to open a feature request
 bug about application layout save/restore.


 But the only practical method I can see is to allow the client to query
 and set the output and x/y position of any surface directly.

 For portability it would help if each output was given an x/y in some
 global space so that only a single x/y must be stored (it is ok if the
 client has to translate from global x/y to output + x/y, but there is a
 requirement that the compositor can be queried for these output x/y).

 As any such x/y position has been explicitly stated as being disallowed by
 Wayland, I am a bit stumped as to what, if any, solution is being imagined.

 Possibly you are reading the words save/restore literally, in that you
 are imagining some blob of data stored in the compositor that is recognized
 to restore the layout. However this is NOT what is wanted. Clients must be
 able to generate a usable layout the first time they are run, they must be
 able to do something intelligent if the set of windows changes from that in
 the saved layout, and use a layout from one system on another (including
 cross-platform), and be able to choose layouts from a list and add the
 current layout as a new item on the list.

 ___
 wayland-devel mailing list
 wayland-devel@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/wayland-devel




-- 
  Jasper
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: Bug 78372 - create multiple windows with offset

2014-05-08 Thread Bill Spitzak

On 05/08/2014 11:31 AM, Jasper St. Pierre wrote:

I don't know how you can have been on the Wayland mailing list for this
long and not grasp core Wayland protocol concepts. Clients cannot get
global surface positions, and it's been that way since day 1 six years
ago.


Yes I know that. I said EXACTLY that in my email:

 As any such x/y position has been explicitly stated as being
 disallowed by Wayland...

Maybe my email is hard to read. I have a SIMPLE question:

Can you supply a vague idea on how you imagine a client can control 
it's window layout without adding an x/y position to the api.


Unless there is an answer to this question I see no reason to make a 
feature request that, as far as I can tell, is impossible to fulfill.



I also have never seen a patch or a line of code from you, ever.


I posted the same patch for the xserver for 6 months to allow it to read 
a different xorg.conf file. I finally got sick of being ignored and gave 
up, also recent xwayland can now work on a non-EGL wayland without 
having a special xorg.conf file, thus fixing it for me. However the 
underlying bug still exists and I'm sure there will be text that has to 
be in one xorg.conf file or the other that makes the other server choke. 
Maybe then somebody will fix it.


I would love to work on Wayland, but until I can be confident that I am 
compiling and running it correctly there is little I can do. I have 
posted questions about whether anybody else is seeing the rendering 
errors in X clients, and whether EGL clients should work on a non-EGL 
backend, but have not gotten any response, despite the fact that I am 
only interested in trivial yes/no answers.

___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: Bug 78372 - create multiple windows with offset

2014-05-08 Thread Jasper St. Pierre
On Thu, May 8, 2014 at 4:13 PM, Bill Spitzak spit...@gmail.com wrote:

 On 05/08/2014 11:31 AM, Jasper St. Pierre wrote:

 I don't know how you can have been on the Wayland mailing list for this
 long and not grasp core Wayland protocol concepts. Clients cannot get
 global surface positions, and it's been that way since day 1 six years
 ago.


 Yes I know that. I said EXACTLY that in my email:


  As any such x/y position has been explicitly stated as being
  disallowed by Wayland...

 Maybe my email is hard to read. I have a SIMPLE question:

 Can you supply a vague idea on how you imagine a client can control it's
 window layout without adding an x/y position to the api.


Clients should simply not attempt their window layout. There's a lot of
issues, like hotpluggable outputs, that make it difficult for a client to
do.


 Unless there is an answer to this question I see no reason to make a
 feature request that, as far as I can tell, is impossible to fulfill.


  I also have never seen a patch or a line of code from you, ever.


 I posted the same patch for the xserver for 6 months to allow it to read a
 different xorg.conf file. I finally got sick of being ignored and gave up,
 also recent xwayland can now work on a non-EGL wayland without having a
 special xorg.conf file, thus fixing it for me. However the underlying bug
 still exists and I'm sure there will be text that has to be in one
 xorg.conf file or the other that makes the other server choke. Maybe then
 somebody will fix it.


xorg.conf is outdated, and really shouldn't be used in production. It's
been replaced by /etc/xorg.conf.d. Xwayland shouldn't require *any*
configuration. At all. If we need to configure Xwayland somewhere, we've
messed up. If you're still having issues getting Xwayland up and running,
you can email the list for support, or ask on the IRC channel.

Keep in mind that `Xorg -config` and `Xorg -configdir` have existed for
some time now, so I'm not exactly sure what your patch did.

I would love to work on Wayland, but until I can be confident that I am
 compiling and running it correctly there is little I can do. I have posted
 questions about whether anybody else is seeing the rendering errors in X
 clients, and whether EGL clients should work on a non-EGL backend, but have
 not gotten any response, despite the fact that I am only interested in
 trivial yes/no answers.


I haven't seen any rendering errors in X clients, but there's a lot of
variables there. More feedback on what you're seeing, with what drivers,
and on what hardware would be appreciated.

EGL clients can theoretically work on a non-EGL backend for certain cases
where we can poke under the hood of the FOSS stack, but neither Weston nor
mutter do that.

-- 
  Jasper
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel


Bug 78372 - create multiple windows with offset

2014-05-07 Thread Rohit Nandan
Please go through this NOTABUG bug.


https://bugs.freedesktop.org/show_bug.cgi?id=78372



Rohit Nandan
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: Bug 78372 - create multiple windows with offset

2014-05-07 Thread Jasper St. Pierre
The rationale explained in the bug by Pekka and Emilio sounds OK to me.
Explaining a bit more about your use case with your data visualization app
might be helpful.

What kinds of systems do you want your app to be run on? Generic desktop
systems? If so, then you can't guarantee anything about utilizing hardware
overlays, as the user might be watching a video at the same time, which
should take HW overlay priority over your application to prevent a YUV -
RGB conversion in software.

If you have a special usecase like a Bloomberg terminal, then making your
own shell and shell protocol like the IVI team is doing might be a better
solution, so you can guarantee window position and HW utilization. The
default desktop-shell is very much designed for desktop Linux use cases,
where we don't want to expose global window positions or make any
guarantees to the client about where they are on screen, precisely so you
don't assume you are the only user of the HW.


On Wed, May 7, 2014 at 5:51 AM, Rohit Nandan pulkitnan...@gmail.com wrote:

 Please go through this NOTABUG bug.


 https://bugs.freedesktop.org/show_bug.cgi?id=78372



 Rohit Nandan

 ___
 wayland-devel mailing list
 wayland-devel@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/wayland-devel




-- 
  Jasper
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: Bug 78372 - create multiple windows with offset

2014-05-07 Thread Rohit Nandan
Yes i'm working for embedded platform where with current desktop shell we
cant debug two overlays visually running same apps with same size.

Thanks You .

Rohit Nandan



On Wed, May 7, 2014 at 6:49 PM, Jasper St. Pierre jstpie...@mecheye.netwrote:

 The rationale explained in the bug by Pekka and Emilio sounds OK to me.
 Explaining a bit more about your use case with your data visualization app
 might be helpful.

 What kinds of systems do you want your app to be run on? Generic desktop
 systems? If so, then you can't guarantee anything about utilizing hardware
 overlays, as the user might be watching a video at the same time, which
 should take HW overlay priority over your application to prevent a YUV -
 RGB conversion in software.

 If you have a special usecase like a Bloomberg terminal, then making your
 own shell and shell protocol like the IVI team is doing might be a better
 solution, so you can guarantee window position and HW utilization. The
 default desktop-shell is very much designed for desktop Linux use cases,
 where we don't want to expose global window positions or make any
 guarantees to the client about where they are on screen, precisely so you
 don't assume you are the only user of the HW.


 On Wed, May 7, 2014 at 5:51 AM, Rohit Nandan pulkitnan...@gmail.comwrote:

 Please go through this NOTABUG bug.


 https://bugs.freedesktop.org/show_bug.cgi?id=78372



 Rohit Nandan

 ___
 wayland-devel mailing list
 wayland-devel@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/wayland-devel




 --
   Jasper

___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: Bug 78372 - create multiple windows with offset

2014-05-07 Thread Pekka Paalanen
On Wed, 07 May 2014 13:10:31 -0700
Bill Spitzak spit...@gmail.com wrote:

 Good to see there is an actual bug on this, but I need to ask for our 
 exact case:

No, there is not. The bug report was not a valid bug, and is now closed.

 Our app can be configured to have 2 (well actually any number) of 
 windows. Normally each window is maximized or fullscreen on a different 
 output. User expects to be able to rearrange the windows, change their 
 size and whether they are fullscreen/maximized, and then do save 
 layout, and later when they run the software again or do a load 
 layout they get EXACTLY the same arrangement of windows. In particular 
 the windows must not be on different outputs than they were previously, 
 they cannot overlap and there must be absolutely no way they can be 
 swapped no matter what order the client creates them.

This is similar to session save/restore, lacking a better term for it.
We do not even pretend to support or enable this yet. It is just yet one
more feature that the shell protocol suite for desktop should cover,
but so far no-one has done any work on it AFAIK.

If there is not one already, you are welcome to open a feature request
bug about application layout save/restore.


Thanks,
pq
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel