Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5907622
  • 博文数量: 1152
  • 博客积分: 12097
  • 博客等级: 上将
  • 技术积分: 11773
  • 用 户 组: 普通用户
  • 注册时间: 2005-02-26 09:52
文章分类

全部博文(1152)

文章存档

2023年(1)

2017年(1)

2015年(1)

2014年(1)

2013年(5)

2012年(10)

2011年(41)

2010年(47)

2009年(110)

2008年(170)

2007年(246)

2006年(394)

2005年(125)

分类: LINUX

2007-03-28 10:17:29

3月27日

2007年03月27日 — cjacker (阅读: 11)

1,recompile qt
2,recompile libart_lgpl,the update break kdelibs compilation.
3,recompile kdelibs for new libart_lgpl
4,recompile kdebase,添加了一个注销对话框的patch,通过dbus/hal进行hibernate/suspend,添加了一个mediamanager的patch,接受kpowersave的关机和resume时的media umount and remount.
5,修复了一个非常critical的Bug,在kdm登录对话框中,当光标停在password输入框,按caps/alt等键造成kdm崩溃。查了一下,原来是在修正非英语密码时,比如西班牙语的特殊字符密码引入的。
6,打开了IDE所有的选项,I am stupid,也是,周围已经没有IDE光驱的机器了。
7,修改了915resolution,加入了santa rosa, 965G的宽屏配置的支持,不是很清楚这个是965G还是GM,因为设备是unkown的,不过video bios信息还是可以得到的。所以,修改了915resolution,让他能支持宽屏965。
虽然, 965GM的驱动还没有,不过vesa驱动现在是可以支持宽屏的
看来我可以使用这个双核2.4,1G内存的本子了。
注:现在可以清楚了,这个video bios ID应该是965GM,另外一个台式机的是965G。

唯一的遗憾是目前还没有支持965GM的i810驱动,965G已经可以支持的很好了。

前几天已经发了一个Xorg7.2, Mesa 6.5.2, kernel-2.6.20.x的Everest到Intel,965GM的支持应该是两个星期之内的事情吧。

又一个ISO,在 965GM上测试,可以支持vesa宽屏了,另,alsa现在的版本是10.14rc3,有必要的话,还是进行一下升级吧。

最近因为一个bios问题跟HP纠缠不断,表现是:

安装Linux后,重新启动时,BIOS会变的很慢。

不用Everest的也不要高兴,这个问题,影响所有kernel < 2.6.20的版本,也就是这个世界上所有的稳定Linux发行版本。

用了一天两夜的时间,终于Fix了这个问题。

diff -Nur linux-2.6.16.9/drivers/input/mouse/psmouse-base.c linux-2.6.16.9n/drivers/input/mouse/psmouse-base.c
— linux-2.6.16.9/drivers/input/mouse/psmouse-base.c 2006-04-19 14:10:14.000000000 +0800
+++ linux-2.6.16.9n/drivers/input/mouse/psmouse-base.c 2007-03-25 00:04:36.000000000 +0800
@@ -957,9 +957,33 @@

static void psmouse_cleanup(struct serio *serio)
{
+ // cjacker, add something here.
struct psmouse *psmouse = serio_get_drvdata(serio);
+ struct psmouse *parent = NULL;
+
+ mutex_lock(&psmouse_sem);
+
+ if (serio->parent && serio->id.type == SERIO_PS_PSTHRU) {
+ parent = serio_get_drvdata(serio->parent);
+ psmouse_deactivate(parent);
+ }
+
+ psmouse_deactivate(psmouse);
+
+ if (psmouse->cleanup)
+ psmouse->cleanup(psmouse);

psmouse_reset(psmouse);
+ ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_ENABLE);
+
+ if (parent) {
+ if (parent->pt_deactivate)
+ parent->pt_deactivate(parent);
+
+ psmouse_activate(parent);
+ }
+
+ mutex_unlock(&psmouse_sem);
}

