# New graphics card recomendation / disabling turbocache

## suicidal_orange_II

I am looking for a graphics card to run passively during the summer (I like my room as cool and quiet as possible).  I have an 8800gts that I put in to game, but it runs way too hot to leave it in all the time.  It must be nvidia so I can swap between the two freely in Linux  :Smile: 

From looking around it seems that the lowest power consumption (so in theory the coolest running) card is a 7300gs, but I have seen many forums where people get greatly improved system responsiveness (and indeed gaming benchmarks) by disabling the turbocache feature and just using the memory on the card.  Is this possible under Linux?  If not I'll pay the extra for a 7600gs (the 7600gs doesn't use much more power)

I have so far been unable to find power consumption for 8400gs or 8500gt cards, so if anyone has and could direct me to them that would be great.

Thanks in advance,

Suicidal_Orange

----------

## Vortigern

Hi,

in my opinion it's not a good choice, you should go for a 6600 or slower VGA since you already have a great VGA and you will only swap when you like to play games, but on the other hand 6600 are difficult to find and they are not much cheap than a 7300.

Well, I looked for some prices and I found some 7600 GS around 70 euro with passive cooling. For the same price you can afford a 7300GT without turbocache and with 60 euro you can buy a 7300 GS without turbocache (I'm referring only to passive cooled VGA since they are the most quite).

At this point you only have to choose!

About the turboache, I found that some motherboard can disable this feature by the bios.

See you!

----------

## PaulBredbury

 *suicidal_orange_II wrote:*   

> it runs way too hot

 

What is the real problem? It's designed to run hot. If it's making other components too hot, then add a fan to the case. Get e.g. an Akasa fan control, to get the best compromise of noise/cooling.

----------

## Vortigern

 *PaulBredbury wrote:*   

> What is the real problem? It's designed to run hot. If it's making other components too hot, then add a fan to the case

 

well I think that suicidal_orange_II was speaking about general coolness.

 *suicidal_orange_II wrote:*   

> From looking around it seems that the lowest power consumption (so in theory the coolest running) card is a 7300gs

 

This is why I suggest to go for a 6600 or a 6200, also if 7300LE need less power than a 6200TC: link

For the power consumption of the 8500GT you can go here also if the review is in italian you should not find any problem in reading (there are graphs); otherwise you can pm me.

Remember to compare not result from one link to the other, since they are referred to the system and not only to the VGA!

----------

## suicidal_orange_II

Thanks for all the input  :Very Happy: 

I was talking about room temperature - I live in the UK and being a traditionally cold place very few houses have air conditioning, and I'm unlucky enough to have the hot water tank for my house in my bedroom (where the computer is) and the heat of the sun coming through my window virtually all day.  By 5pm in the summer my room is hotter than outside even with the window open and the computer off, so anything to not heat it up more is welcome!

I did have a very nice passive 6600 ( http://uk.asus.com/440/images/products/1060/1060_l.jpg the heatsink is on the top of the card, if it looks confusing) but it mysteriously died when I took it out to play some games over the weekend.

On looking for power consumption I found exactly what I needed in a blog, sumarising a big test by xbit labs, which shows the 7300gs being the only card to use less power than the 6600 while idle, although there was no 6200, 7200le or 7300gt in the test.  The summary is http://uk.asus.com/440/images/products/1060/1060_l.jpg if anyone is interested.

As Vortigern pointed out it is hard to compare between different reviews as they all use different systems, especially going back as far as a 6200 review it is unlikely I'll find anything comparable.

I can find no mention of disabling turbocache on my motherboard (intel bad axe 2), maybe it is only an option on nvidia based motherboards?  Hard to know where to look.  I'll hope someone can answer that it can be done in Linux, it might be as simple as changing the device ID in xorg.conf (that worked to enable the extra pipes on my 9500 many years ago  :Smile: )

I think I'll buy a 7300gs (or even an le maybe) and experiment myself, they are cheap enough and can't possibly be as good a heater as the 8800 in there at the moment!

Thanks again, and please continue to add any thoughts to this thread

Suicidal_Orange

----------

## Vortigern

Well,

the link for comparing 6200 is here, but I think it's not usefull since 6200TC seems to have greater power consumption than 7300 LE. But this link also point out that 7300GS needs 11,5VA [VoltAmpere*cos(Phi)=Watt] in stress and 4,6 VA in idle  than 7300LE, so the last one should be the best one  :Wink: 

About your 6600 I can tell you why it died: because it is an asus. I had a 6600GT from asus and it used to reach 95°C when playing, obviously with the fan at maximum speed!

See you!

----------

## PaulBredbury

I have a similar situation. My "home office" gets all the sunshine. I've contemplated installing air-conditioning.

Wear shorts and a t-shirt. Drink from the fridge, rather than the kettle. Open a window or two (which you've already done).

Playing games with the smoothness of an 8800 is worth a few sacrifices, in my hopelessly biased opinion.

My apologies for these non-technical solutions  :Smile: 

----------

## suicidal_orange_II

 :Laughing:  You do raise a good point Paul, but I don't game all the time so it is nice to not have to wear shorts even at night.  That is why I need a second card  :Smile: 

Vortigern I can't complain at my Asus, even with the heavy copper heatsink on it that card has traveled hundreds of miles while installed, and been used most days for nearly 3 years.

I am now looking for a 7300le, preferably with a wrap around heatsink, as this puts it just below my exhaust fan keeping the case cooler as well as the room.

I guess no-one has managed to disable turbocache, but I still wouldn't mind having a go   :Wink: 

Thanks again,

Suicidal_Orange

----------

## lost-distance

I too have been looking for an answer to that TurboCache question.

There is a passively cooled GeForce 7300 card which I would like to buy, but it has TurboCache. I do not want it wasting my system memory bandwidth, so I will only buy it if TurboCache can be disabled.

I presume TurboCache is enabled by the driver; otherwise what is telling the card which memory to use?

There is no mention of TurboCache in the xf86-video-nv driver source.

Google searches merely reveal that others ask the same question and do not receive a definitive answer.

Does anybody here know whether the xf86-video-nv driver or Nvidia's own Linux drivers enable or disable TurboCache?

----------

## lost-distance

Well, I bought the GeForce 7300 card (MSI NX7300-TD256EH) in the expectation that I would be able to crack the problem of disabling TurboCache with Nvidia's own Linux driver.

And I have!!!

Knowing that the Windows registry entry to disable TurboCache was called RMDisableRenderToSysMem, I searched for that string in the nv-kernel.o binary blob that is used to build Nvidia's own Linux driver.

And I found it at address 0x1b351 in the .rodata section:

```
 1b350 00524d44 69736162 6c655265 6e646572  .RMDisableRender

 1b360 546f5379 736d656d 00524d46 6f726365  ToSysmem.RMForce
```

Next I found the one place in nv-kernel.o where address 0x1b351 was used:

```
  158c23:       50                      push   %eax

  158c24:       68 51 b3 01 00          push   $0x1b351

  158c29:       68 00 00 00 00          push   $0x0

  158c2e:       53                      push   %ebx

  158c2f:       e8 fc ff ff ff          call   158c30 <_nv010123rm+0x2fc>

  158c34:       83 c4 10                add    $0x10,%esp

  158c37:       85 c0                   test   %eax,%eax

  158c39:       75 0d                   jne    158c48 <_nv010123rm+0x314>

  158c3b:       83 7d 04 00             cmpl   $0x0,0x4(%ebp)

  158c3f:       74 07                   je     158c48 <_nv010123rm+0x314>

  158c41:       80 8e c4 02 00 00 40    orb    $0x40,0x2c4(%esi)
```

This is obviously a function call, where the address of string "RMDisableRenderToSysMem" is passed as an argument.

On return from the function a couple of tests are made resulting in the conditional or'ing of 0x40 with some variable (in the last line of the above listing). My guess was that the value 0x40 is a "disable TurboCache" flag.

So I edited nv-kernel.o with hexedit to force the flag to be set. That was easily achieved by replacing the preceding 3 instructions with nops:

```
  158c23:       50                      push   %eax

  158c24:       68 51 b3 01 00          push   $0x1b351

  158c29:       68 00 00 00 00          push   $0x0

  158c2e:       53                      push   %ebx

  158c2f:       e8 fc ff ff ff          call   158c30 <_nv010123rm+0x2fc>

  158c34:       83 c4 10                add    $0x10,%esp

  158c37:       85 c0                   test   %eax,%eax

  158c39:       90                      nop

  158c3a:       90                      nop

  158c3b:       90                      nop

  158c3c:       90                      nop

  158c3d:       90                      nop

  158c3e:       90                      nop

  158c3f:       90                      nop

  158c40:       90                      nop

  158c41:       80 8e c4 02 00 00 40    orb    $0x40,0x2c4(%esi)
```

I then rebuilt the nvidia.ko driver, reloaded it, and reran X.

IT WORKED!!!

Here's the difference in X.Org log files:

```
% diff /var/log/Xorg.0.log.old /var/log/Xorg.0.log

14c14

< (==) Log file: "/var/log/Xorg.0.log", Time: Fri May 23 18:39:46 2008

---

> (==) Log file: "/var/log/Xorg.0.log", Time: Fri May 23 20:16:10 2008

416c416

< (--) NVIDIA(0): Memory: 524288 kBytes

---

> (--) NVIDIA(0): Memory: 262144 kBytes

552d551

< FreeFontPath: FPE "/usr/share/fonts/misc" refcount is 2, should be 1; fixing.

% 
```

As you can see, the NVIDIA X.Org Video Driver reported memory usage has reduced from 512Mb to 256Mb.

Days like this make me glad to be a Unix hacker.

----------

## lost-distance

A quick update. A message on nvnews.net provided a cleaner mechanism for setting the RMDisableRenderToSysMem flag.

Add the following option to the /etc/X11/xorg.conf file nvidia device entry:

```
Option "RegistryDwords" "RMDisableRenderToSysmem=1"
```

This works for me with the NVIDIA-Linux-x86-173.14.05 driver.

----------

## lordalbert

 *lost-distance wrote:*   

> A quick update. A message on nvnews.net provided a cleaner mechanism for setting the RMDisableRenderToSysMem flag.
> 
> Add the following option to the /etc/X11/xorg.conf file nvidia device entry:
> 
> ```
> ...

 

Thanks a lot! So Probably I'll buy the 7300GS too. It works perfectly?

----------

