LINUX.ORG.RU

как правильно собирать mesa в slackware?

 , ,


0

3

Скачал я исходники 10-й месы, зависимости поставил, dri3 в конфиге отключил, собрал исходники. Затем сделал пакет через makepkg и попытался обновить пакет mesa-9.1, установленный в слакваре по умолчанию. Вместо того чтобы обновиться, 10я меса установилась как новый пакет. Ладно, подумал я и удалил старую месу, получив при перезагрузке нерабочий опенгл. Что не так и как сделать правильно?

★★☆

чем обновлял? по мнению оффсайта, надо было так:

If the new package has a different name than the currently installed package, you must use this syntax:

upgradepkg oldpackagename%newpackagename

u283 ()

Общий сценарий version bump примерно таков:

# mkdir ~/bld; cd ~/bld
# wget -r -nH --cut-dirs=4 -Rtar.xz\
 ftp://ftp.osuosl.org/pub/slackware/slackware64-14.1/source/x/mesa
# cd x/mesa
# wget ftp://ftp.freedesktop.org/pub/mesa/10.0.3/MesaLib-10.0.3.tar.bz2 ftp://ftp.freedesktop.org/pub/mesa/demos/8.1.0/mesa-demos-8.1.0.tar.bz2
Рихтуем *Build в части
VERSION=10.0.3
DEMOVERS=8.1.0
остальное — по вкусу.
# bash *Build
# upgradepkg /tmp/mesa-10.0.3-*t?z
А вот про нюансы/особенности — не читал, 10.х сам не собирал, не скажу.

bormant ★★★★★ ()

Первый же затык на Slackware64-14.1:

configure: error: Package requirements (libdrm_intel >= 2.4.49) were not met:

Requested 'libdrm_intel >= 2.4.49' but version of libdrm is 2.4.46
Так что, сперва примерно по тому же алгоритму нужно пересобрать и поставить x/libdrm.

bormant ★★★★★ ()

libdrm-2.4.52 собрался без видимых проблем.

А вот mesa-10.0.3 сконфигурировалась криво, часть файлов попала в usr/local, несмотря на содержимое mesa.SlackBuild в этой части. Возможно, нужен более свежий autotools, возможно, поменялись параметры сборки, надо разбираться.

bormant ★★★★★ ()

Ага, причина проста, configure обрывался с ошибкой:

configure: error: DRI driver directory 'intel' does not exist
На будущее есть смысл дописать в ./configure в последнюю строку || exit 1.

Драйвер «intel» нас покинул, поэтому в *Build также убираем его из списка в строке DRI_DRIVERS= (актуальные смотреть в архиве mesa в src/mesa/drivers/dri/):

# Be sure this list is up-to-date:
DRI_DRIVERS="i915,i965,nouveau,r200,radeon,swrast"
Запускаем исправленный слакбилд, ждём...
...
Slackware package /tmp/mesa-10.0.3-x86_64-1.txz created.
По составу вроде похож. Осталось проверить работоспособность.

bormant ★★★★★ ()
Ответ на: комментарий от bormant

Собрал пакет, обновил, теперь всё прошло без проблем, но opengl опять не работает. Glxinfo пишет, что не может найти RGB GLXvisual or fbconfig.

kinik ★★☆ ()
Ответ на: комментарий от kinik

Что говорит

LIBGL_DEBUG=verbose glxinfo
Что за ошибки в Xorg.0.log? Что за видеокарта и видеодрайвер?

bormant ★★★★★ ()
Последнее исправление: bormant (всего исправлений: 3)

Вместо того чтобы обновиться, 10я меса установилась как новый пакет
mesa-10.1-x86_64-1k.txz

Скорее всего, по имени загруженного архива — mesa-10.1.0-rc1-x86_64-1k.txz. Тогда как раз получится (разбор по дефисам справа налево):
сборка и метка: 1k
архитектура: x86_64
версия: rc1
имя: mesa-10.1.0
что имени mesa не соответствует.

