【3Dプリンター X Debian Linux】古いグラフィックボードだとCuraが動かなくなったのでPrusa Slicer(プルサスライサー)に引っ越しする


※ 当ページには【広告/PR】を含む場合があります。
2023/08/21
蛸壺の中の工作室|古いグラフィックボードだとCuraが動かなくなったのでPrusa Slicer(プルサスライサー)に引っ越しする



最近、ホコリを被っていた古めのデスクトップパソコンを引っ張り出して、Debian Linuxをインストールし、3Dプリント用に使おうとしていた矢先、個人的に普段使いのスライサー
「Cura」 がすんなりと使えないことが判明しました。
そこでここでは、代替の無償スライサーソフトである
「Prusa Slicer(プルサスライサー)」 が使えるかを軽く検証してみます。


「Cura 5」はOpenGL2+に対応したグラフィックボードが必要



今回のデスクトップPCは以下のようなDebian Linuxで動作確認しています。

            $ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm

        

先にグラフィックカードデバイスを確認しておくと、

            $ lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GF108 [GeForce GT 630] (rev a1)

        

で、十年も前に買って、あまり使わないまま放置してきたものを使っています。
この古いグラフィックボードを搭載したデスクトップPCから「Cura5」を開いたときに、

合同会社タコスキングダム|蛸壺の技術ブログ


という警告のダイアログボックスが表示され、起動がコケてしまいます。
どうやら、Cura5より最新のバージョンでは、OpenGL2より以前のビデオカードドライバしかサポートしていないデバイスは対応しなくなったようです。
なお、例外的に一部のグラフィックボードは

            $ MESA_LOADER_DRIVER_OVERRIDE=i965 ./Ultimaker-Cura-5.*.*-linux.AppImage

        

と起動時にビデオカードドライバの指定を切り替えると動作することもあるようです。

参考|Ubuntu 22.04 Cura 5 - Could not probe OpenGL. This program requires OpenGL 2.0 or higher.


どうしても3Dプリンターのスライサーは「Cura」でなくては困るという場合には、モダンなOpenGL2+対応のグラフィックボードを入手するほうが何も悩まなくてすむので、手っ取り早い対策です。
ここでは、著者個人の信条として、
「スライサーはハードウェア環境依存が少なく、軽量な方が良い」 と考えているので、ここいらでCuraに区切りをつけて、もっと別のスライサーを模索するいい機会じゃないかと。
ということで、個人的に色々と試したなかで、古いグラフィックボードでも安定して動作し、しかも高機能な
「Prusa Slicer(プルサスライサー)」 を導入してみます。


Debianでも「Prusa Slicer」を動かしたい

「PrusaSlicer」 の大きな特徴の一つとしてあげられるのは、 SLA(光造形)方式とFDM(熱溶解積層)方式の両方 を一括してスライス可能という点にあります。
Curaだと、主にFDM方式に特化したスライサーだったのですが、PrusaSlicerはSLAとFDMの2つの方式を同時に操作することが可能です。

Linux向けAppImage版のダウンロード



2023年8月現在でもっとも簡単なLinux版のPrusaSlicerのインストールは、公式からAppImageをダウンロードして直接実行するやり方を行います。
公式の
Prusa Research のトップメニューから、 [Software] のページから [Linux] をクリックしましょう。

合同会社タコスキングダム|蛸壺の技術ブログ


クリックすると、
prusa3d_linux_2_*_0.zip みたいな名前のZIPファイルがダウンロードされます。
ダウンロードが完了したら、中身を見てみると、以下のようなAppImageファイルが解凍されています。

            $ ls
PrusaSlicer-2.6.0+linux-armv7l-GTK2-202306191220.AppImage
PrusaSlicer-2.6.0+linux-x64-GTK2-202306191220.AppImage
PrusaSlicer-2.6.0+linux-x64-GTK3-202306191220.AppImage

        

主に3つが同梱されていて、このうち
...-armv7l-... はARMアーキテクチャのCPUで動く実行ファイルで、ラズベリーパイのような小型のベアボーンPCで動かすことが可能です。
他の
...-x64-GTK2-......-x64-GTK3-... は今回のようなデスクトップPCのうち、GUIツールキットの対応具合で、GTK2かGTK3を選べるようになっています。
Debian12の場合はGTK2でもGTK3でも好きな方を動作可能です。 特に理由が無いのであれば、GTK3版を動かします。

            $ chmod +x PrusaSlicer-2.6.0+linux-x64-GTK3-202306191220.AppImage
$ ./PrusaSlicer-2.6.0+linux-x64-GTK3-202306191220.AppImage

        
合同会社タコスキングダム|蛸壺の技術ブログ


