Cindy-Apache2
view release on metacpan or search on metacpan
examples/site/01 Linux at Home/01_Linux_Family_Desktop.shtml view on Meta::CPAN
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<title>Linux Familiy Desktop</title>
</head><body>
<h2>Linux Family Desktop</h2>
<i>Hopefully useful information, use at your own risk</i>
<p>This page describes the setup I use to run a Linux based desktop
system for my familiy. This is not about setting up debian.
Installing debian is easier than most people think and
can be read elsewhere. This is about getting additional features -
most prominent 3d graphics and multi seat - up and running.
</p>
<h3>Hardware</h3>
<p>The board is a</p>
<pre>enter:~# dmidecode | grep -A3 -i "base board"
Base Board Information
Manufacturer: ASUSTeK Computer INC.
Product Name: M3A32-MVP DELUXE
Version: Rev 1.xx
</pre>
<p>
with AMDs 790fx chipset. The board was choosen because it provides 4 PCIex16 slots.
</p>
<p>
All graphics cards are from nvidia.</p>
<pre>enter:~# lspci | grep VGA
01:00.0 VGA compatible controller: nVidia Corporation NV44 [GeForce 6200 LE] (rev a1)
02:00.0 VGA compatible controller: nVidia Corporation NV44 [GeForce 6200 LE] (rev a1)
06:00.0 VGA compatible controller: nVidia Corporation Device 0a65 (rev a2)
</pre>
<p>Note that the third card is a <a href="http://www.alternate.de/html/product/Grafikkarten_NVIDIA_GeForce_GT/Gainward/G210/376917/?tn=HARDWARE&l1=Grafik&l2=PCIe-Karten+NVIDIA&l3=GeForce+G%2FGT">Gainward
G210</a> which is cheap, passively cooled and has most of the latest
features (OpenGL 3.2). It does however require nvidia-glx 190.42 from
debian unstable. The card in the middle is currently unused.
</p>
<p>
Choosing nvidia cards was probably a lucky choice. According to
<a
href="http://blog.chris.tylers.info/index.php?/archives/184-Multiseat-on-Dual-ATI-and-Dual-NVIDIA.html"
>Chris Tylers</a> everything else is less stable or will not work
in a multi seat system.
</p>
<h3>Software</h3>
<p>I am running this on debian lenny amd64. Debian is - I know I am repeating myself -
by now quite easy to use. A lot of
things just work out of the box.
</p>
<p>To get 3D graphics acceleration is required. Not only is it necessary for lots of
games. Smooth scaling of videos depends on it and youtubes audio stays in sync if you
have it. Fortunately it is quite easy.
<code>apt-cache show nvidia-glx</code> will tell you which cards are
supported. If yours are among them a simple <code>apt-get install
nvidia-glx</code> will install all the nvidia drivers including the
necessary kernel module. You need to have <code>main contrib non-free</code>
in your <code>/etc/apt/sources.list</code> since the nvida drivers are non-free.
</p>
<p>To find out if 3d acceleration is working ask glxinfo from the mesa-utils
package from inside an xterm.</p>
<pre>
jo@enter:~$ glxinfo | egrep -i direct\|opengl
direct rendering: Yes
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce 6200 LE/PCI/SSE2
OpenGL version string: 2.1.2 NVIDIA 190.42
OpenGL extensions:
...
</pre>
<h3>More Software</h3>
<p>For access to youtube, freecaster and
lots of games a working flash plugin is a must.
You may try gnash, but most likely you still need
to <code>apt-get install flashplugin-nonfree</code>.
If you do this after opengl is working the plugin
automatically uses opengl. Otherwise you will need
to reconfigure your flash plugin later.
</p>
<p>A nice piece of software that saves a lot of argueing is
<a href="https://launchpad.net/timekpr">timekpr</a>. It lets
you limit your kids login time. The ubuntu deb is installable
on lenny with: </p>
<pre>
enter:~# dpkg -i timekpr_0.3.0~ppa1~ubuntu1_all.deb<br>
</pre>
<h3>Multiseat</h3>
<p>Setting up a working multiseat is hard. This is partially due to the
fact that multi card setups are broken in most distros. The status of
the xorg head revision is somewhat unclear.
See <a href="https://bugs.freedesktop.org/show_bug.cgi?id=18160">18160</a>
for details.
</p>
<p>
Our <a href="xorg.conf">xorg.conf</a> and <a href="gdm.conf">gdm.conf</a>
are provided as examples. The option <b>sharevts</b> that is according
to all sources needed for multi seat setups is undocumented.
So I only have a rough idea why my Xorg servers need to share vts.
For my setup it was however necessary to <b>omit</b> that option
for the first seat.
</p>
<p>The other trick that made our system finally stable was to preload
the nvidia kernel module:</p>
<pre>enter:~# grep nvidia /etc/modules
nvidia
</pre>
<p>My theory was that multiple starting xorg servers loading the nvidia
module lead to concurrency problems. It seems that there now is
<code>/etc/modprobe.d/nvidia-kernel-nkc</code> to do this,
so you may not need it.</p>
<!-- h3>Removable Devices</h3>
<p>If you plug in a removable device (an usb stick, an sd card or the like) into the multi seat box,
all users get notified. That is annoying, but the real problem is that one of the logged
in users automatically mounts the device. This user is the only one that has write access
and that can umount the device.
</p>
<p>A solution would be to mount the device with <code>umask=0002,gid=46,users</code> (46 is plugdev).
How do we get gnome to do that? GConf can do that with
<a href="%25gconf-tree.xml">/etc/gconf/gconf.xml.mandatory/%gconf-tree.xml</a>. This will lead to
messages about invalid mount options since we need to allow hal the new options. This is done
with <a href="21-storage-methods-local.fdi"
>/usr/share/hal/fdi/policy/10osvendor/21-storage-methods-local.fdi</a>.</p -->
<h3>Wine Gaming</h3>
<p>Installing wine is - you guessed it - easy.
<code>apt-get install wine</code> does it,
no matter if you are on i386 or amd64. If you are on amd64, you do
however also need nvidia-glx-ia32 to pass the nvidia opengl from 64bit
to 32bit wine.</p>
<p>To test if your wine has a working opengl I recommend the
<a href="http://www.ozone3d.net/gpu_caps_viewer/">GPU Caps Viewer</a>.
If wine opengl is working
the string it displays in <i>OpenGL>OpenGL Version</i> <b>must</b>
exaxtly match glxinfos <i>OpenGL version string</i>. The GCV
also comes with several test demos for opengl 2+ features.
This is actually a much better test than glxgears for your linux
opengl.</p>
<p>Working opengl makes lots of games playable. There are however
still lots of graphics issues and there are copy protection schemes
that will probably never work in wine.</p>
( run in 1.323 second using v1.01-cache-2.11-cpan-cd2fffc590a )