LINUX.ORG.RU
ФорумTalks

2Quasar: FatELF


0

0

Quasar, ты уже пробовал связаться с icculus'ом по поводу дальнейшего развития FatELF? Просто интересно чем же всё кончилось (или наоборот началось =)).

Deleted

Ответ на: комментарий от Dendy

>Well, let me say it once and for all it’s the distributions’ task to provide packages to the users!

Глаза выцепиле этот текст и сразу всё стало понятно :) И это тоже уже обсуждалось

Gary ★★★★★
()

Ответ ко мне пришёл.

Вопрос я ему задавал насчёт юзерспейса, и как работает WINE. Узнал много интересного. Ответ на этот вопрос такой:

>Wine loads them into memory, the same way ld.so does it for regular ELF binaries. When I started working on FatELF, I was surprised to discover the kernel doesn't handle shared library loading at all...it's completely done in userspace.

То бишь в ядре нет механизма загрузки библиотек.

>I _could_ go forward without a kernel or glibc patch: binfmt_misc could be made to load FatELF binaries, and that loader could be used to get the shared libraries into memory. The problem is that we've replaced a few hundred lines of source code changes with a big, complicated project. It would have to reimplement the ld.so code from glibc, and it wouldn't benefit from fixes and improvements to the main project.

>Also, there's no way to ever make dlopen() work with FatELF files unless glibc takes my patch.

Так что если делать по подобию WINE, действительно предстоит много работы.

Также я задал вопрос о том. почему бы не пересадить всех с Direct X на WINE (чтобы писали под WINE, а не под Direct X).

Ответ получил такой:

>They'd react much like the kernel developers reacted to FatELF.

Так что тут всё сложно. Но я ещё несколько вопросов ему задам. Например, насколько трудоёмко будет сделать загрузчик FatELF для Windows. А то вообще может проще сделать метаформат.

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

То бишь в ядре нет механизма загрузки библиотек.

Офигеть! А я всегда думал, что этим ядро занимается...

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

>Также я задал вопрос о том. почему бы не пересадить всех с Direct X на WINE (чтобы писали под WINE, а не под Direct X)

Кого "всех"? Люди в этом плане весьма упёртые, icculus даже из-за этого написал mojoshader для ut3

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

Тогда не упёртые, а отмороженные. WINE предоставляет практически то же API, что и Direct X . Да - не в полном объёме. Но судя по тому, что вполне современные игры там работают - в достаточном.

Как вариант тогда можно поговорить как следует с CodeWeavers - может они согласятся сделать DirectX-совместимуюбиблиотеку как отдельный дистрибутив для нескольких платформ, и проталкивать её как привычное решение для написания многоплатформенных игр, и с хорошей техподдержкой. На этом можно сделать деньги, если правильно подойти к вопросу.

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

>Но судя по тому, что вполне современные игры там работают - в достаточном

Увы, современные игры там работают не очень хорошо. Правда, не из-за directx. С надёжностью тоже проблемы - тот же wine для виртуалбокса работет абы как. Допилить это конечно можно, но здесь серьёзный вопрос - сколько это будет стоить разработчику. И кроме DirectX иногда надо портировать много другой ерунды.

Разработчик взвешивает - возможную прибыль от линукс-платформы и затраты на портирование и поддержку.

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

> Потому нужна привычная многоплатформенная библиотека.

Я чё-то не понял, а OpenGL? Или привычность важнее стабильности? Тот же DirectX в Wine далёк от совершенства.

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

>Я чё-то не понял, а OpenGL? Или привычность важнее стабильности? Тот же DirectX в Wine далёк от совершенства.

По неизвестным причинам OpenGL на ПК можно считать мёртвым. Из серьёзных игроделов его используют только id Software.

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

ололо

Да да да, вот такой я тёмный человек =).

Deleted
()

Дайте иккулусу еще один шанс: намекните ему что нужную ему для создания установщика функциональность (вывод совместимых с текущей архитектур) можно встроить в uname из пакета coreutils. Все-равно там это все захардкодено. А вот шелл-скрипты пусть учит и не отлынивает.

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

> http://blog.flameeyes.eu/2009/11/04/elf-should-rather-be-on-a-diet

> http://blog.flameeyes.eu/2009/11/05/distributions-are-the-strength-of-linux

А он неплохо знаком с работой Макинтошей :)

Почему все критики считают, что FatELF пытается полностью заменить собой старый формат?

question4 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.