We have a new challenge. First, the original post. See updates below.
I saw your post and was tempted to play around with my two EVGA GeForce GTX TITAN (Device ID 1005) cards. This has bugged me for years -- OK, not exclusively, but still, that's a long time for intentionally disabled software utilities.
Compared to a supported workstation card, the TITAN's core hardware is closets to the Tesla K20xm (Device ID 1021); however, installing based on those INF changes doesn't get you a lot of things (HDAudio, for example) because the Tesla is a compute card, not a video card, and the driver install adjusts accordingly.
Instead, the next closest video card is the Quadro K5000 (Device ID 11BA). It's not at the same level as the TITAN or Tesla K20xm, but it is the next best match for which the installer is configured to offer to install nView. I did a driver search on the NVIDIA website for the Quadro K5000 for my Windows 7 64-bit platform and found the beta driver version 319.92. [SEE UPDATE BELOW]
Run the driver install to extract the files and follow the instructions. Quickly, you'll get the message that the install cannot continue because no compatible graphics hardware was found -- just as expected. But now you'll have the files extracted into folders. I chose the default, and found them in "C:\NVIDIA\DisplayDriver\319.92\Win8_WinVista_Win7_64\International".
If you look in the Display.Driver subfolder, you'll see the nv_dispwi.inf file.
On line 7252 (in this specific version), I inserted an entry for the TITAN "in order" between Device IDs 0FFF and 1021 that already existed in the file, like this:
NVIDIA_DEV.0FFF = "NVIDIA Quadro 410" ; already in file NVIDIA_DEV.1005 = "NVIDIA GeForce GTX TITAN" ; <---- this line was put here by me NVIDIA_DEV.1021 = "NVIDIA Tesla K20Xm" ; already in file Now, we need to add the device to all the sections that will tell the installer to install all the Quadro video driver options (including nView!) based on the Quadro K5000, so we'll see what lines in which INF sections apply to its Device ID of 11BA. I searched for "11BA" and found lines:
Line 909 in [NVIDIA_SetA_Devices.NTamd64.6.0]:
%NVIDIA_DEV.11BA% = Section007, PCI\VEN_10DE&DEV_11BA Line 1035 in [NVIDIA_SetA_Devices.NTamd64.6.1]:
%NVIDIA_DEV.11BA% = Section068, PCI\VEN_10DE&DEV_11BA Line 1142 in [NVIDIA_SetA_Devices.NTamd64.6.2]:
%NVIDIA_DEV.11BA% = Section069, PCI\VEN_10DE&DEV_11BA I copied each of these lines to another line in the same section (right below each existing line works), changed all the occurrences of "11BA" to "1005" (the Device ID of the TITAN), and saved the file.
I then ran Setup.exe from the folder one level up from the Display.Driver subfolder (C:\NVIDIA\DisplayDriver\319.92\Win8_WinVista_Win7_64\International). The hardware check passed because the installer now knew to recognize the TITAN Device ID 1005. I chose to Do an advanced/custom install, and was presented with installing nView among the other options. I made sure it was checked and then followed the rest of the installation process using the defaults.
It worked! My video works as well as ever, plus I right-clicked in the desktop and clicked "nView Desktop Manager" in the context menu. This 319.92 driver package comes with the new 140.54 version of nView. It's nice, and all the functions worked 100% for me.
Suspect that the driver or install options may not be quite right? The hardware too different? The beta driver too unstable? No problem. Just install your normal (GeForce 600 series) TITAN driver over the Quadro driver. The older driver files will be uninstalled, but because the GeForce driver install is configured to know nothing about nView, it won't event attempt to uninstall it. All the specific files and settings for your actual card (no INF editing necessary, of course) will still be installed.
As I suspected, my testing showed that nView from the Quadro package gets along great with the drivers and other software from the supported TITAN package.
Now I can use a supported, optimized TITAN driver (and better game performance) while enjoying nView with my 2x $1000 TITAN cards at home, the same way that I enjoy nView on my two $1800 Quardro K5000 cards at the office.
I don't use Mosaic, so I can't help you there. I guess I'd start with a similar approach.
Final config is GeForce GTX 600 series TITAN driver (Win7 64-bit) version 320.00 and nView Desktop Manager version 140.54:
- CipherPunk
UPDATE 1:
This trick still works for nView (no luck on Mosaic, sorry!) as of the 2013-09-30 version 331.40 (beta) drivers. The TITAN is now grouped correctly under the GeForce GTX 700 series hardware on the NVIDIA site (was only 600 series when I originally posted this). There is now a Quadro card that is a better match for the TITAN, capabilities-wise, than the K5000 mentioned above. I would specify the Quadro K6000 in the driver search on the NVIDIA website when finding an installer package to modify. It doesn't really matter for this method, but the new device info is:
NVIDIA_DEV.103A = "NVIDIA Quadro K6000"
UPADTE 2:
Sometime between my last update and the release of drivers version 337.88, NVIDIA made changes to nView Desktop Manager so that it will not run, at least with the TITAN, even if you use the above tricks to get it installed. I also am doing the setup changes a bit differently (more attention to detail). For this example, I am referring to version 337.88 for the Quadro K6000. In the Display.Driver subdirectory under the default extraction directory on my computer:
C:\NVIDIA\DisplayDriver\337.88\Win8_WinVista_Win7_64\International\Display.Driver
... the nv_disp.inf file I've been working with has sections of install tasks for the Quadro K6000 (dev 103A) that you might want to change for the TITAN (dev 1005) if you followed the original steps above. Usually, there are at least four "[sectionXXX]" blocks for the card. In my example, for the K6000 sections, replace XXX with 116, 153, 154, and 155. These could be different, so see which section numbers are used in the lines where you changed the "NVIDIA_DEV" ID. In these sections, I wanted to remove the lines (if they exist in these sections):
NV3DVisionDisallowServer = 1NVIR3DDriverDisallow = 2 Add add this line to all of the same sections:
NVSupport3DVision = 1 In the same sections, there are some references to registry change sections as well. Between all four sections in my example, the following registry change sections that are DIFFERENT for the K6000 than the TITAN are called:
[nv_miscBase_addreg__31] (from section 115)
[nv_miscBase_addreg__49] (from section 153 and 154)
[nv_miscBase_addreg__50] (from section 155)
Looking at the "nv_miscBase_addreg*" sections for the TITAN, I spotted some differences I wanted to account for. Specifically, I wanted to make sure these reflected the TITAN more so than the K600, so the following entry (if it exists) was deleted from the registry settings in these sections:
HKLM,,DISABLE_INBAND_STEREO_SIGNALING,%REG_DWORD%,1 Also, in the parent directory above Display.Driver (for my extracted Quadro driver package, this is "International"), I wanted to change the "ListDevices.txt" file to add a line under the "nv_disp.inf:" heading that reads:
DEV_1005 "NVIDIA GeForce GTX TITAN" ... just so it's consistent with the nv_disp.inf file in the Display.Driver subdirectory. The installer might balk if it's not there.
Now, we can install nView and the rest of the Quadro driver features (including WMI, but still not Mosaic, which is a separate project), and when it's finished, nView has an entry in Control Panel and the context menu entry when one right-clicks on the desktop. YAY!!??! NO!
Using any of these (or the nwiz.exe program directly, which also loads from a Run key in the registry on login), nothing happens. I tried on several different systems, including a fresh install, and no dice. No log entry, no message, just loads the EXE and... nothing! Grr. Then, I simply used the autoruns util from SysInternals (as Adminsitrator) to disable all the "nview" entries, rebooted, replaced the nView v141.13 binaries with the older ones that used to work (v140.75), and restarted again (all of this because shell extension keeps two of the files I wanted to replace locked). Ta-dahhhh! The nView panel worked!
CONCLUSUON: NVIDIA has become of this method of getting nView "for free" (on a $1000 flagship card, when it used to come with consumer GeForce cards in the past). I believe they have added a simple check of the PCI device ID or read some bit of identifying info from the card's BIOS, and if it's not in some set of "professional" products, nView just quits, regardless of the fact that the driver package installed it fine and made all other necessary system configuration changes. Either that, or I'm just paranid, and it's just broken in some mundane, unrelated way. The total lack of feedback about this is a very poor design choice, at least from my perspective as a user.
I will be running a debugger on it to test this theory and figure out what my options are. Maybe I should flash the BIOS on the cards, but I worry about changing the PCI device ID. And what will happen if I have a TITAN and a K6000 in the same box? Will nView install and run fine then? :-) It's probably better to just patch a byte or two in the vNiew resource DLL so that it always says 1 ("yes, run") instead of 0 ("no, just exit") regardless of the card. I'd have to do it for every new driver version, but I am already making tons of manual changes to the inf file each time I upgrade anyway. An alternative is to write my own code that hooks any card ID check function in nView and supplies whatever answers I want on the fly, no file patching needed.
Whatever I come up with will be posted as a follow-up here.
The real, best fix is in NVIDIA's hands. Make nView available to GeForce owners again! Make it optional in the custom install and disclaim it's use and support on GeForce cards, if they will; it's already distributed with the (English, at least) GeForce driver package (which also covers many "pro" cards), for goodness sake.
Best of luck!
post edited by CipherPunk - 2014/06/29 13:00:18