i2era 发表于 2007-05-26 13:53

[3D桌面]我的beryl历程

00.我的系统信息:
OS:6.2-RELEASE-p5
WM:Fluxbox 1.0 Release Candidate 3
显卡是主板(C51G)集成的,在BIOS里分配64MB内存作为显存.
GeForce 6100 0x0242

01.升级xorg至7.2
更新ports tree

#portsnap fetch
#portsnap update

升级xorg

#pkg_delete -f xorg-\* libdrm-\* dri-\* libGL-\* libGLU-\* libglut-\* libXft-\* nvidia-driver-\*
#setenv PACKAGESITE 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/Latest/'
#pkg_add -r xorg


02.安装Nvidia驱动

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

NOTE: should be recompiled for a particular FreeBSD kernel

#pkg_info | grep nvidia
nvidia-driver-1.0.9746_5 NVidia graphics card binary drivers for hardware OpenGL ren


03.安装beryl

#cd /usr/ports/x11-wm/beryl/ && make install clean

中间可能会出错,我遇到的是
在编译glitz-0.5.6时出错:

===>Building for glitz-0.5.6
......
/usr/bin/ld: cannot find -lX11
*** Error code 1
Stop in /usr/ports/graphics/glitz/work/glitz-0.5.6/src/glx.
*** Error code 1
Stop in /usr/ports/graphics/glitz/work/glitz-0.5.6/src.
*** Error code 1
Stop in /usr/ports/graphics/glitz/work/glitz-0.5.6.
*** Error code 1
Stop in /usr/ports/graphics/glitz/work/glitz-0.5.6.
*** Error code 1
Stop in /usr/ports/graphics/glitz.

使用 phg_add -r glitz 来安装glitz-0.5.6_1解决问题.
出现错误基本都是因为升级xorg所带来的,这也就是

/usr/ports/UPDATING
# portupgrade -aP
The final step is to merge remaining files from /usr/X11R6 into
/usr/local (/usr/X11R6 is no longer used with xorg 7.2) and replace
/usr/X11R6 with a symlink.
When the merge operation completes successfully, the /usr/X11R6
directory hierarchy will be removed and replaced by a symlink to
/usr/local.This symlink is necessary because some binary ports (and
some remaining source ports) have hard-coded references to /usr/X11R6.

里建议升级完要更新所有的包的原因.(我闲麻烦没有照做)

#pkg_info | grep beryl
beryl-0.2.1         Beryl Composite/Window Manager meta-port
beryl-core-0.2.1_1Beryl Composite/Window Manager
beryl-manager-0.2.1_1 Manager for Beryl Composite/Window Manager
beryl-plugins-0.2.1_1 Plugins for Beryl Composite/Window Manager
beryl-settings-0.2.1 Beryl Settings Manager
beryl-settings-bindings-0.2.1 Beryl Settings Bindings


04.配置xorg.conf,启动beryl
我的/etc/X11/xorg.conf 的部分信息:

Section "Module"
      Load "freetype"
      # Load "xtt"
      Load"extmod"
      Load"glx"
      # Load"dri"
      Load"dbe"
      Load"record"
      Load"xtrap"
      Load"type1"
      Load"speedo"
EndSection

Section "Device"
      Identifier"Card0"
      Driver      "nvidia"
EndSection

Section "Screen"
#
Option "AllowGLXWithComposite" "True"
Option "AddARGBGLXVisuals" "True"
Option "DisableGLXRootClipping" "True"
#
EndSection

Section "Extensions"
       Option "Composite" "Enable"
EndSection


启动beryl
编辑 ~/.xinitrc

#start beryl
beryl --force-nvidia --use-cow &
emerald --replace &
exec xterm
#end

然后 startx,OK!

beryl的输出信息:

**************************************************************
* Beryl system compatiblity check                            *
**************************************************************

Detected xserver                              : NVIDIA

Checking Display :0.0 ...

