Re: Window placement

2014-07-03 Thread Pekka Paalanen
On Wed, 2 Jul 2014 20:57:47 +0200
Fabrice Rey faboune...@gmail.com wrote:

   Why does it not have a parent window, if it is a normal application?
 There is only 1 window in this application; there is no menu or whatever.
 The circular menu is just its name, it's not even a menu. It's an
 application that owns a surface to display stuff on it, and has to place
 this surface centered on the mouse.
 
  Sounds like it is not a normal application but a component of the DE,
 Nope, it's a regular application that can work on any Window Manager
 currently, and should be able to work on any Compositor as well.

No, your video of the thing proves, that it really is a DE component,
see my other reply today.

   It sounds more like a DE feature.
 As I said to Bill, there is currently such an application, and it's not
 linked to Gnome/KDE/any-DE. Really it shouldn't, we need to have
 compositor-agnostic applications. If KDE apps start to not work under
 Gnome, we're in a serious trouble.

That thing is not a normal desktop application. It is only an artefact
of the unsecurity and lack of policy of the X11 protocol, that you can
actually write such generic but global can-do-whatever apps. The X11
server is really a slave to all the clients. A Wayland server is not.

The whole premise you are assuming here is not what we have in mind for
Wayland. I explain that in my other email.


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


Re: Window placement

2014-07-03 Thread Pekka Paalanen
On Wed, 2 Jul 2014 16:16:36 -0700
Jason Gerecke killert...@gmail.com wrote:

 On Wed, Jul 2, 2014 at 3:33 PM, Fabrice Rey faboune...@gmail.com wrote:
  The question is: what action triggers it to make this ring of icons
  appear?
  A global shortkey (and yes I know it's not yet possible on Wayland, that's
  another problem on its own).
 
  What's the application doing? Does it have keyboard focus but is
  potentially not under the mouse pointer? Do you have a screenshot or video
  of this feature you can share?
  I'm not the developper of it, I actually don't even use it ^^ I was just
  thinking of it to see how it would fit in Wayland, what's potentially
  missing now in the protocol.
  Here is an article about it:
  http://www.webupd8.org/2011/10/gnome-pie-02-released.html and a video:
  https://www.youtube.com/watch?v=TFQDyZyMxO4.
  Basically, it appears under the mouse when you trigger the shortkey, and you
  can also use the keyboard to navigate in the items.
  So I see 2 main points here:
  - it places its window not relatively to a parent (which there is not), but
  to the mouse
  - it takes the (keyboard) focus when it appears
  The second point is not related to this topic, so we can probably think of
  it later.
 
 
 
 
 This reminds me of a something similar[1] that comes with the Wacom
 drivers on Windows and Mac. Its not a normal application that you
 would open, interact with, (possibly switch away from temporarily),
 and close. Rather, the application sits in the background and waits
 for some button/mouse/hotkey to be pressed before spawning a window
 under the mouse that you interact with for only a moment before
 returning to your original task.

Right, though on a quick glimpse on that video without really
understanding what's going on there, the circular menu seems more like
belonging to the image processing application.

Fabrice's example OTOH is obviously a DE component, as it is a
launcher, window control, and stuff.

 I do not mean to put words into Pekka's mouth, but I believe what he
 means when saying that things like this are a DE-component he's
 speaking conceptually more than anything else. Alternative menu
 systems like this and desklets essentially exist to augment the
 desktop itself. Just because they can be written in a DE-agnostic
 manner and run on GNOME, KDE, or TWM (all hail xeyes?) doesn't change
 that. They have fundamentally different needs than the average
 application, and -- at least as far as I understand Wayland -- it
 makes sense to leave some of these things up to the desktops to
 define.

Quite right. Defining a generic protocol (designed from above, a
little like the core Wayland protocol has been done) for adding DE
components like pagers, task bars, launcher systems, window management
thingies, desklets, etc. is so far an explicit non-goal.

On Wayland, desktop environments are intended to be much more tightly
integrated than on X11. We are not planning to intentionally design
support for custom desktop environment arrangements where you pick the
window manager from here, pager from there, a 3rd party task bar, and
then a few desklets all from different other DEs. Yes, you can say it is
a loss for the people who like to build their own DE from various
pieces (I'm one of them, but mostly just because I can't bother
learning anything else). However, it should be a great win in
freedom of design, stability and usablity for the seriously developed
DEs used by the masses.

