For the proof-of-concept that I have been working on (mainly to learn how redhat/system-config-xfree86 works), I created a new class (AdvancedXF86HardwareState) that inherits fropm XF86HardwareState, and adds all of the new methods to configure the vendor-specific options for XF86Config. I like the idea of using XML config files to hold the info, and I think it is a much better idea. I think it would allow for good flexibility to allow someone to easily add vendor-specific configuration behavior without having to code/recode the program. Potentially just place an XML file somewhere, and have the info as you suggest that defines the available options as well as what cards can use those options, and system-config-xfree86 will write the vendor-specifc options for the configuration specified. I'll do some research on this idea and make a proposal for how to modify system-config-xfree86 to do this, and define a DTD for the XMX files... -----Original Message----- From: Sean Middleditch [mailto:elanthis@xxxxxxxxxxxxxxx] Sent: Friday, January 16, 2004 8:57 AM To: Hull, John Subject: nvidia x settings I read your post to fedora-config-list, but I'm not subscribed (I read from web archives) so I'm responding directly; feel free to forward/CC any replies to the list if you want feedback from the others there. Newer versions of the NVIDIA driver come with an nvidia-settings application for controlling the settings. So far as extending system-config-xfree86 (what was redhat-config-xfree86) I really, really suggest you break the vendor-specific options into an external file (perhaps some kind of XML file) instead of hard-coding stuff into the tool, because hard-coding stuff is evil; evil like feeding babies to alligators kind of evil. File could look something like (note: I don't know the actual options off-hand, so they are likely wrong): <system-config-xfree86> <driver match="nvidia"> <option name="NVAgp"> <doc>Configure AGP method.</doc> <value type="enum"> <enum value="0">Autodetect</enum> <enum value="1">NVIDIA AGP</enum> <enum value="2">Linux AGP</enum> </value> <option> <option name="ConnectedMonitor"> <doc>Explicitly set the type of monitor attached as the primary display.</doc> <value type="enum"> <enum value="">Autodetect</enum> <enum value="DFP">Digital Flat Panel</enum> <enum value="TV">TV Out</enum> </value> </option> </driver> </system-config-xfree86> That way, the system could be used for even the Open Source drivers with custom options that aren't currently supported, XML localization techniques can be used to translate the options to other languages, NVIDIA could even ship updated file if they are ubiquitous enough, etc. -- Sean Middleditch <elanthis@xxxxxxxxxxxxxxx> AwesomePlay Productions, Inc.