x11/GLX/GL on top of wayland

2014-07-04 Thread Sylvain BERTRAND
Hi,

I quickly saw that there is a effort to put xorg on wayland, which
is the correct migration path.
My concern is, it seems, to be limited to basic x11.
What about xorg/GLX/GL on top of wayland?

regards,

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


Re: x11/GLX/GL on top of wayland

2014-07-04 Thread Sylvain BERTRAND
On Fri, Jul 04, 2014 at 03:14:43PM +0200, Kalrish Bäakjen wrote:
 If I have understood you correctly, GLX (the means for setting up an OpenGL
 context under X) will interact with the XWayland instance, which will then,
 in turn, interact with the Wayland compositor, giving it the image rendered
 by its client. So, AFAIK, legacy applications that use GLX should work fine
 with XWayland - unless, of course, they use X-specific paths.
 
 Was that what you were referring to?

Yes. But legacy apps could use X-specific paths since then would see only x11.
I'm takling about a full xorg/GLX/GL driver stack on wayland. The
driver would not be an hardware driver... but a wayland
compositor driver. My guess is the current implementation gives
basic x11 support. I was wondering about a full GLX/GL stack as
well. 
Coze steam is arriving on gnu/linux hardcore, and that with many closed
source games which will be sticking, probably, to x11/GLX/xorg.
(Open source games or closed source games using open source
middleware will be able to do a native wayland switch though).

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


Re: x11/GLX/GL on top of wayland

2014-07-04 Thread Sylvain BERTRAND
On Fri, Jul 04, 2014 at 09:48:20AM -0400, Jasper St. Pierre wrote:
 Xwayland has DRI3/Present support, which means that any app that uses DRI3
 will work fine under it. Right now, this is the Intel driver, with support
 for the other FOSS drivers coming soon.
 
 Otherwise, we fall back to non-hardware-accelerated codepaths. It won't
 break, but it will mean that you won't get hardware-accelerated rendering.

This is good news.

I need just a bit more of your lights on the matter: the wayland dri3 driver is
intel specific. You mean that it needs hw specific paths? The
mapping of xorg/glx/GL calls into wayland/egl/gl must inclue hw
specifities?

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


Re: x11/GLX/GL on top of wayland

2014-07-04 Thread Sylvain BERTRAND
On Fri, Jul 04, 2014 at 10:31:53AM -0400, Jasper St. Pierre wrote:
 It's at a lower level than translating GLX to EGL. The client renders into
 specific card-buffers given its hardware-specific drivers inside mesa, and
 then passes a handle to those buffers to what it thinks is the X server
 using the DRI3 protocol. Xwayland can in turn pass those buffers to the
 real Wayland compositor using the secret wl_drm interface.
 
 I'm told that the nouveau and radeon drivers now have support for DRI3 as
 of last week.

Ok then. I guess I'll dig in dri3/wayland support in mesa.

Good news to know that the migration path from x11/GLX/GL to
wayland/EGL/GL is nearly there!

best regards,

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


Re: [libinput] AC_PROG_CXX missing in libinput/configure.ac

2014-03-31 Thread Sylvain BERTRAND
On Mon, Mar 31, 2014 at 08:08:32AM +1000, Peter Hutterer wrote:
 note that the only binary that needs a C++ compiler is the C++ build test.
 the library itself only needs a C compiler.

A good thing, would be to compile the lib with tinycc and/or
open64 to kind of be sure it's not hard dependent on gcc.

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


Re: [libinput] AC_PROG_CXX missing in libinput/configure.ac

2014-03-29 Thread Sylvain BERTRAND
On Sat, Mar 29, 2014 at 06:59:12PM +0100, Jonas Ådahl wrote:
 Yes, for now at least.

Sad.

But till there is no crazy code generator, it should be easy
to write a makefile/shell script to by-pass the autotools and
build the lib.
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [libinput] AC_PROG_CXX missing in libinput/configure.ac

2014-03-29 Thread Sylvain BERTRAND
On Sat, Mar 29, 2014 at 02:44:13PM +0100, Jonas Ådahl wrote:
 Ah, thats unfortunate. I pushed a commit that unconditionally invokes
 A_PROG_CXX now. Thanks for the report.

Does it mean a c++ compiler is now mandatory in any case?

regards,

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


Re: surface buffer cardinality and outputs

2013-03-18 Thread Sylvain BERTRAND
On Mon, Mar 18, 2013 at 03:55:03AM +0100, Sylvain BERTRAND wrote:
 But I'm still kind of uncomfortable to hand over to the
 compositor scaling in the case of fullscreen and buffer transform
 in the case of output tilting (renaming transform to tilting
 would not be a bad idea).

Oops! Of course, if the output is tilted, the compositor must
tilt the scanned out part of the buffer itself. The client knowns
its surface is scanned out on a tilted output. In the case the
surface spans over several outputs, it is in charge to find the
best tradeoff to configure its rendering for all outputs, and
that in one buffer.

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


