Bitcoin Forum
April 25, 2024, 07:19:40 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 »  All
  Print  
Author Topic: Radeonvolt - HD5850 reference voltage tweaking and VRM temp. display for Linux  (Read 27915 times)
ius (OP)
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
May 27, 2011, 07:38:56 PM
Last edit: May 27, 2011, 10:17:47 PM by ius
 #1

So, there are a couple of Radeon monitoring/tweaking tools available for Linux (aticonfig, AMDOverdriveCtrl, glakkeclock). Unfortunately neither of them supports displaying VRM temperatures or core voltage modification (the later can also be achieved by editing your Radeon's bios using a Windows application, but that's not really convenient now, is it?).

As such, I started hacking and came up with a utility of my own. It displays VRM voltages, average current and allows you view and modify the GPU core voltage.

I've tested it on my (single) ATI card, an Asus HD5850 (reference).

Remarks
- Should work on all reference HD5850 cards with a similar Volterra VT1165 VRM setup.
- It should also support multiple cards, but I haven't been able to test it myself.
- Accesses the Radeon i2c bus by mapping the Radeon i2c controller registers via /dev/mem, thus root is required (anyone have a better idea here?).
- Comes without any warranty, use at your own risk, make sure you know what you're doing, etc.
- May even burn your house down. Probably not, though.

Download
Source code
Github

Compiling
Depending on your distro, you may need to install the pciutils development package (Ubuntu/Debian: apt-get install libpci-dev).

Code:
wget https://github.com/ius/radeonvolt/tarball/master -O - | tar xz
cd ius-radeonvolt*
make

Usage examples
Code:
$ sudo ./radeonvolt

Device [1]: Cypress [Radeon HD 5800 Series]
Current core voltage: 1.0875 V
Presets: 1.0000 / 1.0375 / 1.0875 / 0.9500 V
Core power draw: 62.71 A (68.20 W)
VRM temperatures: 100 / 99 / 98 C
 info[/b]

Before attempting to modify the vcore, make sure the values for the 'current voltage' as well as 'presets' look sane.

Code:
$ sudo ./radeonvolt --vcore 1.1000 --device 1
Setting vddc of device 1 to 1.1000 V (0x34)

Device [1]: Cypress [Radeon HD 5800 Series]
Current core voltage: 1.1000 V
Presets: 1.0000 / 1.0375 / 1.1000 / 0.9500 V
Core power draw: 61.84 A (68.02 W)
VRM temperatures: 100 / 99 / 98 C

Please let me know if it works for you (especially non-5850 or multiple cards). If it doesn't, include the output of lspci -vd1002.

If it does work, feel free to send any spare coins to 19kdfgW1KXQgV7SCLEPAojtHxN9xotGkGH.
1714029580
Hero Member
*
Offline Offline

Posts: 1714029580

View Profile Personal Message (Offline)

Ignore
1714029580
Reply with quote  #2

1714029580
Report to moderator
1714029580
Hero Member
*
Offline Offline

Posts: 1714029580

View Profile Personal Message (Offline)

Ignore
1714029580
Reply with quote  #2

1714029580
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
xoraxax
Newbie
*
Offline Offline

Activity: 20
Merit: 0


View Profile
May 27, 2011, 08:48:19 PM
 #2

Needs libpci-dev on debian/ubuntu
xoraxax
Newbie
*
Offline Offline

Activity: 20
Merit: 0


View Profile
May 27, 2011, 08:51:59 PM
 #3

Now it fails with ... any idea?

gcc -O3 -Wall -c vt1165.c
In file included from vt1165.h:17:0,
                 from vt1165.c:18:
types.h:19:17: error: redefinition of typedef ‘u8’
types.h:19:17: note: previous declaration of ‘u8’ was here
types.h:20:18: error: redefinition of typedef ‘u16’
types.h:20:18: note: previous declaration of ‘u16’ was here
types.h:21:18: error: redefinition of typedef ‘u32’
types.h:21:18: note: previous declaration of ‘u32’ was here
ius (OP)
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
May 27, 2011, 08:58:50 PM
 #4

