免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 8762 | 回复: 23
打印 上一主题 下一主题

[FreeBSD] FreeBSD的3D桌面实现(XGL/AIGLX/Beryl) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-02-27 23:08 |只看该作者 |倒序浏览
这几天晚上闲来无事在琢磨FreeBSD上的3D桌面实现。现搜罗两篇比较仔细的参考文档给大家看看。我尚未动手折腾,因为有一些问题尚且不是很清楚。

1. 实现XGL/GLX,需要的xorg的版本最低是多少?要xorg7以上还是xorg6.9就可以?
2.能够支持的显卡是哪些?我的显卡是Intel865G集成显卡。

下面这篇很仔细,不过有些地方不是很明白,主要是第8步,有明白的给讲解讲解。有兴趣的可以照做看看。

------------------------------------------------------
AIGLX for FreeBSD(FreeBSD_Release_6.2+AIGLX+Beryl)

2007年01月29日 星期一 21:56
                                  ---surferwl  2007-01-27
1: 系统的安装
   选择最小化安装,起码这里需要把网络或键盘配好,其他的可以再去细化。

2: bash

root@cnbsd/#cd /usr/ports/shells/bash
root@cnbsd/usr/ports/shells/bash#make install clean
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#make install clean
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$make install clean

5:git

root@cnbsd/etc#cd /usr/ports/devel/git
root@cnbsd/usr/ports/devel/git#make install clean

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#make install clean

7: pkgdb

root@cnbsd/usr/ports/sysutils/portupgrade#cd /usr/ports/sysutils/pkg_trackinst
root@cnbsd/usr/ports/sysutils/pkg_trackinst#make install clean

8: checkout the code

root@cnbsd/usr/ports/sysutils/pkg_trackinst#cd /usr
root@cnbsd/usr#mv ports ports.20070128
root@cnbsd/usr#git clone git://git.geekfire.com/git/ports.git
root@cnbsd/usr#cd ports
root@cnbsd/usr#pkg_info -Ex xorg- | grep -v linux | xargs -n1 pkg_create -b
root@cnbsd/usr#pkg_deinstall -fP xorg-\* libdrm-\* dri-\* libGL-\* libGLU-\* libglut-\* nvidia-driver-\*
root@cnbsd/usr#cd /usr/ports/x11/xorg
root@cnbsd/usr/ports/x11/xorg#make all install clean
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"
   Mode 0666
EndSection


Section "Extensions"
   Option "Composite" "true"
EndSection

"

另外打开"#Option     "Dac6Bit"                   # [<bool>]"
改为"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/#grep rendering /var/log/Xorg.0.log
(II) I810(0): direct rendering: Enabled
root@cnbsd/#

如能看到是"Enable"就可以稍微放心点了。"disabled"多半是由于"mesa"、"dri"的问题,"dri"和"mesa"关系密切,不过这里还是要具体情况具
体对待,多看日志。

root@cnbsd/#cd /home
root@cnbsd/home#git clone git://anongit.freedesktop.org/git/mesa/mesa
root@cnbsd/home#chown -R surferwl:surferwl mesal
root@cnbsd/home#su - surferwl
surferwl@cnbsd~$

平常习惯用"surferwl"这个用户,添加的步骤就省了。

surferwl@cnbsd~$vi .profile

增加以下内容:

"
export PKG_CONFIG_PATH=/usr/local/libdata/pkgconfigPKG_CONFIG_PATH
"

保存后退出。

root@cnbsd/#cd /home/mesa
root@cnbsd/home/mesa#gmake freebsd-dri-x86
root@cnbsd/home/mesa#gmake install
root@cnbsd/home/mesa#ln -s /usr/X11R6/lib/modules/dri /usr/X11R6/lib/dri

增加以下内容到"/home/surferwl/.profile":
"
export LIBGL_DRIVERS_PATH="/home/mesa/lib"
export LD_PRELOAD="/home/mesa/lib/libGL.so.1"
"

root@cnbsd/#reboot

再去调试3D功能,心平气和的操作应该是没有问题的。至于"drm",是这样解释的:"The DRM is shipped with the kernel, so you shouldn't need to build it. If you choose to, simply run "make && make install" from the drm/bsd-core directory."

