现在的位置: 首页 > 综合 > 正文

在Moblin上尝试安装GMA500的驱动,可惜还差一点

2012年08月22日 ⁄ 综合 ⁄ 共 1858字 ⁄ 字号 评论关闭


  Moblin上开发一个很大的问题是moblin过分追究和mainline的linux版本保持一致,包括大大小小的版本,导致的一些驱动无法跟上。Ubutun9.04使用的是2.6.28.x版本,fc10使用的是2.6.27.x的版本,而Moblin迫不及待地将kernel版本提高到2.6.30,这引起driver无法跟进,例如阿土提供lpia的psb驱动,但是无法在现有版本上支持。而moblin提供的硬件支持很少,连他自己的poulsbo也不支持。在完善系统过程中,追赶linux版本对于开发者有害无益,从Intel的角度,他们的目的有可能为了提供kernel来适配他的小型设备包括电源、快启等等。但是对于开发应用或者服务,不是个好消息。

  
我的MID使用的显卡使用Intel
GMA500,有时也叫做PowerVR,驱动成为Poulsbo(psb)。他可以很好在Windows中使用,但是在Linux就不容易安装驱动。对于Linux,他的驱动不仅不是开源的,而且非常依赖于kernel的版本,以及多个rpm的版本,也就是说我们需要为每个版本(包括小版本)重新谨慎地编译驱动poulsbo。这和我台式机使用的ATI显卡不一样,ATI厂家提供的是一个通用的x86
linux驱动。对于MID,我已经成功更换了linux kernel for menlow,导入来触摸屏。但是我无法处理display的驱动。

  在moblin.org发布moblin2
的网页的注意事项中明确说明:Platforms
with GMA-500 Graphics chipset are not
supported

.。在moblin的说明中提出来一款wifi和一款显卡不能使用,很不幸,MID就偏偏使用了GMA500。

  驱动和menlow,netbook,moorestown并没有多大的关系,他主要和kernel的版本相关。fedora
10(kernel版本为2.6.27)可以提供poulsbo驱动

。作为同样的kernel版本,Ubuntu也提供来支持,在他的lpia版本中,提供psb的驱动,lpia是基于moblin1,kernel2.6.27。在其他的linux版本,moblin2使用2.6.29和2.6.30(前几天的刚释放的一个版本开始支持2.6.30),包括fc11,都是
2.6.29,都没有提供psb的驱动。这说明,我的这款MID只能工作在2.6.27上。

  如果MID使用通用的驱动vesa,将只能提供800*600和 640*480的分辨率,明显和MID屏幕的尺寸不一样。在moblin2
beta版本开始,UI使用clutter,这说明更多地依赖于底层驱动提供的2D、3D效果以及硬件加速。使用vesa无法满足这个要求,这会导致画面反应非常慢,双击个UI就像慢动作一样。为了确定Clutter对驱动的依赖,我在我的台式机上分别使用vesa和ATI驱动,跑一个动态
clutter,以我台式强悍的配置,在vesa下,一格一格移动,不流畅,而且很慢,据maillist有人说是因为读取framebuffer缓慢导致。如果用clutter作UI,会感觉整个机器都反应很慢。

  根据fc10提供psb的资源
。我在上面看到有fc11相关的
source
code。上面有fc10的kmod-psb的二进制rpm,但是没有fc11。我希望能够重新编译psb。我修改了buildsys-build-rpmfusion的脚本,重新指定我的kernel的版本,重新处理了N个rpm包。最终很费劲地通过来了编译。但是无法作为kernel
module进行加载,安装报告缺少drm的很多函数,这些函数存在于libdrm,以及psb-kmod包里面的drm.ko,不清楚ko能否去调用libdrm,但是modprobe
drm报错,而且没有详细说明,只报告说参数不正确Invalid argument。可能要有一些其他的问题,或许不能解决,导致fc11没有给出二进制的rpm。 

  我现在缺的一步是2.6.29的drm.ko。

  驱动的玩意和代码开发不一样,只能尽量去捣腾,而不能实际去掌控。在moblin的maillist也有人遇到同样的问题,一直在追问intel的相关roadmap,但是没有相关的计划。我认为这个问题我无法解决,最终决定放弃。驱动的提供还是要靠Intel,如果生产厂家不给,也没有太多的办法。

相关链接:
在Moblin上尝试继续安装GMA500的驱动

【上篇】
【下篇】

抱歉!评论已关闭.