杜比 噢如果龙芯公司有开源驱动的计划,那就好办了。这个 xf86-video-loongson 驱动代码我之前看了一下,貌似除了设置了一个用lasx/lsx写的专门的2D blitter以外,并没有比xserver自带的 xf86-video-modesetting 增加更多的加速功能(早期的图形卡是有专门的2D加速功能的,但gsgpu貌似没有相关的硬件单元,这个xf86-video-loongson除了这个lasx/lsx的blitter以外也没有别的2D加速功能)。我个人认为这个 lasx/lsx 写的 blitter 意义不是很大,因为 gcc 和 llvm 最近都合并了 lasx/lsx 相关的代码,随着编译器的进步编译器在编译 pixman 的时候应该可以直接生成使用了 lasx/lsx 的 blitter。即使编译器没法生成,这个优化也应该在 pixman 中做而不是在 xf86-video-loongson 中做(换句话说他这个 lasx/lsx 的 2D blitter 应该直接放到 pixman 中而不是在 xf86-video-loongson 中)。
现代的 Linux 图形驱动栈其实就两个部分,一个是内核模块,一个是用户空间的mesa (当然如果mesa调用了llvm来编译shader,那还依赖llvm)。xf86的驱动架构是为00年之前(可能最晚到05年左右吧)的显卡,特别是那些只有2D加速功能的显卡设计的,已经不适用现代3D显卡了。现代的 Linux 图形栈只需要一个通用的 xf86-video-modesetting 作为 Xorg 驱动就行了(Wayland已经彻底抛弃了 xf86-video 驱动架构,换句话说 Wayland 直接把 xf86-video-modesetting 的相关功能放在了 compositor 里)。