[LWN Logo]

Date: Wed, 3 Mar 1999 21:24:39 -0700
From: Elizabeth Coolbaugh <cool@rdnzl.eklektix.com>
To: Linux Weekly News <lwn@rdnzl.eklektix.com>
Subject: XFree86 notes

For this talk, I was unfortunately unable to get to the first twenty
minutes.  This was particularly bad, because attendance was so high
that people were standing and spilling out into the hall.  Having
verified that even if I could get into the room, I couldn't see the
slides and I couldn't hear, I took advantage of some knowledge gleaned 
from being a speaker and snuck around through the back door, sitting
behind the stage curtains, so that I was able to hear Dirk Hohndel
speak even if I couldn't see the slides.

My view of the talk, therefore, may be biased based on the missing
twenty minutes or the lack of visual aids.  I thought of buying one of 
the audio tapes of the talk, but it wasn't available yet when I
checked and I'd have to go back to the hotel to the rental car to
play it ...

>From what I heard, the major goal of the XFree86 4.0 upcoming release
was not new features, though they may be in there.  The major goal was 
to radically redesign XFree86 for two purposes:

        1) to support features that would encourage vendors to
        produce their own open source drivers for release in
        parallel with drivers for windows

        2) to make XFree86 more enjoyable to work with, decreasing
        the massive spin-up cycle required to deal with the current
        105 million lines of code.  

The last was new to me.  They are having problems finding developers.
There is a mistaken impression out that their code development is
closed.  This is not correct.  If you are interested in working with
XFree86, you need to contact them and tell them what you'd like to do, 
but they'll be happy to bring you into the team.  They have about 470
developers on their lists, but due to the arcane nature of the code
and the investment required to learn it well enough to contribute,
less than 10% of the developers are actually providing new code.
The new design of XFree86 should decrease the required investment and
perhaps re-kindle enthusiasm and bring them some new developers.

On the issue of features to encourage vendors to develop drivers for
hardware, the motivation for that is fairly easy to understand.  New
hardware comes out on such a rapid release schedule that it is hard
for them to stay motivated to produce drivers for the newer cards.  A
board comes out and it may be three months until a driver is
available.  At that point, newer hardware is already being released,
so your driver will be appreciated, but won't actually reduce the
flood of people demanding drivers, since they will already be wanting
drivers for newer cards.  The only way to fix this is to get vendors
to produce the drivers.  To encourage them, you can compile a small
module following their published API that can be compiled and then
integrated into the X server without requiring a rebuild of the
actual X server.  Of course, this encourages both vendors and
developers.  Anything that keeps you from waiting around while
millions of lines of code are compiling ...

There are some other features that he mentioned and there are probably 
more listed out on their web site, but I won't go look right now.
They will be providing an easy ability for end-users to switch
performance modes.  They'll be providing support for multiple heads
with a single desktop, even across non-identical video cards.  They
will be exposing more of the hardware features past the Xserver so
that applications can take advantage of them if they wish.

What are their plans for the future?  Right now, they want to get 4.0
out.  He hopes to have an XFree86 4.0 tutorial at the LinuxWorld in
August.  

Questions from the audience?

[from here to the end, it is written like a transcription.  However,
it is *not* verbatim, I can't type that fast!  Deviation from what
the speaker said is definitely possible.]

What about drivers for non-Intel hardware?  

        Already supported on alpha, powerppc and Intel, we are working
on Sparc.  Our drivers will be ported if we have access to the
hardware.
The popular ones will be included.  

For future cards, if vendors only provide binary drivers, will they
support non-Intel hardware?  

        We're trying to educate them to release their information and
do the drivers in open-source, to undersand that wider availability of
the software sells more hardware.

Improved color management?  

        No work to his knowledge, but that doesn't mean it isn't
happening.  We are focusing on the 4.0 release.  


Which video company would you recommend for their cooperation with
drivers, particularly with keeping a driver for a long time?

        Answering that is hard for me because if I mention one vendor
or another, it may damage other potential vendor relationships.  If
the vendor chipsets change, they may not be able to get information
for us.  Look at a card that works today, that suits your needs, then
buy 20 of them.

Have we considered to move to a more open development model?  

        It is open.  Tell us who you are and what you want to do and