若3D搞定后再去install其他的。


10: xfce4

root@cnbsd/usr/ports/x11-wm/xfce4#make install clean

11: beryl

root@cnbsd/usr/ports/x11-wm/beryl#make install clean

12: .xinitrc
surferwl@cnbsd~$ echo "exec fcitx -nb &" > .xinitrc
surferwl@cnbsd~$ echo "exec beryl-manager &" >> .xinitrc
surferwl@cnbsd~$ echo "exec /usr/local/bin/startxfce4" >> .xinitrc


接着就去"startx"或再"gdm"吧、再就是去转你的屏幕吧,最好放张女朋友的照片,你这样可以360度的随心所意的转着看,就看你的发挥了!


说明:以上的步骤有掺和了不少个人习惯性动作,有多余的步骤,比如切换目录的、使用bash shell等,其实这是个人习惯,自己明白就o了,>对着去画就行;我习惯用"simsun"或"文泉"字体,这里也没有写出来。另外就是还没有仔细检查,可能还有错字情况,但大体思想是这样的。我
在使用的过程中还没有发现问题,和平常没有使用AIGLX功能的时侯一样,就是比较"动态"了。

[ 本帖最后由 pilgrim_kevin 于 2007-2-27 23:10 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-02-27 23:09 |只看该作者

论坛徽章:
0
3 [报告]
发表于 2007-03-01 12:10 |只看该作者
没人对这个有兴趣么?

论坛徽章:
0
4 [报告]
发表于 2007-03-01 14:19 |只看该作者
截个图上来看看啊...我可是一直用E17

论坛徽章:
0
5 [报告]
发表于 2007-03-01 14:38 |只看该作者
第8步:获取新的ports包,先然后删除之前自带、默认安装的包,再重新安装新包。

晚上我发个截图上来,装beryl的机器在家里,办公的机器上没有截图。"hi.baidu.com/freebsd"上有个图,不过那个是用相机照的~~~~~~~!

论坛徽章:
0
6 [报告]
发表于 2007-03-01 16:57 |只看该作者
楼上的你好!看来很少来嗄!

我现在碰到的麻烦是:

===>   xorg-server-1.2.0,1 depends on file: /usr/local/bin/perl5.8.8 - found
===>  Patching for xorg-server-1.2.0,1
===>   xorg-server-1.2.0,1 depends on file: /usr/local/bin/perl5.8.8 - found
===>  Applying FreeBSD patches for xorg-server-1.2.0,1
File to patch:__________________

到了这个地方,让输入要patch的文件,faint,搞不定,在这里中断了。不得已跳过,
显示
=> Patch patch-imake.c failed to apply cleanly.
=> Patch(es) patch-Xserver-Xext-xvmc.c patch-Xserver-hw-xfree86-common-xf86Config.c patch-Xserver-hw-xfree86-os-support-bsd-i386_video.c patch-Xserver-os-xprintf.c patch-at_scancode.c patch-bsdResource.c patch-bsd_kbd.c applied cleanly.

再重新编译,就是
===>  Applying FreeBSD patches for xorg-server-1.2.0,1
Ignoring previously applied (or reversed) patch.
1 out of 1 hunks ignored--saving rejects to Xext/xvmc.c.rej
=> Patch patch-Xserver-Xext-xvmc.c failed to apply cleanly.

另外,我的显卡是Intel82865G集成显卡,需要安装nvidia-driver么?

论坛徽章:
0
7 [报告]
发表于 2007-03-01 18:28 |只看该作者
个人认为3D桌面没什么用啊!!

论坛徽章:
0
8 [报告]
发表于 2007-03-01 22:33 |只看该作者


[ 本帖最后由 cnbsd5 于 2007-3-1 22:49 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2007-03-01 23:06 |只看该作者
ports里面有beryl吗????

你的有/usr/ports/x11-wm/beryl?????

为什么我的没有啊?

论坛徽章:
0
10 [报告]
发表于 2007-03-02 10:04 |只看该作者
原帖由 chezz99 于 2007-3-1 18:28 发表
个人认为3D桌面没什么用啊!!



多多少少还是会提高一点办公效率
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP