[Accessibility] Accessibility Conference January 27, 2005 - Xserver and Remote Access

john goldthwaite jgoldthwaite at yahoo.com
Wed Feb 16 14:54:53 PST 2005

Accessibility Conference January 27, 2005  - Xserver
and Remote Access

Xserver Basics

Remote access issues:
 Remote audio

Presently using x for Gnome enlargement. Relying on
xserver for accessibility.  This include damage,
xfixes, XEvIE for keyboard events, will be using
Composite for the magnification.  Will discuss
Composite in Magnification session this afternoon.
Bill- propose that we take Damage and Xfixes into the
standards wholesale.  We would need to include them
the test suite.
Peter- those a small so shouldn’t be a problem.
Keith-  we expect xfixes to grow in future.  We should
take xfixes at a particular version. Damage is not
going to change so we can take current
Bill – what is the best version of xfixes- 2.0?	
Keith- yes, 2.0  we will add some small changes to
xfixes.  It is adding fixes to xserver that are
difficult to add to the client.  Content tracking is
one, that may be useful for accessibility.  You can
see who the current owner of the clipboard is.   If we
need other changes for accessibility, we can make it
in xfixes.

Peter- the 
Cursor tracking( pixel location) and a semantic
identifier for cursor for its intent.  
Keith- Provides region and xxx
Peter- when a third party like Mozilla puts up a hand
you want to know it rather than having to do a look up
in hash table.
Keith- xcursor isn’t ready for standardization, it has
a lot of horrible bugs.
Bill- is it good enough for what we want.
Keith- we can require a functionality, rather than a
particular version of xcursor
Problem the disk file for cursors take a huge amount
of space.  Want group working on icon standardization
to add cursors to what they are doing.    XEvIE is
being looking glass group at SUN and has other needs
that what I want it to do.  
Peter- we need it for multiple things, XEvIE was to
get the keystroke before anyone to circumvent the
GrapKey problem,
Bill- need to see if the layer you need to intercept
is the same one as the one we need.
Keith- the mouse is the harder problem, concerned that
Looking Glass solution is not going to be usable. 
They are moving cursor movement out of xserver into
the application.  They keep telling me they can’t do
it another way.  I don’t like sharing how the X
protocol works to an external app.

Keith- as far as Composite, don’t see it needing
changes.  Composite is a simple extensions.  In old
world, all graphics went straight to the screen with
no intermediate process.  Replacing with a compositing
manager so you can pass pixel to some one.  If you
split so that every child of the rootmap is in its own
window.  This allows you do some eye candy to windows.
 Looking glass and Croquette use it to put images into
a three D environment.  With Composite, can run them
through filters…
Keith- Composite is in version 0.7 but is good shape. 
It is in release 6.8.0 and beyond.
Peter- it makes sense to have AT using it before we
standardize it.  
Keith- It does put some x capabilities in the
application so we have questions about performance. 
Nothing like it has been implemented before so we have
questions about how well it work.

Proposal – we take DAMAGE and XFIXES as they are into
the standard.
Xcursor- is too new to be looking at, we want to have
AT using it before we standardize on it.

Bill- need to ask what implications xserver has for
accessibility.  Some have talked about access without
xserver.  My have problems with things like looking
glass which will have multiple coordinate systems.  
Keith- 2D apps should run in X.   Things like Looking
Glass make accessibility more difficult.  2D are the
way things people for people with visual impairment.
Peter- some basic research needed on how to handle 3D,
Keith- doing that at HP labs.  Another problem is
input devices, you can’t dynamically add devices.
Bill- how about hardware devices, we have xinput
Keith- Xinput isn’t as bad as it seems, its protocol
will allow adding devices but the current
implementation does not do it.  USB has persistent
naming but there are none for input devices.   The
devices you most want names for are those which don’t
Bill- topological doesn’t work, you can only use Mouse
for the mouse even if you have four devices.
Keith- we expect to fix this in months rather than

