amd64 vs. Wine

В связи с тем, что nVidia наконец выпустила драйвера для FreeBSD x86-64 (пока только бетта) загорелся перевести, наконец, домашний десктоп на фряху. Одна из возникших на моем пути проблем — всеми нами любимый пакет для запуска Windows-программ, Wine, на данный момент для пользователей FreeBSD поставляется только в версии x86, и на amd64 собираться из портов отказывается.

Погуляв по просторам гугла нашлось одно из решений — некто Mr. David Naylor написал порт к существующему Wine-1.1.35. Суть данного решения — собираем с помощью порта Wine пакет на машине i386 (для этих целей отлично сгодится и chroot на нашей машине, как это сделать опишу чуть позже), и затем спокойно устанавливаем его нашей amd64-машине. Выигрышем данного решения от решения, предложенного на wiki.freebsd.org является полная интеграция wine в нашу систему, в том числе и в kde (с помощью порта wine-doors).

Итак, приступим (команды выполняем от имени root’а, % — основной шелл, # — шелл в 386м окружении):

1. создаем chroot для наших эксперементов:

% mkdir -p /compat/i386% cd /usr/src && make buildworld installworld distribution TARGET=i386 DESTDIR=/compat/i386

Предварительно не забыв обновить сырцы с помощью csup. После запуска сотворения мира можно смело попить пивка часок ;)

2. Подмонтируем в чрут наши девайсы:

% mount -t devfs devfs /compat/i386/dev

3. Теперь можно начинать шаманить в чруте:

% chroot /compat/i386
# /etc/rc.d/ldconfig start
# mkdir -p /usr/ports

Устанавливаем i386-окружение:

# setenv MACHINE i386
# setenv UNAME_p i386
# setenv UNAME_m i386

Замечание: что бы wine поддерживала драйвера nVidia x64 перед сборкой wine в чруте надо не забыть установить ту же версию драйверов и на i386-машину, в процессе создания пакета необходимые библиотеки сами подцепятся.

4. Создаем порт wine-fbsd64, с помощью патча, предоставленного мистером David Naylor’ом =) Скачать его можно здесь. Из архива нам нужен файл wine-fbsd64.diff. Итак, продолжим:

# cd /usr/ports/emulators
# patch -sp0 < ~/wine-fbsd64.diff
# cd wine-amd64
# make package clean

После успешного создания тарболла можно его забрать по адресу:
/compat/i386/usr/ports/packages/All/wine-fbsd.8-1.1.35,1.tbz

5. Устанавливаем пакет на основной машине и радуемся жизни, не забыв отконфигурировать wine:

% pkg_add wine-fbsd.8-1.1.35,1.tbz
% winecfg

© Upiter

Опубликовано 06.01.2010 в 22:51 Просмотров: 6 452
Рубрики: Wine · Теги: , ,

2 комментария

Подписаться на комментарии по RSS

  1. Написал(-а) linecommander
    22 августа 2010 в 4:21
    Ссылка

    а есть информация про свежие патчи к обновлениям?
    или патч универсальный и может применяться к любому релизу wine?

  2. Написал(-а) Upiter
    23 августа 2010 в 11:14
    Ссылка

    К сожалению, свежих патчей на сегодняшний день не нашел — соответствующий тред в бсдшной рассылке умер. Но побродив по просторам коммьюнити, нашел ссылку на уже собранные пакеты для FreeBSD 8,9 от автора вышеописанного патча — http://people.freebsd.org/~ivoras/wine/ . Так же есть адрес его электронной почты — naylor.b.david (собака) gmail.com, можно написать ему с просьбой заделиться патчем для самостоятельной сборки порта ;)

    Продолжение следует…

Подписаться на комментарии по RSS

Написать комментарий