最近在学习libdrm库的使用,写点博客记录一下学习过程。
先从libdrm设备打开关闭开始。
libdrm打开,关闭设备,有对应的函数drmOpen, drmClose。但是我用这个函数,返回的总是0xffffffff。
后面我看好多的libdrm的例子,都是直接使用open,close的。
这样我的打开,关闭设备的代码如下:
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <xf86drm.h>
int main(int argc, char** argv) {
int fd = open("/dev/dri/card0", O_RDWR);
if (fd > 0) {
printf("drmOpen Succeed\n");
close(fd);
} else {
printf("drmOpen failed, fd=0x%x\n", fd);
}
return 0;
}
然后执行
gcc open.c -I/usr/include/drm/ -ldrm -o open
最后运行,打印出drmOpen Succeed。