Peter- Randy Marsden has proposed an extension to add
Switches to USB.  Now we are having to treat them as a
mouse.  Each switch is called Mouse.
The other thing is that the USB head trackers are
$1000.  There are others which are cheap but they
require software that only runs on Windows.

Olaf- at Unix access conference we had some using xx
with different resolutions.  If they wish to move to
another area of the screen and it was hard to go
Keith- you don’t have to change the resolution
anymore- done at the native screen solution.

Remote Access-
Peter- there two classes of access problem, one is a
remote session, other have speaker on my desktop but
the process owning the speaker is remote.
Bill- use case; a number of situation.  1, remote
session where everything is running remote LTSP case. 

Keith- LTSP is moving to a more dynamic world where
they push computation on to the client.  Shielding
browser improves performance, they’re cpu pigs.  LTSP
is moving to a multi-host.  It
Bill- we are getting bug reports – ssh to another
host, it doesn’t show up in your accessibility list. 
Discovery tied to host,  model has a notion of a
display and that is what is shared.  If I’m changing
time, cant do it because have to be root.
Jonathan- when you login its using anonymous sockets.
Keith- that’s ties into a project I’m doing where we
are sharing two monitors with many people.
Bill- notion that Display = session is not future
proof.  Significant convention detail here to make it
work with DBUS.
Peter- 1.0 that is Corba based would not support ssh?
Bill- we’re talking about activation and discovery and
we aren’t saying anything about them yet.  Perhaps we
will know about dBUS to move to a DBUS activation and
discovery mechanism in time to the 1.0 spec.  CORBA
can talk to remote devices
Olaf- what happened to ICE
Keith- has discovery problem, it has no name service. 
Also has security problems, need to add encryption. 
For remote\

Keith- I recommend that never fun remote over the
network, recommends always using ssh.  We want to
standardize on ssh port forwarding (for X, DBUS,

Bill- other than magnification, what are the areas you
think we need changes in xserver.
Keith- issue of image filtering ( changing colors on
an application ).
Peter- are there any access implication of the render
Keith- it makes changes in colors for anti-aliasing; 
Fonts are now outside of the xserver, its entirely
inside the application.
Peter- we’ve been it at the toolkit level
Bill- do we have enough info from the font service to
get letter location
Keith- it will return the outline so you have pixel
location and alias info.  There is a problem with
Pango- it is doing things to handle international
Peter- the AT has to get the information from
application and it has to get it from Pango.
Keith- the information is there, you just have to get
the pointers to them

Peter- remote audio- want audio from another location
blended with the local audio.
Keith- couple of new technologies, lots of network
audio application with problem.  Most expect beeps and
have latency problems.  Two important APIs JACK and
JACK allows way to connect multiple servers. ALSA will
do automatically do mixing.
Mark- libALSA only works on Linux.  Look at JACK as an
API which sits on top of ALSA.  JACK designed by audio
people so it for live mixing.
Bill- its great but the API is pretty hairy.
Peter- what are you thoughts on MAS
Keith- its another audio API that nobody supports. 
Does a good job of moving audio over the network have
suggested they use other API on top of MAS.
Bill- esd
Keith – esd and ARTS can run on top of libALSA very
well.  They don’t make any latency guarantees so that
does cause problem for protocol.
Jonathan-  ALSA could be the native Linux way of
Peter- need to deal with console screen access.  If I
have console and a GUI session.  If we have an
important audio message, can we connect it to console?
Mark- the issues are more identifying the various
audio streams and doing selective things with them.
Keith- JACK should be able handle that.  Lib ALSA
Mark- it doesn’t work on imbedded devices or ARM.

Samuel- we also need to forward Braille streams too,
where is the Braille display.
Bill- there are also problems with serial devices.

Bill- were proponents of putting everything on the
Keith -n

Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

More information about the Accessibility mailing list