The Y Window System: Y and Hardware

Y Driver Directory Layout
   <exec_prefix>
           |
           +- Y
              |
              +-- drivers
                  |
                  +-- misc  -  Miscellaneous drivers (x11, Win32, ...)
                  |
                  +-- pci   -  PCI graphics cards.
                  |
                  +-- isa   -  ISA bus graphics cards.
                  |
                  +-- vlb   -  Vesa local bus graphics cards.
                  |
                  +-- sun3  -  Sun3 specific hardware
                  |
                  .

Y Drivers are shared libraries, their names with the following form: libYhw_<hw_name>.so. For example, the driver for the Matrox Millennium has the name libYhw_mga2064.so
Y Autoprobing
When the microserver starts up, it scans all the sub-directories of <exec_prefix>/Y/drivers, and performs the following operations:
  1. Load the driver.
  2. Call the YHW_init function, which must be present in each driver .so. This function returns a pointer to a YHW structure.
  3. Using this YHW*, make a call to the driver's Probe method. This method returns Y_TRUE on success. If probing was successful, the driver is added to a list of currently loaded drivers, and autoprobing continues.
  4. Once all the devices have been probed, if there are no devices that were probed successfully, the program exits. If any were probed, they are tiled from right to left (in alphabetical order), using their highest resolution.

Specifying hardware on the Microserver Command-line
Alternatively, the microserver can be started with a fixed set of hardware devices. Using the -hw command line option, you can specify one or more devices to use. The specification for a device is a shortcut version of the path and driver name. For example, to load the Matrox Millennium driver, you would use -hw pci/mga2064w, and to load the X11 driver, you would use -hw misc/x11.

You can specify additional flags per hardware device, these include:

  • -res: Resolution. (for example, -res 640x480.) There is no need to tune color depth, as Y will always make use of the deepest available color depth for a given resolution.
  • -pos: Hardware Position. This gives the position in absolute coordinates of this driver's "view." You can assign multiple devices to the same position, in case you want to look at what you're doing on two different screens. (for example, -pos 1000,1000.)


copyright © 1998 Christoph Toshok
Last modified: Fri Feb 6 03:47:56 PST 1998