PDA

View Full Version : Direct 3D device driver does not accurately report texture memory usage



blade1001mcd
21st Feb 2004, 03:44
i have problem! can't run thief gold on xp. i did the special install command ( -lgnt thingy) but when i run the game, it crashes.
I just get the error "Direct 3D device driver does not accurately report texture memory usage."

Help, please

Stile451
21st Feb 2004, 06:12
If you're running an nVidia graphics card the latest drivers don't work properly with the Dark Engine. Apparently the 52.16 drivers work, and we know the 44.04 drivers work as well. The 53.03, 53.04, and 55.06 don't work with Thief 1/Gold.

If you aren't running an nVidia card, if you can get into the video options turn off hardware acceleration.

System Shock 2 and Thief 2 will work if you add safe_texture_manager to cam.cfg.

jd89
29th Jun 2004, 01:56
(first post since I was jwdar several years ago - rerunning thief games again! - Hi Clayman!)
Yep - I added a NVidia PCI card (FX 5200) to my existing system, and now cannot finish off Thief 2 final mission without reloading old drivers. Not gonna happen - too much "joy" involved with convincing windows 2000 to "let" me add the PCI card as the primary graphic adapter - I'll just hand carry the save games to the old computer and reload Thief 2 there to finish it off and to run FMs again. Stupid graphics card...stupid windows2000...arrgh...(great game though!)

