Wine
Сборка и установка из исходников
Скачиваем исходники wine-1.2.3 от сюда. Если честно я так и не понял как у WineHQ идут версии, на сайте написано, что 1.2.3 это последняя версия, но есть еще 1.3.24 вроде как последняя разрабатываемая версия. Короче скачал Latest Stable Version по их словам.
Дальше распаковываем все это в ~/wine-1.2.3 Дальше нужно установить пакеты, необходимые для сборки: apt get install bison flex gcc libc6-dev libfontconfig1-dev libfreetype6-dev libgl1-mesa-dev libglu1-mesa-dev libgphoto2-2-dev libgsm1-dev libice-dev libjpeg62-dev libldap2-dev libmpg123-dev libncurses5-dev libopenal-dev libpng12-dev libsm-dev libssl-dev libusb-dev libx11-dev libxcomposite-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxml2-dev libxrandr-dev libxrender-dev libxslt1-dev libxt-dev libxxf86vm-dev
Переходим в каталог с исходниками:
cd /home/mdma/wine-1.2.3
Компилируем:
./configure make depend make
После того как компиляция завершилась можно собрать deb-пакет:
checkinstall
- на вопрос утилиты - обязательно указываем имя пакета, в данном случае просто: wine
На выходе получился файл wine_1.2.3-1_i386.deb.
Можно его установить:
dpkg -i wine_1.2.3-1_i386.deb
Компиляция приложений с поддержкой OpenCL без закрытых драйверов
При сборке Wine не для личного использования, а чтобы распространять сборки, я столкнулся с проблемой. С какой реализацией OpenCL линковать? NVIDIA, AMD, Intel, Mesa? Ответ - FreeOCL!
На самом деле, не важно с чем линковать. У всех известных мне реализаций OpenCL, сама библиотека libOpenCL.so.1 занимает около 30 Кб. Оказывается, внутри этой библиотеки ничего нет. Сам OpenCL находится в другой библиотеке (например в libatiocl64.so - см. /etc/OpenCL/vendors/*.icd для подробностей). Однако залить проприетарный драйвер в OBS-репозиторий я не могу, так как закрытый код. Остаётся только Mesa и FreeOCL.
FreeOCL это программная реализация OpenCL, написанная на C++, и имеющая у себя в зависимостях libatomic_ops - а LLVM не имеющая. Установив в систему FreeOCL и opencl-headers, я успешно собрал Wine. Причём Wine линкуется только с OPENCL_1.0, что не помешало конечному софту, запущенному в Wine, успешно задействовать расширения 1.2 и 2.0.
В общем, рекомендую всем, кто до сих пор собирает с AMD APP SDK 3.0, перейти на FreeOCL. Я попробовал скомпилировать весь известный мне OpenCL-софт при помощи FreeOCL, а затем запустить на NVIDIA и AMD - всё работает безупречно. Не падает, не отказывается стартовать, и демонстрирует ровно ту же скорость работы.
P.S. Бинарник получает зависимость от libOpenCL.so.1 (параметр -lOpenCL), а пакет RPM или DEB также получает от pkg-config ещё несколько зависимостей:
libOpenCL.so.1(OPENCL_1.0)(64bit) libOpenCL.so.1(OPENCL_1.1)(64bit) libOpenCL.so.1(OPENCL_1.2)(64bit) libOpenCL.so.1(OPENCL_2.0)(64bit)
Поэтому если вы собираете пакеты, а не просто tar.gz архив с программой, рекомендую пропатчить FreeOCL патчем freeocl-0.3.6-disable-symbol-versioning.patch. В этом случае, пакет получит зависимость только от libOpenCL.so.1()(64bit). Например в моей системе в пакете NVIDIA 340.xx нет "версионинга" OpenCL, а в 390.xx он есть. Вследствие чего, пакет не хотел устанавливаться, но после force install - работал.
Решение проблем
Решение по ошибке:/usr/bin/winecfg: 32: exec: winecfg.exe: not found
Установка фонтов
Решение проблемы со шрифтами. Начиная с версии wine 0.9.47 в нём присутствует свободный аналог шрифта tahoma из коллекции Red Hat's freely licensed "Liberation" fonts. Но в нём нет кириллицы! Предлагаю исправить эту ситуацию следующим скриптом создайте в любом текстовом редакторе фал со следующим модержимым Код:
#!/bin/sh cd /usr/share/wine/fonts rm tahoma.ttf rm tahomabd.ttf ln -s /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf ./tahoma.ttf ln -s /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Bold.ttf ./tahomabd.ttf
сохраните фал в директорию /tmp/patchfont.sh выполните команду в терминале (gnome-terminal или konsole)
sudo bash /tmp/patchfont.sh
После этого winecfg должен корректно отображать русские буквы.
Примечание поскольку размеры букв в шрифте DejaVuSansMono
не соответствует размерам из оригинальной тахомы, в некоторых приложениях возможно "наплывание" текста на другие элементы.
Второй вариант если у вас есть лицензионная копия windows.
Скопируйте файлы
tahoma.ttf и tahomabd.ttf из директории c:\windows\fonts в /usr/share/wine/fonts с заменой файлов.
Некоторые программы используют шрифт Tribuchet
его "замену" можно включить командой
ln -s /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf ~/.wine/drive_c/windows/fonts/tribuc.ttf
К сожалению подмена шрифта tahoma не для всех приложений работает корректно. Есть альтернативный вариант где его взять :) Когда то давно m$ бесплатно распространяла вьювер документов Word97 файл называется wd97vwr32.exe И распространяется под лицензией
Microsoft Viewer for Word END-USER LICENSE AGREEMENT FOR MICROSOFT SOFTWARE
Которое позволяет свободно пользоваться этой программой и свободно распространять её. Нельзя дезассемблировать и использовать реверс инжениринг. Ну мы и не будем этова делать :)) гугл много мест знает где он лежит. Для распаковки вам нужно установить пакет
sudo apt-get install cabextract
чтобы добыть из него шрифт нужно выполнить две команды
cabextract -F Viewer1.cab ./wd97vwr32.exe cabextract -F tahoma.ttf ./Viewer1.cab
затем скопировать в директорию
cp tahoma.ttf ~/.wine/drive_c/windows/fonts
кому интересно почитать лицензию её можно добыть командой
cabextract -F License.txt ./wd97vwr32.exe :)
Подключить репозитарий с новыми версиями wine для gutsy Можно добавив строчку
deb http://wine.budgetdedicated.com/apt gutsy main
в файл /etc/apt/sources.list затем для установки ключа подписи выполните в терминале
wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -
Возможно в будующем для подключения потребуется заменить строчку на
deb http://wine.budgetdedicated.com/apt <название нового релиза убунты> main
покрайней мере так было при переходе с feisty на gutsy.
ИСТОЧНИКИ:
- Компиляция приложений с поддержкой OpenCL без закрытых драйверов
- wine-modo & wine-gecko
- Инструкции » Настройка Wine x32 — x64
- WINE проблема со шрифтами
ПОЛЕЗНОЕ: