加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – GNU/Linux中“绘图”抽象的绝对最低级别是什么?

发布时间:2020-12-16 03:48:24 所属栏目:百科 来源:网络整理
导读:动机 用C(和装配,如果需要)编写程序,为屏幕红色的矩形区域着色. STRICT要求 在文本/控制台模式下使用最小的实用程序和接口运行GNU / Linux.所以没有X(或类似Wayland / Mir),没有非默认(内核提供的POSIX,LSB等)库或接口,除了监视器的设备驱动程序之外没有其他

动机 – 用C(和装配,如果需要)编写程序,为屏幕红色的矩形区域着色.

STRICT要求 – 在文本/控制台模式下使用最小的实用程序和接口运行GNU / Linux.所以没有X(或类似Wayland / Mir),没有非默认(内核提供的POSIX,LSB等)库或接口,除了监视器的设备驱动程序之外没有其他假设.

实际上,我正在寻找的是有关如何编写程序的信息,该程序最终将通过VGA端口发送信号并通过电缆连接到显示器,以便为屏幕的特定部分着色.

抱歉,如果这听起来很粗鲁,但没有“你为什么要这样做?”或者“你为什么不使用ABC库?”回答.我试图了解如何编写X服务器的实现或内核帧缓冲(/ dev / fb0)库.可以提供指向C库源的链接.

最佳答案

no extra assumptions except the presence of the device driver for the monitor.

这意味着您可以使用X或Wayland,因为这些是Linux上的图形驱动程序基础结构.

Linux(内核)本身不包含任何图形基元.它提供了一些与GPU通信的接口,在其上分配内存并配置屏幕上的帧缓冲.但除了原始帧缓冲内存访问外,Linux内核无法执行绘图操作.为此,您需要在用户空间中使用一些基础结构

Wayland构建于DRI2之上,后者又与DRM Kernel-API对话.然后你需要GPU依赖状态跟踪器. Mesa为许多GPU提供状态跟踪器,并提供OpenGL和OpenVG前端.

NVidia和ATI propiatary,闭源图形驱动程序仅适用于X.因此,对于那些使用GPU的人来说,你必须使用X.就是这样.

除此之外,您可以通过/ dev / fbdev操作屏幕上的帧缓冲存储器,但这只是像素推动,没有任何GPU加速.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读