News | Forum | People | FAQ | Links | Search | Register | Log in
Quakespasm Engine
This engine needs its own thread.

Feedback: I like the OS X version, but I have to start it from the terminal for it to work and can't just double-click it like a traditional OS X app. I'm sure you guys already know this, either way great engine.
First | Previous | Next | Last
Two ideas, see if you can run vkquake, it's a Vulkan port of Quakespasm. I was able to install it on ubuntu 18.10 with "snap install --edge vkquake" but my drivers didn't support it.

Another option, if you launch quakespasm with the "-noglsl" command line option it reverts to fixed-function OpenGL 1.x. This will be slower but may be less likely to trigger driver bugs. 
Thank You Very Much, Ericw 
I'll look into both of those options as a possible interim solution. However, I would love to solve the underlying issue, if at all possible. Is it safe to assume that it's an Intel graphics driver problem?

I've also experienced seemingly random freezes when not playing Quake, but just e.g. reading something online, looking through pictures on my machine or working on a document in LibreOffice. And on one of the previous Ubuntu 18.04-based distros I tried out (as I wrote, I went through three of those in an attempt to solve -- or sidestep -- the issue), ioquake3 would also randomly crash. I haven't tested ioquake3 on this latest OS yet.

But the most consistent problems have been with Quakespasm. Just to be clear again, I'm not blaming the programme (as I said, it worked perfectly on my old OS), but I thought the particular issues I'm having might be something that you or someone else here would recognise and be able to say "ah, yes, that's because of an issue with X; you need to do Y". 
I Don't Know Why My Post Has That Red Symbol/emoticon 
I guess I clicked it by accident. 
If this happens outside of QS it's definitely either driver or HW problem. Intel drivers are typically pretty solid so if updating[1] to latest doesn't help, start saving for a new machine (if this is a laptop).

[1] Pretty good guide:

Also install mesa-utils (sudo apt install mesa-utils) if your GPU/driver doesn't report its name properly 
Re: Thulsa; Ericw 
Also install mesa-utils (sudo apt install mesa-utils) if your GPU/driver doesn't report its name properly

I already have mesa-utils 8.4.0-1, and as far as I can tell, the system recognises the GPU correctly -- e.g. when I run sysinfo.

