HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Xash3D > Xash для Linux
Half-Life для Linux
Страницы (9): [1] 2 3 4 5 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Zttrium
годичная периодичность

Дата регистрации: May 2006
Проживает: N46°17' E48°3'
Сообщений: 33
Возраст: 36

Рейтинг



Xash для Linux

Не планируется ли сделать версию xash'а для linux? А то Valve свой порт source под макос и линух делать будут ещё наверное пару лет...а gold source и вовсе не увидеть...

Сообщить модератору | | IP: Записан
Сообщение: 61446

Старое сообщение 11-07-2010 12:57
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Ну в теории, я думаю, сложностей особых нет.
Можно попробывать перекомпилить. Проблема в том, что у меня нет компьютере Линукса (и никогда не было), и я про эту систему наслышан исключительно от знакомых линуксоидов и от чтения ITHappens.
Поэтому вопросов масса возникает:
1. будет ли, скажем, ксаш, скомпиленный под убунту, работать под каким-нибудь дебианом? Или там еще под ред-хатом к примеру.
2. Если он работать не будет, как мне исправлять ошибки? Ну под виндой я не первый год сижу, механизмы взаимодействия программы с ОС знаю немного. А под линуксом - што?
3. Ксаш превосходно работает под WINE (со слов тех же линуксоидов).
Чем так важна нативная поддержка? Думаете FPS сильно вырастет?
Я почему-то в этом не уверен.
4. В идеале бы неплохо выложить сорцы движка со словами "сами адаптируйте", но исходников я пока что выкладывать не планирую.
Равно как и ставить линукс. Как быть?
5. Неплохо бы опрос проверсти на предмет действительной полезности сего мероприятия. Может быть товарищи линуксоиды скажут что их работа под WINE вполне устраивает.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 61449

Старое сообщение 11-07-2010 15:47
-
Zttrium
годичная периодичность

Дата регистрации: May 2006
Проживает: N46°17' E48°3'
Сообщений: 33
Возраст: 36

Рейтинг



пишу сообщение 3 раз ибо нечайно закрывал в опере страницу
1. Конечно было бы не плохо выкладывать с исходниками, но если хотя б выкладывались сборки под несколько самых распространённых дистрибутивов, то было бы очень хорошо
2. Это конечно проблема Но если возникнет возможность и потребность думаю найдутся люди которые согласятся помочь в написании порта.
3. Не знаю как у других, но под моим дебианом х86_64 wine категорически отказывается работать с 3D графикой, а ставить 32 либы как-то не хочется Нативные игры под линукс работают на ура! Так что у xash'a у меня загрузилась только одна консоль (кстати, не плохо было бы сделать юзабельными в консоле таб и стрелки, а то писать команды не много геморно), хотя может так оно и есть) я не видел пока работу xash под виндвс...
4. Думаю для коммерческого проекта выкладывать сорцы не рентабельно, но если найдутся люди которые дадут "клятву гипократа" и захотят помочь с портом, то думаю можно им показать...Хотя решать не мне.
5. В интернете много информации одинаковой информации как запустить под вайном хл и о том что все жалуются что нету порта на линукс. Но так чтобы кто-то проявил инициативу, разве что "вентиль" со своим 2 летним молчанием по этому поводу...А тут увидел что xash пишут с нуля (если я правильно понял ) вот решил поинтересоваться ведь пока проект в стадии разработке его проще портировать...Хотел добавить опрос, но изменить сообщение мне не дали, поэтому если есть возможность добавьте опрос.

Сообщить модератору | | IP: Записан
Сообщение: 61452

Старое сообщение 11-07-2010 17:41
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Zttrium писал:
(кстати, не плохо было бы сделать юзабельными в консоле таб и стрелки, а то писать команды не много геморно)

там всё работает. И автокомплит есть.
Цитата:
Zttrium писал:
А тут увидел что xash пишут с нуля (если я правильно понял )

