Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nvidia amount of connected monitors greater than 4 #291

Open
dev1981 opened this issue Feb 10, 2024 · 14 comments
Open

Nvidia amount of connected monitors greater than 4 #291

dev1981 opened this issue Feb 10, 2024 · 14 comments
Assignees
Labels
cant fix Cannot fix this as it is an upstream problem, or something that can't be fixed for some reason enhancement New feature or request
Milestone

Comments

@dev1981
Copy link

dev1981 commented Feb 10, 2024

Hi Terry,

maybe you can remember i was telling you some months ago, that i always have to apply my SimRacing Profile twice until it gets loaded.
So for now i guess it is because i have 5 monitors attached to my NV card but NV only allows 4 ACTIVE connections at one time (even if the card has 5 ports). Sometimes the switching was a little bit lazy, that means sometimes it works still with the first attempt to switch.
So by changing from 2 Active to Tripples (Surround) does not work directely in most cases.

But if i switch previousely to 1 active display and then the switch over to tripples, it works. I tried it with the release mentioned in Issue #193.
Maybe you or someone with 5 Monitors attached can confirm this behaviour. Maybe its fixable by dropping one active display which
won´t be in the target profile.

Thank you for your great work on that tool.

Regards

Adrian

@dev1981 dev1981 added the enhancement New feature or request label Feb 10, 2024
@terrymacdonald terrymacdonald added the cant fix Cannot fix this as it is an upstream problem, or something that can't be fixed for some reason label Feb 10, 2024
@terrymacdonald
Copy link
Owner

terrymacdonald commented Feb 10, 2024

Hi @dev1981,

I have some bad news. The NVIDIA driver NvAPI library calculates the maximum number of displays as:

#define NVAPI_MAX_DISPLAYS NVAPI_PHYSICAL_GPUS * NVAPI_ADVANCED_DISPLAY_HEADS

The NVAPI_ADVANCED_DISPLAY_HEADS is 4, meaning that the total number of screens you can have connected to an NVIDIA card is actually 4 * the number of GPUs you are running.

#define NVAPI_ADVANCED_DISPLAY_HEADS 4

NVIDIA only support a max of 4 displays with their NVAPI video cards through their NvAPI driver, meaning that with a single RTX GPU you will only have 4 max screens active at once.

Some video card manufacturers add in additional connector ports, but each NVIDIA GPU will only be able to drive 4 screens at once.

I've read that some AMD cards support 6 screens per GPU, and of course if you have an iGPU then you might be able to add another screen that way.

With the recent changes introduced by DM v2.6.0, DisplayMagician should now see any video card GPUs you have in your system, as long as it supports the Windows CCD or GDI APIs. This is pretty much any video card made since 2000.

But unfortunately with NVIDIA you're restricted to just having those 4 screens enabled at once. If you've managed to get 5 screens from a single NVIDIA GPU then that's awesome, but based on what I've read that shouldn't happen, and I doubt that NVIDIA would support it. It will likely stop working at any stage as it would be considered a bug by them.

I'll close this issue as there is nothing I can do I'm afraid!

Terry

@dev1981
Copy link
Author

dev1981 commented Feb 12, 2024

hi Terry,

sry maybe this was a little missleading. I know that i only can have 4 active displays at once. I was not able to have 5 active at the same time :)
But i was talking about the switch szenario.

What i do is i try to switch from;
"1st pair, 2 active" to "2nd pair 3 active (surround)". This fails on the first attempt in most cases. (seems to be timinig sensitive as well)

but

When i switch from "1st pair, 2 active" to "1st pair, 1 active" to "2nd pair 3 active (surround)" it works.

But if the NV api does not return a max monitor amount higher then 4 youn won´t be able to know if someone has 5 attached.

Reagards

@terrymacdonald
Copy link
Owner

terrymacdonald commented Feb 12, 2024 via email

@dev1981
Copy link
Author

dev1981 commented Feb 13, 2024

so, today i performed a quick test.

  1. installed latest dev version of DM DisplayMagicianSetup-v2.6.0.522-corrected-setup -> reboot.
  2. attempt to switch directely to my simracing profile -> worked on 1st attempt -> switched back to my default profile -> worked
  3. scratching my head :)
  4. 2nd attempt switch to simracing profile -> DIDDN´T work!
  5. 3rd attempt to switch to simracing profile -> worked -> switched back to default profile -> worked
  6. did it again, one more switch cycle -> 1st attempt DIDDN´t work, 2nd attempt did.
  7. Now tried other szenario. -> Switched to Single DisplayProfile -> worked -> 1st attempt to switch to simracing profile -> DIDDN´T work -> tried again to switch to simracing, worked!

