• 9361阅读
  • 2回复

qtopia 图形加速卡问题 [复制链接]

上一主题 下一主题
离线kuangzl
 
只看楼主 倒序阅读 楼主  发表于: 2008-11-27
— 本帖被 XChinux 执行加亮操作(2008-11-30) —
我在qtopia上新增加了图形加速卡,不过遇到了问题,请大侠帮忙指点:
1. 屏幕闪烁问题:只要有画图,图像就会闪烁
2. 透明色的问题:帖的图像没有透明色。
我参考的文档是:http://doc.trolltech.com/4.3/qtopiacore-svgalib.html我将图像加速卡命名为pallas. 把附件merge到target端就编译后,可以直接运行。
qtopia_update_2d.rar (30 K) 下载次数:9

文件:qtopia_update_2d.rar
大小:29KB
下载:下载


Configure时只需要:
qtopia-4.3.1-build> echo "yes" | ../qtopia-4.3.1-src/configure -device omap5912
然后进行make & make install
configure的参数在device的目录下面。 运行时需要使用:
export QWS_DISPLAY=pallas:mmWidth=45:mmHeight=60


我认为问题出现的原因可能是下面几个函数造成的:
1.
void* PallasPaintDevice::memory() const
{
    return QScreen::instance()->base();
}
参考了: http://doc.trolltech.com/4.3/qcustomrasterpaintdevice.html#memory
不过文档说明得不是很清楚,不知道哪位知道这个函数具体怎么实现?


2.
void PallasScreen::exposeRegion(QRegion r, int changing)
{
    QScreen::exposeRegion(r, changing);
}
参考了: http://doc.trolltech.com/4.3/qscreen.html#exposeRegion
也不是很清楚这个函数的实现。注意PallasScreen 是从QLinuxFbScreen继承来的。


3.
PallasSurface::PallasSurface()
: QWSWindowSurface()
{
    setSurfaceFlags(Opaque);
    // setSurfaceFlags(Buffered);
    pDevice = 0;
}
PallasSurface::PallasSurface(QWidget *w)
    : QWSWindowSurface(w)
{
    setSurfaceFlags(Opaque);
    // setSurfaceFlags(Buffered);
    pDevice = new PallasPaintDevice(w);
}
这两个函数有两点问题
a. 当我调用setSurfaceFlags(Buffered);时,qtopia在进入idle之前关掉,应该是什么地方出错了。
b. 调用这个函数setSurfaceFlags(Opaque)好像没有什么效果。

不知到哪位有这方面的经验,如果哪位大侠用了小弟的patch编译不起来的可以给我留言,多谢!

我的环境是:qtopia 4.3.1.
编译参数为:
-edition phone
-xplatform omap5912
-arch arm
-prefix /opt/Qtopia
-release
-launch-method normal
-displaysize 240x320
-iconsize 22
-v4l2
-no-qvfb
-no-voip
-no-sxe
-no-infrared
-no-samples
-no-ssl
-bluetooth
-dbus
-no-drm
-no-auto-i18n-fonts
-sound-system alsa
-qtopiamedia
-mediaengines helix,cruxus
-helix-system-id linux-2.2-libc6-arm9-cross-gcc4
-extra-qtopiacore-config "-no-freetype -no-largefile -qt-mouse-tslib"
-extra-qt-config "-no-largefile"
抬头向前!
离线kuangzl
只看该作者 1楼 发表于: 2008-11-28
自己顶起来,请各位帮帮忙
抬头向前!
离线kuangzl
只看该作者 2楼 发表于: 2008-12-19
目前的状况是:
已经解决的问题:
1. 坐标系统转换问题
2. 屏幕闪屏问题
3. 画矩形时边框问题
4. 重叠的widget半透明问题
5. 画图片时的透明色问题

还剩余的问题有:
1. 等待画面中,小时钟没有半透明效果,小时钟的背景不会随背后的画面变化而变化,小时钟周围有蓝色的小点
2. 偶尔有一些不应该出现的小线段出现在画面上
3. 有时候,开机的时候(at the beginning of running Qtopia)会画屏
4. 在主菜单的九宫格中,Foucs到的Item应该有个绿色的光环,现在看不见了。
抬头向前!
快速回复
限100 字节
 
上一个 下一个