Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| lokigames:quake1 [2025/11/12 09:05] – créée twolife | lokigames:quake1 [2025/11/12 13:29] (Version actuelle) – twolife | ||
|---|---|---|---|
| Ligne 10: | Ligne 10: | ||
| {{: | {{: | ||
| - | On the CD you will find 5 versions of Quake for Linux: | + | ===== Versions ===== |
| + | |||
| + | On the CD you will find 2 sets (one for libc5 based systems, the other one for glibc2/ | ||
| * SVGALib Quake (squake) -- Software rendering, runs on the Linux text console. | * SVGALib Quake (squake) -- Software rendering, runs on the Linux text console. | ||
| * GLQuake (glquake, glquake.glx and glquake.3dfxgl) -- hardware rendering that runs using hardware 3D acceleration. | * GLQuake (glquake, glquake.glx and glquake.3dfxgl) -- hardware rendering that runs using hardware 3D acceleration. | ||
| * X11 Quake (quake.x11) -- Software rendering in a window under X11. | * X11 Quake (quake.x11) -- Software rendering in a window under X11. | ||
| + | |||
| + | SVGALib is long dead. This was a library that allowed programs to change video mode and display full-screen graphics, without the use of a windowing system. | ||
| + | |||
| + | The binaries " | ||
| + | |||
| + | This leave us " | ||
| + | |||
| + | ===== Sound ===== | ||
| + | This port is antique, it predates SDL and does everything by himself to handle sound & keyboard/ | ||
| + | |||
| + | The real pain point is how it uses the original sound system for Linux, OSS. | ||
| + | You would think that it's not a big dead, because you already use '' | ||
| + | |||
| + | But unfortunately, | ||
| + | So we need to use the use the ALSA provided OSS emulation in the kernel: | ||
| + | |||
| + | < | ||
| + | # systemctl stop osspd | ||
| + | # modprobe snd-pcm-oss | ||
| + | # echo ' | ||
| + | # echo ' | ||
| + | </ | ||
| + | |||
| + | X11 Quake should now start: | ||
| + | < | ||
| + | ./quake.x11 -mem 24 -width 1024 -height 768 | ||
| + | </ | ||
| + | |||
| + | ===== GLQuake ===== | ||
| + | To run GLQuake, you need to create a symlink " | ||
| + | < | ||
| + | ln -s / | ||
| + | </ | ||
| + | |||
| + | If you try to run GLQuake now, it will crash, and the last line on the console will be: | ||
| + | < | ||
| + | Error: memory overwrite in Sys_Printf | ||
| + | </ | ||
| + | |||
| + | The game wants to store a list of OpenGL extensions available in your graphic driver. What's happening is that the buffer with the extensions is too large for the ??? bytes allocated by the game. To prevent your graphics driver to expose an outrageously long list of OpenGL extensions, we will export one of those env variable to pretend we lives in the past: | ||
| + | < | ||
| + | export MESA_EXTENSION_MAX_YEAR=1999 | ||
| + | export __GL_ExtensionStringVersion=4400 # Nvidia | ||
| + | </ | ||
| + | |||
| + | You are all set now, let's play GLQuake: | ||
| + | < | ||
| + | LD_LIBRARY_PATH=$(pwd) ./ | ||
| + | </ | ||