Optimization opportunities in compositors

Registered by Jesse Barker on 2010-10-20

Discuss potential improvements to the OpenGL ES backends of:

* meegotouch-compositor
* chromium-wm
* clutter compositors

Blueprint information

Jesse Barker
Jammy Zhou
Jammy Zhou
Series goal:
Accepted for 11.05
Milestone target:
milestone icon 11.05-final
Started by
Jammy Zhou on 2010-11-27
Completed by
Jesse Barker on 2011-05-19

Related branches



[jazh Dec 19] adapt to the new milestones of Graphics WG
[jazh Dec 19] remove the meego package item, a new blueprint for this has been created: https://blueprints.launchpad.net/linaro-graphics-wg/+spec/multimedia-linaro-package-meego
[jazh Dec 23] kwin experimental branch available from Martin Graesslin: http://gitweb.kde.org/scratch/graesslin/kwin-gles.git
[jazh Dec 24] create issue for tfp check in mcompositor with one patch attached: http://bugs.meego.com/show_bug.cgi?id=11673
[jazh Dec 27] EGL_KHR_image_pixmap is not supported in egl_gallium driver of mesa (https://bugs.freedesktop.org/show_bug.cgi?id=32678), and egl_dri2 driver should be used for EGL TFP support with mesa.
[jazh Jan 10] The kwin-gles packaging will be done after Martin's GLES patches get into kwin mainline.
[jazh Jan 11] The kwin GLES branch will get into KDE SC 4.7
[jazh Jan 17] MeeGo packaging blocked by missing ARM PPA
[jazh Jan 22] The kwin-gles branch is scheduled to be merged into master on Jan 30th after the git transition of KDE
[jazh Feb 8] The kwin-gles branch has been merged into kde-workspace master
[jazh Feb 10] Kwin GLES has been verified to be working on imx51 with simple tests (kwin+xterm+xclock), but there is tearing and corruption on the screen when run window mode gles2 application together with xterm.
[jazh Feb 13] Fixed the tearing problem of kwin on imx51, and the patch is accepted in kwin upstream:
[jazh Feb 15] Patch "improve GLVertexBuffer::render function" accepted by kwin upstream: http://commits.kde.org/kde-workspace/29c28fd6b55b7d382d57dc8139344f25d632facd
[jazh Feb 21] KDE SC 4.6.2 will be picked up in Ubuntu Natty as scheduled. Because the GLES code path is disabled by default currently, we may still need to make our own kde-window-manager-es2 package available in Linaro.
[jazh Feb 22] One small improve patch accepted by kwin upstream: http://commits.kde.org/kde-workspace/f2fa6d1e16df603e9bf50e3b7169f098b6c0f2f4
[jazh Feb 24] "Integrate patch for gles and glsl-es version detection" pushed to upstream: http://commits.kde.org/kde-workspace/125016902ae852dcd067a33bad08cdc25197c238
[jazh Feb 25] patch "Add GLES2 support to kcm_opengl" accepted by upstream: http://commits.kde.org/kde-workspace/56ad38c97393a446b75dfb57fafdcd149419aa2b
[jazh Feb 25] report one bug for Qt-GLES2 on ARM: http://bugreports.qt.nokia.com/browse/QTBUG-17772
[jazh March 1] patch "remove direct GL dependency in libplasma" accepted by upstream: http://commits.kde.org/kdelibs/46b3025245ee6b22cfa8d2a898756f5c075d822e
[jazh March 4] remove kwin packaging related work items from this blueprint, which are handled in another separate blueprint:
[jazh March 7] topic posted on chromiumos forum for building stand-alone chromium-wm: http://groups.google.com/a/chromium.org/group/chromium-os-discuss/browse_thread/thread/a6934708cc3e8468#
[jazh March 11] patch "FIx GL_INVALID_OPERATION" accepted by upstream: http://commits.kde.org/kde-workspace/87f8d76d179088a9563748257bbd1c16747b2210
[jazh March 11] Re-org the work items to adapt to the milestones

[kwin Feb 23] Fix kwin crash when opengl compositing setup fail: https://git.reviewboard.kde.org/r/100721/
[kwin Feb 19] GLShader class improve: https://git.reviewboard.kde.org/r/100685/

[rajeev-kapoor Jan 21] There are few (3) work items towards the end of WI sheet which are closed. Please move them to suitable work items milestone. Because these work items will not be reflected in any milestone and will not show correct progress or work completed reports.
[rajeev-kapoor jan 21] work items identified for milestone 11.03 and 11.04 does not show detailed enough. Please try to add or split these work items to atleast 4-5 which may be for 2-4 days of tasks for easy track the progress.


Work Items

Work items for 11.01:
Run mcompositor with meego handset on imx51, identify potential problems: DONE
Fix egl/gles2 bugs found with mcompositor on meego handset: DONE
Try kwin-gles on x86 platform: DONE
Identify kwin-gles related libraries to be packaged: DONE
Build kwin-gles for ARM platforms: DONE

Work items for 11.02:
study kwin source code: DONE
Verify kwin-gles on ARM platforms and identify potential problems: DONE
Solve problems found for kwin on ARM: DONE
Check with Ubuntu team which KDE SC release will be picked in Natty: DONE

Work items for 11.03:
Be familiar with the chromium os development environment: DONE
Investigate build stand-alone chromium-wm: DONE
Identify underlying packages depended on by chromium-wm: DONE

Work items for 11.04:
Try the kwin packages in archive: DONE
[tom-gall] Package chromium-wm related packages in PPA: POSTPONED
Try the chromium-wm packages in archive on x86 platform: POSTPONED
Try the chromium-wm packages in archive on ARM platform: POSTPONED
Fix issues in the archive for chromium-wm: POSTPONED

Work items:
Identify underlying packages needed for meegotouch-compositor: DONE
[jesse-barker] contact Martin about GLES2 support of kwin: DONE
check GLES2 support of compiz/NUX with Unity team: DONE

Dependency tree

* Blueprints in grey have been implemented.