LINUX.ORG.RU

Сборка mesa под Debian Jessie

 , ,


0

1

Видео HD6850. Собственно проблема - дебиановцы криво собрали месу, забыли --enable-glx-tls. Из-за этого на месе из репы opengl не работает никак. Как результат, не заводятся игрушки и не взлетает darktable. Решил собрать из сорцов с нужным флагом.

Вариант номер раз - скачать с гита. Скачал, сконфигурил вот так

# ./configure --prefix=/usr  \
--exec-prefix=/usr/lib/x86_64-linux-gnu/  \
--enable-glx-tls  \
--enable-driglx-direct \
--enable-xa  \
--enable-texture-float  \
--enable-osmesa  \
--enable-gles1  \
--enable-gles2  \
--enable-opencl  \
--enable-opencl-icd  \
--with-dri-driverdir=/usr/lib/x86_64-linux-gnu/dri  \
--with-egl-platforms='drm x11'  \
--with-gallium-drivers=r300,r600,radeonsi,svga,swrast
далее make. Собралось. Подменил so-шки в /usr/lib/x86_64-linux-gnu/ и /usr/lib/x86_64-linux-gnu/dri - частично завелось. Ошибок в логах xorg нет, все модули грузятся, darktable работает. Но, wasteland 2 не стартует, флеш при проигрывании видео жрёт цпу страшно, opencl в darktable не доступен. Делаю make install - отваливается darktable, а остальное не чинится. ОК, не взлетело.

Вариант номер два - собрать из сорцов дебиана по https://wiki.debian.org/HowToPackageForDebian. Не вкурил сразу куда там надо прописать --enable-glx-tls, т.к. в debian/rules он прописан для dri. В общем решил так собрать посмотреть

# apt-get source mesa
# cd mesa-10.3.2
# apt-get build-dep
# debuild -i -us -uc -b
и получаю
checking for VDPAU... no
configure: error: Package requirements (vdpau >= 0.4.1 x11-xcb xcb-dri2 >= 1.8) were not met:

No package 'vdpau' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables VDPAU_CFLAGS
and VDPAU_LIBS to avoid the need to call pkg-config.
vdpau в репах нет. libvdpau1, libvdpau1, libx11-xcb1, libx11-xcb-dev, libxcb-dri2-0 и libxcb-dri2-0-dev установлены. Процесс зашёл в тупик.

Вопрос ко всем знающим - как правильно собрать эту месу, чтобы она работала?

★★★★

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

Погоди, друк. Тебе надо добавить к дефолтной дебиановской месе один флаг стадии настройки. Правильно?

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

Вроде как да, хотя он вроде как там и есть и в build/dri/config.log я вижу --enable-glx-tls. Но будем считать что да. Добавить один и заменить --prefix.

И ещё, походу по дефолту он мне будет собирать вообще всё что можно, типа swx11, swx11-static и т.д. Как указать что мне надо собирать? Думаю что просто в debian/rules выпилить лишнее, либо в ./configure

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

Но будем считать что да.

Тогда бери другую стратегию.

1. Установить все билд-зависимости пакета: apt-get build-dep blah

2. Найти&скачать дебиановские исходники пакета - apt-get source blah

3. Разархивировать куда-нибудь *orig* архив.

4. Разархивировать в него *debian* архив.

5. Найти в rules полученного каталога стадию настройки пакета и пофиксить ее.

6. Пересобрать пакет.

Фикс, в простейшем случае будет выглядеть как-то так: dh_configure_override -- --enable-glx-tls

В общем посыл в том, что лучше играться с готовыми и отлаженными дебиановкими пакетами, а не создавать слаку на ровном месте или осиливать дебиан-пакинг-гайд

// Дебиана под рукой нет, пишу через libastral, не судите строго

Stil ★★★★★
()

vdpau в репах нет

libvdpau-dev

забыли --enable-glx-tls

А это что?

confflags-dri = \
        --enable-dri \
        --with-dri-drivers="$(DRI_DRIVERS)" \
        --with-dri-driverdir=/usr/lib/$(DEB_HOST_MULTIARCH)/dri \
        --with-dri-searchpath='/usr/lib/$(DEB_HOST_MULTIARCH)/dri:\$$$${ORIGIN}/dri:/usr/lib/dri' \
        --enable-osmesa \
        --enable-glx-tls \
        --enable-shared-glapi \
        --enable-texture-float \
        --disable-xvmc \
        --disable-omx \
        $(confflags_DIRECT_RENDERING) \
        $(confflags_DRI3) \
        $(confflags_EGL) \
        $(confflags_GALLIUM) \
        $(confflags_GLES) \
        $(confflags_OPENVG) \
        $(buildflags)

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

про 6й пункт

dpkg-buildpackage -b -us -uc -j3

Параметр -j имеет то же значение, что и в make.

i-rinat ★★★★★
()

Видео HD6850. Собственно проблема - дебиановцы криво собрали месу, забыли --enable-glx-tls. Из-за этого на месе из репы opengl не работает никак.

