AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte AMD ATI Display Library (ADL) SDK 3.0 für Pascal
Thema durchsuchen
Ansicht
Themen-Optionen

AMD ATI Display Library (ADL) SDK 3.0 für Pascal

Ein Thema von DOCaCola · begonnen am 25. Mai 2010 · letzter Beitrag vom 22. Jul 2010
Antwort Antwort
DOCaCola
Registriert seit: 25. Mär 2007
Erstmal zur Erklärung: Ich bin vor kurzem von meiner NVidia karte auf ATI umgestiegen. Ich hatte auf der NVidia Karte als auch jetzt der ATI Karte nicht den Originallüfter drauf, sondern eine Drittherstellerlösung. Den Lüfter habe ich dabei jeweils über eine Softwareregelbare USB Lüftersteuerung (T-Balancer) angeschlossen. Die Temperaturen der NVidia karte konnte ich immer problemlos über SpeedFan auslesen und an die Software der Lüftersteuerung weiterreichen um den Lüfter dieser so zu regeln. Da SpeedFan ATI Karten nicht unterstützt, blieb mir mehr oder weniger nichts anderes übrig, als selbst ein kleines Tool zu schreiben, um das zu erledigen. Die Möglichkeit diese Temperaturwerte auszulesen gibt es nur über die AMD Display Library (oder kurz ADL) welche (wie so oft) nur für C zur Verfügung gestellt wird. Da ich jetzt nicht nur einen Fetzen des SDKs übersetzen wollte, habe ich mir die Mühe gemacht, das Komplette SDK in Pascal zu übertragen, damit eventuell andere dieses weiterverwenden können für ihre eigenen Projekte.

Bei ADL handelt es sich um eine Library die es ermöglicht, allerlei Informationen von ATI Karten auszulesen bzw zu setzen. Das beschränkt sich nicht nur auf das auslesen der Temperaturen, sondern auch Dinge wie Bildschirmauflösungen, Taktraten (Übertakten), Lüftergeschwindkeiten, Angeschlossene Monitore und und und… . Das ADL wird z.B von Tools wie GPU-Z verwendet.

Um etwas mit dem ADL unter Delphi anzufangen zu können, sollte man sich auf jeden Fall das aktuelle C SDK von AMD direkt laden und einen Blick in das Handbuch werfen. Informationen und den Download des SDKs findet man hier:
http://developer.amd.com/gpu/adlsdk/Pages/default.aspx

Den Source Code des Pascal-ADLs habe ich angefügt. Jeder darf es verwenden wie er möchte. Ich übernehme keine Garantie für etwaige Fehler in der Übersetzung und deren Folgen - es handelt sich immerhin um ein ziemlich mächtiges Werkzeug um unter anderem auch die Taktraten der Grafikkarte zu verändern.

Zusätzlich zum Source des SDK habe ich ein kleines Demo Programm beigefügt, welches die aktuelle Temperatur der Grafikkarte in der Konsole ausgibt und man etwas Einsicht bekommt, wie man das SDK benutzt. Dieses habe ich auch nochmal als Binary angefügt zum gegentesten. Das Umfangreichere Demo Programm, welches dem Original SDK beiliegt, habe ich nicht übersetzt.

Geschrieben und getestet habe ich die Übersetzung mit Delphi 2007 unter Windows 7 mit einer HD5870 und den gerade aktuellen Catalyst 10.4 Treibern.
Funktionieren sollte das ADL wohl mit allen einigermaßen aktuellen ATI Grafikkarten.

Viel Spaß damit Ich freue mich über Feedback und Verbesserungsvorschläge.
Angehängte Dateien
Dateityp: exe atitemp_158.exe (45,5 KB, 99x aufgerufen)
Dateityp: 7z atisource_170.7z (18,6 KB, 143x aufgerufen)
 
DJManiac

 
Delphi 2 Desktop
 
