Here's a new "pre-release" version, v1.09 rc1 including many fixes:
- Win32 monitorInfo hooks (Flight Simulator X)
- Nonmultisampled lockable backbuffer support (UT 2004)
- Fixed default depthbuffer render state with disabled autodepthbuffer
(Race Driver Grid, Midnight Club 2 ...)
- sideExtraWidth autodetection now uses desktop resolution setting
of secondary monitors instead of secondaryWidth/Height resolution
- Experimental CUDA fame copy support for Nvidia cards
(RGB32CUDA secondaryFormat setting)
- Forced SetRenderTarget override if application attempts to set
real backbuffer instead of SoftTH one (GTA 4)
- secondaryFormat setting validation
- forceAffinity setting to force process affinity to all processors
(DCS Black Shark, rFactor, GTR2...)
- Various selectable frame upload methods for non-multihead heads
(uploadMethod config setting): Win32 blit, Direct3D, CUDA
- Screenshots are now saved to user 'my documents' directory
- Fixed device reference counter when using lens correction
- Fixed excess present thread initialization on device reset
- Some Vista WDDM multihead related crash workaround attempts
- OSD color/texturing fixes
Download from http://www.kegetys.net/dl.php/SoftTH109b_rc1.zip
** Flight Simulator X **
To get Flight Simulator X working set 'hideNondefaultDevices=1' and 'doScaleWindowRects=1' in the config. The game will always start as windowed, press alt-enter to put it full screen. There still are some issues with the 'extra' game window placement and possibly some other mouse issues as well.
** Vista WDDM crash with multiheading **
There's a small change regarding the device initialization that is closer to SoftTH v1.07 'style' that might help avoid crashes in Vista/Windows7 with WDDM enabled. The issue itself would seem to be a Vista/Direct3D bug. In addition you can set 'altResetBehaviour=1' in config to force the main device to be not reseted, which might help the issue as well.
** sideExtraWidth autodetection **
The default sideExtraWidth autodetection now uses the desktop resolutions to detect the correct setting. This means that with combinations of widescreen and non-widescreen displays the setting should be always autodetected correctly as long as the desktop resolution is correct. The secondaryWidth/Height settings can still be used to force the secondary screens to a lower resolution, proper aspect ratio is maintained so the resolution does not need to match the display aspect ratio.
** Nvidia CUDA support **
This is rather experimental feature that uses CUDA to copy the data off the primary card, and, optionally to the secondary card(s). To enable it get the CUDA 2.1 runtime from Nvidia site and the newest Geforce drivers. Then set 'secondaryFormat=RGB32CUDA' in config and optionally 'uploadMethod=D3DCUDA'. Only 32bit color is supported with CUDA, but on my system I typically get better performance with 32bit color using CUDA than 16bit color with default Direct3D copy.
** Direct3D upload method **
You can try 'uploadMethod=d3d' to use Direct3D to upload frame data to the secondary card. On some configurations this may give better performance than the default win32 blit method.
The lens correction setting should also work better now, and there is documentation on how to use it in the readme. There may be some new issues with mouse positioning with this version.