Every DE has its own thing for DE components already. Inventing yet
another way that doesn't really fit well for any DE and forcing
everyone to support that is not a good plan. Some components in some
DEs could be not programs but plugins, some may talk via dbus rather
than the display protocol, and so on.

Instead, we are trying to allow DEs to define their own interfaces for
these DE components, and if there actually emerges some common
interfaces that could be standardised, then we can look into it.
One hope is, that one DE starts to use a public interface for some DE
components, some other DE finds it good and starts using it too, and so
it slowly becomes a standard. Note, that nothing requires the
standard protocol to be part of the display (Wayland) protocol.

Unfortunately such organic, cooperative protocol design does not really
work for the core protocol that all applications will depend on, and
that's why we have and are centrally designing the Wayland core
protocols and xdg_shell. We cannot really test much without a stable
core protocol, and we cannot be sure the core protocol is good until it
is put into serious use; we also have already been bitten by this
chicken-and-egg problem.


Thanks,
pq

 [1]: https://www.youtube.com/watch?v=McJMnMJydes
 
 Jason
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH V2] Do not assume 64x64 cursor, added support for other sizes (like in AMD Kaveri, 128x128).

2014-07-03 Thread Ander Conselvan de Oliveira

On 06/25/2014 05:09 PM, Alvaro Fernando García wrote:

Init cursor size to 64x64 if drmGetCap() fails.

Use Mesa GBM_BO_USE_CURSOR define (which removes 64x64 restriction)

Signed-off-by: Alvaro Fernando García alvarofernandogar...@gmail.com
---
  src/compositor-drm.c | 43 ---
  1 file changed, 36 insertions(+), 7 deletions(-)

diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index 7d514e4..61ddea1 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -55,6 +55,14 @@
  #define DRM_CAP_TIMESTAMP_MONOTONIC 0x6
  #endif

+#ifndef DRM_CAP_CURSOR_WIDTH
+#define DRM_CAP_CURSOR_WIDTH 0x8
+#endif
+
+#ifndef DRM_CAP_CURSOR_HEIGHT
+#define DRM_CAP_CURSOR_HEIGHT 0x9
+#endif
+
  static int option_current_mode = 0;

  enum output_config {


[...]



@@ -1554,15 +1577,21 @@ drm_output_init_egl(struct drm_output *output, struct 
drm_compositor *ec)
return -1;
}

-   flags = GBM_BO_USE_CURSOR_64X64 | GBM_BO_USE_WRITE;
+#ifdef GBM_BO_USE_CURSOR
+   flags = GBM_BO_USE_CURSOR | GBM_BO_USE_WRITE;
+#else
+   flags = GBM_BO_USE_WRITE;
+   if (ec-cursor_width == 64  ec-cursor_height == 64)
+   flags = GBM_BO_USE_CURSOR_64X64 | flags;
+#endif


Do we really need this? GBM_BO_USE_CURSOR has the same value as the old 
_64X64 flag. GBM will check if the dimensions are 64x64 and fail 
otherwise. So this could just be


flags = GBM_BO_USE_CURSOR | GBM_BO_USE_WRITE;

and a

#ifndef GBM_BO_USE_CURSOR
#define GBM_BO_USE_CURSOR GBM_BO_USE_CURSOR_64X64
#endif

earlier in the file.


Cheers,
Ander



for (i = 0; i  2; i++) {
if (output-cursor_bo[i])
continue;

output-cursor_bo[i] =
-   gbm_bo_create(ec-gbm, 64, 64, GBM_FORMAT_ARGB,
- flags);
+   gbm_bo_create(ec-gbm, ec-cursor_width, 
ec-cursor_height,
+   GBM_FORMAT_ARGB, flags);
}

