Idea to get better performance on slow processors
I've made some testing to see if is possible to render the scene with resolutions below 320x200, with corrected aspect ratio. The main idea is to reduce the number of pixels to copy from the backbuffer to the VRAM, in the same way Doom renders with Low detail (and FastDoom potato detail). VGA Mode Y allows to render two or four contiguous pixels with a single byte written to VRAM and it pretty much doubles or quadruples the framerate in most cases (low detail has a bit of extra cost since it's needed to change the plane to render via OUTP instructions).
Setting the resolution to 160x200 runs fine with good aspect ratio and the game is still very playable, but the game crashes whenever the HUD or the menu is presented. The 80x200 resolution crashes directly, no image is rendered at all (maybe something related to the same problem?).
The Quake code is very complex for my tiny brain, I hope this idea could be implemented without much trouble.

out of curiousity, does setting d_subdiv16 0 change anything as far as the crashing goes?
The d_subdiv16 didn't make any difference, but I was able to reduce the crashes by disabling the main menu drawing. And still have some crashes when the game tries to show some text in the screen or the hud itself. I guess the code isn't designed to handle resolutions lower than 320x200, that's why it crashes.
Is there any variable that allows render the scene with half or quad horizontal resolution?
there is not, but i'll investigate this after i'm finished with my current round of changes and made another release. it seems like a good way to reduce the rather dramatic effect that video bandwidth has on lower-spec systems.
Back when Engoo could compile for dos and before it ventured into graphical featurecreep madness (~2010), I also tried to explore speeding it up on a 486 (in non-ASM ways). Using the D_WarpScreen function as a base to render lower was my only way into that idea with meaningful results. Half-Life does similar for the software renderer whenever a screen fade or fog's done (underwater) since it's faster than doing an entire read of the screen buffer to perform a color blend while you have a little 320x200 warpbuffer to kick around.
I also considered using the obscure lcd_x rendering functions to make low detail modes, but this wasn't faster and also disturbed the aspect of the particles too much.
Reducing vertical resolution rather then horizontal resoltion should help more with Quake, due to the scanline rendering. So it is probably best to keep the full-size status bar.
Maybe it is easily possible to add some empty black horizontal bar at the top of the screen where nothing is rendered ?