Скажем так: исходников GoldSrc я никогда в глаза не видел.
При разработке ориентировался на механизмы от id - движков и HL_SDK.
А так же немного на HL2_SDK (темп-энтити).
Цитата:
Zttrium писал:
ведь пока проект в стадии разработке его проще портировать...
Ксаш изначально задумывался как портируемый движок.
Я предполагаю изначально отловить все баги и реализовать задуманное, а уж после скомпилить под линукс. Механизмы взаимодействия с ОС в любом случае максимально абстрагированны от основого кода и вынесены в одну дллку. Поэтому, по моим рассчетам портирование не займет сильно много времени и усилий. Максимум - пара недель. Причем большая часть времени уйдет на установку линукса и попытки в нем хоть чего-нибудь понять.
ЗЫ. Опрос создам.

Добавлено 11-07-2010 в 21:57:

ЗЗЫ: проще замутить опрос в новой теме, чем здесь.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 61453

Старое сообщение 11-07-2010 17:57
-
Zttrium
годичная периодичность

Дата регистрации: May 2006
Проживает: N46°17' E48°3'
Сообщений: 33
Возраст: 36

Рейтинг



Цитата:
Дядя Миша писал:
там всё работает. И автокомплит есть.
ну видимо wine так неуклюжа эмулировал...
Цитата:
Дядя Миша писал:
Скажем так: исходников GoldSrc я никогда в глаза не видел.
При разработке ориентировался на механизмы от id - движков и HL_SDK.
А так же немного на HL2_SDK (темп-энтити).
Ну исходников кроме "вентилей" по моему никто не видел... А насчёт ориентации можно думаю использовать исходники беты хл2.
Цитата:
Дядя Миша писал:
Ксаш изначально задумывался как портируемый движок.
это отлично
Цитата:
Дядя Миша писал:Я предполагаю изначально отловить все баги и реализовать задуманное, а уж после скомпилить под линукс.[/B]
эх...ещё долго ждать наверное...
Цитата:
Дядя Миша писал:
Механизмы взаимодействия с ОС в любом случае максимально абстрагированны от основого кода и вынесены в одну дллку. Поэтому, по моим рассчетам портирование не займет сильно много времени и усилий. Максимум - пара недель. Причем большая часть времени уйдет на установку линукса и попытки в нем хоть чего-нибудь понять.
ставь debian 5.0 lenny amd64 для лучшей совместимости

Сообщить модератору | | IP: Записан
Сообщение: 61455

Старое сообщение 11-07-2010 18:12
- За что?
thambs
мразь конченная

Дата регистрации: Mar 2006
Проживает: -
Сообщений: 6417

Рейтинг



1. )будет, если сделашь как в венде -- приложишь сопровождаемые библиотеки вместе с движком. (собственно, все коммерческие программы и игры так и делают)

3) ещё есть winelib -- позволяет перекомпилить win32 приложение в почти нативное.

>разве что "вентиль"

так вроде в конце лета обещают. сам стим, по крайней мере, уже портировали.

>Может быть товарищи линуксоиды скажут

нативный или с winelib надёжней.

Отредактировано thambs 11-07-2010 в 18:25

Сообщить модератору | | IP: Записан
Сообщение: 61456

Старое сообщение 11-07-2010 18:16
- За что?
ffelix8
Новичок

Дата регистрации: Oct 2009
Проживает: Латвия, Даугавпилс
Сообщений: 18
Возраст: 32

Рейтинг



Если что могу потестить потом эти порты. Очень уж интересует порт под линукс. Вай конечно же неплохо эмулирует, но нативное с ним не сравнить.

Сообщить модератору | | IP: Записан
Сообщение: 61457

Старое сообщение 11-07-2010 18:27
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
thambs писал:
ещё есть winelib -- позволяет перекомпилить win32 приложение в почти нативное.

Можно чуть подробнее? Сильно размер приложения вырастает после таких извращений? Просто ксаш имеет достаточно мало точек соприкосновения с операционкой, только самое необходимое:
звук, openGL, окошко консоли, окошко openGL, таймеры, обработка ввода.
Остальные функции по названиям совпадают с таковыми из всяких линуксов, либо имеются собственные аналоги из CRT.
В любом случае сначала я его допилю под виндой, а уж потом - всё остальное и никак иначе.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 61467

