标题已经暗示了这个问题,那么是什么阻止了此存储库中示例程序的执行https://github.com/dvdhrm/docs/tree/master/drm-howto
这是一个简单的程序,显示了 KMS 的运行情况,所以我下载了它,编译了它并运行了它。这是输出:
michael@lord:~/Downloads/docs/drm-howto$ sudo ./modeset
[sudo] password for michael:
using card '/dev/dri/card0'
mode for connector 59 is 1920x1080
ignoring unused connector 68
ignoring unused connector 71
ignoring unused connector 75
cannot set CRTC for connector 59 (13): Permission denied
exiting
Run Code Online (Sandbox Code Playgroud)
另请注意,我的计算机上正在运行 X11 会话。X 似乎已经在使用该设备/dev/dri/card0并阻止所有其他程序使用该设备。
这是我的视频卡:
michael@lord:~/Downloads/docs/drm-howto$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
Run Code Online (Sandbox Code Playgroud)
我还添加i915.modeset=1并/etc/initramfs-tools/modules重建了它,sudo update-initramfs -u以便它从我的内核内部而不是从 xorg 端加载驱动程序。
还有一种可能是我的驱动程序不支持 KMS,但lspci …