вторник, 29 июля 2008 г.

Linux: от DV до DVD

Источник: http://rad.xtalk.msk.su/dv-dvd/index.html
Автор: RaD

Введение

Эта статья представляет собой сжатое описание процесса обработки видеоматериала на операционной системе ALTLinux.

Вся информация, изложенная в статье, является моим мнением и не может рассматриваться как истина, не подлежащая сомнению.

В качестве исходного материала рассматривается DV плёнка, в качестве результирующего - DVD диск.

Для успешной работы необходимо использовать последние версии упомянутого в статье программного обеспечения.


Подготовка DV материала

Съёмка

Если оператор уважает труд человека, который будет производить монтаж отснятого, или не желает слышать нелестные отзывы в свой адрес, то он будет производить съёмку правильно. Тому, как снимать правильно, было посвящено немало статей в специализированных журналах, например, в журнале "Режиссёр".

Я делаю так: снимаю неподвижные эпизоды по 10 секунд. Слово "неподвижные" означает, что в момент съёмки никаких действий с камерой не производится. Производить съёмку желательно со штатива. Дергать камерой не надо, играть с "зумом" тоже. Всё равно ничего хорошего из этого потом не получится. Но если вы работаете на MTV, то не прислушивайтесь к моим советам.

Настройка Kino

Перед работой с программой Kino, её необходимо правильно настроить.

Общая настройка

Через меню "Edit" > "Preferences" переходим к настройкам:

* Вкладка "Defaults" - Настраиваем параметры цветности, звука и формата изображения:

* Вкладка "Capture" - Настраиваем параметры захвата отснятого материала, каталог для полученного материала и его формат:
* Вкладка "IEEE 1394" - Настраиваем параметры взаимодействия с IEEE 1394, указываем устройства, через которые будет производиться импорт и экспорт видеоматериала:
* Вкладка "Display" - Настраиваем отображение материала программой. Я выбрал низкое качество декодирования для ускорения работы своей системы. На качество получаемого материала это никак не влияет:
* Вкладка "Audio" - Настраиваем параметры работы со звуком, указываем, что желаем его слышать и через какое устройство:
* Вкладка "Jog/Shuttle" - Настраиваем параметры дополнительного оборудования (можно заказать у авторов программы):
* Вкладка "Other" - Настраиваем остальные параметры, сохранение проекта с относительными именами файлов, двойное кодирование изображения:

Поддержка субтитров

Я сделал перевод статьи Dan Dennedy, в которой он рассказывает о скрытых возможностях Kino. Рекомендую сначала ознакомиться с ней, а затем в файле ~/.gnome2/kino найти строчку:

metaNames=*title,author,copyright,id,abstract

и изменить её следующим образом:

metaNames=*title,author,copyright,id,abstract,subtitle

Теперь требуется заново запустить Kino.


Сброс материала на компьютер

Теперь пришло время сбросить отснятый материал на компьютер. Для этого необходимо иметь не очень старый компьютер, оборудованный интерфейсом IEEE 1394 и имеющий вместительный жёсткий диск. Час DV материала занимает не больше 15 GB. Я использую для работы с видео достаточно древний компьютер: Intel Celeron 900 / 256 MB RAM / 140 GB HDD / PCI IEEE 1394 Interface / ALTLinux 2.4 Master

Для сброса материала используется программа Kino. Мне нравится работать с GUI, консоль оставим для других задач. Но если что-то вам мешает использовать графический интерфейс на данном этапе, то обратитесь к программе dvgrab.

Подключаем DV камеру к компьютеру. Я специально пропускаю момент настройки интерфейса IEEE 1394, это неоднократно и подробно описано в Google. К тому же на ALTLinux эта плата определяется автоматически. А вот список модулей следует привести:

# lsmod | grep 1394
video1394 12180 0 (unused)
ohci1394 23912 0 [video1394]
raw1394 17652 0
ieee1394 42852 0 [video1394 ohci1394 raw1394]

Захват материала производят следующим образом. На вкладке "Capture" программы Kino указывается каталог и имя файла для размещения захваченного материала. Видеокамера включается в режиме "player" и запускается воспроизведение. В окне просмотра должно появиться изображение с камеры. Затем следует нажать на кнопку "Capture" и дождаться захвата материала. После захвата необходимо нажать на кнопку "Stop" и выключить видеокамеру.


Структура проекта

По мере рассмотрения материала, мы достигнем структуры, показанной и прокомментированной ниже:

export - каталог с DV материалом, готовым к экспорту на ленту
movie01.avi
movie02.avi
menu - каталог с материалом для DVD меню
background.png - фоновое изображение
button-hl.png - маска для кнопок в режиме highlight
button-sl.png - маска для кнопок в режиме select
dvdauthor.xml - управляющий файл для сборки DVD структуры
gimp-menu.xcf - проект Gimp с изображениями
menu.xml - управляющий файл для создания DVD меню
prepare.sh - скрипт сборки DVD структуры
silence.mp2 - файл с тишиной
mpeg - каталог с материалом для записи на DVD диск
ready.mpeg - исходный материал
dvd.mpeg - материал с импортированными субтитрами
project.smil - файл проекта Kino
subtitle.sub - комментарии в виде субтитров
subtitle.xml - управляющий файл для размещения комментариев в MPEG
timecode.sub - информация о дате/времени в виде субтитров
timecode.xml - управляющий файл для размещения комментариев в MPEG

Монтаж материала

Приступаем к монтажу. Безжалостно режем всё ненужное, это около 50% материала, бывает больше. Как только процесс вычищения закончен и вы уверены, что больше никаких изменений в материал вноситься не будет, выполняем экспортирование материала в формате DV на тот же диск.

Это промежуточное экспортирование необходимо для сохранения дискового пространства. Мы оставляем только полезный материал. После экспортирования оригинальный материал можно удалить.


Подготовка к экспорту в DVD MPEG

Создаём новый проект Kino. Импортируем в него материал, экспортированный на предыдущем шаге, и сохраняем проект под именем project.smil.


Комментарии к сценам

Теперь приступаем к набиванию комментариев к сценам. Одной сцене может быть присвоен только один комментарий. Если требуется несколько комментариев, просто разбейте одну сцену на нужное количество сцен и прокомментируйте каждую по отдельности. Если комментарий не будет вмещаться в одну строку, то при его внедрении в MPEG поток комментария будет разделён на две или более строк. Комментарий имеет формат:

{номер начального кадра}{номер конечного кадра} текст комментария

Нормальная длительность комментария составляет 4 секунды, т.е. 100 кадров. На рисунке, приведённом ниже, показан пример готового проекта:

Не забываем периодически сохранять файл проекта, ведь именно в него производится сохранение информации о комментариях.


Получение субтитров с комментариями

Сохраняем файл проекта и экспортируем из него комментарии с помощью команды:

smil2sub.sh <> subtitle.sub

Исходный код скрипта smil2sub.sh приведён ниже:

#!/bin/bash


while read line
do
echo $line | grep "subtitle=\"*\"" >/dev/null 2>&1 && \
echo $line | \
sed 's/.* w3m -dump -T text/html
done

Получение субтитров с временным кодом

Первый поток субтитров будет содержать информацию о дате/времени съёмки. Для получения этой информации из материала необходимо установить программу dv2sub. Закройте Kino.

Перейдите в каталог с проектом и запустите Kino командой:

kino project.smil &

В результате этого во вкладке "Export" > "DV Pipe" появятся новые элементы выпадающего списка. Укажите любое имя файла в поле "File:", всё равно файл субтитров будет создан в каталоге запуска Kino, т.е. в каталоге проекта, и будет иметь имя dv2sub.sub.

Переименовываем файл dv2sub.sub в timecode.sub.


Экспорт MPEG

Переходим на вкладку "Export" > "DV Pipe", указываем имя файла, компрессор (Tool: FFMPEG Dual Pass DVD-Video) и профайл (Standard VOB), как показано на рисунке. Затем нажимаем на кнопку "Export" и долго медитируем. Процесс кодирования MPEG файла (с расширением .vob) занимает достаточно много времени, по крайней мере, на моём компьютере.


Импортирование субтитров в MPEG

Импортирование субтитров производится с помощью утилиты spumux. Можно импортировать до 32-х независимых потоков с субтитрами. Я ограничиваюсь пока двумя.

В каталоге ~/.spumux/ должен быть файл arial.ttf.

Для импортирования комментариев используется управляющий файл subtitle.xml:




fontsize="28.0" font="arial.ttf"
horizontal-alignment="left" vertical-alignment="bottom"
left-margin="60" right-margin="60" top-margin="20" bottom-margin="30"
subtitle-fps="25" movie-fps="25" movie-width="720" movie-height="574"
/>


Для импортирования информации о дате/времени используется управляющий файл timecode.xml:




fontsize="28.0" font="arial.ttf"
horizontal-alignment="left" vertical-alignment="bottom"
left-margin="60" right-margin="60" top-margin="20" bottom-margin="30"
subtitle-fps="25" movie-fps="25" movie-width="720" movie-height="574"
/>


Для упрощения импорта субтитров я использую следующий скрипт:

#!/bin/bash


cat mpeg/ready.vob | spumux -s 1 -P timecode.xml | spumux -s 2 -P subtitle.xml > mpeg/dvd.mpeg

, который вызывается из главного каталога проекта.


Создание меню

На данный момент, создание меню для DVD - это нудная ручная работа. Но такой подход позволяет сделать то, чего невозможно добиться, используя программы - генераторы меню.

Меню представляет собой MPEG видео, в которое внедрён поток кнопок в виде субтитров. Кнопками являются особо определённые области на экране, при выделении или нажатии на которые происходит активизация одного из слоёв субтитров. Это обеспечивает подсветку соответствующей кнопки. При нажатии на кнопку может произойти выполнение команды, переход к другому меню или переход к видео. Все вопросы по созданию меню и использованию команд поможет снять команда:

man dvdauthor

Создание фонового изображения

Открываем GIMP и создаём новое изображение 720x576 (75x80 DPI) RGB. Вставляем в слой картинку для меню, пишем надписи, создаём кнопочки и так далее. Периодически сохраняем проект в формате XCF.

Слева и справа надо сделать направляющие, отступающие от краёв на 60 пикселей. Это граница для текстового оформления. Текст названия эпизодов набирается 24 шрифтом.

