[PATCH weston] Remove Raspberry Pi backend and renderer
Bryce Harrington
bryce at osg.samsung.com
Thu Jun 2 00:32:28 UTC 2016
Given there's an all-FOSS alternative coming down the pike, I see little
reason to hold on to the proprietary-driver dependent backend.
Acked-by: Bryce Harrington <bryce at osg.samsung.com>
On Wed, Jun 01, 2016 at 01:11:15PM +0300, Pekka Paalanen wrote:
> From: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
>
> This patch completely removes the Raspberry Pi backend and the renderer.
>
> The backend and the renderer were written to use the proprietary
> DispmanX API available only on the Raspberry Pi, to demonstrate what the
> tiny computer is capable of graphics wise. They were also used to
> demonstrate how Wayland and Weston in particular could leverage hardware
> compositing capabilities that are not OpenGL. The backend was first
> added in e8de35c922871bc5b15fbf0436efa233a6db8e41, in 2012.
>
> Since then, the major point has been proven. Over time, support for the
> rpi-backend diminished, it started to deteriorate and hinder Weston
> development. On May 11, I tried to ask if anyone actually cared about
> the rpi-backend, but did not get any votes for keeping it:
> https://lists.freedesktop.org/archives/wayland-devel/2016-May/028764.html
>
> The rpi-backend is a good example of how using an API that is only
> available for specific hardware, even more so as it is only available
> with a proprietary driver stack, is not maintainable in the long run.
> Most developers working on Weston either just cannot, or cannot bother
> to test things also on the RPi. Breakage creeps in without anyone
> noticing. If someone actually notices it, fixing it will require a very
> specific environment to be able to test. Also the quality of the
> proprietary implementation fluctuated. There are reports that RPi
> firmware updates randomly broke Weston, and that nowadays it is very
> hard to find a RPi firmware version that you could expect to work with
> Weston if Weston itself was not broken. We are not even sure what is
> broken nowadays.
>
> This removal does not leave Raspberry Pi users cold (for long), though.
> There is serious work going on in implementing a FOSS driver stack for
> Raspberry Pi, including modern kernel DRM drivers and Mesa drivers. It
> might not be fully there yet, but the plan is to be able to use the
> standard DRM-backend of Weston on the RPis. See:
> http://dri.freedesktop.org/wiki/VC4/
>
> The rpi-backend had its moments. Now, it needs to go. Good riddance!
>
> Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
> ---
> Makefile.am | 34 -
> README | 2 -
> configure.ac | 18 -
> man/weston.ini.man | 1 -
> src/compositor-rpi.c | 575 ----------------
> src/main.c | 19 -
> src/rpi-bcm-stubs.h | 327 ---------
> src/rpi-renderer.c | 1830 --------------------------------------------------
> src/rpi-renderer.h | 52 --
> 9 files changed, 2858 deletions(-)
> delete mode 100644 src/compositor-rpi.c
> delete mode 100644 src/rpi-bcm-stubs.h
> delete mode 100644 src/rpi-renderer.c
> delete mode 100644 src/rpi-renderer.h
>
> diff --git a/Makefile.am b/Makefile.am
> index 00b74e5..8ee9c8d 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -328,40 +328,6 @@ nodist_wayland_backend_la_SOURCES = \
> protocol/fullscreen-shell-unstable-v1-client-protocol.h
> endif
>
> -if ENABLE_RPI_COMPOSITOR
> -if INSTALL_RPI_COMPOSITOR
> -module_LTLIBRARIES += rpi-backend.la
> -else
> -noinst_LTLIBRARIES += rpi-backend.la
> -endif
> -
> -rpi_backend_la_LDFLAGS = -module -avoid-version
> -rpi_backend_la_LIBADD = $(COMPOSITOR_LIBS) \
> - $(RPI_COMPOSITOR_LIBS) \
> - $(RPI_BCM_HOST_LIBS) \
> - $(INPUT_BACKEND_LIBS) \
> - libsession-helper.la \
> - libshared.la
> -rpi_backend_la_CFLAGS = \
> - $(AM_CFLAGS) \
> - $(COMPOSITOR_CFLAGS) \
> - $(RPI_COMPOSITOR_CFLAGS) \
> - $(RPI_BCM_HOST_CFLAGS)
> -rpi_backend_la_SOURCES = \
> - src/compositor-rpi.c \
> - src/rpi-renderer.c \
> - src/rpi-renderer.h \
> - src/rpi-bcm-stubs.h \
> - shared/helpers.h \
> - $(INPUT_BACKEND_SOURCES)
> -
> -if ENABLE_EGL
> -rpi_backend_la_LIBADD += $(EGL_LIBS)
> -rpi_backend_la_CFLAGS += $(EGL_CFLAGS)
> -endif
> -
> -endif
> -
> if ENABLE_HEADLESS_COMPOSITOR
> module_LTLIBRARIES += headless-backend.la
> headless_backend_la_LDFLAGS = -module -avoid-version
> diff --git a/README b/README
> index 3fdfb37..110a14b 100644
> --- a/README
> +++ b/README
> @@ -138,8 +138,6 @@ would be roughly like this:
>
> - xwayland (depends on X11/xcb libs)
>
> -- rpi-backend (depends on DispmanX, libudev, ...)
> -
> - fbdev-backend (depends on libudev...)
>
> - rdp-backend (depends on freerdp)
> diff --git a/configure.ac b/configure.ac
> index 87e67fe..525810f 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -208,23 +208,6 @@ if test x$enable_headless_compositor = xyes; then
> fi
>
>
> -AC_ARG_ENABLE(rpi-compositor,
> - AS_HELP_STRING([--disable-rpi-compositor],
> - [do not build the Raspberry Pi backend]),,
> - enable_rpi_compositor=yes)
> -AM_CONDITIONAL(ENABLE_RPI_COMPOSITOR, test "x$enable_rpi_compositor" = "xyes")
> -have_bcm_host="no"
> -if test "x$enable_rpi_compositor" = "xyes"; then
> - AC_DEFINE([BUILD_RPI_COMPOSITOR], [1], [Build the compositor for Raspberry Pi])
> - PKG_CHECK_MODULES(RPI_COMPOSITOR, [libudev >= 136 mtdev >= 1.1.0])
> - PKG_CHECK_MODULES(RPI_BCM_HOST, [bcm_host],
> - [have_bcm_host="yes"
> - AC_DEFINE([HAVE_BCM_HOST], [1], [have Raspberry Pi BCM headers])],
> - [AC_MSG_WARN([Raspberry Pi BCM host libraries not found, will use stubs instead.])])
> -fi
> -AM_CONDITIONAL(INSTALL_RPI_COMPOSITOR, test "x$have_bcm_host" = "xyes")
> -
> -
> AC_ARG_ENABLE([fbdev-compositor], [ --enable-fbdev-compositor],,
> enable_fbdev_compositor=yes)
> AM_CONDITIONAL([ENABLE_FBDEV_COMPOSITOR],
> @@ -678,7 +661,6 @@ AC_MSG_RESULT([
> X11 Compositor ${enable_x11_compositor}
> Wayland Compositor ${enable_wayland_compositor}
> Headless Compositor ${enable_headless_compositor}
> - RPI Compositor ${enable_rpi_compositor}
> FBDEV Compositor ${enable_fbdev_compositor}
> RDP Compositor ${enable_rdp_compositor}
> Screen Sharing ${enable_screen_sharing}
> diff --git a/man/weston.ini.man b/man/weston.ini.man
> index d7c4a6f..7aa7810 100644
> --- a/man/weston.ini.man
> +++ b/man/weston.ini.man
> @@ -130,7 +130,6 @@ directory are:
> .BR fbdev-backend.so
> .BR headless-backend.so
> .BR rdp-backend.so
> -.BR rpi-backend.so
> .BR wayland-backend.so
> .BR x11-backend.so
> .fi
> diff --git a/src/compositor-rpi.c b/src/compositor-rpi.c
> deleted file mode 100644
> index 75b808e..0000000
> diff --git a/src/main.c b/src/main.c
> index 3279ac6..475c1d0 100644
> --- a/src/main.c
> +++ b/src/main.c
> @@ -252,9 +252,6 @@ usage(int error_code)
> #if defined(BUILD_RDP_COMPOSITOR)
> "\t\t\t\trdp-backend.so\n"
> #endif
> -#if defined(BUILD_RPI_COMPOSITOR) && defined(HAVE_BCM_HOST)
> - "\t\t\t\trpi-backend.so\n"
> -#endif
> #if defined(BUILD_WAYLAND_COMPOSITOR)
> "\t\t\t\twayland-backend.so\n"
> #endif
> @@ -313,18 +310,6 @@ usage(int error_code)
> "\n");
> #endif
>
> -#if defined(BUILD_RPI_COMPOSITOR) && defined(HAVE_BCM_HOST)
> - fprintf(stderr,
> - "Options for rpi-backend.so:\n\n"
> - " --tty=TTY\t\tThe tty to use\n"
> - " --single-buffer\tUse single-buffered Dispmanx elements.\n"
> - " --transform=TR\tThe output transformation, TR is one of:\n"
> - "\tnormal 90 180 270 flipped flipped-90 flipped-180 flipped-270\n"
> - " --opaque-regions\tEnable support for opaque regions, can be "
> - "very slow without support in the GPU firmware.\n"
> - "\n");
> -#endif
> -
> #if defined(BUILD_WAYLAND_COMPOSITOR)
> fprintf(stderr,
> "Options for wayland-backend.so:\n\n"
> @@ -1264,10 +1249,6 @@ load_backend(struct weston_compositor *compositor, const char *backend,
> return load_x11_backend(compositor, backend, argc, argv, config);
> else if (strstr(backend, "wayland-backend.so"))
> return load_wayland_backend(compositor, backend, argc, argv, config);
> -#if 0
> - else if (strstr(backend, "rpi-backend.so"))
> - return load_rpi_backend(compositor, backend, argc, argv, config);
> -#endif
>
> return load_backend_old(compositor, backend, argc, argv, config);
> }
> diff --git a/src/rpi-bcm-stubs.h b/src/rpi-bcm-stubs.h
> deleted file mode 100644
> index fa30570..0000000
> diff --git a/src/rpi-renderer.c b/src/rpi-renderer.c
> deleted file mode 100644
> index 33eb67c..0000000
> diff --git a/src/rpi-renderer.h b/src/rpi-renderer.h
> deleted file mode 100644
> index 6370682..0000000
> --
> 2.7.3
>
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/wayland-devel
More information about the wayland-devel
mailing list