LINUX.ORG.RU
решено ФорумGames

После установки OpenGL 3 не запускаются несколько старых игр


0

1

В 2007 году я нашёл Cedega 6. На нём работает NFS Underground 2, а в Wine не заработал ни разу. Играл и радовался. Сейчас кстати Cedega 6 нигде не работает из-за того что хочет Python 2.4 - но её data-файлы спокойно работают с Cedega 7. Файлы данных от пиратской Cedega 7 кстати вообще ни у кого не работают, вот я и схитрил.

Второй подвох следовал после выхода драйверов с OpenGL 3. Вот есть игра Heretic II, ещё 99-го года, спокойно работает (в 64-битной системе правда нужно вручную указать на /usr/lib32/libGL.so.1 - всё-таки тогда программисты Loki Software были неопытными и в нескольких играх допустили пару ошибок при портировании). Когда OpenGL 2 заменяется на OpenGL 3 - всё, ошибка. То же самое и с Cedega. Как решил на nVidia: зашёл на сайт, выбрал драйвер для GeForce 5. 173-я серия и мой GeForce 9800 поддерживает, при этом не поддерживая OpenGL 3. Идеально, установил и радуюсь. Как решил на ATi: а моя встроенная 3200 и так только OpenGL 2.1. Недавно сменил на 4200, которая уже полностью поддерживает OpenGL 3.3 - и снова нашёл решение. Свободные драйверы OpenGL 3 ещё очень нескоро будут поддерживать, а Heretic II ещё на Voodoo шёл.

Я конечно молодец что нашёл способы обойти проблему, но я хочу её решить. Почему игры, когда узнают что в системе OpenGL 3, не хотят запускаться? nVidia и ATi заявляли что совместимость с 2 версией сохранена. Почему только 2 игры, а не все (другие старые OpenGL-игры запускаются все, например Unreal Tournament 2004, да и если бы не запускались то такой шум бы был!)?

> В 2007 году я нашёл Cedega 6. На нём работает NFS Underground 2, а в Wine не заработал ни разу.
покормлю....
буквально на днях прошел NFS Underground 2 под вайном

> Второй подвох следовал после выхода драйверов с OpenGL 3. Вот есть игра Heretic II, ещё 99-го года, спокойно работает (в 64-битной системе правда нужно вручную указать на /usr/lib32/libGL.so.1 - всё-таки тогда программисты Loki Software были неопытными и в нескольких играх допустили пару ошибок при портировании).
небыли предсказателями . fxed

>Я конечно молодец что нашёл способы обойти проблему

[велосипеды][принципиально новый][ЧСВ]

anTaRes ★★★★ ()

Совместимость сохранена, просто на новых драйверах возвращается слишком большой список расширений и он не помещается в маленький буфер, который выделают движки q2/q3. В винде есто лечится профилями nvidia или переименование исполняемого файла игры в quake3.exe

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

Вооот. Спасибо, ставлю статус Решено. Потому что Heretic II при запуске выдаёт ошибку именно при выводе списка расширений, недописывая их до конца.

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

Так чего сделал? В линухе тоже работает суперхак с переименованием исполняемого файла ? :)

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

маленький буфер, который выделают движки q2/q3

Угу. Вот кусок из виндового atiogl.xml.

	<!-- Quake 2 -->
	<profile exename="quake2.exe">
		<maxExtensionsStringLength>3900</maxExtensionsStringLength>
	</profile>

	<!-- Quake 3 -->
	<profile exename="quake3.exe">
		<OpenGLCaps>0x00008000</OpenGLCaps>
		<OpenGLCapsEx>0x00000020</OpenGLCapsEx>
		<OpenGLCapsEx2>0x00020000</OpenGLCapsEx2>
	</profile>

Может пригодится, если в fglrx такой же механизим (не в курсе).

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

Я ничего не сделал. Пока я экспериментирую с открытым драйвером у меня всё работает. А когда верну закрытый буду играть из SDL.

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

> просто на новых драйверах возвращается слишком большой список расширений и он не помещается в маленький буфер, который выделают движки q2/q3.
> Может пригодится, если в fglrx такой же механизим (не в курсе).

в вайне есть возможность отключать расширения OpenGL, тоже не в курсе как именно оно работает, нада пробовать

HKCU
|
+-Software
   |
   +-Wine
      |
      ...
      |
      +-OpenGL
      |  |
      |  +->DisabledExtensions
      |      [Space separated list of OpenGL extensions that are not reported to applications.
      |       Example: "GL_ARB_vertex_buffer_object GL_ATI_fragment_shader".]
      |
      ...

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

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

ZenitharChampion ★★★★★ ()

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

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

>that are not reported to applications
хзхз

например смотреть diff старого и нового glxinfo и вписать туда (причем неизвестно будет ли это работать в цедеге)
есть жеж PlayOnLinux (q4wine) + appdb.winehq.org - вполне заменяет цедегу

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

Я сам себе PlayOnLinux, потому что занимаюсь этим давно, и если игра не запустилась у меня. значит она не запускается в Wine ни у кого. Насчёт diff - думаю бесполезно, ну да ладно. И правда что ли бинарник в quake3.exe переименовать...

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