文章目录
- 1. 相关包
- 2. 源修改
- 3. 编译xorg-server_1.20.4.10.orig.tar.xz
- 4. 移植编译xf86-video-fbdev-0.5.0.tar.gz
- 5. 使用shadowfb加速
1. 相关包
| 包名 | 性质 | 用途 |
|---|---|---|
| xorg-server_1.20.4.10.orig.tar.xz | xserver源码包 | 编译后安装xserver相关包 |
| xf86-video-fbdev-0.5.0.tar.g | 上层驱动源码包 | 编译后出xx_fb_drv.so |
| xserver-xorg-core_1.20.4.10-1+eagle_XX_64.deb | XX提供的已编译的安装包 | 直接安装 |
2. 源修改
deb [trusted=yes] http://[IP]:…_XX111_1041/base shangyu main contrib non-free
deb [trusted=yes] http://[IP]:…_XX111_1041/dde-1041 eagle/sp4 main contrib non-free
3. 编译xorg-server_1.20.4.10.orig.tar.xz
- 解压编译
tar -xvf xorg-server_1.20.4.10.orig.tar.xz;cd xorg-server_1.20.4.10;
dpkg-buildpackage -us -uc -sa -b
出现依赖错误Unmet build dependencies: build-essential:native debhelper… - 安装依赖包
apt-get install -y libdrm2=2.4.99-2 libdrm-radeon1=2.4.99-2 libdrm-nouveau2=2.4.99-2 libdrm-amdgpu1=2.4.99-2
apt-get install -y build-essential dh-autoreconf bison flex xtrans-dev libxfont-dev libxkbfile-dev libpixman-1-dev libpciaccess-dev libgcrypt-dev libudev-dev libselinux1-dev libaudit-dev libdrm-dev libgl1-mesa-dev libxmuu-dev libxext-dev libx11-dev libxrender-dev libxi-dev libdmx-dev libxpm-dev libxaw7-dev libxt-dev libxmu-dev libxtst-dev libxres-dev libxfixes-dev systemtap-sdt-dev libxv-dev libxinerama-dev libxshmfence-dev libepoxy-dev libegl1-mesa-dev libgbm-dev wayland-protocols libdbus-1-dev libsystemd-dev quilt xutils-dev libxcb-xkb-dev libxcb-render-util0-dev libxcb-util0-dev libxcb-image0-dev libxcb-icccm4-dev libxcb-shm0-dev libxcb-keysyms1-dev libxcb-xv0-dev libxcb-xf86dri0-dev libbsd-dev - 再执行编译
再执行dpkg-buildpackage -us -uc -sa -b编译成功后,编译的包会生成在上层目录,其中…/xserver-xorg-core_1.20.4.3-1+dde2_XX_64.deb 即是可安装的包。 - 安装
dpkg -i xserver-xorg-core_1.20.4.3-1+dde2_XX_64.deb- 测试
startx运行的log提示: Log file: “/var/log/Xorg.[X].log”
该log文件记录中可查看模块加载运行情况,如查看是否加载xx_fb_drv.so等。
4. 移植编译xf86-video-fbdev-0.5.0.tar.gz
- 拷贝或修改config.guess
解压xf86-video-fbdev-0.5.0.tar.gz,进入xf86-video-fbdev-0.5.0目录,拷贝xf86-video- xxfb-0.0.3/config.guess到xf86-video-fbdev-0.5.0目录下。 - 模块名修改
修改文件名为xxfb.c并修改make等,xxfb.c中修改 FBDEV_NAME和FBDEV_DRIVER_NAME为修改为XXFB和xxfb - 编译
./configure;make;
生成库文件在src/.lib/xxfb_drv.so - 测试该驱动
拷贝xxfb_drv.so到/usr/lib/xorg/modules/下,将xf86-video-xxfb-0.0.3/xorg.conf.xxfb拷贝成/etc/X11/xorg.conf;执行start x;即会加载运行。
5. 使用shadowfb加速
使用shadowfb在内存中申请framebuffer,开启线程使用dma将shadowfb刷到显存。