ANNOUNCE: Xorg configuration model

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View


I'm happy to announce the very first version of a Xorg configuration
model [1] for Config::Model [2] perl module.

With this module and Config::Model, you have a tool to modify the
configuration of your favourite X server.

Once this module is installed, you can run (as root, but please backup
/etc/X11/xorg.conf before):

  # config-model -root_model Xorg

You may want to try it safely first by writing the resulting xorg.conf
elsewhere (in this case you can run this command with your user

  $ config-model -root_model Xorg -write_directory test

Be sure to read the README file [3] and this doc [4] which explain the
basic command of the interface.


At this point, config-model and its xorg model are still preliminary.

A lot of work still needs to be done. For instance the current UI is a
command line. Config::Model needs more friendly users interfaces. I
have some code to provide a Curses UI that I will release in a few
weeks. I could use some help to provide a GUI or a Webmin interface.

On xorg model side, I've provided a rather complete model (according
to the documentation) for radeon driver and a basic model for nvidia
drivers. The model could also use improvements to better classify xorg
parameter according to their status (e.g. standard, deprecated...) or
permission level (e.g. intermediate, advanced or master depending on
the required skills).

Now, I'd welcome some feedback or help:

- What do you think of this approach: separate model declaration and
  configuration handling ?

- Do you think it can be applied to other applications ?

- If yes, for which application would you like a configuration model ?

- Do you think Config::Model should be integrated to other config
  tools ? Which ones ?

Thanks for your time



Dominique Dumont
"Delivering successful solutions requires giving people what they
need, not what they want." Kurt Bittner

Re: ANNOUNCE: Xorg configuration model

Just curious...

I'm not a frequent UNIX user and the only exposure I've had to X11 was
programming on DEC's Vax.

So, your module would allow somebody to configure a UNIX system from
inside of a Perl program?

I know the Vax system had some sort of monitor that ran in the
background that was able to automatically handle problems with the
computer.  For example, if the system went down it was able to reboot
everything and bring itself back online without the intervention of an

Could your configuration model be made to do this?  For example, you
would enter a bunch of rules into the model to tell it what to do
under specific situations (ie values read from system variables).  
Then, the model would figure out what it has to do to reconfigure a
server based on a combination of values from a bunch of system
variables.  Would the procedures it had to execute to work with the
server be coded as Perl subroutines?

Re: ANNOUNCE: Xorg configuration model

Quoted text here. Click to load it

Yes. Through the application's configuration files. (But we can also
imagine a way for Config::Model to be connected to the application to
configure it directly)

But a "Unix system" is quite wide. You'd need a description of all the
configuration data (i.e. configuration model) you want to modify.

Quoted text here. Click to load it

Err, I do not known VAX at all, so without more specific details, it's
hard to answer.

Quoted text here. Click to load it

That's a question I've had in mind for some time. Currently the model
is static, i.e. you can define default value within a configuration
model. There's no provision (within a model) to query the host to get

The advantage is that you can audit configuration data from a remote
system on your laptop, which is handy for support.

On the other hand, one can imagine a Perl library to get these
informations from the host and fill the configuration tree (i.e. an
instance of a configuration model) before showing the user interface.
But this would run only on the target system.

Quoted text here. Click to load it

Yes. The tricky part will be to figure out the configuration model.

Quoted text here. Click to load it

No, but at some point you will have to feed some data to a Perl


Dominique Dumont
"Delivering successful solutions requires giving people what they
need, not what they want." Kurt Bittner

Site Timeline