Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Your signature says you have an SLI setup. SLI appears to break the trick that this script uses.Hot damn can't wait to try this out.
Your signature says you have an SLI setup. SLI appears to break the trick that this script uses.
Still... give it a try. I'd love to hear that it works for SLI users now too.
"C:\Users\Username\Appdata\Roaming\Toggle\cmd.exe" /C "C:\Users\Usernae\Appdata\Roaming\Toggle\Toggle.bat"
tl,dr:
I'm sorry to say it, but you're going to have to wait for Nvidia to either redo how Surround works when SLI is active, or come up with their own in-driver method for switching between the two modes. Good news is, the latest couple of beta driver releases (326.19 and newer) have actually added hotkeys for enabling / disabling Surround (and it works in SLI). It's still a bit buggy, but they ARE working on it... finally.
;==============================================================================================
; First-run configuration
;==============================================================================================
IniRead, FirstRunVar, %appdata%\NVSToggle\NVSToggle.ini, NVSToggle, FirstRun
IF (FirstRunVar = "Completed")
{
Goto, DetectNow
}
MsgBox, 65, Nvidia Surround Toggle, To allow this application to configure itself for first-time use, please enable Nvidia Surround using the Nvidia Control Panel now. `n`nClick "OK" when ready, or "Cancel" to quit.
IfMsgBox Ok
Goto, DoubleCheck
else
Exit
DoubleCheck:
IF (A_ScreenWidth/A_ScreenHeight > 1.8)
{
Goto, FirstRun
}
MsgBox, 21, Nvidia Surround Toggle, Error: Nvidia Surround is not enabled.
IfMsgBox Retry
Goto, DoubleCheck
else
Exit
FirstRun:
FileCreateDir, %appdata%\NVSToggle
IniWrite, Completed, %appdata%\NVSToggle\NVSToggle.ini, NVSToggle, FirstRun
;==============================================================================================
; Determine current display state
;==============================================================================================
DetectNow:
IF (A_ScreenWidth/A_ScreenHeight > 1.8)
{
Goto, ToggleOff
}
IF (A_ScreenWidth/A_ScreenHeight < 1.8)
{
Goto, ToggleOn
}
IF (A_ScreenWidth/A_ScreenHeight = 1.8)
{
Goto, ToggleOn
}
MsgBox, 16, Nvidia Surround Toggle, ERROR: Failed to determine current display state.
Exit
;==============================================================================================
; Toggle-off routine (switch to Extended Desktop mode)
;==============================================================================================
ToggleOff:
Send {Volume_Mute}
WinActivate ahk_class Shell_TrayWnd
Send {LCtrl down}
Send {LAlt down}
Send {s down}
Sleep 100
Send {LCtrl up}{LAlt up}{s up}
Sleep 3500
Send {Volume_Mute}
Run %windir%\System32\DisplaySwitch.exe /extend
Exit
;==============================================================================================
; Toggle-on routine (switch to Surround mode)
;==============================================================================================
ToggleOn:
WinActivate ahk_class Shell_TrayWnd
Send {LCtrl down}
Send {LAlt down}
Send {s down}
Sleep 100
Send {LCtrl up}{LAlt up}{s up}
Sleep 3500
IF (A_ScreenWidth/A_ScreenHeight < 1.8)
{
Goto, SurroundFail
}
IF (A_ScreenWidth/A_ScreenHeight = 1.8)
{
Goto, SurroundFail
}
Exit
SurroundFail:
MsgBox, 21, Nvidia Surround Toggle, Error: Nvidia Surround could not be enabled!
FileDelete, %appdata%\NVSToggle\NVSToggle.ini
Exit
I might be able to plug two displays into one of the monitors to solve the problem.
Woah... that means this trick works with SLI now??Solved. Plugged an hdmi and dvi into my main display
I made the jump from Eyefinity (single HD 6970) to Surround (single GTX 780) as well, and quick-switching is literally the ONLY thing I missed.Goddamn it... I'm a Multi desktop whore and eyefinity, considering the move to dual gtx780s. If you could only take the strong points about SLI vs CF and out them together , you would have a great experience.
Nice job on the script. I'm going to keep my eye on your progress if I make the switch. Thanks
I made the jump from Eyefinity (single HD 6970) to Surround (single GTX 780) as well, and quick-switching is literally the ONLY thing I missed.
I had some time this weekend to test out an SLI system with the latest drivers + latest script, and I can confirm MorphysMate's findings. Requires one additional video cable, but switching works perfectly. Here's the configuration I used:
Card 1:
DVI into Monitor 1
DVI into Monitor 2
DisplayPort into Monitor 3
Card 2:
DVI into Monitor 3
It does take longer for SLI systems to switch between Surround and Extended Desktop, but that's because SLI is actually being toggled on/off/on when the switching takes place. Single-card Surround doesn't have to deal with that.
Edit: Original post updated with latest pre-compiled executable + source code.
That would be killer!I'm actually using this tool myself now, and it seems to pretty much solve the problem perfectly. Props for providing a simple and effective fix. I'll be sure to bring all this up on my next call with NVIDIA and hopefully stoke the fire on the issue a bit.
Well, sad news. Nvidia is working against our best efforts yet again.
Latest few drivers actively forget bezel correction if you switch in and out of Surround. You have to set it, by hand, every time you switch.
I don't know why Nvidia is so hell-bent on breaking this feature, but they're doing a great job.
Galaxy, any word?
Edit: Found where Nvidia stores this information in the registry. Going to attempt a solution...
I'm going to go ahead and upgrade to the latest drivers tonight, I'll let you know what I find out.Is there any update to this script for the latest nvidia drivers?
Also came across the toggle settings from Nvidia, NONE of them work, its an absolute joke.
Ok, I don't have a rig set up to test this at the moment... but can someone try going into the DPI settings on 8.1 and setting it to use classic (one DPI for all monitors) scaling instead of automatic per-display scaling?
That changed when going from 8.0 to 8.1, and it has a huge impact on how monitors are handled. I'm wondering if that's what screwed things up.