I'm the unlucky owner of an ASUS EN8800GT.

This card basically do the job. However, ASUS has disabled the standard temperature and fan control system to allow only their own ugly software which works only with windows to monitor the card.
Under linux, nvidia-setting software return nothing for temperature. This is disappointing.
Luckily, I found a solution to be able to read, at least the GPU temperature on my Ubuntu Box.
I found that nvclock v0.8 beta3 was able to report a GPU temperature. However, this value is not good. So I modified nvclock to report correctly the temperature. Find below the patch for the file src/backend/nv50.c:
139a140,146
>
> //Temperature support for G92
> if(( (nv_card->bios->device_id&0xff00) == 0x600)||( (nv_card->bios->device_id&0xff00) == 0x610))
> {
> temp = nv_card->PMC[0x20008/4]&0x3fff;
> return (-13115 + temp) / 18.7 + 1;
> }
Nicolas (see comment below and thank you for your update) reported that since nvclock 0.8 beta4, a new patch is necessary to provide the good temperature (not -380° or so). Here is the code:
--- src/backend/nv50_old.c 2009-01-04 11:46:39.000000000 +0100
+++ src/backend/nv50.c 2009-05-26 14:21:12.000000000 +0200
@@ -229,7 +229,7 @@
printf("divider=%f, offset=%f\n", divider, offset);
}
- temp = nv_card->PMC[0x20008/4] & 0x1fff;
+ temp = nv_card->PMC[0x20008/4] & 0x3fff;
return (int)(temp + offset)/divider;
}
Now, it reports the temperature correctly, and other video cards still work correctly.
The result looks like that:


I hope this is helpful to you.