LINUX.ORG.RU
ФорумTalks

[кто там хотел написать программу] свистелка к Wine


0

0

Короче, появилась такая идея:
Написать программу, которая бы вызывалась при вставке CDROM/монтированиии образа (Gnome умеет отслеживать mount -o loop, не знаю как с этим у KDE), определяла бы игровой диск, настраивала бы Wine под него (установить там DirectX, ключи подправить, и так далее, а может и установить определенную версию Wine, почему нет?, и запускала бы установщик.

Данные о видеопамяти можно один раз спросить у пользователя и записать в конфиг.
Данные о видеокарте BUS ID, и что там еще Wine требует, брать из lspci -n
Я думаю, это было бы ДЕЙСТВИТЕЛЬНО полезно для новичков в Linux, и избавило бы от танцев с бубном.
Сейчас в той же убунте самые главные танцы - запуск Win-игр и приложений.

P.S. Я знаю про PlayOnLinux, но это не то. Там разработчики на голову ... странные, и вообще их скрипты давно не обновлялись (по некоторым приложениям). Тем более, что здесь подразумевается автоматика.

★★★★

Угу, засовываешь диск от Фаргуса, а услужливый DE устанавливает тебе скринсейвер с рыбками, обои раб. стола и парочку троянов.

Lighting ★★★★★
()

Хотел сказать что PoL то что тебе нужно, но увидел внизу такой бред.

Там разработчики на голову странные

В смысле? Проектировка хорошая, да и работает как нужно.

их скрипты давно не обновлялись

Возьми и обновляй. Это OpenSource, детка.

что здесь подразумевается автоматика.

Т.е. ты хочешь чтобы программа сама смотрела что за игра, угадывала какую версию вайна, патчи и паки нужно поставить и сама их ставила? Может тебе ещё личный спутник чтобы лазером попу чесал?
Я намекаю на то что ты хочешь нереального.

И да, гном отслеживает маунты. Месяца 2 назад в гному убунты точно на десктопе появлялись диски, которые ты примонтировал.

tia
()

Можно форкнуть POL. Убрать нафиг их сраные скрипты, допилить API.

Если что, патченные образы вайны сделать и протестировать могу.

А скрипты в POL вообще говно в крайней степени. Как-то попытался поставить NFS:MW, так он у меня упорно диск требовал.

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

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

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

Диски определять бесполезно. Лицензии с защитой от копирования все равно. А пиратские это гадание на кофейной гуще.

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

Почему это нереально? Определяется игра, ставится определенная версия вайна (если надо), создается префикс, потом все это патчится, если надо.
То есть должно быть что-то вроде пакета:
1. Создаем префикс вайна
скрипт preinst - ставим нужные компоненты
запускаем инсталлятор игры
скрипт postinst - патчим игру, твикаем реестр
Потом же создаем кнопку запуска (возможно с нужными аргументами).

PoL - это не то, что нужно, хотя бы потому, что там нельзя ОДИН раз указать объем видеопамяти, и чтобы потом не спрашивал.
Ну и скрипты там конечно нечто. Нужно что-то попроще, там много лишнего.

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

Ну, я думаю сойдет что-то вроде определения структуры файлов и каталогов на диске, но никак не по защите.

pashazz ★★★★
() автор топика

Кстати, в кедах на монтирование/вставку/итд тоже можно вещать любые действия.

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

Фигасе ты дал... попроще. Откуда информацию о дисках брать будешь? AppDB? Как будешь определять что за игра? Какая версия? Если игра не оригинальная, то откуда будешь брать информацию? Кто и куда будет «забивать» информацию о необходимых компонентах?

Лучшее решение - PoL. В ней всё так и есть. Всё гибко и красиво. Для чистоты установки требуются лицензионные диски. Последние патчи, новый префикс, компоненты - всё есть.

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

>Для чистоты установки требуются лицензионные диски.

И какой псих nocd хранит у себя? Или ты предлагаешь искать в рашке оригинальные диски?

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

Я предлагаю не связываться с linux если канал меньше 1мбпс. А с таким каналом можно позволить выкачивать оригинальные диски с торрентов. Или, наверно, лучше покупать лицензионные английские версии?
Впрочем, не важно. Важно что через вайн всегда легче и лучше запускать лицензионные версии, а потом накладывать на них все патчи и руссификации.
Для пираток же делать такую систему... Зачем? Никто не будет. Только за $$$.

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

Зачем nocd если есть оригинальный диск?
Да, есть старфорсы, но на их счёт кроме nocd вариантов нет, по сему и скрипты для таких версий не делают.

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

Порты сделать гораздо сложнее, чем прикрутить патченный вайн.

А для готового образа под линукс надо два человека или человека с двумя видеокартами AMD и NVidia.

linux4ever
()

Определять диск с игрой - дохлый номер. Как уже сказали, вариаций дисков чуть более, чем дофига. Лучше действительно идти по пути POL, но расширить парадигму и, скажем, тащить не скрипты по установке, а уже собранный вайн с нужными патчами (если надо) и заранее созданный префикс, если в нем требуются какие-либо изменения. Главная проблема с вайном ведь не в том, что диск не определяется и установщик не запускается, а в необходимости подчас точить вайн под конкретную игру.

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

Т.е. ты предлагаешь делать образы игр с специально скомпиленным под неё вайном и компонентами?
Два? Видеокарт, как минимум, 3. Интел ты забыл. Ещё 2 архитектуры. Ещё разные дистрибутивы.
Да и при обновлении либ нужно будет обновлять диски.
В общем, сил нужно будет потратить не мало чтобы выпустить хоть одну такую игру.
И да, хватит удалять сообщения, а то уже третий раз 404 >_<

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

>Ещё 2 архитектуры

Одна. Вайн для 32 бит только 32 битный бывает.

Интел ты забыл


Это опционально, для старых игр.

Ещё разные дистрибутивы.


LD_PRELOAD

Да и при обновлении либ нужно будет обновлять диски.


LD_PRELOAD

linux4ever
()

За автораны вообще надо руки обрывать по самую задницу.

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

Фигасе ты дал... попроще. Откуда информацию о дисках брать будешь? AppDB? Как будешь определять что за игра? Какая версия? Если игра не оригинальная, то откуда будешь брать информацию? Кто и куда будет «забивать» информацию о необходимых компонентах?


Ну смотри:
допустим, мы определили, что это за диск. Пофиг каким способом. (а я предлагаю по стуктуре каталогов. На владельцев пираток плевать.).

На основании этого, ищем допустим папку /usr/share/blabla/somegame, а оттуда запускаем последовательно скрипты preinst, установщик игры (он должен быть указан в preinst), и затем postinst, в котором все это дело патчится, изменяется реестр, и т.д.

Сейчас я пофантазирую, и посмотрю, как это может выглядеть.

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

Для линейки например могу прямо сейчас сделать патчер. Будет работать лучше чем под вендой.

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

Да, опционально, загружаем вайн, оптимизированный, пропатченный под игру.

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

Вайн - да. А вот либы, что он юзает, что юзают компоненты? А если апи либы поменяется? А если нужно будет сделать вызов ещё какой-нить функции в новой версии? Что будет? Вайн не найдёт символа в либе и всё, пипец. Вайн не сделает вызов - писец.
А интел не опционально, с ним большинство проблем.
Что прелоад?
Ты считаешь что вайн может во всех играх всё верно отображать? Фигушки. Почти в каждой есть какой-нить баг. Как ты будешь обновлять вайн на диске при обновлении вайна? Перекомпиливать с патчами? А если патчи не найдут привязок?

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

>На основании этого, ищем допустим папку
Круто. А что в этой папке? Скрипты для игры, в которых описано что ставить? Кто это будет делать? Люди? А теперь попробуй найди отличия твоей системы от PoL.

tia
()

Я скажу вещь, за которую в меня красноглазы тут начнут говняшками кидать.

Единственное, чего щас не хватает вайну - так это отдельного виндового рабочего стола. До тех пор, пока вайн в сознании пользователя будет загадочной консольной программой с набором библиотек для запуска виндовых программ, без четкого образа «что такое вайн», без четкого выделенного для виндовых приложений пространства, этот вайн обречен оставаться непонятым обычными хомячками.

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

И где ты не прав, чтобы в тебя кидаться какашками? Если в более чем половине случаев требуется копировать библиотеки и патчить вайн или программы. Тут и обсуждают решение этой проблемы если что.

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

Апи либ, которые юзает вайн. Ты предлагаешь юзать динамические либы для вайна, ведь так? Вот и получается что вайн скомпилен на диске с патчами ещё в 2002ом году, а ты запускаешь с либами, которые зарелизились в 2008-2009ом. Что ты думаешь может получиться?

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

>Честно говоря, когда речь идёт о 3D-играх, видеокарта вообще одна :)

FGLRX быстро отучивает пользователей запускать вайн.

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

Дык а толку если в твоей системе только libsomething.so.5.3 с симлинком libsomething.so, когда вайн требует libsomething.so.0.5?

tia
()

Вообще по теме — не нужно. Ну будет у нас два набора костылей, у которых разработчики на голову странные — и что?

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

Т.е. ты хочешь кидать готовые либы сразу на диск с игрой? А по зависимостям тоже? Так может сразу лучше на каждый диск кидать свой linux, специально скомпиленный для этой игры?

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