Обратите внимание на то, что картинки, текст и прочие элементы разделены по слоям. Это позволяет свободно перемещать объекты относительно друг друга:


Создание изображений с кнопками

Когда работа с картинками завершена, надо добавить два слоя: Highlight (этот слой работает, когда кнопка меню выбирается пользователем) и Select (этот слой работает, когда кнопка меню была нажата пользователем).

Выбираем слой Highlight. Выбираем для него цвет переднего фона, например, #3516F1. Выбираем кисть, шаблон кисти - неразмытый кружок в 5 пикселей. Выбираем инструмент "Выделятор" и выделяем все кнопки, пользуясь клавишей Shift. Рисуем кромку с помощью "Правка" > "Обвести выделенное", в появившемся окне указываем, что надо "Использовать один из инструментов", а в качестве инструмента выбираем "Кисть". Получается слой с рамками для всех кнопок. То же самое выполняем для слоя Select, только цвет указываем #F1BB16. Сохраняем эти два слоя в отдельные картинки. Отдельно открываем эти файлики и преобразуем в 4-х цветное индексированное изображение. Сохраняем в формате PNG.


Создание MPEG файла с меню

Создаём управляющий файл, который описывает параметры кнопок (имя и координаты), а также указывает на файлы, содержащие маски кнопок для разных режимов.




highlight="menu/button-hl.png"
select="menu/button-sl.png"
>

Приведённые ниже команды собирают DVD меню из подготовленных нами компонентов, в соответствии с описанным выше файлом menu.xml:

# Преобразовываем картинку в видео

convert menus/background.png ppm:- | \
ppmtoy4m -n50 -F25:1 -A59:54 -I p -r | \
mpeg2enc -n p -f8 -b5000 -a2 -o background.m2v

# Объединяем видео и аудио для меню
mplex -f 8 -o menu-temp.mpeg background.m2v menu/silence.mp2

# Прописываем поток субтитров (кнопок) для меню
spumux menu/menu.xml <> menu.mpeg

Авторизация DVD

Для авторизации диска необходимо подготовить файл dvdauthor.xml следующего содержания:












В данном примере у нас отсутствует главное меню. Мы используем сразу подменю, которое содержит пять управляющих зон-кнопок. Следует отметить, что наименования кнопок в данном файле совпадают с наименованиями кнопок, использованными при создании DVD меню (см. файл menu.xml).

Подразделы нашего диска определены параметром chapters тэга vob. Навигация производится именно по указанным подразделам (см. определение кнопок).

Авторизация диска выполняется с помощью команды:

dvdauthor -x dvdauthor.xml

Краткие советы

Поправьте скрипты экспорта Kino, чтобы звук преобразовывался в AC3 формат в любом случае. Это позволит избежать проблем с фирменными DVD-плеерами. Китайские плееры играют всё что угодно и не могут рассматриваться как оборудование для тестирования созданного диска.

Субтитры намертво внедряются в MPEG файл. Если у вас в DVD проект входят несколько MPEG файлов, то о субтитрах вам точно не надо беспокоиться.

При указании следующего chapter в dvdauthor.xml округляйте значение секунд вперёд.


Комментарии

Заинтересованные в изменении содержимого данной статьи могут высылать свои мнения на radz at yandex dot ru

О формате DVD-Video

О формате DVD-Video - *NIX в заметках - Путь к пониманию

2008-01-09 от ashep

Об этой статье

В этой статье рассматриваются базовые понятия и принципы, используемые при создании дисков DVD Video. Весь материал взят из разнообразных источников, расположенных в Сети. Там, где это возможно, я сохранил ссылки на источники информации. Если я вдруг кого-то забыл, не обижайтесь, пожалуйста, и дайте мне знать об этом.



Формат DVD

Физически, DVD формат похож на CD с тем отличием, что для работы с DVD дисками используется лазерный луч с меньшей длиной волны. За счет этого достигается большая плотность записи. Также, существуют DVD диски с дополнительным слоем для хранения данных, что увеличивает объем хранимых данных на одной стороне вдвое. Однослойный DVD диск предоставляет возможность записи до 4,7 Гбайт на одну сторону, а двухслойный - до 8,5 Гбайт.

Существует несколько разновидностей DVD носителей. Изначально DVD Forum определил три типа: DVD-R, DVD-RW и DVD-RAM. DVD-RAM является физически перезаписываемым форматом, однако он не совместим со стандартным форматом DVD Video.

Логическая организация DVD Video

В отличие от CD, который состоит из треков, список которых хранится в TOC (Table Of Contents), DVD имеет файловую систему UDF.

DVD Video логически разбит на следующие части:

  • First-Play Section. Проигрывается первой сразу после того, как диск вставляется в устройство
  • VMGI (Video Manager Information). Информация видео-менеджера
  • VMGM (Video Manager Menus). Меню видео-менеджера
  • VTS (Video Title-Sets). Комплекты видео-приложений

Каждый комплект видео приложений (VTS) логически разбит на

  • VTSI (Video Title Set Information). Информация видео-приложения, содержащая в себе управляющие данные.
  • VOB (Video Objects). Меню
  • VOB (Video Objects). Данные
  • Резервная копия VTSI

Каждый VOB (базовая файловая единица диска) включает видео, аудио, субтитры и навигационные данные. Когда проигрывается VOB, плеер не только последовательно проигрывает видео, но также следует навигационным командам для отображения меню, принятия команд от пользователя и т. д. Каждый VOB включает в себя отдельные ячейки (cells), связанные вместе при помощи Программных Цепочек (Program Chains - PGC), которые обеспечивают требуемую интерактивность, используя простой язык программирования, разработанный для DVD-Видео. PGC используются для регулирования проигрывания видео, аудио и субтитров в VOB'ах, отображения меню, и ввода и исполнения команд пользователя. Существует три типа PGC: последовательного проигрывания (sequential play), произвольного проигрывания (random play) и смешанного (shuffle play) проигрывания. Отдельные ячейки могут использоваться более чем одной PGC, которая может определять различные последовательности проигрыша видеоматериала, например для обеспечения бесшовного ветвления (seamless branching). PGC подчиняются набору команд для элементарного программирования, включающему математические и логические операторы, условные переходы, обратный отсчет времени и т. д. Имеется 16 обычных регистров для более сложного программирования, и 16 системных регистров.

Файловая организация DVD-Video

VOB'ы и другие данные располагаются в каталоге VIDEO_TS. Таблица внизу показывает пример диска с одним комплектом видео приложений.

Имя файла Описание
VIDEO_TS.IFO Файл VMGI (Информация Видео Менеджера)
VIDEO_TS.VOB Файл VMGM (Меню Видео Менеджера)
VIDEO_TS.BUP Резервный файл VMGI
VTS_01_0.IFO Файл VTSI
VTS_01_0.VOB Набор видео объектов для меню VTS
VTS_01_0.BUP Резервный файл VTSI
VTS_01_1.VOB Первый видео объект из первого комплекта видео объектов
VTS_01_2.VOB Второй видео объект из первого комплекта видео объектов

Аудио, видео и субтитры могут содержатся не более чем в 9 VOB файлах, относящихся к данному видео приложению, каждый из которых по размеру не превышает 1 Гб. Таким образом, на DVD-5 будет не более 5 VOB файлов, относящихся к видео приложению, для DVD-9 могут потребоваться все 9. Файлы VTS*.* могут повторяться для каждого комплекта видео приложений (VTS) и будут соответственно называться VTS_02*.*, VTS_03*.* и т. д. На каждый VTS будет приходиться один .IFO и .BUP файлы, плюс один или больше .VOB файлов.

Требования к потоку

Одним из обязательных требований стандарта DVD Video к видеопотоку - он должен быть кодирован в MPEG-1 или MPEG-2. Таким образом, для кодирования подготавливаемого к записи видео необходим MPEG-1 или MPEG-2 кодек. MPEG-2 использовать более предпочтительно, поскольку он является более продвинутым и современным, однако, если вам необходимо получить на выходе видео-поток с битрейтом ниже 1 Мбит/сек (около 10 часов видео на стандартный однослойный DVD носитель), то в этом случае лучше воспользоваться кодеком MPEG-1.

Вопроизводимый в странах бывшего СНГ цифровой видео-поток должен соответствовать одним из требований, перечисленных ниже, ввиду того, что стандартные DVD проигрыватели могут просто отказаться от проигрывания видео-объекта, если формат видео-потока в нем не будет соответствовать указанным требованиям.

Видео кодек Аудио кодек Кадров в секунду Ширина кадра Высота кадра Соотношение сторон
MPEG-1
  • Linear Pulse Code Modulation (LPCM): 48 kHz или 96 kHz; 16- or 24-bit;
    до 6 каналов
  • MPEG Layer 2 (MP2): 48 kHz, до 5.1 каналов
  • Dolby Digital (DD, также известен как AC-3): 48 kHz, 32–448 kbit/s, до 5.1
    каналов
  • Digital Theater Systems (DTS): 754 kbit/s или 1510 kbit/s
25 352 288 4:3
MPEG-2 352 288 4:3
352 576 4:3
704 576 4:3
720 576 4:3
720 576 16:9

В процессе MPEG кодирования устраняются избыточные видео-данные в серии рядом расположенных кадров. Два соседних кадра обычно содержат много одинаковых элементов изображения. Информация в них отличается на малую часть от всей информации содержащейся в кадре. Производится сжатие видео, при котором используются не все данные каждого видео-кадра, а динамика изменений кадров, так как в большинстве последовательных кадров одного видео-сюжета фон почти не изменяется, а хорошо заметные изменения происходят на переднем плане. Например, происходит плавное перемещение небольшого объекта на фоне неизменного заднего плана. В этом случае полная информация о изображении сохраняется только для опорных изображений. Для остальных кадров оцифровывается только разностная информация: о положении объекта, направлении и величине его смещения, о новых элементах фона, открывающихся за объектом по мере его движения. Причем эта разностная информация вычисляется не только по сравнению с предыдущими изображениями, но и с последующими (поскольку именно в них по мере движения объекта открывается ранее скрытая часть фона). Опорные кадры в MPEG видео-потоке должны быть вставлены каждые 15 или 18 кадров, ввиду того, что именно опорные или, как их еще называют, I-кадры используются просмотрщиками видео при перемотке видео вперед или назад.

