Привет, друзья! В этом треде я соберу полезные советы при работе с Wine! Добавляйте своих советы в комментарии!
1). Если ваша программа перестала работать
На форуме часто спрашивают: «работа-ло-работало, и вдруг всё перестало, что делать?». Отвечают: «это регрессия вткатись на ту версию, в которой работало», «Но я не обновлялся!»
Решение: откройте консоль и наберите
cd ~/
mv .wine wine-oldprefix
WINEARCH=win32 winecfg
Вы создадите новый Wine Prefix, в который приложение можно установить заново! В случае неудачи, вы можете вернуть старый вайн префикс! В случае успеха - удалить старый префикс
TODO: грамотно стереть старые пункты главного меню, и вернуть в случае возврата
2). Ваша программа не работала изначально
Поищите информацию о ней на сайте http://appdb.winehq.org/. Возможно программа работает, но нуждается в дополнительной настройке! Например, копирование файла DLL из C:\WINDOWS\Systtem32 настоящей Windows XP, и прописывание его в winecfg как Native. Установка noCD. Редактирование конфига программы. На AppDB должна быть инструкция!
Рейтинги программ на AppDB:
Platimum: работает без дополнительной настройки
Gold: работает либо после минимального допиливания, либо не работает незначительная часть программы (проде программы активации, лол)
Silver: Работает с проблемами
Bronze: Не работает, но полезный результат может быть, если помучить приложение (и себя)
Grabage: Не работает (или работает только бесполезная часть)
3). Ключ реестра UseGLSL = disabled
В OpenGL 2.0 появился шейдерный язык GLSL. В Direct3D 8 появился шейдерный язык HLSL. Тулкит NVIDIA Cg умеет компилировать шейдеры как в собственном формате, так и в этих двух. Если вы отключите GLSL в Wine, то будет использоваться NVIDIA Cg! Это даёт увеличение производительности игр, например StarCraft 2 выдаёт больше FPS на 30%.
Это работает только на NVIDIA с проприетарным драйвером. В остальных случаях, игры не запустятся, выдав сообщение что GPU не поддерживает шейдеры.
Чтобы отключить GLSL, запустите программу wine regedit
, найдите папку HKEY_CURRENT_USER\Software\Wine\Direct3D\ (возможно, папку Direct3D придётся создать) и добавьте «Строковый ключ» UseGLSL со значением disabled. Данные чувствительны к регистру, обратите внимание! В случае успеха, при запуске wine из консоли появится сообщение:
err:winediag:wined3d_dll_init The GLSL shader backend has been disabled. You get to keep all the pieces if it breaks
4). Winetricks
[url=]https://wiki.winehq.org/Winetricks]Winetricks это shell-скрипт, упрощающий типовые задачи, необходимые для настройки программ. Запустите winetricks --gui
, чтобы увидеть список программ, устанавливаемых в 1 клик! На странице игры на AppDB пишут, что опенсорсные реализации Direct3D 9 не полны, и нужен проприетарный? И там же - инструкция: winetricks directx9
На странице офисного приложения пишут, что необходим .NET 3.5? И там же - инструкция: winetricks dotnet35sp1
Кстати: winetricks glsl=disabled
5). Платный Wine
Компания Codeweavers выпускает платную версию Wine под названием Crossover. В нём гарантируется работа примерно 100 программ - а если что-то не работает, вам обязаны починить. Эти программы устанавливаются «в один клик», в то время как в Wine может понадобиться ручная работа. В Crossover WineTricks заменён на Crossover Tie, а также наболее удобную графическую оболочку.
В Crossover есть отличия от Wine - в настоящий момент это патчи CSMT. Они создают отдельный тред для Direct3D, что увеличивает производительность некоторых игр до 100%.
Несколько месяцев назад, CSMT был добавлен и в бесплатный Wine - однако каждый новый релиз мы узнаём, что добавлена новая порция CSMT (а в предыдущий раз не все из 200 патчей были приняты).
В прошлые годы такими изменениями были патчи DirectWrite (2012) и поддержка Direct3D 9 (2008). Когда пришла пора добавить их в Wine, добавляли порциями, и растянулось надолго.
Стоимость Crossover в год: 60 евро. Если не продлять, работа программ сохраняется - блокируются только обновления. Триал демо-версии - 15 дней. Сайт: https://codeweavers.com/
6). Wine Staging
Wine с экспериментальными патчами. Если в платном упор делается на стабильность, то в Wine Staging - на самые новые изменения. То есть он даже круче, чем платный Wine!
Список изменений:
- CSMT (Commandstream multithreading) for better graphic performance
- CUDA / PhysX / NVENC Support for NVIDIA graphic cards
- DXVA2 GPU video decoding (experimental)
- EAX 1 support
- Fixes for various upstream regressions
- GTK 3 theming support
- Improved GPU detection
- Loading of .NET CLI images without entry point
- Named Pipe message mode support (Linux kernel >= 3.4 only)
- Performance improvements for IO-heavy programs and memory allocation functions
- S3 texture compression (DXTn) support
- Support for installing MSU files
- Various improvements to d3dx9
- Various speed improvements (shared memory, RT priority)
- Windows ACL support
Сайт: https://www.wine-staging.com/ Существуют готовые сборки.
9). Gallium Nine
Открытую реализацию Direct3D 9, созданную в рамках проекта Wine, научили работать аппаратно. Раньше он умел работать только как транслятор поверх аппаратного OpenGL.
Подробнее: http://www.gearsongallium.com/?p=1619