Thief_gamer
16th Jul 2007, 22:40
Ok, so I just got thief I and II and they both crashed after the objectives screen loading with the same message you guys have gotten. I got past it by turnign off hardware for theif I and beat it in a very low grade and very fast version of the game, which was weird (zombies shouldn't move that fast!!) but now I need to get to thief II or I might explode... Basically, I just need to know how to add the messege you talked about to cam. or anything for that matter. Thanks

queue
18th Aug 2007, 02:32
I was going insane with this problem, as I had been running Thief 2 on my system just fine:
AMD xp3200+
1 gig ram
Realtek AC'97
Win XP sp1
GeForce FX5700

That is until I decided to do some upgrading and installed a new video card and hard drive (which required reinstalling win XP). These problems were encountered after the fresh install of XP sp1, and the installation of a GeForce 7600 GS with the most recent driver (6.14.11.6218) downloaded from nVidia (with DirectX 9.0c):

- Introductory video would not play.
Solution: downloaded the Q327979 update from Microsoft (also, an install of the Indeo Codec works). For me, though, the video is choppy (which is related to the next problem below, I assume).

- Game crashes as soon as first mission begins to load, right after setting difficulty and clicking start, giving the "Direct 3D device driver..." error.
Solution: apparently the newer video drivers DOES NOT work with the game. But, there is no need to downgrade to a previous driver (as I can finally enjoy playing Hitman: Blood Money...I'm not about to downgrade). The fix that worked great was to simply go into the USER.cfg file (located in the Thief 2 directory) using Notepad and remove the semicolon from in front of the line that says "safe_texture_manager" (even gives a reference to problems with some video cards).

Game works great, now!

Peter_Smith
18th Aug 2007, 07:33
Good detective work.:) But that fix has been known for several years. A search may have disclosed it.

Thief 1 is the game that needs the older drivers to play. Otherwise it crashes.

BTW, I think your FX5700 may be the last of the good-sky Nvidia video cards. Take a good look at the sky and the dark textures, such as a bedspread in an unlit room. I think you will find that the newer cards have crappy colors and limited color range in the dark colors because they don't dither properly. So, hold on to that FX5700. Now, for the good sky, you may also need older drivers in the 5xxx series. I am not sure about that.

Zeus
19th Aug 2007, 20:22
Thief 1 worked for me with the old drivers, however I installed the new nvidia drivers because I'm getting bioshock for PC really soon. I think it's really stupid to have to go back to year old display drivers just to get it to work. Is there another way around it besides installing old drivers?

Peter_Smith
19th Aug 2007, 22:50
I don't think there is any way around using old drivers to play T1. Nvidia is the culprit in more ways than one (e.g., failure to support dithering as it did before). The old drivers should work for new games. The good drivers are posted here (http://www.xtremesystems.org/forums/showpost.php?p=1744187&postcount=302).

FALLN 1
1st Sep 2007, 22:13
I have a simple little solution for the problems you might run across with Thief: The Dark Project. Under the Cam.cfg file, there is various variables listed pertaining to the game and how it runs.

First off, make a backup of your Cam.cfg file. So you can restore it if something goes awry (though it shouldn't)

Second, go into thief and turn hardware off. This will force the game to run in that low resolution commented on earlier.

Third, modify the following values manually in the file cam.cfg, without quotations.

game_screen_depth "16"
game_screen_size "1024 768"

----------------
game_screen_size is set to 1024 768, because that is what my computer runs at as my preference, I haven't messed around to see if it works with any other values. game_screen_depth is set to 16, because the highest bit depth this game can handle is 16. What modifying this in the cam.cfg file does in all essence, is force the game to play it how you want, even though it sees itself as running in software rendering mode. It's important to note though, that if you go into options for any reason while playing the game, it will default to the crap 800X600 values that it would normally play as, requiring you to restart the game if you want to play it in the good settings again.

***Added note: it may be neccesary to keep the config file open when you play the game, or it may attempt to reset the depth to 8, which will in turn make 1024X768 resolution imposible, and will make the game look like crap again >.>

Peter_Smith
2nd Sep 2007, 06:50
I wasted a lot of time with that with no results before discovering the good set of modified Nvidia drivers. Software rendering looks really bad, and it makes Garrett move too fast. It is not clear to me what this is fixing or why you would want to do it. Some further discussion of the rationale, and why you can't simply use the good drivers, might help.

FALLN 1
2nd Sep 2007, 12:14
I'd rather not fiddle around with drivers at the risk of other more advanced games becoming unstable due to the changes. It might not be the most likely thing to happen, but I'd rather not take the risk simply to play one game, which I might play irregularly.

What I'm saying to do is to quite simply force the game to play it in a 1024X768, 16 bit resolution, even though it is "technically" running in software rendering mode. The game doesn't play as fast as it would in the grainy 600X800 8 bit resolution. As a matter of reference, my entire cam.cfg file looks like this

----------------------------------------------------------------------

; $Header: r:/prj/cam/src/RCS/cam.cfg 1.14 1998/09/23 20:00:41 mahk Exp $

; hey, which game is this
game dark

; general configs
include_user_cfg user.cfg
editor_include_dromed_cfg dromed.cfg

; game specific paths/configs
dark_include_install_cfg install.cfg

shock_resname_base r:\prj\shock\art\finals

; set trait cache to include concretes
trait_cache_flags 2

game_screen_depth 16
gamma 0.9499999881
game_hardware 0
game_screen_flags 9
game_screen_size 1024 768
game_full_screen 1
skip_intro
sfx_device 1
sfx_channels 8
master_volume -1

--------------------------------------------------------------------------

Now as I said before, it is important that you open cam.cfg each time you play the game and save those changes (keep the file open), sometimes game_screen_depth will have reset to 8.


Video Card for further reference:

Nvidia GeForce 6600, 512 VRAM
Fully Updated Drivers
DirectX 10
Running on Windows XP

carybrown
9th Oct 2007, 03:39
Gentlemen (and ladies?)...

We pretty much know what the issue is here. It's not a driver issue, it's not a hardware issue.

The issue is that a module in Thief was programmed with an "upper memory limit"... like often happens, someone along the way decided that "nobody will EVER have a video card with more than (fill in the blank) ram, so I'll cap my detection scheme there."

This detection scheme, at the game's 3D startup, looks at the amount of video memory and does something (not sure what) based upon that. Presumably, it just decides how much texturing to load into the card versus how much to keep in system RAM?

Now, the "System Compatibility toolkit" has a whole series of "lie to the app about this or that" tools... everything from system memory to swap file size to the version of Windows you're running. But it has no such tool for D3D memory, which is where the problem here lies. So, no help there.

Thief2 has a config-file option which basically disables this checking routine (presumably, it simply forces everything to be loaded to the card's RAM and bypasses the check entirely). This allows Thief2 to work just fine.

SOOOOO... I'm wondering what it would take to take the "fix" from the Thief2 engine (that is, the one module of code that bypasses this check), replace the module in Thief1 with that module, and recompile the EXE (or DLL or wherever it's stored)?

If my theory about what's happening is correct (and I'm 90+% sure it is), creating this sort of fix would be almost a non-effort task. With access to the source code for both engines, (which are obsolete now anyway, right?) I suspect I could do the job in just a couple of hours (including some playtest time). That's assuming that source code is supplied in its original fully annotated form, of course. Reverse-engineering code without notations would take a LOT longer, obviously, but it can be done (though it's dubious if anyone would want to put forth the effort).

It seems that the older nVIdia drivers simply don't recognize anything above a certain level of memory. So if you have a card with relatively little memory (256MB, for instance) you should be just fine. But if you have a 512MB or larger card, you're out of luck it seems.

The problem is that my card (7950GT) has 512... and so I can't run Thief. AT ALL.

I can run Thief2 just fine, however. Because I can tell it to not do this "helpful" little check.

