FreeBSD ATI显卡与xorg配置记录

ATI显卡与xorg配置记录

ATI与NVIDA显卡是当前的两大主流显卡,相对来说ATI在被AMD收购以前对开源社区的支持不太热情,在FreeBSD中的驱动依赖于开源社区自己的努力。

对相对较新的显卡,主要使用radeon.ko模块和drm.ko模块驱动。具体支持的型号可以man radeon查询。 依据实验的情况和在google检索的结果,radeon驱动尚不支持AIGLX,compize fusion无法在7.0 beta2中正常工作。但radeon支持比较简单的3D建模,xfce4中已经可以使用混合模式,显现阴影和透明效果。(具体使用方法见设置–窗口管理器调整–混合设置)

目前radeon驱动已经支持AIGLX,2D/3D加速等特性。实验证明,在KDE4.5.1中,ATI Radeon 3470独立显卡可以开启KWin特效,并且跑得还挺流畅。

另一个需要说明的是ATI显卡支持XAA和EXA两种加速模式,其中EXA方式比较新,性能好出很多,特别在KDE桌面环境之下速度的提高比较明显,最近使用的情况来看也足够stable,建议在可能的情况下打开此选项。

案例:IBM T41,FreeBSD 7.0-beta2下/etc/X11/xorg.conf部分配置

Section "ServerLayout"
   Identifier     "XFree86 Configured"
   Screen      0  "Screen0" 0 0
   InputDevice    "Mouse0" "CorePointer"
   InputDevice    "Keyboard0" "CoreKeyboard"
   Option         "Clone" "off"
#    Option         "AIGLX" "True"          #打开AIGLX就黑屏
EndSection

Section "Monitor"
  Identifier     "Monitor0"
  VendorName     "Generic Monitor"
  ModelName      "Generic"
  DisplaySize    287    215                 #1024×768  90dpi,适合14.1"屏
EndSection

Section "Device"
  Identifier     "Card0"
  Driver         "radeon"                                  #也可以使用ATI,这是个wrapper,会自动侦测显卡类型,如果你用radeon有问题可以尝试换成ati
  VendorName     "ATI Video Driver"
      Option          "DynamicClocks"      "on"         #节能用的,显卡温度下降6-10度
      Option          "EnablePageFlip"     "on"
      Option            "AccelMethod"         "exa"        #使用EXA加速模式取代传统的XAA模式
      Option         "AccelDFS"          "true"
      Option          "FBTexPercent"           "0"
#        Option      "AGPFastWrite"        "True"       #试验性功能,怀疑不够稳定
      Option         "MonitorLayout"      "LVDS"       #强制LCD,使用CRT不能用此选项
      Option         "Dac6Bit"           "True"
      Option         "XAANoOffscreenPixmaps"  "true"
EndSection

Section "DRI"
   Group 0
   Mode 0666                           #普通用户也可使用DRI加速
EndSection

Section "Extensions"
  Option "Composite" "Enable"         #打开混合模式
EndSection

IBM T41使用的是ATI RADEON M7 LW显卡,即7500移动版,xorg启动后在/var/log/Xorg.0.log中grep到Direct rendering enabled.即表示3D功能激活,Composite enabled表示混合模式打开。

Tips:

1、UNTUTU 7.10已经支持compiz fusion,FreeBSD驱动滞后于linux。

2、fontconfig会覆盖xorg中关于DPI的设置。为了保证此设置生效,最好GNOME和KDE中在/etc/local/etc/fonts/local.conf中加入

<!–
   Target dots per inch, change 90 to yours
–>
      <match target="pattern" >
              <edit name="dpi" mode="assign" >
                      <double>90</double>
              </edit>
      </match>
     
如果是使用xfce4,在家目录下修改./.config/xfce4/Xft.xrdb文件,加入一行Xft.dpi:90即可。

如果总是不能设置正好的屏幕分辨率. 可以在 textmode下以root 身份运行

  gtf 1024 768 85
 
来生成Modules.把生成的Modules加入到你的Xorg.conf中。

原文链接:http://wiki.freebsdchina.org/doc/x/xorg_with_ati

