|
|

楼主 |
发表于 2006-10-16 20:59:19
|
显示全部楼层
谢谢 sheep ,搞定 aiglx 了,可以 direct rendering 了
现在
aiglx direct rendering , glxgears 不在 cube 上, 1800fps ,其他 3D 程序有点花。
xgl indirect rendering , glxgears 在 cube 上, 2800fps ,其他 3D 程序也很好。
下面是我的修改的和新写的脚本,方便 radeon 显卡随时切换 xgl 和 aiglx 。
我用的是 xfce4 ,要把 ~/beryl-start 加到自启动项里(开始-》设置-》自启动程序)。
用别的 WM ,要稍微改一下 ~/xgl 和 ~/aiglx 脚本,也要把 ~/beryl-start 加到 WM 的自启动程序里。
启动 X 之前,用 ~/xgl 和 ~/aiglx 启动。
~/startxgl
- #!/bin/bash
- # xgl startup script by RiPz @ www.binary-pulse.co.uk
- # GNU Public Licence
- echo "###### STARTXGL SCRIPT ######"
- if [ "$1" = "" ]; then
- echo "Usage: startxgl <display_number> <window_manager> <gfx> [-ng]"
- echo "<gfx> is optional, values 'ati' or 'nvidia/other', default is nvidia/other"
- echo "Window Managers currently supported: xfce, xfce-svn, gnome, kde."
- elif [ "$2" = "" ]; then
- echo "Usage: startxgl <display number> <window manager> <gfx> [-ng]"
- echo "<gfx> is optional, values 'ati' or 'nvidia/other', default is nvidia/other"
- echo "Window Managers currently supported: xfce, xfce-svn, gnome, kde."
- else
- echo "Starting X Server with XGL"
- echo " Using Display $1"
- echo " Using WM: $2"
- if [ "$3" = "ati" ]; then
- echo " Using Card: ati"
- Xgl :$1 -ac -accel xv:pbuffer -accel glx:pbuffer &
- else
- echo " Using Card: nvidia/other"
- Xgl :$1 -ac -accel xv:fbo -accel glx:pbuffer &
- fi
- sleep 2
- echo " Starting XIM"
- export XIM=fcitx
- export XIM_PROGRAM=fcitx
- export XMODIFIERS="@im=fcitx"
- export GTK_IM_MODULE=xim
- export QT_IM_MODULE=xim
- DISPLAY=:$1 fcitx &
- # echo " Starting Compiz"
- # if [ "$4" = "-ng" ] || [ "$4" = "--no-gconf" ]; then
- # DISPLAY=:$1 /usr/bin/compiz --replace decoration wobbly fade switcher resize place minimize cube rotate move zoom scale &
- # else
- # DISPLAY=:$1 /usr/bin/compiz --replace gconf &
- # fi
- # sleep 2
- echo " Starting Beryl"
- DISPLAY=:$1 /usr/bin/beryl-xgl --replace dbus settings &
- sleep 2
- DISPLAY=:$1 /usr/bin/emerald --replace &
- sleep 2
- DISPLAY=:$1 /usr/bin/beryl-manager &
- echo " Starting Window Manager"
- if [ "$2" = "gnome" ]; then
- # DISPLAY=:$1 gnome-window-decorator &
- DISPLAY=:$1 /usr/libexec/gnome-settings-daemon &
- DISPLAY=:$1 nautilus -n --sync &
- DISPLAY=:$1 gnome-panel
- elif [ "$2" = "xfce" ]; then
- DISPLAY=:$1 xfce-mcs-manager &
- # DISPLAY=:$1 gnome-window-decorator &
- DISPLAY=:$1 xftaskbar4 &
- DISPLAY=:$1 xfdesktop &
- DISPLAY=:$1 exec xfce4-panel
- elif [ "$2" = "xfce-svn" ]; then
- # DISPLAY=:$1 exec xfce4-session
- DISPLAY=:$1 xfce-mcs-manager &
- # DISPLAY=:$1 gnome-window-decorator &
- DISPLAY=:$1 xfdesktop &
- DISPLAY=:$1 orage &
- DISPLAY=:$1 exec xfce4-panel
- elif [ "$2" = "kde" ]; then
- # DISPLAY=:$1 gnome-window-decorator &
- DISPLAY=:$1 startkde &
- fi
- echo " DONE!"
- fi
复制代码
~/beryl-start
- #!/bin/bash
- ps -A | grep " beryl " && exit
- ps -A | grep " beryl-xgl " && exit
- echo "Killing exiting WM"
- beryl-manager > ~/.beryl-manager.log 2>&1 &
- disown %1
- sleep 2
- echo "Starting emerald"
- if which emerald > /dev/null
- then
- emerald --replace > ~/.emerald.log 2>&1 &
- disown %1
- else
- yawd --replace > ~/.yawd.log 2>&1 &
- disown %1
- fi
- echo "Starting beryl"
- beryl > ~/.beryl.log 2>&1 &
- disown %1
- sleep 2
- beryl-manager >> ~/.beryl-manager.log 2>&1 &
- disown %1
复制代码
~/aiglx
- #!/bin/sh
- eselect opengl set xorg-x11
- rmmod fglrx
- modprobe drm
- modprobe radeon
- cp /etc/X11/xorg.conf.radeon /etc/X11/xorg.conf
- export LANG=zh_CN
- export LC_ALL=zh_CN
- startxfce4
复制代码
~/xgl
- #!/bin/sh
- eselect opengl set ati
- rmmod radeon
- rmmod drm
- modprobe fglrx
- cp /etc/X11/xorg.conf.fglrx /etc/X11/xorg.conf
- export LANG=zh_CN
- export LC_ALL=zh_CN
- ~/startxgl 1 xfce-svn ati
复制代码 |
|