we'll let you in.  The vendors can understand a large international
team, but they want a single face to interface with.  Answering
support questions takes too much of our time already.  We do all of
it.  By limiting non-controlled development, we limit contacts or
questions for binaries we did not create or that contain modifications
to them.

Laptops?  

        Laptops are very difficult.  We are talking to vendors, ibm,
etc., about getting early access to hardware.  It is easy to get them
to donate $25 boards, it is much harder to get them to donate twelve
$4,000 laptops.  Toshiba is obviously a hard case, since they haven't
gotten the "message".

Are you in active dialogue with the GGI project?  

        No.  I don't think graphic drivers belong in the kernel.
Maybe very, very tiny hooks for specific purposes.

Digital flat panels?  

        They are a little harder.  They have special chipsets to
handle them and there is no standards for the way they are programmed.
We are talking to the vendors about releeasing specs, but I can't tell
you when anything will happening.

Rotating the display?  

        Actually harder than it sounds.  Very easy to rotate pictures,
but rotaring the fonts is actually very hard.  There will be support
for the XV extension.  Still looking for the deeloper (hint,hint) that
will integrate this.

DVD player?  

        Not yet.  

Input devices?  

        You can add support for any input device.  We'll
support mice.

Multi-heads, what about multiple keyboards?  

        I don't think so.  Maybe if you start a different server for
each keyboard, if each one grabs the right video card, the right
keyboard and the right mouse.  My question is why?

OLE?  copying and pasting of graphic objects?  If applications
implement their own, they can't interoperate.  

        X shouldn't support it.  It is a desktop issue.  

The hardware acceleration features that you are exposing to the user,
is alpha transparency one of them?  

        No it is not.  It is a 3D feaure.  The X server is a 2D
server.

Four months to release?  Is that to bleeding edge or to sense of
humor?  

        It is a real release deadline.  We've built a schedule, we've
committed to it, I think we can make it (of course I was optimistic
last year, but I've learned a lot since then).

Will you have support for the SGI Visual Workstation?  

        Are you going to send me one?  If you do, we'll support it.

If you have multiple heads, do all of them have to have the same
resolution?  

        No, the multiple heads don't have to have the same resolution.
However, there will be portions of the screen that aren't visible to
you on the smaller resolution screen so you drag or drop onto an area
you can't reach.  It might be relatively useless in reality.

Escaping out of a blank screen if you have a misconfigured
configuration file?  

        If the server is *hung*, you have to reboot.  It
is extremely hard to reset a graphics card after it goe apeshit.

There are some hooks in the kernel for implementing key
combinations to kill the current processes.  

        This doesn't help.  If the graphics card is in an undefined
state, it is hard to fix them.  Some cards have a software string for
reset,
but for most of them, there is nothing that you can do.  I use a
system with all of my files provided via NFS for just this reason.
That way, my files survive even if I have to power the machine off
and on because the hardware locks up too fast to  info to be flushed
to the disk (hello fsck).

Someone asked for a feature that doesn't exist.  His response was no,
but it would be easy to add.  Just go do it.  If you want a new
feature in Windows 98, just go pray.

What if you want to link code into the server to make it faster?  

        I'll have to think about that.  It might work but there are
security issues.  In principle it is possible, but the performance
gain is unlikely to be large.  Would rather see development elsewhere
to improve performance (gave examples).  Rather limited access to C
functions.

Mixing 16bit and 24 bit on the same screen, same head, 16bit for
performance, 24 bit for higher color?

        Theoretically possible, but don't know of any hardware that
supports it, which means that you'd have to implement it in software.
Hardware would be fast, via software it would be slow and not worth
doing.

Future of the X windows system and the X protocol (coming from a
standardization guy)?

        The development of X is running into finance difficulties.
There are very big companies interested in keeping up X, but they are
annoyed with the "free riders", that so many companies benefit and yet
don't share in the costs.  I am optimistic that it will continue.  If
the X effort fails, we'll continue and take over.

Will we be able to change the color depth without restarting the X
server?  

        No.  There could be a way for restarting it on the fly, but
uh, I don't like it.  There are much better ways, e.g. saving states
via the desktop, that are a better approach.

[The End]