#1 2021-10-23 19:08:31

triple_agent
Member

Linux options

For all the Linux enthusiasts out there, wanting to play 'Quake' - for the sourceport of choice, there is hardly any other sensible way, than to choose the sourceports, that support the 'Vulkan' technology. Currently, to my awareness, there is only one such sourceport, meeting the criterion; it is vkQuake.

Last edited by triple_agent (2021-10-23 19:11:15)

#2 2021-10-23 21:00:11

Spirit
Administrator

Re: Linux options

FTE did it first (i guess): https://fte.triptohell.info/

QuakeForge has a vulkan renderer too http://www.quakeforge.net/ (https://github.com/quakeforge/quakeforge)

#3 2021-11-04 05:42:51

triple_agent
Member

Re: Linux options

Good call, 'Spirit'!

Anyway, "vkQuake" releases after version "1.10.0-beta3", tend to crash on me pretty bad - I suspect this could be something with the "Wayland" support; should check with the basic "X11".

I have other problems with "Quakespasm" mainline; some levels that loaded perfectly fine in the "0.93.2", after transition attempt to the "0.94.2", throw an error.

EDIT:

Tried with the "FTE", version "6082". It fails to boot. Damn, hard to tell that things just work.

Last edited by triple_agent (2021-11-04 07:18:19)

#4 2021-12-01 03:13:04

triple_agent
Member

Re: Linux options

Greenwood wrote:

Thank you for reporting that issue regarding zigi's map. It appears to only affect those playing with updated QSS and vkQuake ports that support the new Kex episode. For example, everything regarding that map appears to work just fine in the older vkQuake 1.05.1 edition.

Quote reference link

Ever since the open-source engine developers tried to adopt the 'Quake' 2021 re-release compatibility, things started to screw up around, at least in my view; to a degree where I think they should establish a parallel line of development - "Quakespasm" iteration of relevant sort with 'Quake' re-release compatibility and simultaneously, similar edition without the re-release compatibility. There seem to be few improvements in the current engine version that are independent of the re-release case.

Last edited by triple_agent (2021-12-01 03:14:37)

#5 2022-01-25 02:12:44

triple_agent
Member

Re: Linux options

Mainline "Quakespasm" should work fine on Linux or Ubuntu, if the VSync issue was fixed. Without the VSync option properly enabled, screen tearing is the obstacle. I speak of exemplary "Quakespasm" version "0.94.3" and Ubuntu version "20.04.3 LTS".

I do know that some workaround is to change the "host_maxfps" c-var to match the screen refresh rate, but I find it imperfect solution.

Last edited by triple_agent (2022-01-25 02:13:08)

#6 2022-02-16 10:33:52

Lysander
Member

Re: Linux options

triple_agent wrote:

Mainline "Quakespasm" should work fine on Linux or Ubuntu, if the VSync issue was fixed. Without the VSync option properly enabled, screen tearing is the obstacle. I speak of exemplary "Quakespasm" version "0.94.3" and Ubuntu version "20.04.3 LTS".

I do know that some workaround is to change the "host_maxfps" c-var to match the screen refresh rate, but I find it imperfect solution.

I run Quakespasm [latest version, 0.94.3] on Ubuntu 20.04.3 and also on Debian Bullseye. Quakespasm is by far the best engine for me in Linux. I haven't had any problems with maps failing to load, artifacts or rendering.

I don't personally see the need for Vulkan support since I choose a display mode which is more old school. I use a gltexture mode which makes things a little more pixellated. I don't like the more "smoothed-over" look, I want Quake to look like Quake, even at 1920x1080.

Last edited by Lysander (2022-02-16 10:34:38)

#7 2022-02-16 14:31:37

triple_agent
Member

Re: Linux options

@'Lysander', regarding your question about 'Linux' distro that I use - put in another topic - I use the 'Linux' go-to, which is just 'Ubuntu'. When it comes to 'Debian', I like the logo but if you pay close enough attention, this is not exactly the 'Debian' logo my avatar features.

For 32-bit games only, I use downloadable 'Steam' runtime.

Going back to the topic: ever since some latest 'Ubuntu' update, the 'vkQuake' version "1.12.2" works just fine for me. When it comes to 'Vulkan', there is a thing for it in the Linux world, as you must know.

Last edited by triple_agent (2022-02-16 14:34:38)

#8 2022-09-18 22:22:00

triple_agent
Member

Re: Linux options

Having spoken of the possible VSync issues in regular 'Quakespasm' on 'Ubuntu' ["vertical sync not supported (SDL_GL_GetSwapInterval failed)"], I observed that an attempt to initiate the VSync - which the engine forces disabled, at least in my case - synchronizes the FPS on point, as if the VSync has become active. To avoid going through the menu drill each time one launches the engine, the VSync initiation trigger could be bound to a key, using autoexec entry: "vid_vsync 1; vid_restart;".

#9 2022-12-31 10:35:04

aaron
Guest

Re: Linux options

triple_agent wrote:

Having spoken of the possible VSync issues in regular 'Quakespasm' on 'Ubuntu' ["vertical sync not supported (SDL_GL_GetSwapInterval failed)"], I observed that an attempt to initiate the VSync - which the engine forces disabled, at least in my case - synchronizes the FPS on point, as if the VSync has become active. To avoid going through the menu drill each time one launches the engine, the VSync initiation trigger could be bound to a key, using autoexec entry: "vid_vsync 1; vid_restart;".

Do you know of a way to automatize this process? I am having the same issue

#10 2022-12-31 11:27:14

