Video cards
Specific card settings
Nvidia
nVidia for LTSP-4.1.1
Here's a method for adding the proprietary nvidia modules to the LTSP-4.1.1 system:
NvidiaLtsp411
nVidia for LTSP-4.2 update-2
Peter Ehrenberg has created a
page and packages for using the nVidia binary module with LTSP-4.2 update-2.
sis cards
The SiS driver requires the
glx module to be loaded. If you have workstation ws002 that
has a sis card, then you would specify this:
[ws002]
X4_MODULE_01 = glx
S3 and S3Virge cards
The support for S3 and S3Virge cards may still be a problem in XFree86 4.x and X.org, so LTSP provides
the older XFree86 3.3.6 versions of the drivers, which work quite well on those older cards. Try the Xorg s3virge driver first.
If you have a workstation that has an S3 or S3Virge card, you would specify the older driver
like this:
[ws003]
XSERVER = XF86_S3 (or XF86_S3V for the S3Virge card)
If the driver name starts with
XF86_, that means it will use the older 3.3.6 version of XFree86.
If you have an S3 Trio video card, these settings work well:
[ws003]
XSERVER = XF86_S3
X_VIDEORAM = 4096
X_COLOR_DEPTH = 8
X_MODE_0 = 800x600 40 800 840 968 1056 600 601 605 628 +hsync +vsync
That will set video RAM to 4mb, color depth to 256 colors, and display mode to 800x600. Higher color depths were causing the screen to flicker, but this one sacrifices a few nice colors for that.
Via embedded graphics
Via Unichrome graphics as included in their mini-itx systems seem to have problems with autoconfiguration.
They do not autodetect and the via driver must be explicitly specified. They will work without specifying
the driver, but will use the much slower vesa driver.
If you have a workstation based around a Via mini-itx motherboard, you would specify the via driver like this:
[ws003]
XSERVER = via
You may need to specify the monitor's refresh rates explicitly as well, as described in the next section of this page.
While starting X with the via driver, you may see errors indicating that certain symbols are not defined. These can be ignored and will not effect functionality.
Via embedded DVI Interface
Starting with Xorg 6.9.x, detecting a DVI interface is unreliable for the LTSP Term 170. The following lts.conf option forces X to use the DVI interface:
[ws003]
X_DEVICE_OPTION_02 = "ForcePanel true"
This applies to LTSP versions >= 4.2
If you are running LTSP installed from Ubuntu or Debian packages beginning with Ubuntu Edgy or Debian Etch, create a custom xorg.conf for a DVI workstation adding the following to lts.conf:
[ws003]
XF86CONFIG_FILE = /etc/X11/xorg.conf.ws003
xorg.conf.ws003 Monitor section is where you add the
ForcePanel? option:
Section "Monitor"
Identifier "Generic Monitor"
Option "DPMS"
HorizSync 40-75 # Set this to match your monitor's specs
VertRefresh 50-85 # Set this to match your monitor's specs
Option "PanelSize" "1280x1024" # Useful if your monitor's maximum
# resolution is greater than the X video
# resolution you are running
Option "ForcePanel" "true" # Forces use of DVI interface
EndSection
Geode GX1
Ok guys, I finally sat down this weekend, and decided to see what I
could do about the Xserver for the Geode GX1 chipset in the Jammin-125.
I found the old driver that Alan Hourihane wrote back in 2002, and I
compared it, almost line for line with the latest driver in Xorg 6.8.2.
The old driver was called "geode", but they changed the name when they
added support for the GX2 chipset. The driver is now called "nsc" which
stands for "National Semi-Conductor".
In the latest driver, all of the code to handle the GX2 is implemented
in a separate file, so there's a clear distinction between the GX1 code
and the GX2 code.
Anyway, I compared line for line, the GX1 driver code, and I found no
significant differences. There's some new options, to enable/disable
certain features, but nothing that should affect the stability of the
driver.
So, I started testing the nsc driver. I used x11perf, and I found that
the driver kept failing. After several tests, I found that it was
failing in the same place, running the same test. I saw in the
/var/log/daemon file that GDM was having a problem contacting the
Xserver. The actual message was:
localhost gdm[4960]: Ping to ws251.ltsp:0 failed, whacking display!
I thought it was because the Xserver was crashing, and GDM
could no longer Ping the Xserver, so it reported the error.
Turns out that's not the case.
There's an operation in x11perf that takes 72 seconds to complete on the
GX1 chipset. GDM sends a ping (not an icmp ping, it's actually a
GetFontMetrics? request). If GDM doesn't get a response within 15
seconds, it assumes the Xserver has dissappeared, so it stops managing
the session. Gives the screen the appearance that the Xserver has
locked up.
SO, if I run the Xserver standalone, without querying the display
manager, and then I run x11perf from my desktop with a '-display
ws251:0.0', it will run x11perf, displaying on the GX1 chipset, it runs
the entire test to completion. No crashing, no hanging.
I ran the test several more times, and on the 3rd attempt, the computer
locked up. I'm thinking this is heat related, because it's hot in my
office, and i've really been punishing this GX1 chipset. I tried
rebooting the client, and I couldn't get X to run on it. I turned it
off, and left it for about 2 hours, and then when I went back to test
it, it performed fine again. Like I said, looks like a thermal problem,
but i'm not too worried about it. In a normal office setting, nobody is
going to push the chipset as hard as I did.
I need to modify the vidlist file to cause the 'nsc' driver to be
loaded, instead of the non-existant 'geode' driver. That'll be out in
the next update of LTSP. Until then, people just need to add the
following line to their lts.conf file:
XSERVER = nsc
OR, they could modify the vidlist file and change:
1078:0104 geode
to read:
1078:0104 nsc
Then, autodetection will cause the proper driver to be loaded.
--
JimMcQuillan - 26 Jun 2005
Xinerama / TwinView?
LTSP 4.2 introduces multiple monitor support, example configuration discussed in the mailing list archive:
http://www.mail-archive.com/ltsp-discuss@lists.sourceforge.net/msg26519.html
With multiple monitors, keyboards, mice, and sound devices it is possible to setup a
Multi-Seat environment in which multiple users can share one terminal.
Setting resolution
LTSP uses a default resolution of 1024 x 768. You can override this by adding entries to your
/opt/ltsp/i386/etc/lts.conf file.
You can specify either a full modeline (like the example for ws008) or a simply resolution. A useful tool to generate these modelines can be found at
http://koala.ilog.fr/cgi-bin/nph-colas-modelines.
Another useful tool to generate a modeline can be found at
http://xtiming.sourceforge.net/cgi-bin/xtiming.pl
[ws001]
X_MODE_0 = 800x600
[ws008]
#
# ATI Card with ViewSonic P815 21" monitor running at 1800x1440
#
X_MODE_0 = 1800x1440 250 1800 1896 2088 2392 1440 1441 1444 1490 +HSync +VSync
X_HORZSYNC = 30-115
X_VERTREFRESH = 50-160
[ws009]
#
# 17" flat panel. Had to add the X_HORZSYNC, otherwise it would do only 1280x960
#
X_MODE_0 = 1280x1024
X_HORZSYNC = "60-70"
You can specify up to 3 resolutions, using
X_MODE_0,
X_MODE_1, and
X_MODE_2.
Then, you can cycle between the resolutions, using the
Ctrl-Alt-KP+ key.
For example:
[ws001]
X_MODE_0 = 800x600
X_MODE_1 = 640x480
X_MODE_2 = 1024x768
Video drivers
Most PCI video cards work very well with LTSP. Some, however, are a bit of a problem.
The PCI video cards can be autodetected during the boot process, so there is usually nothing that needs to be set.
Sometimes, you may want to force a certain Xserver to be used. You do this with the
XSERVER parameter in the
lts.conf file.
For instance:
[ws001]
XSERVER = ati
The above example will for the
ati module to be loaded by the Xserver.
figuring out which Xserver module to load depends on whether you want to use the X.org Foundations Xserver, or the older XFree86 3.3.6 Xserver.
X.org
The X.org Xserver is a modular Xserver that has a generic core, and many loadable modules.
The current list of X.org driver modules:
- apm
- ark
- ati
- atimisc
- chips
- cirrus
- cyrix
- dummy
- fbdev
- geode
- glint
- i128
- i740
- i810
- mga
- neomagic
- nsc
- nv
- r128
- radeon
- rendition
- s3
- s3virge
- savage
- siliconmotion
- sis
- tdfx
- tga
- trident
- tseng
- vesa
- vga
- via
- vmware
XFree86 3.3.6
If you specify a value for the
XSERVER parameter that starts with
XF86_, that will cause the terminal to use a 3.3.6 XFree86 Xserver. The 3.3.6 Xservers are in the
/opt/ltsp/i386/usr/X11R6/bin.
The XFree86 Xserver is many completely separate Xserver binaries.
The current list of XFree86 3.3.6 Xservers:
- XF86_3DLabs
- XF86_8514
- XF86_AGX
- XF86_I128
- XF86_Mach32
- XF86_Mach64
- XF86_Mach8
- XF86_Mono
- XF86_P9000
- XF86_S3
- XF86_S3V
- XF86_SVGA
- XF86_VGA16
- XF86_W32
How much video memory do I need?
(or - what is the maximum resolution I can get on my xMb card?)
To calculate the video memory required you have to multiply the horizontal resolution, vertical resolution and colour depth and divide it by 8.
memory required (in bytes) = horisontal resolution * vertical resolution * depth (in bits) / 8
for example:
1024 * 768 * 24 / 8 = 2,359,296
1024 * 768 * 16 / 8 = 1,572,864
thanks to Kalev Lember
Crashes with i810
You may get a hard crash (X dies, the console shows, and everything is frozen) visiting Flash-heavy sites such as nadaguides.com or hertz.com. It happens with LTSP 4.2u4 and certain i810 video cards---even though the terminal has a lot of RAM (>256MB).
Part of the solution is to increase video memory with
X_VIDEORAM =8192. On my Dell
OptiPlex? GX110 systems, this prevents crashes on nadaguides.com, but hertz.com still crashes. However, my Dell
OptiPlex? GX260 terminals don't crash on either site.
--
AndrewZ - 23 Apr 2007
X Servers
- LTSP 4.1 ships with XFree 3.3.6 and X.org ??
- LTSP 4.2 ships with X.org 6.9