Thank you for the link; I might try and update to the latest driver if I can summon the courage (I'm scared of breaking things even more).

Another option, if you launch quakespasm with the "-noglsl" command line option it reverts to fixed-function OpenGL 1.x. This will be slower but may be less likely to trigger driver bugs.

Thanks. I've tried this a few times now and so far, so good -- except that the audio kind of ... I don't know if "stutters" is the right word. Every now and again it sort of misses a beat, as if the system is under strain. I think this happened before too, but the visual glitches were much more obvious, so I didn't really focus on the audio. So far the game hasn't frozen or crashed ... yet.

start saving for a new machine

I hope it doesn't come to this.:( 
Spoke Too Soon... 
It finally started happening when running QS with "-noglsl". Now once the weird visual glitches start appearing again, they show up every time I restart QS until I reboot my computer. Rebooting makes it go away for a while. This what it looks like, by the way.

Another weird thing I've noticed is that quite often when I've pressed down the run key (mapped to "w") for a while, I suddenly stop moving, and have to release and re-press the key. Don't know if it's related, but it never happened on my old OS.

The audio thing is most noticeable when using weapons with rapid fire (i.e. the nailgun or SNG). It's as if the firing sound doesn't loop smoothly, but rather stops briefly and then restarts.

PS: Sorry for spamming this thread with my problem. Hopefully it doesn't annoy anyone. 
Is there a way to create a dedicated server on Linux with QS? Preferably without the host acting as a client as well. I'm interested in spinning up something for co-op and ideally I'd like to be capable of hosting multiple mods like AD and Quoth. I see that FTE has a binary for servers but I'd first like to see if I could get something going without QuakeWorld physics i.e. ludicrously fast bunny hopping.

I know that QSS works well for co-op but I don't want to host from my computer and I also can't host without acting as a client myself. 
About FTE Physics 
You can switch to Netquake physics in FTE with the console command sv_nqplayerphysics 1. 
Still Getting Weird Audio On Quakespasm 
I've switched to a new computer since posts #3601 and #3602, but I still get that weird stuttering audio thing that had never happened before.

The same thing happens on a third, much older computer too.

Each of these computers is running some version or derivative of Ubuntu 18.04 and has Intel integrated graphics, in case that's relevant.

You can actually already hear it the moment you start a new game in Quakespasm: the ambient sound that plays right at the beginning in the start map doesn't loop seamlessly as it should (and always used to), but instead clearly stops and then starts again. With louder sounds, e.g. during combat, it's much more noticeable. 
Tough to diagnose. I've got a few debugging things you can try:
- Try with a clean config. Make a copy of your quake directory, and delete everything except id1/pak0.pak and pak1.pak. You can launch in this gamedir with "quakespasm -basedir {directory here}"
- try the Linux binary from as well as the Ubuntu one you can install with apt. Does the issue happen on both?
- Type "condump" and upload the resulting file
- Do you get a reasonably good framerate? What does "host_maxfps 1000" then "scr_showfps 1" show? Make sure to reset "host_maxfps 72" afterwards. 
Thanks For The Response, Ericw 
<quote>Does the issue happen on both?</quote>

This is with the Linux binary downloaded from (which is what I've also done in the past when things worked properly; I don't think I've ever installed Quakespasm with apt).

I'll definitely try the things you listed and then post the results. My apologies in advance if it takes a while. 
Does the issue happen on both?

^Obviously that's what I meant to do. How embarrassing. 
Help With Improved Collision Detection For Quakespasm 
So I've added per triangle collision detection for entities (vs. bounding boxes) to my quakespasm project at home but I'm running into a peculiar collision detection issue.

My code works fine when the entity's baseline angles/origins remain 0, but not otherwise. I'm using the entities's v.origin and v.angles to construct an inverse transformation matrix. I perform my per-triangle traceline collision detection, find my hit point, and then transforming the hit point back into world space.

As stated, this works fine when the baseline is zero. If i need to do some more voodoo in my math to account for baseline angles/origins please let me know? 
That is odd. Assuming your collision detection is being done in server code, the baseline shouldn’t matter at all since that is merely used as part of the network protocol and client code. What types of collisions are you testing with this? Bullets against enemy models? 
RE: Collision Detection For Quakespasm 
Thank you for responding metlslime. I am testing bullets against enemy models. I have a modified traceline routine that iterates through all of the model's triangles looking for ray triangle intersection (terribly unoptimized, I know).

What you have helped me understand is that i don't need to worry about the baseline information. Is using the AngleVectors on the entity's v.angles call to extract the forward, right and up vectors, plus using the v.origin sufficient to build my world-to-model space matrix? Is there a better way?

The only time it does work correctly is when the model's angles are <0,0,0>, and i invert the y axis (right vector * -1) when projecting from world to model space. I don't know if this behavior pops any ideas into your head, but i thought id share.

Thanks for your help!

FYI: the collision data is built in model space during the the Mod_LoadAliasModel process. In pr_cmds.c I invoke my modified traceline routine to translate my ray origin & endpoint from world space into model space, perform my hit detection, and then transform it back from model space to world space. 
I'm really sorry it took me this long to respond.

- Try with a clean config.

With the binary downloaded from it happens with a clean config too.

- try the Linux binary from as well as the Ubuntu one you can install with apt. Does the issue happen on both?

Ok, I've installed Quakespasm via the Software Centre or whatever it's called nowadays (which I guess is the same as installing via the terminal with apt. It's called "quakespasm-beidl", though. Is that right, or did I accidentally install the wrong thing?). As far as I can tell, the problem doesn't happen with this version of Quakespasm, or at least it hasn't yet.

- Type "condump" and upload the resulting file

Should I do this for both versions of Quakespasm I now have on my computer? And where do I upload it?

- Do you get a reasonably good framerate? What does "host_maxfps 1000" then "scr_showfps 1" show?

Under both versions of Quakespasm, my framerate is initially just under 200 on the start map and then rises a little, while hovering between 200 and 300 on e1m1. Is that good? The version downloaded from seems to have a slightly higher framerate, though, for what it's worth. 
Alternate Menu Navigation Keys 
It would be nice to be able to bind my own menu navigation keys in QS. My keyboard doesn't have regular arrow keys but can send the numpad direction keys. Is this feature already present and I just don't see it? It's not super annoying to have a second keyboard shoved in the back of my desk to do Quake menu nav, but it would be nice to use my aircraft carrier Model F for everything. 
Oooh, Model F, you say? o: Gotta love dem clicky keys! ;) I'd wager some hardcore typists would pay a hefty penny for one of those keyboards. :D 
I love my Model M keyboards. 
But Yeah 
Condolences to anyone else in the same building as you when you're typing on that thing. 
where does one buy these? 
why does the Quakespasm still have that "skin is taller than 480 issue"? At number of other engines have took care of that, why can't Quakespasm? 
Quakespasm 0.93.2 Released 
An Update To QS - Spike? 
... please? 
what is the command to disable fullbright in the quakespasm engine? 
"find Bright" 
... in the console.

Posted in the vein of "give a man a fish" VS "teach a man to fish". 
got it. Thanks! 
Problems Using DSR Resolutions 
After finding much success with EZQuake and 3620x2036 DSR enabled via NVIDIA settings I notice that QuakeSpasm cannot handle the DSR resolutions well: the console rendering gets all whacked. 
Define "all whacked"
I can run it in 7680x4320 and it looks just fine.
Have you tried changing scr_conscale? (also scr_menuscale, scr_sbarscale) 
Well, this is odd: I tried to take some screenshots to show exactly how it is "all whacked" only to realize that screenshots in fact show the console and the entire screen rendered correctly. It's only on my actual screen where things look wrong.

As I started paying more attention I realized that going above the screen native resolution of 2560x1440 increases the overall "zoom level" of the screen. When using DSR resolutions, I can clearly the the bottom "status bar" dissapear and the left side of the console window falls outside the viewpoint. As the DSR resolution is increased further, so increases the amount of this "zoom" leaving out borders of the screen out from view.

Are there some other cvars involved? 
Apparently QuakeSpasm was trying to used windowed mode instead of fullscreen. 
Cl_bobcycle Causing Grey Screen 
Setting cl_bobcycle to "0" makes the screen go grey.
Found this out after a long battle to get things to work again. 
Setting cl_bobcycle to "0" makes the screen go grey.
There's a division-by-zero in the original code with cl_bobcycle 0 - "cycle = cl.time - (int)(cl.time/cl_bobcycle.value)*cl_bobcycle.value;" - whether or not it makes your game go nuts probably depends on compiler options/etc and unfortunately in the original engine it was OK but in some ports it's not.

So just set it to a really low value until the QS devs fix it. 
I think the intent was "cl_bob 0", not bobcycle 
I had an config file which works good with many engines. At some point though I only got this grey screen in quakespasm. After finding the solution I wanted to post here to help anyone experiencing the same problems. 
Yes, "cl_bob 0" is obviously the intended way to disable bobbing in the engine, but unfortunately "set cl_bobcycle to 0" is one of those items of "Quake lore" that gets passed around, which accidentally works some of the time, but which is actually wrong.

Fortunately it's an easy fix in the code: just check if it's 0 and set cycle to 0 if so: 
Dynamic Shadows 
So, I woke up at 3am, bored, and well here's this..

in r_alias.c

i just added the shade variable in GL_DrawAliasShadow

R_LightPoint (e->origin);

shade = (((lightcolor[1] + lightcolor[2] + lightcolor[3]) / 3)/128);//R00k


glColor4f(0,0,0, shade * (entalpha));//R00k: fade light based on ambientlight


GL_DrawAliasFrame (paliashdr, lerpdata); 
un-private the video fella 
Needed Features 
Hello. There are any chances to see WinQuake's software render with oldschool look/atmosphere and QuakeWorld servers support? 
Quake Qbism. 
"QuakeWorld servers"
There is no Vanilla based engines with those features, so I want to see it in QuakeSpasm. 
Its exactly the same as WinQuake even with no proper widescreen resolutions support and this port has its own bugs, so it has no sense. 
tyrquake, compared to WinQuake, can render more complex maps (BSP2 support) and has model interpolation. It also has alpha support for models and liquids, including the software renderer.

I'd say it's otherwise close to WinQuake, but it certainly has improvements. It certainly is not on the feature-level of quakespasm.

Talking of which: I noticed vkquake included QSS' support for decoupled render/physics framerates:

Looks surprisingly non-intrusive and should not alter behaviour for framerate caps up to 72. Is this something that can be considered for upstream inclusion? 
iirc the 'decoupled render/physics' is from quakespasm-spiked. And it does have limitations.
if you are on a huge map and your frames drop below 72 it starts to produce a slow-motion effect the further away from 72 you go. And on the opposite end, the higher you go over 500fps, it gets faster.
but, for the 72-500 range it works fine. And it's not the logic of the code, it also happens on othe independent physics code i have tested. 
Yeah, that's code from quakespasm-spiked.

As for problems above 500 fps - well, capping it at (pulling a number out of thing air) 300 fps would still enable a match for all modern display devices, so that's the easy case.

Slowmo below 72 fps, of course, is a problem. I wonder if the engine could detect that and switch dynamically as per situation. 
Basically, grab the current fps value, if its < 72 then turn off the independent physics code, and let the engine run like normal. 
same for > 500 too. 
You could also run multiple physics frames of the renderer is running slow. 
2 posts not shown on this page because they were spam
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2020 John Fitzgibbons. All posts are copyright their respective authors.