[PATCH] Update build instructions for new wayland-egl dependencies.
Marty Jack
martyj19 at comcast.net
Tue Feb 8 14:59:38 PST 2011
I tripped across a little something that others might also.
http://www.mesa3d.org/egl.html
Referring to "Use EGL", EGL_PLATFORM, the --with-egl-platforms is order dependent, so you must
specify wayland before drm as is shown in the configure or have EGL_PLATFORM=wayland at runtime to run a client.
Otherwise you will get
libEGL warning: EGL-DRI2: failed to stat fd 134591952
libEGL debug: EGL user error 0x3003 (EGL_BAD_ALLOC) in DRI2: failed to get driver name
libEGL debug: EGL user error 0x3001 (EGL_NOT_INITIALIZED) in eglInitialize
Maybe there is some way to fix this to fail a little less catastrophically.
On 02/07/2011 10:37 PM, Darxus at chaosreigns.com wrote:
> ---
> building.html | 48 +++++++++++++++++++++++++++++++++++++-----------
> 1 files changed, 37 insertions(+), 11 deletions(-)
>
> diff --git a/building.html b/building.html
> index 446e780..48d5837 100644
> --- a/building.html
> +++ b/building.html
> @@ -37,22 +37,24 @@ LIBRARY_PATH=$HOME/install/lib
>
> <h2>Modesetting</h2>
>
> -<p>At this point, kernel modesetting is upstream for Intel, AMD and
> +<p>At this point, kernel modesetting is upstream for Intel, ATI/AMD and
> nVidia chipsets. Most distributions ship with kernel modesetting
> enabled by default and will work with Wayland out of the box. The
> modesetting driver must also support the page flip ioctl, which only
> -the intel driver does at this point.</p>
> +the Intel driver does at this point.</p>
>
>
> -<h2>Building mesa</h2>
> +<h2>Building mesa without Wayland EGL platform</h2>
>
> <p>Wayland uses the mesa EGL stack, and all extensions required to run
> -EGL on KMS are now upstream on the master branch. The 7.9 release of
> -mesa has all these extensions, but for the shm buffer feature you'll
> -need the GL_EXT_texture_format_BGRA8888 extension from mesa
> -master. With nouveau, you'll need a development package for libdrm.</p>
> -
> -<pre> $ git clone git://anongit.freedesktop.org/git/mesa/drm
> +EGL on KMS are now upstream on the master branch. You'll need to pull
> +it from git, because 7.10 does not include required commits related to
> +BGRA8888 and wayland-egl. First build it without the Wayland EGL
> +platform, because the libraries that requires are not yet installed.
> +For this you'll also need a development package for libdrm.</p>
> +
> +<pre>
> + $ git clone git://anongit.freedesktop.org/git/mesa/drm
> $ cd drm
> $ ./autogen.sh --prefix=$HOME/install --enable-nouveau-experimental-api
> $ make && make install
> @@ -124,16 +126,40 @@ package for pixman.</p>
> $ make && make install
> </pre>
>
> -<h2>Wayland</h2>
> +<h2>Wayland libraries</h2>
>
> <p>With mesa and libxkbcommon in place, we can checkout and build Wayland.
> Aside from mesa, Wayland may need development packages for gdk-pixbuf-2.0,
> libudev, libdrm, xcb-dri2, xcb-fixes (for X compositor) cairo-gl,
> -glib-2.0, gdk-2.0 (for poppler) and poppler-glib:</p>
> +glib-2.0, gdk-2.0 (for poppler) and poppler-glib. To satisfy mesa
> +dependencies, first install just the libraries:</p>
>
> <pre> $ git clone git://anongit.freedesktop.org/wayland
> $ cd wayland
> $ ./autogen.sh --prefix=$HOME/install
> + $ make -C wayland/ install
> +</pre>
> +
> +<h2>Building mesa with Wayland EGL platform</h2>
> +
> +<p>Build mesa a second time, the only difference being the addition of
> +wayland to --enable-egl-platforms.</p>
> +
> +<pre> $ cd mesa
> + $ ./autogen.sh --prefix=$HOME/install --enable-egl --enable-gles2 \
> + --enable-gallium-nouveau --with-state-trackers=glx,dri,egl \
> + --with-egl-platforms=<b>wayland,</b>drm --enable-gles-overlay \
> + --enable-gallium-r600 --with-dri-drivers=i915,i965 \
> + --disable-gallium-{i915,i965}
> + $ make && make install
> +</pre>
> +
> +<h2>Wayland applications</h2>
> +
> +<p>Now install the rest of wayland.</p>
> +
> +<pre> $ cd wayland
> + $ ./autogen.sh --prefix=$HOME/install
> $ make && make install
> </pre>
>
More information about the wayland-devel
mailing list