Mesa имеет большое значение, если вы используете драйверы с открытым исходным кодом. Это может быть разница между приятным и ужасным опытом. Mesa находится в активной разработке, и она видит постоянные заметные улучшения производительности. Это означает, что действительно стоит оставаться в курсе последних выпусков. Тем не менее, Debian обычно этого не делает, поэтому пользователи Debian должны взять дело в свои руки. Если вы работаете с Debian Stretch и хотите установить последнюю стабильную версию Mesa, создать ее самостоятельно - это единственный вариант. Не волнуйтесь, на самом деле все не так плохо.
Установите зависимости
Прежде чем вы сможете собрать Mesa, есть зависимости, которые вам нужно установить. Mesa - это большая и сложная программа, поэтому их гораздо больше, но все они доступны через apt. Начните с того, что выхватите build-essential и заполучите apt жесткие зависимости Mesa.
# apt install build-essential
# apt build-dep mesa libdrm2
Если у вас есть такие, вам нужны LLVM и Clang. Установите версию 3.9 и связанные с ними зависимости.
# 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 не является версией по умолчанию в Stretch, хотя другие доступные версии до смешного устарели. Чтобы избежать каких-либо странностей, создайте символическую ссылку между конфигурацией LLVM-3.9 и конфигурацией LLVM по умолчанию.
# ln -s /usr/bin/llvm-config-3.9 /usr/bin/llvm-config
Установите Libdrm из Sid
Поскольку Debian устарел, вы не можете собрать Mesa без предварительной установки пакетов Libdrm, доступных в Sid. Не беспокойтесь. Используется apt-pinning, чтобы гарантировать, что из Sid установлены только пакеты Libdrm, чтобы ваша система не работала не стабильно. Начните с добавления следующих строк в /etc/apt/sources.list
deb http://ftp.us.debian.org/debian/ sid main
deb-src http://ftp.us.debian.org/debian sid main
Далее вам нужно создать новый файл в /etc/apt/preferences. Сделайте так, как показано ниже.
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
Обновите apt и установите обновленные пакеты.
# apt update
# apt install libdrm2 libdrm-dev
Клонируйте Меса из Git
Теперь вы можете клонировать исходный код Mesa из Git. Перейдите в каталог, где вы хотите его это сделать.
$ cd ~/Downloads
$ git clone -b 17.1 git://anongit.freedesktop.org/mesa/mesa
Сейчас Mesa 17.1 является последней стабильной версией. Если это изменится, клонируйте другую ветку. Если вы хотите запустить абсолютный последний код, не используйте -b флаг, но это может быть нестабильным. После завершения клонирования, перейдите путем cd в mesa каталог.
$ cd mesa
Сборка и установка
Вы можете настроить и скомпилировать Mesa сейчас. Приведенный autogen ниже пример разработан таким образом, чтобы быть максимально надежным и работать практически во всех ситуациях. Если вы хотите адаптировать его к своей системе, посмотрите все доступные варианты или отрежьте то, что вам не нужно.
./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
После завершения настройки вы можете собрать и установить Mesa. Используйте -j флаг, а затем количество ядер на компьютере плюс 1, чтобы ускорить компиляцию.
$ make -j5
# make install
Компиляция займет некоторое время. Когда это будет сделано и установлено, перезагрузите X-сервер или ваш компьютер. Когда вы перезагрузитесь, вы запустите новую версию Mesa.
Подводя итог вышесказанному
Этот метод действительно не идеален. Вы несете ответственность за поддержание Mesa и Libdrm на вашем компьютере. С другой стороны, вы можете быть уверены, что ваши графические драйверы с открытым исходным кодом всегда обновлены, что максимизирует производительность вашего компьютера в таких сложных графических задачах, как игры.