Nvidia の proprietary なドライバを Plamo 用にパッケージ化してみた。 ・nvidia_setting-535.86-05-x86_64-B1.tzst: Nvidia用各種設定ツール(nvidia-setting)を提供 ・nvidia_utils-535.86.05-x86_64-B1.tzst: Nvidiaが提供するxorg用のドライバやOpenGL/OpenCLのライブラリ類。 これらは NVIDIA-Linux-x86_64-535.86.05.run 等のNvidiaが提供するバイナリパッケージから、 Arch Linuxのスクリプトを参考に必要なドライバやライブラリ類を再配置し、tzst な形式にまとめたもので、 Nvidia のパッケージ更新に合わせて再構築する必要がある。 ・nvidia_open-535.86.05-x86_64-B1.tzst: Nvidia グラボ用のカーネルモジュール LinuxカーネルからNvidiaのグラボを使う際のDRM(Direct Rendering Manager)やmodeset機能を提供するモジュール。 これらは(最近)ソースコードが公開されたので、自前で kernel-6.1.41 用にビルドしてパッケージ化した。 ソースコードは /usr/src/nvidia-535.86.05/ 以下にインストールされており、カーネルをアップデートすると このディレクトリで make modules してカーネルのバージョンに合致したモジュールを作り直す必要がある。 作成したモジュールは $ ls /lib/modules/6.1.41-plamo64/extramodules/ nvidia-drm.ko.xz nvidia-modeset.ko.xz nvidia-peermem.ko.xz nvidia-uvm.ko.xz nvidia.ko.xz に配置し、depmod -a しておく必要がある。 # このあたり、dkms を使えば自動化できそうなので要調査 どの程度使いものになるのかはよく分かってないけど(苦笑)、とりあえず nvidia-xconfig で作った xorg.conf を /etc/X11/xorg.conf として置けば X は起動し、pytorch の torch.cuda.is_available() が True で StableDiffusion web-ui で画像が作成できることは確認した。 2023-08-08 ・nvidia_open-535.86.05-x86_64-B2.tzst # kernel_230801-6.1.42-8x6_64-B1.tzst 用にNvidia カーネルモジュール再構築 2023-08-09 ・nvidia_open-535.86.05-x86_64-B3.tzst # kernel_230808-6.1.44-8x6_64-B1.tzst 用にNvidia カーネルモジュール再構築 2023-08-12 ・nvidia_utils-535.98-x86_64-B1.tzst ・nvidia_open-535.98 は kernel_230812-6.1.45-x86_64-B1.tzst の方に組み込んだ 2023-11-02 ・opengpu-kernel-modules-545.29.02 に更新 ・nvidia-{settings,utils}-545.29.02 に更新 GPUを使用中(例えば stablediffusion-webui/webui.sh を実行中)に pm-suspend すると 正しく GPU が resume しない模様。webui.sh を終了して # /etc/rc.d/init.d/nvidia-persistenced stop # rmmod nvidia-uvm # modprobe nvidia-uvm # /etc/rc.d/init.d/nvidia-persistenced start すれば復活することもあるが、うまく行かない場合も多いので、pm-suspend 前には webui.sh を終了しておくのが吉