Can GTX 950M and RTX3060 co-exist and use the same driver?

nvidia-bug-report.log.gz (528.0 KB)

To take advantage of Davinci Resolve support for GPU, I added an external RTX3060 GPU to my AsusN752VX laptop which already has an integrated Intel GPU + a GTX 950M, which is a bit short for Video post production.

The RTX3060 is connected to the laptop via an EXP GDC and a NGFF interface connected directly on the motherboard in the slot and place of the wifi card.

The setup seems to be recognized correctly :

$ lspci -nn | grep -i graphic
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:191b] (rev 06)

$ lspci -nn | grep -i nvidia
01:00.0 3D controller [0302]: NVIDIA Corporation GM107M [GeForce GTX 950M] [10de:139a] (rev a2)
02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA106 [GeForce RTX 3060 Lite Hash Rate] [10de:2504] (rev a1)
02:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:228e] (rev a1)

I initially tried on Xubuntu 22.04 then switched to PopOS 22.04 (where I am ATM), but the problem is identical. Both cards don’t seem to accept the same driver and this is my dilemma:
1- If I use any generic nvidia driver, the GTX 950M is recognized and functions correctly but… I get the infamous “Failed to allocate NvKmsKapiDevice” & “RmInitAdapter failed” error messages for the RTX3060
2- If on the other hand I use any of the open nvidia drivers which are recommended by Ubuntu (or many of the posts here ) for the RTX3060… then the boot process fails at some points informing me that the open driver is not compatible with the GTX950M.

So far, I can see only two possible solutions:
1- Find the golden driver that could support both cards together. But so far, all the ones I found and tried failed with the same errors in both scenarios.
2- Disable the GTX950M so that it is not recognized by the OS and does not block the boot process. This would enable me to only use the RTX3060, which is more powerful and better suited for video post production work. But so far, I haven’t found how to do that.

Thanks in advance for any possible hint and ideas.

530 driver supports both.

Thank you VulkanGuy.

So if I understand you well, are you saying that if I install the run version of the 530 driver it will not give me the “Failed to allocate NvKmsKapiDevice” & “RmInitAdapter failed” error messages for the RTX3060 unlike the Ubuntu package of the same driver did when I tried it?

They are the same driver, so if it fails with that one this will fail too. But actually there is no reason for that to fail other than; you somehow ( i dunno if Ubuntu ships it or not ) installed driver with open source kernel module of Nvidia which only works for Turing and newer which can explain why GTX 950 fails.

So i would say purge anything Nvidia from your system and try with 530 driver again but not with open source kernel module.

As described in my first post, I installed all latest drivers (including the 530.41.03) available in Ubuntu 22.04 repository where the non-open version is recommended for the gtx950M while the open version is recommended for the RTX3060.

1- If I use any generic nvidia driver, the GTX 950M is recognized and functions correctly but… I get the infamous “Failed to allocate NvKmsKapiDevice” & “RmInitAdapter failed” error messages for the RTX3060
2- If on the other hand I use any of the open nvidia drivers which are recommended by Ubuntu (or many of the posts here ) for the RTX3060… then the boot process fails at some points informing me that the open driver is not compatible with the GTX950M.

And that is after, each time, purging anything Nvidia from my system