pci-rework merge tomorrow

David Nusinow dnusinow at speakeasy.net
Thu Aug 23 19:55:45 PDT 2007


On Thu, Aug 23, 2007 at 06:59:09PM -0700, Ian Romanick wrote:
> As has been discussed on #xorg-devel for the last week or so, I'm going
> to merge the pci-rework branch of xserver to master *tomorrow*.  I
> pulled the code from master to the branch, cleaned up the conflicts, and
> did some testing.  The resulting code is currently in the pci-rework branch.
> 
> If you have any objections, comments, or concerns, please speak now or
> forever hold your peace.
> 
> I have some meetings in the morning, so I'm planing to do the merge in
> the early afternoon (pacific time).

This is fantastic! I'm happy that this is finally coming about.

It raises another issue that also came up in #xorg-devel recently related
to the work I've been doing to have the server automatically load the right
driver when none is specified. Currently, this doesn't work at all when you
have a xorg.conf that's missing a device section, and makes a good guess
when you don't have a xorg.conf present.

I've patched the server in debian experimental to create a missing device
section on the fly when there's a xorg.conf without one. The way it chooses
the driver is to have the driver register the pci id's that it can use. It
does this by dropping a simple text file list of pci id's in to
/usr/share/xserver-xorg/pci, and the server picks the driver from these.
I'm in the process of patching the drivers in debian to ship these files,
which usually is a pretty simple task. You can see the patch to do this for
intel here[0].

What came up in #xorg-devel is that a potentially better way to do this is
to use the pci-rework stuff to choose the driver based on symbols. I had
originally planned to implement this after talking to ajax about it, but
later on a few of us realized that this information is hard to get at if
you're not the X server. Specifically, talking to keithp about the
possibility of having the Debian installer just pick only the right driver
for the hardware to install rather than all the drivers, we realized that
the installer couldn't easily get at the information to choose the driver.

So I went with the flat text file. They're very easy to generate from all
our up to date drivers as you can see from [0], and for those that aren't
really being updated for new hardware, it's trivial to just ship a static
file rather than generate it programatically.

The reason I'm writing all this in response to the pci-rework message is
that I wanted to ask people's opinions on this. I know that using the
symbols is currently the favored method, but this version works today,  
would potentially let distros easily install just the required driver for
the hardware, and is conceptually very simple. I'm planning on doing a
little more work on the patch[1] before merging it, but I'd like to get
feedback if I've missed something important or if people think that I'm
going about this all wrong.

 - David Nusinow

[0]
http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-intel.git;a=blob;f=debian/patches/01_gen_pci_ids.diff;h=37de1aeafdcc41f9578e13bbf9a3b37a309785e5;hb=debian-experimental

[1] If you want to see it in its preliminary form, it's at
http://git.debian.org/?p=pkg-xorg/xserver/xorg-server.git;a=blob;f=debian/patches/03_auto_load_driver.diff;h=65a5e1a9841b3c59b47ee2fbf9e3d41b49daf58f;hb=debian-experimental



More information about the xorg mailing list