if (output-cursor_bo[0] == NULL || output-cursor_bo[1] == NULL) {



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


Re: [Mesa-dev] [PATCH v3 0/3] Software rendering in EGL-DRM

2014-07-03 Thread Pekka Paalanen
On Thu, 3 Jul 2014 14:15:34 +0200
Boris BREZILLON boris.brezil...@free-electrons.com wrote:

 On Thu, 3 Jul 2014 13:49:06 +0300
 Pekka Paalanen ppaala...@gmail.com wrote:
 
  On Thu, 3 Jul 2014 12:10:36 +0200
  Boris BREZILLON boris.brezil...@free-electrons.com wrote:
  
   On Thu, 3 Jul 2014 12:24:44 +0300
   Pekka Paalanen ppaala...@gmail.com wrote:
Weston's overlay planes code however totally depends on EGL to provide
hw-capable buffers from clients. A software renderer support in EGL-DRM
won't help in that.
   
   Okay, if I understand correctly, this means I'll have to implement an
   atmel-hlcdc_dri.so module (as suggested by Giovanni), right ?
  
  Well, uhh, I suppose...
  
  That means you need to get clients actually rendering into hw-capable
  buffers, so that usually means having a GL(ES) rendering working on
  EGL Wayland platform, too.
  
  Or, clients could use something like libva(?) to fill the buffers and
  use Mesa's internal wl_drm protocol to pass those to the compositor. If
  the compositor is able to initialize EGL_WL_bind_wayland_display
  extension, then with Mesa, the clients will have wl_drm available.
  Still probably requires working GLESv2 rendering for the EGL DRM/GBM
  platform, because the pixman renderer cannot handle anything else than
  wl_shm buffers.
  
  Or, you migh hack Weston to copy pixels from wl_shm buffers into dumb
  buffers, and put those into overlays (err, did dumb buffers support
  going on overlays, or were they primary plane only?). But if you have
  like less than 10 overlays in hw, that might be a net lose in
  performance.
 
 I have, at most, 3 overlays (it depends on the HLCDC IP version), so
 this might be an acceptable solution.
 
 ITOH, I'd like to keep the implementation as clean as possible in order
 to be able to base future work on offical weston versions (and tell me
 if I'm wrong, but I'm not sure the proposed solution can ever make it to
 the official weston version).
 
  
  Or, you might go wild and have a hack on my hacky zlinux_dmabuf support
  in weston:
  http://cgit.collabora.com/git/user/pq/weston.git/log/?h=dmabuf-WIP
  It is missing pixman-renderer integration, and the test client is
  intel-only, but if you hack around those, you can have clients filling
  dmabufs, sending those to Weston, and Weston using GBM to import them
  to put them on overlays via DRM - unless the scenegraph forces them to
  go through pixman-renderer in which case you are in a slight pickle.
  
 
 That sounds interesting!
 I'll take a closer look at it.

Note, that the protocol there does not address the problem of
compatibility at all, and the implementation does not even advertise any
pixel formats. It is all based on luck and clairvoyance, that the client
just happens to create exactly the right kind of dmabufs that the
compositor can use. If you fail that, the client gets kicked or you
get a mess on the screen. Obviously not upstreamable material. ;-)

  Warning: that weston branch may get rewritten or deleted without notice.
  
  I guess the take-away from this is that DRM overlay planes have not
  really been considered for use with server nor client software rendering
  in Weston.
 
 Yes, I kinda realize that know.
 
 My main goal here is to provide a video player demo application where
 the primary plane (or an overlay plane) is used to display video player
 controls (play, pause, ...) and another plane is used to display video
 content (using gstreamer or any other alternative).
 
 This needs to be done using overlays in order to get acceptable
 performances (avoid software rendering for plane composition), and
 thus should use drm overlay planes.

Oh, a video player! How do you get the video frames? Do you have
hardware decoding? Can you perhaps decode straight into dmabufs? If
yes, then you could use zlinux_dmabuf to throw those video frames to
Weston zero-copy. Then the tricky part is to make Weston cope with those
video frame buffers, as if they even attempt to go through the
pixman-renderer, Weston will... hm, not sure what it does, but it won't
work. So you have to somehow guarantee, that the surface which those
buffers are targeting will *always* be assigned to an overlay.

That may be a fair amount of hacking. Good luck! :-)


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


Re: [Mesa-dev] [PATCH v3 0/3] Software rendering in EGL-DRM

2014-07-03 Thread Boris BREZILLON
On Thu, 3 Jul 2014 15:46:14 +0300
Pekka Paalanen ppaala...@gmail.com wrote:

 On Thu, 3 Jul 2014 14:15:34 +0200
 Boris BREZILLON boris.brezil...@free-electrons.com wrote:
 
  On Thu, 3 Jul 2014 13:49:06 +0300
  Pekka Paalanen ppaala...@gmail.com wrote:
  
   On Thu, 3 Jul 2014 12:10:36 +0200
   Boris BREZILLON boris.brezil...@free-electrons.com wrote:
   