Старое сообщение 12-07-2010 09:02
-
thambs
мразь конченная

Дата регистрации: Mar 2006
Проживает: -
Сообщений: 6417

Рейтинг



сам я его не использовал, просто знаю о такой возможности. он просто встроит вайн в бинарник. (системным вайном лучше не пользоваться. мало ли, поставит кто сверх свежую версию, а там регрессия возможностей, или поломали что, или настроек каких попросит)

а звук у тебя через что?

Отредактировано thambs 13-07-2010 в 09:01

Сообщить модератору | | IP: Записан
Сообщение: 61519

Старое сообщение 13-07-2010 08:55
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



thambs waveOut.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 61523

Старое сообщение 13-07-2010 11:33
-
LeXa2
Новичок

Дата регистрации: Jan 2011
Проживает: Moscow, Russian Federation
Сообщений: 15
Возраст: 40

Рейтинг



Цитата:
Дядя Миша писал:
1. будет ли, скажем, ксаш, скомпиленный под убунту, работать под каким-нибудь дебианом? Или там еще под ред-хатом к примеру.

Если делать так, как делают в nVIDIA с их бинарными драйверами под видеокарты - то работать будет. Ключевой момент - компилировать движок с линковкой с как можно более старой версией libc, и с как можно более меньшими зависимостями от прочих сторонних библиотек. Можно обойтись без C++ - зашибенно, разом решается проблема с libstdc++. Можно обойтись без связей с GTK/QT - отлично. Ну и т.д. С теми библиотеками, от которых избавиться нельзя - по возможности либо статически линковать, либо нужную версию библиотеки поставлять в комплекте с движком.

Второй вариант - делать отдельные билды под наиболее популярные системы, типа Fedora, RHEL/CentOS, Debian и Ubuntu. Причём, скорее всего, придётся делать по билду под каждую версию этих операционок, иначе будут проблемы с зависимостями.

Цитата:
Дядя Миша писал:
2. Если он работать не будет, как мне исправлять ошибки? Ну под виндой я не первый год сижу, механизмы взаимодействия программы с ОС знаю немного. А под линуксом - што?

Ну, тут несильно отличается. Stack backtrace от версии движка, скомпиляченой с debug-символами. И длительное задумчивое чесание затылка в попытках понять, как же программа дошла до такого печального контекста, что выпала в корку.

Цитата:
Дядя Миша писал:
3. Ксаш превосходно работает под WINE (со слов тех же линуксоидов).
Чем так важна нативная поддержка? Думаете FPS сильно вырастет?
Я почему-то в этом не уверен.

Wine - это всегда некоторый геморрой. Его разрабы постоянно в новых версиях добавляют регрессий, только и успевай строчить багрепорты. Говорю "со знанием дела" - на сегодня являюсь мэйнтейнером HL2 и ещё нескольких игр в вайновской AppDB. И пары минорных релизов не проходит, чтобы что-нибудь новое не сломали в эмуляции Direct3D. Что до увеличения FPS - будет, но не радикальное. Тут проблема в том, что у Wine эмуляция системных вызовов для Win32-приложений идёт через механизм обработки исключений. Т.е. программа вызывает там какой-нибудь код, как ей кажется, из user32.dll или kernel32.dll. А в реальности - уходит в эксепшн, который обрабатывает специально обученный процесс wineserver, который смотрит, куда это программа ломанулась и зачем, ну и либо отфутболивает эксепшн к ней на обработку, либо эмулирует выполнение вызова той функции, на которой програ в экспешн свалилась. Понятное дело, что эксепшны сами по себе не добавляют скорости работы (как минимум идёт перезагрузка конвейера процессора на каждом из них). Ну и обработка в wineserver тоже ресурсы кушает. Так что нативный порт - он таки быстрее. Но для OpenGL-движков - не радикально, как правило - процентов на 10-15.

Цитата:
Дядя Миша писал:
4. В идеале бы неплохо выложить сорцы движка со словами "сами адаптируйте", но исходников я пока что выкладывать не планирую.
Равно как и ставить линукс. Как быть?

