Beryl / AIGLX / ATI : 完成版

终于跑起来beryl了~ 速度不错。贴图可见http://easyhu.blogspot.com/2007/05/beryl-aiglx.html详细方法可见http://www.freebsdchina.org/forum/viewtopic.php?p=194263#194263 texture.c改动的地方,估计也不是写程序时候的Bug,而是AIGLX正常情况下的用法。因为我现在其实还是Direct Rendering,没有用上AIGLX(不过Indirect奇慢无比…… 不知道是什么问题)。我现在直接用–use-copy还是–force-aiglx的时候还是会看见显示混乱,估计是改了的结果。 后记:更新xorg-server,dri,libGL*后,beryl不稳定了,有时候Bus Error,一个问题是“曲线收起”就会Bus Error,还有剩下的几率比较小,但是发生原因不明。 另:我不喜欢我家的鼠标有自动双击功能!…… Old Blog Link: http://computer.mblogger.cn/henryhu/posts/64943.aspx

Project: TimeCountJava

用来计时的东西,设计出来的时候是给我家的宽带计时用的,所以和上网/断网这个功能结合得太紧密了,现在正在考虑分开来。其实就是一个计时工具,能够对一小段一小段的时间进行统计,得出每月总和,每日总和,并且能够浏览历史记录。因为是用来统计上网时间的,所以还有上网和断网的功能。虽然是用Java写的,但是貌似Java没有上下网的方法。所以,需要针对各个系统写一个用来上网/下网的小程序。我现在Windows里面用的是rasphone(系统自带),FreeBSD下面我写了一个ppp的wrapper脚本,这个脚本应该是通用unix-like系统的。以后要增加达到限制提醒功能,另外多一些配置功能,…… Old Blog Link: http://computer.mblogger.cn/henryhu/posts/64265.aspx

Project: ReadAsBmp

这个东西是我为了更换MP3的Rom里面的图片而开发的,能够在指定参数之后,从文件的某个位置读取BMP格式的图像(或者说把数据当BMP格式读进来并且显示出来~),以及使用各种格式的图像进行替换。开发到现在,已经可以从某个文件中读取图像列表,自动批量显示在列表框里,然后通过点击选择图像(就不用每次都手动输入数据再显示了~ 一劳永逸啊~)。这个功能使得这个程序应该可以适用于各个牌子、各个型号的MP3的Rom~ 也可以根据列表把图片自动提取出来,保存到文件。暂时没有批量读取功能,以后再说~这个东西是用C#写的,主要是跨平台性好,用起来还比较方便~ 另一方面是为了学习C#,大概是C#的第一个实用项目吧。 Old Blog Link: http://computer.mblogger.cn/henryhu/posts/64264.aspx 评论 # 回复: Project: ReadAsBmp 2008-7-25 3:25 behzad_ahmadpoor666@yahoo.com 评论内容不能为空

.Net under unix-like systems: mono

MS看着Java凭借着可移植性占领了广大的市场,自然不甘心,于是搞出了.Net——MS版Java。实话说,.Net和Java很多地方差不多的……由于.Net需要可移植性,因此.Net程序里面其实并不是机器码——实际上是MS的一种中间代码,也就是经过了一半编译过程的代码。既然是独立于系统的,.Net也就很容易被移植到MS没有兴趣/不想移植的系统上。由此,mono便诞生了——可以在Linux/BSD/unix-like上跑.Net程序。貌似mono自己写了.Net的一大堆类库(当然很多还没有写出来…… 但可以混混了~)。从前装好mono,运行的时候,报告gdiplus.dll找不到。我把Windows下面那个搬到了很多地方,都没有用。今天再试,突然想到可能需要原生的gdiplus,一看,果然发现有libgdiplus这个port,装好之后出现了gdiplus.so等。再运行,就没有原先的问题了。但是,mono的不完整的实现还是限制了使用…… 我用它运行从前写的ReadAsBmp程序(能够把一个文件的任何部分当作Bmp处理等),基本上可以用,但是PictureBox的Load() mono 没有实现,载入外部图像的时候就挂掉了。而另一个 NewLines 程序 (其实功能和常见的WinLinez差不多,五个珠子连起来就消掉的小游戏,为了解决自动缩放/存盘/跨平台等功能而自己写的,给我妈玩……)由于Form.set_MainMenuStrip() mono  没有实现,窗口都没出来就挂掉了,看来目前还不能使用菜单部分啊~总的来说,mono 已经不错了,只要能够完善类库,比起Java还是很有竞争力的。

Beryl / Compiz / XGL / AIGLX: 新进展

鉴于Xgl的编译困难——没有能够和Mesa共同编译的发布版本,我全面转向AIGLX。新版本的Xorg(7.2)自带了AIGLX,并且默认状态就是激活的。我原先用git抓下来编译的Xorg,竟然是7.1.99.2,竟然比发布版旧…… 跑起来之后,Xorg会在某个不确定的时刻死掉…… 而且,这个版本就是死活不肯编译 GLX Extension! 就算我 configure 的时候指定 –enable-glx 也没有用。 后来想,既然决定用新的Xorg,干脆用ModularXorg的ports算了。原先是觉得这样弄会很烦,但是也没有别的更简单的办法。于是就照着FreeBSD wiki里的ModularXorg的方法,先备份ports目录,然后用git抓下新的(大概耗时半小时左右),接着就到ports里的各处安装ModularXorg的各个组成部分,比如xorg-proto,xorg-server,libGL*,libglut,dri,libdrm,xf86-input-mouse,xf86-input-keyboard,xf86-video-ati,还有各个小工具,比如xdpyinfo,iceauth,…一切OK后,重新配了一下X,顺利进去了。这个X相对git下来那个稳定多了,也有了GLX Extension和Direct Rendering(虽然现在的ports里面的dri不编译glxinfo,glxgears等等,但是可以用git抓下新的Mesa的源代码,然后去progs/xdemos里面编译)。但是这个X没有6.9稳定,比如我切换到命令行再切换回来很容易出问题,而且每次退出基本上都不能正常,总是有”X in free():…”的错误。但无论如何,可以用了。然后安装了beryl和compiz,原来想着差不多了,但是启动beryl之后…… 就出来那个”white screen of death”了。其实也不是全白,可以转动桌面立方体,弹性窗口效果等等都有,桌面还是蓝颜色的,就是所有的窗口都是白的(还有半透明效果……),没有内容。如果用–use-copy选项启动beryl,能显示内容,但稍有变化就会乱掉,而且速度奇慢(其实不用–use-copy也很慢,但是至少能动),总之就是行不通。compiz这边,启动的时候显示”no GLXFBConfig for default depth, this isn’t work”的错误,而beryl对应的是”no GLXFBConfig for default depth, falling back to visinfo”,看来beryl针对这个问题进行了patch。总之就是不能正常使用……据说这个是glproto从1.4.7升到1.4.8之后导致的一个问题,看来要等更新了……现在打算去看看beryl的代码,哪里出的问题……注:beryl是从compiz分离出来的项目,基于compiz的代码,进行了许多改进/创造,目前两个项目正在考虑整合问题。 Old Blog Link: http://computer.mblogger.cn/henryhu/posts/63590.aspx