1*4882a593Smuzhiyuncomment "weston needs udev and a toolchain w/ locale, threads, dynamic library, headers >= 3.0" 2*4882a593Smuzhiyun depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS || \ 3*4882a593Smuzhiyun !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || BR2_STATIC_LIBS || \ 4*4882a593Smuzhiyun !BR2_ENABLE_LOCALE 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON 7*4882a593Smuzhiyun bool "weston" 8*4882a593Smuzhiyun depends on BR2_PACKAGE_HAS_UDEV 9*4882a593Smuzhiyun depends on !BR2_STATIC_LIBS # wayland 10*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_THREADS # wayland 11*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 12*4882a593Smuzhiyun select BR2_PACKAGE_WAYLAND 13*4882a593Smuzhiyun select BR2_PACKAGE_WAYLAND_PROTOCOLS 14*4882a593Smuzhiyun select BR2_PACKAGE_LIBXKBCOMMON 15*4882a593Smuzhiyun select BR2_PACKAGE_CAIRO 16*4882a593Smuzhiyun select BR2_PACKAGE_CAIRO_PNG 17*4882a593Smuzhiyun select BR2_PACKAGE_LIBPNG 18*4882a593Smuzhiyun select BR2_PACKAGE_JPEG 19*4882a593Smuzhiyun select BR2_PACKAGE_LIBINPUT 20*4882a593Smuzhiyun select BR2_PACKAGE_LIBDRM 21*4882a593Smuzhiyun # Runtime dependency 22*4882a593Smuzhiyun select BR2_PACKAGE_XKEYBOARD_CONFIG 23*4882a593Smuzhiyun select BR2_PACKAGE_WESTON_SHELL_DESKTOP if !BR2_PACKAGE_WESTON_HAS_SHELL 24*4882a593Smuzhiyun select BR2_PACKAGE_SEATD if !BR2_PACKAGE_DBUS || !BR2_PACKAGE_SYSTEMD 25*4882a593Smuzhiyun help 26*4882a593Smuzhiyun Weston is the reference implementation of a Wayland 27*4882a593Smuzhiyun compositor, and a useful compositor in its own right. 28*4882a593Smuzhiyun Weston has various backends that lets it run on Linux kernel 29*4882a593Smuzhiyun modesetting and evdev input as well as under X11. 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun http://wayland.freedesktop.org/ 32*4882a593Smuzhiyun 33*4882a593Smuzhiyunif BR2_PACKAGE_WESTON 34*4882a593Smuzhiyun 35*4882a593Smuzhiyunchoice 36*4882a593Smuzhiyun prompt "default compositor" 37*4882a593Smuzhiyun 38*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON_DEFAULT_DRM 39*4882a593Smuzhiyun bool "drm" 40*4882a593Smuzhiyun select BR2_PACKAGE_WESTON_DRM 41*4882a593Smuzhiyun 42*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON_DEFAULT_HEADLESS 43*4882a593Smuzhiyun bool "headless" 44*4882a593Smuzhiyun select BR2_PACKAGE_WESTON_HEADLESS 45*4882a593Smuzhiyun 46*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON_DEFAULT_WAYLAND 47*4882a593Smuzhiyun bool "wayland (nested)" 48*4882a593Smuzhiyun select BR2_PACKAGE_WESTON_WAYLAND 49*4882a593Smuzhiyun 50*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON_DEFAULT_X11 51*4882a593Smuzhiyun bool "X11 (nested)" 52*4882a593Smuzhiyun depends on BR2_PACKAGE_XORG7 53*4882a593Smuzhiyun select BR2_PACKAGE_WESTON_X11 54*4882a593Smuzhiyun 55*4882a593Smuzhiyuncomment "X11 (nested) backend needs X.org" 56*4882a593Smuzhiyun depends on !BR2_PACKAGE_XORG7 57*4882a593Smuzhiyun 58*4882a593Smuzhiyunendchoice 59*4882a593Smuzhiyun 60*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON_DEFAULT_COMPOSITOR 61*4882a593Smuzhiyun string 62*4882a593Smuzhiyun default "drm" if BR2_PACKAGE_WESTON_DEFAULT_DRM 63*4882a593Smuzhiyun default "headless" if BR2_PACKAGE_WESTON_DEFAULT_HEADLESS 64*4882a593Smuzhiyun default "wayland" if BR2_PACKAGE_WESTON_DEFAULT_WAYLAND 65*4882a593Smuzhiyun default "x11" if BR2_PACKAGE_WESTON_DEFAULT_X11 66*4882a593Smuzhiyun 67*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON_DRM 68*4882a593Smuzhiyun bool "DRM compositor" 69*4882a593Smuzhiyun 70*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON_VNC 71*4882a593Smuzhiyun bool "VNC compositor" 72*4882a593Smuzhiyun select BR2_PACKAGE_NEATVNC 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun# FreeRDP needs threads and !static, already the case for weston 75*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON_RDP 76*4882a593Smuzhiyun bool "RDP compositor" 77*4882a593Smuzhiyun depends on BR2_USE_MMU # freerdp, libglib2 78*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_SYNC_4 79*4882a593Smuzhiyun depends on BR2_USE_WCHAR # freerdp 80*4882a593Smuzhiyun depends on BR2_INSTALL_LIBSTDCPP # freerdp 81*4882a593Smuzhiyun select BR2_PACKAGE_FREERDP 82*4882a593Smuzhiyun help 83*4882a593Smuzhiyun This enables the RDP backend, which allows accessing weston 84*4882a593Smuzhiyun through the network with any RDP-compliant client. 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun Please note that one must pass those options to weston for RDP 87*4882a593Smuzhiyun to be functional: 88*4882a593Smuzhiyun --rdp-tls-cert=/path/to/server.crt 89*4882a593Smuzhiyun --rdp-tls-key=/path/to/server.key 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun By default, Buildroot installs such files in 92*4882a593Smuzhiyun /etc/freerdp/server/ so you may want to change them in a 93*4882a593Smuzhiyun post-build script or a rootfs overlay. 94*4882a593Smuzhiyun 95*4882a593Smuzhiyuncomment "RDP compositor needs a toolchain w/ wchar, C++" 96*4882a593Smuzhiyun depends on BR2_USE_MMU 97*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_SYNC_4 98*4882a593Smuzhiyun depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP 99*4882a593Smuzhiyun 100*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON_HEADLESS 101*4882a593Smuzhiyun bool "headless (testing) compositor" 102*4882a593Smuzhiyun 103*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON_WAYLAND 104*4882a593Smuzhiyun bool "Wayland (nested) compositor" 105*4882a593Smuzhiyun 106*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON_X11 107*4882a593Smuzhiyun bool "X11 (nested) compositor" 108*4882a593Smuzhiyun depends on BR2_PACKAGE_XORG7 109*4882a593Smuzhiyun select BR2_PACKAGE_LIBXCB 110*4882a593Smuzhiyun select BR2_PACKAGE_XLIB_LIBX11 111*4882a593Smuzhiyun 112*4882a593Smuzhiyuncomment "X11 (nested) compositor needs X.org enabled" 113*4882a593Smuzhiyun depends on !BR2_PACKAGE_XORG7 114*4882a593Smuzhiyun 115*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON_XWAYLAND 116*4882a593Smuzhiyun bool "XWayland support" 117*4882a593Smuzhiyun depends on BR2_PACKAGE_LIBEPOXY 118*4882a593Smuzhiyun depends on BR2_PACKAGE_XORG7 # xwayland 119*4882a593Smuzhiyun depends on BR2_USE_MMU # xwayland 120*4882a593Smuzhiyun depends on !BR2_STATIC_LIBS # xwayland 121*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_THREADS # xwayland 122*4882a593Smuzhiyun depends on !BR2_RISCV_32 # xwayland -> xlib_libxshmfence 123*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_SYNC_4 # xwayland -> xlib_libxshmfence 124*4882a593Smuzhiyun select BR2_PACKAGE_CAIRO 125*4882a593Smuzhiyun select BR2_PACKAGE_LIBXCB 126*4882a593Smuzhiyun select BR2_PACKAGE_XLIB_LIBX11 127*4882a593Smuzhiyun select BR2_PACKAGE_XLIB_LIBXCURSOR 128*4882a593Smuzhiyun select BR2_PACKAGE_XWAYLAND 129*4882a593Smuzhiyun 130*4882a593Smuzhiyuncomment "XWayland support needs libepoxy and X.org enabled" 131*4882a593Smuzhiyun depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_LIBEPOXY 132*4882a593Smuzhiyun 133*4882a593Smuzhiyuncomment "XWayland support needs a toolchain w/ threads, dynamic library" 134*4882a593Smuzhiyun depends on BR2_USE_MMU 135*4882a593Smuzhiyun depends on !BR2_RISCV_32 136*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_SYNC_4 137*4882a593Smuzhiyun depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS 138*4882a593Smuzhiyun 139*4882a593Smuzhiyun# Weston needs at least one shell; this can be one of the bundled ones, 140*4882a593Smuzhiyun# below, of from a third-party package, which should then select this. 141*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON_HAS_SHELL 142*4882a593Smuzhiyun bool 143*4882a593Smuzhiyun 144*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON_SHELL_DESKTOP 145*4882a593Smuzhiyun bool "desktop shell" 146*4882a593Smuzhiyun default y 147*4882a593Smuzhiyun 148*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON_SHELL_FULLSCREEN 149*4882a593Smuzhiyun bool "fullscreen shell" 150*4882a593Smuzhiyun default y 151*4882a593Smuzhiyun select BR2_PACKAGE_WESTON_HAS_SHELL 152*4882a593Smuzhiyun 153*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON_SHELL_IVI 154*4882a593Smuzhiyun bool "ivi shell" 155*4882a593Smuzhiyun default y 156*4882a593Smuzhiyun select BR2_PACKAGE_WESTON_HAS_SHELL 157*4882a593Smuzhiyun 158*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON_SHELL_KIOSK 159*4882a593Smuzhiyun bool "kiosk shell" 160*4882a593Smuzhiyun default y 161*4882a593Smuzhiyun select BR2_PACKAGE_WESTON_HAS_SHELL 162*4882a593Smuzhiyun 163*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON_DEMO_CLIENTS 164*4882a593Smuzhiyun bool "demo clients" 165*4882a593Smuzhiyun depends on BR2_USE_MMU # pango 166*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango 167*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango 168*4882a593Smuzhiyun depends on BR2_INSTALL_LIBSTDCPP # pango 169*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_THREADS # pango 170*4882a593Smuzhiyun depends on BR2_USE_WCHAR # pango 171*4882a593Smuzhiyun depends on BR2_PACKAGE_HAS_LIBGLES 172*4882a593Smuzhiyun depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND 173*4882a593Smuzhiyun select BR2_PACKAGE_PANGO 174*4882a593Smuzhiyun help 175*4882a593Smuzhiyun This enables the installation of Weston's demo clients. 176*4882a593Smuzhiyun 177*4882a593Smuzhiyuncomment "demo clients needs an OpenGL ES provider, an OpenEGL-capable Wayland backend and a toolchain w/ wchar, threads, C++, gcc >= 4.9" 178*4882a593Smuzhiyun depends on BR2_USE_MMU 179*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_SYNC_4 180*4882a593Smuzhiyun depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ 181*4882a593Smuzhiyun !BR2_USE_WCHAR || !BR2_PACKAGE_HAS_LIBGLES || \ 182*4882a593Smuzhiyun !BR2_PACKAGE_HAS_LIBEGL_WAYLAND || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 183*4882a593Smuzhiyun 184*4882a593Smuzhiyunconfig BR2_PACKAGE_WESTON_DEFAULT_PIXMAN 185*4882a593Smuzhiyun bool "Use pixman-renderer by default" 186*4882a593Smuzhiyun default y if BR2_PACKAGE_MESA3D_OPENGL_EGL || !BR2_PACKAGE_HAS_LIBEGL 187*4882a593Smuzhiyun 188*4882a593Smuzhiyunendif 189