Доступен (https://www.winehq.org/announce/4.11) экспериментальный выпуск открытой реализации Win32 API - Wine 4.11 (https://www.winehq.org/). С момента выпуска версии 4.10 (https://www.opennet.dev/opennews/art.shtml?num=50841) было закрыто 17 отчётов об ошибках и внесено 370 изменений.Наиболее важные изменения:
- Продолжена работа по сборке DLL по умолчанию со встроенной библиотекой msvcrt (https://source.winehq.org/WineAPI/msvcrt.html) (предоставляемой проектом Wine, а не DLL из Windows) в формате PE (Portable Executable). По сравнению с прошлым выпуском на формат PE переведены ещё 143 DLL;
- Обновлена версия движка Mono 4.9.0 и фреймворка Windows.Forms (https://github.com/dotnet/winforms);
- Представлена более быстрая реализация SRW-блокировок (Slim Reader/Writer) для Linux, переведённая на Futex;
- В библиотеке user32 реализована начальная поддержка вызова EnumDisplayDevicesW() (https://docs.microsoft.com/en-us/windows/desktop/api/winuser...) для получения информации об используемых в текущем сеансе экранах;
- В winex11.drv добавлен обработчик экранов на базе Xinerama и обеспечена обработка изменения устройств вывода;
- В состав wined3d включён код для операций с текстурами wined3d_texture_gl;- Закрыты отчёты об ошибках, связанные с работой игр и приложений: SWAT4 Areas, AutoIt v3.x, Max Payne 3, Port Royale 2,
Catzilla 1.0, 7-Zip 15.06, Legacy of Kain: Soul Reaver, Fallout 4, .NET Framework 4.0, приложения на базе Chromium Embedded Framework (CEF), Nero CoverDesigner.
Дополнительно можно отметить проведение (https://www.reddit.com/r/linux/comments/c3hdjr/canonical_dev.../) разработчиком из компании Canonical эксперимента (https://discourse.ubuntu.com/t/results-of-testing-games-on-6...) по запуску игр из каталога GOG в тестовой сборке Ubuntu 19.10 без 32-разрядных библиотек, используя Wine64. В итоге, из 6 случайно выбранных протестированных игр, работающих в Wine с 32-разрядными библиотеками, в Wine64 ни одна игра не заработала. В частности, не удалось добиться установки трёх игр (Theme Hospital, Quake The Offering, Shadow Warrior), одна игра не запустилась (GOG Braid), а оставшиеся две (FTL Advanced Edition, GOG Surgeon Simulator 2013) ограничились выводом чёрного экрана (возможно из-за ограничений поддержки OpenGL в VirtualBox).URL: https://www.winehq.org//announce/4.11
Новость: https://www.opennet.dev/opennews/art.shtml?num=50930
А зачем пытаться запустить под вайном Braid, если он есть нативный??? Что бы жизнь медом не казалась что ли? Я специально зашел на GOG и проверил, что там нативный Braid есть, могу его скачать спокойно из своей библиотеки.
Для проведения
>эксперимента по запуску игр из каталога GOG в тестовой сборке Ubuntu 19.10 без 32-разрядных библиотек, используя Wine64К.О.
вайн64 не готов, но убунта всёравно выпилит 32хбитные либы необходимые для работы вайн32. остаётся присосаться к 32хбитному рантайму стима
Остается послать нафиг Убунту.
> Остается послать нафиг Убунту.Забавно, что до сих пор не все это сделали. После смерти Unity не вижу в Ubuntu смысла. Есть же Manjaro.
Есть же Arch. А всё остальное - для не оссиляторов.
Есть же FLS. А всё остальное - для не оссиляторов.
А если серьезно, арче-воды очень странные ребята, они при каждой возможности сообщают, что у них арч. Они уверены, что тратить время на сборку системы это есть линукс. Хотя нормальные люди понимают, что ОС для человека, а не человек для ОС. Нормальные люди выбирают Debian или Centos и просто работают или развлекаются. У меня есть знакомый с подпольной кличкой Арчи - это самый неадекватный человек из всех кого встречал в жизни. Сложилось мнение, что арчеводы позёры.
готовый к работе десктоп на арче ставится за ~30 минут, в зависимости от качества соединения. арч ставят для того, чтобы не удалять ненужный мусор и получать всегда новые пакеты. а позируют только школьники
Ага, только пакеты к нему собираются Дядями Васями, которым Arch предлагает тебе верить. В отличии от Ubuntu, за которую отвечает вполне себе серьезная компания.
Особенно ppa, ага.
> готовый к работе десктоп на арче ставится за ~30 минутХренассе, а что он там делает остальные 25?
> в зависимости от качества соединения.
А, это на соседском модеме, наверное.
> арч ставят для того, чтобы не удалять ненужный мусор
поиск://jeos
> и получать всегда новые пакеты
поиск://rolling (и нет, это не в арче придумали)
> а позируют только школьники
...и школьницы, и даже не только студенты да студентки; впрочем, после выпускного будет ещё немало открытий чудных :-)
Чесслово, порой немножко завидую белой завистью таким маленьким и наивным.
Aussie'ляторов? 8)(pro hint: на каникулах можно подтянуть географию!)
Manjaro отказывалось загружаться после обновлений, после установки. Два раза с переустановкой. Вероятно проблема в драйверах видео, но не стал разбираться. На убунту ничего такого не было и близко, чтобы после обновлений система не грузилась.
> На убунту ничего такого не было и близко, чтобы после обновлений
> система не грузилась.Поискал "ubuntu updates fail reboot", повспоминал, сколько мне в подобных случаях советовали писать "imho" или в эквиваленте -- думаю, Вам тоже пригодится подобный совет. :)
Ну так и в тoпку её. Тем более и обои скучные.
Понятия не имею что такое Braid, но иногда под Линукс собирают откровенно хреново: линкуются с устаревшими либами, либо наоборот с тем, чего ещё нет в репах. Или ещё что-то в этом духе.
Иногда проще попробовать через Вайн.
> Понятия не имею что такое BraidИзвестный платформер.
> линкуются с устаревшими либами, либо наоборот с тем, чего ещё нет в репах
А причем тут репы, если речь про проприетарную игру, которая поставляется со всем что есть?
не совсем так. Иногда то, что поставляется вместе с игрой действительно требует чего-то древнего, например libc. При этом иногда бывает достаточно выкинуть все, что идет с игрой и уже есть в репах.
Древний Libc это хорошо. Чем более старого Glibc хочет прога, тем большее количество дистров сможет её запустить. Проблемы совместимости последний раз были в версиях что-то вроде 2.2.5, или около того... То есть, нужно 2.3 и выше. А это 2005 год. Если ты собрал прогу в CentOS 6 и Glibc 2.12, то никаких проблем совместимости с Ubuntu 19.04 и Glibc 2.28 не будет.А вот такой ликбез устроил мне Icculus несколько лет назад
SDL tries to do this in every subsystem, but generally the problem you'll run
into on older machines is glibc. You'll link against strcpy() or something
totally simple and an older machine will say "oh, you linked against strcpy()
version "GLIBC_2.2.5", but I only offer strcpy without a version."(did you know strcpy() has a version number? Surprise!)
Anyhow, the short answer is your goal is (mostly) achievable...all SDL needs is
the thing installed on your machine so it knows how to talk to libraries like
Xrandr, but it'll try to do the right thing no matter what the end-user's
system looks like. Go ahead and upgrade your xrandr package and try it out. SDL
will only link directly against glibc by default.
В смысле libc4?
Куда проще скопировать нужные либы, чем уповать на вайн.
Я согласен. В русскоязычной части интернета я пропагандирую сборку ПО в CentOS 6, потому что такая сборка работает как в CentOS 6 и 7, так и в Дебианах и Убунтах версий наверное примерно 20-ти версий (начиная с 10.04 и заканчивая 19.04). А если собирать в Ubuntu, версия которой сейчас актуальна, то жди проблем, когда выйдет новая убунта.Но некоторые разработчики не хотят париться с docker, и тупо компиляют в домашней системе, в которой пользуются. А потом "ой, а что-то в вашем линуксе всё плохо работает, не стандартизировано всё, я с него валю". Хотя всё как раз-таки стандартизировано. Стандарт называется LSB. Суть его в том, что компилить надо в CentOS (в принципе можно где угодно, хоть в генту, главное чтобы libjpeg.so.62, а не .so.8, и libpng.so.12, а не libpng.so.18), а также что библиотеки, входящие в этот список:
http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Common/LSB...
http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-gener...
http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Desktop-ge...
http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Languages/...
http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Imaging/LS...
http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-TrialUse/L...
http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-TrialUse/L...Класть в пакет/архив с вашей прогой не надо - эти библиотеки обязаны быть у пользователя. А всё, что кроме - какой-нибудь SDL, OpenAL, GLEW, libCg, OpenCV - кладите с программой. Статическая линковка не обязательна - достаточно скрипта запуска с LD_LIBRARY_PATH
Но разработчикам пофиг, и они фигачат в домашней убунте, ведь "у всех же убунта - значит у всех моя сборка будет работать"
Ну соберите какую-нибудь нехелловорлдную библиотеку типа Skia под CentOS 6. Сразу вылезет слишком древняя версия libfontconfig или что-то подобное. Да и тулчейн сборке с ней поставляется далеко не свежий, хоть это и решается частично с holy-build-box.
А нахрена париться с докером? Поднял виртуалку - и вперёд. Чуть медленнее, зато на порядок меньше странного
> А если собирать в Ubuntu, версия которой сейчас актуальна, то жди проблем, когда выйдет новая убунта.Не совсем там. Бинарник не развалится и не окажется неработоспособным в новой версии Ubuntu. Просто нужно будет доустановить недостающие библиотеки. Наиболее частый пример это libGLEW. Эта библиотека часто обновляется, и если сегодня ты скомпилировал игру с версией .so.1.10 из Ubuntu 18.04, то в Ubuntu 18.10 уже версия .so.1.11 и всё, игра не запускается.
И ладно ещё ты собирал в LTS-версии убунты - в этом случае настолько популярная библиотека, как GLEW, будет лежать в Steam Runtime (там 4 версии из 12.04, 14.04, 16.04 и 18.04 соответственно). А если ты собрал в 15.04 или в 17.10, то библиотеки версии *.so.1.7 нет ни в репо, ни в рантайме, так что распространяй файл библиотеки нужной версии в директории с игрой. Подцепляя тем же run_game.sh, содержащим в себе LD_LIBRARY_PATH
> Просто нужно будет доустановить недостающие библиотеки.Интересно, насколько _более_ на пальцах надо объяснять, чтоб понять, что это как раз тот самый dll hell в другой упаковке -- "вон та библиотечинка слинкована с..., а там ещё с..., и дальше по списку ..., и так продолжаем обходить всё дерево, пока не выходит половина новой-версии-убунты".
Про ldd слышали? Посмотрите им, с чем линкуется "недостающая библиотека".
Это, к сожалению, напрямую зависит от разработчиков игры\порта. Есть игры которые вполне нормально собраны, а есть такие, которые были собраны явно по принципу "ну хоть как нибудь", что особенно характерно к билдам с Humble Bundle, большинство которых были брошены сразу после завершения акций.
>А зачем пытаться запустить под вайном Braid, если он есть нативный???Ага, нативность которого заключается в поставке виндового клиента уже обёрнутого в вайн, труба шатал я такие нативные клиенты, лучше уж с вайна запускать виндовый!
Ну, это ты зря. Я приобрёл Linux-версию в 2010 году на Humble Bundle 2. Играл на нетбуке, весьма слабом. Там был видеочип ATi Mobility Radeon 4250. Игра при запуске автоматически определяла разрешение, при котором не тормозит. Это было 640x480. Ну, не знаю, может на винде и быстрее работает. Мне странно видеть, как 2D-игра не тормозит только на 640x480, а Unreal Tournament 2004 нативный и в 1024x768 играется на "средних" настройках. Я смотрел сам бинарник, собран вполне грамотно. Зависит от GLIBC 2.4 или новее (первые бандлы вообще грамотно собрали), все стандартные зависимости берёт из системы, все нестандартные лежат в архиве с игрой, и подцепляются сами. Как я понял, игра полностью нативна. Единственное, что не нативно, это шейдеры, которые транслируются из HLSL в GLSL.
В том же треде на реддите пишут, что Braid 32-битный. Так что он тоже умрёт, когда бубунтятина выкинет i686 из своих дистров.
Все верно пишут https://www.gog.com/game/braid - this game comes with a 32-bit binary onlyК огромному сожалению, как минимум половина Linux игр на том же ГОГ не поддерживает 64 бит. В последние годы имеется некоторая теденция что новые релизы идут 64-bit only, взять тот же совсем не старый ремастер Грим Фанданго 2015-ого года - 32 бит и все. Выпустят ли свежие билды? Кто-то - может быть, но точно не все.
Цигвин в вайне всё ещё не работает?
Но зачем?
Чтобы в нём собрать и запускать собственный Wine!
Сборку i386 выпилили. Ладно. Но выпилиывют и сами пакеты для совместимости. Не слишком ли быстро? Я понимаю, есть LTS, но они не бесконечные. А где гарантии что потом не будет проблем с запуском 32-битного софта? Далеко не всё можно портировать, либо не всё портируют по тем или иным причинам.
LTS это 5 лет бесплатной поддержки. У тебя времени до 2023 года, что бы выкинуть старье.
Блин, когда на смену 16 битам пришли 32 никто не пищал «ААААА! У меня еще старое дерьмо!»
Дропают и правильно делают.
Зайчики, AMD64 существует 15 лет. 15 лет, понимаете? У вас было 15 лет на то, что бы все сделать. Вы 15 лет плевали в потолок и теперь ноете.
Объясни теперь это моей бабушке, у которой после обновления ферма не запускается.
> Блин, когда на смену 16 битам пришли 32 никто не пищал «ААААА!
> У меня еще старое дерьмо!»Угу. Только поддержку 16-бит DOS-программ из винды официально (a неофициально есть патчи, позволяющии запускать NTVDM - NT Virtual DOS Machine на 64 битной винде) убрали только при переходе на 64-битные версии. Массовый переход на 64-битную винду - никак не раньше Win8. Ну и возможность установки DOSBox никто и не думал выпиливать, совсем наоборот.
надо попробовать :)последовательно в wine пытаюсь запустить студенческий компас-17 - если в 4.8 оно только запускалось, то в 4.10 staging пропали артефакты и оно уже работает не как вьювер - для целей обучения вполне можно пользоваться (правда, при попытке сохранить чертеж как pdf - валится... но есть виртуальный принтер :)
Его, кстати, вроде как всё-таки тащат на линукс нативно. Поздно, но лучше, чем никогда.
> Его, кстати, вроде как всё-таки тащат на линукс нативно. Поздно, но
> лучше, чем никогда.этого не может быть , так как этого не может быть!
kompas уже так сильно обляпался дотнетом, что никуда им не слезть...
так что если только нативный дотнет с винформами будет под линукс :)))
ЗЫ:
kompas-17 коряво генерирует stl - правда не знаю косяк ли это 17-го вообще или это так он себя под вайном ведет... Еще размеры на эскизе (3д деталь) не отображаются, а в 2Д - хорошо... Стандартные изделия не вставляются... но частых падений нет... отличий в 4.11 от 4.10 для компаса 17 не заметил
>По сравнению с прошлым выпуском на формат PE переведены ещё 143 DLLТолько вот такое чувство, глядя на увлечение WSL, WSL 2, что сама MS скоро начнёт переползать на ELF.
Да плевать Linux-сообществу, на что там Редмонд в очередной раз переползает.
Вайн работает с легаси, оно не меняется.
> эксперимента по запуску игр из каталога GOG в тестовой сборке Ubuntu 19.10 без 32-разрядных библиотек, используя Wine64Таким образом они ни одну игру из GOG не смогут запустить, а причина проста - в GOG даже 64-битные игры имеют 32-битный установщик. Видимо они не знали, что wine64 без 32-битных либ не может запускать 32-битные приложения.
В принципе, если распаковывать установщики какими-то сторонними средствами, то можно будет запускать 64-битные игры.
В винде в принципе все установщики - 32-х битные. Типа для совместимости.
Значит гогачей пинать надо, они ребята странные, иногда прислушиваются.
Странно, winforms добавили, а запустить приложения на дотнете так ни разу не удалось.
Да ладно? Лет десять как работают уже. С косяками, некоторые сложные хаки отваливаются, но большая часть софта работает и не жужжит.
> Да ладно? Лет десять как работают уже. С косяками, некоторые сложные хаки
> отваливаются, но большая часть софта работает и не жужжит.Что для примера можно запустить?
Объясние, что значит "dll переведены на PE"? А раньше там что было? LE? LX? ELF? a.out?
Были "fakedlls" в формате ELF.
Суть в том, что виндовый бинарь запущенный в wine, прозрачно загружает библитеки в PE, а для взаимодействия с библиотеками в формате ELF требовались дополнительные хаки.
Как и двадцать пять лет назад, основной набор претензий к линуксу сводится к "а виндовые программы этот ваш линукс запускать умеет? А?"Только двадцать пять лет назад линуксовое сообщество не пинало с такой радостью дистрибутивы, которые не умели запускать виндовые программы.
Забавно, что за годы существования Wine особого прогресса нет. Как было плохо, так и осталось плохо.