Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   AMD ATI Display Library (ADL) SDK 3.0 für Pascal (https://www.delphipraxis.net/151628-amd-ati-display-library-adl-sdk-3-0-fuer-pascal.html)

DOCaCola 25. Mai 2010 20:30


AMD ATI Display Library (ADL) SDK 3.0 für Pascal
 
Liste der Anhänge anzeigen (Anzahl: 2)
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.

DJManiac 21. Jul 2010 11:59

AW: AMD ATI Display Library (ADL) SDK 3.0 für Pascal
 
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? :wink:

Besten Dank schon einmal...

DjM.

hathor 21. Jul 2010 13:49

AW: AMD ATI Display Library (ADL) SDK 3.0 für Pascal
 
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?

DJManiac 21. Jul 2010 18:10

AW: AMD ATI Display Library (ADL) SDK 3.0 für Pascal
 
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....

hathor 21. Jul 2010 19:18

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

Zitat von DJManiac (Beitrag 1036589)
...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

DJManiac 21. Jul 2010 19:53

AW: AMD ATI Display Library (ADL) SDK 3.0 für Pascal
 
klar - das auch ne Hardwaresteuerung drin ist - Aber das wollte ich eigentlich nicht.

Aber danke für den tipp....

DJManiac 22. Jul 2010 13:11

AW: AMD ATI Display Library (ADL) SDK 3.0 für Pascal
 
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. :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:03 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