On Thu, 3 Jul 2014 12:24:44 +0300
Pekka Paalanen ppaala...@gmail.com wrote:
 Weston's overlay planes code however totally depends on EGL to provide
 hw-capable buffers from clients. A software renderer support in 
 EGL-DRM
 won't help in that.

Okay, if I understand correctly, this means I'll have to implement an
atmel-hlcdc_dri.so module (as suggested by Giovanni), right ?
   
   Well, uhh, I suppose...
   
   That means you need to get clients actually rendering into hw-capable
   buffers, so that usually means having a GL(ES) rendering working on
   EGL Wayland platform, too.
   
   Or, clients could use something like libva(?) to fill the buffers and
   use Mesa's internal wl_drm protocol to pass those to the compositor. If
   the compositor is able to initialize EGL_WL_bind_wayland_display
   extension, then with Mesa, the clients will have wl_drm available.
   Still probably requires working GLESv2 rendering for the EGL DRM/GBM
   platform, because the pixman renderer cannot handle anything else than
   wl_shm buffers.
   
   Or, you migh hack Weston to copy pixels from wl_shm buffers into dumb
   buffers, and put those into overlays (err, did dumb buffers support
   going on overlays, or were they primary plane only?). But if you have
   like less than 10 overlays in hw, that might be a net lose in
   performance.
  
  I have, at most, 3 overlays (it depends on the HLCDC IP version), so
  this might be an acceptable solution.
  
  ITOH, I'd like to keep the implementation as clean as possible in order
  to be able to base future work on offical weston versions (and tell me
  if I'm wrong, but I'm not sure the proposed solution can ever make it to
  the official weston version).
  
   
   Or, you might go wild and have a hack on my hacky zlinux_dmabuf support
   in weston:
   http://cgit.collabora.com/git/user/pq/weston.git/log/?h=dmabuf-WIP
   It is missing pixman-renderer integration, and the test client is
   intel-only, but if you hack around those, you can have clients filling
   dmabufs, sending those to Weston, and Weston using GBM to import them
   to put them on overlays via DRM - unless the scenegraph forces them to
   go through pixman-renderer in which case you are in a slight pickle.
   
  
  That sounds interesting!
  I'll take a closer look at it.
 
 Note, that the protocol there does not address the problem of
 compatibility at all, and the implementation does not even advertise any
 pixel formats. It is all based on luck and clairvoyance, that the client
 just happens to create exactly the right kind of dmabufs that the
 compositor can use. If you fail that, the client gets kicked or you
 get a mess on the screen. Obviously not upstreamable material. ;-)
 
   Warning: that weston branch may get rewritten or deleted without notice.
   
   I guess the take-away from this is that DRM overlay planes have not
   really been considered for use with server nor client software rendering
   in Weston.
  
  Yes, I kinda realize that know.
  
  My main goal here is to provide a video player demo application where
  the primary plane (or an overlay plane) is used to display video player
  controls (play, pause, ...) and another plane is used to display video
  content (using gstreamer or any other alternative).
  
  This needs to be done using overlays in order to get acceptable
  performances (avoid software rendering for plane composition), and
  thus should use drm overlay planes.
 
 Oh, a video player! How do you get the video frames? Do you have
 hardware decoding? Can you perhaps decode straight into dmabufs? If
 yes, then you could use zlinux_dmabuf to throw those video frames to
 Weston zero-copy. Then the tricky part is to make Weston cope with those
 video frame buffers, as if they even attempt to go through the
 pixman-renderer, Weston will... hm, not sure what it does, but it won't
 work. So you have to somehow guarantee, that the surface which those
 buffers are targeting will *always* be assigned to an overlay.

Some SoCs have an HW decoder and yes I had dmabuf in mind to provide
zero copy from video decoder to DRM device ;-).

But I'm not even sure this video decoder is supported in mainline and
I'd like to get software decoding working first :-).

 
 That may be a fair amount of hacking. Good luck! :-)

Yes that's what I'm realizing now. I thought the kernel driver would
be the most complicated part, but now that I'm working on user space
support I'd say developing the driver was quite easy :-).

Thanks for your support.

Boris

