第3回 : Debian 13でNVIDIAを使うためのsources.list完全設計【non-free-firmware対応】

Debian

本記事の位置づけ

本記事は、
Debian 13(Trixie)で NVIDIA を安定・再現性をもって使うための土台を作る回です。

  • NVIDIA ドライバは まだ入れない
  • GPU 設定も まだ触らない
  • やることは APT リポジトリ設計だけ

しかしここを雑にすると、

  • 依存関係が壊れる
  • アップデートで NVIDIA が突然死ぬ
  • なぜ壊れたのか分からない

という 長期的に最悪な構成になります。

逆に言えば、

この回だけ正しくやれば、以降の作業はかなり安全になる

それくらい重要な回です。


なぜ APT リポジトリ設計が重要なのか

Debian で NVIDIA を使う場合、問題の大半は

  • ドライバそのもの
    ではなく
  • リポジトリ設計のミス

から始まります。

よくある失敗例:

  • non-free-firmware を入れていない
  • backports を常用している
  • experimental を混ぜている
  • Ubuntu向け情報を流用している

これらは 短期的には動くこともある
しかし 後から必ず破綻します。

このシリーズでは、

Debian公式が想定している範囲だけで NVIDIA を使う

という方針を取ります。


non-free-firmware とは何か(超重要)

Debian 12 以降、
ファームウェアは non-free-firmware というセクションに分離されました。

なぜ分離されたのか

  • ファームウェアはオープンソースではない
  • しかし実用上は必須
  • だから「思想」と「実用」を切り分けた

という Debian らしい設計です。

NVIDIA と non-free-firmware の関係

RTX 30 系を含む NVIDIA GPU は、

  • GPU 本体
  • 周辺機能
  • 初期化処理

非公開ファームウェアを必要とします

つまり:

  • non-free-firmware無いと詰む
  • 途中から追加すると 依存関係が壊れやすい

👉 最初から入れておくのが唯一の正解


なぜ backports / experimental を使わないのか

backports を使わない理由

backports は、

  • 新しいパッケージを
  • 古い Debian で使う

ための仕組みです。

しかし NVIDIA 運用では:

  • カーネル
  • DRM
  • Mesa
  • Xorg 周り

半端に新しくなり
DKMS やドライバとズレやすくなります。

👉 安定性より新しさが欲しい人向け
👉 本シリーズの目的とは真逆


experimental を使わない理由

experimental は名前の通りです。

  • 仕様変更途中
  • 依存関係未確定
  • 動いても保証なし

NVIDIA ドライバと組み合わせる理由は 一切ありません

👉 検証用・開発用以外で触る理由なし


本シリーズで採用するリポジトリ方針(結論)

このシリーズでは、以下のみを使用します。

  • main
  • contrib
  • non-free
  • non-free-firmware

これ以上も、これ以下も使いません。


Debian 13(Trixie)用 sources.list【完全版】

なぜ full-upgrade なのか

  • 新しいリポジトリ構成に合わせて
  • 依存関係を再計算
  • 必要ならパッケージの入れ替えも行う

upgrade では 足りません

ここで一度、

Debian 全体を「正しい土台」に揃える

という意味があります。


この時点での注意点

  • NVIDIA ドライバは まだ入れない
  • nouveau も まだ触らない
  • 再起動は 不要

ここまでで、

Debian 13 が NVIDIA を受け入れる準備が整った

という状態になります。


この回で分かったこと

  • non-free-firmware は必須
  • backports / experimental は不要
  • Debian公式構成だけで十分
  • APT設計が NVIDIA 成否の8割を決める

次回予告(第4回)

次回は、
NVIDIA ドライバが壊れないための下地作りを行います。

  • build-essential
  • dkms
  • linux-headers
  • firmware パッケージ

👉 ここを飛ばすと、あとで確実に詰む