OpenCL:运行 `clinfo` 作为非 root 需要许可(能力)

OpenCL: permission (capability) needed to run `clinfo` as non-root

我正试图摆脱 运行一直以 root 身份使用 OpenCL(在 Intel GPU 上,使用 beignet)的应用程序。不过,我似乎 运行 遇到了一些权限问题。 clinfo 似乎显示相同的权限问题。有什么简单的方法可以找出需要什么 permissions/capabilities 吗?

当我作为普通用户从 Linux 控制台 运行 clinfo 时,我得到以下信息:

drm_intel_gem_bo_context_exec() failed: Invalid argument
/dev/dri/card0 not authenticated
Device open failed, aborting...
error in /home/magnus/lcam-deb/libbeignet-lcam/src/cl_api.c line 298
Invalid device

因为 root 它工作正常。

如果我以同一用户身份启动 X,然后在 xterminal 中 运行 clinfo 它也能正常工作。

对我来说,解决方案是在启动时将 drm.rnodes=1 传递给内核。我发现该信息隐藏在 beignet wiki.

如何 运行 部分