/*
diff -Nur linux-2.6.16.9/drivers/input/mouse/psmouse.h linux-2.6.16.9n/drivers/input/mouse/psmouse.h
— linux-2.6.16.9/drivers/input/mouse/psmouse.h 2006-04-19 14:10:14.000000000 +0800
+++ linux-2.6.16.9n/drivers/input/mouse/psmouse.h 2007-03-24 23:39:46.000000000 +0800
@@ -68,6 +68,7 @@

int (*reconnect)(struct psmouse *psmouse);
void (*disconnect)(struct psmouse *psmouse);
+ void (*cleanup)(struct psmouse *psmouse);
int (*poll)(struct psmouse *psmouse);

void (*pt_activate)(struct psmouse *psmouse);
diff -Nur linux-2.6.16.9/drivers/input/mouse/synaptics.c linux-2.6.16.9n/drivers/input/mouse/synaptics.c
— linux-2.6.16.9/drivers/input/mouse/synaptics.c 2006-04-19 14:10:14.000000000 +0800
+++ linux-2.6.16.9n/drivers/input/mouse/synaptics.c 2007-03-25 00:05:24.000000000 +0800
@@ -650,6 +650,8 @@
psmouse->protocol_handler = synaptics_process_byte;
psmouse->set_rate = synaptics_set_rate;
psmouse->disconnect = synaptics_disconnect;
+ // cjacker, this is the problem.
+ psmouse->cleanup = synaptics_reset;
psmouse->reconnect = synaptics_reconnect;
psmouse->pktsize = 6;
/* Synaptics can usually stay in sync without extra help */

今天完成的几个Task

2007年03月26日 — cjacker (阅读: 14)

1,Update到 2.6.20.4

2,修改了安装程序,加入了pata_驱动模块的支持,幸好这里有数台via和sis的机器,可以测试并及早的发现了这个问题。否则,呵呵,找不到光驱。

3,修改了915resolution,加入了/etc/rc.d/init.d/915resolution和/etc/sysconfig/915resolution-config。

4,修改了displaysetting,加入了Intel显卡宽屏的自动配置,如果是intel显卡,通过/usr/sbin/write_915resolution脚本写入/etc/sysconfig/915resolution-config文件,并就地执行一次。

这样,配好显卡后重新登录时宽屏配置即可生效。

宽屏的配置不再是问题了:
1,fglrx支持的很好,不需要特殊配置
2,nvidia支持的很好,不需要特殊配置
3,intel显卡可以通过915resolution patch video bios,现在也自动了。

5,修改了ipw3945d,加入了/etc/rc.d/init.d/ipw3945d脚本,这样不需要在/etc/rc.d/rc.local执行ipw3945d了。这个脚本会作一个判断,只有是ipw3945网卡才会执行。

6,引入了pm-utils,这个工具集基本上是freedesktop项目的一部分了,并加入了915resolution脚本,可以在休眠恢复后支持宽屏。

7,去掉了suspend2支持,从E0.3之后,suspend2一直是broken的状态,现在正式的去掉了suspend2 ,直接使用内核的suspend实现。修改了booty,不再写resume2=swap:/xx/xx而是写入resume=/dev/xx

8,升级了powersaved和kpowersave,配置更加灵活,并且,暂挂到硬盘已经基本可用了,试了数台机器,休眠功能都是可用的,在一台华硕的本子上fglrx休眠待机都能工作。在一台Intel显卡的本子上可以休眠,但suspend后不能唤醒显示,在终端suspend是能够成功的。

9,修改了hal脚本,加入了everest系统的判断。

接下来的工作:
1,修改注销对话框,使用hal休眠和待机脚本。
2,解决dmraid安装问题。

2007 3月23日

2007年03月23日 — cjacker (阅读: 22)

1,update xorg nv driver to 2.0.0
2,update xorg i810 driver to 1.7.4
3,打开内核的EXT2_FS=y,而不是用EXT2_FS=m,修正了安装程序mount ext2 image的问题。
4,打开内核的USB_HID=y,否则anaconda找不到USB鼠标。

Firefox下载文件的打开?Thunderbird附件的关联?KDE?这么难解决吗?

2007年03月23日 — cjacker (阅读: 31)

一直以为,在kde下firefox下载文件对话框的打开中程序的选择,Thunderbird附件打开时程序的选择是因为gnome-vfs的问题。

幼稚啊,实在是幼稚。

原来问题很简单,缺少desktop database,使用desktop-file-utils,然后update-desktop-database后就不会发生这样的问题了。

永中Office and cups

2007年03月22日 — cjacker (阅读: 40)

修改/etc/cups/cupsd.conf

注释掉
Listen /var/run/cups/cups.sock

这个信息可以从java的bugzilla和cups的bugzilla中获得。

Is there a way to …………..?

2007年03月15日 — cjacker (阅读: 51)

