Re: vmwgfx

2011-05-14 Thread Doug Schaefer
On Sat, May 14, 2011 at 3:53 AM, Christian Hergert
 wrote:
> On Fri, May 13, 2011 at 9:29 PM, Christopher Friedt
>  wrote:
>> On Sat, May 14, 2011 at 12:28 AM, Christopher Friedt
>>  wrote:
>>> In my opinion, it makes a lot of sense, but I have no idea if any of
>>> the vmware graphics drivers are open, which is a bit of a hinderance.
>>
>> I should say, if they're _not_ open, then it's a bit of a hinderance.
>
> Hi,
>
> The guest side of the code is open-source and available on
> freedesktop.org git. I haven't tried wayland on it yet, but I have
> gotten Gnome 3 with Mutter working with it. So I would imagine that is
> a large portion of the way there, if not already. (I don't work on
> that code at VMware, so I'm afraid I can't provide any better
> information).

I played with this a bit. I was able to compile libdrm and mesa for
the vmwgfx DRM driver and was able to get a simple glxgears running on
it. That was with the gallium EGL driver. I wasn't able to get Wayland
compiled for the same configuration and gave up on it. I may try later
when things stop churning in mesa for Wayland.

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


Experiments with Windows 7 window management

2011-05-14 Thread William Swanson
Many people have strong opinions about client side window decorations.
I would like to introduce some facts. Specifically, how does Windows
7, a widely-used desktop OS with client-side decorations, handle
things?

Unresponsive applications:
I created a test program with a "crash" button and a standard border.
Pushing the button puts the application into an infinite loop. Once
this happens, the border becomes unresponsive to move and resize
actions. The window will not come to the foreground in response to
clicks, alt-tabbing, or taskbar switching. The context menu on the
taskbar button still works, although the close button has no immediate
effect. The OS detects the crashed state after about two seconds, and
places "(Not Responding)" in the window's title bar. The OS then greys
out the window contents once the user attempts any further
interactions. This zombie window responds to move and raise events,
but not resize attempts. Clicking the close button brings up the
force-quit dialog.

Slow applications:
I created a second test program to simulate slow response times. The
program sleeps for 20ms each time it receives a message, which adds up
quickly under the talkative win32 API. Dragging the title bar causes
the window position to change somewhere between 1-10 times per second,
depending on how far I move the mouse. Moving the mouse farther causes
the window to update more slowly. Resizing is even slower, taking
between 1-2 seconds per update. Expanding the window leaves unpainted
background clearly visible for about 3/4 second during updates. Even
so, there was enough visual feedback to move and resize the window to
within a few pixels of an on-screen target.

Debugged applications:
Halting a program in the debugger causes it to freeze in the same way
as a crashed application. The window does not come to the foreground,
and the border does not react to move and resize attempts. On the
other hand, the window "snaps" to its new position once the debugger
releases it. This is surprising. It seems like the OS is queuing drag
events for the window, even when those events involve moving outside
the window rectangle.

Consistency:
My Windows box currently has nine open applications based on at least
five different toolkits (XUL, native Win32, WPF, SWT, and GTK). All
but one (the Songbird media player) use the system-standard window
borders. One application (Firefox) modifies the standard border with
its own widgets. Another application (Visual Studio) has a floating
toolbox with a non-standard border.

API:
It only takes two steps to add a border to a window. First,
applications must pass the correct flags to the CreateWindow function,
such as WS_BORDER or WS_CAPTION. Secondly, applications must forward
unhanded window messages to the DefWindowProc function. That's it; the
client-side user32.dll library handles all the drawing and user
interaction. Applications are free to respond to message such as
WM_SIZE and WM_CLOSE, but doing so is not necessary. The DefWindowProc
provides default implementations for messages like these. The ease of
applying the standard border could explain its high level of
consistent usage.

Conclusion:
Hopefully these experiments throw some light into the client-side
window decoration discussions. I am not saying that Windows is right
or wrong; I am simply illustrating how it deals with some of the
issues mentioned on the mailing list. Lots of people use Windows every
day, so its approach can't be _too_ fundamentally broken.

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


Re: Wayland Window Management Proposal

2011-05-14 Thread maledetto
The only *generally acceptable* way to manage lags in communication I
see is that the server *fades-out* the window in question to signal that
the client is unresponsive and waits for it to respond in a time before
the kill-dialog appears. This is a good standard that doesn't need
hacks or special effects and doesn't paint nonsense on screen.

On the other hand, some apps always lag behind and probably should be
allowed to do so if they are very important to the user. The question
is how. Possibly this could be *configured* via a special effect-plugin
that manages single or all windows different to the default setting.
This is like *theme'ing* those problematic issues ;) At least it allows
the server to follow a strict default mode without forbidding the user
to decide differently...

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


Re: vmwgfx

2011-05-14 Thread Christian Hergert
On Fri, May 13, 2011 at 9:29 PM, Christopher Friedt
 wrote:
> On Sat, May 14, 2011 at 12:28 AM, Christopher Friedt
>  wrote:
>> In my opinion, it makes a lot of sense, but I have no idea if any of
>> the vmware graphics drivers are open, which is a bit of a hinderance.
>
> I should say, if they're _not_ open, then it's a bit of a hinderance.

Hi,

The guest side of the code is open-source and available on
freedesktop.org git. I haven't tried wayland on it yet, but I have
gotten Gnome 3 with Mutter working with it. So I would imagine that is
a large portion of the way there, if not already. (I don't work on
that code at VMware, so I'm afraid I can't provide any better
information).

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