--> so on my site it looks like its always neccessary to trigger the profile switch twice, EXCEPT the very first time. My previous conclusion that it will always work going over a single display profile was therefore wrong.

  1. rebootet my machine
  2. 1st attempt to switch to simracing profile -> worked. -> switched back to default, worked
  3. 2nd attempt to switch to simracing profile -> DIDDN´T work.
  4. 3rd attempt to switch to simracing profile -> worked -> switch back to default -> worked.

--> seems to be consistent, first switch after reboot works flawless. Every further attempt requires two triggers.

Some side notes during testing;

  • after the profile is switched to simracing (sourrounded tripples) 1st attempt opening the Win10 context menu (right klick on desktop), takes about 1:30 min to open the menu.
    Every further atttempt works as expected, klick -> open.

  • after switching back to default profile (dual profile, different monitors), after 10-15 sec. there is some signal loss, and screens are switching off and on. This stops after a few seconds, then everything back to normal.

  • The context menu works like it should, klick -> open.

The logs of 13th should reflect all the actions above. Hope this helps.
Thank you very much for your efforts. This programm is a bless for everyone who has to deal with multiple screens and different use-cases.

DisplayMagician-Support-20240213-1118.zip

grz

adrian

@terrymacdonald
Copy link
Owner

terrymacdonald commented Feb 14, 2024 via email

@terrymacdonald
Copy link
Owner

terrymacdonald commented Feb 14, 2024

And later today is now!
DisplayMagicianSetup-v2.6.0.524-devicemode-fields.zip

@dev1981
Copy link
Author

dev1981 commented Feb 14, 2024

And later today is now! Uploading DisplayMagicianSetup-v2.6.0.524-devicemode-fields.zip…

--> sry mate i think the link for the release is not working?

@terrymacdonald
Copy link
Owner

Link updater. Sorry I was so keen I clicked save before the upload had finished 😄.

DisplayMagicianSetup-v2.6.0.524-devicemode-fields.zip

Terry

@dev1981
Copy link
Author

dev1981 commented Feb 16, 2024

  1. Installed version of DM DisplayMagicianSetup-v2.6.0.524-devicemode-fields -> reboot.
  2. 1st attempt to switch to my simracing profile (1st after reboot) -> worked -> switched back to default profile -> worked
  3. 2nd attempt switch to simracing profile -> DIDDN´T work!
  4. 3rd attempt to switch to simracing profile -> worked -> switched back to default profile -> worked

--> besides the fact that nothing changed for the switch szenario, it is still required to trigger the profiles twice except the 1st time, but the behaviour changed.
Last time when it fails, it stayed at the actual profile (dual screens activce) . This time, the only active screen after the failed attempt was my secondary screen. My main display and everything else stayed black.

--> after switch the context menu still takes 1:30 min to open when surround is active.

Regarding the shortcut finding from last time;
The only thing what i could find about this ACC server manager thing is an orphant Win startmenu entry. (see screenshot). The program is not longer installed on my machine.

grafik

StartupTime;
DM is configured to start after reboot, this takes ~ 2 min. but was already relatively slow in the previous version.

Grüße :)

DisplayMagician-Support-20240216-0946.zip

@terrymacdonald
Copy link
Owner

