LINUX.ORG.RU

Wine портирован на OpenBSD

 , ,


0

2

Томас Фрохвайн (Thomas Frohwein) сообщил о портировании Wine на OpenBSD.

Известные ограничения:

  • заявлена поддержка только 64-разрядных программ (WoW64 не поддерживается);
  • внутренние тесты отключены, поскольку им нужен доступ к X-серверу, а несколько тестов всё ещё зависают.

В качестве успешно запускающихся программ называются ремастер игры «Ведьмак 3» (требуется vkd3d-proton) и редактор Notepad++.

>>> Рассылка



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 6)
Ответ на: комментарий от ckotctvo

Ещё раз напомню, что авторы порта wine и авторы openbsd это разные люди. Вторым так-то wine вообще нафиг не сдался, и ничего патчить под него они не будут. Тем более что это теоретически может где-то увеличить поверхность атаки.

на sysret/sysleave наложить патч

А ещё на все сисколлы чтобы они 32-битные структуры и указатели из аргументов правильно обрабатывали.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от ckotctvo

Оно и в фрибсд работает (с сисколлами 32-бит, в которых кстати уже находили минорные уязвимости).

форкну ведро.

Ради чего? Ты пользуешься связкой openbsd+wine?

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

опенку не нужны 32битные сисколлы. более того, он может вообще запретить 32битному коду стучать в ведро. wow64 именно так и работает.

ckotctvo
()
Ответ на: комментарий от ckotctvo

Т.е. ты предлагаешь им кодить ещё и аналог wow64? Хорошо, атаки на сисколлы это не увеличит, но опять же им это не нужно, да и брать пример с оффтопа когда все юниксы делают иначе будет смотреться странно.

firkax ★★★★★
()
Ответ на: комментарий от firkax

але wow64 уже есть в wine. надо потрахаться только с mmap - сделать свой аллокатор адресного пространства потому что в опенке нет флага «мапать для 32бит». это вполне себе решаемая задача.

ckotctvo
()
Ответ на: комментарий от ckotctvo

Речь не про wine а про openbsd, зачем им 32-битный режим без сисколлов и без юзерспейсного слоя совместимости. Ответ «для wine» очевидно несостоятелен т.к. wine им вообще не нужно.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Еще раз: на 64битной винде нет 32битных сисколов. И все работает. Осознай это. Переходник это wow64 и в wine он не просто есть а проверен и работает

ckotctvo
()
Ответ на: комментарий от ckotctvo

Ещё раз: мы говорим про ядро openbsd, а не про винду. В openbsd никаких 32-64 переходников нет, соответственно возможность делать 32-битные сегменты будет странно смотреться и не приносить пользы. Наличие чего бы то ни было в wine для openbsd значения не имеет.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Да лять. Я тебе сколько раз сказал что переходник это то самое wow64. Он есть в wine и работает. В том числе и на линуксе, в раче его включили год назад по дефолту.

Нахрен ты вообще со мной споришь, я в код не глядя предположил что в gdt нет 32 дескриптора кода и так и оказалось. Потому что я изначально писал свою операционку и это все знаю. Я свой проц стал придумывать и изучать электронику кстати только потому что увидел насколько всратой стала архитектура х86. acpi хотя бы взять. Чтоб оно нормально работало надо использовать разработку наших российских архаровцев а не глючную acpica. А там еще всякие dsdt rsdt madt macp mpcp … UEFI из-за которого компания yadro трахается потому что интел как то протащило правило что сервер без UEFI не может называться сервером. Да даже релокация ядра: зачем если я в своем процессоре могу один бит адреса xorить с признаком режима ядра?

ckotctvo
()
Ответ на: комментарий от firkax

Я не понимаю просто причин упоротости.