Для соответствия формату DVD Video, битрейт мультиплексированного потока не должен быть выше 9,8 Мбит/сек и не менее 300 Кбит/сек. Этот параметр обязательно нужно учитывать при получении конечного MPEG потока.

Основные понятия и определения

DVD видео. Для воспроизведения DVD с видео необходим DVD-привод и декодер MPEG-2 (то есть либо бытовой DVD-проигрыватель с аппаратным декодером, либо компьютерный DVD-привод и программный проигрыватель с установленым декодером). Фильмы на DVD сжаты с использованием алгоритма MPEG-2 для видео и различных (часто многоканальных) форматов для звука. Битрейт сжатого видео варьируется от 2000 до 9800 Кбит/с, часто бывает переменным (VBR − англ. variable bitrate). Стандартный размер видео кадра стандарта PAL равен 720×576 точек, стандарта NTSC - 720×480 точек. Аудиоданные в DVD-фильме могут быть в формате PCM, DTS, MPEG или Dolby Digital (AC-3). В странах, использующих стандарт NTSC, все фильмы на DVD должны содержать звуковую дорожку в формате PCM или AC-3, а все NTSC-плееры должны эти форматы поддерживать. Таким образом, любой стандартный диск может быть воспроизведён на любом стандартном оборудовании. В странах, использующих стандарт PAL (большая часть Европы, Россия в том числе), поначалу хотели ввести в качестве стандарта звука для DVD форматы PCM и MPEG-2, но под влиянием общественного давления и идя вразрез с пожеланиями Philips, DVD-Forum включил Dolby AC-3 в список опциональных форматов звука на дисках и обязательных форматов в плеерах.

PAL (Phase-Alternating Line). Система аналогового цветного телевидения, разработана инженером немецкой компании «Telefunken» Вальтером Брухом и представленная как стандарт телевизионного вещания в 1967 году.

NTSC (National Television Standards Committee). Национальный комитет по телевизионным стандартам. Cистема аналогового цветного телевидения, разработанная в США. 18 декабря 1953 года впервые в мире было начато цветное телевизионное вещание с применением именно этой системы. NTSC принята в качестве стандартной системы цветного телевидения также в Канаде, Японии и ряде стран американского континента.

MPEG (Moving Picture Experts Group). Экспертная группа по вопросам движущегося изображения. Группа специалистов в подчинении ISO, собирающаяся для выработки стандартов сжатия цифрового видео и аудио.

MPEG-1. Группа стандартов на цифровое сжатие аудио и видео, принятую MPEG. MPEG-1 видео используется, например, в формате Video CD. Качество видео на видео-CD (VCD) приблизительно близко к качеству VHS видеокассет

MPEG-2. Группа стандартов цифрового кодирования видео и аудио сигналов, одобренных ISO — Международной Организацией по стандартизации/IEC Moving Picture Experts Group (MPEG). Стандарт MPEG-2 в основном используется для кодирования видео и аудио при вещании, включая спутниковое вещание и кабельное телевидение. MPEG-2 с некоторыми модификациями также активно используется как стандарт для сжатия DVD.

Количество (частота) кадров в секунду. Число неподвижных изображений, сменяющих друг друга при показе 1 секунды видеоматериала и создающих эффект движения объектов на экране. Чем больше частота кадров в секунду, тем более плавным и естественным будет казаться движение. Минимальный показатель, при котором движение будет восприниматься однородным — примерно 10 кадров в секунду (это значение индивидуально для каждого человека). В традиционном пленочном кинематографе используется частота 24 кадра в секунду. Системы телевидения PAL и SÉCAM используют 25 кадров в секунду (англ. 25 fps или 25 Герц), а система NTSC использует 29,97 кадров в секунду. Компьютерные оцифрованные видеоматериалы хорошего качества, как правило, используют частоту 30 кадров в секунду. Верхняя пороговая частота мелькания, воспринимаемая человеческим мозгом, в среднем составляет 39—42 Герца и индивидуальна для каждого человека. Некоторые современные профессиональные камеры могут снимать с частотой до 120 кадров в секунду. А специальные камеры для сверхбыстрой съемки снимают с частотой до 1000 кадров в секунду и выше, что необходимо, например, для детального изучения траектории полета пули или структуры взрыва.

Чересстрочная развертка. Развертка видеоматериала может быть прогрессивной (построчной) или чересстрочной. При прогрессивной развертке все горизонтальные линии (строки) изображения отображаются одновременно. А вот при чересстрочной развертке показываются попеременно четные и нечетные строки (называемые также полями кадра). Чересстрочную развёртку часто называют на английский манер интерлейс (англ. interlace) или интерлейсинг. Чересстрочная развёртка была изобретена для показа изображения на кинескопах и используется сейчас для передачи видео по «узким» каналам, не позволяющим передавать изображение во всём качестве. Системы PAL, SÉCAM и NTSC — это всё системы с чересстрочной развёрткой. Новые цифровые стандарты телевидения, например, HDTV предусматривают прогрессивную развёртку. Хотя появились технологии, позволяющие имитировать прогрессивную развёртку при показе материала с интерлейсом. Чересстрочную развёртку обычно обозначают символом «i» после указания вертикального разрешения, например 720×576i×50 для видео в формате PAL. Для подавления неприятных эффектов, возникающих при просмотре чересстрочного видео на построчном экране, применяются специальные математические методы, именуемые деинтерлейсингом.

Прогрессивная развертка. В отличие от чересстрочной развертки, где за каждый кадр формируется только половина изображения (либо четные, либо нечетные строки), при прогрессивной развертке формируется изображение целиком, т.е. все строки. В настоящее время чересстрочная развертка используется только в дешевых ЭЛТ-телевизорах.

Деинтерлейсинг Процесс создания одного кадра из двух полукадров чересстрочного формата для дальнейшего вывода на экран с прогрессивной развёрткой, такой как компьютерный монитор. Применяется в компьютерных системах обработки видео, плоскопанельных телевизорах и т. д.

Разрешение. По аналогии с разрешением компьютерных мониторов, любой видеосигнал также имеет разрешение (англ. resolution), горизонтальное и вертикальное, измеряемое в пикселях. Обычное аналоговое телевизионное разрешение составляет 720×576 пикселей для стандартов PAL и SÉCAM, при частоте кадров 50 Герц (одно поле, 2×25); и 648×486 пикселей для NTSC, при частоте 60 Герц (одно поле, 2×29,97). В выражении 648×480 первым числом обозначается количество точек в горизонтальной линии (горизонтальное разрешение), а вторым числом количество самих линий (вертикальное разрешение). Новый стандарт высокоотчётливого (англ. high-definition) цифрового телевидения HDTV предполагает разрешения до 1920×1080 при частоте мелькания 60 Герц с прогрессивной развёрткой. То есть 1920 пикселей на линию, 1080 линий.

Количество цветов и цветовое разрешение видеосигнала. Описывается цветовыми моделями. Для стандарта PAL применяется цветовая модель YUV, для SÉCAM модель YDbDr, для NTSC модель YIQ, в компьютерной технике применяется в основном RGB (и αRGB), реже HSV, а в печатной технике CMYK. Количество цветов, которое может отобразить монитор или проектор зависит от качества монитора или проектора. Человеческий глаз может воспринять, по разным подсчётам, от 5 до 10 миллионов оттенков цветов. Количество цветов в видеоматериале определяется числом бит, отведённым для кодирования цвета каждого пикселя (англ. bits per pixel, bpp). 1 бит позволяет закодировать 2 цвета (обычно чёрный и белый), 2 бита — 4 цвета, 3 бита — 8 цветов, …, 8 бит — 256 цветов, 16 бит — 65 536 цветов, 24 бита — 16 777 216 цветов. В компьютерной технике имеется стандарт и 32 бита на пиксель (αRGB), но этот дополнительный α-байт (8 бит) используется для кодирования коэффициента прозрачности пикселя (α), а не для передачи цвета (RGB). При обработке пикселя видеоадаптером, RGB-значение будет изменено в зависимости от значения α-байта и цвета подлежащего пикселя (который станет «виден» через «прозрачный» пиксель), а затем α-байт будет отброшен, и на монитор пойдёт только цветовой сигнал RGB.

Битрейт. Ширина (иначе говорят скорость) видеопотока или битрейт (англ. bit rate) — это количество обрабатываемых бит видеоинформации за секунду времени (обозначается «бит/с» — бит в секунду, или чаще «Мбит/с» — мегабит в секунду; в английском обозначении «bit/s» и «Mbit/s» соответственно). Чем выше ширина видеопотока, тем в общем лучше качество видео. Например, для формата VideoCD ширина видеопотока составляет всего примерно 1 Мбит/с, а для DVD составляет около 5 Мбит/с. Конечно, субъективно разницу в качестве нельзя оценить как пятикратную, но объективно это так. А формат цифрового телевидения HDTV использует ширину видеопотока около 10 Мбит/с. При помощи скорости видеопотока также очень удобно оценивать качество видео при его передаче через Интернет. Различают два вида управления шириной потока в видеокодеке — постоянный битрейт (англ. constant bit rate, CBR) и переменный битрейт (англ. variable bit rate, VBR). Концепция VBR, ныне очень популярная, призвана максимально сохранить качество видео, уменьшая при этом суммарный объём передаваемого видеопотока. При этом на быстрых сценах движения, ширина видеопотока возрастает, а на медленных сценах, где картинка меняется медленно, ширина потока падает. Это очень удобно для буферизованных видеотрансляций и передачи сохранённого видеоматериала по компьютерным сетям. Но для безбуферных систем реального времени и для прямого эфира (например, для телеконференций) это не подходит — в этих случаях необходимо использовать постоянную скорость видеопотока.

