Включаем GPU acceleration у Photoshop под Wine

Спешу поделиться радостью: вот и настали те времена, когда можно полностью отказаться от win в пользу linux. Последней преградой был Photoshop — единственная софтина, без которой некоторым девелоперам, например, фронтэнд-девелоперам, верстальщикам (и прочим стропальщикам), приходилось туговато. Photoshop-то уже издавна запустили под wine, но оставалась одна проблемка: у меня никак не хотела включаться аппаратная поддержка GPU. А без нее и тормоза дикие на серьезных макетах, и отсутствие многих плюшек (фильтры, трансформации и прочая магия). После долгих неудачных экспериментов, наконец, удалось заставить Photoshop увидеть GPU и работать с ним «на полную катушку».

GPU у меня незамысловатый — встроенный в процессор Core i7-3370 Intel HD 4000. ОС: Debian 9.6 Stretch (stable). Тестируемая версия Photoshop 19.0.2 32bit.

Для начала посмотрим, какая версия mesa установлена. (на моем Debian stable, она, естественно, была старинной — ветка 13-ой версии, хотя, сейчас уже актуальна 17-я).

glxinfo | grep mesa -i

(выведет в консоль различные письмена, из которых можно вычленить версию месы)

Если версия допотопная, то надо бы привести свое графическое хозяйство в актуальный вид. Для этого добавим сторонний репозиторий, включающий в себя свежие стабильные версии свободных видеодрайверов для чипов AMD Radeon, Intel и Nvidia (Nouveau). В репозитории содержатся также Vulkan-драйверы Intel ANV и Radeon RADV. Пакеты в данном репозитории берутся из Debian Unstable (Sid) и пересобираются под Debian 9, дабы не ломать ничего в системе. (источник)

wget http://download.opensuse.org/repositories/home:/Sunderland93:/mesa-updates-debian/Debian_9.0/all/mesa-updates-debian_1.0-3_all.deb

sudo dpkg -i mesa-updates-debian_1.0-3_all.deb

sudo apt update && sudo apt full-upgrade

Далее устанавливаем wine (ветка devel) и winetricks.

Затем, с помщью winetricks, дополняем wine следующим добром:

Шрифты:

  • allfonts
  • corefonts
  • все шрифты после 2010г.


Библиотеки:

  • gdiplus
  • vcrun2012
  • vcrun2013
  • vcrun2015
  • atmlib
  • msxml3
  • msxml6
  • d3dx9
  • d3dx10
  • d3dx11_42
  • d3dx11_43
  • dxvk
  • vulkanrt

Устанавливаем Photoshop (повторюсь, тестировалось на CC v19.0.2 32bit). После запуска появится ошибка CEPHtmlEngine, убрать которую можно в пункте настройках фотошопа («Edit > Preferences > Plugins», убираем галки с «Enable generators», «Enable Remote Connections»). Там же, в настройках, заходим в пункт «Performance» и видим, что птица напротив «Use Graphic Processor» неактивна, и ничего c этим поделать нельзя. Выходим из Photoshop, запускаем winecfg. Идем в закладку «Libraries», в поле «New override for library» ищем dxgi, добавляем ее к списку (Add), в списке ее выбираем, редактируем (Edit) и в опциях выбираем builtin (wine). Применяем-сохраняем-выходим, запускаем Photoshop, и GPU ускорение в настройках должно стать активно.

P.S. Если кто-то будет экспериментировать с другими видеокартами или дистрибутивами linux, прошу делиться результатами в комментариях.

P.P.S. Есть подозрение, что такой конфиг (с подменой библиотеки dxgi) поможет решить многие проблемы с OpenGL приложениями под Wine.
Теги:
Photoshop, wine, winetricks, gpu, opengl, linux, debian 9

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.