Interview with XFree86’s David Dawes

David Dawes is maybe the most active XFree86 developer and he is also the lead founder of the project. He works for Tungsten Graphics, which is the main company working on the XFree, DRI and Mesa codebases today. We are happy to host an interview with David, discussing the present and future of XFree86 project. Update: Still confused how a VSYNCed desktop look like? Read here.1. The Weather Channel recently funded the development of the ATi Radeon 8500. How did this happen and what’s in it for the Weather Channel except the obvious publicity? Do you think that more sponsorships will emerge that further help open source development?

David Dawes: I can’t comment on any details regarding the Radeon 8500 work other than what’s already been announced. This and other things happening make me optimistic generally about sponsorship for Open Source development.

2. What exactly is Tungsten Graphics’ mission? What services do you provide for a fee, and what services do you provide for the XFree project?

David Dawes: Tungsten Graphics provides consulting services primarily in areas related to X and OpenGL, which can be anything, including (but not limited to) driver development, infrastructure development, and application-specific work.

Whatever Open Source work that Tungsten Graphics does always gets contributed back to XFree86. Tungsten Graphics also has sponsored my work in getting XFree86 4.2.0 released in particular, and also my ability to continue to support, develop and maintain the XFree86 code base. This support has always been a strong factor for me in choosing whatever company I work for — the ability to keep XFree86 free and independent, and to work on XFree86 with no encumbrances.

3. Linux is now almost a mainstream operating system, however it is currently through its after-hype era. How does this new era treat the XFree project? Do graphics companies continue to support XFree with drivers or fully documentend specs as they used to do 1-2 years ago?

David Dawes: The level of interest in XFree86 is still strong. We have fewer people paid to work full-time on XFree86 than at the height of the boom, as support from hardware and graphics companies seems to go through cycles. Still, major graphics companies seem to be interested in
having their hardware well-supported by XFree86 and Linux, but more of them are now doing that work in-house themselves. Those that either don’t or can’t do it themselves either provide the specs to consulting companies (like Tungsten Graphics) for the purpose of writing drivers, or specifically provide them to individual XFree86 developers.

4. Are there plans for Kyro/Kyro-II 2D drivers on XFree86?

David Dawes: As far as I know, PowerVR has binary-only drivers available from their web site. I’m not aware of any Kyro plans for open source drivers.

5. MacOSX and the (leaked) BeOS 6-Dano version have this great feature where, when you move a window in your desktop, everything stays smooth and even readable, kinda like when using VSYNC to update the screen as many times per second as the current refresh rate. Is this feature planed for XFree?

David Dawes: I don’t know of anyone who is working on that feature at the moment.

6. Why there isn’t an automatic failsafe method on XFree, when a graphics adapter is not supported to automatically try to load the VESA 2.0 driver instead? This way a lot of newbies would find their way around with Unix instead of feeling “locked” to the command line without… being able to use Vi or Emacs and edit the XF86Config file.

David Dawes: This is one of the things I’m currently working on in my spare time: to make configuration automatic. My goal is to make the XF86Config file optional and to provide a facility for the X server to choose the best driver for the given hardware, with appropriate fallbacks if the hardware isn’t explicitly supported. This is something I think XFree86 needs, because, as you mention, it can be very difficult for people new to this environment to get it up and running.

7. Installing, uninstalling, or even.. rendering fonts today with XFree is not a strength. Installing TTF fonts and most importantly – making them recognized by all the applications – is definately not as easy as in Windows, while the rendering quality is also sub-par. The FreeType guys say that this is an XFree problem, because XFree was never designed to support TTFs. What is your opinion on the subject, and what can it be done for it? Also, is there any chance that the XFree project would be allowed to
freely distribute the Microsoft/Apple web fonts (like Verdana, Tahoma etc), which today are the standard fonts used on the web?

David Dawes: Regarding the “standard” web fonts, their licensing prevents XFree86 from redistributing them. XFree86 does have a professionally designed font family called “Luxi”, which was donated by Bigelow & Holmes. There’s a good chance that we’ll have additional high quality fonts
before too long.

8. Apple recently introduced Quartz Extreme for MacOSX, bringing 3D functionality on a 2D desktop. It is also known that Microsoft is developing something similar for Longhorn Windows version. Most notably, the biggest speed increase with such techniques would be in the transparency field. How far are we from a 3D composition rendering technique for a 2D desktop on XFree?