-- 
Boris Brezillon, Free Electrons
Embedded Linux and Kernel 

Re: [Mesa-dev] OpenGL on Wayland

2014-07-03 Thread Kalrish Bäakjen
On Wed, Jul 2, 2014 at 6:37 PM, Thomas Daede daede...@umn.edu wrote:

 What Mesa version are you using? IIRC OpenGL 3.3 is only supported in
 llvmpipe in mesa 10.3 and newer. Using MESA_GL_VERISON_OVERRIDE just fakes
 the version string, it doesn't change what functions you can actually link
 to.

 Also, that also means for compatibility reasons you might want to request
 a slightly older OpenGL version, unless you actually use functions provided
 in OpenGL 3.3 that don't exist in an older version?


I'm using a built package of Mesa git from here[1]. I hadn't noticed what
you state, because my program is still almost nothing (although it uses
shaders with the #version 330 core directive, is it normal that they
compile fine?). As for your advice, my program will need OpenGL 3.2 or 3.3
in the future, and it's unlikely that r200 will support it by then :), so I
need the extension.

FWIW, I have filed a bug report with the 'enhancement' tag, which is hosted
here[2].

1: http://pkgbuild.com/~lcarlier/mesa-git/
2: https://bugs.freedesktop.org/show_bug.cgi?id=80821
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel


problems in compiling wayland

2014-07-03 Thread pplive
Dear all,

I try to build wayland/weston on Ubuntu 14.04 , just following this article

http://wayland.freedesktop.org/ubuntu12.04.html (as i cannot find a
14.04-based tip)

It went well, but when i tried to build weston, it was stopped by the
following message:

  CC   src/weston-compositor.o
src/compositor.c: In function ‘surface_set_buffer_transform’:
src/compositor.c:2160:4: error: ‘WL_SURFACE_ERROR_INVALID_TRANSFORM’
undeclared (first use in this function)
WL_SURFACE_ERROR_INVALID_TRANSFORM,
^
src/compositor.c:2160:4: note: each undeclared identifier is reported
only once for each function it appears in
src/compositor.c: In function ‘surface_set_buffer_scale’:
src/compositor.c:2179:4: error: ‘WL_SURFACE_ERROR_INVALID_SCALE’
undeclared (first use in this function)
WL_SURFACE_ERROR_INVALID_SCALE,
^
make[1]: *** [src/weston-compositor.o] Error 1
make[1]: Leaving directory `/home/yeung/weston'
make: *** [all] Error 2

Can someone tell me how to solve it? Thanks so much!

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


Re: problems in compiling wayland

2014-07-03 Thread Jason Ekstrand
Weston master requires wayland master.  The
WL_SURFACE_ERROR_INVALID_TRANSFORM enum was added after wayland 1.5  You
need to make sure you build libwayland from git master and then make sure
that weston is building against your custom-built libwayland.
--Jason Ekstrand


On Thu, Jul 3, 2014 at 12:11 PM, pplive p2pne...@gmail.com wrote:

 Dear all,

 I try to build wayland/weston on Ubuntu 14.04 , just following this article

 http://wayland.freedesktop.org/ubuntu12.04.html (as i cannot find a
 14.04-based tip)

 It went well, but when i tried to build weston, it was stopped by the
 following message:

   CC   src/weston-compositor.o
 src/compositor.c: In function ‘surface_set_buffer_transform’:
 src/compositor.c:2160:4: error: ‘WL_SURFACE_ERROR_INVALID_TRANSFORM’
 undeclared (first use in this function)
 WL_SURFACE_ERROR_INVALID_TRANSFORM,
 ^
 src/compositor.c:2160:4: note: each undeclared identifier is reported
 only once for each function it appears in
 src/compositor.c: In function ‘surface_set_buffer_scale’:
 src/compositor.c:2179:4: error: ‘WL_SURFACE_ERROR_INVALID_SCALE’
 undeclared (first use in this function)
 WL_SURFACE_ERROR_INVALID_SCALE,
 ^
 make[1]: *** [src/weston-compositor.o] Error 1
 make[1]: Leaving directory `/home/yeung/weston'
 make: *** [all] Error 2

 Can someone tell me how to solve it? Thanks so much!

 Best regards,
 Alex
 ___
 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


Re: Window placement

2014-07-03 Thread Fabrice Rey
 They have fundamentally different needs than the average
