This site is now 100% read-only, and retired.

XML logo

Xinerama/multiple graphics cards on Debian Lenny
Posted by johns on Tue 31 Mar 2009 at 19:54

I recently upgraded a few computers from Etch to Lenny. Unfortunately, all of these had at least two monitors and two graphics cards. After installing Lenny I tried to configure Xinerama, and the X server crashed.

Some googling led me to these two pages.

The version of X.Org in Lenny no longer supports Xinerama on multiple graphics cards, and xrandr 1.2 doesn't support multiple graphics cards. It seems that support for it is being worked on for xrandr 1.3, but in the meantime I needed to get it working. Here are my notes.

First, install Lenny with only the Standard system profile selected.

One of the Etch X.Org packages has a Depends: line which reads something like: "sparch-utils | not+sparc". For some reason this depends on sparc-utils even on i386 on Lenny, and we need to create a dummy package using equivs to satisfy the requirement.

$ sudo aptitude install equivs
$ echo "Section: misc
Priority: optional
Standards-Version: 3.6.2

Package: sparc-utils
Description: Dummy package
 Needed to satisfy etch Xorg requirement
 .
 
" > sparc-utils.control
$ equivs-build sparc-utils.control

Install the dummy package:

$ sudo dpkg -i sparc-utils_1.0_all.deb

Now we can proceed with installing X.Org from Etch.

First, create a copy of sources.list:

$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.lenny

Then, replace lenny with etch in sources.list. Don't worry, we'll change it back later. It's possible that you can just add in Etch sources.list lines and modify /etc/apt/preferences, but I haven't tested it, and this way we ensure that no packages will be pulled in from Lenny.

$ sudo sed -i 's/lenny/etch/g' /etc/apt/sources.list

Now, update the package cache and install X.Org:

$ sudo aptitude update
$ sudo aptitude install xserver-xorg-core xorg fontconfig

Now that Etch X.Org is installed, you can restore sources.list. You might also want to edit sources.list and add the etch and etch/updates repositories as well, so you'll get any X.Org security updates and be able to reinstall any X.Org packages if needed.

$ sudo cp /etc/apt/sources.list.lenny /etc/apt/sources.list
$ sudo vim /etc/apt/sources.list

We need to make sure that the X.Org packages won't be upgraded to the Lenny versions. To do this, we can give the packages in Etch higher priority using APT pinning:

$ sudo vim /etc/apt/preferences
Package: defoma discover1 discover1-data fontconfig fontconfig-config
libdiscover1 libdrm2 libexpat1 libfontconfig1 libfontenc1 libfs6
libgl1-mesa-dri libgl1-mesa-glx libglu1-mesa libice6 libpng12-0
libsm6 libttf2 libx11-6 libx11-data libxau6 libxaw7 libxcursor1
libxdmcp6 libxext6 libxfixes3 libxft2 libxi6 libxkbfile1
libxmu6 libxmuu1 libxpm4 libxrender1 libxss1 libxt6 libxtrap6
libxtst6 libxv1 libxxf86dga1 libxxf86vm1 mdetect x11-common
xbase-clients xbitmaps xfonts-100dpi xfonts-75dpi xfonts-base
xfonts-encodings xfonts-scalable xfonts-utils xkb-data xorg
xresprobe xserver-xorg xserver-xorg-core xserver-xorg-input-all
xserver-xorg-input-evdev xserver-xorg-input-kbd xserver-xorg-input-mouse
xserver-xorg-input-synaptics xserver-xorg-input-wacom
xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
xserver-xorg-video-ati xserver-xorg-video-chips xserver-xorg-video-cirrus
xserver-xorg-video-cyrix xserver-xorg-video-dummy xserver-xorg-video-fbdev
xserver-xorg-video-glint xserver-xorg-video-i128 xserver-xorg-video-i740
xserver-xorg-video-i810 xserver-xorg-video-imstt xserver-xorg-video-mga
xserver-xorg-video-neomagic xserver-xorg-video-newport
xserver-xorg-video-nsc xserver-xorg-video-nv xserver-xorg-video-rendition
xserver-xorg-video-s3 xserver-xorg-video-s3virge xserver-xorg-video-savage
xserver-xorg-video-siliconmotion xserver-xorg-video-sis
xserver-xorg-video-sisusb xserver-xorg-video-tdfx xserver-xorg-video-tga
xserver-xorg-video-trident xserver-xorg-video-tseng xserver-xorg-video-v4l
xserver-xorg-video-vesa xserver-xorg-video-vga xserver-xorg-video-via
xserver-xorg-video-vmware xserver-xorg-video-voodoo xutils xutils-dev
Pin: release a=etch
Pin-Priority: 999

Note: I added newlines for the benefit of this document, but the preferences file expects the packages all on one line. You might want to replace all the xserver-xorg entries with a simple xserver-xorg* glob to make it more tidy, but be aware that I haven't tested it.

Now you should be able to run aptitude update and aptitude upgrade, and the apt-pinning should ensure that no X.Org packages will be upgraded. Be careful not to upgrade any X.Org packages unless there is a good reason. Copy over your old xorg.conf, install GNOME or KDE and you should have a working desktop.

A few final notes on installing the nvidia drivers:

First, make sure you have non-free included in sources.list. Then, install the packages nvidia-kernel-2.6-686 nvidia-glx nvidia-settings.

If you try to start X, you'll find the following error message in the X log: Need libwfb but wfbScreenInit not found. This happens because the X.Org version in Etch doesn't include libwfb.so. To fix it, you can follow these steps:

$ apt-get source nvidia-glx
$ cd nvidia*/
$ ./NVIDIA-Linux*pkg0.run -x # only unpack the archive
$ sudo cp NVIDIA-Linux*pkg0/usr/X11R6/lib/modules/libnvidia-wfb.so* /usr/lib/xorg/modules/libwfb.so

 

Comments on this Entry

Re: Xinerama/multiple graphics cards on Debian Lenny
Posted by Anonymous (88.70.xx.xx) on Sat 13 Jun 2009 at 12:02
Very nice, Works fine on Acer Travelmate 660.
Im going back from Ubuntu to Debian because on Ubuntu 9.04 the xinerama wont work with Intel GMA855. Thanks for this HowTo.

Uzilurcs

uzilurcs@cgrx.de

[ Parent ]