OpenGL サポートでビルドされ、Flatpak としてパッケージ化された一部のアプリケーションとゲームは、専用の Nvidia ドライバーでは起動できません。この記事では、オープン ソース ドライバー (Nouveau) をインストールせずに Flatpak アプリケーションやゲームを起動する方法について説明します。
ここに例があります。 Ubuntu 18.04 デスクトップで専用の Nvidia ドライバーを使用しています (nvidia-driver-390
) そして、Flatpak としてインストールされた最新の Krita 4.1 (OpenGL サポートでビルドされたもの) を起動しようとすると、次のエラーが発生します:
$ /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=krita --file-forwarding org.kde.krita
Gtk-Message: Failed to load module "canberra-gtk-module"
Gtk-Message: Failed to load module "canberra-gtk-module"
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Could not initialize GLX
Winepak ゲーム (Wine に Flatpak パッケージとしてバンドルされている Windows ゲーム) も、2016 年から公開されているこの Flatpak 出力の影響を受けているようです。
独自の Nvidia グラフィックス ドライバーで OpenGL を使用しているときに Flatpak のゲームとアプリケーションが起動しない問題を修正するには、現在インストールされている独自の Nvidia ドライバー用のランタイムをインストールする必要があります。
1. FlatHub リポジトリをまだ追加していない場合は追加します。 Linux ディストリビューションの詳細な手順については、こちらをご覧ください。
2.次に、システムにインストールされている独自の Nvidia ドライバーの正確なバージョンを確認する必要があります。
この手順は、使用している Linux ディストリビューションによって異なります。すべてのケースをカバーすることはできません。以下の手順は Ubuntu 向け (および Ubuntu のバリアント) ですが、システムにインストールされている Nvidia ドライバーのバージョンを自分で確認できることを願っています。
Ubuntu でこれを行うには、Software & Updates
を開きます。 、 Additional Drivers
に切り替えます Tab キーを押して、Nvidia ドライバー パッケージの名前を書き留めます。
例として、これは nvidia-driver-390
です 私の場合、ここでわかるように:
それがすべてではありません。 Nvidia ドライバーのメジャー バージョンしか特定できませんでしたが、マイナー バージョンも把握する必要があります。次のステップで必要な Nvidia ドライバーの正確なバージョンを取得するには、次のコマンドを実行します (Ubuntu、Linux Mint などの Debian ベースの Linux ディストリビューションで動作するはずです)。
apt-cache policy NVIDIA-PACKAGE-NAME
NVIDIA-PACKAGE-NAME は、Software & Updates
にリストされている Nvidia ドライバー パッケージの名前です。 .たとえば、nvidia-driver-390
の正確なバージョンを調べるには パッケージ、次のコマンドを実行:
$ apt-cache policy nvidia-driver-390
nvidia-driver-390:
Installed: 390.48-0ubuntu3
Candidate: 390.48-0ubuntu3
Version table:
*** 390.48-0ubuntu3 500
500 https://ro.archive.ubuntu.com/ubuntu bionic/restricted amd64 Packages
100 /var/lib/dpkg/status
このコマンドの出力で、Installed
を探します。 バージョン番号をセクションに分けて書き留めます (-0ubuntu3
を除く) および類似)。これで、インストールされている Nvidia ドライバーの正確なバージョン (390.48
) がわかりました。 私の例では)。次のステップで必要になるので覚えておいてください。
3.最後に、FlatHub からインストール済みの独自の Nvidia グラフィックス ドライバー用の Nvidia ランタイムをインストールできます
FlatHub で利用可能なすべての Nvidia ランタイム パッケージを一覧表示するには、次のコマンドを使用できます:
flatpak remote-ls flathub | grep nvidia
インストールした Nvidia ドライバーのランタイムが FlatHub で利用できるようになることを願っています。次のコマンドを使用して、ランタイム環境のインストールに進むことができます:
- 64 ビット システムの場合:
flatpak install flathub org.freedesktop.Platform.GL.nvidia-MAJORVERSION-MINORVERSION
MAJORVERSION をコンピューターにインストールされている Nvidia ドライバーのメジャー バージョン (上記の例では 390) に置き換え、
MINOR VERSION をマイナー バージョン (ステップ 2 の例では 48) に置き換えます。
たとえば、Nvidia グラフィックス ドライバー バージョン 390.48 のランタイムをインストールするには、次のコマンドを使用する必要があります:
flatpak install flathub org.freedesktop.Platform.GL.nvidia-390-48
- 32 ビット システムの場合 (または 32 ビット アプリケーションやゲームを 64 ビットで実行できるようにする場合)、次のように 32 ビット ランタイムをインストールします。
flatpak install flathub org.freedesktop.Platform.GL32.nvidia-MAJORVERSION-MINORVERSION
ここでも、MAJOR VERSION をコンピューターにインストールされている Nvidia ドライバーのメジャー バージョン (上記の例では 390) に置き換え、MINORVERSION をマイナー バージョン (手順 2 の例では 48) に置き換えます。
たとえば、Nvidia グラフィックス ドライバー バージョン 390.48 の 32 ビット ランタイムをインストールするには、次のコマンドを使用する必要があります:
flatpak install flathub org.freedesktop.Platform.GL32.nvidia-390-48
OpenGL で作成された Flatpak パッケージ アプリケーションまたはゲームを入手するために必要なことはこれだけです。