Соотношение сторон экрана. Соотношение ширины и высоты кадра (англ. aspect ratio) — важнейший параметр в любом видеоматериале. Ещё с 1910 года кинофильмы имели соотношение сторон экрана 4:3 (4 единицы в ширину к 3 единицам в высоту; иногда ещё записывается как 1,33:1 или просто 1,33). Считалось что зрителю удобнее смотреть фильм на экране такой формы. Когда появилось телевидение, то оно переняло это соотношение и почти все аналоговые телесистемы (и, следовательно, телевизоры) имели соотношение сторон экрана 4:3. Компьютерные мониторы также унаследовали телевизионный стандарт сторон. Хотя ещё в 1950-х годах это представление о 4:3 в корне изменилось. Дело в том, что поле зрения человека имеет соотношение отнюдь не 4:3. Ведь у человека 2 глаза, расположенных на одной горизонтальной линии — следовательно, поле зрения человека приближается к соотношению 2:1. Чтобы приблизить форму кадра к естественному полю зрения человека (и, следовательно, усилить восприятие фильма), был введён стандарт 16:9 (1,78), почти соответствующий так называемому «Золотому сечению». Цифровое телевидение в основном тоже ориентируется на соотношение 16:9. К концу XX века, после ряда дополнительных исследований в этой области, стали появляться даже и более радикальные соотношения сторон кадра: 1,85, 2,20 и вплоть до 2,35 (почти 21:9). Всё это, безусловно, призвано глубже погрузить зрителя в атмосферу просматриваемого видеоматериала.

PCM. Импульсно-кодовая модуляция (ИКМ или PCM — Pulse Code Modulation) используется для оцифровки аналоговых сигналов перед их передачей. Практически все виды аналоговых данных (видео, голос, музыка, данные телеметрии, виртуальные миры) допускают применение ИКМ-модуляции. Чтобы получить на входе канала связи (передающий конец) ИКМ-модулированный сигнал из аналогового, амплитуда аналогового сигнала измеряется через равные промежутки времени. Количество оцифрованных значений в секунду (или скорость оцифровки) кратна максимальной частоте (Гц) в спектре аналогового сигнала. Мгновенное измеренное значение аналогового сигнала округляется до ближайшего уровня из нескольких заранее определенных значений. Этот процесс называется квантованием, а количество уровней всегда берется кратным степени двойки, например, 8, 16, 32 или 64. Номер уровня может быть соответственно представлен 3, 4, 5 или 6 битами. Таким образом, на выходе модулятора получается набор битов (0 или 1). На приёмном конце канала связи демодулятор преобразует последовательность битов в импульсы с тем же уровнем квантования, который использовал модулятор. Далее эти импульсы используются для восстановления аналогового сигнала.

Ссылки и источники из которых была взята информация и что стоит почитать

воскресенье, 27 июля 2008 г.

Wine: Часто задаваемые вопросы

Виртуальная энциклопедия "Linux по-русски": новости, статьи, ссылки на материалы по операционной системе GNU/Linux.

Оригинал: FAQ
Дата: 23 мая 2008
Свободный перевод: Алексей Дмитриев
Дата перевода: июнь 2008

Эти Часто задаваемые Вопросы касаются основных тем по Wine.
По вопросам, касающимся развития самого Wine, смотрите DeveloperFaq.

Оглавление

1. Общие вопросы


1.1. Как мне установить приложение в Wine?
1.2. Как мне запустить установщик (инсталятор) при помощи Wine?
1.3. Как мне запустить уже установленное мною приложение?
1.4. У меня в разделе Windows установлено множество приложений. Как мне пользоваться ими при помощи Wine?
1.5. Как запускается Wine?
1.6. Какая разница между Wine, CrossOver Linux, и Cedega?
1.7. Почему одни пишут WINE, а другие Wine?
1.8. Является ли Wine эмулятором? В пользу этого предположения, похоже, есть аргументы.
1.9. Когда появится релиз Wine-1.0?
1.10. Не повреждает ли Wine Линукс?
1.11. Почему Wine имеет Windows версию?
1.12. Работает ли Wine в 64-битном режиме?
1.13. Могу ли я использовать Wine для установки драйверов для моего "железа"?
1.14. Где я могу получить дополнительную помощь?
1.15. Кто отвечает за Wine?
1.16. Как я могу содействовать развитию проекта Wine, и в какой форме?
1.17 Мне кажется, что я нашел ошибку. Как я могу сообщить о ней команде программистов Wine?

2. Использование Wine


2.1. Когда я кликаю мышью на .exe файле в моем файловом менеджере, то ничего не происходит.
2.2. Я хочу применить аргументы командной строки к моей программе.
2.3. Я хочу, чтобы мое Windows приложение могло открывать документы, запуская Linux приложения.
2.4. Моя программа зависла, как мне закрыть ее?
2.5. Мое приложение сообщает, что нужные DLL или шрифты отсутствуют. Что мне делать?
2.6. Что такое "winetricks"? Где их взять?
2.7. Мое приложение не работает, требует MFC40.DLL
2.8. Мое приложение не работает, требует MFC42.DLL или MSVCP60.DLL
2.9. Мое приложение не работает, требует MDAC
2.10. Мое приложение не работает, требует .NET
2.11. Мое приложение не работает, требует Internet Explorer.
2.12. Как установить Internet Explorer в Wine?
2.13. Мое приложение работает, но текстовые поля ведут себя странно (текст не переходит на следующую строку, двойной щелчок не выделяет слова и т.д.).
2.14. Как заставить Wine запустить индивидуальное приложение внутри виртуального рабочего стола?
2.15. Мое приложение жалуется на невозможность изменить разрешение и глубину цвета.
2.16. Приложение, которое я пытаюсь запустить, жалуется, что ему нужно 256 цветов, но у меня в наличии миллионы цветов.
2.17. После запуска игры в полноэкранном режиме, мой Х экран не возвращается к нормальному разрешению.
2.18. Я использую Beryl/XGL/Compiz и получаю плохую эффективность/странные сообщения/испорченные приложения.
2.19. Как мне узнать свою версию Wine?
2.20. Должен ли я запускать Wine как суперпользователь?
2.21. Я запускал Wine через sudo, или как суперпользователь, как мне теперь исправить ошибки с правами доступа?
2.22. Как мне деинсталировать Wine? Как мне удалить виртуальную Windows инсталляцию?
2.23. Какой звуковой драйвер выбрать в winecfg?
2.24. Почему недоступен PulseAudio?
2.25. Я установил OSS в Wine и у меня нет звука.
2.26. Когда я кликаю вкладку audio, winecfg либо подвисает, либо жалуется на какие-то файлы.
2.27. При запуске winecfg выводится без текста, или с поврежденным текстом.
2.28. При использовании Wine через удаленные X11 сессии, выводился поврежденный текст, либо текста вовсе не было.
2.29. Как применить сглаживание (anti-aliasing) к шрифтам в Wine?
2.30. Как мне изменить размер и разрешение шрифтов?
2.31. Окна и шрифты в Wine чрезвычайно велики, так что окно целиком не влезает в экран.
2.32. Как редактировать регистр Wine?
2.33. У меня есть MSI файл, как мне установить и запустить его?
2.34. Мой CD или DVD диск не вынимается.
2.35. Моя программа не работает в сети, хотя Linux выходит он-лайн.
2.36. Как мне сконфигурировать proxy?
2.37. Как получить отладочный трассировочный лог?
2.38. Почему DNS не работает в 64-битной ОС?
2.39. Какие приложения и сервисы конфликтуют с Wine?

3. Приложения


3.1. Как мне деинсталировать Windows приложение?
3.2. Будет ли Wine работать с моим приложением?
3.3. Поддерживает ли Wine DirectX? Могу ли я установить Микрософтовский DirectX под Wine?
3.4. Почему Wine плохо работает с защитой от копирования?
3.5. Мое приложение работало со старой версией Wine, а теперь не работает!
3.6. Мне очень нужно данное приложение для работы, как мне добиться, чтобы оно заработало?

4. Эффективность


4.1. Каковы системные требования Wine?
4.2. Мои 3D приложения и игры очень медленны (fps).
4.3. Медленнее ли пользоваться Wine, чем Windows?
4.4. Я получаю множество сообщений "fixme:" в терминале, и Wine работает чуть замедленно.
4.5. Предупреждение: "preloader: Warning: failed to reserve range 00000000-600000".

5. Apple


5.1. Как мне установить Wine на мой Mac?
5.2. Могу ли пользоваться Wine на старом Mac'е без чипа Intel?

6. Риски


6.1. Wine подвержен опасности заражения вредоносными программами.
6.2. Nautilus может удалить вашу домашнюю директорию во время опустошения мусорной корзины!

1. Общие вопросы

1.1. Как мне установить приложение в Wine?

Просто запустите при помощи Wine инсталятор этого приложения. (Например, если у вас cd-rom, откройте его в файловом менеджере и запустите файл setup.exe).

1.2. Как мне запустить установщик (инсталятор) при помощи Wine?

Дважды щелкните на нем мышью, совсем как в Windows! Можно еще щелкнуть правой кнопкой мыши, выбрать в меню строку "Открыть при помощи" и найти в списке программ Wine.

Если все это не работает, откройте окно терминала, при помощи команды cd перейдите в папку, содержащую инсталятор (файл setup.exe) и запустите его, напечатав в командной строке:

$ cd Desktop
$ wine setup.exe

Если имя инсталятора не имеет расширения .exe, то вам следует напечатать "wine start", а затем имя инсталятора, например:

$ cd Desktop
$ wine start FluffyBunnySetup.msi

(Не печатайте значок $, это приглашение командной строки. И вообще, необязательно печатать все эти буквы - вы можете напечатать несколько первых букв, затем нажать клавишу Tab, а копьютер сам закончит имя, которое вы набираете).

1.3. Как мне запустить уже установленное мною приложение?

После того, как вы установили приложение при помощи Wine, скорее всего, у вас уже есть строка в Главном меню, в разделе Все Приложения/Wine/Программмы, либо иконка на рабочем столе, так, как это было бы в Windows.

Можно открыть в вашей домашней директории папку .wine/drive_c/Program Files (она скрытая, так что надо поставить в меню "Вид" галочку напротив опции "Показывать скрытые файлы"), найти папку вашего приложения, в ней найти главный .exe файл (нужно догадаться) и дважды кликнуть его мышью.

Если все это не работает, откройте окно терминала, перейдите в директорию приложения, скажем:

$ cd ".wine/drive_c/Program Files"
$ ls
Adobe Microsoft FluffyBunny
$ cd FluffyBunny

Затем найдите главный .exe файл (нужно догадаться), и запустите его при помощи Wine, вот так:

$ ls *.exe
fluff.exe uninstall.exe ereg.exe
$ wine fluff.exe

1.4. У меня в разделе Windows установлено множество приложений. Как мне пользоваться ими при помощи Wine?

Вкратце: вам необходимо установить их в Wine, точно так же, как вы устанавливали их в Windows.

