Hi,
I am running CentOS 7.9 and have a RTX3070 installed with Driver 550.107.02. I want to interact and get its video connection info through DRM, and it returns with “Operation not supported”. Anyone pls help, thanks in advance.
Following is my code:
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#include <drm/drm_mode.h>
#include <drm/drm.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_mode.h>
#include <xf86drm.h>
#include <xf86drmMode.h>
#include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glu.h>
#define WIDTH 1920
#define HEIGHT 1080
int main() {
int drm_fd = open("/dev/dri/card0", O_RDWR| O_CLOEXEC);
if (drm_fd < 0) {
perror("Failed to open DRM device");
return EXIT_FAILURE;
}
if (!drm_fd) {
fprintf(stderr, "Invalid file descriptor.\n");
return EXIT_FAILURE;
}
drmModeRes *resources = drmModeGetResources(drm_fd);
if (!resources) {
perror("Failed to get DRM resources");
close(drm_fd);
return EXIT_FAILURE;
}
drmModeConnector *connector = drmModeGetConnector(drm_fd, resources->connectors[0]);
drmModeCrtc *crtc = drmModeGetCrtc(drm_fd, resources->crtcs[0]);
// Present the frame
// ... (Swap buffers and present the frame)
drmModeFreeCrtc(crtc);
drmModeFreeConnector(connector);
drmModeFreeResources(resources);
close(drm_fd);
return 0;
}
it is compiled ok and pls. see the output:
[root@MiWiFi-R3P-srv ~]# gcc -g -o drm_gpu drm_gpu.c -ldrm -lGL -lGLEW -I/usr/include/libdrm -I/usr/include/GL
[root@MiWiFi-R3P-srv ~]# ./drm_gpu
Failed to get DRM resources: Operation not supported
My system info:
[root@MiWiFi-R3P-srv ~]# uname -a
Linux MiWiFi-R3P-srv 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@MiWiFi-R3P-srv ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@MiWiFi-R3P-srv ~]# lsmod | grep drm
nvidia_drm 73274 3
nvidia_modeset 1332584 6 nvidia_drm
drm_kms_helper 186531 1 nvidia_drm
syscopyarea 12529 1 drm_kms_helper
sysfillrect 12701 1 drm_kms_helper
sysimgblt 12640 1 drm_kms_helper
fb_sys_fops 12703 1 drm_kms_helper
drm 456166 7 drm_kms_helper,nvidia,nvidia_drm
drm_panel_orientation_quirks 17180 1 drm
[root@MiWiFi-R3P-srv ~]# ls -lrt /dev/dri/
总用量 0
crw-rw----+ 1 root video 226, 128 8月 6 17:11 renderD128
crw-rw----+ 1 root video 226, 0 8月 6 17:11 card0
(reverse-i-search)`mde': drmdevice
[root@MiWiFi-R3P-srv ~]# dmesg -T | grep -i nvidia
[二 8月 6 15:36:03 2024] nvidia: loading out-of-tree module taints kernel.
[二 8月 6 15:36:03 2024] nvidia: module license 'NVIDIA' taints kernel.
[二 8月 6 15:36:03 2024] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[二 8月 6 15:36:03 2024] nvidia-nvlink: Nvlink Core is being initialized, major device number 236
[二 8月 6 15:36:03 2024] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:72/0000:72:00.0/0000:73:00.1/sound/card1/input14
[二 8月 6 15:36:03 2024] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:72/0000:72:00.0/0000:73:00.1/sound/card1/input15
[二 8月 6 15:36:03 2024] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:72/0000:72:00.0/0000:73:00.1/sound/card1/input16
[二 8月 6 15:36:03 2024] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:72/0000:72:00.0/0000:73:00.1/sound/card1/input17
[二 8月 6 15:36:03 2024] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 550.107.02 Wed Jul 24 23:53:00 UTC 2024
[二 8月 6 15:36:03 2024] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 550.107.02 Wed Jul 24 23:24:27 UTC 2024
[二 8月 6 15:36:03 2024] [drm] [nvidia-drm] [GPU ID 0x00007300] Loading driver
[二 8月 6 15:36:03 2024] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:73:00.0 on minor 0
[二 8月 6 15:36:17 2024] nvidia 0000:73:00.0: irq 137 for MSI/MSI-X
[二 8月 6 15:58:42 2024] nvidia-uvm: Loaded the UVM driver, major device number 234.
[二 8月 6 17:03:44 2024] nvidia 0000:73:00.0: irq 137 for MSI/MSI-X
[二 8月 6 17:08:03 2024] nvidia-uvm: Unloaded the UVM driver.
[二 8月 6 17:08:03 2024] [drm] [nvidia-drm] [GPU ID 0x00007300] Unloading driver
[二 8月 6 17:08:03 2024] nvidia-modeset: Unloading
[二 8月 6 17:08:03 2024] nvidia-nvlink: Unregistered Nvlink Core, major device number 236
[二 8月 6 17:08:47 2024] nvidia-nvlink: Nvlink Core is being initialized, major device number 235
[二 8月 6 17:08:47 2024] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 550.107.02 Wed Jul 24 23:53:00 UTC 2024
[二 8月 6 17:08:47 2024] nvidia-uvm: Loaded the UVM driver, major device number 233.
[二 8月 6 17:08:47 2024] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 550.107.02 Wed Jul 24 23:24:27 UTC 2024
[二 8月 6 17:08:47 2024] [drm] [nvidia-drm] [GPU ID 0x00007300] Loading driver
[二 8月 6 17:08:47 2024] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:73:00.0 on minor 0
[二 8月 6 17:08:47 2024] [drm] [nvidia-drm] [GPU ID 0x00007300] Unloading driver
[二 8月 6 17:08:47 2024] nvidia-modeset: Unloading
[二 8月 6 17:08:47 2024] nvidia-uvm: Unloaded the UVM driver.
[二 8月 6 17:08:47 2024] nvidia-nvlink: Unregistered Nvlink Core, major device number 235
[二 8月 6 17:10:49 2024] nvidia-nvlink: Nvlink Core is being initialized, major device number 235
[二 8月 6 17:10:49 2024] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 550.107.02 Wed Jul 24 23:53:00 UTC 2024
[二 8月 6 17:10:50 2024] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 550.107.02 Wed Jul 24 23:24:27 UTC 2024
[二 8月 6 17:10:50 2024] [drm] [nvidia-drm] [GPU ID 0x00007300] Loading driver
[二 8月 6 17:10:50 2024] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:73:00.0 on minor 0
[二 8月 6 17:17:53 2024] nvidia 0000:73:00.0: irq 137 for MSI/MSI-X
[二 8月 6 17:36:23 2024] nvidia-uvm: Loaded the UVM driver, major device number 233.