C'mon, Eidos-guys... can we either get the source code or can you make this "tweak" to let us play this game on new hardware?

Peter_Smith
9th Oct 2007, 06:01
carybrown,

I think there are some things missing in your analysis.

1. That Eidos can fix it. Eidos is a publisher, not a developer. Looking Glass Studios, the developer, went out of business long ago. I believe that Eidos is not going to fix this, as they do not have the resources or the motivation.

I agree completely that the source code for T1 and T2 should be released, but that is for another thread. Please feel free to start it. I will support it, but I am just another user, not an Eidos employee.

2. That Thief is interacting with the video hardware. It isn't. Thief makes calls to Direct X that are serviced by driver DLLs that are programmed by Nvidia. I am fairly certain this is all Nvidia's fault.

3. That a 512 MB card will not work to play T1. It will work, if you use the older drivers that I linked to above. I have a 7960 GT 512 MB, and T1 works just fine with those Russian modified 84.56 drivers (http://www.xtremesystems.org/forums/showpost.php?p=1744187&postcount=302), but it does not work with the drivers that came with the card (93.71) or any drivers 9x.xx or later.

I suppose that the older drivers might only allow 256 MB of the video card memory to be accessed, but I rather doubt it. As I understand abstraction, the game should be unaware of the memory in the hardware, and the drivers, which act like a video operating system, should do the memory management and scheduling. If I am wrong, please correct me.

It seems to me that if 84.56 works (with a modified INF file) and 93.71 (which comes with the 7950 GT) does not work with the same game and the same video card, then it is proven to be a driver issue. I think Nvidia is at fault by not providing backward compatibility with the methods assumed in certain functions that Thief is calling. Lack of backward compatibility has also caused a gradually deteriorating quality of rendering since the 5000 series Nvidia cards.

I also think that whether or not T1 works with modern drivers has nothing to do with the safe_texture_manager, which is masking another Thief problem. The safe_texture_manager only affects Thief 2, and it has been needed to fix some type of incompatibility ever since Nvidia driver version 56.xx, as I recall. There are modified EXE's available (see the FAQ at TTLG Thief General) that bypass that check, but they will not help the T1 crash.

I3AnThRaX69
26th Nov 2007, 05:36
Download the file on this site and it will work very nicely. With full hardware acceleration!


http://www.ttlg.com/forums/showthread.php?t=75031#texturememory


Running EVGA's Nvidia 7950GT O/ced w/ 512 mb of ram and it works just fine for me on windows xp media center.

Peter_Smith
27th Nov 2007, 04:22
I3AnThRaX69,

Thanks for the update.

You are lucky. That EXE does not usually work by itself with recent Nvidia cards. I got that EXE to work with my 7950GT AGP out of the box, but then I switched to a 7950GT PCIe, and it stopped working (crash to Send / Don't Send window). Not working is the usual experience of most people with 7000 series Nvidia cards. I have found only two Nvidia drivers that enable that EXE to run for me, of which 163.71 is the best choice because it is recent, stock Nvidia. 163.71, recently discovered by someone at TTLG, was not known or available when I made my previous posts. Others have reported success with 163.71, too.

For those who have this problem with T1, first download the EXE linked to by I3AnThRaX69. Then, if it still doesn't work, do a complete uninstall of Nvidia video drivers, reboot, and then install 163.71 drivers. The uninstall and reboot are important. That should work.

Some people are apparently not interested in simple solutions. I'll not mention names. :)

Malax Crunatus
12th Jul 2008, 09:55
Disagree, Thief I runs without problems with newest nVidia drivers, if your game runs too fast then you should force Vsync from driver control panel.

Thief II CTD or black screen, i dont remember actually.. but i will try install the game and use fixes which is noted here.

Config:
Athlon 3800 single core
8800 GTS 640
2 Gb RAM
Win XP pro

Malax Crunatus
13th Jul 2008, 18:40
Well, i tried reinstalling indeo codecs and DDFIX thingy and Thief II started to work.. happy happy joy joy :D

So actually i dont know what excatly fixes my problem, maybe its DDFIX or codecs feature, but anyway guys try that !

asola
29th Jul 2008, 12:13
i have problem! can't run thief gold on xp. i did the special install command ( -lgnt thingy) but when i run the game, it crashes.
I just get the error "Direct 3D device driver does not accurately report texture memory usage."

Help, please

PLZZZZZZZZZ

theBlackman
29th Jul 2008, 23:01
Read through the Sticky threads at the top of this forum. The fix has been posted hundreds of times in various threads as well as the how 2 run threads.

http://forums.eidosgames.com/showthread.php?t=76532

http://forums.eidosgames.com/showthread.php?t=76531