application
Well yes, I'm very aware they are, but when you say DE-component, I see a
huge PITA for the developpers who would want to add such features in the
desktop.
Now, I wouldn't mind some sort of EWMH-like extensions, however, if a
developper has to first focus a DE, make a new extension for it, make it
accepted in the DE code-base, and then build its app, it's dead from the
beginning.
So our last hope would be that a DE really exposes a third-party-friendly
interface and that others follow... Ubuntu did with their Launcher API,
indicators API, etc, and it didn't spread very much.

I think if Weston implements an interface it will have a chance though, so
I'll still try to push some other ideas on this ML ;-)


2014-07-03 9:03 GMT+02:00 Pekka Paalanen ppaala...@gmail.com:

 On Wed, 2 Jul 2014 16:16:36 -0700
 Jason Gerecke killert...@gmail.com wrote:

  On Wed, Jul 2, 2014 at 3:33 PM, Fabrice Rey faboune...@gmail.com
 wrote:
   The question is: what action triggers it to make this ring of icons
   appear?
   A global shortkey (and yes I know it's not yet possible on Wayland,
 that's
   another problem on its own).
  
   What's the application doing? Does it have keyboard focus but is
   potentially not under the mouse pointer? Do you have a screenshot or
 video
   of this feature you can share?
   I'm not the developper of it, I actually don't even use it ^^ I was
 just
   thinking of it to see how it would fit in Wayland, what's potentially
   missing now in the protocol.
   Here is an article about it:
   http://www.webupd8.org/2011/10/gnome-pie-02-released.html and a video:
   https://www.youtube.com/watch?v=TFQDyZyMxO4.
   Basically, it appears under the mouse when you trigger the shortkey,
 and you
   can also use the keyboard to navigate in the items.
   So I see 2 main points here:
   - it places its window not relatively to a parent (which there is
 not), but
   to the mouse
   - it takes the (keyboard) focus when it appears
   The second point is not related to this topic, so we can probably
 think of
   it later.
  
  
  
 
  This reminds me of a something similar[1] that comes with the Wacom
  drivers on Windows and Mac. Its not a normal application that you
  would open, interact with, (possibly switch away from temporarily),
  and close. Rather, the application sits in the background and waits
  for some button/mouse/hotkey to be pressed before spawning a window
  under the mouse that you interact with for only a moment before
  returning to your original task.

 Right, though on a quick glimpse on that video without really
 understanding what's going on there, the circular menu seems more like
 belonging to the image processing application.

 Fabrice's example OTOH is obviously a DE component, as it is a
 launcher, window control, and stuff.

  I do not mean to put words into Pekka's mouth, but I believe what he
  means when saying that things like this are a DE-component he's
  speaking conceptually more than anything else. Alternative menu
  systems like this and desklets essentially exist to augment the
  desktop itself. Just because they can be written in a DE-agnostic
  manner and run on GNOME, KDE, or TWM (all hail xeyes?) doesn't change
  that. They have fundamentally different needs than the average
  application, and -- at least as far as I understand Wayland -- it
  makes sense to leave some of these things up to the desktops to
  define.

 Quite right. Defining a generic protocol (designed from above, a
 little like the core Wayland protocol has been done) for adding DE
 components like pagers, task bars, launcher systems, window management
 thingies, desklets, etc. is so far an explicit non-goal.

 On Wayland, desktop environments are intended to be much more tightly
 integrated than on X11. We are not planning to intentionally design
 support for custom desktop environment arrangements where you pick the
 window manager from here, pager from there, a 3rd party task bar, and
 then a few desklets all from different other DEs. Yes, you can say it is
 a loss for the people who like to build their own DE from various
 pieces (I'm one of them, but mostly just because I can't bother
 learning anything else). However, it should be a great win in
 freedom of design, stability and usablity for the seriously developed
 DEs used by the masses.

 Every DE has its own thing for DE components already. Inventing yet
 another way that doesn't really fit well for any DE and forcing
 everyone to support that is not a good plan. Some components in some
 DEs could be not programs but plugins, some may talk via dbus rather
 than the display protocol, and so on.

 Instead, we are trying to allow DEs to define their own interfaces for
 these DE components, and if there actually emerges some common
 interfaces that could be standardised, then we can look into it.
 One hope is, that one DE starts to use a public interface for some DE
 

