LINUX.ORG.RU

fedora 21x64 сборка wine32 gallium

 , ,


0

2

Пытаюсь собрать из сорцов wine, 64битный собирается нормально, но не создает бинарник 32битного wine(т.е. только wine64), и не очень работает.

При сборке 32битного, после получаса выдает

gcc -m32 -c -o xvidmode.o ../../../dlls/winex11.drv/xvidmode.c -I. -I../../../dlls/winex11.drv -I../../include \
  -I../../../include -D__WINESRC__ -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing \
  -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers -Wstrict-prototypes -Wtype-limits \
  -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith -Wlogical-op -gdwarf-2 \
  -gstrict-dwarf -fno-omit-frame-pointer -g -O2
../.././../wine64/tools/wrc/wrc -o version.res -m32 --nostdinc -I. -I../../../dlls/winex11.drv \
  -I../../include -I../../../include -D__WINESRC__ ../../../dlls/winex11.drv/version.rc
../.././../wine64/tools/winegcc/winegcc -o winex11.drv.so -B../.././../wine64/tools/winebuild --sysroot=../.. \
  -m32 -fasynchronous-unwind-tables -shared ../../../dlls/winex11.drv/winex11.drv.spec bitblt.o \
  brush.o clipboard.o d3dadapter.o desktop.o dri3.o event.o graphics.o ime.o init.o keyboard.o \
  mouse.o opengl.o palette.o pen.o settings.o systray.o window.o wintab.o x11drv_main.o xdnd.o xim.o \
  xinerama.o xrandr.o xrender.o xvidmode.o version.res -lcomctl32 -lole32 -lshell32 -limm32 -luuid \
  -luser32 -lgdi32 -ladvapi32 -Wb,-dcomctl32 -Wb,-dole32 -Wb,-dshell32 -Wb,-dimm32 -lwine \
  ../../libs/port/libwine_port.a -lXext -lX11 -lxcb -lxcb-dri3 -lxcb-present -lX11-xcb -lxcb-xfixes \
  -lpthread 
/usr/bin/ld: skipping incompatible /usr/lib64/libxcb.so when searching for -lxcb
/usr/bin/ld: cannot find -lxcb
/usr/bin/ld: skipping incompatible /usr/lib64/libxcb-dri3.so when searching for -lxcb-dri3
/usr/bin/ld: cannot find -lxcb-dri3
/usr/bin/ld: skipping incompatible /usr/lib64/libxcb-present.so when searching for -lxcb-present
/usr/bin/ld: cannot find -lxcb-present
/usr/bin/ld: skipping incompatible /usr/lib64/libxcb-xfixes.so when searching for -lxcb-xfixes
/usr/bin/ld: cannot find -lxcb-xfixes
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
winegcc: gcc failed
Makefile:639: ошибка выполнения рецепта для цели «winex11.drv.so»
make[1]: *** [winex11.drv.so] Ошибка 2
make[1]: выход из каталога «/home/justed/temp/wine/wine32/dlls/winex11.drv»
Makefile:17968: ошибка выполнения рецепта для цели «dlls/winex11.drv»
make: *** [dlls/winex11.drv] Ошибка 2

Собираю по этому мануалу Я полагаю упирается в 64битные либы, ожидая найти 32битные, но все рекомендуемые пакеты установлены. Единственное была проблема с пакетом «isdn4k-utils-devel.i686»(которая упоминается в мануале), установил через rpm -i --replacefiles

Пытаюсь собрать из сорцов wine

1. Чем не устраивает дистрибутивный?
2. Чем не устраивает пересборка wine.src.rpm?

dexpl ★★★★★
()
Ответ на: комментарий от dexpl
  1. Отсутствием gallium nine
  2. На оффсайте (который сейчас почему то лежит), нет патча для текущей версии wine, но зато есть гитхаб с уже пропатченой, ее и собираю

mesa пересобирал из src.rpm

justed_again
() автор топика

Короче, бери wine-1.7.33.src.rpm, распаковывай его в «хомяк» rpm'ом. Клонируй куда-нибудь Wine'овский реп iXit с GitHub'а, удаляй в нём скрытые директории, упаковывай эту диру с сорцами так, чтобы получилось один-в-один с тарболом, который раннее распаковал из wine-1.7.33.src.rpm. Заменяй своим тарболом оригинал из wine-1.7.33.src.rpm. Правь спек следующим образом: меняй номер сборки, добавив к нему циферку и дописав что-нибудь про gallium-nine; добавь BuildRequires: mesa-d3d-devel и Requires: mesa-d3d. Собирай новый wine-1.7.33-gallium.src.rpm rpmbuild'ом. Скармливай этот wine-1.7.33-gallium.src.rpm mock'у для i386 и x86_64. Если в процессе сборки пакетов ругнётся на найденные, но не прописанные файлы, то добавь эти файлы в спек и повтори операции, начиная со сборки wine-1.7.33-gallium.src.rpm rpmbuild'ом. Пожалуйста.

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

Mesa пересобирать не нужно. В Fedora 21 В ней уже всё включено и всё давно лежит в репах.

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

более правильно выдрать те патчи с момента тега из того репа и наложить из в %prep, сделать autoreconf -vfi и дальше как ты сказал

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

Я в курсе, но для разовой сборки «на попробовать» так проще: банально меньше писанины в спеке и не надо создавать отдельного патча.

carasin ★★★★★
()

Всем спасибо, все собралось и установилось.Галочка в winecfg появилась. Запустил sc2 и не увидел строчки в логах «Native Direct3D 9 is active» И прироста производительности, в сравнении с проприаретарными, тоже. Может оно на opengl и там эти махинации с directx не влияют?

Больше тестить пока не на чем.

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

Я в курсе, просто в заголовок не вчитывался, подумал что тред про CSMT. gallium-nine/nouveau я тоже пробовал. Те игры, что запустились, имели артефакты. Производительность была чуть ниже чем у CSMT

Deleted
()

В общем в первый раз я забыл пересобрать 32 битные рпмы, потому они остались старые, и ничего не работало.

Еще раз перечитал мануал от carasin, за что ему еще одно спасибо, и все завелось.

Крузис действительно стал заметно шустрее. Вот только в sc2 примерно все так же. Попробовал еще Tomb Raider, там на тесте графики небольшие артефакты, и комп уходит в ребут на самом «тяжелом» моменте. Если «нативный» директсх выключить все проходит, но фпс никакой.

Либо мне с карточкой не повезло (hd7850), либо оно еще слишком сырое

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

между найном в месе и тем что в ixit/mesa-3d огромная разница, ну и llvm играет роль, 3.5 не оч хороший, нужно 3.6 svn. Тогда можно и судить о производительности.

Novell-ch ★★★★★
()
Ответ на: комментарий от DeadEye

ну да, mesa дефолтная, иначе ж не заводится.

Novell-ch Т.е. можно еще попробовать пересобрать аналогично месу, используя версию от ixit, в надежде на неплохой профит?

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

Чем не устраивает дистрибутивный

типичный лор-овец всегда вставляет «умный» комментарий не разобравшись в вопросе

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

да ixit найн работает куда лучше и быстрее, многие игры просто не работают с тем найном что в месе сейчас, и хотя патчи уже направили в основную ветку, неясно когда их туда таки включат.

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

ну раз патчи направляют, значит лучше подождать родных апдейтов.

Померил фпсы, прирост оказался х2, но в ответсвенные моменты все равно проседает, будем ждать. Проприаретарные драйверы все равно сейчас ставятся в три пинка.

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