Input Devices
Jim Gettys
Jim.Gettys at hp.com
Thu Aug 4 12:01:32 PDT 2005
Here's the situation with Intel hardware, and why it presents more
challenges than, say, Nvidia or ATI (where the problem Jon describes is
tractable by us cleaning up our own house; we have terrible defaults and
other stupid configuration problems of our own creation, and it should
be fixable mostly by a determined effort).
Intel's graphics chips do not include the ramdac/analog portions of the
video hardware that is typically provided these days on graphics
chips/chipsets of other manufacturers; this hardware has to be
initialized properly to go with the graphics chip's view of other
fundamentals like depth, resolution, etc. These are provided by the
motherboard manufacturers and graphics cards manufacturers, of which
there are dozens, and a wide variety of outboard chips are used. We
have no way to find out what those chips are from the system side, and
the specs are often/usually closed to us.
In the Windows environment, this support comes via the device drivers
the manufacturer's provide. So long as a basic VGA setup happens on
boot, you can complete the installation of the driver, and things work
fine thereafter.
Ok, how do we support Intel hardware at all? It is by relying on the
BIOS code to do the setup for us; we even do tricks like running x86 ISA
emulators to get the BIOS code run.
This might be a satisfactory solution, except:
Often the BIOS is broken, sometimes in spectacular ways, such as laptops
on which the primary resolution of the flat panel is not supported by
the BIOS. Our answer right now is: "don't buy those machines" because
we have no way to support them, not being able to run a windows driver
to get them set up, since that is the only place where the information
resides, rather than the BIOS.
Fixes possible:
1) get enough market share that those manufacturers pay attention to
Linux support.
2) enough people (including Intel) lean on manufacturers to make sure
the BIOS supports the key resolutions of the hardware: e.g. the native
resolution of a laptop's flat panel.
Even if were able to get specs for all those chips, it isn't clear we
have manpower to deal with them all in a timely fashion; and we have
another multiplicative explosion of Intel graphics chips and the
outboard chips, which I don't understand how we'd get rationally tested.
We have enough on our plates as it is supporting the wide variety of
graphics chips, without undertaking the multiplicative explosion
problem.
So yes, if the BIOS/ACPI always did the "right thing" we'd have a place
to stand.
But we don't really have a place to stand in the display driver; we
don't have the information to write them, or the way to test all the
combinations out in the field, which dwarf the number of combinations on
more conventional hardware. If we had enough market share (and a mode
selection architecture for manufacturers to plug into) the way it works
on Windows might someday become possible, but I submit that that is in
fact the harder way to go short term, and very difficult for open source
projects such as X.org to support, at least at present. And we'd
continue to have to fight the "getting the specs somehow" problem.
I do believe strongly that we should design the mode selection stuff to
be able to deal with custom modules that can do the setup task; but this
is thinking long term and just good design principles, rather than
belief it can be a solution quickly. We'll certainly need it someday,
and while working in this area, it isn't much additional work to keep
the requirement in mind and design the capability in.
- Jim
On Tue, 2005-08-02 at 12:44 -0700, Johnson, Charles F wrote:
> >-----Original Message-----
> >From: xorg-bounces at lists.freedesktop.org [mailto:xorg-
> >bounces at lists.freedesktop.org] On Behalf Of Jon Smirl
> >Sent: Tuesday, August 02, 2005 12:37 PM
> >To: Jim Gettys
> >Cc: xorg at lists.freedesktop.org
> >Subject: Re: Input Devices
> >
> >On 8/2/05, Jim Gettys <Jim.Gettys at hp.com> wrote:
> >> Could be. Hotplug of screens is not science fiction; we've already
> had
> >> this case on handheld devices, and PCI express allows for hot plug
> >
> >X screen hotplug failed every time a presenter went to the podium at
> >OLS. I was running Windows (it was my wife's laptop and she won't let
> >me put Linux on it) and the hotplug happened without problem when I
> >plugged into the projector.
> >
> >--
> >Jon Smirl
> >jonsmirl at gmail.com
> >_______________________________________________
> >xorg mailing list
> >xorg at lists.freedesktop.org
> >http://lists.freedesktop.org/mailman/listinfo/xorg
>
> Isn't the real problem with X screen hotplug is not the X server as
> such? But the device drivers and on PC platforms the ACPI support in
> the kernel and the firmware/BIOS ?? If that stuff worked, then the only
> problem would be getting resolution to match what the projector
> supports.
>
> Charles Johnson
> Intel Corporation
> charles.f.johnson at intel.com
>
> _______________________________________________
> xorg mailing list
> xorg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg
More information about the xorg
mailing list