Global shortkeys and keyboard focus

2014-07-03 Thread Fabrice Rey
Hi all,
This topic came up in my previous one about window placement, and I'd like
to go further.
So currently there is no such thing as Global shortkeys and keyboard focus,
however let me present a typical real use-case:

I have a dock which is most of the time hidden (because a window is
overlaps it) and some applets inside. Using the keyboard is therefore a
very convenient a fast way to access the items inside.
For instance, ctrl+F1 pops the Applications Menu, which has a text entry
inside; the entry takes the focus so I can immediately type some letters,
and the menu will only display the relative applications.
Down arrow + Enter let select the desired one if it's not already on the
first row.

I could also pop up the translation dialog with another shortkey,
immediately type the word I want to translate, press Enter, and see the
result.

Now, I've read some vague things about privileged clients, is it still
being considered ?
Would it be some Android-like capabilities that the user validates on
installation or the first time they are required by the application ?
What are the plans for these 2 key features ?
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: problems in compiling wayland

2014-07-03 Thread Bill Spitzak
It sounds like he did build wayland first. For some reason weston is not 
seeing the new wayland installation.


Make sure make install was done in wayland, and that both are using 
the same --prefix in configure.


On 07/03/2014 12:25 PM, Jason Ekstrand wrote:

Weston master requires wayland master.  The
WL_SURFACE_ERROR_INVALID_TRANSFORM enum was added after wayland 1.5  You
need to make sure you build libwayland from git master and then make
sure that weston is building against your custom-built libwayland.
--Jason Ekstrand


On Thu, Jul 3, 2014 at 12:11 PM, pplive p2pne...@gmail.com
mailto:p2pne...@gmail.com wrote:

Dear all,

I try to build wayland/weston on Ubuntu 14.04 , just following this
article

http://wayland.freedesktop.org/ubuntu12.04.html (as i cannot find a
14.04-based tip)

It went well, but when i tried to build weston, it was stopped by the
following message:

   CC   src/weston-compositor.o
src/compositor.c: In function ‘surface_set_buffer_transform’:
src/compositor.c:2160:4: error: ‘WL_SURFACE_ERROR_INVALID_TRANSFORM’
undeclared (first use in this function)
 WL_SURFACE_ERROR_INVALID_TRANSFORM,
 ^
src/compositor.c:2160:4: note: each undeclared identifier is reported
only once for each function it appears in
src/compositor.c: In function ‘surface_set_buffer_scale’:
src/compositor.c:2179:4: error: ‘WL_SURFACE_ERROR_INVALID_SCALE’
undeclared (first use in this function)
 WL_SURFACE_ERROR_INVALID_SCALE,
 ^
