日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

如何理解显示卡的驱动模块(DDX,DRM,DRI,XVMC)

發布時間:2023/12/13 综合教程 37 生活家
生活随笔 收集整理的這篇文章主要介紹了 如何理解显示卡的驱动模块(DDX,DRM,DRI,XVMC) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何理解顯示卡的驅動模塊(DDX,DRM,DRI,XVMC)

1)DDX是什么
DDX是X服務器的2D驅動模塊,例如via_drv.so。
2D的顯示加速,包括xvideo也是由它負責。
它會初始化硬件,設置屏幕分辨率,色深,刷新頻率等。在屏幕分辨率改變這樣的操作,也是通過它去調用BIOS功能加以實現的。

2)DRM和DRI是什么
DRM是內核提供的模塊。例如via顯卡有個via.ko的模塊就是drm的模塊,所有對應某個顯卡的內核模塊都有一個父親,是drm.ko。DRM作用很大,它可以知道顯卡的中斷以及DMA存取信息,并且能處理AGP和幀緩沖內存的分配。這個是核心和基礎,如果nvidia提供了nvidia.ko的源代碼,就公開了它所有的秘密了。
那DRI是什么呢?DRI的主要作用是讓X客戶機和X服務器直接控制硬件用的,為了確定屏幕哪個位置不用畫圖,哪個位置要畫,DRI還提供了窗口位置大小盒怎樣疊加的信息。因為DRI的應用程序都會對硬件加鎖以獨占的方式進行顯卡硬件的操作,所以一旦異常,整個系統就很有可能死鎖。至于DRI的應用程序如何同DRM內核模塊進行通信,實際上是使用了libdrm庫。
上面提到的是DRI繞過X協議做了一些事情。其實DRI也提供了X協議,供X客戶機與X服務器通信使用。這點就和傳統的X應用程序架構類似了。(這個似乎就是glx,以及aiglx的基礎了。glx和alglx是實現類似vista 3D桌面所使用的基本技術。)
Linux OpenGL 3D的支持就是通過DRI實現的,最流行的就是Mesa了,是它提供了libGL.so給應用程序使用,使他們能夠實現3D加速。

3)XVMC是什么?
為了加速mpeg2的解碼,尤其為了實現1920*1080的高清全幀解碼,很多顯卡提供了mpeg硬件解碼單元。而XVMC就是使用這個單元的一套規則。
在用戶空間存在的就是類似libviaXvMC.so,libviaXvMCPro.so這樣的庫,它們負責和內核的DRM模塊打交道,從而能使用硬件提供的mpeg解碼加速功能。而每塊視頻卡對應的用戶空間的xvmc庫都不同,所以XvMC提供了一個包裝盒,libXvMCW.so,它會向ddx詢問應該使用哪個共享庫,如果ddx沒有回答,它就會使用/etc/X11/XvMCConfig文件來確定。

總結

以上是生活随笔為你收集整理的如何理解显示卡的驱动模块(DDX,DRM,DRI,XVMC)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。