安装FreeBSD桌面-Xfce4

作者:zp阿土

最小化安装FreeBSD8.1(amd64)不make buildworld的话 别忘了安装man手册
如果不是第一次安装的化最好把/usr/ports/distfile 备份下,装好系统再拷贝回来。这会让你在安装的时候节省很多下载的时间。

安装系统前先看看硬件信息是个好习惯(别忘了看看FreeBSD的硬件兼容性列表确定下你的硬件是否被支持)。
另外用dmesg |grep attached 可以查看哪些设备没有被驱动,再用pciconf -lv看下具体信息。/var/run/dmesg.boot也是排错的参考之一。

网络校时

#ntpdate time.windows.com (time服务器地址time.nist.gov 、chime.utoronto.ca 、ntp.pipex.net 、time.windows.com)

安装、更新源代码

#csup -L 2 -h cvsup.freebsdchina.org /usr/share/examples/cvsup/standard-supfile

安装、更新doc文档

#csup -L 2 -h cvsup.freebsdchina.org /usr/share/examples/cvsup/doc-sufile

安装、更新Ports Collection

#portsnap fetch extract

(以后更新执行portsnap fetch update就可以了。参见:http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/updating-upgrading-portsnap.html)

升级、编译、安装内核

(对于桌面用户我觉得用GENERIC内核就很好了,当然如果你想感受下定制内核那就另当别论了。)

参见/usr/src/Makefile文件。

或者http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/makeworld.html

给bsd打补丁(自动打补丁只能用于默认内核)

#freebsd-update #freebsd-install

设置本地化(中文)

登录分类法(管理员级设置)

在/etc/login.conf加入:

chinese:Chinese Users Account:\
:charset=UTF-8:\
:lang=zh_CN.UTF-8:\
:tc=default:

然后执行:

#cap_mkdb /etc/login.conf

然后:

#pw user mod 用户名 -L chinese

查看

#pw user show 用户名
XX:*:1001:1001:chinese:0:0:用户名:/home/用户名目录:/bin/sh
su -用户名
$ locale
LANG=zh_CN.UTF-8
LC_CTYPE=”zh_CN.UTF-8″
LC_COLLATE=”zh_CN.UTF-8″
LC_TIME=”zh_CN.UTF-8″
LC_NUMERIC=”zh_CN.UTF-8″
LC_MONETARY=”zh_CN.UTF-8″
LC_MESSAGES=”zh_CN.UTF-8″
LC_ALL=

设置成功

登录分类(用户级设置)

在用户根目录文件.login_conf加入:

me:\
:lang=zh_CN.UTF-8:\
:setenv=LC_ALL=zh_CN.UTF-8:\
:setenv=LC_CTYPE=zh_CN.UTF-8:\
:setenv=LC_COLLATE=zh_CN.UTF-8:\
:setenv=LC_TIME=zh_CN.UTF-8:\
:setenv=LC_NUMERIC=zh_CN.UTF-8:\
:setenv=LC_MONETARY=zh_CN.UTF-8:\
:setenv=LC_MESSAGES=zh_CN.UTF-8:\
:charset=UTF-8:\
: xmodifiers=”@im=SCIM”:

参考1:http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/using-localization.html

参考2:http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/locale.html

加载声卡驱动(我的声卡是板载alc883)

在/boot/loader.conf 加入 snd_hda_load=“YES”

#echo ‘snd_hda_load=”YES”‘>> /boot/loader.conf

(更详细的说明参见http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/sound-setup.html)

安装配置xorg

#cd /usr/ports/x11/xorg && make BATCH=YES install clean

生成xorg.conf.new配置文件并移动到/etc/X11/下

#Xorg -configure
#mv xorg.conf.new /etc/X11/xorg.conf

在/etc/rc.conf内加入hald_enable=“YES” 和 dbus_enable=“YES”

#echo ‘hald_enable=”YES”‘>> /etc/rc.conf
#echo ‘dbus_enable=”YES”‘>> /etc/rc.conf

详细说明参见HandBook 配置X11 地址:http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/x-config.html

