View Full Version : AMD Releases Display Library For Linux
phoronix
03-18-2009, 04:00 PM
Phoronix: AMD Releases Display Library For Linux
This afternoon AMD has released the Catalyst 9.3 driver for Windows along with ADL, or the AMD Display Library. The AMD Display Library is a cross-platform library that provides a single SDK to access graphics hardware information. In the past AMD has provided a few SDKs for obtaining this information on Windows, but this is the first time we are seeing such support on Linux.
http://www.phoronix.com/vr.php?view=13610
BlackStar
03-18-2009, 04:41 PM
This is very very exciting, especially the part on fan control. Well done Ati!
TobiasTheViking
03-18-2009, 04:53 PM
*sigh* still no UVD :(
Oh well, it will come at some point, just hoped it was now.
Pfanne
03-18-2009, 05:10 PM
can this library be used without using the rest of the proprietary driver?
bridgman
03-18-2009, 05:11 PM
AFAIK it's an API into the proprietary driver. I don't think it does anything on its own.
Pfanne
03-18-2009, 05:18 PM
AFAIK it's an API into the proprietary driver. I don't think it does anything on its own.
well it certainly would make sense this way, so it doesnt interfere with the drivers own fancontrol...
would be nice if it was the other way around and the driver would depend on the library for such things ;)
This sounds very interesting; let's hope, a nice app for all that will appear soon :)
Also lm_sensors can now "learn" to read the GPUs status :)
bulletxt
03-18-2009, 05:48 PM
Very good AMD... let's just hope there are enough developers writing the open source driver.
rohcQaH
03-18-2009, 05:56 PM
well, it's an API that can be used on several operating systems for a single driver.
It would be more useful if there was an API for several drivers on a single platform, i.e. for all X drivers (including OS drivers, nVidia, intel, ..).
But meh, that's hardly AMD's fault ;)
bridgman
03-18-2009, 05:57 PM
Yeah, we don't have programming info for NVidia chips either :D
russofris
03-18-2009, 08:17 PM
bman,
How long before this is reverse engineered?
F
bridgman
03-18-2009, 09:17 PM
How long before this is reverse engineered?
We're already working on it :D
Seriously, the only info obtainable from RE'ing this would be the power & thermal stuff that we're trying to get documented now. I think everything else is already either running in the open drivers or being worked on already. This isn't a standalone library, it's an API into a big honkin' binary driver, so RE'ing it would take some work.
Fan & temp info for 5xx and lower GPUs (and some early 6xx parts) would be pretty easy to figure out, but Alex has already talked about that (third-party temp sensor/fan controller chips hooked up by GPIO lines) and devs are already using the info.
Midway through the 6xx family we started rolling in a lot of changes to that area, including adding a fan controller on-chip, and (a) things got more complicated, (b) things started changing from one chip to the next. My guess is that we'll have documentation out first.
As a condition of installing or using the driver you agree not to reverse engineer, disassemble, bend, fold, spindle or mutilate it (although you are allowed to copy it), so obviously none of the fine Phoronix readers would be doing that anyways, right ?
bulletxt
03-18-2009, 09:49 PM
We're already working on it :D
As a condition of installing or using the driver you agree not to reverse engineer, disassemble, bend, fold, spindle or mutilate it (although you are allowed to copy it), so obviously none of the fine Phoronix readers would be doing that anyways, right ?
Correct me if I'm wrong: for what I know, that's an illegal contract. Some contries allow reverse engineer, at least for studying purpose. But I might be wrong.
Even if it was legal, then I go againts the law. It's like saying I'm not allowed to understand how something works. This is against any form of human right. Well actually, all proprietary protocols and software in a good world, should be illegal :)
Microsoft time ago said a lot of open source softwares are illegal because they use patented things. Then I want to say that they are illegal because I can't know if their proprietary softwares are legal since I can't see the code.
bridgman
03-18-2009, 09:57 PM
Yeah, every country is a bit different. Some countries definitely allow reverse engineering for specific purposes ("ensuring interoperability" is a popular catch-all), but most of those countries then put limits on what you can do with the information.
Pretty much everything is legal *somewhere*. You just have to worry about what happens when you or the information come home ;)
krazy
03-18-2009, 10:10 PM
Yeah, every country is a bit different. Some countries definitely allow reverse engineering for specific purposes ("ensuring interoperability" is a popular catch-all), but most of those countries then put limits on what you can do with the information.
Pretty much everything is legal *somewhere*. You just have to worry about what happens when you or the information come home ;)
Hmm, interestingly enough here in Australia (http://wiki.efa.org.au/ip/reverse-engineering/index) EULA clauses prohibiting reverse engineering are invalid (in contrast to eg. the US). I'm pleasantly surprised. :)
bridgman
03-18-2009, 10:23 PM
Actually that's a great example. The first bullet point talks about limitations on what you can do with the RE'ed information :
it applies only to the reproduction and adaptation rights. Significantly, it does not apply to communication to the public, which means that further distribution of the code may be restricted;
The law doesn't actually say that it's "open season" for reverse engineering, just that specific rights (like the one you linked to) can not be over-ridden by a EULA. The wording there is a bit confusing; it says "a provision .. that states that the licensee has NO right to reverse engineer the product is invalid", but it doesn't make it clear that rather than having NO rights you have SPECIFIC, LIMITED rights (as opposed to complete freedom) :
Section 47D (and the other computer-related exceptions in the Copyright Act) are protected from exclusion by contract in s 47H.
Laws like this strike a pretty good balance between the rights of individual users and the rights of the companies which spent money to develop the technology.
GreatWalrus
03-18-2009, 10:53 PM
Call me ignorant, but does this mean I'd be able to check the temperature of my ATI Radeon Xpress 1150 Integrated card (RS485)? I've never been able to do so with catalyst drivers or others. That would be awesome if I could.
bridgman
03-19-2009, 12:57 AM
It's like the old joke about the guy about to undergo surgery on his hand...
Patient : "Doctor, after the operation will I be able to play the piano ?"
Doctor : "I don't see why not"
Patient : "Great, I always wanted to be able to play the piano"
If the Windows Catalyst drivers let you read the temperature then there's a pretty good chance you'll be able to do it with ADL under Linux. If the Windows drivers can't do it either, then I doubt ADL will help.
energyman
03-19-2009, 06:21 AM
hm, btw, is there a list of the aticonfig --pplib-cmd "" commands?
because fan control is available today - just not nicely ;)
mtippett
03-19-2009, 09:41 AM
hm, btw, is there a list of the aticonfig --pplib-cmd "" commands?
because fan control is available today - just not nicely ;)
For the record, only interfaces that are documented in some form or another or are directly accessible to the user (CCC-LE, aticonfig --help, now ADL documentation) should be considered stable for a particular ASIC.
Undocumented interfaces found by users are undocumented for a reason, they primarily support internal development and test, and are not intended for end-user use.
By all means use them, play with them and have fun. But be aware that we may change them, or we may remove it altogether based on internal criteria.
energyman
03-19-2009, 10:00 AM
yeah, but it still would be nice to have a complete list even if it is prone to change.
Stuff like aticonfig --pplib-cmd "get fanspeed 0" is just so usefull.
pflynn
03-19-2009, 06:49 PM
Well...
I tried the API today, but got strange behaviors, like ADL_Adapter_NumberOfAdapters_Get giving me 2 adapters instead of 1 and ADL_Overdrive5_Temperature_Get giving 134514537 as the temperature in milidegrees Celsius, while the current temperature is 43.50 degrees Celsius according to aticonfig --odgt. Thought it could be my mistake in the code, but I got the same value (2 intead of 1) for ADL_Adapter_NumberOfAdapters_Get in the Sample/main.c example that comes with the ADL_SDK.
b15hop
03-20-2009, 12:28 PM
It's like the old joke about the guy about to undergo surgery on his hand...
Patient : "Doctor, after the operation will I be able to play the piano ?"
Doctor : "I don't see why not"
Patient : "Great, I always wanted to be able to play the piano"
If the Windows Catalyst drivers let you read the temperature then there's a pretty good chance you'll be able to do it with ADL under Linux. If the Windows drivers can't do it either, then I doubt ADL will help.
About 8 years ago, I had made a simple voxel engine. When I showed it to the lecturer at uni, he told me it was obsolete. Voxels are rubbish and apparently my effort was a waste of time. If I had not listened to him and kept going with my creation. Right now I would be light years ahead of everyone else. Maybe even JC himself. I don't doubt it for a second.
But here I am now. Watching the caravan pass by...
vBulletin® v3.8.4, Copyright ©2000-2010, Jelsoft Enterprises Ltd.