Checking for XComposite extension               : passed (v0.3)
Checking for XDamage extension                  : passed
Checking for RandR extension                  : passed
Checking for XSync extension                  : passed

Checking Screen 0 ...

Checking for GLX_SGIX_fbconfig                  : passed
Checking for GLX_EXT_texture_from_pixmap      : passed
Checking for non power of two texture support   : passed
Checking maximum texture size                   : passed (4096x4096)

Relaunching beryl with __GL_YIELD="NOTHING"
**************************************************************
* Beryl system compatiblity check                            *
**************************************************************

Detected xserver                              : NVIDIA

Checking Display :0.0 ...

Checking for XComposite extension               : passed (v0.3)
Checking for XDamage extension                  : passed
Checking for RandR extension                  : passed
Checking for XSync extension                  : passed

Checking Screen 0 ...

Checking for GLX_SGIX_fbconfig                  : passed
Checking for GLX_EXT_texture_from_pixmap      : passed
Checking for non power of two texture support   : passed
Checking maximum texture size                   : passed (4096x4096)

i2era 发表于 2007-05-26 13:57

参考文章:
FreeBSD & Beryl +Nvidia
http://www.freebsdforums.org/forums/showthread.php?t=47986

Nvidia驱动程序同时支持直接和间接GLX渲染加速,无需什么额外的XGL/AIGLX支持。

Neither Xgl or AIGLX are required to use compiz with the NVIDIA drivers now that they natively support GLX_EXT_texture_from_pixmap.

Xgl is an X server that renders using OpenGL and runs on top of another X server. It was the first X server available to support GLX_EXT_texture_from_pixmap.

AIGLX stands for Accelerated Indirect GLX. It is not related to compiz or GLX_EXT_texture_from_pixmap at all, except that support for GLX_EXT_texture_from_pixmap in the open source DRI OpenGL drivers required it. NVIDIA has always supported Accelerated Indirect GLX rendering.

NVIDIA supports both Direct AND Indirect rendering with the GLX_EXT_texture_from_pixmap extension. Users should not need to install any additional software to run compiz with new NVIDIA drivers. Please see the just-created sticky thread covering the basic setup steps.

James Jones
NVIDIA Corporation

i2era 发表于 2007-05-26 14:24

一些 beryl 快捷键:
注:super键影射为 windows键,以下简称 Win

程序切换:
Alt + Tab:在当前工作台中切换窗口
Ctrl + Alt + Tab:在所有工作台中切换窗口
Win +Tab :环行排列窗口
F8 :平铺窗口

移动窗口:
Alt + 鼠标左键并拖曳:移动窗口
Ctrl + Shift + 鼠标左键:迅速移动窗口(会粘住边框)

立方体旋转:
Ctrl + Alt + 左/右方向键:立体地切换桌面
Ctrl + Shift + Alt + 左/右方向键:把活动窗口移到左/右工作台
Ctrl + Alt + 鼠标左键并拖曳:手动旋转立方体
Ctrl + Alt + 单击鼠标中键,然后移动鼠标旋转

缩放:
Win + 鼠标右键:缩放一次
Win + 鼠标滚轮 上/下:手动缩放大/小

反色效果:
Win + m:屏幕反色
Win + n:当前窗口反色

亮度和饱和度, 透明度:
Ctrl + 鼠标滚轮 上/下:增加/减少 饱和度(对桌面也有效)
Shfit + 鼠标滚轮 上/下:增加/减少 亮度(对桌面也有效)
Alt + 鼠标滚轮 上/下:增加/减少 透明度

窗口对齐:
Win + 小键盘1...9:在屏幕中快速对齐一个窗口(1=左下,2=中下,3=右下......)

zhangweizj 发表于 2007-05-26 18:20

我是ATI用户,苦啊。,就不指望什么3d了,只要能完整支持2D就行了
页: [1]
查看完整版本: [3D桌面]我的beryl历程