Развернуто: некоторые приложения могут быть скопированы из Windows в Wine и продолжать работать, но, если вы не любитель возиться под капотом при работающем двигателе машины, лучше не пытайтесь этого делать. Wine не предназначена для взаимодействия с существующей инсталляцией Windows.

Предупреждение: Не пытайтесь настроить Wine на ваш реальный Windows C:\ диск. Мы долго и безуспешно пытались это сделать, так что и у вас вряд ли случайно получится.

1.5. Как запускается Wine?

Wine - это не то, что можно запустить; при помощи Wine запускают программы. Просто открывайте приложение, и Wine будет автоматически загружена, чтобы запустить его. Вы можете просматривать ваш ложный windows диск, находящийся в директории ~/.wine/drive_c. (Эти настройки Wine могут быть изменены при помощи программы winecfg, но в норме этого делать не следует).

Если хотите общий обзор и руководство по использованию Wine, то читайте Руководство Wine.

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

При использовании терминала существуют два "законных" метода запуска приложений. Первый метод: перейдите в директорию, где находится приложение, и запустите его напрямую, вот так:

$ cd "~/.wine/drive_c/Games/Tron" && wine tron.exe

Второй метод используйте ТОЛЬКО когда собираетесь устанавливать что-либо, размещенное на нескольких CD (что позволит вам менять CD диски), так как он не всегда срабатывает. Метод состоит в использовании полного Windows пути (path) вроде вот этого:

$ wine "C:\Games\Tron\tron.exe"

НЕ ЗАПУСКАЙТЕ программ, использую полный Linux путь (path), типа: "wine /stuff/mygame.exe", или двойным щелчком на иконке в файловом менеджере Linux (иногда это срабатывает, а иногда приводит к различным ошибкам).

Это происходит потому, что Wine проходит путь (path) как он есть вплоть до windows программы с argv[0] (нулевой аргумент, передающийся программе при запуске). Подставляет нужное значение аргумента программа cmd.exe и Wine имеет обширные тесты по этому механизму. Между тем, некоторые программы требуют полный windows путь (path) в argv[0], и прерываются, если не получают его. Множество программ написанных с использованием инструментов фирмы Borland будут иметь эту проблему, так как Borland ошибочно заявила в руководстве что argv[0] всегда будет установлен полным путем (path) исполняемого файла. А это не тот случай.

Если вы используете Gnome, KDE или XFCE4, после установки нескольких приложений в Wine, вы должны заметить раздел Wine, содержащий меню всех установленных приложений, в главном меню вашего рабочего стола (если вы при установке просили их создать ярлыки в меню Пуск). Если приложения отсутствуют в меню, попробуйте запустить команду "wineboot" и посмотрите снова.

1.6. Какая разница между Wine, CrossOver Linux, и Cedega?

Wine является базисом проекта, в котором большая часть работы уже проделана. В настоящее время Wine постоянно находится в стадии бета проекта, нацеленной в основном на разработчиков, тестеров, и начинающих. Несмотря на бета ограничения, десятки тысяч людей с успехом используют "ванильный" Wine для запуска большого числа Windows программ.

CrossOver Linux - это продукт, выпускаемый CodeWeavers и базирующийся непосредственно на Wine с немногими проприетарными добавлениями. В отличие от выходящих каждые две недели релизов Wine, релизы CrossOver тщательно проверяются на совместимость с поддерживаемыми CodeWeavers приложениями во избежание регрессии. CodeWeavers является нанимателем большого числа разработчиков Wine и обеспечивает большую часть лидерства этого проекта. Все усовершенствования Wine, в конечном счете, работают в CrossOver.

Cedega - это продукт TransGaming. TransGaming отпочковался от Wine в 2002 году (когда Wine имел иную лицензию), закрыл свои исходные коды и переориентировал свой брэнд на версию специально для геймеров. TransGaming в настоящее время передает Wine незначительное количество кода. Cedega, это не "Wine с расширенной поддержкой игр", - многие игры идут лучше под Wine, чем под Cedega. На сегодняшний день, Wine имеет более продвинутую поддержку Direct3D, чем Cedega, но у Cedega более продвинутая поддержка защиты от копирования, благодаря тому, что TransGaming лицензирует код (закрытые исходники) у ряда компаний, занимающихся защитой от копирования. В отличие от CrossOver, большинство нововведений Wine не попадают в Cedega, из-за его проприетарной лицензии.

Для подробного ознакомления с тем, как это произошло, смотрите Историю Wine.

1.7. Почему одни пишут WINE, а другие Wine?

Они используют акроним "Wine Is Not an Emulator" (Wine - не эмулятор), первоначальное имя проекта. И, хотя рекурсивные акронимы штука непростая, нет никакого резона писать заглавными буквами. Они уродливо выглядят, так что просим использовать простое, принятое сегодня название проекта: Wine. Мы тоже им пользуемся.

1.8. Является ли Wine эмулятором? В пользу этого предположения, похоже, есть аргументы.

Когда пользователь думает об эмуляторе, он представляет себе вещи вроде Super Nintendo или виртуальной машины. Думать так в отношении Wine неправильно - Wine выполняет приложения Windows точно так же, как это делает сама ОС Windows. При использовании Wine нет неизбежной потери скорости на "эмуляцию", и нет необходимости открывать Wine прежде запуска приложения.

1.9. Когда появится релиз Wine-1.0?

Смотрите WineReleasePlan, там есть расписание. Также смотрите WineReleaseCriteria, там описаны задачи и цели для релиза 1.0.

1.10. Не повреждает ли Wine Линукс?

Wine повышает полезную отдачу Linux, упрощает пользователям переход на Linux, помогает разработчикам приложений Windows создавать приложения, работающие в Linux. Смотрите статью Debunking Мифы о Wine для полного ответа.

1.11. Почему Wine имеет Windows версию?

Windows версия Wine позволяет разработчикам тестировать завершенность DLL от Wine, помещая их прямо в Windows. По крайней мере, в настоящее время, это сделано в основном для разработчиков. Однако в будущем, когда мы закончим реализацию нашего DirectX 10, мы сможем реализовать Direct3D 10 в Windows XP тем же способом, каким он работает в Wine: переводя вызовы DirectX в таковые OpenGL.

1.12. Работает ли Wine в 64-битном режиме?

Да. В норме, инсталяция должна быть такой же, как и в 32-битном: просто устанавливайте пакет Wine для вашего дистрибутива. Смотрите Downloads page. Если вам нужно собрать Wine из исходников, то смотрите WineOn64bit для детальных указаний.

Учтите, что Wine для 64-бит на самом деле работает в 32-битном режиме. Это необходимо, так как фактически все Windows приложения 32-битные. Синхронная поддержка 64-битного Windows планируется на будущее, после выпуска релиза 1.0.

  • В настоящее время Wine выпускается в 32-битном режиме. 16-битные и 32-битные приложения работают на нем. 64-битные инсталляции Linux будут работать с 32-битным Wine.
  • Wine будет выпускаться в 64-битном режиме. 64-битные приложения Windows будут работать на нем. Некоторые 16-битные приложения работать на нем не будут.

1.13. Могу ли я использовать Wine для установки драйверов для моего "железа"?

Нет. За возможным будущим исключением некоторых принтерных драйверов. Wine подразумевает, что ваше "железо" уже работает с вашей операционной системой. Технически это вызвано тем, что Wine, как и большинство приложений, работает в пользовательском режиме, а не режиме ядра.

1.14. Где я могу получить дополнительную помощь?

В дополнение к данной Wiki, Wine HQ Documentation и рассылочный лист являются великолепными ресурсами. Вам, скорее всего, нужен рассылочный лист, однако, если вы независимый продавец программного обеспечения, желающий портировать приложения в Winelib, вам стоит попробовать wine-devel.

Если вам нужна помощь по конкретному приложению, стоит просмотреть Application DB. Это место, где люди могут обмениваться опытом, делиться хитростями и подсказками и задавать вопросы.

Есть IRC канал: #WineHQ. Обычно несколько знающих пользователей бывают на связи, частенько там рыщут и разработчики. Смотрите на IRC наиболее важную информацию.

Существует также группа новостей Usenet , но лучше воспользоваться рассылочным листом. Рассылочные листы используют и просматривают разработчики, поэтому там больше вероятность получить помощь. Как бы то ни было, группа новостей называется comp.emulators.ms-windows.wine.

1.15. Кто отвечает за Wine?

Wine существует благодаря работе множества людей по всему миру. Вот компании, которые участвовали в разработке Wine: CodeWeavers, TransGaming, Corel, Macadamian, и Google. Смотрите страницы Благодарности и История Wine для дополнительной информации.

1.16. Как я могу содействовать развитию проекта Wine, и в какой форме?

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

Есть одна область, где каждый пользователь Wine может помочь проекту - это отправка качественных отчетов об ошибках на наш Bugzilla и ответы разработчикам на последующие вопросы, которые могут у них возникнуть по поводу вашего отчета. Невозможно и не практично разработчику иметь копию каждой программы, которая выходит на рынок. Именно поэтому мы нуждаемся в вашей помощи даже после того, как вы отправили отчет об ошибке. Если разработчик догадается, что могло послужить причиной вашей ошибки, он может попросить вас попробовать патч, и посмотреть, решает ли он проблему. После того, как патч станет частью основной разработки, отчет об ошибке будет закрыт и ваша помощь будет по достоинству оценена всеми.

Список конкретных аспектов возможной помощи смотрите на странице Помощь Wine.

1.17. Мне кажется, что я нашел ошибку. Как я могу сообщить о ней команде программистов Wine?

Отчеты об ошибках направляйте на нашу он-лайн систему Bugzilla. Чтобы повысить продуктивность разработчика и способствовать исправлению направленной ошибки, пожалуйста, прочтите статью Bugs в Wiki. Неполный отчет об ошибке может быть помечен как несостоятельный и закрыт, не продвинув вас к разрешению вашей проблемы. А качественный отчет является существенной частью постоянной работы по совершенствованию Wine.

Пожалуйста, заметьте, что вам не следует посылать отчеты об ошибках программ сторонних разработчиков, либо библиотек, замененных на "родные" от Windows.

2. Использование Wine

2.1. Когда я кликаю мышью на .exe файле в моем файловом менеджере, то ничего не происходит.