Re: [RFC] add a shutdown event

2013-03-17 Thread Sylvain BERTRAND
On Sun, Mar 17, 2013 at 11:32:21PM +0100, Hardening wrote:
 This patch adds a shutdow event so that clients can be notified
 when the compositor is about to exit (and potentially kill its
 child processes). 
 This patch is based on gh next.

Is the socket disconnect not enough information for the clients?

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


Re: surface buffer cardinality and outputs

2013-03-17 Thread Sylvain BERTRAND
Hi again,

I put some more thoughts in those issues.

A client knows on which outputs its surfaces span over. Then the
client is in charge of configuring its rendering to find the best
trade off, but with one buffer. If the surface was entered on 2
outputs with really different DPIs... well it should configure
its rendering based on the average of output DPIs? The user would
move/resize the surface on one output if he wants to get a GUI
rendered properly again.

For the double buffered flow and very long page flips that could
be induced for a surface spanning over several outputs... well
too bad for the surface and the client.

Regarding a discret vs continuous compositor space. If we accept
the previous tradeoffs, a dynamic continuous compositor space is
fine.

But I'm still kind of uncomfortable to hand over to the
compositor scaling in the case of fullscreen and buffer transform
in the case of output tilting (renaming transform to tilting
would not be a bad idea).

Another though which targets sub-surface interfaces: are the
hardware overlays for YUV buffers that more energy efficient than
GPU scaling/color space conversion since most the energy would be
burned into the video decoding anyway?

thanks.

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


Re: surface buffer cardinality and outputs

2013-03-14 Thread Sylvain BERTRAND
It seems there is also an issue with the double buffered flow,
namely to make it work cleanly in a the case of a surface
spanning several outputs, those of course not in sync and with
different refresh rates. Better not be in a hurry to do a page
flip on a surface which covers several outputs.

On Thu, Mar 14, 2013 at 06:01:10PM +0100, John Kåre Alsaker wrote:
...
 Anyway I do prefer the one workspace per output approach where you
 can't see these race issues at all :)

I do agree, then:

The idea of a discret 2D dynamic matrix of stacks of outputs
instead of a continous compositor space is, in my opinon, a model
closer to what we would see in the reality. I picture a 2D
matrix with slots. Pointer navigation over this matrix of slots
should be quite straight forward. Clone use case: in a slot you
would have a stack of outputs, but one master and all the others
degraded clones, namely scaled copies of the master. The clients
would only care of rendering in the master output of a slot. The
compositor would take in charge the copy/scaling of the master to
the clones since the compositor would be granted scaling powers
in that case. Then clones do not exist for the clients.

As we agreed before and for what was said about that matter, a
surface would belong to and be rendered on one output only
(master of a slot in the 2D matrix). The pointer navigation would
need a motion that would be enhanced with the slot information
since we aren't anymore in a continuous compositor space.
Additionnaly, a client should be able to target a specific
slot/master output for surface creation, or let a compositor
policy decides the slot/master output then be told about it. The
shell part/decorations of the surface should be able to detect a
drag which crosses a slot/master output boundary and then should
do the jump to the new slot/master output, if it wants to.

All that means a massive refurbishment of the protocol in many
areas.

A last note on fullscreen scaling. Scaling, in that case, targets
master output/slot which should not be handed to the compositor
and rendered only by the clients (using hardware or not).

Thanks.

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


surface buffer cardinality and outputs

2013-03-13 Thread Sylvain BERTRAND
Hi,

The protocol does allow several outputs in the compositor space
but does not allow a client to render a surface based on output
properties (dpi,subpixel,frame buffer pixel format...) since
you can attach only one buffer to a surface.

If wayland wants to give a client the ability to render its
surfaces in regards of the properties of the outputs, the
protocol should be modified to take into account that a client
may have to render a surface differently for each output. It may
have a don't care about output properties mode which would
force the use of one buffer for all outputs.

On the other hand, if wayland does not want to let the client
render a buffer specific to the properties of each output, the
output object should not expose any of its properties to clients.
In another words, to give the subpixel format of an output to
client and not supporting rendering per output would be
inconsistent.

How does we cleanly fix this, or did I miss something?

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


Re: surface buffer cardinality and outputs

2013-03-13 Thread Sylvain BERTRAND
Well, if a toolkit wants to render the same GUI on outputs of
differents properties (those properties significant for actual
rendering), they will have to render several times, no other
choice to do things properly.

The other option would be to ignore those output properties, and
the compositor would manage something with an output agnostic
buffer.  In that case, we would remove the subpixel property from
the output to stay consistent (mode is used for shell surface
fullscreen).

Your proposal is middle ground: a set of buffers, and some
heuristics applied on their properties to combine those in the
compositor space. For simplicity, I dare to think one buffer for
one output is quite clear cut and easier to deal with.

Of course, there is also the brutal way: output becomes a
singleton, keeps its properties to let the toolkit render
properly (hopefully that would be significant), namely we would
drop support of several outputs.

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