XFree86 4.0
XFree86 4.0. 1 appeared to be lacking libGLU* and its include files.
GLU - это стандартная часть нормальной установки OpenGL, которая отсутствует в XFree86 4 и может не работать со специализированными драйверами OpenGL.
XFree86 4.0.1 включает только ядро Mesa 3.3, которое во время разработки было/есть MesaGL. Direct Rendering Infrastructure (DRI) XFree86 основано на коде Mesa.
Если вам посчастливилось иметь видеокарту Nvidia, то и вы можете заинтерисоваться установкой драйверов Nvidia и выбором библиотек OpenGL (GLU, glut, Qt, страницы руководства OpenGL), поэтому посмотрите NVIDIA-OpenGL-Configuration miniHOWTO здесь:
http://www.comptechnews.com/~reaster/nvgl.txt
Проверьте также на сайте LDP.
Сделайте каталог для хранения исходных текстов quake:
mkdir q1src cd q1src unzip ../q1source.zip cd QW cp Makefile.Linux Makefile |
Отредактируйте Makefile:
Строка 30:
MAINDIR=/home//q1src (куда вы распакуете исходные тексты)
Строка 37:
MESA_DIR=/usr/src/Mesa-3.3 или то, куда вы положите исходный код Mesa
Строки 43 и 46:
Вам может понадобится удалить все оптимизирующие флаги компилятора, чтобы получить стабильный бинарный код. Вы можете поэкспериментировать с ними. Например, творились странные вещи, когда открывались PAK-файлы с включенной оптимизацией: программа говорила, что имеются миллионы файлов в id1/pak0.pak!
Я удалил все флаги RELEASE_CFLAGS:
-O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -malign-loops=2 -malign-jumps=2 -malign-functions=2 |
Однако, далее эксперименты показали, что по крайней мере при двух включенных флагах, все было в порядке:
-ffast-math -fexpensive-optimizations |
Действительно неприятный флаг кажется - -O6. Я пробовал установить -O1, но результат был тот же. Флаги -malign* также не были нужны.
Строка 50:
Добавьте: -DGL_EXT_SHARED
Это #define найдено внутри файла gl_vidlinuxglx.c, где оно условно компилирует некоторый 3DFx/glide-специфичный код #ifndef! Без этого, компилятор будет выдавать ошибку: неразрешенные внешние функции, связанная с glide/3dfx.
Удалите: -I/usr/include/glide
Измените: -L/usr/local/src/Mesa-3.0/lib на то, куда вы положили исходный код Mesa: -L/usr/src/Mesa-3.3/lib
Удалите любые ссылки на glide и исправьте путь к исходным кодам Mesa, везде, где они еще упомянуты.
Строка 73:
Содержание раздела