X Window

来源:互联网 发布:有域名怎么建站 编辑:程序博客网 时间:2024/05/16 10:48

 

X Window从逻辑上分为三层:X ServerX ClientX协议。

最底层的X ServerX服务器)主要处理输入/输出信息并维护相关资源,它接受来自键盘、鼠标的操作并将它交给X ClientX客户端)作出反馈,而由X Client传来的输出信息也由它来负责输出;

最上层的X Client则提供一个完整的GUI界面,负责与用户的直接交互(KDEGNOME都是一个X Client)。

X协议则是衔接X ServerX Client的通讯协议,它的任务是充当这两者的沟通管道。尽管UNIX厂商采用相同的X Window,但终端的X Client并不相同。

XFree86X Window系统的一个开源的实现。它主要运行于Unix以及类Unix操作系统上。XFree86在显示硬件(鼠标、键盘以及显卡)与桌面环境(也就是窗口管理器)之间提供了一个Client/Server接口。

Mesa3D是一个兼容OpenGL规范的开放源码函数库,是目前Linux上提供专业三维图形支持的惟一选择。Mesa3D同时也是一个跨平台的函数库

Mesa is a software library for 3D computer graphics that provides a generic Khronos-compliant OpenGL implementation for rendering three-dimensional graphics on multiple platforms

Mesa — OpenGL(开放图形库,Open Graphics LibraryAPI(应用程序编程接口,Application Programming Interface)的一种实现。它为编写由硬件辅助的 2D 和 3D 图形软件提供了标准准则和工具集。
Mesa3D 是一个兼容 OpenGL 规范的开放源码函数库,是目前 Linux 上提供专业三维图形支持的惟一选择。Mesa3D 同时也是一个跨平台的函数库,能够运行在 X WindowX Window with DGABeOSLinux SVGALib 等平台上。

X server 是指一个程序,它负责在某台机器上接受客户的要求,在屏幕上显示客户请求的图形,并且把消息(键盘,鼠标,窗口消息)通知客户程序。

.Xdefaults设置xwindow

DRI2是下一代的Direct Rendering Infrastructure,具有重定向(redirect) direct rendering功能。在当前,一个程序如果使用了OpenGL窗口,显示内容是直接写到framebuffer里的。这会跟使用了composite 功能的窗口管理器WM冲突,这是为什么Google Earthcompiz下支离破碎的原因。而通过DRI2OpenGL窗口内容先被重定向的offscreen memory里,然后由WM负责输出,就不再会有冲突。而DRI2是基于老的TTM设计的,需要针对GEM作修改。

2D加速方面,EXA 将要取代老的XAA,但EXA也只是xorg server全面转向OpenGL前的一个临时解决方案。XAA不对大量常用2D操作作加速,并且对XRender的加速也支持不够。Intel又提出了 UXA来取代EXA,当前UXA提供和EXA同样的API,但是利用了新的GEM管理器。

X.orgXFree86这样的开源X实现中

GART最初是设计允许图形芯片直接从系统内存读取结构特征,使用地址转译将系统中的配置收集到一个临近的域中,这个域被映射到一个图形设备可以到的地址。但是GART也被Linux内核程序员用来让传统32PCI设备能够访问可寻址范围之外的系统内存区域。这是通过编程让设备能够在受GART控制的显存区域内工作、然后使用GART将这个地址转换为真实的目标地址(4GB以上)来实现的。

It depends on which memory to be accessed by GPU engines:
1) For local video memory, current GPU just directly go through MIU(Memory Interface Unit) to frame buffer without any address translation;
2) For PCIe memory, in most of cases there is small TLB for address translation because GPU need translate incoming virtual address to physical system memory address by looking up GART;

PCI/VGA Palette SnoopPCI/VGA调色版探测) 
选项:EnabledDisabled 
此特性仅用于图形卡接口上的附加设备,比如MPEG子卡等。通过调色版探测可以纠正帧缓存的数据,并能把它们同步发给附加设备和主显示卡,避免添加子卡后产生黑屏现象。 

因为GARTGraphic Address Remappng Table,图形地址重绘表)过大会导致系统出错,建议AGP区域内存容量不要超过64-128MB。  

A computer system having a core logic chipset that functions as a bridge between an Accelerated Graphics Port ("AGP") bus device such as a graphics controller, and a host processor and computer system memory wherein a Graphics Address Remapping Table ("GART table") is used by the core logic chipset to remap virtual memory addresses used by the AGP graphics controller into physical memory addresses that reside in the computer system memory. The GART table enables the AGP graphics controller to work in contiguous virtual memory address space, but actually use non-contiguous blocks or pages of physical system memory to store textures, command lists and the like. The GART table is made up of a plurality of entries, each entry comprising an address pointer to a base address of a page of graphics data in memory, and feature flags that may be used to customize the associated page. The core logic chipset caches a subset of the most recently used GART table entries to increase AGP performance when performing the address translation. The core logic chipset uses a two-level GART cache comprising a plurality of first-level GART caches and a common second level GART cache. Each of the plurality of first-level GART caches are coupled to a respective interface in the computer system and effectively de-couple the different interface GART address translations so that GART cache thrashing and cache arbitration delays are substantially reduced. Separate decoupled first-level GART caches for each interface allow concurrent GART address translations among the different interfaces. Individual first-level GART caches may be fined tuned for each associated interface

 

原创粉丝点击