Well this is odd. It looks as though NVIDIA driver doesn't follow its own documentation. My NVIDIA video card also doesn't return LogicalGPU handle just like your error message. This is completely different to the NVIDIA documentation (and I think it's fairly new behaviour). I'm not sure that's actually an issue, but it is unusual to see.

DisplayMagician loads the games from Windows, Steam, Epic and the rest, and that takes some time to do. The amount of time completely depends on how many games you have purchased or installed. If people have a lot of games and apps, then the loading time would be longer. That's why I recommend loading DisplayMagician on startup, and minimising on launch. Then you don't notice the loading time as much.

I can't remember if I've gotten you to 'Update' your simracing display profile yet? If not, can you please try that? To do so, please recreate your simracing display layout in NVIDIA Control Panel and Windows Display Settings. Then return to DisplayMagician, change to your Simracing Display Profile, and press the Update button. Click Yes to overwrite the DIsplay Profile with the current display layout.

Once that's done, please try to swap display profiles, and do the same tests after a reboot. It will be interesting to see if it's something to do with the age of the Display Profile, or if some settings in the NVIDIA driver have changed.

Then please reply here with the updates, and please also create and upload a new Support ZIP FIle.

Regarding the old ACC Server Manager files, IIRC DisplayMagician checks windows registry for the list of installed programs, so it's likely an old entry left in there. Its no big deal, it just will error and skip adding the entry to the list of available installed programs it presents to the user.

Thanks
Terry

@dev1981
Copy link
Author

dev1981 commented Feb 23, 2024

sry took me a while to find time for additional tests.

I re-created all my profiles and updated them. It diddn´t changed the behaviour. After reboot 1st attempt always works, every further attempt needs two attempts to switch profile. I created new logs for that.

DisplayMagician-Support-20240223-1516.zip

Then i was thinking a little further. For better understanding reduced my findings to the following two.

  1. Profile Switch double attempt

    • i tried now to switch to profiles, which don´t have a combination of "Nv-Card" and "USB-Card" connected devices.
      -> every switch worked fine on first attempt.

    • then i tried to switch to profile which is a combination of NV-Card and USB-Card connected devices.
      -> worked

    • then switch to NV-Card standalone surround profile
      -> worked

    • then switch to a combination of NV-Card surround profile AND USB-Card connected devices
      (This was the whole time my simracing profile)
      -> Needed two attempts to switch.

---> conclusion for now, a combination of SURROUNDED monitors AND monitors connected on my USB-docker require two attemps.

  1. Windows Explorer Context menu opening time -> right click on desktop after switch

during all that profile switching tests i always performed as well the "how fast does the context menu open after switch test" There must be a handle or sth. which prevents the menu from opening.

Only two szenarios had a significant opening time after switch.
1. after switching to standalone surround
2. after switching to a combination where surrounded displays are part of the target profile.

---> Surround things have in both cases an impact.

The second archive contains all the logs for this combination tests

DisplayMagician-Support-20240223-1600.zip

These are my combinations so far. 04 & 05 have issues
grafik

i hope this will be usefull :) to make DM even better. At the end its not a problem for me personally :) and maybe i am the only guy which faces that issues. reinstalling windows on a different harddisk and test again might sort out that my machine is somehow tinkered.

greetings

Adrian

@terrymacdonald
Copy link
Owner

Thanks @dev1981

This is great stuff!

So it looks as though the USB-Card connected monitors is causing the issue. I still don't have any idea why or how, but to start the investigation process can you please reply with the make and model of USB connected screens, and the USB Video Card that they connect into? I don't have any experience with USB connected screens myself as none of my systems have them in use. So if you use any particular software, or any hardware adapters or anything please describe to me how they are connected so I can understand it all.

I will then do a bit of a review to see if there are any other issues listed within your Support ZIP File. That will hopefully show up some particular information about where the issue may lie.

Regarding the significant opening time issue, this is unfortunately a problem with the NVIDIA driver. Any time that surround is activated or deactivated there is a significant delay (up to 25 seconds on my test system). This is due to the need for the screen layout to be set up/torn down by the driver. If you think about it the driver and windows have to do a lot of work to get everything set correctly - turn on the displays, link them into a single display, install the NVIDIA screen layout shim, recalculate the windows display canvas, change the primary display and recalulate the display coordinates, reapply HDR settings and scaling, align all the windows taskbars then move all the windows to the correct locations. It's quite a bit to do.

The upshot is that there is nothing I can do to speed that up. It takes as long as it takes.

DisplayMagician does try to compare similarities within the current display profile and the one you want to swap too, and it only changes the things that are different, e.g. if you have HDR already set and you want it set the same in a different display profile then it leaves the HDR settings alone. This helps speed up the settings that don't use Surround, but unfortunately Surround profiles are just so complicated and move so many screens that none of those optimisations work.

Hope that explains things a bit clearer?

Thanks
Terry

@AlpYenigun
Copy link

Hello, I had to open a GitHub membership just to make this comment. First of all, thank you for this wonderful software.

The reason I wrote this comment is that I use 3 screen surround + 4th monitor in my simulation system and a solo monitor on my desk (that is, I use 1 or 4 monitors at the same time on my graphics card with a total of 5 monitors connected) and I am experiencing the same problem as @Dev198

My monitors do not have a USB connection, I only use HDMI and Display Port, but I have exactly the same problem as written, sometimes a double click is required, sometimes it gives the error that the monitor is not detected and I have to manually switch it myself, sometimes it works without any problems.

Here my setup:
Ekran görüntüsü 2024-05-06 200101

I hope this problem gets resolved because I'm sure we're not alone.

@terrymacdonald
Copy link
Owner

terrymacdonald commented May 6, 2024 via email

@terrymacdonald terrymacdonald added this to the 2.8.0 milestone Oct 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cant fix Cannot fix this as it is an upstream problem, or something that can't be fixed for some reason enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants