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 */