安装文泉驿字库

#cd /usr/ports/x11-fonts/wqy &&make install clean

在/etc/X11/xorg.conf里面的Section “Files”小节加入:

FontPath    “/usr/ports/lib/X11/fonts/wqy”

安装Linux二进制兼容模式(安装nvidia显卡驱动所必须的)

#kldload linux
#cd /usr/ports/emulators/linux_base-f10 && make BATCH=YES install distclean

在/etc/rc.conf中增加 linux_enable=“YES”

#echo ‘linux_enable=”YES”‘>> /etc/rc.conf

参见http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/linuxemu-lbc-install.html

安装nvidia显卡驱动(我的是7600gs)

#cd /usr/ports/x11/nvidia-driver && make BATCH=YES install clean

在/boot/loader.conf中加入nvidia_load=“YES”

#echo ‘nvidia_load=”YES”‘>> /boot/loader.conf

安装nvidia显卡驱动自动配置工具

#cd /usr/ports/x11/nvidia-xconfig/ && make install clean

执行

#rehash
#nvidia-xconfig –add-argb-glx-visuals
#nvidia-xconfig –composite
#nvidia-xconfig –depth=24

上面三行是为了compiz-fusion所设置的,如果不装compiz-fusion执行nvidia-xconfig就可以了。 (会在/etc/X11下生成新的xorg.conf文件并把旧的xorg.conf备份为org.conf.backup)

安装xfce4

#cd /usr/ports/x11-wm/xfce4 && make BATCH=YES install clean

(如果需要GDM就不要加BATCH=YES这句,装的时候吧GDM前面的X打上就行了。) 如果你想允许用户关闭或重启(指在xfce4下)计算机那么在/usr/local/etc/PolicyKit/PolicyKit.conf中加入:

<match action=”org.freedesktop.hal.power-management.shutdown”>
<return result=”yes”/>
</match>
<match action=”org.freedesktop.hal.power-management.reboot”>
<return result=”yes”/>
</match>

注意:上面几行要加在<config>和</config>之间。 然后普通用户下执行

% echo “/usr/local/bin/startxfce4″ >> ~/.xinitrc

以后startx就可以进桌面了。如果需要开机直接进入桌面就吧GDM装上。

安装compiz-fusion(桌面3D效果)

# cd /usr/ports/x11-wm/compiz-fusion && make BATCH=YES install clean

在普通用户下创建个启动脚本start-compiz名并加入:

#! /bin/sh
compiz –replace –sm-disable –ignore-desktop-hints ccp &
emerald –replace &

给这个脚本执行权限

%chmod +x start-compiz

把这个脚本加入Session和启动以后进入Xfce4就自动启动compiz了。

简单设置 点开CompizConfig设置管理器>首选项>在后端选择GConf Configuration Backed (这样你以后选择的效果就可以即时生效了。) 另外在CompizConfig里吧 最小化效果、窗口装饰、震颤窗口、移动窗口、调整窗口大小、应用程序切换条都起用了,这样基本的3d桌面就好了。还有很多效果看自己喜好吧。

说明参见http://www.freebsd.org/doc/en/articles/compiz-fusion/article.html

常用软件

安装axel(多线程下载工具)

#cd /usr/ports/ftp/axel && make install clean

在/etc/make.conf中加入FETCH_CMD=axel -a -n 2

#echo ‘FETCH_CMD=axel -a -n 2

详细配置参见man手册 我只是在安装非常大的软件,像xorg、gnome、openoffice的时候才使用。(如果你用脚本自动安装最好还是用FreeBSD默认的fetch。)

安装scim 拼音输入法

#cd /usr/ports/chinese/scim-pinyin/ && make install clean

在.xinitrc里加入(我用的是sh)

%echo ‘export XMODIFIERS=’@im=SCIM”>> ~/.shrc
%echo ‘scim -d’>> ~/.xinitrc

安装firefox浏览器

#cd /usr/ports/www/firefox/
#make BATCH=YES install clean

在/boot/loader.conf中加入sem_load=“YES”

echo ‘sem_load=”YES”‘>> /boot/loader.conf

