Sorry for the lack of documentation on the structural underpinning of
some of the newer additions under the hood.  Let me try to explain it
here, and then maybe this can serve as the beginnings of some
documentation.   Here goes...

The new Xorg Xserver has the ability to figure out (for the most part,
to the extent that the driver helps in the process) the best mode for
the videocard.  Moreover, with the new dependency upon hal and Xrandr,
it is recommended to add input devices with hal and modify video modes
with Xrandr 1.2 calls.  In essence, the xorg.conf becomes a place really
to fix deficiencies in poorly written drivers or to force certain
abnormal driver behavior in a particular environment in a way that can
not be otherwise done through hal or Xrandr.

To accommodate this, Xorg now understands partial xorg.conf files.
Meaning you only add the sections that you need to force.  Otherwise, it
discovers everything.  That's why you might see minimalist xorg.conf
files.

Now, with all that said, you have a bit of context for the new structure
in LTSP.  The screen-session.d/ directory (located in the
chroot's /usr/share/ltsp directory) is a structure of shell scripts all
of which are sourced in order (similar to Xsession.d/ or rc.d/ that you
may be familiar with).  These scripts are executed upon the beginning of
each session but before the Xserver (if the session runs an Xserver) is
launched.  You can make whatever script you want that may need to run at
that point.  For us, one thing we use it for is to set up *how* the
Xserver will be launched.  This entails not just generating a xorg.conf
file as needed, but also configuring the parameters that the Xserver
should be launched with.  The nice thing about a collection of sourced
scripts is that it gives flexibility to the distribution or to the
administrator to add additional scripts that may be required for that
distribution or for a particular network environment that will not
modify existing files (and therefore require more maintenance to care
for updates in the upstream code).

Let's examine the script structure:

Each script is named with a prefix letter, then an order number, then a
name.  The prefix letter determines when the scripts of that prefix are
executed and the order number determines in what order.

PREFIXES:
Prefixes that may be used include:

S - Is a script that runs at the beginning of a session (screen script)
K - Is a script that runs at the end of a session (screen script)
XS - Is a script that is only run at the beginning of screen scripts
that run an Xserver

All of the scripts that generate a xorg.conf or modify the Xserver
arguments are XS* scripts.

These scripts are mostly organized by the particular lts.conf parameter
or function that they affect.  For example, XS85-xvideoram adds the
ability to specify the X_VIDEO_RAM parameter in lts.conf and force the
amount of video ram used by the driver.  

If you are going to create your own script, I recommend looking at other
scripts to understand the structure.  Since many hacks may impact the
same xorg.conf sections, each section has a function of hacks assigned
to it, and in your script, you would create a function and add it to the
list of functions for that section.  For example, if you add something
to the Monitor section (that cannot already be added through existing
functions) you would create a function in your script and add it to the
monitor_hacks function list.  Again, easier to read the code and look at
examples to understand how to write a new script.

Also, please note that one of the lts.conf parameters you can specify
is:  CONFIGURE_X_COMMAND
This should be set to a path to a script.  So, if you have the old
configure-x.sh and like it better, simply copy it into the chroot, to
say, /opt/ltsp/i386/usr/share/ltsp/configure-x.sh and then in lts.conf,
specify:  CONFIGURE_X_COMMAND = "/usr/share/ltsp/configure-x.sh"  and
you will be back to where you were.

That said, I encourage you to try to move forward with us, so that
everybody's job of maintaining things is made easier.

There are a wealth of other things to document - such as XRANDR_MODE_0,
and friends - but I suppose that is best done elsewhere.

Again, sorry that the docs are lagging a bit.  I hope this helps add
context.  And, if any of you are interested in documenting things, we
would certainly welcome the help and we would gladly help proof for
accuracy.

Cheers,

-Gadi 

On Tue, 2009-05-12 at 18:17 +0200, Peter Stein wrote:
> Hey,
> 
> another surprise after upgrading from LTSP Ubuntu 8.04 to 9.04: I
> found the file the XServer uses is /var/run/ltsp-xorg.conf. This file
> isn't generated anymore by /usr/share/ltsp/configure-x.sh. Actually
> this isn't used anymore. Instead there seem to be a lot of scripts in
> /usr/share/ltsp/screen-session.d.
> I got no idea if they are even used or provide only some hacks if
> needed. Well the question is: Which script generates (and finally
> writes the ltsp-xorg.conf). I'd rather use configure-x.sh. That one
> works I assume with the correct screen resolution. My ltsp-xorg.conf
> is rather empty:
> 
> 
> Section "Device"
>     Identifier "Device0"
>          Driver "radeon"
> Endsection.
> 
> That's it. Why was that changed. I don't get it. Unfortunately, I was
> not able to find any documentation.
> 
> Sincerely
> 
> Peter
> 
> ------------------------------------------------------------------------------
> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
> production scanning environment may not be a perfect world - but thanks to
> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
> Series Scanner you'll get full speed at 300 dpi even with all image 
> processing features enabled. http://p.sf.net/sfu/kodak-com
> _____________________________________________________________________
> Ltsp-discuss mailing list.   To un-subscribe, or change prefs, goto:
>       https://lists.sourceforge.net/lists/listinfo/ltsp-discuss
> For additional LTSP help,   try #ltsp channel on irc.freenode.net
-- 
--------------------------------------------------------
Gideon Romm | Proud LTSP Developer
l...@symbio-technologies.com

Support LTSP!  Buy your hardware at:

        www.DisklessWorkstations.com
        www.DisklessThinClients.com 
 
(use coupon code: LTSP5P for 5% off thin clients from DisklessThinClients.com)


------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com
_____________________________________________________________________
Ltsp-discuss mailing list.   To un-subscribe, or change prefs, goto:
      https://lists.sourceforge.net/lists/listinfo/ltsp-discuss
For additional LTSP help,   try #ltsp channel on irc.freenode.net

Reply via email to