Easy testing of Wayland display server

Registered by Chris Halse Rogers on 2010-04-12

Make it easy to play with the Wayland display server

Blueprint information

Status:
Complete
Approver:
Sebastien Bacher
Priority:
Medium
Drafter:
Bryce Harrington
Direction:
Needs approval
Assignee:
Bryce Harrington
Definition:
Approved
Series goal:
Accepted for natty
Implementation:
Implemented
Milestone target:
milestone icon natty-alpha-3
Started by
Martin Pitt on 2011-02-04
Completed by
Martin Pitt on 2011-02-04

Related branches

Sprints

Whiteboard

Old Work Items for maverick-alpha-1:
[apw] check kernel version/patch requirements for Wayland:DONE

Old Work items for ubuntu-10.10:
[bryce] Add link to list of GL calls required by Wayland to blueprint:DONE

Work items for natty-alpha-1:
[bryce] Ensure cairo-gl is available in an ubuntu-x-swat PPA: DONE
[bryce] Ensure libxkbcommon is available in an ubuntu-x-swat PPA: DONE
[bryce] Ensure mesa compiled for wayland is available in an ubuntu-x-swat PPA: DONE

Work items for natty-alpha-2:
[bryce] Ensure wayland is available in an ubuntu-x-swat PPA: DONE
[bryce] Write "startw" script to do the necessary setup & start wayland: DONE

Notes:
http://groups.google.com/group/wayland-display-server/web/building-and-running-wayland
Says we need:
- kernel modesetting, Done?
- A patched Mesa (for KMS), Can we have this with X?
- libDRM 2.4.16+, 10.04 has 2.4.18, Done

Potential Clients:
- Running X under Wayland requires Intel video + a custom driver?
- QT->Lighthouse
- GTK -> ClientSideWindows
- Clutter Wayland backend

bryce 2010-05-07: The above link sounds pretty out of date. As a general rule wayland often depends on branches of mesa, kernel-drm, cairo, and so on; the exact needs tend to vary over time.

amano 2010-05-08: Wayland with proprietary drivers by using OpenWF instead of KMS? --> http://groups.google.com/group/wayland-display-server/browse_thread/thread/c20af3f41244617c

apw 2010-06-02: Investigation of the kernel requirements is now complete, report went out to <email address hidden>. Summary: "Having reviewed the Wayland how-to's it appears that the requirements are KMS for your card, plus the page flipping ioctl supported for your card. The majority of this support was in 2.6.32, and there do not appear to have been any fixes to this support since 2.6.34. We should therefore have all of the required kernel support at release based on us releasing with 2.6.35 as our default kernel."

bryce 2010-07-21: It's probably moot now what GL calls wayland makes now. The original concern raised at UDS was whether OpenGL ES would be sufficient for running Wayland, but as of June 10 Wayland now depends on OpenGL ES instead of OpenGL (c.f. http://cgit.freedesktop.org/~krh/wayland/commit/?id=27803c6859d152affc9dfcc59814a353cb6f5860). However, I've appended a list of both the GL calls and the EGL calls just to close out the task. Maybe they'll be of interest for reference.

bryce 2010-11-30: All dependencies for Wayland are available in the xorg-edgers wayland PPA, and have been tested to work on Intel. In theory they should work on -ati and -nouveau as well since we have positive testing feedback from Ubuntu users of the upstream code, but these particular packages haven't been tested on non-Intel yet; worst case it'll just mean a few more tweaks to mesa's debian/rules.

=== EGL Calls ===
eglBindAPI
eglChooseConfig
eglCreateContext
eglCreateDRMImageMESA
eglCreateImageKHR
eglDestroyImageKHR
eglExportDRMImageMESA
eglGetDRMDisplayMESA
eglInitialize
eglMakeCurrent

=== GL Calls ===
glActiveTexture
glAttachShader
glBegin
glBindAttribLocation
glBindBuffer
glBindFramebuffer
glBindRenderbuffer
glBindTexture
glBlendFunc
glBufferData
glCallList
glCheckFramebufferStatus
glClear
glClearColor
glCompileShader
glCreateProgram
glCreateShader
glDeleteTextures
glDisable
glDrawArrays
glEGLImageTargetRenderbufferStorageOES
glEGLImageTargetTexture2DOES
glEnable
glEnableVertexAttribArray
glEnd
glEndList
glFlush
glFramebufferRenderbuffer
glFrustum
glGenBuffers
glGenFramebuffers
glGenLists
glGenRenderbuffers
glGenTextures
glGetProgramInfoLog
glGetProgramiv
glGetShaderInfoLog
glGetShaderiv
glGetUniformLocation
glLightfv
glLinkProgram
glLoadIdentity
glMaterialfv
glMatrixMode
glNewList
glNormal3f
glPixelStorei
glPopMatrix
glPushMatrix
glReadPixels
glRenderbufferStorage
glRotatef
glShadeModel
glShaderSource
glTexImage2D
glTexParameteri
glTranslatef
glUniform1i
glUniformMatrix4fv
glUseProgram
glVertex3f
glVertexAttribPointer
glViewport

RAOF 2010-09-27: Deferring remaining WI. We're focusing on bugs now; the PPA can be updated once we're deep-frozen.

bryce 2010-11-01: Apparently other priorities prevented this from being finished for maverick. Resuming work in Natty to put the PPA together.

bryce 2011-02-22: Now that the main repo satisifies dependencies (mesa, cairo-gl) for the wayland snapshot from November, I will upload it to universe. Need to check if newer wayland uses newer dependencies; if not I may be able to upload a newer version, we'll see.

(?)

Work Items