Comments 53
Лаек за труд, но зачем? ИМХО, проще поставить Windows для программ под Windows, и не мучать пятую точку.
Привет. Спасибо за коментарий.
В данном случае я в вами согласен, но иногда бывают случаи, что нужно использовать конкретно Linux и в нём нужно поднять приложение с винды.
У меня в университете на компах стоит линь, и там сисадмину нужно было поднять программу T-Flex Cad. Почему нельзя поднять винду там? Ну, спустили сверху что должен быть линь, и е...ь как хочешь.
Плюс, если ты переходишь на линь(таких людей становится больше, поскольку их не устраивает винда), то тебе иногда нужно работать с софтом оттуда. Полностью от него отказаться не выйдет.
Да и если ты запускаешь пару игр через стим на лине, стоит всё же знать и как это всё внутри работает. Имхо, полезно может быть.
Я надеюсь что данную статью найдут именно те люди, которые нуждаются в том, чтобы запускать вин софт, при этом не уходя с линя. Ну и просто заинтересованные в теме.
В личное владение соглашусь, что проще виндой пользоваться. И не соглашусь с автором в комментарии выше о "линь(таких людей становится больше, поскольку их не устраивает винда... Ну не ставят люди Линукс, т.к юзабилити всё ещё никакое даже с условием, что MS старается ухудшить винду.
Но прочитал статью с удовольствием и отметил себе на всякий случай и для рекомендации коллегам.
А плюс статьи в том, что игры - это частность и пример автора. Мне интересна по причине "импортозамещения" когда сверху давят требования, а ПО не готово. Да и не будет готово из-за тех ограничений и трудоемкости перевода.
Зы: но имел бы я в виду добровольно эти заниматься дома для запуска виндоуспрогоамм, когда есть отличный эмулятор виндовс от ms с поддержкой программ по поколениям лучшей, чем Линукс может предложить.
>когда есть отличный эмулятор виндовс от ms с поддержкой программ по поколениям
А можете, пожалуйста, просвятить о чём речь? А то я не до конца понял о чём вы говорите, а интересно.
эмулятор виндовс от ms
Это про режим совместимости, вероятнее всего.
С учётом наличия WSL - на Линукс ещё не скоро захочется, даже если мелкомягкие ускорят темпы деградации винды - до среднего линукса там всё ещё как до луны.
А плюс статьи в том, что игры - это частность и пример автора.
А тем временем SteamDeck фактически пересадил весь мобильный ПК гейминг на Linux. SteamOS уже официально на другие портативные консоли пошла. И прикол в том, что некоторые игры через wine в итоге лучше работают, чем нативно.
Если использование программы под Windows предполагается не в формате "несколько часов подряд буду адски трудицца в ней и только в ней, ни на что прочее не отвлекаясь", то куда удобнее запускать её на своей основной системе и не перезагружаться в Винду - из Винды туды-сюды. Да даже и в вышеописанном формате, всё равно удобнее. Фатальные проблемы с несовместимостью я не рассматриваю - там уж куда деваться. Из-за них мне пришлось недавно установить Windows 10 второй системой - года полтора не пользовался и с непривычки охренел, как всё долго, мучительно и - не сказать "сложно", но какое-то иное прилагательное со схожим смысловым оттенком вполне применимо. Несколько программ использовал на Linux через Bottles - и быстрее, и проще в разы, на порядки (чем ставить ради них опять Винду, не чем ставить их в уже установленную когда-то ранее Винду). Единственный плюс Windows - что там-то уж точно(?) заработает, в отличие от лотереи с форками Wine.
С тем что точно разработает не сошлашусь. Я года 3 назад столкнулся с таким перлом, что Oblivion и F3 запускаться под 10 виндой не хотели на отрез. Точнее не так, запуститься то они запускались, но вылетали всегда через минут 10.
Прикол в том, что я тогда перешёл на линь на полгода, и в вайне всё работало.
А потом я поставил 11 винду и вот тут вообще прифигел, ибо ОНО ТУТ РАБОТАЕТ СРАЗУ. Я так и не понял в чём приколы перлов были на 10, но вот так.
Есть неочевидный бонус: в вайне работают проги, которые не работают в совремнных версиях винды
Я именно вайном как то поднял старую прогу на labview, надо было на пайтон перенести
Головокружительный объем. Даже скролить устал. Юзаю Crossover под маком. И со временем все меньше в нем потребности почему-то.
Отличный материал, вот что-то такое хочется перманентно видеть на хабре. Ничего сверх-нового не узнал, но представляю как этот труд может помочь тем, кто впервые сталкивается с wine, даже после продолжительной работы под GNU\Linux.
Автору плюсик в карму!
Играю через бутылки, полет нормальный. Большинство проблем (со старыми играми, преимущественно) вылечились использованием другого раннера (caffe) и установкой зависимостей из меню бутылок.
Lutris же наоборот, когда я его пробовал, показался крайне нестабильным - мог запросто успешно запустить игру один раз сразу после установки, и ни разу больше.
Чисто ради интереса - а не пробовали подобные эксперименты провести на ReactOS?
Нет, не пробовал, но могу ради интереса.
Но одно дело wine, а другое вся система построенная вокруг него. Звучит, мягко скажем, нестабильно.
Обновление прошлого ответа:
Я щас ради интереса попробовал запустить реакт на машине, но ничего не выгорело, оно сыпет бсодами и я даже в GUI не вошёл, не то что пробовать там что-то запускать...
Ни дев, ни реализ версии тут просто не запускаются. Так что - не судьба.
Реакт он очень специфический, к тому же в альфе ещё(ага, за сколько там лет разработки? 20?), так что это ещё менее привлекательно, чем запускать что-то в wine...
Мда... Можно делать это все, а можно ничего этого не делать, сами знаете как.
Я читал тут статью где человечки писал что steamos запускает игры через свой протон или как там называется которая является глубоким форком wine , так ли это ? Если да почему его как базу не использовать ?
Ах да .net corr виндовый ставить на wine это конечно да...
АХ ДА 2. Эта статья как символ и манифест что linux не приходин для использования что 30 лет назад , что сейчас. )
>Я читал тут статью где человечки писал что steamos запускает игры через свой протон или как там называется которая является глубоким форком wine , так ли это ? Если да почему его как базу не использовать ?
Я рассматриваю wine в данный статье как софт для запуска преимущественное программ, не игр. Протон, как и вайн, достаточно топорно переносят обычный софт, а вся жизнь состоит не только из "развлекалова". С играми, как раз, у меня никогда проблем запуска не было(ну почти).
>Ах да .net corr виндовый ставить на wine это конечно да...
Сейчас большинство программ про виндой - дотнетовские. Тут хочешь не хочешь будешь его использовать. Особенно когда выбора нет, как у меня с уником.
>АХ ДА 2. Эта статья как символ и манифест что linux не приходин для использования что 30 лет назад , что сейчас. )
пардон, а вы только софт из винды собрались использовать под линем? Извините, но, для этого винда существует. У линя дохренище программ есть, которые приятнее использовать, чем таковые из винды. И ставить линь, чтобы в нём поголовно запускать софт из форточки - бред. Хотите полностью форточку - используйте форточку, не надо без надобности тащить инородную систему в другую. Или вы и под маком собрались использовать только виндо-софт?
А потом отменяем наши переменные, которые создали, чтобы они не влияли на наши другие запуски wine
Это не нужно делать. export, как и cd, влияет только на текущий процесс и его потомков
Прочитав заголовок ожидал увидеть описание установки Wine на что-то типа FreeBSD, но никак не Ubuntu. Т.к. Ubuntu это Linux-based операционная система. Если в тексте пишете что у вас исключительно для debian-based, то и в заголовке отражайте суть, а то после заголовка статья выглядит так как будто автор особо не разбирается в этих самых юниксах и линуксах, но знает какие-то команды для убунты.
Под FreeBSD только KDE можно патчить, а не wine устанавливать. Правда уже сколько лет прошло, а я нигде на просторах интернета так и не увидел пошаговую инструкцию как же пропатчить KDE под FreeBSD...
Процесс везде один - ищете пакеты, ставите из пакетника(ну в случае с фряшкой можно и из портов, я с ней работал). Только парралельно с этим нужно решать столько гемора, что проще гайд делать там, где работает всё и сразу.
Я мог бы и на арче запилить, только сначала мне бы пришлось вспомнить какие пакеты я тащил на этапе установки, чтобы работало вот абсолютно всё, а не забыть, как я, net-utils и сидеть без инета в терминале, ребутаясь в установочный носительно, чтобы опять всё смонтировать и поставить один-два пакета.
Тут статья чисто про сам вайн, который везде будет один и тот же, что на фряшке, что на арче, что на, просто господи, маке.
Чертовски обстоятельно, отдельные респекты автору за выбор ретро-тайтлов)
Спасибо, Дружище, за такую прекрасную статью, но... С замиранием сердца ждал, ну когда же будет установка Майкрософт Офиса современных версий? Не дождался... Эх, жаль. Про автокады, фотошопы знаю, оно не работает ни в каком виде. А вот офис... Пробовал какие-то "100% рабочие" инструкции , но всё равно мимо. Максимум что удалось запустить - это 2007, и то, там не работал ПаверПойнт. Такую бы обстоятельную статью для Майкрософт Офиса современных версий. Всё равно - плюс в карму от меня.
Фотошоп и лайтрум вполне себе работают, если устраивают старые версии без всяких AI фичей. В бесплатном зеленом магазине даже лежат сразу обернутые в вайн.
У меня запускался CS6 всегда, кое-как CC2019 и CC2021. Illustrator не запускался ни разу до работоспособного состояния. Я уже давно смирился и даже не пытаюсь их заставить работать. Сам, если нужно, делаю всё в гимпе и фигме(нативная) или в инкскейпе. Меня устраивает, значить тащить силком адобовский софт смысла не вижу.
Я сам уже давно не пользуюсь офисом от МС. Устраивает либра и OnlyOffice. С оффисом будет проблема +- та же, что с фотошопом. Проблемы есть, как их решать - да фиг их знает.
Плюс, все программы от майков очень активно используют реестр, с чем у вайна, есть некоторые проблемы.
Я бы и рад использовать Либру, но работаю в академической среде, а там диссертации с таким математическими формулами... В Либре с этим всё ОЧЕНЬ плохо. Просто КАТАСТРОФИЧЕСКИ.
Попробуй OnlyOffice. Он должен лучше обрабатывать подобное чудо. Я вообще в гуглодоки после хабра перебираюсь, он удобнее для меня оказался. А функционал +- тот же. Я вот подумываю там курсовую в следующем году сделать, если пройдёт, то вообще кайф будет.
Пробовал, одним из первых, когда искал приемлемые альтернативы. Да, признаю, он ГОРАЗДО лучше работал с формулами и прочим научным контентом, но... Китайцы явно перестарались с навязчивой монетизацией продукта. Он ПОСТОЯННО что-то от меня хотел. То вываливались окна с рекламой, то перейти на версию про, то задонатить, то обновиться. Я не могу такое ставить профессуре. Они почти все хорошие и добрые люди, в основном, но терпению может и прийти конец. Как-то не хочется быть съеденным заживо. :-)
Респект за труд! Подробно расписан опыт на примерах. Использую wine для игрушек уже давно, согласен с тем, что подробной документации достаточно мало . Для новичков самое то, считаю.
Спасибо за комментарий, как раз для новичков и делал)
Привет. Кое-что добавлю
И system32
и syswow64
содержат исключительно только 32-битные версии библиотек. Различие имён папок здесь из-за версии самой винды, а не dll.
system32
- 32 битные библиотеки в 32-битной Видне.
syswow64
- 32 битные библиотеки в 64-битной Винде. (syswow64 => system windows on windows 64).
Поэтому если положили 64-разрядную библиотеку в не ту дверь папку, то ошибка c000007b = BAD_IMAGE_FORMAT - как раз случай с путаницей образов 32 битных и 64 битных либ. (Ожидается 32 битный, а лежит 64 битный или наоборот).
Второе, есть волшебный ключик --force
у winetricks
. Без него нормально d3dx9 не поставишь. (Сталкер не запуститься, если --force не указывали).
# winetricks d3dx9 - ERR: not worked!
# Add key "--force" to install Stalker
winetricks --force d3dx9
В третьих, DeepSeek предлагает общее решение по dotnet-у, которое легко гуглится в Reddit-е, здесь
Пробовали ли Вы winetricks с ключом "--force"?
В четвёртых - taskmgr
- бесполезен, если Вы захотите запрещать использовать некоторые CPU ядра для плохо оптимизированных игр (Far cry 3). Нужно вручную перед запуском игры через bash помечать указанные ядра как неактивные через "chcpu". Пример:
# mark CPU 6 - 11 as offline (-d => disable, -e => enable)
# Note: CPU 0 - cannot be disabled as it is in use by kernel.
sudo chcpu -d 6-11
И включать их по новой, когда нужно
sudo chcpu -e 6-11
И последнее - как Вы верно заметили, для игр нужно качать шрифты, т.к. Wine оставляет папку drive_c\Windows\Fonts
в префиксе пустой. Нужно вручную качать архив шрифтов и копировать шрифты в данную папку.
Игра "The Forest" - напрямую читает шрифты оттуда. Если их нет, то игра будет глючить (и язык не поменяешь, т. к. отсутствуют шрифты для трансляции).
P. S. И ещё наличие "32" в exe-шнике ещё не говорит о том, что игра запустится в 32-битном префиксе. Например, игра "Subnautica" требует исключительно 64-битный префикс. Даже если запускать "Subnautica32.exe". Потому что под "32" понимается скорее всего режим совместимости в 64-разрядной Windows)
Оо, спасибо за пояснения. Некоторых вещей не знал. Я не особо много игрался с вайном чтобы их все найти, полезно узнать.
Про встроенные программы(типа taskmgr) я упомянул лишь для того, что они там есть, я не сталкивался с реальным их применением, тк. я чаще пользуюсь Lutris, нежели чистым вайном.
А куда класть 64-битные либы, если syswow64 тоже для 32? Напрямую в windows?
С --force не сталкивался ни разу. Не приходилось.
Хороший труд. Я когда-нибудь еще раз подойду к "этому снаряду." Но именно поэтому, когда мне требовались Вин-программы на рабочем ноуте с Линуксом (был Минт), я поставил Винду второй осью (разрешили). Всё, что нужно было юзать в обоих осях - лежало как обычно в разделе d:
Здравствуйте, спасибо за коментарий.
Если вам нужно использовать проф. софт, то, возможно, вайн тут мало поможет. Было огромное кол-во у меня примеров, когда именно такой софт не запускался, или запускался с крайним трудом.
Из недавнего - T-Flex cad 17. По их гайду с сайта, подходит ТОЛЬКО определённая версия вайн, которую откуда доставать я так и не понял(там толи 6, толи 7), только определённые манипуляции, чтобы завести не учебную версию, там нужны такие танцы с бубном, что я психанул и сделал виртуалку. Это было раз в 10 быстрее, чем пробовать запускать незапускаемое через вайн.
Нашёл недавно способ поставить Фотошоп, для того чтобы его поставить нужна... Винда! Ну или виртуалка. Тогда появляется вопрос - а на кой чёрт мне нужно это тащить всё в вайн, если у меня уже есть всё рабочее из виртуалки?
Я точно не знаю по каким причинам, но вот именно под wine софт работает отвратительно. Игры пойдут большинство, софт нет и хоть тресни.
Да-да.. те самые программы из серии CAD-CAE .. В том числе Алгозит https://algozit.khpi.ru/algozit/ не пошел, он на С++ написан.. и версии под 64 разряда нет.. Короче я колдовал не только с Вайном.. ПлейОнЛинукс.. что-то еще.. и бросил ))
И ещë на AMDGPU в Linux-е ставят щадящие по питанию параметры, урезая производительность.
В Linux-е у драйвера amdgpu включен режим заикания "PP_STUTTER_MODE" (0x20000) is set". Этот режим усекает частоту памяти для GPU по пороговым параметрам. Его можно выключить, указав параметр модуля в загрузчике "amdgpu.ppfeaturemask=0xfff5bfff"
Можно также в придачу включить разгон и выключить GFX_OFF режим, но разгон не поддерживается на двух мониторах (особенности amdgpu). Так что безопаснее выключить только режим заикания. Единственное - это увеличит энергопотребление и нагрев.
Фича за разгон эта PP_OVERDRIVE_MASK (0x4000).
Фича, выключающая GFX > PP_GFXOFF_MASK (0x8000)
При включенном GFX нужно будет включить фичу PP_GFX_DCS_MASK
(0x80000)
С учëтом всех указанных фич маска будет такой
amdgpu.ppfeaturemask=0xfffd7fff
Главное чтобы ссылка не была хабром забанена, а так ничего.
Ещё одно. Некоторых библиотек нет в winetricks. Вот почему популярность WIne растёт медленно, так это из-за проблем с зависимостями. Вот ещё свежий пример. Игра "Satisfactory". Требует две вещи.
1) Самые свежие библиотеки среди Visual Runtime C++ (2015 - 2022). (*2022 - требуемые. Версии ниже не запустят игру, а в winetricks их нет). Достать их можно спокойно у майкрософт (Последняя версия Microsoft) по ссылке здесь.
2) Библиотеки для движка Unreal Engine. Пред. релизные версии (< 1.0) используют движок Unreal Engine 4. (Ищите гуглом UE4PrereqSetup_x64.exe).
Но релиз перешёл на движок Unreal Engine 5. И библиотеки 4 версии также теперь не запускают игру.
Вот и выходит, что почти каждая игра требует танцев с бубном.
Опять же смотря что запускать. Для моих целей таких танцев не требовалось, ибо мой тапок не запустит последние версии игр раз, второе я в низ и не особо хочу играть. Мой предел игр это ~2015 год, и то это будут индюшки. В последнее время я играть совсем перестал и мне интересен вайн именно с ТЗ запуска прикладного софта, а не игр. Он нужен в обычной жизни чаще. А игры через стим запускаются хорошо, там еще и все библы в комплекте идут.
А игры через стим запускаются хорошо, там еще и все библы в комплекте идут.
не все. А программы тем более не все.
UPD. Игра запустилась. Зря грешил на библиотеки Unreal Engine. Как раз они-то и работают нормально. Как оказалось причиной был Vulkan (DXVK). Вернее, его отсутствие. Необходимо было скачать DXVK нужной версии (1.10.3) отсюда. Затем скопировать библиотеки (*dll) из папки архива x64 (для 64-битного префикса) в папку "system32". Ну и ещё в WInecfg проверить, что для них установлено соответствие "сторонняя, затем встроенная". И игра запустилась. Запускал для DirectX 11 API.
И по сравнению с "Subnauica" игра под вулканом выдаёт стабильные 60 FPS и быстро работает, а вот в "Subnautica" средний FPS 30-40, и местами есть подгрузки. Но она работает на "OpenGL". А он медленее вулкана.
В общем качайте Visual Runtime C++ (2015 - 2022) отсюда.
Качаете DXVK 1.10.3 отсюда (не исходники, а первый архив).
Ну и ещё не забудьте из "Redist" поставить доп. ПО "UE4PrereqSetup_x64.exe" - либы Unreal Engine 4. И будет Вам "Satisfactory".
И да, эти библиотеки нужно на каждый префикс переносить.
у тебя расписано как поменять версию Windows? Именно релиз установить, а не в winecfg переключить.
Разбираемся как работать с wine на Unix-based системах