#2
  Alt 21. Jul 2010, 12:59
Genau vor dem Problem stehe ich auch gerade.

Ich würde gern das die Temp der ATI GPU (5870) die Gehäuselüfter steuert.
Da SpeedFan die Temps von Haus aus nicht ließt, habe ich mich auf die Suche gemacht und Deinen Beitrag gefunden!

Leider bin ich nicht so vom Fach (wie offensichtlich Du).

Kannst Du mir sagen, wie ich jetzt die GPU-Temp SpeedFan kompatibel machen kann?
Dein Binary funtioniert gut mit den aktuellen catalyst 10.6 Treibern....

Kenne mich nicht so aus... Hast Du da ggf. bereits etwas Vorbereitet?

Besten Dank schon einmal...

DjM.
  Mit Zitat antworten Zitat
hathor
 
#3
  Alt 21. Jul 2010, 14:49
Speedfan nutzt SHARED MEMORY. Man kann den Bereich nicht nur auslesen, sondern auch etwas hinein schreiben. Ob Speedfan etwas damit anfangen kann, weiss ich nicht. Es ist wahrscheinlich besser, selbst den Embedded Controller (EC) zu steuern.

Was hast Du denn schon an "ATI-Code"? Welches Notebook, welcher PC? Welcher EC? Welches Betriebssystem?
  Mit Zitat antworten Zitat
DJManiac

 
Delphi 2 Desktop
 
#4
  Alt 21. Jul 2010, 19:10
mmm - Das habe ich leider vermutet. ICh werde Sachen gefragt von denen ich kaum Ahnung habe.

An ATI-Code habe ich nichts. Weiß auch nicht so was Du meinst. sry.

Desktop-PC (Eigenbau)
Mainboard: Gigabyte GA-EX58-EXTREME
Grafik: ATI HD 5870 (PowerColor 5870 PCS+)
Windows 7 64 Bit

Ob mein MB einem Embedded Controller hat kann ich Dir nicht sagen. Sowas kenne ich (bzw habe ich schon mal von gehört) nur bei Notebooks.

Trotzdem Danke für Deine Antwort....
  Mit Zitat antworten Zitat
hathor
 
#5
  Alt 21. Jul 2010, 20:18
...Ich würde gern das die Temp der ATI GPU (5870) die Gehäuselüfter steuert...
DjM.
Es gibt für etwa 10 EUR einen Bausatz oder fertige Miniplatine, die kann mit einem Temperaturfühler einen Ventilator regeln: klebe den Temperaturfühler auf die GPU oder den Kühlkörper und verbinde den geregelten Ausgang mit einem Gehäuselüfter - Stromversorgung: 12 Volt. Mit einem Poti kann man den Regelbereich einstellen.

http://www.produktinfo.conrad.com/da...erregelung.pdf
http://www.conrad.de/ce/de/product/117323/
http://www.conrad.de/ce/de/overview/...gler-Bausaetze

Geändert von hathor (21. Jul 2010 um 20:22 Uhr)
  Mit Zitat antworten Zitat
DJManiac

 
Delphi 2 Desktop
 
#6
  Alt 21. Jul 2010, 20:53
klar - das auch ne Hardwaresteuerung drin ist - Aber das wollte ich eigentlich nicht.

Aber danke für den tipp....
  Mit Zitat antworten Zitat
DJManiac

 
Delphi 2 Desktop
 
#7
  Alt 22. Jul 2010, 14:11
nun ja - hab jetzt den "kurzen Dienstweg" genommen und als TempReferenz für die entsprechenden Lüfter die Mainboard Temperatur genommen - Die steigt relativ äquivalent zur GPU-Temp. Natürlich nicht so hoch aber das ist dann Einstellungssache.

Hätte ich auch schon früher drauf kommen können.

Wenn wer hier dann doch ne Lösung hat um SpeedFan die GPU-Temp beizubringen - immer her damit.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz