Obiettivo
Installa l'ultima versione stabile di Mesa su Debian Stretch.
Distribuzioni
Debian 9 Allunga
Requisiti
Un'installazione funzionante di Debian Stretch con accesso root.
Difficoltà
Medio
Convenzioni
- # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando
sudo
comando - $ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato
Introduzione
Mesa è un grosso problema se stai utilizzando driver grafici open source. Può fare la differenza tra un'esperienza fluida e una terribile.
Mesa è in fase di sviluppo attivo e vede costanti miglioramenti delle prestazioni evidenti. Ciò significa che vale davvero la pena rimanere al passo con le ultime versioni. Debian di solito non lo fa, quindi gli utenti Debian devono prendere in mano la situazione.
Se stai utilizzando Debian Stretch e desideri l'ultima versione stabile di Mesa, costruirla tu stesso è la tua unica opzione. Non preoccuparti, in realtà non è così male.
Installa le dipendenze
Prima di poter compilare Mesa, ci sono dipendenze che devi installare. Mesa è un programma grande e complesso, quindi ce ne sono più di pochi, ma sono tutti disponibili tramite apt
.
Inizia afferrando build-essential
e avere apt
estrarre le dipendenze hard build di Mesa.
# apt install build-essential # apt build-dep mesa libdrm2
Una volta che li hai, hai bisogno di LLVM e Clang. Installa la versione 3.9
e le dipendenze ad essi correlate.
# apt install llvm-3.9 llvm-3.9-dev clang-3.9 clang-3.9-dev libxvmc-dev libxcb-xvmc0-dev libvdpau-dev libomxil-bellagio-dev
LLVM-3.9 non è la versione predefinita in Stretch anche se le altre versioni disponibili sono ridicolmente obsolete. Per evitare stranezze, crea un collegamento simbolico tra la configurazione di LLVM-3.9 e la configurazione predefinita di LLVM.
# ln -s /usr/bin/llvm-config-3.9 /usr/bin/llvm-config
Installa Libdrm da Sid
Poiché Debian è così straordinariamente obsoleto, non puoi compilare Mesa senza prima installare i pacchetti Libdrm disponibili da Sid. Non preoccuparti. Questo utilizza apt-pinning per garantire che solo i pacchetti Libdrm sono installati da Sid, quindi il tuo sistema non diventerà instabile.
Inizia aggiungendo le seguenti righe a /etc/apt/sources.list
deb http://ftp.us.debian.org/debian/ sid main deb-src http://ftp.us.debian.org/debian sid main
Successivamente, devi creare un nuovo file in /etc/apt/preferences
. Fai in modo che assomigli all'esempio qui sotto.
Package: * Pin: release a=stable Pin-Priority: 1000 Package: * Pin: release a=unstable Pin-Priority: 2 Package: libdrm2 Pin: release a=unstable Pin-Priority: 1001 Package: libdrm-* Pin: release a=unstable Pin-Priority: 1001
Aggiorna apt
e installa i pacchetti aggiornati.
# apt update # apt install libdrm2 libdrm-dev
Clone Mesa da Git
Ora puoi clonare il codice sorgente di Mesa da Git. Vai nella directory in cui vuoi compilarlo e clonarlo.
$ cd ~/Downloads $ git clone -b 17.1 git://anongit.freedesktop.org/mesa/mesa
Al momento, Mesa 17.1 è l'ultima versione stabile. Se cambia, clona quel ramo. Se vuoi eseguire il codice più recente in assoluto, ometti -b
flag, ma potrebbe essere instabile.
Al termine della clonazione, cd
nel mesa
directory.
$ cd mesa
Crea e installa Mesa
Puoi configurare e compilare Mesa ora. Il autogen
l'esempio seguente è progettato per essere il più robusto possibile e per funzionare in quasi tutte le situazioni. Se vuoi adattarlo al tuo sistema, cerca tutte le opzioni disponibili o riduci le cose che sai di non aver bisogno.
./autogen.sh --prefix=/usr --enable-texture-float --libdir=/usr/lib/x86_64-linux-gnu/ --with-gallium-drivers=i915,r300,r600,radeonsi,nouveau,swrast --with-egl-platforms=drm,x11 --enable-glx-tls --enable-shared-glapi --enable-glx --enable-driglx-direct --enable-gles1 --enable-gles2 --enable-gbm --enable-openmax --enable-xa --enable-osmesa --with-radeonsi-llvm-compiler --enable-sysfs --enable-vdpau --enable-xvmc --enable-openmax --enable-nine
Al termine della configurazione, puoi creare e installare Mesa. Usa -j
flag seguito dal numero di core sul computer più 1 per velocizzare la compilazione.
$ make -j5 # make install
La compilazione richiederà del tempo. Al termine e installato, riavvia il server X o il tuo computer. Al riavvio, eseguirai la tua nuova versione di Mesa.
Pensieri conclusivi
Questo metodo non è davvero l'ideale. Sei responsabile della manutenzione di Mesa e Libdrm sul tuo computer. D'altra parte, puoi assicurarti che i tuoi driver grafici open source siano sempre aggiornati, massimizzando le prestazioni del tuo computer in attività graficamente intensive come i giochi.