David Dawes: There has been some work on a new rendering model for XFree86 that provides some more advance composition techniques (including transparency), this currently being implemented in software. For XFree86 5.0 we’ll be investigating this as part of our review of rendering models, and seeing if a hardware implementation would not be more appropriate.

9. X is a protocol created in the ’80s. For sure, it carries a lot of legacy. These very legacy issues many times have been in the center of long discussions saying that they keep “XFree” behind the times. Is this true? Would you agree on removing old legacy code, and try to “modernize” the XFree architecture and code in possible expense of the lack of backwards compatibility?

David Dawes: The age of the X protocol has its pros and cons. The biggest pros are that it’s widely used and has a high level of interoperability. X was designed to be extensible. This makes it possible to add new features while retaining compatibility with legacy applications, so the age of the protocol doesn’t force XFree86 to be behind the times. It is a legitimate question as to how long we should keep the legacy code around. I foresee a time when we provide backwards compatibility via some type of compatibility module that’s loaded only for legacy applications, while we move forward making best use of new graphics hardware and technology.

10. What are the main features that need to be added or fixed on XFree86? What the future holds for XFree86, feature-wise?

David Dawes: Well, as I said previously, I think configuration/auto-configuration is a major area of XFree86 which needs improvement. There’s also work in progress now in the area of fonts and rendering models. I’m looking towards XFree86 5.0, which will be the next significant step in XFree86. We’re only just starting to think seriously about it. We’ll start by re-evaluating what we would like from a graphics/windowing system, and not limit ourselves to the ones that currently exist. With XFree86 4.0 our main focus was on the device-dependent component of the X server (DDX), and to do that we needed to provide a more modular infrastructure. The features that came out of that process showed how much it was needed, and it has given us a solid DDX base from which to expand into other areas. For 5.0 I expect that we’ll move more into the device-independent (DIX) and protocol areas as well as making some adjustments to the DDX area based on our experiences with 4.x.


  1. 2002-07-01 6:01 pm
  2. 2002-07-01 6:04 pm
  3. 2002-07-01 6:22 pm
  4. 2002-07-01 7:22 pm
  5. 2002-07-01 7:28 pm
  6. 2002-07-01 7:43 pm
  7. 2002-07-01 7:49 pm
  8. 2002-07-01 7:53 pm
  9. 2002-07-01 7:58 pm
  10. 2002-07-01 7:59 pm
  11. 2002-07-01 8:02 pm
  12. 2002-07-01 8:07 pm
  13. 2002-07-01 8:13 pm
  14. 2002-07-01 9:24 pm
  15. 2002-07-01 9:44 pm
  16. 2002-07-01 9:47 pm
  17. 2002-07-01 9:58 pm
  18. 2002-07-01 9:59 pm
  19. 2002-07-01 10:11 pm
  20. 2002-07-01 10:11 pm
  21. 2002-07-01 11:48 pm
  22. 2002-07-02 12:50 am
  23. 2002-07-02 2:30 am
  24. 2002-07-02 2:35 am
  25. 2002-07-02 6:29 am
  26. 2002-07-02 7:00 am
  27. 2002-07-02 8:17 am
  28. 2002-07-02 8:46 am
  29. 2002-07-02 8:51 am
  30. 2002-07-02 8:54 am
  31. 2002-07-02 9:20 am
  32. 2002-07-02 9:26 am
  33. 2002-07-02 9:50 am
  34. 2002-07-02 10:14 am
  35. 2002-07-02 10:19 am
  36. 2002-07-02 10:24 am
  37. 2002-07-02 11:32 am
  38. 2002-07-02 12:05 pm
  39. 2002-07-02 12:15 pm
  40. 2002-07-02 1:10 pm
  41. 2002-07-02 1:45 pm
  42. 2002-07-02 1:49 pm
  43. 2002-07-02 2:12 pm
  44. 2002-07-02 2:48 pm
  45. 2002-07-02 3:15 pm
  46. 2002-07-02 3:34 pm
  47. 2002-07-02 4:22 pm
  48. 2002-07-02 4:33 pm
  49. 2002-07-02 5:46 pm
  50. 2002-07-02 5:49 pm
  51. 2002-07-02 5:50 pm
  52. 2002-07-02 5:52 pm
  53. 2002-07-02 7:04 pm
  54. 2002-07-02 7:30 pm
  55. 2002-07-02 8:04 pm
  56. 2002-07-03 6:28 am
  57. 2002-07-03 7:12 am
  58. 2002-07-03 7:19 am
  59. 2002-07-07 12:41 am