Wine не нужны 32 битные сисколл. Ему нужен сегмент 32битного кода. И прокладка для map/munmap ну может еще brk надо схватить. А вот отмазка про ldt выглядит по идиотски. Ну вот сам подумай какой программист будет сам себе срать в штаны тугой струей поноса приделывая сегментацию если у тебя уже есть unreal mode и dos4gw. А в винде вообще есть win32k еще в 3.11. Я настолько стар что знаю про это и даже кодал туда.

ckotctvo
()
Ответ на: комментарий от ckotctvo

Я тебе сколько раз сказал что переходник это то самое wow64.

А я тебе в очередной раз повторю, что wow64 это оффтопная штука, в openbsd её нет (или ты можешь показать её мне вот тут?) и даже если она бы там мифически появилась - она никак бы не помогла запустить 32-битный /bin/ls на 64-битном ядре.

То, что оно есть в wine и с его помощью можно запускать win32-софт - проекту openbsd неинтересно. win32-софт это сборник всякого опасного клозедсорса и троянов, идущего вразрез с идеологией данной ОС.

firkax ★★★★★
()
Ответ на: комментарий от ckotctvo

Wine не нужны 32 битные сисколл.

А разрабам opensbd не нужен wine. 32-битный сегмент они скорее всего могут рассмотреть только с позиций запуска 32-битных openbsd-нативных бинарников (а им нужны либо сисколлы либо переходник в libc, ни того ни того сейчас нет). Хотя мне кажется и эта возможность им неинтересна.

И хватит в каждом сообщении понтоваться своими знаниями x86 защищённого режима, я тоже это всё давно изучал и писал свои демки операционных систем.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Ее нет потому что в gdt дескриптора нет для 32битного кода. Всё, других ограничений нет.

Погугли хотя бы как работает wow64. Еще раз для упоротых: на винде64 нет 32битных сисколлов. Там все работает.

И еще кое чо. Полно 32битных игр которые просто не имеют аналогов например FAF сделанный на supreme commander.

ckotctvo
()
Ответ на: комментарий от firkax

Да шлеп тебя по голове. Если ты знаешь как работает х86 то должен понимать как работает userspace переходник 32->64. Это просто пересовывание аргументов и far call. А потом far ret. И снова пересовывание. Это автоматизируется если чо.

ckotctvo
()
Ответ на: комментарий от firkax

Не нужны 32битным приложениям в опенке сисколы. Потому что их нет. Есть виндовые 32х битные игори которым нужен сегмент 32битного кода а все проблемы решает вайновый wow64. Все остальное собирается из исходников и там из коробки нет такой проблемы.

ckotctvo
()
Ответ на: комментарий от ckotctvo

Ну сколько можно? Ещё раз повторю: разрабов openbsd не интересуют wine-проблемы. Перестань ссылаться на оффтоп и на wine. Если ты ищешь аргументы для добавления 32-битного дескриптора 64-битном ядре, найди их оставаясь в рамках нативного openbsd-софта (репа тут!), затем оцени количество требуемой работы, количество полученной пользы, и количество увеличенной поверхности атаки.

Не нужны 32битным приложениям в опенке сисколы. Потому что их нет. Есть виндовые 32х битные игори которым нужен сегмент 32битного кода а все проблемы решает вайновый wow64.

Виндовые 32-игры (как впрочем и 64-битные) разрабов openbsd не интересуют, делать для них дескриптор они не будут. А у разрабов порта wine нет полномочий коммитить в ядро такие штуки.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 2)
Ответ на: комментарий от firkax

Разрабов не интересуют - ок, я пришлю патч не примут сделаю форк ядра. Дальше проблема с mmap/brk. Решаема. Многим количеством методов. Все. Ну может быть есть какая то всранина с DRM если оттуда могут прилететь адреса выше 2гб. Но это не точно.

ckotctvo
()

редактор Notepad++

Какие корни у проекта?

IIIypuk ★★★★★
()

Неожиданно. Было же ненужно. Как и условный Bluetooth.

Miharu
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.