Stereo 3D changes active resolution of projectors in 3x2 Mosaic

Hardware:
2x Quadro RTX 8000 in SLI ( Nvlink Bridge )
6x 15m Displayport to Displayport active cable (3 per Card)
6x 1920x1080 120Hz Projectors

Steps made in Nvidia control panel:
Nvidia Quadro Driver 461.40 ( fresh install )
reboot
EDID File exported from projector and bound to outputs
reboot
Activate 3x2 Mosaic with 6x 1920x1080 bei 119,88Hz
reboot
Activate Quadro Stereo 3D (Quadbuffer)

Until this point everything behaves as expected. But after a final reboot, the System Topology shows a active resolution of 1920x1200 at 59,95Hz per Projector (projectors native Resolution). Although the 5670x 2160 120Hz Mosaic is still active. Therefore 3D does not work.
On a single Projector, without Mosaic, Stereo 3D 120Hz works fine.

See attached, picture of system topology before and after activating Stereo 3D.
Please let me know if you need further information.

A solution or even a pointer regarding this problem would be greatly appreciated!

Second picture of System Topology. After activating Stereo 3D

Jakob - sent you a direct message re: this issue.

thanks

Hi Doung,

I encountered the same problem when I applied mosaic and warping via NVAPI. First of all, I set the timing of 6 displays to 1280x800 120hz and then applied a 3x2 mosaic resolution of 2400x2400 120hz with warping mesh for each display. However, after applying NVAPIs, displays output changed to 1920x1080 120hz.

Could you please advise me on how to maintain the display output resolution after applying mosaic via NVAPI?

Hi Chenming.li

Thanks for the question. I am guessing that you are setting the displays in Portrait mode (i.e. rotated 90 degrees) to get your 2400x2400 resolution. What type of GPUs are you using in the your setup.

Can you share the code of how you are setting MOSAIC?

The struct -

NV_MOSAIC_DISPLAY_SETTING

should be set with your requested resolution for each display in the MOSAIC grid.

Have you tested setting up MOSAIC using the NVIDIA MOSIAC utility. The command line will look like:

configuremosaic.exe set rows=3 cols=2 rotate=90 res=1280,800,120

to confirm that your setup supports the requested resolution.

-D-

Hi DoungT,

Thanks for the reply, I use 2x Quadro P5000 in SLI ( Nvlink Bridge ) with 6x 1280x800 120Hz Projectors.
If I change projectors resolution to 1920x1200 60Hz, all displays output resolution are correct (1920x1200) after Mosaic applied.

Here is the code for theMosaic setting
NV_MOSAIC_GRID_TOPO* topoForMosaic = new NV_MOSAIC_GRID_TOPO[info.totalDisplayCount];
topoForMosaic->version = NV_MOSAIC_GRID_TOPO_VER;
NvAPI_error = NvAPI_Mosaic_EnumDisplayGrids(topoForMosaic, &info.topoCount);

    if (NvAPI_error == NVAPI_OK)
    {

#if NvAPI_ERROR_MESSENGE_PRINT
std::cout << “NvAPI_Mosaic_EnumDisplayGrids(): NVAPI_OK” << std::endl;
#endif
topoForMosaic[0].rows = info.rows;
topoForMosaic[0].columns = info.columns;
topoForMosaic[0].displayCount = info.rows * info.columns;

        if (topoForMosaic[0].columns > 1)
        {
            info.overlapX = (info.columns * topoForMosaic[0].displaySettings.width - totalWidth) / (info.columns - 1);
        }
        else
        {
            info.overlapX = 0;
        }

        if (topoForMosaic[0].rows > 1)
        {
            info.overlapY = (info.rows * topoForMosaic[0].displaySettings.height - totalHeight) / (info.rows - 1);
        }
        else
        {
            info.overlapY = 0;
        }

        for (NvU32 n = 0; n < topoForMosaic[0].displayCount; n++)
        {
            NvU32 gpu_index = info.indexMap[topoAlignment[n]].gpuIndex;
            NvU32 display_index = info.indexMap[topoAlignment[n]].displayIndex;
            topoForMosaic[0].displays[n] = info.gpus[gpu_index].displays[display_index].displayTopoInfo;
            topoForMosaic[0].displays[n].overlapX = info.overlapX;
            topoForMosaic[0].displays[n].overlapY = info.overlapY;
        }

        NvAPI_error = NvAPI_Mosaic_SetDisplayGrids(topoForMosaic, 1, 0);

}

The result after trying the command line is incorrect.
The Mosaic resolution has changed to 3840x1600 at 120 hz.

Hi Chenming,

Thanks for the detailed response. In your code I don’t see where you are setting displaySettings which is part of your topForMosaic. The displaySettings is where you set the width, height and refresh. In your case you want to set 1280, 800, 120.

For the command line I think I messed up the rows cols. Testing the command line helps to determine if the problem is in your code or with the driver.

configuremosaic.exe set rows=2 cols=3 rotate=90 res=1280,800,120

Hi Doug,
I used the following parameters to set NvAPI_Mosaic_SetDisplayGrids: rows=3, columns=2, displayCount=6, displays.overlapX=160, displays.overlapY=0.
The result with mosaic setting is currently at 2400x2400 120Hz, but each display outputs at 1920x1080 120Hz.
If I reset mosaic setting, each display outputs change to original timing 1280x800 120Hz