Как заставить Linux запускать через Wine профессиональный софт на примере Adobe Photoshop СС 2018 без использования инструментария Play on Linux.
Все что будет написано под катом является экспериментом который вы можете сами провернуть на своей рабочей станции с операционной системой на базе ядра Linux или на macOS кому как нравится.
Подготовка к эксперименту
Вам для начала понадобится базовый инструментарий, с которым мы будем работать.
В моем случае это:
- Дистрибутив Archlinux. #
- Wine Staging с поддержкой Gallium Nine, версии 3.13
А также необходимый софт(в качестве экспериментального примера указан Adobe Photoshop СС 2018)
Первый этап
Подготовка рабочего пространства
Первое что нам необходимо сделать на данном этапе это заставить Wine сформировать рабочую директорию с необходимыми нам параметрами.
Это делается достаточно просто:
WINEARCH=win32 # или win64 в зависимости от архитектуры приложения или нужного вам окружения WINEPREFIX=$HOME/.WineExperiment # или любой другой путь export WINEARCH export WINEPREFIX # либо можете сократить это дело до двух строк указав нужные вам параметры переменных окружения wine wineboot # для создания пространства архитектуры WINEARCH в WINEPREFIX указанные и экспортированные ранее
Подготовка к установке и установка
В дальнейшем нам понадобятся инструменты winedump, grep и winetricks. #
С помощью winedump dump <установщик> -j import | grep offset
находим необходимые библиотеки для работы с программой установки.
В моем случае все необходимое уже есть в стандартном окружении.
И если вам нужны компоненты для запуска установщика то вам нужно выполнить следующие строчки.
wget <ссылка из #>
chmod +x ./winetricks
./winetricks --gui # и находите нужный вам компонент
Для любопытных
Если вам нужен winetricks установленный в окружение, то, либо скачайте его в директорию $HOME/bin далее поставьте права исполнения на этот файл и затем добавьте её в переменную PATH в .bashrc, либо используйте пакетный менеджер для его установки.
В своём случае применяю универсальный метод доступный во многих дистрибутивах:
pkcon install winetricks
Попробуем запустить установщик используя WINEDLLOVERRIDES=winemenubuilder.exe=d wine <установщик>
.
Для любопытных.
Вы в праве использоватьWINEDEBUG=info
для обнаружения ошибок в работе установщика.
Для незнающих
WINEDLLOVERRIDES=winemenubuilder.exe=d
отключает создание ярлыков и типов.
Второй этап
Запуск и поиск проблем
Для этого этапа нам понадобятся те же инструменты что используются в первом этапе.
Запускаем wine cmd
для входа в рабочее окружение.
С помощью команды cd
переходим в папку с программой и запускаем её.
В случае необходимости входим или регистрируемся. В своём случае я использую эту программу в пробном режиме ибо денег нет.
И он у меня запускается и работает без пинков, но не все так гладко как казалось.
Photoshop увидел, что я использую графическую карту с недостаточным количеством видеопамяти, а следовательно от некоторых функций мне придётся отказаться таких, как 3D и небольшого количества фильтров.
Решение
./winetricks settings videomemorysize=512 # надеюсь вы его установили или скачали
По закрытию Photoshop выдал ошибку в подпрограмме CEPHtmlEngine.
Решение
Эта ошибка появляется лишь единожды. Её вы можете игнорировать.
Отчет
В рамках этого эксперимента можно убедиться в работоспособности программного обеспечения на платформе являющейся явно несовместимой для запуска со стандартными настройками.
Но как следует из эксперимента, проблем требующих от пользователя каких либо действий не было, я умышленно не считаю проблемы связанную с графической картой и там где решением является просто закрытие окна отчета об ошибке как ту, что требует дополнительных действий.
P.S.
Пишите в комментариях если что-то не понятно будем разбираться сообща или наоборот, чтобы дополнить текст статьи вашим предложением.
Спасибо за потраченное вами время.
Комментарии (27)
rt3879439
29.08.2018 22:54Когда-то я надеялся увидеть подобную инструкцию. И вот, спустя годы, моё желание сбылось. Спасибо.
AntonAlekseevich Автор
30.08.2018 10:26Я же надеюсь, что люди продолжат данную тематику.
Может так дойдёт и до любимых многими современных и не очень игрушек и средств разработки.
demimurych
30.08.2018 01:17Простите, но работа в Photoshop не ограничивается событием Запуск. И если Вы считаете что запустив его Вы справились с задачей, то вероятно вас ждет масса сюрпризов.
Настоятельно рекомендую Вам посадить в такое окружение дизайнера, который привык часами выполнять типовые задачи.
А потом с удовольствием почитаю Вашу, расширенную новым опытом, инструкцию.AntonAlekseevich Автор
30.08.2018 09:46Полностью с вами согласен, что работа не ограничивается запуском.
И согласен с тем, что будут сюрпризы в работе.
Насчёт рекомендации посадить в такое окружение дизайнера, да это было бы не плохо.
savostin
30.08.2018 13:10И он у меня запускается и работает без пинков
Когда без пинков, то статью писать нет смысла. Весь смысл именно в пинках…AntonAlekseevich Автор
30.08.2018 13:44Когда без пинков, то статью писать нет смысла. Весь смысл именно в пинках…
Я писал статью по ходу самого процесса. Ну, а то, что пинков практический не было, лишь обозначает, что выбор комплекта ПО оказался верным. Что на самом деле редкость.
Но замечу что это лишь верхушка айсберга, самое интересное и важноевнизу под водойв процессе работы, а для этого нужно найти дизайнера, который захочет стать за бесплатно подопытным.
Softer
30.08.2018 13:40CUDA в такой конфигурации работает?
А так спасибо за статью, узнал пару интересных приемов :)AntonAlekseevich Автор
30.08.2018 13:49CUDA в такой конфигурации работает?
К сожалению, я не обладаю графическими ускорителями Nvidia. (Сам обладаю интегрированной в чипсет Intel G31 Express Graphics.)
Поэтому понятия не имею. Буду рад если CUDA будет работать.Softer
30.08.2018 13:52Увы, это была единственная причина почему подобная связка мне не подошла… Жена занимается ретушью и когда открыается жирная RAW-ка… Работать… «не совсем комфортно» :)
Если будет время — попробую повторить это опыт и посмотрю что там с кудой…Mogwaika
30.08.2018 15:39+
В этом же проблема работы васяких фотошопов на виртуальной машине…
Альтиум вообще что-либо графическое отказался показывать внутри virtualbox-а.
Sfinx88
30.08.2018 19:40Мне вот интересно — а зачем?
Зачем запускать программу в неродном окружении? Поставить win в dual boot не судьба?
И как насчет профессиональных программ чуточку менее распространенных чем photoshop?
Автору — установить и запустить в вайне TIA portal от siemens. Попробовать сделать проект, и загрузить его в контроллер.AntonAlekseevich Автор
30.08.2018 20:23Мне вот интересно — а зачем?
Цель эксперимента, понять как работают за кулисами сам инструментарий. Что было указано в моем ответе на первый комментарий.
Зачем запускать программу в неродном окружении?
Вот к примеру от вас потребовали(а вы допустим не можете сделать реверс-инженеринг из-за нехватки времени) чтобы некий софт работал на платформе операционных систем на базе ядра Linux так, чтобы не запускать виртуальную машину или не перезагружаться специально на Windows.
Поставить win в dual boot не судьба?
Вот скажи зачем мне Windows если я избавляюсь от использования данной ОС, но не отказываюсь от программ написанных для неё.
И как насчёт профессиональных программ чуточку менее распространённых чем photoshop?
Например, Autodesk AutoCAD я так понимаю или что-то наше Российское к примеру АСКОН Компас-3D? (И это не обязательно CAD.)
Автору — установить и запустить в вайне TIA portal от siemens. Попробовать сделать проект, и загрузить его в контроллер.
Буду рад исполнить данный вызов и расписать что было сделано и на какие грабли я наступил, при условии если у меня будет таковой контроллер.
firedragon
30.08.2018 20:37Как вы избавляетесь от windows?
В вайне все библиотеки самописные?
gdi32.dll
Вот вот. Теперь переходим к вопросу, можно ли это использовать легально.Fracta1L
30.08.2018 20:49Да, самописные.
firedragon
30.08.2018 21:05И ссылка есть? Я, в общем то, неспроста про gdi спросил, это довольно сложная тема даже для производителя.
Functionality
An animation showing progress in application compatibility according to test results from Wine AppDB (click on the picture to see the animation).
Software that runs flawlessly («Platinum»)
Software that runs flawlessly with configuration («Gold»)
Software with minor Issues («Silver»)
Software with major Issues («Bronze»)
Unusable software («Garbage»)
The developers of the Direct3D portions of Wine have continued to implement new features such as pixel shaders to increase game support.[49] Wine can also use native DLLs directly, thus increasing functionality, but then a license for Windows is needed unless the DLLs were distributed with the application itself.
Fracta1L
30.08.2018 21:29Wine can also use native DLLs directly
Да, он can их use, если их подсунуть ему через winetricks или вручную. А собственная кодовая база Wine разработана самостоятельно с нуля. Вот исходники gdi32.dll:
github.com/wine-mirror/wine/tree/master/dlls/gdi32
Можете сравнить их с исходниками виндовой библиотеки и убедиться, что код написан с нуля XDDfiredragon
31.08.2018 09:56Дело не в этом. Имитация поведения, даже если это реверс методом черного ящика, все равно подпадает под нарушение лицензии.
Впрочем есть и другое соображение. Любая служба поддержки скажет: Мы не поддерживаем вашу платформу, установите программу на рекомендованную версию операционной системы.Fracta1L
31.08.2018 11:35Имитация поведения, даже если это реверс методом черного ящика, все равно подпадает под нарушение лицензии.
Откуда инфа?firedragon
31.08.2018 13:08www.microsoft.com/en-us/Useterms/Retail/Windows/10/Useterms_Retail_Windows_10_English.htm
И из юридических отделов многих фирм. По сути на каждое соединение нужна лицензия.
AntonAlekseevich Автор
30.08.2018 21:26Как вы избавляетесь от windows?
Просто не пользуюсь Windows. Как минимум.
В вайне все библиотеки самописные?
Да, самописные, но есть возможность подключать внешние библиотеки через конфигуратор Wine или через DllOverride в реестре.
Теперь переходим к вопросу, можно ли это использовать легально.
Да, использование Wine легально, но для самих библиотек подключенных внешне нужно читать лицензионное соглашение и исполнять его условия.
timdorohin
30.08.2018 20:30Вы можете, пожалуйста, протестировать Cinema 4D r17/r18
Я до сих пор не понял как обойти тот чертов баг с OpenGL и полностью черной рабочей областью.
Djaler
А зачем делать это без PoL? Который, по сути, делает сам всё то же? Только все эти нюансы уже учтены до вас для множества популярного ПО
POS_troi
Я лично не вижу смысла отказываться от PoL по той причине, что он даёт удобный способ управления версиями wine.
atamanenko
Видимо, чтобы делать это для того софта, которого нет в PoL
AntonAlekseevich Автор
Цель эксперимента, понять как работают за кулисами сам инструментарий.
Согласен, что нюансы учтены для популярного ПО, но сам инструментарий предполагается использовать для игрового программного обеспечения несмотря на то что в каталоге иного ПО есть достаточно весомое количество включая Photoshop(правда он не той версии что рассматривается в эксперименте).