Предупреждение: Если возможно, запускайте приложения из главного меню рабочего стола (меню Wine) или значком на рабочем столе. Двойной щелчок на .exe файле обычно применяется только для установки еще не установленных приложений, например на файле setup.exe, запускающем игру с CD-ROM, либо на инсталяторе скачанной программы.

Если двойной щелчок не работает, можно сделать правый щелчок и выбрать из появившегося меню "Открыть с помощью Wine" ("Run with Wine"). Это зависит от вашего менеджера файлов. Если же и это не работает, свяжитесь с тем, кто собирал ваш Wine пакет, и пожалуйтесь ему.

Проблему можно решить при помощи командной строки вместо файлового менеджера. Для этого откройте терминал, переместитесь в директорию, где находится нужное приложение, и запустите его, напечатав:

$ wine (program).exe

Запуск Wine таким способом имеет то преимущество, что вы видите отладочные сообщения. Возможно это не самый удобный способ, зато самый надежный, и разработчики обычно используют его.

Если вы увидите сообщение вроде:

err:module:import_dll Library MFC42.DLL (which is needed by L"C:\\Program Files\\Yoyodyne\\Overthruster.DLL") not found

то это значит, что нужно установить отсутствующую рабочую библиотеку. Смотрите вопрос 2.7. Мое приложение не работает, требует MFC40.DLL ниже.

2.2. Я хочу применить аргументы командной строки к моей программе.

Если вы используете приложение с ключами в Windows, например:

> quake.exe -map e1m1

Тогда вы можете проделать то же самое в Wine, набрав:

$ wine quake.exe -map e1m1

Как видите, командная строка идентична, за исключением wine впереди. Однако имейте в виду, что вы должны избегать применения специальных символов с обратными слэшами (\), имеющих "хождение" в оболочке (шелл) Linux. Например:

quake.exe -map C:\Quake\e1m1.bsp

превратится в:

wine quake.exe -map C:\\Quake\\e1m1.bsp

Более подробно про использование обратных слэшей смотрите: здесь.

2.3. Я хочу, чтобы мое Windows приложение могло открывать документы, запуская Linux приложения.

Вам нужно использовать winepath для перевода имени файла из Windows формата в формат Linux.

2.4. Моя программа зависла, как мне закрыть ее?

Если вы запускали программу из окна терминала, набирая wine (program).exe, то вернитесь к этому терминалу и нажмите ctrl+c. Если вы запускали программу другим способом, например значком на рабочем столе, то нужно открыть терминал и насильно убить процесс:

killall -9 Application.exe

Если вы хотите убить все программы Wine за раз, можно напечатать:

wineserver -k

Можно также открыть Wine аналог Виндовского Менеджера задач при помощи команды "wine taskmgr" в терминале. Это позволит закрывать процессы Wine индивидуально.

Если компьютер завис "намертво", и даже мышь не работает, это, по всей вероятности, не специфическая проблема софта Wine. Wine - это процесс пользовательского уровня, и не способен полностью лишить машину работоспособности ни при каких обстоятельствах. Скорее Wine выявил более глубокую проблему с системой, например дефектный драйвер.

2.5. Мое приложение сообщает, что нужные DLL или шрифты отсутствуют. Что мне делать?

Приложения должны включать все необходимые DLL (кроме DLL ядра Windows). Некоторые разработчики иногда забывают делать это, в надежде, что у вас уже установлен этот DLL или шрифт. Вы можете установить недостающие DLL или шрифты несколькими способами:
  1. Загрузить их с сайтов оригинальных разработчиков (например, Микрософт). Простейший способ сделать это - воспользоваться winetricks (см. ниже).
  2. Установить другое приложение, содержащее их.
  3. Скопировать из лицензионной версии Windows, установленной на той же машине.
/!\ Не скачивайте DLL и скрипты с незнакомых сайтов, или с сайтов, которым вы не доверяете! Бракованная или инфицированная библиотека может стоить больших неприятностей, даже в Wine.

2.6.Что такое "winetricks"? Где их взять?

Winetricks - это скрипт оболочки, который загружает недостающие DLL и шрифты из проверенных источников. Он был написан для помощи разработчикам, но оказался полезен и конечным пользователям. Смотрите страницу wiki про winetricks для подробной информации.

2.7. Мое приложение не работает, требует MFC40.DLL

Смотрите вопрос: Мое приложение сообщает, что нужные DLL или шрифты отсутствуют. Что мне делать? выше. Вы можете установить MFC40.DLL при помощи winetricks, выбрав mfc40.

2.8. Мое приложение не работает, требует MFC42.DLL или MSVCP60.DLL

Смотрите вопрос: Мое приложение сообщает, что нужные DLL или шрифты отсутствуют. Что мне делать? выше. Вы можете установить MFC42.DLL, MSVCP60.DLL и их друзей, запустив winetricks и выбрав vcrun6.

2.9. Мое приложение не работает, требует MDAC

Смотрите вопрос: Мое приложение сообщает, что нужные DLL или шрифты отсутствуют. Что мне делать? выше. Вы можете установить MDAC, запустив winetricks, и выбрав mdac 2.7.

2.10. Мое приложение не работает, требует .NET

Вам здорово не повезло, но при наличии храбрости вы можете попробовать запустить их. Смотрите вопрос: Мое приложение сообщает, что нужные DLL или шрифты отсутствуют. Что мне делать? выше. Вы можете установить .net 2.0, запустив winetricks, и выбрав dotnet20. Это пока не поддерживается, и немногие .NET приложения действительно работают. Смотрите страницы .NET AppDB для получения информации по установке этих программ.

В качестве альтернативы, вы можете установить Mono, замену .net 2.0 с открытым исходным кодом, запустив winetricks, и выбрав mono19. Эта программа пока не поддерживается, и немногие .NET приложения действительно работают с ее помощью под Wine. Смотрите страницу Mono Project AppDB для дальнейшего ознакомления.

2.11. Мое приложение не работает, требует Internet Explorer.

Wine использует ядро Firefox'а, называемое Gecko, для реализации собственного Internet Explorer. В некоторых случаях вы можете "осчастливить" приложения, требующие IE, запустив winetricks и выбрав gecko или/и лже-IE6.

2.12. Как установить Internet Explorer в Wine?

Проект Wine не поддерживает IE, так как он требует множество "родных" DLL, которые трудно воссоздать.

Если, по каким-то причинам, вам необходимо запустить настоящий IE, смотрите ies4linux, являющийся скриптом, выполняющим необходимую конфигурацию Wine для вас. (Но, пожалуйста, не просите у проекта Wine помощи, если попадете в беду - просите у автора ies4linux.)

2.13. Мое приложение работает, но текстовые поля ведут себя странно (текст не переходит на следующую строку, двойной щелчок не выделяет слова и т.д.).

Вам попалась ошибка в библиотеке Wine RICHED20.DLL. Вы можете попробовать использовать Микрософтовскую RICHED20.DLL, запустив winetricks, и выбрав riched20. Это позволит вам обойти проблему, пока разработчики Wine не исправят ошибку.

2.14. Как заставить Wine запустить индивидуальное приложение внутри виртуального рабочего стола?

Для wine-0.9.61 и новее, это можно сделать при помощи winecfg. Добавте приложение во вкладку Applications, а затем во вкладке Graphics активизируйте опцию "Emulate a virtual desktop".

Для Wine-0.9.60 и старше, winecfg не позволяет настройку виртуального рабочего стола для отдельного приложения. Однако проблему можно обойти при помощи следующей команды:

$ wine explorer /desktop=name,1024x768 program.exe

Естественно, нужно заменить program.exe на настоящее имя вашей программы, и изменить разрешение на нужный вам размер виртуального рабочего стола.

2.15. Мое приложение жалуется на невозможность изменить разрешение и глубину цвета.

Обычно нужно отредактировать секцию Screen в файле /etc/X11/xorg.conf, подключив поддержку дополнительных разрешений и глубин цвета. Также, возможно, имеется проблема с Xrandr.

2.16. Приложение, которое я пытаюсь запустить, жалуется, что ему нужно 256 цветов, но у меня в наличии миллионы цветов.

Это ошибка в Wine. Смотрите http://bugs.winehq.org/show_bug.cgi?id=7334

На сегодня есть несколько обходных путей, которые можно попробовать. Смотрите 256ColorsWorkarounds.

2.17. После запуска игры в полноэкранном режиме, мой Х экран не возвращается к нормальному разрешению.

Часто можно обойти это, изменяя разрешение экрана, а затем возвращая его к прежнему значению при помощи системных настроек.

Либо вы можете для восстановления настроек Х запустить в терминале такую команду:

xrandr -s 0

2.18. Я использую Beryl/XGL/Compiz и получаю плохую эффективность/странные сообщения/испорченные приложения.

Использование композитных менеджеров дисплея в Linux имеет тенденцию искажать работу OpenGL или разрушать OpenGL совершенно; поэтому мы рекомендуем вам, прежде чем пытаться использовать Wine, деактивировать их, и удалять опцию композитности из XOrg совершенно.

Если вы используете один из этих рабочих столов и ощущаете замедление работы, то НЕ ПРИСЫЛАЙТЕ отчетов об ошибках, так как это не ошибка Wine. Тот факт, что TuxRacer работает хорошо, еще не говорит о том, что виноват Wine, Windows игры в норме требуют больше мощности, чем родные игры Linux. Чтобы быть уверенным, запустите команду glxinfo, и убедитесь, что она сообщает "Direct Rendering: Yes" (Прямая визуализация: да).

2.19. Как мне узнать свою версию Wine?

Откройте терминал и запустите команду:

$ wine --version

ответ будет нечто вроде: "wine-0.9.36", или, если вы использовали GIT (это вроде CVS или SVN) ответ будет более длинным, вроде:"wine-0.9.36-139-ge79a94d".

ПОДСКАЗКА: Выяснить, какая версия Wine является новейшей можно на главной странице WineHQ. В настоящее время релизы Wine выходят каждые две недели. Ваша операционная система может работать с устаревшей версией Wine. В зависимости от системы управления пакетами в вашей ОС, вы можете обновлять свою версию. Смотрите страницу загрузок для подробного ознакомления.

2.20. Должен ли я запускать Wine как суперпользователь?