安装firefox中文包

#cd /usr/ports/www/firefox-i18n/
#make install clean

让firefox支持flash

=安装nspluginwrapper=

#cd /usr/ports/www/nspluginwrapper
#make install clean

=安装linux-f10-flashplugin10=

#cd /usr/ports/www/linux-f10-flashplugin10
#make install clean

建一个符号链接

#ln -s /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so /usr/local/lib/browser_plugins/

然后在用户下执行

%nspluginwrapper -v -a -i

如果希望播放 Flash 动画的话,Linux® 的进程文件系统, linprocfs(5) 必须挂载于 /usr/compat/linux/proc。可以通过以下的命令实现:

# mount -t linprocfs linproc /usr/compat/linux/proc

这也可以在机器启动时自动挂载, 把以下这行加入 /etc/fstab:

linproc    /usr/compat/linux/proc  linprocfs   rw  0   0

参见handbook:http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/desktop-browsers.html 如果平时不用flash还是建议不要装了。现在的这个版本占用资源还是有点高,有时候firefox会卡。

安装Thunderbird(邮件客户端)

#cd /usr/ports/mail/thunderbird
#make BATCH=YES install clean

安装Thunderbire语言包

#cd /usr/ports/mail/thunderbird-i18n
#make install clean

安装Ristretto

Xfce项目。一个轻巧的图像查看器。

#cd /usr/ports/graphics/ristretto
#make install clean

安装Xfburn

Xfce项目。Xfburn是一个使用cdrtools(cdrecord、cdrdao、mkisofs)来烧制CD和DVD的前端烧录程序。

#cd /usr/ports/sysutils/xfburn
#make install clean

确保在/etc/rc.conf中dbus_enable=“YES”和hald_enable=“YES”已经启动。(如果你是按着这篇简单教程安装到这里的那它们已经被启动了。) 内核中这些选项被打开。

device          scbus
device          cd
device          pass

如果你是用的是ATAPI CD/DVD驱动器还必须在内核中打开

device     atapicam

或者在/boot/loader.conf中加入

atapicam_load=”YES”

查看你正在使用的CD/DVD设备

#camcontrol devlist

我的显示结果是

<LITE-ON DVDRW SHW-1635S YS0W>     at scbus0 target 1 lun 0 (cd0,pass0)

然后在/etc/devfs.conf中加入:

perm    cd0     0666
perm    xpt0    0666
perm    pass0   0666

然后重新起动计算机就可以用Xfburn刻录了。

参考1:http://www.freebsd.org/gnome/docs/faq2.html#q15

参考2:http://forums.freebsd.org/showthread.php?t=1195

参考3:http://www.freebsd.org/doc/handbook/creating-cds.html

安装xfce4-media

Xfce项目。Xfmedia 是一个简单易用的媒体播放器,基于 xine 引擎。GTK+ GUI 旨在播放与管理音频文件,但是,由于它是基于 xine 的,所以同样支持视频文件。

#xfce4-media: /usr/ports/multimedia/xfce4-media
#make install clean

安装audacious

(音频播放器。如果你觉得xfce4-media不太适合你也可以装这个。)

#cd /usr/ports/multimedia/audacious
#make install clean

安装audacious-plugins

(音频播放器插件。必须安装)

#cd /usr/ports/multimedia/audacious-plugins
#make install clean

安装mplayer播放器

cd /usr/ports/multimedia/mplayer
make WITH_LANG=zh_CN install clean

(如果你喜欢看搞清电影并且你的显卡支持VDPAU别忘了吧这个点上。)

安装galculator(计算器)

#cd /usr/ports/math/galculator
#make install clean

安装MLDonkey(电驴、BT)

#cd /usr/ports/net-p2p/mldonkey
#make WITHOUT_GUI=yes WITHOUT_X11=”YES” WITHOUT_TK=”YES” install clean
%ln -s ~/.mldonkey/incoming ~

在/etc/rc.conf加入mlnet_enable=“YES” 和 mlnet_user=“用户名非root“

