【发布时间】:2012-12-01 13:36:54
【问题描述】:
我想通过用户空间中的 mmap-ing 并将地址发送到内核空间从用户空间写入 VGA 内存(视频内存,而不是缓冲区),在内核空间中,我将使用 pfn remap 来映射那些 mmap-ed 地址到vga内存(我将通过lspci获取地址)。通过这样做,我想在屏幕上显示图像/徽标?对此有何帮助?
【问题讨论】:
-
你想做什么是无法理解的,但你可以写到 /dev/fb0
-
当我使用“lspci”命令获取视频内存的物理范围时,我将重新映射我通过 ioctl 从用户应用程序获得的 mmap 的虚拟地址,以将这些地址映射到物理地址的视频内存。然后,我想在用户应用程序的屏幕上显示徽标/图像。帮忙?
-
您可能想要识别任何驱动程序将代理或通过访问特定安装上的软件“帧缓冲区”并检查其源以查看它如何与硬件视频内存交互。另请注意,虽然某些显卡具有专用的显存,但其他显卡使用一部分主内存。在现代系统上,请注意错误优化的风险,即您试图提高效率最终会禁用复杂的效率优化,这可能会使间接访问比直接写入的简单尝试更有效。
标签: linux-kernel ioctl vga