这几天晚上闲来无事在琢磨FreeBSD上的3D桌面实现。现搜罗两篇比较仔细的参考文档给大家看看。我尚未动手折腾,因为有一些问题尚且不是很清楚。
1.实现XGL/GLX,需要的xorg的版本最低是多少?要xorg7以上还是xorg6.9就可以?
2.能够支持的显卡是哪些?我的显卡是Intel865G集成显卡。
下面这篇很仔细,不过有些地方不是很明白,主要是第8步,有明白的给讲解讲解。有兴趣的可以照做看看。
AIGLXforFreeBSD(FreeBSD_Release_6.2+AIGLX+Beryl)
1:系统的安装
选择最小化安装,起码这里需要把网络或键盘配好,其他的可以再去细化。
2:bash
root@cnbsd/#cd/usr/ports/shells/bash
root@cnbsd/usr/ports/shells/bash#makeinstallclean
root@cnbsd/usr/ports/shells/bash#ln-s/usr/local/bin/bash/bin/bash
root@cnbsd/usr/ports/shells/bash#chsh-s/usr/local/bin/bash
root@cnbsd/usr/ports/shells/bash#reboot
以后再创建的用户就可以指定shell为bash了。
系统装好后注意装好linux_base、perl包、修改fstab显示/proc目录等。也可以在这里修改环境变量,总之根据你自己的爱好来就是了。
3:axel
root@cnbsd/#cd/usr/ports/ftp/axel
root@cnbsd/usr/ports/ftp/axel#makeinstallclean
root@cnbsd/usr/ports/ftp/axel#cd/etc
root@cnbsd/etc#make.conf
加入以下内容:
"
FETCH_CMD=axel-a
MASTER_SITE_OVERRIDE=/
ftp://ftp.freebsd.org.cn/pub/FreeBSD/ports/distfiles/
"
4:fcitx
wanglong@unixsir/usr/ports/chinese/fcitx$makeinstallclean
5:git
root@cnbsd/etc#cd/usr/ports/devel/git
root@cnbsd/usr/ports/devel/git#makeinstallclean
6:pkg_deinstall
root@cnbsd/usr/ports/sysutils/portupgrade#cd/usr/ports/sysutils/portupgrade
root@cnbsd/usr/ports/devel/git#cd/usr/ports/sysutils/portupgrade
root@cnbsd/usr/ports/sysutils/portupgrade#makeinstallclean
7:pkgdb
root@cnbsd/usr/ports/sysutils/portupgrade#cd/usr/ports/sysutils/pkg_trackinst
root@cnbsd/usr/ports/sysutils/pkg_trackinst#makeinstallclean
8:checkoutthecode
root@cnbsd/usr/ports/sysutils/pkg_trackinst#cd/usr
root@cnbsd/usr#mvportsports.20070128
root@cnbsd/usr#gitclonegit://git.geekfire.com/git/ports.git
root@cnbsd/usr#cdports
root@cnbsd/usr#pkg_info-Exxorg-|grep-vlinux|xargs-n1pkg_create-b
root@cnbsd/usr#pkg_deinstall-fPxorg-*libdrm-*dri-*libGL-*libGLU-*libglut-*nvidia-driver-*
root@cnbsd/usr#cd/usr/ports/x11/xorg
root@cnbsd/usr/ports/x11/xorg#makeallinstallclean
root@cnbsd/usr/ports/x11/xorg#cd/usr
root@cnbsd/usr#pkgdb-F
root@cnbsd/usr#reboot
root@cnbsd/#Xorg-configure
root@cnbsd/#cp/root/xorg.conf.new/etc/X11/xorg.conf
增加以下内容到"/etc/X11/xorg.conf":
"
Section"ServerFlags"
Option"AIGLX""on"
EndSection
Section"DRI"
Mode0666
EndSection
Section"Extensions"
Option"Composite""true"
EndSection
"
另外打开"#Option"Dac6Bit"#[]"
改为"Option"DRI""True""
9:确认3D功能是否打开
在装xfce4前可以测试下3D功能是否已经打开,这里主要通过"/var/log/Xorg.0.log"来见检查确认(linux下满街都有glxinfo,bsd下ports里连
key也找不到)。
root@cnbsd/#Xorg-config/etc/X11/xorg.conf
root@cnbsd/#greprendering/var/log/Xorg.0.log
(II)I810(0):directrendering:Enabled
root@cnbsd/#
如能看到是"Enable"就可以稍微放心点了。"disabled"多半是由于"mesa"、"dri"的问题,"dri"和"mesa"关系密切,不过这里还是要具体情况具
体对待,多看日志。
root@cnbsd/#cd/home
root@cnbsd/home#gitclonegit://anongit.freedesktop.org/git/mesa/mesa
root@cnbsd/home#chown-Rsurferwl:surferwlmesal
root@cnbsd/home#su-surferwl
surferwl@cnbsd~$
平常习惯用"surferwl"这个用户,添加的步骤就省了。
surferwl@cnbsd~$vi.profile
增加以下内容:
"
exportPKG_CONFIG_PATH=/usr/local/libdata/pkgconfigPKG_CONFIG_PATH
"
保存后退出。
root@cnbsd/#cd/home/mesa
root@cnbsd/home/mesa#gmakefreebsd-dri-x86
root@cnbsd/home/mesa#gmakeinstall
root@cnbsd/home/mesa#ln-s/usr/X11R6/lib/modules/dri/usr/X11R6/lib/dri
增加以下内容到"/home/surferwl/.profile":
"
exportLIBGL_DRIVERS_PATH="/home/mesa/lib"
exportLD_PRELOAD="/home/mesa/lib/libGL.so.1"
"
root@cnbsd/#reboot
再去调试3D功能,心平气和的操作应该是没有问题的。至于"drm",是这样解释的:"TheDRMisshippedwiththekernel,soyoushouldn'tneedtobuildit.Ifyouchooseto,simplyrun"make&&makeinstall"fromthedrm/bsd-coredirectory."
若3D搞定后再去install其他的。
10:xfce4
root@cnbsd/usr/ports/x11-wm/xfce4#makeinstallclean
11:beryl
root@cnbsd/usr/ports/x11-wm/beryl#makeinstallclean
12:.xinitrc
surferwl@cnbsd~$echo"execfcitx-nb&">.xinitrc
surferwl@cnbsd~$echo"execberyl-manager&">>.xinitrc
surferwl@cnbsd~$echo"exec/usr/local/bin/startxfce4">>.xinitrc
接着就去"startx"或再"gdm"吧、再就是去转你的屏幕吧,最好放张女朋友的照片,你这样可以360度的随心所意的转着看,就看你的发挥了!
说明:以上的步骤有掺和了不少个人习惯性动作,有多余的步骤,比如切换目录的、使用bashshell等,其实这是个人习惯,自己明白就o了,>对着去画就行;我习惯用"simsun"或"文泉"字体,这里也没有写出来。另外就是还没有仔细检查,可能还有错字情况,但大体思想是这样的。我在使用的过程中还没有发现问题,和平常没有使用AIGLX功能的时侯一样,就是比较"动态"了。