I’m trying to create a small application that would be able to save the screen layout and be able to load it at boot time. And also save the EDID (I’m using quadro card) and load them at the proper GPU and outputs at boot time. Any people had experience with similar project that could help me ? Are these things possible with the NVAPI ?
Thank you for contacting NVIDIA developer forum. I will assist you with this query.
Could you kindly clarify on what exactly do you mean by the “Screen Layout”? Is it the number of displays with their relative positions (as seen in Microsoft Display Settings Panel or NVIDIA Control Panel’s
Set up multiple displays page)?
NVAPI Forum Moderator
Yes I meant the screens positions as seen in Microsoft Display Settings Panel or NVIDIA Control Panel’s
Set up multiple displays page
I would answer your query in three parts:
In order to get and set the display configuration using NVAPI, you can use the following APIs:
To see a sample usage of these functions, kindly refer to the file
Sample_Code\DisplayConfiguration\DisplayConfiguration.cpp inside the NVAPI SDK zip. You will have to correctly set the Path Info structure members to duplicate 3 monitors.
(II) You can also use the Windows APIs directly:
* QueryDisplayConfig: https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-querydisplayconfig
* SetDisplayConfig: https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setdisplayconfig
You have also mentioned about loading and persisting the EDID. You might already be using the API
NvAPI_GPU_SetEDID for the same.
NVAPI Developer Forum
Good, Yes i saw the set EDID, but I dont see how we can specify on which port we set the EDID. For example, if I have 2 video card and I want to set on port 3 of card #2
Is there also a way to get what screen is connected on which port ? a bit like we see in system topology in nvidia driver?
I have the same question.
Hello @gervais.phil , @patrick.xiong
I have noted your query about finding a way to get what screen is connected on which port. I will check within our technical team and get back to you.