|
|
 |
 |
 |
 |
MPX merge coming up |
 |
 |
 |
 |
 |
 |
 |
 |
Submitted by peter on Monday, May 12, 2008 - 09:47 |
MPX updates |
 |
 |
The MPX merge has been announced.
http://lists.freedesktop.org/archives/xorg/2008-May/035225.html
After over two years of development, MPX will be merged into master in the
week following the 25th of May.
Any yays and nays need to be expressed ASAP.
=== Stability ===
I'm using it on my laptop and on my box at home. Most of the recent patches
were cleanups, and I haven't had any issues with it.
With the most recent patch to HW-render the cursor, I cannot tell the
difference between master and mpx.
== Schedule ==
daniel is working on an xkb cleanup right now. mpx will be merged into this
xkb cleanup, and the combination will be merged into master.
xkb-mpx merge to happen in the week of the 19th to 25th, drop onto master
after testing.
This includes changes to x11proto, xextproto, inputproto, libXi, libX11,
libXext, xinput, and xserver.
I also need to get a simple patch into libxcb. This must be done first, w/o
the libxcb patch I cannot merge.
== Changes and possible issues ==
If you only ever use one cursor and one keyboard focus, you should not notice
any differences. If you do, please file a bug.
The story is different for multiple input devices. Now, as far as I can tell
this is the first time ever anyone has had native support for multiple
independent input devices on the GUI. So a number of basic UI-paradigms just
curl up and weep when you start juggling three mice and four keyboards.
I spent a lot of time trying to make the server behave well, even if the
application doesn't support multiple input devices. But, nothing is perfect
and there are some cases where the behaviour may seem weird. These behaviours
however should be deterministic and thus you can get used to them until the
applications are fixed up and actually support XI.
One thing that will get lost for the time being is support for tablets. Magnus
is working on that, and it may be in mpx before the merge happens.
== XI v2.0 ==
Due to the changes in server behaviour, XI will be bumped to v2.0. XI 1 is
still supported, albeit the server does some tricks here to not screw up your
settings.
Any comments - please put them forward NOW before it is too late!
|
 |
 |
 |
 |
 |
 |
 |
 |
HW rendered cursors are back. |
 |
 |
 |
 |
 |
 |
 |
 |
Submitted by peter on Wednesday, May 7, 2008 - 13:58 |
MPX updates |
 |
 |
Pushed a simple but quite important fix yesterday.
As you may know, cursors are rendered in HW these days. One benefit of this is that the cursor doesn't flicker when it is moved around. Another one is that the cursor is responsive even when the computer is under load. (This has to do with the server implementation, not with the hardware. HW cursors are updated during SIGIO handling, not during event processing, hence the responsiveness)
Unfortunately, current hardware can't render arbitrary numbers of cursors, and although anholt claims that he has ideas of how to render two cursors in HW, I understand we'll be stuck with SW rendering for a while (cursors, DRI works nonetheless). SW cursors are bad, since they can be laggy. I've been using it for a while at home, and it can be quite annoying.
The solution: MPX now switches between HW and SW rendering. As long as we have only a single cursor, we use HW rendering. When the second cursor is created, the server switches to SW cursors, and then back again to HW when only one cursor is left.
The side-effect: I could now drop MPX onto your machine and you wouldn't even notice that it's there until you start creating new devices. Yay.
|
 |
 |
 |
 |
 |
 |
 |
 |
GIMP support is back... |
 |
 |
 |
 |
 |
 |
 |
 |
Submitted by peter on Monday, April 28, 2008 - 15:18 |
MPX updates |
 |
 |
Well, that's just one of the changes, but the most visible one.
In the past, the GIMP didn't work. Simply because the new device semantics state that if you grab an attached slave device, it will be detached and set to floating automatically until you ungrab again. Now, the GIMP always grabbed all extension devices, leaving you with nothing to actually control the cursor.
So, one of the changes I did over the last weekend was to get some versioning support into XI. The previous one was weak, as it didn't allow the client to tell the server what it supported. A new XQueryInputVersion() call in libXi can do that now, unless this call is issued we assume that the client supports XI v1.x.
For those clients that only support 1.x, we don't return the full device list but rather only the virtual core pointer, the virtual core keyboard and finally all floating extension devices. This essentially resembles a XI setup pre-MPX. As a result, the GIMP only tries to open extension devices that are already floating, leaving you with the ability to control your cursor normally.
This isn't a perfect solution, as some other semantics change too but it works alright so far.
Other than that, it was mainly cleanup. Including the transition of libXi to docbook xml based manpages, which should make it easier to actually write manpages now.
To update, pull inputproto, libXi and xserver.
|
 |
 |
 |
 |
|
 |
 |
 |
 |
Browse archives |
 |
 |
 |
 |
 |
 |
 |
 |
« May 2008
| |
|
|
1 |
2 |
3 |
4 |
| 5 |
6 |
7 |
8 |
9 |
10 |
11 |
| 12 |
13 |
14 |
15 |
16 |
17 |
18 |
| 19 |
20 |
21 |
22 |
23 |
24 |
25 |
| 26 |
27 |
28 |
29 |
30 |
31 |
|
|
 |
 |
 |
 |
|