GNU/Linux >> Linux Esercitazione >  >> Debian

Ecco come ottenere app e giochi Flatpak creati con OpenGL per funzionare con driver grafici proprietari Nvidia

Alcune applicazioni e giochi creati con il supporto OpenGL e impacchettati come Flatpak non possono essere avviati con driver Nvidia proprietari. Questo articolo spiega come avviare tali applicazioni o giochi Flatpak senza installare i driver open source (Nouveau).

Ecco un esempio. Sto usando i driver proprietari Nvidia sul mio desktop Ubuntu 18.04 (nvidia-driver-390 ) e quando provo ad avviare l'ultimo Krita 4.1 installato come Flatpak (che è stato creato con il supporto OpenGL) ottengo i seguenti errori:

$ /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

Anche i giochi Winepak (giochi Windows in bundle con Wine come pacchetti Flatpak) sembrano interessati da questo output Flatpak, aperto dal 2016.

Per correggere i giochi e le applicazioni Flatpak che non si avviano quando si utilizza OpenGL con driver grafici Nvidia proprietari, sarà necessario installare un runtime per i driver Nvidia proprietari attualmente installati. È così che si fa.

1. Aggiungi il repository FlatHub se non l'hai già fatto. Puoi trovare istruzioni dettagliate per la tua distribuzione Linux qui.

2. Ora devi scoprire la versione esatta dei driver proprietari Nvidia installati sul tuo sistema.

Questo passaggio dipende dalla distribuzione Linux che stai utilizzando e non posso coprire tutti i casi. Le istruzioni seguenti sono orientate a Ubuntu (e varianti di Ubuntu), ma si spera che tu possa scoprire da solo quale versione del driver Nvidia è installata sul tuo sistema.

Per farlo in Ubuntu, apri Software & Updates , passa a Additional Drivers Tab e annota il nome del pacchetto driver Nvidia.

Ad esempio questo è nvidia-driver-390 Nel mio caso, come puoi vedere qui:

Non è tutto. Abbiamo scoperto solo la versione principale del driver Nvidia, ma dobbiamo conoscere anche la versione minore. Per ottenere l'esatta versione del driver Nvidia di cui avremo bisogno per il passaggio successivo, esegui questo comando (dovrebbe funzionare in qualsiasi distribuzione Linux basata su Debian come Ubuntu, Linux Mint, ecc.):

apt-cache policy NVIDIA-PACKAGE-NAME

Dove NVIDIA-PACKAGE-NAME è il nome del pacchetto di driver Nvidia elencato in Software & Updates . Ad esempio, per scoprire la versione esatta del nvidia-driver-390 Pacchetto, esegui questo comando:

$ 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


Nell'output di questo comando, cerca il Installed Seziona e annota i numeri di versione (tranne -0ubuntu3 e simili). Ora conosciamo la versione esatta dei driver Nvidia installati (390.48 nel mio esempio). Ricorda perché ne abbiamo bisogno per il passaggio successivo.

3. Infine, puoi installare il runtime Nvidia per i driver grafici Nvidia proprietari installati da FlatHub

Per elencare tutti i pacchetti di runtime Nvidia disponibili su FlatHub puoi usare questo comando:

flatpak remote-ls flathub | grep nvidia

Si spera che il runtime per i driver Nvidia installati sia disponibile su FlatHub. È ora possibile procedere all'installazione dell'ambiente di runtime utilizzando questo comando:

  • Per sistemi a 64 bit:

flatpak install flathub org.freedesktop.Platform.GL.nvidia-MAJORVERSION-MINORVERSION

Sostituisci MAJORVERSION con la versione principale del driver Nvidia installato sul tuo computer (390 nel mio esempio sopra) e
MINOR VERSION con la versione secondaria (48 nel mio esempio dal passaggio 2).

Ad esempio, per installare il runtime per il driver grafico Nvidia versione 390.48, è necessario utilizzare questo comando:

flatpak install flathub org.freedesktop.Platform.GL.nvidia-390-48

  • Per i sistemi a 32 bit (o per poter eseguire applicazioni o giochi a 32 bit su 64 bit), installa il runtime a 32 bit con:

flatpak install flathub org.freedesktop.Platform.GL32.nvidia-MAJORVERSION-MINORVERSION

Ancora una volta, sostituisci MAJOR VERSION con la versione principale del driver Nvidia installato sul tuo computer (390 nel mio esempio sopra) e MINORVERSION con la versione secondaria (48 nel mio esempio dal passaggio 2).

Ad esempio, per installare il runtime a 32 bit per il driver grafico Nvidia versione 390.48, è necessario utilizzare questo comando:

flatpak install flathub org.freedesktop.Platform.GL32.nvidia-390-48

Questo è tutto ciò che devi fare per ottenere applicazioni o giochi in pacchetto Flatpak realizzati con OpenGL.


Debian
  1. Flatpak su Linux:cos'è e come installare app con esso

  2. Come far funzionare correttamente Vim con Tmux?

  3. Come far funzionare Uuencode?

  4. Come far funzionare la webcam con Ubuntu 14.04?

  5. Non riesci a far funzionare la scheda grafica Nvidia su Ubuntu 18.04?

Come lavorare con il processo in primo piano e in background in Linux

Come lavorare con hardlink e softlink in Linux

Come lavorare con File e Shell Provisioner in Vagrant

Come installare Itch con Debian 11

Come ottenere l'ultima versione (beta e sviluppo) di Chromium?

Come installare e iniziare con Itch su Ubuntu Linux