Capture card vendor try to implement V4L2 driver with Nvidia RDMA

Hello,

I am a developer of captured card vendor.

We have a problem when enabling GPUDirect RDMA on Ubuntu.

Environment:
OS: Ubuntu 20.04 x86_64
kernel version: 5.15.0-52-generic
Nvidia driver: 520.56.06

Kernel rejects to load of our driver because the driver uses GPL symbols and proprietary symbols.

sudo modprobe LXV4L2D_SC0710
dmesg
[ 9217.151262] LXV4L2D_SC0710: module using GPL-only symbols uses symbols from proprietary module nvidia.
[ 9217.151267] LXV4L2D_SC0710: Unknown symbol nvidia_p2p_dma_unmap_pages (err -2)
[ 9217.151330] LXV4L2D_SC0710: module using GPL-only symbols uses symbols from proprietary module nvidia.
[ 9217.151332] LXV4L2D_SC0710: Unknown symbol nvidia_p2p_get_pages (err -2)
[ 9217.151359] LXV4L2D_SC0710: module using GPL-only symbols uses symbols from proprietary module nvidia.
[ 9217.151361] LXV4L2D_SC0710: Unknown symbol nvidia_p2p_put_pages (err -2)
[ 9217.151381] LXV4L2D_SC0710: module using GPL-only symbols uses symbols from proprietary module nvidia.
[ 9217.151382] LXV4L2D_SC0710: Unknown symbol nvidia_p2p_dma_map_pages (err -2)
[ 9217.151399] LXV4L2D_SC0710: module using GPL-only symbols uses symbols from proprietary module nvidia.
[ 9217.151400] LXV4L2D_SC0710: Unknown symbol nvidia_p2p_free_dma_mapping (err -2)
[ 9217.151404] LXV4L2D_SC0710: module using GPL-only symbols uses symbols from proprietary module nvidia.
[ 9217.151405] LXV4L2D_SC0710: Unknown symbol nvidia_p2p_free_page_table (err -2)

Captured card using V4L2 framework which is GPL and nvidia_p2p_* are proprietary.

What are the best practices to solve this problem? 

If using open source Nvidia driver, some old Quadro cards don't on the supportting list.

BR,
David

Hello David,
In order to help you, we will need more information on the capture card manufacturer and model. Can you please provide more context?
thanks!

1 Like

Hi David, You could update your stack to R515+ through GitHub - NVIDIA/open-gpu-kernel-modules: NVIDIA Linux open GPU kernel module source. Holoscan OpenEmbedded recipes release v0.3.0 solves the issue with enabling RDMA by using OpenRM r515 drivers, please take a look at GitHub - NVIDIA/meta-tegra-clara-holoscan-mgx at v0.3.0.
Regarding If using open source Nvidia driver, some old Quadro cards don't on the supportting list. : could you tell us a little more about which hardware you’re using?

1 Like

Hi Ylazimy & Jinl,

Thanks for your quick reply.

Let me re-introduce myself, I am the engineer of YUAN High-Tech and we are the partner of Nvidia GPUDirect.
Because the FAE of Nvidia in Taiwan can't find a suitable person for this question, he suggested I post on this forum directly.

Many customers want to use Nvidia GPUDirect to improve performance and latency.
And thank GPUDirect and Holoscan SDK, we got 1-2 frames latency (4k 60fps, about 16-32ms) on Clara AGX Developer Kit.

I successfully used R515 open-source driver on a PC and enabled Nvidia GPUDirect.
Next, I will try to use R515 open-source driver on Clara AGX Developer Kit.
Because I’m not familiar with OpenEmbedded/Yocto, this will take more time to finish.

For now, has two customers
Customer A
Platform: Clara AGX Developer Kit.
OS: Holopack 1.1, l4t 34.1.2
GPU: Quadro 6000
Using Holoscan SDK: Yes
Captured card: SC0710 HDMI or SDVoE (https://www.yuan.com.tw/products/capture/4k/sc710n1_l_hdmi2.htm)

Customer B
Platform: x86 PC
OS: Ubuntu 20.04
GPU: Quadro A6000
Using Holoscan SDK: Unknow, they don’t ask.
Captured card: SC0710 HDMI

Could you tell us a little more about which hardware you’re using
– This is just because I have a very old Quadro which is M4000, I think most customers will use the newer Quadro.
So just forget this.

Thank you for your help. If I meet a new problem, I will post a new question.

BR,
david

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.