Let me share my (shiny new) experience in installing the nouveau driver on Slackware63-13.0 with KMS (kernel mode setting) enabled.
But what is KMS anyway ?
When we talk about "mode setting", we mean setting up things like the screen resolution and depth mode, in other words, configuring whatever it's necessary in the graphics card to get it ready to display things on the screen.
Until recently, it was X drivers' job.
In recent kernels most of this job can be done by the kernel. This has many advantages, among which faster X startup as well as safer suspend to RAM or disk and resume. For this to work kernel and X drivers for the graphic cards have to be modified accordingly. This has not been done for nVidia cards (nv open source driver and nvidia proprietary one) but is possible with the new (and still work-in-progress) open-source nouveau
driver. "nouveau" means new in French.
I installed it on my Lenovo T61 laptop including a nVidia Corporation Quadro NVS 140M (rev a1) graphical card and running Slackware64-13.0.
I followed the steps indicated here
. Keep in mind that you need to install two drivers for your card: a kernel driver (configured as a module) and an X driver.
To make a long story short I did this:
1) Following the InstallDRM
document I downloaded a recent kernel source including the Nouveau driver:
git clone --depth 1 git://anongit.freedesktop.org/nouveau/linux-2.6
There are other ways to install the Nouveau kernel driver than installing a new kernel including it but this one seems to be the safer.
2) I configured, compiled and installed it as usual. Be careful to include the Nouveau driver during configuration, see aforementioned document for detailed instructions.
3) Then I followed remaining steps of the installation
- Before you begin, uninstall the libdrm Slackware package but keep it at hand to install it back in case you'd like to uninstall Nouveau -- though libdrm be used neither by nv nor by nvidia drivers anyway.
- To be able to uninstall the specific libdrm for Nouveau (see InstallNouveau
step 4), keep the drm folder which was created so you can cd to it and "make uninstall" before installing back the Slackware package.
- Of course it'd be much better to make a package for Slackware of specific libdrm to be used with Nouveau but I'm too lazy now. May be later...
- As stated in InstallNouveau
, if you were previously using the binary driver by nVidia and want to get back this binary driver, edit xorg.conf and either copy NVIDIA's proprietary libglx.so back or run the installer again. Well, it could be a little more complicated than that as according to "slackpkg search libglx.so" this file is installed with the xorg-server package...
- Preferably perform most install steps in console mode (run level 3). Print aforementioned documents first.
- At step 4) of installation in InstallNouveau
you are told to run:
./autogen.sh ; ./configure --enable-nouveau-experimental-api --prefix=/usr/; make ; make install
But if you run Slackware64
-13.0 you should add --libdir=/usr/lib64 to the configure options so preceding line become:
./autogen.sh ; ./configure --enable-nouveau-experimental-api --prefix=/usr/ --libdir=/usr/lib64; make ; make install
- At first I couldn't properly start X. After some investigation I suspected that inserting thinkpad_acpi and nouveau modules at the same time was problematic. To avoid that I blacklisted nouveau but added following line at the end of /etc/rc.d/rc.local
[EDIT]Adding aforementioned line is not even necessary as the X driver loads the kernel driver anyway
Now X starts well -- and very fast !
Only remaining problem for now : VLC crashes whilst I watch TV (through ADSL) or DVD with it [EDIT] but only with the XVideo video output.
I'm ready to help you, would you encounter difficulties during installation.
Caveat: as already said the "nouveau" driver is still work-in-progress and it is very possible that it doesn't work with some graphical cards.