При таком положении вещей - только пропадать :-).

Цитата:
Дядя Миша писал:5. Неплохо бы опрос проверсти на предмет действительной полезности сего мероприятия. Может быть товарищи линуксоиды скажут что их работа под WINE вполне устраивает.

ИМХО, большинство заинтересованных - вполне устроит. Нативный порт - это так, глазурь на вкусном торте. Разумеется, каждый линуксоид мечтает, чтобы поиграть в халфлайф можно было тупо установив из репозитория его дистрибьютива пакет xash и указав в графической конфигурашке движку путь до папки valve оригинальной игры. Однако сколько уже лет через Wine играем - и ничего, не развалились. Дык шо... :-)

Добавлено 19-01-2011 в 18:24:

Цитата:
Дядя Миша писал:
Цитата:
thambs писал:
ещё есть winelib -- позволяет перекомпилить win32 приложение в почти нативное.

Можно чуть подробнее? Сильно размер приложения вырастает после таких извращений?

Смысл winelib - дать возможность скомпилировать Win32-приложение с почти не изменёнными исходниками в псевдо-нативный linux код. Оно было придумано создателями wine как способ облегчить разрабам "портировать" код под *nix/*BSD. ИМХО, по моему опыту использования, особой разницы с запуском этого же приложения под Wine - нет. Да, работает такой франкенштейн чуть пошибче, чем просто под Wine (ибо часть эксепшнов, обрабатываемых в случае обычного запуска под Wine процессом wineserver просто не возникает - используются напрямую механизмы нативных системных вызовов), однако эмуляция - она таки эмуляцией остаётся, и оверхед вносит.

Сообщить модератору | | IP: Записан
Сообщение: 70434

Старое сообщение 19-01-2011 15:24
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Проще будет выложить сорцы. Потом.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 70455

Старое сообщение 19-01-2011 19:34
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Да, выложи сорцы. Пусть товарищи линуксоиды сами напишут код FunctionFromName/NameForFunction для ELF-формата. Я когда волатилу портировал - кучу форумов обегал и товаищей опросил, никто толком не помог. В итоге написал сам, и фиг я этим кодом поделюсь теперь со славным линуксоидным комьюнити.

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

Сообщить модератору | | IP: Записан
Сообщение: 70463

Старое сообщение 20-01-2011 03:55
-
LeXa2
Новичок

Дата регистрации: Jan 2011
Проживает: Moscow, Russian Federation
Сообщений: 15
Возраст: 40

Рейтинг



Цитата:
XaeroX писал:
Я когда волатилу портировал - кучу форумов обегал и товаищей опросил, никто толком не помог.

Речь идёт о получении указателя на функцию в solib по её имени и обратном преобразовании типа указатель -> solib/название функции? Если оно так, то неудивительно, что вышеозначенное комьюнити толком помочь не смогло - красноглазые громкоголосые гордецы, увы, редко когда в деталях знакомы с тем, как работает ld-linux.so, и уж тем более с подробностями о формате ELF/solib и процессе relocate. Дальше dlsym большинство т.н. линуксоидов вряд ли что подсказать сможет. Тут реально ИМХО проще самому вкуривать исходники libc и libelf и потом реализовывать нужный функционал.

Сообщить модератору | | IP: Записан
Сообщение: 70464

Старое сообщение 20-01-2011 06:47
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


LeXa2
Да, именно об этом.

Цитата:
LeXa2 писал:
Дальше dlsym большинство т.н. линуксоидов вряд ли что подсказать сможет.

Ну отчего же, подсказали смотреть сорцы nm (как бы кэп), и даже дали их.
Правда, я в них ничего не понял. В итоге пришлось читать детальное описание elf-формата и вот уже на основе него...

Добавлено 20-01-2011 в 13:28:

Хотя этот формат несколько проще PE/COFF, что порадовало.

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

Сообщить модератору | | IP: Записан
Сообщение: 70465

Старое сообщение 20-01-2011 07:28
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 21:34. Новая тема    Ответить
Страницы (9): [1] 2 3 4 5 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Xash3D > Xash для Linux
Half-Life для Linux
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024