NVIDIA driver XEN-es rendszer alatt

Noh.. Csak rávettem magam, hogy ezt is elkövessem :)
A célgép egy Debian Lenny volt, kézileg forgatott ( Mercurial Repository-ból ) XEN patch-ekkel megáldott kernellel ( szal véletlenül se factory default ), integrált Geforce 6100-al. Ez a szegényke kapta meg a már régóta áhítozott 100.14.11-es Nvidia driverét ( hogy miért pont ezt arra egyszerű a válasz: Ezt tudtam összehozni :))

Na akkor nézzük mi is kelett a folyamathoz:

    - A kernel forrás ( nem szükségszerűen a /usr/src/linux alatt, bár tény, hogy megkönnyíti az ember életét.. Sztahano módon nekem persze, hogy nem ott volt.. :))
    -Egy nvidia framebuffer NÉLKÜL forgatott kernel ( a frambeuffer, és az Nvidia által szállított zárt driver hajlamos összeveszni, ami ritkán vezet jóra )
    -Maga az Nvidia driver
    -Illetve a hozzá való patch

Na akkor a folyamat hogy is nézett ki?

-Miután lekaptuk az nvidia drivert csomagoljuk is ki szépen (a kicsomagoláskor autómatikusan létrehoz magának egy mappát!)

    Klotild:/data/Nvidia# sh NVIDIA-Linux-x86-100.14.11-pkg1.run -x
    Creating directory NVIDIA-Linux-x86-100.14.11-pkg1
    Verifying archive integrity... OK
    Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86 100.14.11
    ........................................................................
    ........................................................................
    ........................................................................
    ..............................................................

- Ezek után jön az, hogy patch-eljük meg a kicsomagolt driverünket ( ehez elötte nem árt belépni a létrehozott könyvtáron belül a ./usr/src mappába )

    Klotild:/data/Nvidia/NVIDIA-Linux-x86-100.14.11-pkg1/usr/src# patch -p0 < ../../../patch-xen3.0-nvidia100.14.11.txt
    patching file nv/conftest.sh
    patching file nv/nv.c
    patching file nv/nv-linux.h
    patching file nv/nv-vm.c
    patching file nv/os-agp.c
    patching file nv/os-interface.c

- Ha ez is megvan akkor most jön a szebbik rész: Adjuk meg, hogy hol is van az alap kernelünk ( SYSSRC paraméter ), majd építsük fel a modulunkat az alábbi parancsal:

    Klotild:/data/Nvidia/NVIDIA-Linux-x86-100.14.11-pkg1/usr/src/nv# make SYSSRC=/data/myxen/linux-2.6.18-xen/ module
    Bocs, hogy nem írom le a teljes kimenetet, de iszonyú hosszú.. Ha kell valakinek felrakom valahova.. Mindenesetre pár warningra mindenki számítson

-Ha ezzel is megvagyunk akkor rakjuk is a helyére a frissen fordított modulunkat, majd biztos ami biztos teszteljük is le, hogy minden a helyére került e:

    Klotild:/data/Nvidia/NVIDIA-Linux-x86-100.14.11-pkg1/usr/src/nv# install -D -o root -g root -m 0644 nvidia.ko /lib/modules/$(uname -r)/video/nvidia.ko
    Klotild:/data/Nvidia/NVIDIA-Linux-x86-100.14.11-pkg1/usr/src/nv# depmod -a
    Klotild:/data/Nvidia/NVIDIA-Linux-x86-100.14.11-pkg1/usr/src/nv# modprobe nvidia

- Ha mindennel sikeresen kész vagyunk, akkor onann már csak a xorg.conf-unkat kell szerkeszteni, hogy az nvidia drivert használja

    Section "Device"
    Option "XAANoOffscreenPixmaps" "true"
    Option "AllowGLXWithComposite" "true"
    Identifier "Videocard0"
    Driver "nvidia"
    VendorName "NVIDIA Corporation"
    BoardName "GeForce 6100"
    Option "TripleBuffer" "true"
    Option "HWCursor" "off" # Opció, hogy ne tünjön el az egér xorg restart után!
    EndSection

Ha minden szépen megy akkor a következő X indulásakkor már az Nvidia logó köszönt minket, és nézhetjük a glxgears-öt is :) ( nekem max screen-en olyan 270 fps körüli értékekre képes (nem tudom, hogy ez jó e, de azt látom, hogy működik :)