/!\ НИКОГДА не запускайте Wine как рут! Это дает Windows программам (и вирусам) полный доступ к вашему компьютеру и всему, что к нему подключено. Запуск при помощи sudo сделает то же самое, а на бонус испортит права доступа в домашнем каталоге пользователя в директории ~/.wine. Если вы запускали Wine через sudo, вам нужно выполнить команду:

$ sudo rm -rf ~/.wine

а затем запустить winecfg, чтобы снова настроить Wine. Следует пользоваться Wine под обычным пользовательским аккаунтом, под которым вы всегда входите в систему.

Для систем Linux все идеи по пользованию Wine с правами суперпользователя могут быть разрешены через Posix Capabilities, или Posix File Capabilities, либо корректировкой других настроек безопасности.

2.21. Я запускал Wine через sudo, или как суперпользователь, как мне теперь исправить ошибки с правами доступа?

Вам нужно удалить директорию ~/.wine, в которой находится весь Wine, со всеми настройками и важные данные, такие как: установленные программы, сохраненные результаты работы этих программ и т.д. После того, как вы удалите или переместите эту директорию, перезапустите Wine как обычный пользователь, и делайте так всегда! Чтобы удалить директорию ~/.wine, если она стала принадлежать суперпользователю (root), нужно выполнить команду:

sudo rm -rvf ~/.wine

2.22. Как мне деинсталировать Wine? Как мне удалить виртуальную Windows инсталяцию?

Виртуальную Windows инсталяцию можно удалить и начать с чистого листа, устранив (или переименовав) скрытую директорию .wine в вашем домашнем каталоге. Можно применить команду

$ rm -rf ~/.wine

Если нужно совершенно удалить весь пакет Wine, то воспользуйтесь менеджером пакетов вашего дистрибутива (при условии, что вы устанавливали пакет при помощи этого менеджера). Имейте в виду, что деинсталяция пакета не удаляет виртуальную установку Windows - чтобы удалить ее, следуйте инструкциям выше.

Так как Wine относится к категории бета софта, мы периодически обновляем настройки по умолчанию, которые автоматически генерируются при первом запуске Wine. Иногда пользователи добиваются успеха в запуске приложения, удалив (или переместив) директорию ~/.wine, перезапустив winecfg с новой версией Wine, и переустановив программу.

2.23. Какой звуковой драйвер выбрать в winecfg?

В версиях Wine после 0.9.47, вы ничего не должны выбирать, установки по умолчанию будут работать хорошо. В версии 0.9.46, и alsa, и oss будут работать одинаково. В версиях до 0.9.42, oss работает лучше, после, alsa слегка уступает oss, так как может упускать некоторые возможности в голосовом чате.

2.24. Почему недоступен PulseAudio?

Разработчики проекта Wine решили пока не заниматься драйвером Pulse для Wine. Мы чувствуем, что лучше продолжать работу над более доведенным Wine Alsa драйвером. Мы знаем, что некоторые дистрибутивы используют Pulse по умолчанию, и сожалеем об этом. PulseAudio известен своими ошибками при эмуляции Alsa/OSS, и должен быть отключен при применении Wine.

Существует неофициальный PulseAudio драйвер для Wine, но он не поддерживается, и отчеты о его ошибках не обрабатываются.

2.25. Я установил OSS в Wine и у меня нет звука.

Если вы не применяете звуковую карту с чипсетом emu10k1/2 (SB Live!/Audigy), или карту другого типа, поддерживающую "Hardware Mixing", то вы можете слышать в данный момент времени только одно приложение, использующее звук. Если у вас aRts (звуковая система KDE), ESD (звуковая система Gnome), или открыто любое музыкальное приложение, то вы просто не услышите ничего от Wine. Вы должны убить или закрыть все эти программы, чтобы быть способным услышать звук от Wine. Чтобы выяснить, блокирует ли уже что-либо вашу звуковую карту, можете применить команду "cat /dev/urandom >> /dev/dsp". Если вы получаете сообщение об ошибке, значит нечто уже использует звуковую карту. Если вы слышите громкий фон, значит ваша звуковая карта свободна и готова к работе.

2.26. Когда я кликаю вкладку audio, winecfg либо подвисает, либо жалуется на какие-то файлы.

Зависание вызвано звуковым драйвером "NAS". Он делает паузу на некоторое время, но, в конце концов, ответит. Обойти проблему можно, удалив NAS из системы или собрать Wine без поддержки NAS на первом месте. Если появляются сообщения про некоего JACK, то их можно игнорировать, если вы не собираетесь использовать драйвер JACK. А если вы хотите его использовать, то сначала нужно установить библиотеки JACK, без этого он не заработает.

2.27.При запуске winecfg выводится без текста, или с поврежденным текстом.

И подобный вопрос:

2.28. При использовании Wine через удаленные X11 сессии, выводился поврежденный текст, либо текста вовсе не было.

Убедитесь, что не никаких шрифтов не было добавлено в Wine. Подобный эффект иногда вызывается конфликтом между шрифтами. Если такая проблема возникает в свежей установке Wine, с которой еще ничего не делали, то попробуйте добавить в регистр следующее:

