kdschlosser

Have some ADL questions

Discussion created by kdschlosser on May 7, 2020

The ADL SDK now resides on GitHub for those if you that do not know.

GitHub - GPUOpen-LibrariesAndSDKs/display-library: AMD Display Library SDK

 

Now that Github repo is pretty stale. Nothing has been really done with it in a number of years and no one is answerng any questions or providing help. No PR's are being done.

 

Is the ADL no longer being developed?

If the ADL is no longer being developed is there a replacement for it?

 

I have been porting the entire ADL SDK to Python

GitHub - kdschlosser/ati_radeon: Python bindings to ati radeon video cards

 

I seem to be doing on in terms of getting things to work. The biggest thing that I am not able to figure out is the organization of some of the "objects"

 

So you have adapters which in a normal mindset this would be a single physical video card. The ADL is not organized in that manner. for my single physical video card there are actually 8 adapters. I am not sure where this magic number of 8 comes from. I do not have 8 physical ports on the card nor do I have 8 cards. all 8 of the adapters have the same adapter id. so they all belong to the same physical device. I am not sure of the arrangement of what is called an adapter. Most of the ADL revolves around the use of an adpter index which gets passed to a large number of the functions. This adpater index is the "id" of a logical adapter in the ADL. quite a few of the functions return the exact same thing and it does not matter what adapter index I use.

 

Then on top of that you have connectors and ports

 

It seems like the same connectors are available no matter what adapter index I use as well as the ports. So now I am really confused. I know that the ports also applies to mhl dongles that have multiple ports on them. so that much I do understand. But if all 8 adapters always return the same connectors how is someone supposed to know what goes to where?

 

Another issue I am running into is when i call the function ADL2_Adapter_SupportedConnections_Get it populates the passed structure without issue. Inside of that structure is a bitmask in the field iValidProperties that allows to to test to see of a specific feature is supported.

 

If i test that bitmask against ADL_CONNECTION_PROPERTY_BITRATE i am told that bitrate is a supported feature.

 

in order to get the data for the bitrate I have to use the function ADL2_Adapter_ConnectionData_Get. I use the exact same adapter index and also the exact same device port that was used to find out if bitrate is supported or not to get the data it fails with an error of "Function not supported by driver" I am running the latest version of the drivers so It should be working. The function has not been deprecated. Can someone explain to me what I may be doing wrong.

 

It would also be very helpful if someone could explain the relation ship between the physical adapter and the 8 logical adapters along with ports and connectors, displays, overlays, gl_sync connectors, and controllers. and also what functions are going to return the same information no matter what adapter index is used because the information that is returned applies to the physical adapter.

 

I am running Windows and I have 3 monitors connected but it is telling me that there are 11 displays 1 overlay 6 controllers and 4 connectors.

 

I know that Windows is infamous for stale records in the registry.I have not been able to locate a wat to tell if an adapter index is actually being used or not. All 8 of them report that they are present, they are active and they also exist.

 

Any help would be appreciated.

Outcomes