index - downloads - photos - forum - youtube

Home Help Login Register

|-+  General Category
| |-+  General Discussion (Moderator: Mr.Gambler)
| | |-+  * SoftTH v2.08b alpha test version *
Pages: [1] 2 3 ... 35
Author Topic: * SoftTH v2.08b alpha test version *  (Read 182901 times)

Posts: 276

« on: June 29, 2010, 09:45:44 PM »

Here's an early test version of a completely new SoftTH. Some things are missing or broken, but it works quite well for me so I decided to release an early test version as this has been in development for a very long time now.

Quick facts:
- Almost completely rewritten from scratch
- Requires Windows 7 with WDDM display drivers (may work in Vista but I haven't tried it). Windows XP will not work.
- Supports any number of outputs in any configuration (two monitors, three monitors, 7 monitors, etc.)
- Only Direct3D 9 is supported for now, others may come later. Direct3D 9 is actually wrapped to Direct3D 9Ex, which causes some compatiblity problems.
- Configuration is entirely different, you now specify a target render resolution (that can be any size) and then source rectangles from this buffer which are copied to the outputs
- Because of the above, manual configuration is a bit difficult. I have done some prototyping for a configurator app (something like this ( which hopefully helps a bit assuming I will get it done at some point
- All the secondary outputs keep their native desktop resolution, you can freely specify a "transport resolution" which is not limited to screenmodes
- No default config is included, when you first run a SoftTH app it will be automatically generated to cover all attached monitors in the layout they are set in the desktop

Download v2.08b from: (latest version, for 32bit x86 programs) (latest version, for 64bit x64 programs)

Note: Even if you are running a 64bit OS, most games require the 32bit x86 version since the games themselves are 32bit executables.

Download v2.07 from: (old version, for 32bit x86 programs) (old version, for 64bit x64 programs)

Download v2.06 from: (old version, for 32bit x86 programs) (old version, for 64bit x64 programs)

Download v2.05 from: (old version, for 32bit x86 programs) (old version, for 64bit x64 programs)

Download v2.04 from: (old version, for 32bit x86 programs) (old version, for 64bit x64 programs)

Download v2.03 from: (old version, for 32bit x86 programs) (old version, for 64bit x64 programs)

Download v2.02 from: (old version)
Download v2.01 from: (old version)
Download v2.0 from: (old version)

See the readme for more information. It needs better documentation but hopefully you will be able to figure out how it works.

A quick start:
- Place the d3d9.dll like before to the game dir
- Run the game. A dialog asking if you want to create a default config should pop up.
- Pick the new resolution in-game (or set it in game config)
- The generated default config goes to the same dir the d3d9.dll is in, it will be configured to match the Windows desktop monitor configuration
- You can edit the config with a text editor like before
- If you change the renderResolution setting, remember to re-select the resolution in game as well
- Log file is now written in My Documents/SoftTH/SoftTH.log

See here ( for an basic triple-monitor config using 5760x1200 resolution with a few comments.

Some games I have tested as working:
- Team Fortress 2
- ArmA 2
- Crysis demo
- rFactor
- Mount & Blade
- Lock On Flaming Cliffs 2
- Test Drive Unlimited
- Trackmania United Forever
- Call of Duty 2
- Rise of Flight
- Company of Heroes
- Risen
- Civilization 4
- Dirt 2 demo
- HAWX demo
- DCS A10C
- C.A.R.S
- NetKar Pro
- F1 2010
- Trackmania 2
Some known incompatibilities are listed in the readme.

A few special examples of what is possible:

Four monitors in Lock On Flaming Cliffs 2:
Render resolution is 5888x2100, see config (

Something completely stupid, laptop with two monitors:
Render resolution is 3286x1772, see config (

Version history:
* 2.08 alpha
- GetContainer support for textures (TES Skyrim)
- Improved index- and vertexbuffer emulation
- Quirk support for invalid VB locks disabled by default
- Fix discard flag use with emulated index buffers (DCS A-10C)
- Config settings to disable various manage-emulation modes

* 2.07 alpha
- Fixed GetTexture behaviour (NFS Shift 2, C.A.R.S, Rfactor, ...)
- Workaround for D3D9Ex non-primary swapchain backbuffer
  rendering (Falcon 4 BMS)
- Device reset to windowed mode is no longer incorrectly
  used as SoftTH mode (Falcon 4 BMS)

* 2.06 alpha
- fpsLimit setting for non-primary heads
- Managed volume texture fixes (Rise of Flight)
- Fixed memory leak with GetSwapChain
- Fixed memory leak with GetSurfaceLevel
- SoftTH no longer incorrectly activates on windowed mode device

* 2.05 alpha
- Improved local head performance for AMD cards
- Fixed RGB16D nonlocal mode on AMD cards
- Slightly improved nonlocal performance for Nvidia
  cards (Restored to v2.02 level)
- Reduced CPU use when waiting for gpu synchronization
- Framerate smoothing is always disabled if all heads
  are local
- Fixed potential crash with hooks

* 2.04 alpha
 - Improved mouse cursor hooking (World of Warcraft)
 - Fixed QueryInterface behaviour for non-D39Ex device
   (Rise of Flight, Netkar Pro, Mount & Blade, ...)
 - Fixed volume surface locking behaviour

* 2.03 alpha
 - Fixed nonlocal performance on ATI cards
 - Fixed crash with steam overlay introduced in v2.02
   (Left 4 Dead 2, Team Fortress 2, ...)
 - Added support for Direct3D 9Ex games (Fallout New Vegas)

* 2.02 alpha
 - Fixed non-managed volume texture handling
 - Improved performance with partial texture locks
 - Quirk support for invalid vertex buffer locks (DCS A10C Beta)
 - x64 support

* 2.01 pre-alpha
 - Improved manage texture emulation (Richard Burns Rally,
   X3 Terran Conflict, Bioshock 2, ...)
 - Volume texture manage-emulation fixes (Portal, Left 4 Dead 2)
 - Various COM interface compatibility fixes
 - GetCursorInfo hook (ArmA2 v1.07)
 - TrackMouseEvent messages handling (Dragon Age: Origins)

* 2.0 pre-alpha
 - Re-written almost completely from scratch
 - Supports any number of outputs in any configuration
 - New configuration method
« Last Edit: February 21, 2012, 01:02:58 AM by kegetys » Logged
Posts: 213

« Reply #1 on: June 29, 2010, 09:54:10 PM »

Our multimonitor savior is back! Thanks a lot Kegetys  Cheesy Cheesy Cheesy

Posts: 4

« Reply #2 on: June 30, 2010, 12:03:08 AM »

brilliant work!! just got dirt2 running with this. pic...

« Last Edit: June 30, 2010, 12:28:06 AM by Sam__ » Logged

Posts: 127

« Reply #3 on: June 30, 2010, 01:15:33 AM »

Amazing work.
Tested succesfully with:
- Burnout Paradise.
- Wings of prey
- X3 Reunion (only for two minutes)

Tested not succesfully with
- Warhammer Dawn of war 2


Posts: 267

« Reply #4 on: June 30, 2010, 04:07:24 AM »

Good timing, was wondering if I should spend $350 on a second GTX 470 for nVidia's promised but not ready yet Surround, or if I should get a 27" monitor and use my 22" leftover monitors in portrait mode, should work great with this version...

First results are great!

BEFORE (Win7 x64)

Aliens vs Predator - could not get to work on right screen without massive flickering, also all the hud items and crosshair were on the right screen.

GTA IV - tried all kinds of settings, and kept locking up as soon as I left the safe house.


Aliens vs Predator - Works perfectly, with hud and crosshair on center screen, nice job!

GTA IV - Works perfectly, also the in game videos play much better, before they were missing textures.

Frontlines - Fuel of War - working great with GA's (WSGF) fov fixer...

NOTE: Update, for bezel management see Kegetys post below:

;SoftTH 2.0 pre-alpha
;5040x1050 with Bezel Management
;Center and Right Monitor on Main Card



; Autodetected as \\.\DISPLAY1 at NVIDIA GeForce GTX 470
;bezel management - add 100 to first item (3360+100)
;                   subtract 100 from the third item (1680-100)

; Autodetected as \\.\DISPLAY3 at NVIDIA GeForce 8800 GT
;bezel management - subtract 100 from the third item (1680-100)

SoftTH | 3x22" @ 5040x1050 | Core i7 930 @ 4 Ghz | H50 | GTX 470+8800GT | Asus P6X58D | 6Gb Corsair Dominator @ 1600 | Win7 x64
My SoftTH results:
« Last Edit: June 30, 2010, 07:45:20 AM by tricky » Logged

Posts: 276

« Reply #5 on: June 30, 2010, 05:06:40 AM »

NOTE: Only minor issue is that bezel management is missing for now...

It is there, you just need to do it "manually" by making the render resolution a bit wider and then moving the monitor rects so there is a bit of space between them. For example:

If we'd have a three monitor config with three 1000x900 monitors (for simplicity), like this:

And we'd want to add a border of 100 pixels, then we need to:
- Add 200 pixels (two borders for three monitors) into renderResolution
- Move the middle monitor source 100 pixels to the right
- Move the right monitor source 200 pixels to the right

So the config values become:
sourceRect=1100,0,1000,900    <--- added 100 to the X coordinate
sourceRect=2200,0,1000,900     <--- added 200 to the X coordinate

Another way is to only adjust the source rects, so the side monitors use a bit less wide area and then stretch it to full width:
sourceRect=0,0,900,900          <--- Width is changed from 1000 to 900 pixels, leaving 100 pixel area unused
sourceRect=2100,0,900,900   <-- Same as above, plus X coordinate is moved 100 pixels to right

This will all hopefully become a bit easier if I get the configurator done.

Posts: 7

« Reply #6 on: June 30, 2010, 06:38:12 AM »

Hey mate where'd you put the file for team fortress 2? I remember it had to go somewhere weird for earlier versions, i've dumped it in the bin (so steam\steamapps\user\team fortress 2\bin) folder and it generates a config file but the resolution doesn't show up in game
*edit* Don't worry it's just giving me a res I can't use Smiley As an idea for a feature for the auto generated file would it be possible to change it so that it only chooses the lowest vertical resolution as a start? I've got 2 1920x1080 screens and a 1680x1050 screen and the auto generated res was 5520x1080 which obviously won't work, just an idea Smiley
« Last Edit: June 30, 2010, 06:55:18 AM by Millsy » Logged

Posts: 37

« Reply #7 on: June 30, 2010, 07:51:05 AM »

good news Smiley

works with simbin games (gtr2, ..)

not working with iracing : give a "loading error 66" message from iracing.

Iracing Loading error 66 :
"Security Unverifiable third party replacements of system DLLs (including D3D9.DLL and DINPUT8.DLL) utilized by the simulator will now result in loading errors. If you encounter a Loading Error #66, please remove any third party replacements of D3D9.DLL, DINPUT8.DLL or other imposter system DLLs from your iRacing installation. SoftTH is an allowed dll."

Not this error with version 1.09rc and iracing

Posts: 14

« Reply #8 on: June 30, 2010, 08:51:36 AM »

This is a very interesting update, it just happens that I was configuring my games for SoftTH again now that exams are done Cheesy

So far I've set up this latest version for Crysis, Burnout Paradise, and HAWX. My comp setup is:
GFX: GTX275 (2 mons) + 9600GT (1 mon)
Mobo: Asus P5N-E SLI (each pci-e slot runs at x8 1.0 =S)
Mons: 3x 19" (1440x900 each)

Notes for each game...

   Before - v1.07b - FPS (Min/Avg/Max): 10/23/25
   After   - v2.0    - FPS (Min/Avg/Max): 37/41/44
   Setup: Very easy, just copy the dll in, run Crysis.exe from shortcut with -DX9 switch, and the config file is generated with pretty much optimal settings.
   Issues: I seem to be getting some stuttering which I'll look at later..

   Before - v1.09b - FPS (Min/Avg/Max):   93/102/109
   After   - v2.0    - FPS (Min/Avg/Max): 102/118/121
   Setup: Copy DLL, run .exe to generate config, quit game. Run ConfigTool to set reso and # of monitors, then relaunch game. Runs better than before and no more flickering from shadows.
   Issues: With a fully updated version - the game opens up a popup browser to show player profile/stats... but this messes up SoftTH. It was ok before but now you can't even see the window to close it. Temporary fix was to block burnout from accessing the internet so it doesn't open that window...

   Before - v1.09b - FPS (Avg/Max): 42/135
   After   - v2.0    - FPS (Avg/Max): 56/118
   Setup: Copy DLL and CONFIG file (from another game I guess) - doesn't seem to generate the config file automatically for me. Run HAWX.exe, set reso, good to go. Might need to disable AA because that caused the game to crash with previous versions of SoftTH but it might be ok here. I had it disabled anyway. FPS is better overall, especially on side monitors.
   Issues: Doesn't seem to generate config file for me. Fixed by copying one from another game.

*edit* Don't worry it's just giving me a res I can't use Smiley As an idea for a feature for the auto generated file would it be possible to change it so that it only chooses the lowest vertical resolution as a start? I've got 2 1920x1080 screens and a 1680x1050 screen and the auto generated res was 5520x1080 which obviously won't work, just an idea Smiley
But that's how its supposed to work? So that your two 1920x1080 screens are displaying part of the image at that reso, whereas the 1680x1050 screen is displaying part of the remainder - there's a section 'off screen' that isn't being displayed on a mon. But the overall resolution is 5520x1080, its just as though the 1680x1050 mon is really getting its image from a 1920x1050 rectangle..

Edit: Did some quick adjustments to cater for my monitor bezels, it all works just as intended Cheesy very nice and easy to do. Added 106 pixels on the left and 124 on the right, 4550x900 all up Cheesy
« Last Edit: June 30, 2010, 09:43:34 AM by mace » Logged

Posts: 7

« Reply #9 on: June 30, 2010, 09:51:48 AM »

Yeah I see your point but my issue is that the resolution doesn't work haha.
Would it be possible to say what you used for TF2 kegteys? If I use a resolution given by 1.9 it's great but yeah... I'll keep fidding and report back Cheesy

Posts: 7

« Reply #10 on: June 30, 2010, 10:15:56 AM »

Okay still no luck with tf2 but I tried mirrors edge (UT3 based) and CNC 3 Kane's Wrath, Kane's Wrath threw an error to do with direct 3d and Mirrors Edge hard locked my system when I selected the resolution (But it did show up there unlike the Source games)

Posts: 4

« Reply #11 on: June 30, 2010, 10:45:50 AM »

This is almost too good to be true,  Cheesy

Thanks kegetys, this is perfect work. when I get home I'm going to try this ASAP.

I will post my succeses here as well

Keep up the good work!! Grin

Posts: 4

« Reply #12 on: June 30, 2010, 12:43:28 PM »

Can't get an ingame setting with 5760 resolution

Menu is scaled to much. Racing works perfect but widgets (Place, Lights, Minimap) are jumping a little


Posts: 14

« Reply #13 on: June 30, 2010, 01:39:24 PM »

Hello everyone.

this beta so far is the best out of all my softth experience, considering its never fully worked for me. (but i had seen it run so i still kept faith)

but please, i could use a little help from everyone on a few games i would kill to get running to full extent.

Arma 2 -     game opens up fine, playing is fine,   problem is, everytime theres a menu involved, my mouse gets locked onto the left screen.
i did some googling and found out its due to mouse hooking, but i couldnt figure out how to fix it in my cfg.

Black Shark -  Cannot for the life of me to even get this game to show the smallest sign of 3 screen support. ANY help would be greatly appreciated

OPF2 Dragon Rising - Game runs perfectly. i just need to drop my side monitors down to equal level to be able to see my ammo/other hud info.

heres my Softth cfg




; Autodetected as \\.\DISPLAY5 at NVIDIA GeForce GTX 280

; Autodetected as \\.\DISPLAY6 at NVIDIA GeForce GTX 280

*please keep in mind iv spent the last 8 months or so tinkering with softth here and there. maybe im just retarded.


Posts: 28

« Reply #14 on: June 30, 2010, 07:09:22 PM »

did I undestand it correclty?
I can run it @ more than 3 monitors?

Pages: [1] 2 3 ... 35  

Powered by SMF | SMF © 2013, Simple Machines