%/usr/local/etc/rc.d/mlnet start (注意是%)
1.%telnet 127.0.0.1 4000
2.>auth admin “”
3.>passwd 键入你想设置的密码
4.>set allowed_ips “127.0.0.1 192.168.0.0/24” (根据你自己的情况设置)
5.>save
6.>exit

(mldonkey需要一个非root用户来运行。我习惯在装系统的时候就建立一个wheel组的用户,所以这里我就不用在建立用户了。)

具体情况可以参考http://forums.freebsd.org/showthread.php?t=227

现在就可以在浏览器里输入:localhost:4080来设置和下载文件了。

默认mldonkey的文件夹是隐藏的,在用户目录下。找下载好的电影有点不方便,把incoming连接到你的用户目录下就好了。当然你也可以自己修改默认下载路径。

mldonkey简单设置:

enable_kademlia的选项为true――打开kad减少对服务器的依赖。
max_hard_upload_rate默认是10    (全局最大上传,根据自己情况设置)
max_hard_download_rate默认是50 (全局最大下载,根据自己情况设置)
mldonkey有两组两组带宽控制模式,通过点击Bandwidth toggle来更改带宽控制模式。

=添加服务器列表:=

先删除原先的服务器列表下载地址。点击Options>Web infos找到server.met行然后点击前面的Remove
然后点击Add Url输入“server.met http://ed2k.im/server.met”(不包括引号,放心都是安全服务器列表。)再点击前面的DL也就是DownLoad。

=添加kad节点信息=

点击Options>Web infos>Add Url输入nodes.gzip http://upd.emule-security.net/nodes.dat

=添加firefox for mldonkey插件=

下载地址:http://www.informatik.uni-oldenburg.de/~dyna/mldonkey/

安装OpenOffice.org

#cd /usr/ports/editors/openoffice.org-3 && make LOCALIZED_LANG=zh-CN install clean

注意:由于许可证的问题需要手工下载一些文件到/usr/ports/distfiles/下。

GIMP

专业的图像处理软件

#cd /usr/ports/graphics/gimp-help && make config (把除了中文以外的X全部去掉,保存。)
#cd /usr/ports/graphics/gimp && make BATCH=YES install clean

GIMP的手册

#cd /usr/ports/graphics/gimp-manual-pdf && make install clean

以下是简单的自动安装脚本

#!/bin/sh
#make BATCH=YES 这个命令的意思是 使用默认选项
#把用ports安装过的软件都打包到下面的目录
#mkdir -p /usr/ports/packages/All/
#make DEPENDS_TARGET=package package 这个命令的意思是 打包一个ports并将依赖也一起打包
#安装并打包
#make BATCH=YES DEPENDS_TARGET=package package install clean
#安装xorg
cd /usr/ports/x11/xorg &&make BATCH=YES install clean
echo ‘hald_enable=”YES”‘>> /etc/rc.conf
echo ‘dbus_enable=”YES”‘>> /etc/rc.conf
#安装wqy
cd /usr/ports/x11-fonts/wqy/ && make BATCH=YES install clean
#安装Linux二进制兼容模式
kldload linux
cd /usr/ports/emulators/linux_base-f10/ && make BATCH=YES install distclean
echo ‘linux_enable=”YES”‘>> /etc/rc.conf
#安装nvidia显卡驱动
cd /usr/ports/x11/nvidia-driver/ && make BATCH=YES install clean
echo ‘nvidia_load=”YES”‘>> /boot/loader.conf
#安装nvidia显卡自动配置工具
cd /usr/ports/x11/nvidia-xconfig/ && make install clean
#安装Xfce4
cd /usr/ports/x11-wm/xfce4/ && make BATCH=YES install clean
#安装scim
#cd /usr/ports/chinese/scim-pinyin/ && make BATCH=YES install clean
#安装firefox
cd /usr/ports/www/firefox/ && make BATCH=YES install clean
echo ‘sem_load=”YES”‘>> /boot/loader.conf
#安装firefox中文包
cd /usr/ports/www/firefox-i18n/ && make BATCH=YES install clean

原文链接:http://wiki.freebsdchina.org/doc/x/freebsd_desktop_xfce