Ты что-то путаешь.

vdpau в репах нет

/home/gotf % apt-file search pkgconfig/vdpau
libvdpau-dev: /usr/lib/x86_64-linux-gnu/pkgconfig/vdpau.pc
Gotf ★★★
()
Ответ на: комментарий от Gotf

Из-за этого на месе из репы opengl не работает никак.

Ты что-то путаешь.

да, с mesa opengl не работает немного по другой причине

anonymous
()
Ответ на: комментарий от Stil

Ну собственно я так и пытался сделать во втором варианте. Установил все зависимости, скачал сорцы для пакета(для libgl1-mesa-dri и libgl1-mesa-glx он всё-равно качает всю месу) и попытался её просто собрать как в вики указано. Я и пытался собрать отлаженный дебиановкий пакет. А не собралось. Потому и поставил соответствующий тэг.

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

libvdpau-dev

ошибся при копипасте, он у меня установлен.

А это что?

это я видел и удивился, но вот это актуально до сих пор Debian + Radeon HD6850 + открытые дрова = беда, сама суть вот http://www.debian-fr.org/erreurs-avec-opengl-glx-t49347.html#p493089

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

libvdpau-dev

ошибся при копипасте, он у меня установлен.

А pkg-config вообще есть?

но вот это актуально до сих пор

Факт остаётся фактом: этот параметр задаётся при сборке в jessie. Тут дело в чём-то другом.

i-rinat ★★★★★
()

Раз уж занялся пересборкой мезы, добавь себе до кучи --enable-r600-llvm-compiler. На твоей видяхе это зело ускорит производительность 3d.

morse ★★★★★
()
Ответ на: комментарий от i-rinat

А pkg-config вообще есть?

Стоял pkg-config:i386. Вот такой вот фэйл. Поставил как надо и оно собралось. Правда opencl в darktable не появился и wasteland 2 по прежнему падает при запуске.

Спасибо за помощь.

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

Правда opencl в darktable не появился и wasteland 2 по прежнему падает при запуске.

А ты не берешь в расчет вариант что швабодный драйвер говно на котором wasteland 2 падает и в darktable заблеклистен его opencl драйвер?

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

Если тебе интересно то на radeonsi из гита OpenCL в darktable тоже не работает.

behem0th@ArchLinux ~ $ darktable -d opencl -d perf
[opencl_init] opencl related configuration options:
[opencl_init] 
[opencl_init] opencl: 1
[opencl_init] opencl_library: ''
[opencl_init] opencl_memory_requirement: 768
[opencl_init] opencl_memory_headroom: 300
[opencl_init] opencl_device_priority: '*/!0,*/*/*'
[opencl_init] opencl_size_roundup: 16
[opencl_init] opencl_async_pixelpipe: 0
[opencl_init] opencl_synch_cache: 0
[opencl_init] opencl_number_event_handles: 25
[opencl_init] opencl_micro_nap: 1000
[opencl_init] opencl_use_pinned_memory: 0
[opencl_init] opencl_use_cpu_devices: 0
[opencl_init] opencl_avoid_atomics: 0
[opencl_init] opencl_omit_whitebalance: 0
[opencl_init] 
[opencl_init] trying to load opencl library: '<system default>'
[opencl_init] opencl library 'libOpenCL' found on your system and loaded
[opencl_init] found 1 platform
[opencl_init] found 1 device
[opencl_init] discarding device 0 `AMD TAHITI' due to missing image support.
[opencl_init] no suitable devices found.
[opencl_init] FINALLY: opencl is NOT AVAILABLE on this system.
[opencl_init] initial status of opencl enabled flag is OFF.

discarding device 0 `AMD TAHITI' due to missing image support

http://dri.freedesktop.org/wiki/GalliumCompute/

Тут видно что все 2D image read/write, 3D image read/write имеют статус TODO

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

Не, это руки кривые.

Спасибо wine, в нём при запуске wasteland хоть нормальные ошибки выдаёт. Поставил 32-битные версии r600 и прочего + их дев-файлы - сижу теперь грибую.

Ну а насчёт openCL хз, можь и не работает. Но таки думаю что те самые руки

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

А что делать. Неработающий openCL для меня меньшее из зол. Блоб мне тупо не давал выключить систему - устраивал kernel panic.

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

А что делать.

Ждать. Как я понял АМД сильно заинтересованна в открытом стеке и прикладывает много сил для доведения ГПУ компутинга до ума.

Behem0th ★★★★★
()
sudo apt-get build-dep mesa
mkdir build && cd build
apt-get source mesa
dpkg-source -x *.dsc
cd [tab]
gedit debian/rules
fakeroot ./debian/rules binary
cd ..
rm -f *dbg*
sudo dpkg -i *.deb
ZenitharChampion ★★★★★
()
Ответ на: комментарий от WARNING

комп не выключать или не включать?

Как хочешь, твой выбор. А на будущее задумайся о том чтоб воздержаться от покупки карт от красного производителя.

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

Но у меня nvidia с красным текстолитом и наклейками. Как быть?

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