動きもサクサクと、作業も快適そうな感じです。
ということで、最低限の3Dプリンター用スライサーとして動けばよいという方は、低スペックなLinuxマシーンでも安定動作が期待できる「PrusaSlicer」は非常に良いツールとなるように思います。
時間があれば、今後ちょこちょことPrusaSlicerの使い方メモを記事に残していこうかと画策中です。

PrusaSlicerの初回立ち上げでデスクトップアイコンを設定する



現時点で、PrusaSlicerがLinux用に提供されているアプリケーション形式は「AppImage」のみです。
基本的にAppImageの場合、インストーラーが提供されているアプリケーションとは違い、自動ではアプリケーションアイコン化がなされないため、起動するにはターミナルからコマンド的にプログラム実行する必要があります。
とはいえ普段遣いのツールであれば、毎回コマンドで起動させるのは面倒です。
使用頻度の高いアプリケーションはデスクトップアイコン化して、デスクトップメニューから使えるようにしておいたほうが良いでしょう。
その点、PrusaSlicerは、AppImageの初回立ち上げの際に、デスクトップアイコンを登録できるような仕様になっているため、とてもユーザーフレンドリーです。
PrusaSlicerを立ち上げ、
[構成] > [構成ウィザード] を起動します。

合同会社タコスキングダム|蛸壺の技術ブログ
ようこそ のページから デスクトップ統合 にチェックを入れましょう。

合同会社タコスキングダム|蛸壺の技術ブログ


チェックを入れてから、構成ウィザードを
[終了] させると、デスクトップ統合が即時完了し、デスクトップのアプリケーションメニューにPrusaSlicerが登録されていることが確認できます。

合同会社タコスキングダム|蛸壺の技術ブログ

PrusaSlicerを手動でデスクトップアイコン化する



PrusaSlicerに限らず、他のAppImage形式のアプリケーション全般に言えることですが、ファイルの移動などで、AppImageの置き場所が変わると、デスクトップアイコンへのリンクも消失して起動できなくなる恐れがあります。
また、バージョンアップデートに対応して、最新のAppImageに置き換える場合にも、微妙な名前の差異などで起動できないことがあるかもしれません。
そこで、デスクトップアイコンの設定の微妙な修正を手動で行えるように、「デスクトップアイコン化」の手順を覚えておかれると役に立つ時があります。
まず、AppImageが無計画に散らかると後々混乱をきたすので、決まった置き場所をホームフォルダ内に
AppImage という名前で作成します。
そのフォルダに、PrusaSlicerのAppImageファイルを移動させておきます。

            $ mkdir -p ~/AppImage/PrusaSlicer
$ mv PrusaSlicer-2.6.0+linux-x64-GTK3-202306191220.AppImage ~/AppImage/PrusaSlicer

        

AppImageのパスが決まったので、次にデスクトップエントリーファイルを編集しましょう。
Debian Linuxでのデスクトップエントリーファイルは
.desktop の拡張子をもつファイルで、特定のディレクトリに登録することで、デスクトップに実行するアプリとして知らせることが可能です。
主に、デスクトップエントリーファイルの置き場所は以下の3つです。

            全ユーザ向けアプリケーションで登録:
    /usr/share/applications
    もしくは
    /usr/local/share/applications

個別ユーザ向けアプリケーションで登録:
    ~/.local/share/applications

        

今回でいえば
~/.local/share/applications 配下に、PrusaSlicerの構成ウィザードから設定されたデスクトップエントリーファイルが確認できます。

            $ ls ~/.local/share/applications | grep Prusa
PrusaSlicer.desktop
PrusaSlicerURLProtocol.desktop
PrusaSlicerGcodeViewer.desktop

        

ではメインアプリケーションは
PrusaSlicer.desktop が以下のようになっているので、移動や更新による変更後の正しいAppImageへのパスを Exec へキチンと反映させましょう。

            [Desktop Entry]
Name=PrusaSlicer
GenericName=3D Printing Software
Icon=PrusaSlicer
Exec="/home/<ユーザー名>/AppImage/PrusaSlicer/PrusaSlicer-2.6.0+linux-x64-GTK3-202306191220.AppImage" %F
Terminal=false
Type=Application
MimeType=model/stl;application/vnd.ms-3mfdocument;application/prs.wavefront-obj;application/x-amf;
Categories=Graphics;3DGraphics;Engineering;
Keywords=3D;Printing;Slicer;slice;3D;printer;convert;gcode;stl;obj;amf;SLA
StartupNotify=false
StartupWMClass=prusa-slicer

        

これでちゃんと正常に起動できるようになればOKです。


まとめ



今回は、Cura5からPCのハードウェアスペックを要求されるようになってしまったため、その代替スライサーソフトとして、
「PrusaSlicer」 に移行するための手引き的なお話でした。
今後はもう少しテクニック的な話題にも触れていきたいと思います。