make[1]: *** [src/weston-compositor.o] Error 1
make[1]: Leaving directory `/home/yeung/weston'
make: *** [all] Error 2

Can someone tell me how to solve it? Thanks so much!

Best regards,
Alex
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
mailto: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


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


Re: [PATCH V2] Do not assume 64x64 cursor, added support for other sizes (like in AMD Kaveri, 128x128).

2014-07-03 Thread Michel Dänzer
On 03.07.2014 21:27, Ander Conselvan de Oliveira wrote:
 On 06/25/2014 05:09 PM, Alvaro Fernando García wrote:
 Init cursor size to 64x64 if drmGetCap() fails.

 Use Mesa GBM_BO_USE_CURSOR define (which removes 64x64 restriction)

 Signed-off-by: Alvaro Fernando García alvarofernandogar...@gmail.com
 ---
   src/compositor-drm.c | 43 ---
   1 file changed, 36 insertions(+), 7 deletions(-)

 diff --git a/src/compositor-drm.c b/src/compositor-drm.c
 index 7d514e4..61ddea1 100644
 --- a/src/compositor-drm.c
 +++ b/src/compositor-drm.c
 @@ -55,6 +55,14 @@
   #define DRM_CAP_TIMESTAMP_MONOTONIC 0x6
   #endif

 +#ifndef DRM_CAP_CURSOR_WIDTH
 +#define DRM_CAP_CURSOR_WIDTH 0x8
 +#endif
 +
 +#ifndef DRM_CAP_CURSOR_HEIGHT
 +#define DRM_CAP_CURSOR_HEIGHT 0x9
 +#endif
 +
   static int option_current_mode = 0;

   enum output_config {
 
 [...]
 

 @@ -1554,15 +1577,21 @@ drm_output_init_egl(struct drm_output *output,
 struct drm_compositor *ec)
   return -1;
   }

 -flags = GBM_BO_USE_CURSOR_64X64 | GBM_BO_USE_WRITE;
 +#ifdef GBM_BO_USE_CURSOR
 +flags = GBM_BO_USE_CURSOR | GBM_BO_USE_WRITE;
 +#else
 +flags = GBM_BO_USE_WRITE;
 +if (ec-cursor_width == 64  ec-cursor_height == 64)
 +flags = GBM_BO_USE_CURSOR_64X64 | flags;
 +#endif
 
 Do we really need this? GBM_BO_USE_CURSOR has the same value as the old
 _64X64 flag. GBM will check if the dimensions are 64x64 and fail
 otherwise.

No, that check was removed when adding GBM_BO_USE_CURSOR.


 So this could just be
 
 flags = GBM_BO_USE_CURSOR | GBM_BO_USE_WRITE;
 
 and a
 
 #ifndef GBM_BO_USE_CURSOR
 #define GBM_BO_USE_CURSOR GBM_BO_USE_CURSOR_64X64
 #endif
 
 earlier in the file.

No, if GBM doesn't define GBM_BO_USE_CURSOR, it will likely fail if the
dimensions are not 64x64.

(I realize that whether or not GBM_BO_USE_CURSOR is defined doesn't
directly say anything about the runtime behaviour, but in practice this
should be good enough)


-- 
Earthling Michel Dänzer|  http://www.amd.com
Libre software enthusiast  |Mesa and X developer
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel


When weston opens a device, why does it use two file descriptors?

2014-07-03 Thread Wang, Quanxian
Hi,

When I start weston in drm backend, I have found weston opens the every device 
with two fds. I am a little confused by that.
For example, for keyboard device /dev/input/event5, in device_added, it will 
open the device. Found it returns fd 34, however fd 35 is also used by this 
operation(from the below information). Anyone knows why?

Weston process number is 668.

root:/quanxian ls -l /proc/668/fd
lrwx--. 1 root root 64 Jul  3 19:53 0 - /dev/pts/0
lrwx--. 1 root root 64 Jul  3 19:53 1 - /dev/pts/0
lrwx--. 1 root root 64 Jul  3 19:53 13 - /dev/dri/card0
lrwx--. 1 root root 64 Jul  3 19:53 14 - /dev/dri/card0
lrwx--. 1 root root 64 Jul  3 19:53 15 - socket:[17763]
lrwx--. 1 root root 64 Jul  3 19:53 16 - socket:[17763]
lrwx--. 1 root root 64 Jul  3 19:53 17 - socket:[17764]
lrwx--. 1 root root 64 Jul  3 19:53 18 - socket:[17764]
lrwx--. 1 root root 64 Jul  3 19:53 22 - /dev/input/event3
lrwx--. 1 root root 64 Jul  3 19:53 23 - /dev/input/event3
lrwx--. 1 root root 64 Jul  3 19:53 24 - /dev/input/event0
lrwx--. 1 root root 64 Jul  3 19:53 25 - /dev/input/event0
lrwx--. 1 root root 64 Jul  3 19:53 26 - /dev/input/event1
lrwx--. 1 root root 64 Jul  3 19:53 27 - /dev/input/event1
lrwx--. 1 root root 64 Jul  3 19:53 28 - /dev/input/event7
lrwx--. 1 root root 64 Jul  3 19:53 29 - /dev/input/event7
lrwx--. 1 root root 64 Jul  3 19:53 30 - /dev/input/event8
lrwx--. 1 root root 64 Jul  3 19:53 31 - /dev/input/event8
lrwx--. 1 root root 64 Jul  3 19:53 32 - /dev/input/event4
lrwx--. 1 root root 64 Jul  3 19:53 33 - /dev/input/event4
lrwx--. 1 root root 64 Jul  3 19:53 34 - /dev/input/event5
lrwx--. 1 root root 64 Jul  3 19:53 35 - /dev/input/event5
lrwx--. 1 root root 64 Jul  3 19:53 36 - /dev/input/event6
lrwx--. 1 root root 64 Jul  3 19:53 37 - /dev/input/event6

Thanks

Regards

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