linux graphics
DESCRIPTION
Linux Graphics. 邹南海. X 架构. 现代显卡的功能. 显示管理 显存管理 2D 功能 3D 流程 视频功能. CPU. 视频. 2D blit. 3D. 显存. 显示设备. 显示设备特性. VGA HDMI DisplayPort LVDS TV out DVI EDID. ModeSetting. 显示模式管理 中断处理和 page flipping KMS 介绍. 显存管理. 显存的作用 Frame Buffer 贴图 (texture) State GPU 的可执行指令 (shader) 其他. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Linux Graphics](https://reader036.vdocuments.mx/reader036/viewer/2022082321/56812f3d550346895d94d2e9/html5/thumbnails/1.jpg)
Linux Graphics
邹南海
![Page 2: Linux Graphics](https://reader036.vdocuments.mx/reader036/viewer/2022082321/56812f3d550346895d94d2e9/html5/thumbnails/2.jpg)
X 架构
![Page 3: Linux Graphics](https://reader036.vdocuments.mx/reader036/viewer/2022082321/56812f3d550346895d94d2e9/html5/thumbnails/3.jpg)
现代显卡的功能• 显示管理• 显存管理• 2D 功能• 3D 流程• 视频功能
CPU
显示设备
显存
2D blit 3D
视频
![Page 4: Linux Graphics](https://reader036.vdocuments.mx/reader036/viewer/2022082321/56812f3d550346895d94d2e9/html5/thumbnails/4.jpg)
显示设备特性• VGA
• HDMI
• DisplayPort
• LVDS
• TV out
• DVI
• EDID
![Page 5: Linux Graphics](https://reader036.vdocuments.mx/reader036/viewer/2022082321/56812f3d550346895d94d2e9/html5/thumbnails/5.jpg)
ModeSetting
• 显示模式管理• 中断处理和 page flipping
• KMS 介绍
![Page 6: Linux Graphics](https://reader036.vdocuments.mx/reader036/viewer/2022082321/56812f3d550346895d94d2e9/html5/thumbnails/6.jpg)
显存管理• 显存的作用• Frame Buffer
• 贴图 (texture)
• State
• GPU 的可执行指令 (shader)
• 其他
![Page 7: Linux Graphics](https://reader036.vdocuments.mx/reader036/viewer/2022082321/56812f3d550346895d94d2e9/html5/thumbnails/7.jpg)
DRI
![Page 8: Linux Graphics](https://reader036.vdocuments.mx/reader036/viewer/2022082321/56812f3d550346895d94d2e9/html5/thumbnails/8.jpg)
2D 加速的实现• 现有加速接口 xaa, exa 和 uxa
![Page 9: Linux Graphics](https://reader036.vdocuments.mx/reader036/viewer/2022082321/56812f3d550346895d94d2e9/html5/thumbnails/9.jpg)
3D 加速的实现• OpenGL 流水线介绍• 如何映射到硬件上• 如何和窗口系统交互• 高级特性 GLSL WebGL
• 嵌入式相关 OpenGL ES 和 egl
![Page 10: Linux Graphics](https://reader036.vdocuments.mx/reader036/viewer/2022082321/56812f3d550346895d94d2e9/html5/thumbnails/10.jpg)
视频编解码• 视频解码的流水线• 视频编码的流水线• Libva 介绍• 现有 Linux 下视频方案• 发展方向
![Page 11: Linux Graphics](https://reader036.vdocuments.mx/reader036/viewer/2022082321/56812f3d550346895d94d2e9/html5/thumbnails/11.jpg)
传统架构优点• Client server 模式 , 方便远程渲染• 所有和硬件打交道都在 Xserver, 方便安全
管理
![Page 12: Linux Graphics](https://reader036.vdocuments.mx/reader036/viewer/2022082321/56812f3d550346895d94d2e9/html5/thumbnails/12.jpg)
传统架构缺点• Client Server 模式有开销不适合硬件加速• 操作在 Server 端线性完成 , 不能体现现代
硬件的多种加速功能• 渲染数据流不适合现代显卡的流水线
![Page 13: Linux Graphics](https://reader036.vdocuments.mx/reader036/viewer/2022082321/56812f3d550346895d94d2e9/html5/thumbnails/13.jpg)
其他的架构• Wayland graphics stack 介绍
![Page 14: Linux Graphics](https://reader036.vdocuments.mx/reader036/viewer/2022082321/56812f3d550346895d94d2e9/html5/thumbnails/14.jpg)
针对嵌入系统的优化• 内存使用优化
– 缩小 frame buffer 位色– Non-power-of-2 贴图– 使用压缩贴图--
![Page 15: Linux Graphics](https://reader036.vdocuments.mx/reader036/viewer/2022082321/56812f3d550346895d94d2e9/html5/thumbnails/15.jpg)
针对嵌入系统的优化• 性能优化
• 避免从显存回读• 避免驱动里的 cpu fallback• Texture tiling• 并行 CPU 和 GPU
![Page 16: Linux Graphics](https://reader036.vdocuments.mx/reader036/viewer/2022082321/56812f3d550346895d94d2e9/html5/thumbnails/16.jpg)
针对嵌入系统的优化• 耗电优化
- 背光亮度- 减少内存刷新 ,
- GPU C state P state
-
![Page 17: Linux Graphics](https://reader036.vdocuments.mx/reader036/viewer/2022082321/56812f3d550346895d94d2e9/html5/thumbnails/17.jpg)
其他优化• 抗锯齿• 防撕裂
![Page 18: Linux Graphics](https://reader036.vdocuments.mx/reader036/viewer/2022082321/56812f3d550346895d94d2e9/html5/thumbnails/18.jpg)
问题