写的乱了一点,但是主要还是讨论文件关联。

或许在Linux下问的最多的就是这个问题,因为自己的浅薄,不能理解的东西太多了。

比如:
freedesktop的mime info为什么要用xml去描述呢?
程序跟文件类型的关联为什么非要依赖与特定的桌面环境。
KDE使用的是syscoca.
GNOME使用的是vfs/gconf
其他的桌面就不知道使用什么了。

xml是否是最简单的方式我们先不去讨论,难道把image/png和所有能够打开image/png的程序管理起来就这么困难吗?

1,怎样的文件是image/png,两种方式:
1,后缀是忽略大小写的png,这个或许是windows的发明。
2,png的magic number,读文件的前几个字节就够了,shell八辈子前就做到了,要不怎么能够不同的文件有不同的色彩。当然,nautilus,konqueror等等也都作到了。

2,什么xml格式,desktop文件,用一个sqlite db好不好?
image/png
apps:
/usr/bin/gwenview
/usr/bin/gthumb
/usr/bin/eog
/usr/bin/showimg

按照次序一致排下来,那个在前就用那个。
菜单里的打开方式把所有的程序都显示出来,用户可以去选择,当然也可以更改默认的打开程序。

如果有一个新的软件,这个软件安装时,自己往里加一条就完了。
这样,软件安装时还可以问问:是不是要使用我默认打开XX格式。

另外一些把简单问题复杂化的设计:
1,菜单的category分类,这个世界上还是比目录分类更清晰的吗?
把一堆desktop文件扔到一个目录让用户怎么维护?

2,任何binary都要写一个desktop?
只需要在elf头上加一段就可以嵌入图标,然后做个链接不是更好?

desktop文件充斥了整个的Linux环境,好像任何东西都可以用desktop文件来描述,Great,不知道你遇到过没有:

1,在文件管理器里,Desktop文件应该显示成firefox.desktop还是“浏览器”?
2,如果显示成firefox.desktop,这个是可执行的还是一个文本文件?
3,如果显示成“浏览器”,那么重命名的时候,我应该修改实际的文件名firefox.desktop还是修改desktop里面的Name=?
4,如果显示成”浏览器”,那么,我在向这个目录写入另一个名为firefox.desktop的文件的时候,提示我重名,那么我应该修改原来的哪个文件呢(firefox.desktop显示成了“浏览器”)?

当然,以上全部都是基于非shell操作,似乎我们也不应该跟用户假设让他使用shell操作。

After update gtk2 to 2.10.10……

2007年03月14日 — cjacker (阅读: 56)

最近几天一直在升级g系列软件包,从2.10.8到9到10。

确实也没有发现什么问题,gtk的api其实是足够stable的,小版本升级跟没有问题了。

今天早上到公司收邮件,使用thunderbird,有几封邮件需要单独处理一下,突然发现邮件不能拖放到其他邮件目录了,看错误输出:

(Gecko:4278): Gtk-CRITICAL **: gtk_drag_get_data: assertion `GTK_IS_WIDGET (widget)’ failed

(Gecko:4278): Gtk-CRITICAL **: gtk_drag_get_data: assertion `GTK_IS_WIDGET (widget)’ failed

(Gecko:4278): Gtk-CRITICAL **: gtk_drag_get_data: assertion `GTK_IS_WIDGET (widget)’ failed

(Gecko:4278): Gtk-CRITICAL **: gtk_drag_get_data: assertion `GTK_IS_WIDGET (widget)’ failed

(Gecko:4278): Gtk-CRITICAL **: gtk_drag_get_data: assertion `GTK_IS_WIDGET (widget)’ failed

(Gecko:4278): Gtk-CRITICAL **: gtk_drag_get_data: assertion `GTK_IS_WIDGET (widget)’ failed

毫无疑问,应该是gtk2版本变化造成的。

回想一下,firefox-2.0.0一直升级不上来,也跟gtk版本有很大的关系,不同的版本会有不同的表现,不过更为激烈一点,crash。

还好,现在仅仅是broken了邮件拖放,又验证了一下firefox 书签管理器中的书签拖放,发现是工作的。

说明这个问题已经被fix了。

查……..

果然在这里找到了。

有时候,问题就是这么简单,只要你能使用好手里的工具。

阅读(3091) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

5717642008-05-06 22:30:58

这个哪里下载?!??!