According to various sources, X doesn't have vsync which is why ZDoom doesn't implement it. Quite a shame since the high frame rate is what's causing the stuttering problem you described. The only option you have is to turn on cl_capfps and limit it to 35fps. I've thought about adding an arbitrary frame rate limit for this reason since it seems to me if I set it to 75 the stuttering disappears (even if it's not guaranteed to be synchronised).Xranger60 wrote:FPS, (whether with Vsync on or off), is in the hundreds.
The official "ZDoom on Linux" thread.
Moderators: GZDoom Developers, Raze Developers
Forum rules
Please don't start threads here asking for help. This forum is not for requesting guides, only for posting them. If you need help, the Editing forum is for you.
Please don't start threads here asking for help. This forum is not for requesting guides, only for posting them. If you need help, the Editing forum is for you.
-
-
- Posts: 3144
- Joined: Wed Nov 24, 2004 12:59 pm
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
- Contact:
Re: The official "ZDoom on Linux" thread.
Re: The official "ZDoom on Linux" thread.
Arbitrary frame-rate limiting would certainly be nice for Windows users too, since it limits CPU usage without the nasty input lag that vsync has on some systems.Blzut3 wrote:According to various sources, X doesn't have vsync which is why ZDoom doesn't implement it. Quite a shame since the high frame rate is what's causing the stuttering problem you described. The only option you have is to turn on cl_capfps and limit it to 35fps. I've thought about adding an arbitrary frame rate limit for this reason since it seems to me if I set it to 75 the stuttering disappears (even if it's not guaranteed to be synchronised).Xranger60 wrote:FPS, (whether with Vsync on or off), is in the hundreds.
- Remmirath
- Posts: 2561
- Joined: Sun Dec 23, 2007 3:53 am
- Graphics Processor: nVidia with Vulkan support
- Location: My house
- Contact:
Re: The official "ZDoom on Linux" thread.
I've successfully compiled ZDoom r3003 on Fedora Core 11. But upon starting a new game from the main menu, it crashes with the following error:
I have no idea what could be causing this. Any suggestion would be appreciated.
I've included the full crash log here:
Code: Select all
*** Fatal Error ***
Illegal operand (signal 4)
Address: 0x859485b
I've included the full crash log here:
-
- Posts: 1774
- Joined: Sat Oct 17, 2009 9:40 am
Re: The official "ZDoom on Linux" thread.
Hmm, I've found something funny about zdoom compiling. Do these steps in the terminal (WARNING: this will fill your terminal with warnings!):
1) clean the "debug" directory
2)cmake -DCMAKE_BUILD_TYPE=Debug ..
3)compile like this: make --warn-undefined-variables
Your terminal will be full of warnings about missing variables, like 'COLORS' and 'VERBOSE'. What causes them?
1) clean the "debug" directory
2)cmake -DCMAKE_BUILD_TYPE=Debug ..
3)compile like this: make --warn-undefined-variables
Your terminal will be full of warnings about missing variables, like 'COLORS' and 'VERBOSE'. What causes them?
- Chris
- Posts: 2940
- Joined: Thu Jul 17, 2003 12:07 am
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
Re: The official "ZDoom on Linux" thread.
Those variables are likely from the makefile itself (as generated by cmake), not ZDoom's code. It's probably not anything you need to worry about, though, or else make would be more verbose about it by default.
Re: The official "ZDoom on Linux" thread.
I've followed the wiki article on how to compile on Linux, and I've had a couple issues.
Please go easy on me, because this has been my first attempt to compile an app. This is for Debian Linux (testing = squeeze).
FYI - I moved the extracted 'fmodapi' folder into 'trunk', instead of installing.
The problems:
- After changing to the newly created 'release' directory, I ran "cmake -DCMAKE_BUILD_TYPE=Release", but I received a message saying that no CMakeFiles.txt was found. I then changed back to the trunk directory, and ran make from there (where CMakeFiles.txt was located).
- When compiling, I received an error that it could not find Bzip2 (it used internal), or FluidSynth (which I don't need/want).
- After it finished compiling, and the zdoom binary ended up in the 'trunk' directory (instead of 'release'), I found that no BGM was present (only SFX).
Please go easy on me, because this has been my first attempt to compile an app. This is for Debian Linux (testing = squeeze).
FYI - I moved the extracted 'fmodapi' folder into 'trunk', instead of installing.
The problems:
- After changing to the newly created 'release' directory, I ran "cmake -DCMAKE_BUILD_TYPE=Release", but I received a message saying that no CMakeFiles.txt was found. I then changed back to the trunk directory, and ran make from there (where CMakeFiles.txt was located).
- When compiling, I received an error that it could not find Bzip2 (it used internal), or FluidSynth (which I don't need/want).
- After it finished compiling, and the zdoom binary ended up in the 'trunk' directory (instead of 'release'), I found that no BGM was present (only SFX).
-
- Posts: 1774
- Joined: Sat Oct 17, 2009 9:40 am
Re: The official "ZDoom on Linux" thread.
- Just for information: did you do "cd release" after creating it and do "cmake -DCMAKE_BUILD_TYPE=Release" ? If you did that, I don't know what happened, because it works for me.
- another information: did you do this before doing "cmake" etc things?
-About the third point, I have the same problem as you if I use "fmod" sound option. I had to install timidity and fluidsynth (actually you can also install one of them).
- another information: did you do this before doing "cmake" etc things?
Code: Select all
sudo apt-get install build-essential zlib1g-dev libsdl1.2-dev libjpeg62-dev nasm tar bzip2 libgtk2.0-dev cmake
- Chris
- Posts: 2940
- Joined: Thu Jul 17, 2003 12:07 am
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
Re: The official "ZDoom on Linux" thread.
That should be "cmake .. -DCMAKE_BUILD_TYPE=Release". The .. tells CMake to look the the parent directory for CMakeLists.txt, otherwise it will look in the current directory where it doesn't exist.Edward-san wrote:- Just for information: did you do "cd release" after creating it and do "cmake -DCMAKE_BUILD_TYPE=Release" ? If you did that, I don't know what happened, because it works for me.
-
- Posts: 1774
- Joined: Sat Oct 17, 2009 9:40 am
Re: The official "ZDoom on Linux" thread.
Yeah, those double dots. I forgot to mention them. That should do the trick.Chris wrote:That should be "cmake .. -DCMAKE_BUILD_TYPE=Release". The .. tells CMake to look the the parent directory for CMakeLists.txt, otherwise it will look in the current directory where it doesn't exist.Edward-san wrote:- Just for information: did you do "cd release" after creating it and do "cmake -DCMAKE_BUILD_TYPE=Release" ? If you did that, I don't know what happened, because it works for me.
Re: The official "ZDoom on Linux" thread.
Yes. That's the reason I found it strange it could not find the bzip2.Edward-san wrote:- another information: did you do this before doing "cmake" etc things?Code: Select all
sudo apt-get install build-essential zlib1g-dev libsdl1.2-dev libjpeg62-dev nasm tar bzip2 libgtk2.0-dev cmake
Okay, cool.Chris wrote:That should be "cmake .. -DCMAKE_BUILD_TYPE=Release". The .. tells CMake to look the the parent directory for CMakeLists.txt, otherwise it will look in the current directory where it doesn't exist.
About this... I followed the wiki's recommendation on the basis I might be recompiling new versions all the time. Should I just directly install Fmod Ex, and does anyone know if the version linked to (in the wiki) is still current? Maybe there's a version incompatibility? I really need direct hardware acceleration, and rather not rely on Timidity/Fluidsynth.Edward-san wrote:-About the third point, I have the same problem as you if I use "fmod" sound option. I had to install timidity and fluidsynth (actually you can also install one of them).
- Chris
- Posts: 2940
- Joined: Thu Jul 17, 2003 12:07 am
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
Re: The official "ZDoom on Linux" thread.
I would recommend getting the version recommended in the wiki directly from FMOD's site, and extracting it into the fmod/ sub-directory of ZDoom's directory (so you get, eg, zdoom/fmod/api/lib/libfmodex*.so). That will prevent accidental breakage in case something updates it to an incompatible version.Should I just directly install Fmod Ex, and does anyone know if the version linked to (in the wiki) is still current?
I don't think FMOD uses hardware MIDI. A quick peek at its output_alsa.so doesn't seem to show it using any of the sequencer functions, at least. ZDoom also won't use acceleration for 3D sound because it specifically requests software mixing (though even if it didnt, Linux audio APIs don't expose the necessary controls to do hardware 3D audio).Virii wrote:I really need direct hardware acceleration, and rather not rely on Timidity/Fluidsynth.
Re: The official "ZDoom on Linux" thread.
Okay, so I missed the '..' in my first attempt. The second time I 'installed' FmodEx, and used this command (via the wiki) prior to building.
There were many error messages I saw on screen when compiling, but nothing relating to Fmod as far as I could tell. When I loaded up zdoom, there wasn't any sound. I changed the sound engine in the options to OPL emulation, and surprisingly, that worked.cmake -DCMAKE_BUILD_TYPE=Release -DFMOD_LIBRARY=/usr/local/lib/libfmodex-4.26.31.so -DFMOD_INCLUDE_DIR=/usr/local/include/fmodex/ ..
What zdoom directory are you referring to? I have it compiling in 'root/trunk/release'. When I run the instructions from the wiki, the console output asks for the location of the pre-compiled fmod libs.Chris wrote:I would recommend getting the version recommended in the wiki directly from FMOD's site, and extracting it into the fmod/ sub-directory of ZDoom's directory (so you get, eg, zdoom/fmod/api/lib/libfmodex*.so). That will prevent accidental breakage in case something updates it to an incompatible version.
I'm not quite sure what the equivalent would be, but per Windows I meant DMA (direct memory access). ZDoom doesn't have a setting for using sound cards in that manner, and only uses software rendered sound/bgm?Chris wrote:I don't think FMOD uses hardware MIDI. A quick peek at its output_alsa.so doesn't seem to show it using any of the sequencer functions, at least. ZDoom also won't use acceleration for 3D sound because it specifically requests software mixing (though even if it didnt, Linux audio APIs don't expose the necessary controls to do hardware 3D audio).
Re: The official "ZDoom on Linux" thread.
The [wiki]FMOD Ex[/wiki] article should explain all that.Virii wrote:About this... I followed the wiki's recommendation on the basis I might be recompiling new versions all the time. Should I just directly install Fmod Ex, and does anyone know if the version linked to (in the wiki) is still current? Maybe there's a version incompatibility?
FMOD Ex does not actually use hardware acceleration for sound rendering. It's entirely software-driven.Virii wrote:I really need direct hardware acceleration, and rather not rely on Timidity/Fluidsynth.
- Chris
- Posts: 2940
- Joined: Thu Jul 17, 2003 12:07 am
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
Re: The official "ZDoom on Linux" thread.
The same directory where CMakeLists.txt is, would be where to make the fmod/ directory.Virii wrote:What zdoom directory are you referring to? I have it compiling in 'root/trunk/release'. When I run the instructions from the wiki, the console output asks for the location of the pre-compiled fmod libs.
DMA would be completely up to the drivers/system config/etc. It doesn't have much to do with software or hardware mixing, though.. it just specifies how the card's memory is accessed. FMOD does its own mixing of sound and MIDI, then has ALSA or something write it to the card to play. How it's written to the card depends on your system.I'm not quite sure what the equivalent would be, but per Windows I meant DMA (direct memory access). ZDoom doesn't have a setting for using sound cards in that manner, and only uses software rendered sound/bgm?
Re: The official "ZDoom on Linux" thread.
It [wiki=Sound_options#Output_system]can be modified[/wiki], though.Chris wrote:FMOD does its own mixing of sound and MIDI, then has ALSA or something write it to the card to play. How it's written to the card depends on your system.