zoukankan      html  css  js  c++  java
  • i915, i965, dri, framebuffer, fbdev, drm, dri, minigbm, edid

    什么是DRI

    DRI(Direct Rendering Infrastructure)是一个在X Windows System中允许直接访问graphics hardware的一种framework(架构),并且这种访问是安全和高效的。DRI的主要用途是为OpenGL的Mesa implementation(实现)提供硬件加速。DRI同样也对没有display server running的情况下,在framebuffer console中提供了OpenGL的加速。DRI的实现贯穿了X server和相关的client libraries, Mesa3D和DRM(Direct Rendering Manager) kernel subsystem.

    什么是DRM

    DRM(Direct Rendering Manager)是Linux kernel的子系统,用于连接现代显卡的GPU。DRM暴露给user-space的程序一个API,user-space的程序可以用这个API发送命令和数据给GPU,还进行一些操作,比如配置display的mode setting。DRM首先是作为X server的Direct Rendering Infrastructure(DRM)的kernel-space的component被开发的,但是同时也被其他graphic stack使用,比如Wayland.

    User-space的programs可以用DRM的API去命令GPU做一些3D渲染的硬件加速和video decoding,也可以用作GPGPU computing。

    什么是framebuffer

    framebuffer是RAM的一部分,包含了bitmap是用来驱动video display的。framebuffer是一个memory buffer,包含了所有video frame中的pixels data。

    什么是 Linux framebuffer(fbdev)

    Linux framebuffer(fbdev)是一个graphic hardware-independent抽象层,用来在显示器上show图像的,最典型的是跑在系统命令行上。他允许对framebuffer的直接访问,framebuffer是计算机video memory的一部分,包含了video frame, 仅仅是通过Linux kernel自己的基本的facilities和device file system interface。他并不依赖user space的software,比如SVGALib.

    什么是i915, i965, iris

    i915分kernel-space的i915和use-space的i915。i915的kernel space就是intel显卡的kernel driver。i915的user-space端是intel显卡的mesa(mesa是OpenGL的开源实现)实现。

    i965是intel显卡的user-space端的mesa实现。那他和i915都是mesa的实现,有什么区别呢?是因为有一些老显卡只能支持i915,而后来一些新的显卡支持i965.

    iris是intel显卡的user-space端的mesa实现,那么他和i915,i965有啥区别呢?iris是比i965更加新的,是将来要替代i965的,已经被merge进了mesa的code里。

    minigbm是HAL层,向上对接mesa的不同厂商的实现(amdgpu, iris, i965, i915)的buffer分配需求调用(gralloc)等等。向下对接kernel的buffer的申请等等。理解为是用来申请buffer的一个组件。

    EDID(Extended Display Identification Data, 拓展显示屏识别数据)是一组显示设备的元数据格式,用来描述设备播放视频流的能力。EDID数据结构包含了制造商的名字,序列号(SN号),产品类型,亮度,显示大小,像素等数据。总的来说就是来描述display的一组数据。

  • 相关阅读:
    【371】Twitter 分类相关
    【370】Python列表生成式(for 写入一行)
    Netbeans 中的编译器相关配置
    SP*
    du 命令
    闲杂
    Shell重定向&>file、2>&1、1>&2的区别
    Shell编程中Shift的用法
    shell中一维数组值得获取
    shell expr的用法
  • 原文地址:https://www.cnblogs.com/ArsenalfanInECNU/p/14632356.html
Copyright © 2011-2022 走看看