Good catch on the pciutils/libpci devel package. Arch does not ship headers separately, so I totally forgot about the dependency for other distros.

Regarding your compilation error, it seems I also forgot include guards. I have comitted the fix to Github, if you redownload the source from the same URL you should be able to compile.
xoraxax
Newbie
*
Offline Offline

Activity: 20
Merit: 0


View Profile
May 27, 2011, 09:07:02 PM
 #5

It does not output anything, this is my AMD lspci: http://paste.pocoo.org/show/396385/
trentzb
Sr. Member
****
Offline Offline

Activity: 406
Merit: 251


View Profile
May 27, 2011, 09:10:51 PM
 #6

- Accesses the Radeon i2c bus by mapping the Radeon i2c controller registers via /dev/mem, .

nice, what else can we do?
Raulo
Full Member
***
Offline Offline

Activity: 238
Merit: 100


View Profile
May 27, 2011, 09:24:01 PM
 #7

Does not work:

Code:
Device [1]: Cypress [Radeon HD 5800 Series]
Unsupported i2c device (1a)

My card is
Code:
01:00.0 VGA compatible controller: ATI Technologies Inc Cypress [Radeon HD 5800 Series]
        Subsystem: PC Partner Limited Device e140
        Flags: bus master, fast devsel, latency 0, IRQ 29
        Memory at e0000000 (64-bit, prefetchable) [size=256M]
        Memory at f5000000 (64-bit, non-prefetchable) [size=128K]
        I/O ports at b000 [size=256]
        [virtual] Expansion ROM at f4000000 [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: fglrx_pci
        Kernel modules: fglrx

1HAoJag4C3XtAmQJAhE9FTAAJWFcrvpdLM
xoraxax
Newbie
*
Offline Offline

Activity: 20
Merit: 0


View Profile
May 27, 2011, 09:55:00 PM
 #8

It does not output anything, this is my AMD lspci: http://paste.pocoo.org/show/396385/

You added a device id filter :-P After I removed it, I see some data for my 5970s but nothing for my 5870:


Device [7]: Hemlock [ATI Radeon HD 5900 Series]
        Current core voltage: 1.0375 V
        Presets: 0.9500 / 1.0000 / 1.0375 / 1.0500 V
        Core power draw: 56.61 A (58.74 W)
        VRM temperatures: 84 / 86 / 86 C


Device [15]: Hemlock [ATI Radeon HD 5900 Series]
        Current core voltage: 1.0375 V
        Presets: 0.9500 / 1.0000 / 1.0375 / 1.0500 V
        Core power draw: 53.13 A (55.12 W)
        VRM temperatures: 91 / 94 / 92 C


Device [16]: Radeon HD 5870 (Cypress)
Unsupported i2c device (1a)
ius (OP)
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
May 27, 2011, 10:10:20 PM
 #9

I did indeed, and forgot to add the HD5870 device id. Should be added now, and I've also increased the sleep after a mmio write just to be sure.

The 0x1A value returned is actually the last value written to the i2c data register. This might be a timeout. You can uncomment line 104 in i2c.c to view the i2c status register state after bytes have been sent (redownload first).

If your 5870 is a reference card it might be very well that it's using different GPIOs for i2c. If that's the case, 5850 reference is the only card on which it should work.
ius (OP)
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
May 27, 2011, 10:17:07 PM
 #10

My card is
Code:
01:00.0 VGA compatible controller: ATI Technologies Inc Cypress [Radeon HD 5800 Series]
        Subsystem: PC Partner Limited Device e140

Is that a Sapphire card? Sure it's a reference design? I'm 100% positive they have non-reference designs (thus not going to wrk), not sure if they also have reference ones.
Raulo
Full Member
***
Offline Offline

Activity: 238
Merit: 100


View Profile
May 27, 2011, 10:55:58 PM
 #11

Is that a Sapphire card? Sure it's a reference design? I'm 100% positive they have non-reference designs (thus not going to wrk), not sure if they also have reference ones.

It's a non-reference Sapphire card.

1HAoJag4C3XtAmQJAhE9FTAAJWFcrvpdLM
disq
Newbie
*
Offline Offline

Activity: 41
Merit: 0



View Profile
May 27, 2011, 11:12:27 PM
 #12

Is that a Sapphire card? Sure it's a reference design? I'm 100% positive they have non-reference designs (thus not going to wrk), not sure if they also have reference ones.

btw, Sapphire 5850 Xtreme cards are popular and cheap nowadays, but they can only be overvolted using Trixx (Sapphire's proprietary Windows tool)
A tool that runs on Linux overvolt these cards (5850 xtremes) would be very useful to the community, and could also gather some donations as well.
I could donate 5 BTC for instance.
ius (OP)
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
May 29, 2011, 10:16:32 PM
 #13

I would happily try to add support for the Sapphire card (if it's not too difficult given I don't have the card myself), but I'd need some bits of info.

- GPIOs used for i2c
- The actual VRM chip(s) used. Have you got any idea? Is it vt1165, or something else?
disq
Newbie
*
Offline Offline

Activity: 41
Merit: 0



View Profile
May 29, 2011, 10:39:16 PM
 #14

is there any way to probe the card for the info?
coinjedi
Full Member
***
Offline Offline

Activity: 184
Merit: 100



View Profile WWW
June 02, 2011, 09:54:22 PM
 #15

It doesn't work with my Asus 5850. It gives "Unsupported i2c device" error. Here is my card:
http://www.newegg.com/Product/Product.aspx?Item=N82E16814121375
Is it possible to fix it?
Thanks for the hard work.

cj

Bets of Bitcoin
http://betsofbitco.in/
ius (OP)
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
June 04, 2011, 01:18:57 AM
 #16

The Asus 5850 DirectCU is non-reference card. Google suggests it's usng a uP6208 controller, but the correct GPIOs for i2c would need to be reverse engineered from a Windows tool supporting voltage modification on this card...
zard_cz
Newbie
*
Offline Offline

Activity: 16
Merit: 0


View Profile
June 11, 2011, 05:42:53 PM
 #17

Tested on XFX 6870 (I believe it's a reference design)

- radeonvolt gives no output
- info from lspci http://paste.pocoo.org/show/404596/
Zagitta
Full Member
***
Offline Offline

Activity: 302
Merit: 100


Presale is live!


View Profile
June 12, 2011, 02:30:18 AM
 #18

Thanks a lot! small donation comming to your wallet soon Smiley

antz123
Newbie
*
Offline Offline

Activity: 12
Merit: 0



View Profile
June 19, 2011, 08:03:30 PM
Last edit: June 20, 2011, 02:10:57 AM by antz123
 #19

Hi, we've recently been having some issues overvolting our Sapphire 5850 Xtreme cards, basically having the same issues as some other people in this thread.

I had search around today on the net and found this: http://www.techpowerup.com/forums/showthread.php?p=2308101

Not sure if its right or not, but it looks to be around the right sort of thing you were after? In particular the use of the IC chip used on the card.

Obviously software based overvolting is far more desirable than this risky hardware mod in that thread. Myself and my business partner would be immensely grateful if these issues could be resolved for linux and we'd be willing to throw you a bitcoin or two for your trouble  Grin. We realise its not much, but hopefully others will be able to contribute as well.

Hope this helps, if there's any other information you want us to trawl the web for, we will try and help!
padrino
Legendary
*
Offline Offline

Activity: 1428
Merit: 1000


https://www.bitworks.io


View Profile WWW
June 20, 2011, 02:06:29 AM
 #20

Great tool...

I spent many hours today searching for a way to underclock my memory however I haven't had any luck without flashing a BIOS to open up the range of supported clock settings. AMDOverdrivectrl does not set anything outside of the stock ranges. On Windows it's possible with numerous tools so I assume the same can be done on Linux, in your work have you seen anything like that?

1CPi7VRihoF396gyYYcs2AdTEF8KQG2BCR
https://www.bitworks.io
Pages: [1] 2 3 4 5 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!