LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 751|回复: 1

目前最为完美解决 java 程序在 beryl 下空白窗口的办法

[复制链接]
发表于 2007-1-17 14:39:08 | 显示全部楼层 |阅读模式
相比 compiz,beryl 确实是目前效果最好、发展最快的 3D 桌面解决方案。不过自从 3D 桌面出现以后就伴随其与一部分程序不兼容的问题,尤其是 java swing 图形界面程序,在 compiz 和 beryl 下窗口空白,没有任何内容。本人一来有那么一大部分工具是基于 java 的(swing,not swt),二来也确实很喜欢 java,所以 3D 桌面 compiz 以及 beryl 和 java 的冲突一直困扰着自己,即使是目前最新的 java 6 正式版也未能解决这个问题,虽然网上有人说用 export AWT_TOOLKIT=MToolkit 环境变量可以临时解决一下,但是效果仍然不好,还是存在这样那样的问题。不久前在国外网站偶然看到 java 6 update 1 预览版及其更新说明,已经解决了 java 和 xgl/aiglx/compiz 的冲突,马上下载安装试用,果然不错。但是不幸的是,在 beryl 下老问题依然没有解决。于是继续 google 了 n 把,终于找到了一个目前来说最为完美的办法,在 compiz 以及 beryl 下都能完美解决 java 程序显示的问题!因为 java 6 update 1 预览版(尚未正式发布)已经解决了 compiz 下的问题,所以这里只讲怎么解决 beryl 下问题的方法,所有操作均在 fc6 下完成,硬件为联想昭阳笔记本,NVidia GeForce FX Go5200 集成显卡,废话少说,现在开始:

1、用 yum 在线安装 beryl 0.1.4。不知道现在 fedora extras 源里有没有正式版 beryl 0.1.4,反正前一阵子还没有,我是用 fedora extras development 源安装的,呵呵。beryl 最新的版本好像是 0.1.4,新版本解决了过去不少问题,很稳定。

2、用 yum 在线安装 beryl-core-devel 开发包(版本和安装的 beryl 要一致)。

3、从 beryl-project.org 下载 beryl-core 源代码(只需要 beryl-core 的就可以了),比如现在最新的版本是 0.1.4,那么就下载 beryl-core-0.1.4.tar.bz2,这里有网址 http://releases.beryl-project.or ... re-0.1.4.tar.bz2。

4、解压缩 beryl-core-0.1.4.tar.bz2 源码包,修改 beryl-core-0.1.4/src/display.c 第 52 行为

        #define WMNAME "compiz"

5、修改 beryl-core-0.1.4/src/screen.c 第 813 行(有的说是 806 行)为

        #define MYNAME "compiz"

6、保存上述修改,编译 beryl-core。编译步骤很简单,切换到 root 权限下,然后执行下面的命令

        ./configure --prefix=/usr
        make
        make install

注意,在 configure 过程中,可能有的机器会提示 XML:arser 之类的错误,那是因为没有安装 perl 的 xml 模块所至,可以用 yum install perl-XML-Parser 来解决,再执行 configure 就不会有问题了。

7、从 http://download.java.net/jdk6/binaries/ 下载 java 6 update 1 预览版,安装,设置好 java 环境。

8、重启,开启 beryl。

至此,已经完美解决了在 beryl 下的 java 显示问题。不用再用 export AWT_TOOLKIT=MToolkit 那种临时办法了,效果很好。

顺带说一下,目前 FC6 下,beryl 0.1.4 及 nvidia 9631 驱动情况下,在 beryl 高级设置中,把“渲染平台”设置为“强制 AIGLX”,“渲染”设置为“间接渲染”,基本上可以解决窗口变黑的问题了,比较稳定。
发表于 2007-1-17 15:33:34 | 显示全部楼层
窗口变黑一直很烦人,谢谢楼主。实验一下。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表