Я запускал и нормально играл на разогнанном AthlonXP 2100+ и GeforceFX 5500.
Для запуска надо использовать WINE, в Cedega значительно тормознее. Еще я недавно попробовал старый трюк (еще 2001 года) с оптимизацией opengl, который оказывается нехило прибавляет в копилку FPS.
Итак, качаем или берем из CVS последний снапшот WINE, лезем на http://oss.sgi.com/cgi-bin/cvsweb.cgi/projects/ogl-sample/main/doc/registry/s... , тырим два файла: gl.tm и gl.spec, кладём их в wine/dlls/opengl32/specs (каталог specs придётся создать), идём в dlls/opengl32 и правим make_opengl:
$ vi make_opengl
заменяем
my $gen_thread_safe = 1;
my $ext_prefix = "func_";
my $gen_traces = 1;
на
my $gen_thread_safe = 0;
my $ext_prefix = "";
my $gen_traces = 0;
и обновляем opengl32.spec, opengl_norm.c и opengl_ext.c:
$ ./make_opengl specs 1.5
Всё, можно собирать wine. Я делаю так:
$ cd ../../
$ configure --disable-debug --disable-trace
$ make
Следующие строчки для Slackware, рпмщикам checkinstall, а любителям мусора просто make install.
$ make install prefix=~/tmp
$ cd ~/tmp
$ mkdir -p usr/local
$ mv * usr/local
$ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
$ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
$ su
$ chown -R root:root .
$ chown -R root:bin usr/local/bin
$ makepkg -l y -c n wine.tgz
$ installpkg wine.tgz
Если есть мастдайные *.ttf, то надо скопировать/сделать линк на них в ~/.wine/drive_c/windows/fonts, без этого в winecfg будут крякозяблы.
Чтобы избежать запарки с cs1.6 и activex можно скопировать из маздая 3 dll:
теперь надо запустить winecfg и добавить замещения dll native,builtin для shlwapi и shdocvw, поменять звук с ALSA на OSS (не знаю, как у других, а у меня на ALSA cs1.6 просто замораживается на старте) и сделать десктоп для желаемого разрешения (у себя в fvwm я просто подвожу заголовок окна к краю экрана, он "прилипает" и получается натуральный fullscreen).
Благодаря шаманству с opengl я получил вот такие результаты (на самопальной демке):
CS1.1
_before_
145.07 Avg
102 Min
248 Max
_after_
165.22 Avg
112 Min
285 Max
_sound_off_
180.11 Avg
122 Min
315 Max
Вот чёрт! Я нагнал тут такой пурги, прошу извинить если кто-то повёлся на это раньше времени. Просто не сразу разобрался что к чему.
Во-первых, качать надо не только gl.tm и gl.spec, а полный набор. Лучше всего с этим справится скрипт (утянутый из cvs cedega):
#!/bin/sh
mkdir specs
for ff in {,glx,wgl}enum{,ext}.spec {gl,glx,wgl}.{spec,tm} {glx,wgl}ext.spec {,enum}glu.spec
do
wget -P specs "http://oss.sgi.com/cgi-bin/cvsweb.cgi/~checkout~/projects/ogl-sample/main/doc/registry/specs/$ff"
done
Cозданный каталог specs надо потом переместить в wine/dlls/opengl32. И наконец нельзя заменять my $ext_prefix = "func_"; в make_opengl, т.к. это приводит к ошибке компиляции. Достаточно присвоить нули этим двум параметрам:
my $gen_thread_safe = 1;
my $gen_traces = 1;
Потом обязательно
$ ./make_opengl specs 1.5
ну, и компиляция.
А теперь самое интересное. Я ОФИГЕЛ когда увидел прирост фпсов. Возрадуйтесь, контр-страйщики!
CS1.1
(_BEFORE_)
145.07 Avg
102 Min
248 Max
(_AFTER_)
207.93 Avg (+43%)
149 Min (+46%)
311 Max (+25%)
CS1.6
(_BEFORE_)
69 fps
(_AFTER_)
108 fps (+56%)
CS1.4
(_MUSTDIE_)
264.52 Avg
156 Min
357 Max
(_LINUX_)
202.96 Avg (-23%)
139 Min (-10%)
293 Max (-17%)
Странно, у меня тоже 3.4.4 и всё ок. Может CFLAGS? А спеки правильно скачались? Если что, я могу кинуть их мылом. $ext_prefix = "func_" не трогал? Какой дистрибутив/ядро/карточка/дрова?
CFLAGS и взводил и не взводил(собирал вайн подправленным под твои изменения слакбилдом). Всё скачалось правильно и хорошо. ext_prefix - не трогал. Дистрибутив - каррент. ядро - 2.6.14.3 карточка - гуано(915), дрова - иксовые. Я собираю с тем, чтобы пакадж сделать и в других местах ставить :)
Имеется Counter Strike 1.5 для Linux(csds15.tgz), в папке dlls лежит файл cs_i386.so из чего я сделел заключение, что его можно запустить без wine, но как не знаю, подскажите пожалуйста.
Посмотрев все это, хорошенько подумав и пошаманив я всетаки добился своего.
знач так...
Создаем в cxoffice 5 бутылку по имени .wine (можно и другое имя, но лучше это), затем убираем ~/.wine, и вместо него ставим папку созданную кроссовером, т.е.
cp -r ~/.cxoffice/.wine ~/.wine
потом копируем вышеозначенные 3 файла из маздая, настройки для этих dll-ок уже есть(спасибо кросовкам).
терь должно запускаться,
Дальше секция для ati-ников, итак, проделав вышеописанные действия по скачке файлов спеков, затем смотрим glxinfo, обана у нас токо 1.3, а не 1.5, делаем
./make_opengl specs 1.3
дальше подредактируем файлик opengl_ext.h
И после строк:
#include <GL/gl.h>
#include <GL/glx.h>
добавим еще две:
#include <GL/glATI.h>
#include <GL/glxATI.h>
затем еще одна операция.. Добавим в файл /usr/include/GL/glext.h
B084, молодец! Теперь и ati'шники с интеловцами порадуются! Кстати, ты не пробовал wine собирать c патчами, ускоряющим Direct Draw (ddraw_over_d3d-0001.patch и paletted_texture-0001.patch)? Я собирал, но нифига не ускорилось, только тормознее стало.