[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
"ClientSideWithRender"="N"

Поместите эти строки в текстовой файл, и введите в регистр командой "regedit settings.txt"

Это был ответ на отчет об ошибке в OS X от 1 декабря 2007 года. Может помочь, если применять строго как сказано.

2.29. Как применить сглаживание (anti-aliasing) к шрифтам в Wine?

Находится в разработке.

2.30. Как мне изменить размер и разрешение шрифтов?

Сначала попытайтесь настроить при помощи winecfg. Перейдите во вкладку Graphics и двигайте ползунок "Screen Resolution" соответственно. Изменения не затронут окна winecfg, пока вы не перезапустите его.

Если окна и шрифты настолько велики, что вы не видите элементов управления в winecfg, то смотрите следующий вопрос.

2.31. Окна и шрифты в Wine чрезвычайно велики, так что окно целиком не влезает в экран.

Иногда удается, удерживая клавишу ALT, при помощи мыши передвинуть окно winecfg так, чтобы им можно было управлять; в этом случае нужно действовать, как описано в предыдущем вопросе.

Если это не удается, вы можете закрыть все windows приложения и изменить регистр жестким способом:

wineserver -k
sed -i 's@"LogPixels"=.*@"LogPixels"=dword:00000060@g' ~/.wine/system.reg

Можно также удалить директорию ~/.wine и переустановить Windows программы.

2.32. Как редактировать регистр Wine?

Регистр Wine - это файлы *.reg в директории ~/.wine, однако вам не следует их редактировать вручную, так как они используют необычную кодировку. Всегда используйте программу regedit, входящую в состав Wine. Она запускается командой regedit в терминале. Wine'овский regedit виртуально идентичен таковому в Windows и также поддерживает импорт и экспорт файлов регистра. НИКОГДА не пытайтесь целиком импортировать регистр Windows, это приведет к краху Wine.

Смотрите также: Полезные Ключи Регистра.

2.33. У меня есть MSI файл, как мне установить и запустить его?

MSI файлы не могут быть запущены напрямую, для их запуска нужна программа msiexec. MSI файлы устанавливаются в Wine из терминала командой:

$ wine msiexec /i whatever.msi

Эта команда запустит MSI программу точно так же, как если бы вы запускали ее двойным щелчком мыши из Windows.

2.34. Мой CD или DVD диск не вынимается.

Попробуйте wine eject. Это инструмент для освобождения, разблокирования и выталкивания дисковода.

2.35. Моя программа не работает в сети, хотя Linux выходит он-лайн.

Вам необходимо убедиться, что имя вашего хоста (hostname) соответствует IP адресу вашего сетевого интерфейса. Чтобы сделать это корректно, напечатайте в терминале:

$ hostname

Ответом будет имя вашего хоста (hostname), как его понимает ваш компьютер. После этого запустите с правами суперпользователя любой текстовый редактор (как это сделать зависит от вашего дистрибутива). Откройте файл /etc/hosts и посмотрите, есть ли строка с вашим именем хоста. Допустим, что имя вашего хоста - "yourhost", а сетевой IP адрес - 192.168.0.23. Строка в файле /etc/hosts может выглядеть так:

127.0.0.1 yourhost.yourdomain.com yourhost

Измените ее (или впишите, если такой строки нет) на:

192.168.0.23 yourhost.yourdomain.com yourhost

Для большинства Windows игр с сетевыми проблемами этого достаточно, чтобы сеть заработала.

2.36. Как мне сконфигурировать proxy?

Воспользуйтесь программой regedit для того, чтобы добавить следующие значения в ключ [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]:

"ProxyEnable"=dword:00000001
"ProxyServer"="proxy-server-address:port"

2.37. Как получить отладочный трассировочный лог?

Для отчета об ошибке часто необходимо получить трассировочный лог (обычно +relay, но некоторые DLL имеют собственные отладочные каналы). Чтобы получить трассировочный лог выполните команду:

$ WINEDEBUG=+trace1,+trace2,-trace3 wine your_program.exe &> /tmp/output.txt

Затем прикрепите полученный файл /tmp/output.txt к отчету. Если размер этого файла превышает 1 Мб, то сожмите его перед прикреплением при помощи 'bzip2 -9' или 'rzip -9'.

Список отладочных каналов, доступных в Wine, ищите на странице DebugChannels.

2.38. Почему DNS не работает в 64-битной ОС?

Многие дистрибутивы не обеспечивают всех необходимых для Wine 32-битных библиотек совместимости. В этом случае Wine необходимы 32 bit DNS библиотеки. В случае Ubuntu/Debian, это пакет lib32nss-mdns. Чтобы установить его на этих ОС примените команду:

$ sudo apt-get install lib32nss-mdns

Для других операционных систем название пакета и метод установки могут отличаться. Проконсультируйтесь со службами поддержки вашего дистрибутива.

2.39. Какие приложения и сервисы конфликтуют с Wine?

Многие дистрибутивы начинают по умолчанию включать в свой состав трехмерные рабочие столы типа Compiz/Beryl и другие. Проблема в том, что эти программы конфликтуют с Wine на уровне драйвера дисплея. Отключайте эти программы, прежде чем запускать любые приложения Wine (особенно игры, либо заметив таинственные проблемы с окнами).

Программа Pulseaudio также конфликтует с Wine, когда эмулирует Alsa/OSS.

3. Приложения

3.1. Как мне деинсталировать Windows приложение?

Wine имеет встроенный деинсталятор, аналог инструмента "установка/удаление программ" в Windows, и служащий для запуска стандартных деинсталяторов. В последней версии Wine, в меню добавляется соответствующий ярлык; также и в winecfg.

Деинсталятор не удаляет записи из меню. Чтобы удалить все созданные Wine строчки меню, запустите следующие команды:

rm -f $HOME/.config/menus/applications-merged/wine*
rm -rf $HOME/.local/share/applications/wine
rm -f $HOME/.local/share/desktop-directories/wine*
rm -f $HOME/.local/share/icons/????_*.xpm

3.2. Будет ли Wine работать с моим приложением?

Возможно. Если ваше приложение широко известно, то вы можете найти отзывы других пользователей в Базе Данных Приложений. Если там нет отзывов, касающихся последней версии Wine, то просто попробуйте и узнаете.

3.3. Поддерживает ли Wine DirectX? Могу ли я установить Микрософтовский DirectX под Wine?

Wine использует собственную разработку DirectX, которая, хотя и не лишена нескольких ошибок, работает вполне хорошо. В настоящее время поддерживается DirectX 9.0c. Разработка DirectX 10 планируется.

/!\ Если вы попытаетесь установить Микрософтовский DirectX, то у вас будут проблемы. Делать это не рекомендуется и не поддерживается Wine HQ. Программа установится, но работать не будет, так как она требует доступ к драйверам Windows, каковой доступ Wine не может предоставить по очевидным причинам. Единственные Микрософтовские DLL, которые могли бы как-то помочь, относятся к типу d3dx9_xx.dll и требуют принятия лицензии Microsoft. Кроме того, эти библиотеки входят теперь в состав Wine, и, по мере совершенствования Wine, будут все меньше соответствовать Микрософтовским.

Говорят, что существуют некие руководства, описывающие установку Микрософтовского DirectX. Я повторяю: делать это не рекомендуется и не поддерживается Wine HQ. Более того, эта тема объявлена off topic (вне "закона") в средствах поддержки Wine (таких как форумы). Пожалуйста, используйте чистую конфигурацию директории Wine, если хотите получить помощь. (Вам нужно удалить испорченную директорию ~/.wine, и переустановить Windows приложения).

3.4. Почему Wine плохо работает с защитой от копирования?

Защита от копирования применяет несколько "грязных" методов определения подлинности диска. Некоторые из этих методов работают в Wine, но большинство - нет. Особенно это касается чрезвычайно агрессивной системы StarForce. Wine должна будет очень измениться, обеспечивая почти суперпользовательский режим функционирования программ, чтобы подобные схемы заработали, так что поддержка защиты от копирования в отдаленном будущем, если вообще когда-нибудь состоится. (Некоторые пользуются нелегально модифицированными, или "крэкнутыми" играми, у которых удалена защита от копирования, но проект Wine не может пропагандировать этого).

Смотрите также страницу Защита от копирования.

3.5. Мое приложение работало со старой версией Wine, а теперь не работает!

Это называется регрессией (regression). Пожалуйста, составьте отчет об ошибке и пометьте его "regression" - мы обратим на него особое внимание, так как подобную ошибку намного легче исправить на ранней стадии. В будущем, когда мы начнем выпускать "стабильные" релизы, мы предпримем максимум усилий для недопущения регрессии между стабильными релизами.

3.6. Мне очень нужно данное приложение для работы, как мне добиться, чтобы оно заработало?

Мы рады этому вопросу. Пожалуйста, зайдите на страницу Помощь Wine, где есть несколько предложений.

Вкратце: вы можете доработать Wine самостоятельно, можете попросить кого-либо сделать это для вас, либо попробовать сложные процедуры замены недописанных библиотек Wine родными библиотеками Windows.

4. Эффективность

4.1. Каковы системные требования Wine?

Основное правило таково: если приложение хорошо работает под Windows, оно будет хорошо работать и под Wine на той же машине. Wine, вместе с операционной системой, на которой она установлена, обычно требует меньше места на диске и меньше памяти, чем Windows. В то время, когда вы не запускаете приложений Windows, Wine вообще не потребляет ресурсы, не считая дискового пространства (около 20 Мб).

4.2. Мои 3D приложения и игры очень медленны (fps).

Убедитесь, что вы правильно установили графический драйвер, и что 3D acceleration (ускорение) работает нормально.

Утилита glxgears поможет убедиться, что 3D работает, а утилита glxinfo снабдит более детальной информацией.

Нормально работающая инсталяция с картой Nvidia в glxinfo может выглядеть так (показано только несколько строк):

direct rendering: Yes
...
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce 8800 GT/PCI/SSE2
OpenGL version string: 2.1.2 NVIDIA 169.12

Неправильная или неполная инсталяция выглядит так:

direct rendering: No
...
OpenGL vendor string: Mesa project: www.mesa3d.org
OpenGL renderer string: Mesa GLX Indirect
OpenGL version string: 1.4 (1.5 Mesa 6.5.2)

Обратите внимание, что glxgears - весьма приблизительный ориентир, так как сильно зависит от производительности CPU. Intel 3GHz dual core обеспечивает около 22000 FPS с правильным драйвером, и только 1900 FPS без 3D ускорения.

Используйте службы поддержки вашей ОС и производителя видеокарты для помощи в деле ускорения "железа", установки и корректной работы GL.

4.3. Медленнее ли пользоваться Wine, чем Windows?

На самом деле, Wine зачастую быстрее. Скорость приложения зависит от многих факторов: подходящее "железо" и его драйверы, качество кода в API, которые использует приложение, качество кода в самой операционной системе.

Многое зависит от кода драйверов. Если вы запускаете приложение с "тяжелой" графикой на видеокарте с очень слабыми драйверами, такими как ATI карта под Linux, то производительность существенно понизится. С другой стороны, Linux намного лучше управляет памятью, и превосходит Windows во многих аспектах связанных с CPU. Смотрите страницу benchmarks для большей информации.

Бывает, что ошибка в Wine делает приложение чрезвычайно медленным; смотрите Performance-related bugs.

4.4. Я получаю множество сообщений "fixme:" в терминале, и Wine работает чуть замедленно.

Игнорируйте их. Сообщения "fixme" немного скажут человеку, далекому от разработки Wine. Они предназначены для разработчиков Wine. Также следует понять, что сообщения "fixme" не указывают на проблемы, могущие помешать ходу программы. Многие приложения будут работать хорошо, несмотря на то, что Wine напечатает несколько таких сообщений. Иногда они могут помочь заглянуть в то, как данное приложение работает (или не работает).

/!\ Если появляется очень много повторных сообщений, то можно их все отключить, тем самым слегка ускорив Wine. Для этого нужно установить значение -all для переменной окружения WINEDEBUG. В командной строке это делается так:

$ WINEDEBUG=-all wine program.exe

Более продвинутые пользователи и программисты, заинтересованные в отладке Wine должны обратиться к страницам DebugChannels и Developer Documentation.

4.5. Предупреждение: "preloader: Warning: failed to reserve range 00000000-600000"

Ошибка, следующая за этим предупреждением, описана по адресу: http://bugs.winehq.org/show_bug.cgi?id=12516

Эта предупреждение появляется из-за неверного значения параметра mmap_min_addr в ядре. В терминале, с правами суперпользователя, выполните команду:

# cat /proc/sys/vm/mmap_min_addr

Если значение не равно нулю, то команда:

# sysctl -w vm.mmap_min_addr=0

поможет исправить ошибку на данный сеанс. Для того чтобы изменить параметр на постоянной основе, нужно добавить строку vm.mmap_min_addr=0 в файл /etc/sysctl.conf. Учтите, что если вы произвели такое изменение, то пространство, необходимое Wine, может измениться.

Смотрите страницу PreloaderPageZeroProblem.

5. Apple

5.1. Как мне установить Wine на мой Mac?

Если на вашем Маке установлена ОС Линукс, то установка Wine также проста, как и на всяком Линуксе. Посетите страницу download.

Если вы используете OS X, то для нее пока нет официальных версий Wine. Главная причина этому в том, что Apple X11 сильно изуродован, и Wine не работает на нем хорошо. А мы не любим портить впечатление от Wine у пользователей.

Но, если вы склонны к авантюризму, и хотите попробовать во что бы то ни стало, можете посмотреть неофициальную darwine *Intel* версию здесь. Его установка проста как у любого dmg image: откройте его и перетащите каталог Darwine в вашу папку Applications. Имейте в виду, что многие приложения работать не будут из-за дефектной реализации X11, а не по вине Wine. DirectDraw и Direct3D приложения вообще не работают, но многие GDI приложения идут на удивление хорошо, включая DirectSound. Обязательно прочтите MacOSX/FAQs.

Подсказка: Звуковой выход будет включен только после того, как вы запустите winecfg и настроите его. Это можно сделать двойным щелчком мыши на "Sample WineLib Applications --> winecfg.exe".

5.2. Могу ли пользоваться Wine на старом Mac'е без чипа Intel?

Нет, даже если установите Линукс. Старые Маки используют процессоры PowerPC, несовместимые с кодом для x86 (Intel и AMD) процессоров, если только этот код не применять с эмулятором процессора. Wine не является эмулятором процессора, и не содержит таковой. Однако проект Darwine есть попытка сделать именно это.

6. Риски

6.1. Wine подвержен опасности заражения вредоносными программами.

Тот факт, что Wine работает под Linux, не означает, что вы защищены от вирусов, троянов и других вредоносных программ.
Никогда не запускайте исполнимых файлов с сомнительных сайтов. Заражения уже случались.

ClamAV - это антивирус, который вы можете применять, если беспокоитесь по поводу инфекции; смотрите инструкции Ubuntu по использованию ClamAV. Впрочем, ни один антивирус не дает 100% эффективности.

6.2. Nautilus может удалить вашу домашнюю директорию во время опустошения мусорной корзины!

В некоторых версиях Gnome (2.21.90?), если вы переместите директорию ~/.wine в мусорную корзину, и затем опустошите корзину, все записанное в корневой директории также удаляется (включая содержимое вашей домашней директории). Говорят, что эта ошибка исправлена в версии Gnome 2.21.92. Смотрите https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/188361 и https://bugs.launchpad.net/ubuntu/+source/gnome-applets/+bug/195207

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