Показать статистику
0 голосов
от (1.7тыс. баллов)
711 просмотров 1 ответов

1 Ответ

0 голосов
от (19.2тыс. баллов)

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 на вашем компьютере. С другой стороны, вы можете быть уверены, что ваши графические драйверы с открытым исходным кодом всегда обновлены, что максимизирует производительность вашего компьютера в таких сложных графических задачах, как игры.

...