Loading

Lassin kotisivut

Nvidia ajureiden asennusopas Debian 13

Tämä dokumentti ohjaa nvidia näytönohjaimen ajureiden asennuksen Debian 13 käyttöjärjestelmään.
Alkuperäisissä muistiinpanoissasi oli sekoitettu kaksi eri asennustapaa: virallinen Debian pakettienhallinnan kautta tehtävä asennus sekä Nvidian sivuilta ladattavan manuaalisen .run asennusohjelman käyttö.

HUOM: Linux ympäristöissä on suositeltavaa käyttää ensisijaisesti jakelun omaa
pakettienhallintaa. Se takaa, että ajurit päivittyvät automaattisesti uuden linux kernelin mukana dkms järjestelmän avulla. Jos kuitenkin tarvitset uusimman mahdollisen ajurin suoraan
Nvidialta, käytä manuaalista asennusta.

Tapa 1: Suositeltu asennus Debian pakettivarastoista

Tämä on helpoin tapa asentaa ajurit sekä se muotoutuu täydellisesti järjestelmän päivityksiin.

apt update
apt install nvidia-detect
nvidia-detect

Seuraavaksi riippuvuudet sekä itse ajurit.

apt update
apt install build-essential linux-headers-$(uname -r) dkms
sudo apt install nvidia-driver firmware-misc-nonfree
reboot now

Ja lopuksi vielä tarkistus:

nvidia-smi

Tapa 2: Manuaalinen asennus Nvidian .run-tiedostolla

Jos haluat käyttää suoraan Nvidian sivustolta ladattua ajuripakettia seuraa näitä korjattuja ja täydennettyjä
vaiheita.

Nouveau-ajurin estäminen

Nnouveau ajuri täytyy ottaa pois käytöstä jotta Nvidian oma ajuri voi latautua ongelmitta.

nano /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0

Initramfs päivittäminen

Debian käyttää oletuksena initramfs järjestelmää. Jos olet erikseen asentanut dracut
järjestelmän, käytä sille tarkoitettua komentoa.

update-initramfs -u

Tai Dracut:

dracut --force

3. Käynnistä järjestelmä uudelleen tekstitilaan

Ajureita ei voi asentaa graafisen käyttöliittymän ollessa käynnissä toisin kuin Windows käyttöjärjestelmässä. Käynnistä tietokone uudelleen ja siirry
cli/terminaaliin tai juokse komento systemctl stop gdm3 tai lightdm.

4. Työkalut sekä kirjastojen asennus

apt update
apt install build-essential gcc-multilib dkms pkg-config libglvnd-dev
apt install xserver-xorg-dev libvulkan1 vulkan-utils linux-headers-$(uname -r)

5. Ajuritiedoston juokseminen

Mene Nvidian virallisille sivuille nvidia.com ja lataa sieltä näytönohjaimellesi oikea linux .run paketti. Muista myös valita Linux 64 bit! Kopio lataus linkki ja käytä wget komentoa saadaksesi ajurit helpoiten tai käytä selainta mikäli olet graafisella käyttöjärjestelmällä.

Juostaan asennustiedosto. Asennusohjelman kysymyksiin vastataan yleensä myöntävästi Yes, erityisesti 32 bit
yhteensopivuuskirjastojen ja automaattisen päivityksen kohdalla.

HUOM: lisäargumentti –dkms Rekisteröi ajurin dynamic kernel lodule supportiin estää ajurin rikkoutumisen
kernel päivityksissä, erittäin tärkeä muista siis lisätä se loppuun!

chmod +x NVIDIA-Linux-x86_64-*.run
./NVIDIA-Linux-x86_64-*.run --dkms
reboot

Uudelleen käynnistyksen jälkeen tarkistetaan että ajurit sekä näytönohjain tunnistautuvat oikein.

nvidia-smi

Tuon komennon pitäisi näyttää näytönohjaimestasi tärkeitä tietoja, esimerkiksi: Näytönohjaimen mallin, ajurien version, lämpötilat virrankulutus/kulutus sekä mikä prosessi käyttää ja kuinka paljon näytönohjainta.

+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.12                 Driver Version: 580.12         CUDA Version: 13.0     |
|-----------------------------------------+------------------------+----------------------|
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 4070        Off |   00000000:01:00.0  On |                  N/A |
| 30%   42C    P8               18W / 200W|     842MiB / 12282MiB  |      4%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A      1548      G   /usr/lib/xorg/Xorg                             210MiB|
|    0   N/A  N/A      1862      G   /usr/bin/gnome-shell                           165MiB|
|    0   N/A  N/A      3120      G   /usr/lib/firefox/firefox                       245MiB|
|    0   N/A  N/A      4876      G   /usr/bin/code                                  222MiB|
+-----------------------------------------------------------------------------------------+

EXTRAA: Docker ja Nvidia container toolkit

Jotta Docker ympäristö  voivat hyödyntää näytönohjaimen
tehoa asennetaan Nvidia container toolkit.

1. Pakettien lisääminen ja asennus

Debian 13:ssa suositellaan virallisen Nvidian pakettien lisäämistä uusimman version varmistamiseksi:

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | gpg --dearmor -
o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg

curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-
toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-
container-toolkit-keyring.gpg] https://#g' | tee /etc/apt/sources.list.d/

nvidia-container-toolkit.list
apt update
apt install nvidia-container-toolkit

Sitten vielä Dockerin asennus mikäli sitä ei ole:

curl -fsSL https://get.docker.com | sh

2. Docker-integraation määritys ja käynnistys

Määritetään container toolkit lisäämään Nvidia ajurituki Dockerin runtimeen:

nvidia-container-toolkit runtime configure --runtime=docker
sudo systemctl restart docker

Sitten vielä testaus:

docker run --rm --gpus all nvidia/cuda:12.0.0-base-ubuntu22.04 nvidia-smi

Näytönohjaimen liittäminen Docker konttiin

Tässä vielä esimerkki Dockerin compose.yaml tiedostossa johon täytyy lisätä muutama asia jotta kontti voi käyttää näytönohjainta. Tässä kontissa on tärkeimmät eli vaaditut enviroment muuttujat sekä deploy.

compose.yaml
version: "3.9"

services:
  gpu-app:
    image: nvidia/cuda:12.4.1-base-ubuntu22.04
    container_name: gpu-test-container

    # Example command (replace with your real app)
    command: ["bash", "-c", "nvidia-smi && sleep infinity"]

    environment:
      - NVIDIA_DRIVER_CAPABILITIES=all
      - NVIDIA_VISIBLE_DEVICES=all

    deploy:
      resources:
        reservations:
          devices:
            - capabilities:
                - gpu

Tarkistetaan vielä että komento nvidia-smi toimii kontissa sekä näytönohjain on annettu kontille onnistuneesti. Sekä käynnistetään kontti taustalle.

docker compose up -d

Tarkistus:

docker exec -it gpu-test-container nvidia-smi

Tai.

docker compose exec gpu-app nvidia-smi

Nyt on näytönohjain otettu oikein käyttöön! Näytönohjaimen lisäys antaa teho boostin Debianille sekä muille Distorille mikäli laskentatehoa tarvitsee enemmän mitä prosessori kykenee tarjoamaan. Tämä on todella tärkeä erityisesti silloin kun ylläpidät itsenäistä palvelinympäristöä ja hyödynnät Dockeria resursseja vaativiin tehtäviin, olipa kyseessä sitten suurten mediakirjastojen tehokas käsittely AV1 tai muu enkoodaus tai muiden raskaiden  asioiden kuten paikallisen tekoäly mallin pyörittäminen.

Shopping Basket