【问题标题】:Does Linux X-Server directly access GPU memory?Linux X-Server 是否直接访问 GPU 内存?
【发布时间】:2015-04-27 21:12:22
【问题描述】:

我的主要问题是在 X-Server 进程内存中运行的一段代码(排除的驱动程序 - 我们都知道可以用不同的方式编写)直接访问 GPU 卡中的内存?

或者它使用驱动程序和drm,或任何其他接口来与GPU通信和排队绘制/渲染/清除/...命令?

我知道问题似乎很蹩脚,但我对细节感兴趣?

编辑:

更具体地说:据我了解,内核在驱动程序的帮助下与硬件通信,并向其余部分公开 API(如果我错了,请纠正我)。 在这种情况下,X-Server 可以绕过位于内核中的 DMA-API(我只是猜测 DMA IO 负责与外围设备的通信)与 GPU 卡进行通信和交换数据(以直接方式 - 无需任何人的帮助 == 无需内核,司机,...)?

X-Server 与 GPU 通信的最低要求是什么。我的目标是了解这种通信是如何在低级别完成的。

【问题讨论】:

    标签: linux system drivers xserver video-card


    【解决方案1】:

    在 Linux 上,给定的 X 服务器完全有可能以framebuffer 的形式直接访问部分视频卡内存。这不是最有效的展示方式,但确实有效。

    【讨论】:

    • 本质上 xserver 可以 memset(lpgpumem,0,size),其中 lpgpumem 是指向 GPU 内存的指针(不是句柄),这只会直接处理 GPU 卡,而无需内核或其他任何交互?
    • 是的,我已经读过那一篇了,它太笼统了,而且大多已经过时了。我不知道我读了多少页。甚至下载了 xserver 英特尔 2d 驱动程序,它使用 drm (3D) 执行这么多命令...我的重点是今天的 xserver,它是否直接读取/写入(当我直接说我直接提到它 - 没有任何人的帮助)到 GPU 内存?还是为了复制它使用某种内核系统调用?
    • @SoLaR 我认为如果没有更具体的问题,您将不会得到任何更具体的答案。祝你好运。
    猜你喜欢
    • 2010-10-13
    • 1970-01-01
    • 2013-08-12
    • 2012-12-28
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 2014-04-15
    • 2019-06-23
    相关资源
    最近更新 更多