Jump to content
The Dark Mod Forums


  • Posts

  • Joined

  • Last visited

  • Days Won


Posts posted by Hiradur

  1. I think I tried both setting no value and hrtf = auto in alsoft.ini, but it did not enable HRTF for me with headphones plugged in.

    Are your headphones recognized as such in the OS?


    Yes, but with only two speakers you are anyway doomed to have weird 3D sound, don't you?

    Not necessarily. Positional audio on 2 speakers can be quite good. It is important to have the speakers set up a in an equi-distant stereo triangle though. HRTF over speakers sounds wrong and negatively impacts positional audio as far as my experience goes.


    Wow, I have to say dataset 1037 works amazingly well for me. Better than my actual surround speakers.

    If you have a set of surround speakers you should enable ambisonics processing in OAL Soft, set the proper decoder (speaker layout) and use hq-mode if possible. It's supposed to give very good surround sound over speakers. I heard it once and was impressed. But note that speaker placement is important here. Although there is an option to configure speaker positions manually I would try to stick to the "standard" for 5.1 (see 5.1 preset). This should give the best compability with other audio engines as well as movies and so on. That is unless you only use your speaker set for gaming, using a more balanced layout such as 4.0 quadraphonic may yield better results then.

    If you have a 7.1 system you could even try the 3D7.1 speaker for an improved sensation of height.


    It's best to refer to the documentation if you want to dive into the topic: https://github.com/kcat/openal-soft/blob/master/docs/ambisonics.txt

    • Like 1
  2. Are there any downsides?

    Forcing HRTF causes incorrect filtering on speaker setups. Recent OpenAL Soft versions autodetect if headphones or speakers are used and turn on HRTF automatically. I think the autodetection only works if your audio jack is clearly labeled as a headphone jack in the OS (e.g. front outputs of onboard audio).


    Wow, that's quite the misleading generalization there.

    I was talking about audio playback but reading over the sentence again I could definitely have expressed it in a better way. I edited the above post to make it a bit more clear.
    • Like 1
  3. Sword stuck when trying to hit a rat and freezed in a position prepared to swing. Changing to different weapon or sheathing the sword did not help.

    Neither does getting hit or climbing something. Only by dying.

    Minor bug but interesting.

    I can reproduce this when swinging the sword a dozen times in the Training Mission.


    Do displays with non-square pixels still exist?

    I don't know.


    Found another sound that should be mono instead of stereo for proper positional audio: tdm_sound_vocals04.pk4/sound/voices/generic/sniff01.wav

    • Like 1
  4. Since r_fovRatio is 0 by default and r_aspectRatio only has a limited amount of aspect ratios available it's still necessary to set r_fovRatio manually on screens with aspect ratios which are not present in r_aspectRatio.

    I wonder if a better approach would be to always default to the native monitor resolution in fullscreen mode and calculate r_fovRatio based on that resolution assuming square pixels. Of course it should still be possible to force specific resolutions and aspect ratios. Always defaulting to the native resolution would be nice for laptop users who connect their device to monitors/TVs with different resolutions frequently.

  5. You can set any res you want in the cfg file or in console.


    seta r_customHeight

    seta r_customWidth

    seta r_aspectRatio

    The correct way to set the aspect ratio on ultrawides should be r_fovRatio:


    "r_fovRatio" is:"0" default:"0"

    Aspect ratio of view, if set to greater than 0, determines the ratio between FOV for x and y directly, and r_aspectRatio is ignored. The value should closely match r_customWidth / r_customHeight.

    Because r_aspectRatio only allows certain classes:


    "r_aspectRatio" is:"1" default:"0"

    Aspect ratio of view, determines the ratio between FOV for x and y. Only used if r_fovRatio is 0:

    0 = 4:3

    1 = 16:9

    2 = 16:10

    3 = 5:4

    4 = 16:9 TV

  6. Two more issues I noticed, although they are probably not 2.06 specific and might have been mentioned before:


    - lack of support for ultrawide aspect ratios and resolutions, at least the following resolutions should be added:

    * 21:9 (actual aspect ratio is 64:27) resolutions: 2560x1080 3440x1440 5120x2160

    * 24:10 resolutions: 3840x1600

    * 29:9 resolutions: 3840x1200

    * 32:9 resolutions: 3840x1080 5120x1440

    Maybe on this occasion support for 18:9 resolutions should be added as well in case someone wants to stream to a mobile device.

    Since UHD2 monitors are available now I think 7680x4320 should be added to 16:9 as well.


    - A few sound effects are apparently in stereo and thus receive no positional treatment. Only sound effects in mono can be used for positional audio. An example is sneeze01.ogg in tdm_sound_vocals04.pk4. There are a few more but I'm unsure if it's intentional (i.e. if some machine sounds should have more of a room filling sound rather than being able to pinpoint them to their origin). However, for the sneeze sound it's important to have positional audio, right now it sounds like a sneezing guard is very close/in the same room even if he is far away.

    • Like 1
  7. r_useEntityScissors 0

    r_useInteractionScissors 0

    r_useLightScissors 0

    r_useScissor 0

    r_useShadowSurfaceScissor 0

    r_useClippedLightScissors 0

    I put these settings into autoexec.cfg and verified ingame that they are indeed all set to zero. The output of INTEL_DEBUG=perf didn't change however, it's still showing the same. Performance was notably worse with scissors turned off, ca. 25%.


    Anyway, this info is a bit too hardcore for generic discussion about "TDM 2.06 issues" :D


    Probably we should restrain ourself from talking about it here and move the question to e.g. PM.

    Yes, sorry about that. I didn't want to create a new thread but this thread isn't the best place for this either.
  8. For fun I ran the TDM 2.06 64 bit Linux release with the INTEL_DEBUG=perf environment variable set. For every rendered frame I saw this output:


    intelReadPixels: fallback to CPU mapping in PBO case

    CPU mapping a busy miptree BO stalled and took 3.813 ms.

    Failed to fast clear 1920x1080 depth because of scissors. Possible 5% performance win if avoided.

    I got this on all 3 maps I tested (Training Mission, A New Job, Volta 1). Maybe it's worth investigating (see notes below though).


    OS: Debian 9

    GPU: Intel HD Graphics 520

    Driver version: Mesa 13.0.6

    Binary: 64 bit Linux binary

    Settings: r_useFBO 1, pretty high settings, soft shadows off


    Mesa 13.0.6 is a bit dated by now so I would suggest to verify this with a newer Mesa version if possible.

    Note: TDM said that the OpenGL extension EXT_depths_bound_test wasn't found, I'm not sure if this is related to the fast clear problem or not.

    • Like 1
  9. Has this fix for incorrect EFX environment size handling already been applied?



    - In Volta 1 I noticed that with SFX Volume at maximum (s_volume_db = 0) sounds become distorted when OpenAL EFX is turned on. Setting s_volume_db = -9 fixes this but it's not ideal because I have to reset this for other missions.


    - Transitions from one EFX region to another are also noticeable, there is some kind of popping noise. This can be heard right at the start of Volta 1, a few meters from the starting point there is a border between two EFX regions (check console output to see if you moved from one region to the other) and moving between the two regions always causes a popping noise for me. Maybe it's possible to fade out the old effect and fade in the new effect to make the transition smoother or something like that.


    I'm using the 64 bit Linux build.

    • Like 1
  10. The above video was done on an Creative Xfi card, I had tried EAX previous without GW's alternative method and EAX didnt work. Although I will check again, with just native install and see how 2.04 perform's.

    Are you using Windows XP? Windows Vista killed audio acceleration which is why EAX doesn't work natively on newer Windows versions. For ALchemy it doesn't matter if you have an EAX capable card or not (assuming you use the hacked version for non Creative cards). All effects are rendered in software so it's equally bad on any card because the emulation by ALchemy is not complete.


    In this video you mentioned you want to tweak maps to sound right with ALchemy. IMO you shouldn't do that. ALchemy is notably buggy and not up to par with real EAX. For tweaking maps you should either use Windows XP with an EAX capable sound card or wait for OpenAL EFX effects. Everything else would be wasted effort because ALchemy is not a reference implementation of EAX.

  12. It's been a while since I used Creative ALchemy but I think HRTF through OpenAL Soft and EAX through ALchemy won't work together because the first one calls OpenAL and the second one calls DirectSound3D and I think one can use only one of these APIs at a time.


    How many maps (and which ones) come with definitions for EAX anyway? I'd assume it's only few because EAX was dead for so long. Without definitions EAX shouldn't do anything, the only thing that would be left would be better 3d audio due to the DirectSound3D -> OpenAL wrapper of ALchemy. OpenAL Soft's 3D audio is better though.


    That being said I'm looking forward to EFX availability on Linux and hope for more maps to make use of this great feature.

  13. Are the really no more samples other than 44k and 48k? I play at 192k.

    There aren't, but you can create some yourself with the makehrtf tool.


    Anyway, I'd like to point out here that sample rates higher than 44.1/48 kHz may have a negative impact on playback quality. I don't want to go into the details myself but I recommend reading this article: https://xiph.org/~xiphmont/demo/neil-young.html

    This article was created by the Xiph foundation, they guys behind the free and open source audio codecs FLAC, Vorbis, Opus and a few others.

  14. Hiradur are you sure OpenAL works with an USB headset?? :huh:


    I haven't used an USB headset but I suspect they are just headphones+mic connected to a simple sound card.

    I use a USB sound card where I connect my headphones to and it works.

    OpenAL Soft should work with anything as long as you can set it as the default audio output in Windows.

  15. I managed to get the video capture working: https://youtu.be/BKYVq4jgy5k


    Very nice, I watched the video with Google Cardboard and even then I could tell that the 3D effect and the atmosphere in general is amazing.

    The sky looks really interesting, reminded of Asterix & Obelix and their fear that the sky may fall on their heads.


    What's about the crackling sound at the end though? Sounds like poor resampling to me.

  16. If your recorder supports it you should record at a bit depth of 24 bit or higher to reduce the noise floor. You can bring the recording down to 16 bit later on (preferably with shaped dither).

    But wait a minute, are you using a tape recorder? The background noise in the little owl recording sounds a bit like a tape running in the background.


    "Noise gate" is not what you would be looking for to reduce noise by the way. The effect should be called "noise reduction" instead. However, in my personal opinion noise reduction makes the recording sound too artificial. If it's too noisy you should ditch it and re-record or forget about it.

    • Like 2
  17. But then I get stick with an "Unable to initialize OpenGL" error, and I can't figure out which package to install to make it go away.


    When a package is missing it should say something like "error while loading shared libraries...". Since this is not the case here you may not be lacking a package but instead have a problem with your configuration. What GPU and video driver are you using?



    Unfortunately the reality of it seems to be different.

    I tested this by loading up the largest mission we have: Crucible of Omens, in TDM and timing how long it takes to go from "Start Mission" to "Click to Start" appearing.

    I then unpacked the ZIP file into the BCD directory to remove unzipping as a bottleneck in the loading process, and the times were the same, give or take a second or 2.


    Thanks for the test but what about all the pk4 files coming with TDM itself?


    If you look at the Doom 3 BFG code you'll see that the Unzip.cpp changed a bit since Doom 3 and that inflate_fast() was removed: https://github.com/id-Software/DOOM-3-BFG/blob/master/neo/framework/Unzip.cpp

    I don't know how BFG's loading times compare to Doom 3 though.

    • Like 1
  19. If I insert %APPDATA% into my explorer, I get directed to my user folder in AppData/roaming which exactly is here C:\Users\Toni\AppData\Roaming\openal\hrtf

    There I have three files. the default-44100.mhr, the default-48000.mhr and the alsoft.ini in which I made the hrtf = true. This is correct, right?


    alsoft.ini should go into C:\Users\Toni\AppData\Roaming\ not the the openal subfolder.

  20. You mean this?

    ## hrtf:
    #  Controls HRTF processing. These filters provide better spatialization of
    #  sounds while using headphones, but do require a bit more CPU power. The
    #  default filters will only work with 44100hz or 48000hz stereo output. While
    #  HRTF is used, the cf_level option is ignored. Setting this to auto (default)
    #  will allow HRTF to be used when headphones are detected or the app requests
    #  it, while setting true or false will forcefully enable or disable HRTF
    #  respectively.
    hrtf = true

    I have set it up in the config file in my User folder, yes


    Yes, this. Is it in the right folder (%appdata%)? Because the log file indicates the value is not set:

    AL lib: (II) GetConfigValue: Key hrtf not found
  21. So I set it up for my Thief 2 NewDark installation (installed with Taffer Patcher) and it also creates a log file now. Ingame in audio I have chosen "OpenAL" and I've set the frequency to 441000 Hz and activated hrtf both in the config file. I get an EAX like echo which changes from room to room (depending on the size) and also there seems to be at least stereo. But looking in my openal.log hrtf seems not to work properly. Asus GX mode is set to OFF and I've set its mode to 2 speakers.


    EDIT: Is it because I have OpenAL installed too? I didn't know how to uninstall it / uninstaller wasnt working, so I just let it there and installed OpenAL Soft just again like you stated in post #001.


    Looks like you didn't change "#hrtf = auto" to "hrtf = true". hrtf = auto only turns on HRTF if OpenAL Soft detects headphones which I believe it only does when Windows detects headphones, which, from my experience, it rarely does.


    It's safe to have Creative's OpenAL installed as well. It works like this: The game will first look for OpenAL32.dll in the same folder where the .exe file is. If it doesn't find it there it'll instead look at C:\Windows\system32 (32bit Windows or 64bit game on 64bit Windows) or C:\Windows\SysWOW64 (32bit games on 64bit Windows). So if you have e.g. Creative's OpenAL32.dll in C:\Windows\system32 and OpenAL Soft's OpenAL32.dll in the game folder only OpenAL Soft will be used.

  • Create New...