triple_agent
Member

Re: Linux options

Unfortunately I do not, @aaron.

#11 2022-12-31 11:33:26

Spirit
Administrator

Re: Linux options

#12 2023-01-01 16:45:44

aaron
Guest

Re: Linux options

triple_agent wrote:

Unfortunately I do not, @aaron.

Well I managed to find a way to automatize this, though its not particularly elegant, nor does it actually fix the issue. You can simply run sed to replace vid_vsync in config.cfg each time before running Quake:

cd id1 && sed -i 's/vid_vsync\ "0"/vid_vsync\ "1"/' config.cfg && cd .. && ./quake

./quake is just the quakespasm binary. It'll do the job with no keybinds necessary

#13 2023-01-01 17:41:08

triple_agent
Member

Re: Linux options

Excellent, it cuts it perfectly, well done. Way beyond my level of competence.

I created an 'quake.sh' file and within, pasted your line, changing the './quake' instance with './quakespasm-sdl2', then followed with other arguments, such as 'heapsize' or else to launch a custom map.

Thanks again.

#14 2023-01-01 19:16:53

triple_agent
Member

Re: Linux options

Actually, I have run into a small issue with custom 'game' argument, such as in the following line, building upon your solution from the last instance:

./quakespasm-sdl2 -heapsize X -game X +map X

The issue seems to stem from the fact that the folder in which the 'config.cfg' file is being modified for 'vid_vsync', is the 'id1' folder, as indicated in your entry:

cd id1 && sed

while with 'game' argument, the working folder shifts to another. Therefore, one more correction needs to be added, namely to change the folder name from 'id1' to a chosen map/mod name after your initial 'cd', such as in:

cd X && sed

All things put together, that makes it a bit convoluted for me at least, I guess, to change as many arguments every time to properly launch custom content, but I never learned or verily tried to use the 'Quake Injector', although perhaps you should opt to adjust your solution for that tool.

Last edited by triple_agent (2023-01-01 19:33:50)

#15 2023-01-01 19:56:19

aaron
Guest

Re: Linux options

triple_agent wrote:

Actually, I have run into a small issue with custom 'game' argument, such as in the following line, building upon your solution from the last instance:

./quakespasm-sdl2 -heapsize X -game X +map X

The issue seems to stem from the fact that the folder in which the 'config.cfg' file is being modified for 'vid_vsync', is the 'id1' folder, as indicated in your entry:

cd id1 && sed

while with 'game' argument, the working folder shifts to another. Therefore, one more correction needs to be added, namely to change the folder name from 'id1' to a chosen map/mod name after your initial 'cd', such as in:

cd X && sed

All things put together, that makes it a bit convoluted for me at least, I guess, to change as many arguments every time to properly launch custom content, but I never learned or verily tried to use the 'Quake Injector', although perhaps you should opt to adjust your solution for that tool.

Here's an improved version of the script, so its compatible with other directories:

cd $1 && sed -i 's/vid_vsync "0"/vid_vsync "1"/' config.cfg
cd ..
./quakespasm-sdl2 +game "$1"

where $1 would be the name of directory you want to play, specified when running (not in the script itself). So, to run base game, add this to some .sh file and go

./quake.sh id1

To run a mission pack or a mod, change the argument to the desired directory:

./quake.sh rogue

I don't have a custom map or anything beyond base game and mission packs, so I don't know if this breaks with other arguments to the Quake binary (like heapsize), but I don't think it should.

#16 2023-01-01 20:04:00

aaron
Guest

Re: Linux options

And yeah this is getting kinda convoluted but its just a quick fix, I hope the above solution will be sufficient ¯\_(ツ)_/¯

#17 2023-01-01 20:26:30

triple_agent
Member

Re: Linux options

I do not really know how to test the thing in a competent manner, so as to make it easy enough for me to potentially use at the same time, but I do not want to be ungrateful for your help and support here. You have a lot of Linux knowledge but 'Quake' - basing on what I observe here around this place - is quite tough to deal with on the engineering side. Your solution seems like it could click on some further level of complexity, which in my belief, may not really be worth of the effort to pursue, if the intent is not to overdo stuff.

Last edited by triple_agent (2023-01-01 20:28:32)

#18 2023-01-02 12:00:23

Spirit
Administrator

Re: Linux options

Have you tried

/quakespasm-sdl2 ... +vid_vsync 1 +vid_restart

?

#19 2023-01-02 17:51:37

triple_agent
Member

Re: Linux options

Looks like you nailed it, @Spirit. I tried something alike time back, but I must have done something wrong, so it did not work for me. Good to probably pay attention whether one does use '-' or '+' symbol.

For the 'sed' method, a thing needs to be acknowledged, namely that in order for the "config.cfg" to be modified, it must exist, which means that first time running maps - stored in separate folders - may not click instantly.

With the problem solved - not really, the root problem seems a non-trivial systemic issue - I would like to point out in some games, the visual clearance is part of the gameplay loop, popular mostly in the post-apocalyptic genre.

Last edited by triple_agent (2023-01-02 17:54:18)

#20 2023-01-02 18:47:34

Spirit
Administrator

Re: Linux options

Sweet!

"-" is for commandline parameters, "+" is for telling the engine to "do Quake console stuff".

#21 2023-01-11 17:21:33

Spoike
Guest

Re: Linux options

stuff like this is why q2 has +set as special (forcing it 3 times over), while not doing stupid stuff like ramming malicious vid_restart commands inside config.cfg before quake.rc's 'stufftext' command that handles the commandline args.

Board footer