bormant ★★★★★ ()
Ответ на: комментарий от bormant
LIBGL_DEBUG=verbose glxinfo
name of display: :0
Error: couldn't find RGB GLX visual or fbconfig
Error: couldn't find RGB GLX visual or fbconfig
egrep '\((EE|WW|NI)\)' /var/log/Xorg.0.log
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    73.219] (WW) The directory «/usr/share/fonts/local» does not exist.
[    73.219] (WW) The directory «/usr/share/fonts/CID» does not exist.
[    73.512] (WW) Warning, couldn't open module fbdev
[    73.512] (EE) Failed to load module «fbdev» (module does not exist, 0)
[    73.620] (WW) Falling back to old probe method for vesa
[    73.620] (WW) Falling back to old probe method for modesetting
[    73.707] (EE) AIGLX error: dlopen of /usr/lib/xorg/modules/dri/r600_dri.so failed (/usr/lib/xorg/modules/dri/r600_dri.so: cannot open shared object file: No such file or directory)
[    73.707] (EE) AIGLX: reverting to software rendering
[    73.707] (EE) AIGLX error: dlopen of /usr/lib/xorg/modules/dri/swrast_dri.so failed (/usr/lib/xorg/modules/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
[    73.707] (EE) GLX: could not load software renderer
[    74.776] (WW) evdev: HID 04f3:0103: ignoring absolute axes.
[    74.780] (WW) evdev: A4TECH USB Device: ignoring absolute axes.

Драйвер открытый radeon, видеокарта встроенная в процессор 6290.

kinik ★★☆ ()
Ответ на: комментарий от kinik

Сами файлы на месте?

$ grep "/r600_dri\|/swrast_dri" /var/log/packages/mesa-*
$ cd /usr/lib/xorg/modules/dri/
$ ls -l r600_dri.so swrast_dri.so
$ file r600_dri.so swrast_dri.so
$ ldd r600_dri.so swrast_dri.so

bormant ★★★★★ ()
Последнее исправление: bormant (всего исправлений: 1)

Slackware64-14.1, mesa-10.0.3, проверял на i965, работает на сегодняшний день такой рецепт:

mkdir ~/bld; cd ~/bld
wget -r -nH --cut-dirs=4 -Rtar.xz \
  ftp://ftp.osuosl.org/pub/slackware/slackware64-14.1/source/x/{libdrm,mesa}

cd x/libdrm
wget http://dri.freedesktop.org/libdrm/libdrm-2.4.52.tar.bz2
bash *Build
upgradepkg --install-new --reinstall /tmp/libdrm-2.4.52-*t?z

cd ../mesa
wget ftp://ftp.freedesktop.org/pub/mesa/10.0.3/MesaLib-10.0.3.tar.bz2 \
     ftp://ftp.freedesktop.org/pub/mesa/demos/8.1.0/mesa-demos-8.1.0.tar.bz2
sed -e '/^VERSION=/cVERSION=10.0.3' -e '/^DRI_DRIVERS=/s/intel,//' \
    -e 's/--build=.*$/& || exit 1/' -i *Build
bash *Build
upgradepkg --install-new  --reinstall /tmp/mesa-10.0.3-*t?z
Собранные пакеты для Slackware64-14.1 можно взять здесь.

bormant ★★★★★ ()
Последнее исправление: bormant (всего исправлений: 1)
Ответ на: комментарий от bormant

Собрал по вашей инструкции. Всё заработало. Спасибо большое. =)

kinik ★★☆ ()
Ответ на: комментарий от kinik

Для mesa-10.1.0_rc1 нужно пробовать собрать (навскидку, изменений в сборке не должно быть сильно много, но как повезёт) или достаточно 10.0.3?

bormant ★★★★★ ()
Ответ на: комментарий от bormant

Я пока на 10.0.3 останусь, пока 10.1 релиз кандидат.

kinik ★★☆ ()
Ответ на: комментарий от kinik

radeon & DRI on Slackware64 14.1(current)

По вашей инструкции собрал и обновил mesa(10.2.2) и libdrm(2.4.52) - что еще нужно, чтобы заработало DRI на драйвере radeon(radeonsi?) c карточкой AMD Radeon HD 7870(pitcairn, southern islands)? Пересобрать сам модуль radeon_drv c поддержкой glamor(тоже поставлен, грузится, но не используется)? Щас все работает, но используется sw_rast, xv нет, dri нет :(

dad1979 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.