Linux Family Desktop

Hopefully useful information, use at your own risk

This page describes the setup I use to run a Linux based desktop system for my family. 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.

Hardware

The board is a

enter:~# dmidecode | grep -A3 -i "base board" 
Base Board Information
        Manufacturer: ASUSTeK Computer INC.
        Product Name: M3A32-MVP DELUXE
        Version: Rev 1.xx

with AMDs 790fx chipset. The board was choosen because it provides 4 PCIex16 slots.

All graphics cards are from nvidia.

enter:~# lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation NV44 [GeForce 6200 LE] (rev a1)
05:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2)

Note that the second card is a Gainward G210 which is cheap, passively cooled and has most of the latest features (OpenGL 3.2).

Choosing nvidia cards was probably a lucky choice. According to Chris Tylers everything else is less stable or will not work in a multi seat system.

Software

I am running this on debian wheezy 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.

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. apt-cache show nvidia-glx will tell you which cards are supported. If yours are among them a simple apt-get install nvidia-glx will install all the nvidia drivers including the necessary kernel module. You need to have main contrib non-free in your /etc/apt/sources.list since the nvida drivers are non-free.

To find out if 3d acceleration is working ask glxinfo from the mesa-utils package from inside an xterm.

jo@enter:~$ glxinfo | egrep -i direct\|opengl
direct rendering: Yes
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce 210/PCIe/SSE2
OpenGL version string: 3.3.0 NVIDIA 304.117
OpenGL shading language version string: 3.30 NVIDIA via Cg compiler
OpenGL extensions:

    ...

More Software

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 apt-get install flashplugin-nonfree. If you do this after opengl is working the plugin automatically uses opengl. Otherwise you will need to reconfigure your flash plugin later.

A nice piece of software that saves a lot of argueing is timekpr. It lets you limit your kids login time. The ubuntu deb is installable on lenny with:

enter:~# dpkg -i timekpr_0.3.0~ppa1~ubuntu1_all.deb

Multiseat - Works on Squeeze, Breaks on Wheezy

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 18160 for details.

The setup described here was ported from lenny to squeeze with little effort. It did however not work on wheezy. This is due to the fact that gdm3 does not support multicard multiseat. There is only one report on an nvidia multi seat on wheezy using gdm. The author forwardports gdm 2. Luckily kdm came to the rescue.

enter:~# aptitude install kdm kdm-gdmcompat

This needs a minimal configuration for unlocking the gnome login keyring on kdm login.

Our xorg.conf and kdmrc are provided as examples. The option sharevts 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 omit that option for the first seat.

Wine Gaming

Installing wine is - you guessed it - almost easy. apt-get install wine nearly does it, if you are on amd64 you will have to enable the i386 architecture. The wine package will tell you the details. If you are on amd64, you will also need libgl1-nvidia-glx:i386 to pass the nvidia opengl from 64bit to 32bit wine.

To test if your wine has a working opengl I recommend the GPU Caps Viewer. Wine opengl is working if the string it displays in OpenGL>OpenGL Version exaxtly matches glxinfos OpenGL version string. 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. In addition it gives you the furry cube. Take a look.

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.

References

A very similiar system (debian, 790fx, nvidia) is described here. Especially that description gives you more details on assigning mouse and keyboard to a seat.

Contact

This text was written some time after I did the setup. By then I could not remember all the details. If there are critical details missing contact me.