【问题标题】:Windows Mirror Driver for Linux Framebuffer适用于 Linux 帧缓冲区的 Windows 镜像驱动程序
【发布时间】:2011-01-26 21:58:03
【问题描述】:

对于我正在编写的软件,我需要知道 linux 帧缓冲区何时更新。 我需要 Windows Mirror Drivers 之类的东西(更多信息请查看 Wikipedia 上的 Mirror_driver)。

环顾四周,我没有找到任何东西,所以我正在寻找一种方法来实现这一点。

据我所见,我需要编写一个在帧缓冲区特定模块之后加载的模块,并挂钩 fb ops 结构以注入自己的东西并捕获更新。

谁能给我一个提示?我没有太多内核模块编写经验。

谢谢!

【问题讨论】:

    标签: c linux-kernel kernel-module framebuffer


    【解决方案1】:

    关于一般内核模块编写技巧,你可以阅读书籍:Linux Kernel DevelopmentLinux Kernel in a NutshellLinux Device Drivers

    在您了解了如何构建和安装自己的内核模块的基础知识后,您可以阅读内核的源代码以找出帧缓冲区的内容(从 Documentation/fb/framebuffer.txt 开始)。我不确定您是否可以像这样连接帧缓冲区驱动程序,如果不能,您可能需要自己添加挂钩支持或“劫持”主驱动程序的事件以模拟挂钩。例如,假设有一个函数在有更新时被调用。您可以找到声明指向此函数的指针的位置,保存该值,然后使用指向您的函数的指针对其进行修改。在您的函数中,您调用原始函数,然后调用您自己的代码来操作您想要的内容并正确返回。

    我对帧缓冲区的东西了解不多,所以我只是猜测您的选择是什么。有可能在某个地方有一个特定于 linux-fb 主题的讨论列表。 This might me a good start.

    【讨论】:

    • 感谢您的回答,我会试一试这些书。
    猜你喜欢
    • 1970-01-01
    • 2012-03-30
    • 2014-10-26
    • 1970-01-01
    • 2021-09-07
    • 2014-09-07
    • 2014-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多