mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-08-03 07:57:49 +00:00
Merge pull request #6128 from SupervisedThinking/up_wayland
[le11] Wayland improvements - Sway & Nvidia
This commit is contained in:
commit
f4fab12465
@ -34,7 +34,7 @@ get_graphicdrivers() {
|
|||||||
V4L2_SUPPORT="no"
|
V4L2_SUPPORT="no"
|
||||||
|
|
||||||
if [ "${GRAPHIC_DRIVERS}" = "all" ]; then
|
if [ "${GRAPHIC_DRIVERS}" = "all" ]; then
|
||||||
GRAPHIC_DRIVERS="crocus i915 iris r300 r600 radeonsi nvidia nvidia-legacy vmware virtio vc4"
|
GRAPHIC_DRIVERS="crocus i915 iris r300 r600 radeonsi nvidia nvidia-legacy nvidia-ng vmware virtio vc4"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if listcontains "${GRAPHIC_DRIVERS}" "crocus"; then
|
if listcontains "${GRAPHIC_DRIVERS}" "crocus"; then
|
||||||
@ -93,6 +93,11 @@ get_graphicdrivers() {
|
|||||||
VDPAU_SUPPORT="yes"
|
VDPAU_SUPPORT="yes"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if listcontains "${GRAPHIC_DRIVERS}" "nvidia-ng"; then
|
||||||
|
VULKAN_DRIVERS_CONFIG+=" nvidia-ng"
|
||||||
|
VAAPI_SUPPORT="yes"
|
||||||
|
fi
|
||||||
|
|
||||||
if listcontains "${GRAPHIC_DRIVERS}" "panfrost"; then
|
if listcontains "${GRAPHIC_DRIVERS}" "panfrost"; then
|
||||||
GALLIUM_DRIVERS+=" kmsro panfrost"
|
GALLIUM_DRIVERS+=" kmsro panfrost"
|
||||||
VULKAN_DRIVERS_MESA+=" panfrost"
|
VULKAN_DRIVERS_MESA+=" panfrost"
|
||||||
|
@ -8,11 +8,14 @@ PKG_SHA256="c4a6b75b7ed8f58ca48da830b9fa00ed96d668d3ab4b1f723dcf902f78bde77f"
|
|||||||
PKG_LICENSE="OSS"
|
PKG_LICENSE="OSS"
|
||||||
PKG_SITE="http://www.gtk.org/"
|
PKG_SITE="http://www.gtk.org/"
|
||||||
PKG_URL="https://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/${PKG_VERSION:0:4}/gdk-pixbuf-${PKG_VERSION}.tar.xz"
|
PKG_URL="https://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/${PKG_VERSION:0:4}/gdk-pixbuf-${PKG_VERSION}.tar.xz"
|
||||||
PKG_DEPENDS_TARGET="toolchain glib libjpeg-turbo libpng jasper shared-mime-info tiff libX11"
|
PKG_DEPENDS_TARGET="toolchain glib libjpeg-turbo libpng jasper shared-mime-info tiff"
|
||||||
PKG_DEPENDS_CONFIG="shared-mime-info"
|
PKG_DEPENDS_CONFIG="shared-mime-info"
|
||||||
PKG_LONGDESC="GdkPixbuf is a a GNOME library for image loading and manipulation."
|
PKG_LONGDESC="GdkPixbuf is a a GNOME library for image loading and manipulation."
|
||||||
|
|
||||||
PKG_MESON_OPTS_TARGET="-Ddocs=false \
|
PKG_MESON_OPTS_TARGET="-Dbuiltin_loaders=all \
|
||||||
|
-Dgtk_doc=false \
|
||||||
|
-Ddocs=false \
|
||||||
-Dintrospection=disabled \
|
-Dintrospection=disabled \
|
||||||
-Dman=false \
|
-Dman=false \
|
||||||
-Drelocatable=false"
|
-Drelocatable=false \
|
||||||
|
-Dinstalled_tests=false"
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
PKG_NAME="json-glib"
|
||||||
|
PKG_VERSION="1.6.6"
|
||||||
|
PKG_SHA256="bf4d1cd6c343ce13b9258e6703a0411a3b659887b65877e85a2aa488ae18b865"
|
||||||
|
PKG_LICENSE="LGPL-2.1"
|
||||||
|
PKG_SITE="https://github.com/GNOME/json-glib"
|
||||||
|
PKG_URL="https://github.com/GNOME/json-glib/archive/${PKG_VERSION}.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain glib"
|
||||||
|
PKG_LONGDESC="JSON-GLib implements a full suite of JSON-related tools using GLib and GObject."
|
||||||
|
|
||||||
|
PKG_MESON_OPTS_TARGET="-Dintrospection=disabled \
|
||||||
|
-Dgtk_doc=disabled \
|
||||||
|
-Dman=false \
|
||||||
|
-Dtests=false"
|
@ -8,11 +8,20 @@ PKG_SHA256="4add05edf51c1fb375a1ccde7498914120e23cb280dd7395b1aeb441f1838a4c"
|
|||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
PKG_SITE="http://www.pango.org/"
|
PKG_SITE="http://www.pango.org/"
|
||||||
PKG_URL="https://download.gnome.org/sources/pango/${PKG_VERSION:0:4}/pango-${PKG_VERSION}.tar.xz"
|
PKG_URL="https://download.gnome.org/sources/pango/${PKG_VERSION:0:4}/pango-${PKG_VERSION}.tar.xz"
|
||||||
PKG_DEPENDS_TARGET="toolchain cairo freetype fontconfig fribidi glib harfbuzz libX11 libXft"
|
PKG_DEPENDS_TARGET="toolchain cairo freetype fontconfig fribidi glib json-glib harfbuzz"
|
||||||
PKG_DEPENDS_CONFIG="libXft cairo"
|
PKG_DEPENDS_CONFIG="cairo"
|
||||||
PKG_LONGDESC="The Pango library for layout and rendering of internationalized text."
|
PKG_LONGDESC="The Pango library for layout and rendering of internationalized text."
|
||||||
PKG_TOOLCHAIN="meson"
|
|
||||||
PKG_BUILD_FLAGS="-sysroot"
|
|
||||||
|
|
||||||
PKG_MESON_OPTS_TARGET="-Dgtk_doc=false \
|
configure_package() {
|
||||||
-Dintrospection=disabled"
|
# Build with X11 support
|
||||||
|
if [ ${DISPLAYSERVER} = "x11" ]; then
|
||||||
|
PKG_DEPENDS_TARGET+=" libX11 libXft"
|
||||||
|
PKG_DEPENDS_CONFIG+=" libXft"
|
||||||
|
PKG_BUILD_FLAGS="-sysroot"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pre_configure_target() {
|
||||||
|
PKG_MESON_OPTS_TARGET="-Dgtk_doc=false \
|
||||||
|
-Dintrospection=disabled"
|
||||||
|
}
|
||||||
|
@ -7,8 +7,24 @@ PKG_SHA256="37df6475da31a8b5fc63a54ba0770a3eefa0a708b778cb6366dccee96393cb60"
|
|||||||
PKG_LICENSE="GPL2"
|
PKG_LICENSE="GPL2"
|
||||||
PKG_SITE="https://freedesktop.org/wiki/Software/shared-mime-info/"
|
PKG_SITE="https://freedesktop.org/wiki/Software/shared-mime-info/"
|
||||||
PKG_URL="https://gitlab.freedesktop.org/xdg/${PKG_NAME}/-/archive/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
|
PKG_URL="https://gitlab.freedesktop.org/xdg/${PKG_NAME}/-/archive/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
|
||||||
PKG_DEPENDS_TARGET="toolchain glib libxml2 gettext itstool:host"
|
PKG_DEPENDS_HOST="toolchain:host glib:host libxml2:host gettext:host itstool:host"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain glib libxml2 gettext shared-mime-info:host"
|
||||||
PKG_LONGDESC="The shared-mime-info package contains the core database of common types."
|
PKG_LONGDESC="The shared-mime-info package contains the core database of common types."
|
||||||
PKG_BUILD_FLAGS="-parallel -sysroot"
|
PKG_BUILD_FLAGS="-parallel"
|
||||||
|
|
||||||
|
configure_package() {
|
||||||
|
# Sway Support
|
||||||
|
if [ ! "${WINDOWMANAGER}" = "sway" ]; then
|
||||||
|
PKG_BUILD_FLAGS+=" -sysroot"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
PKG_MESON_OPTS_HOST="-Dupdate-mimedb=false"
|
||||||
PKG_MESON_OPTS_TARGET="-Dupdate-mimedb=false"
|
PKG_MESON_OPTS_TARGET="-Dupdate-mimedb=false"
|
||||||
|
|
||||||
|
post_makeinstall_target() {
|
||||||
|
# Create /usr/share/mime/mime.cache
|
||||||
|
if [ "${WINDOWMANAGER}" = "sway" ]; then
|
||||||
|
${TOOLCHAIN}/bin/update-mime-database ${INSTALL}/usr/share/mime
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
@ -1,37 +0,0 @@
|
|||||||
diff -Nur shared-mime-info-2.1.orig/data/meson.build shared-mime-info-2.1/data/meson.build
|
|
||||||
--- shared-mime-info-2.1.orig/data/meson.build 2021-01-01 06:12:16.000000000 +1100
|
|
||||||
+++ shared-mime-info-2.1/data/meson.build 2021-01-14 00:25:58.299790452 +1100
|
|
||||||
@@ -1,6 +1,4 @@
|
|
||||||
|
|
||||||
-install_man('update-mime-database.1')
|
|
||||||
-
|
|
||||||
freedesktop_org_xml = i18n.merge_file(
|
|
||||||
input: 'freedesktop.org.xml.in',
|
|
||||||
output: 'freedesktop.org.xml',
|
|
||||||
@@ -15,15 +13,3 @@
|
|
||||||
[ 'its/shared-mime-info.loc', 'its/shared-mime-info.its', ],
|
|
||||||
install_dir : get_option('datadir') / 'gettext/its'
|
|
||||||
)
|
|
||||||
-
|
|
||||||
-custom_target('shared-mime-info-spec-html',
|
|
||||||
- input : 'shared-mime-info-spec.xml',
|
|
||||||
- output: 'shared-mime-info-spec-html',
|
|
||||||
- command: [
|
|
||||||
- xmlto,
|
|
||||||
- '-o', '@OUTPUT@',
|
|
||||||
- 'html-nochunks',
|
|
||||||
- '@INPUT@',
|
|
||||||
- ],
|
|
||||||
- build_by_default: true,
|
|
||||||
-)
|
|
||||||
diff -Nur shared-mime-info-2.1.orig/meson.build shared-mime-info-2.1/meson.build
|
|
||||||
--- shared-mime-info-2.1.orig/meson.build 2021-01-01 06:12:16.000000000 +1100
|
|
||||||
+++ shared-mime-info-2.1/meson.build 2021-01-14 00:24:18.552142696 +1100
|
|
||||||
@@ -22,7 +22,6 @@
|
|
||||||
|
|
||||||
itstool = find_program('itstool')
|
|
||||||
xmllint = find_program('xmllint')
|
|
||||||
-xmlto = find_program('xmlto')
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
# Find xdgmime
|
|
@ -0,0 +1,58 @@
|
|||||||
|
From baeb49e36bc162bcbd243e733d2a9f1eb9abfefb Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta@iki.fi>
|
||||||
|
Date: Sun, 24 Jan 2021 11:45:52 +0200
|
||||||
|
Subject: [PATCH] meson: make xmlto optional, build spec only if found
|
||||||
|
|
||||||
|
Refs https://gitlab.freedesktop.org/xdg/shared-mime-info/-/issues/150
|
||||||
|
---
|
||||||
|
data/meson.build | 22 ++++++++++++----------
|
||||||
|
meson.build | 2 +-
|
||||||
|
2 files changed, 13 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/data/meson.build b/data/meson.build
|
||||||
|
index 263567d..24361c9 100644
|
||||||
|
--- a/data/meson.build
|
||||||
|
+++ b/data/meson.build
|
||||||
|
@@ -22,14 +22,16 @@ install_data(
|
||||||
|
install_dir : get_option('datadir') / 'gettext/its'
|
||||||
|
)
|
||||||
|
|
||||||
|
-custom_target('shared-mime-info-spec-html',
|
||||||
|
- input : 'shared-mime-info-spec.xml',
|
||||||
|
- output: 'shared-mime-info-spec-html',
|
||||||
|
- command: [
|
||||||
|
- xmlto,
|
||||||
|
- '-o', '@OUTPUT@',
|
||||||
|
- 'html-nochunks',
|
||||||
|
- '@INPUT@',
|
||||||
|
- ],
|
||||||
|
- build_by_default: true,
|
||||||
|
+if xmlto.found()
|
||||||
|
+ custom_target('shared-mime-info-spec-html',
|
||||||
|
+ input : 'shared-mime-info-spec.xml',
|
||||||
|
+ output: 'shared-mime-info-spec-html',
|
||||||
|
+ command: [
|
||||||
|
+ xmlto,
|
||||||
|
+ '-o', '@OUTPUT@',
|
||||||
|
+ 'html-nochunks',
|
||||||
|
+ '@INPUT@',
|
||||||
|
+ ],
|
||||||
|
+ build_by_default: true,
|
||||||
|
)
|
||||||
|
+endif
|
||||||
|
diff --git a/meson.build b/meson.build
|
||||||
|
index 9a28573..0d08c8a 100644
|
||||||
|
--- a/meson.build
|
||||||
|
+++ b/meson.build
|
||||||
|
@@ -22,7 +22,7 @@ config.set_quoted('VERSION', meson.project_version())
|
||||||
|
|
||||||
|
itstool = find_program('itstool')
|
||||||
|
xmllint = find_program('xmllint')
|
||||||
|
-xmlto = find_program('xmlto')
|
||||||
|
+xmlto = find_program('xmlto', required: false)
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Find xdgmime
|
||||||
|
--
|
||||||
|
GitLab
|
||||||
|
|
@ -4,17 +4,29 @@
|
|||||||
PKG_NAME="glmark2"
|
PKG_NAME="glmark2"
|
||||||
PKG_VERSION="2021.12"
|
PKG_VERSION="2021.12"
|
||||||
PKG_SHA256="9f111284b2ef1d3fce91928e249e6ca00796a036831b063a549a0f3b03557a95"
|
PKG_SHA256="9f111284b2ef1d3fce91928e249e6ca00796a036831b063a549a0f3b03557a95"
|
||||||
PKG_LICENSE="GPLv3"
|
PKG_LICENSE="GPL-3.0-or-later"
|
||||||
PKG_SITE="https://github.com/glmark2/glmark2"
|
PKG_SITE="https://github.com/glmark2/glmark2"
|
||||||
PKG_URL="https://github.com/glmark2/glmark2/archive/${PKG_VERSION}.tar.gz"
|
PKG_URL="https://github.com/glmark2/glmark2/archive/${PKG_VERSION}.tar.gz"
|
||||||
PKG_DEPENDS_TARGET="toolchain"
|
PKG_DEPENDS_TARGET="toolchain libjpeg-turbo libpng"
|
||||||
PKG_LONGDESC="glmark2 is an OpenGL 2.0 and ES 2.0 benchmark"
|
PKG_LONGDESC="glmark2 is an OpenGL 2.0 and ES 2.0 benchmark"
|
||||||
|
|
||||||
if [ "${OPENGLES_SUPPORT}" = "yes" ]; then
|
if [ "${OPENGL_SUPPORT}" = "yes" ]; then
|
||||||
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
|
|
||||||
PKG_MESON_OPTS_TARGET="-Dflavors=drm-glesv2"
|
|
||||||
elif [ "${OPENGL_SUPPORT}" = "yes" ]; then
|
|
||||||
PKG_DEPENDS_TARGET+=" ${OPENGL}"
|
PKG_DEPENDS_TARGET+=" ${OPENGL}"
|
||||||
PKG_MESON_OPTS_TARGET="-Dflavors=drm-gl"
|
elif [ "${OPENGLES_SUPPORT}" = "yes" ]; then
|
||||||
|
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
case ${DISPLAYSERVER} in
|
||||||
|
wl)
|
||||||
|
PKG_DEPENDS_TARGET+=" wayland wayland-protocols"
|
||||||
|
PKG_MESON_OPTS_TARGET="-Dflavors=wayland-glesv2"
|
||||||
|
;;
|
||||||
|
x11)
|
||||||
|
PKG_DEPENDS_TARGET+=" libX11"
|
||||||
|
PKG_MESON_OPTS_TARGET="-Dflavors=x11-gl"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
PKG_DEPENDS_TARGET+=" systemd libdrm"
|
||||||
|
PKG_MESON_OPTS_TARGET="-Dflavors=drm-glesv2"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
@ -2,18 +2,27 @@
|
|||||||
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="libglvnd"
|
PKG_NAME="libglvnd"
|
||||||
PKG_VERSION="1.3.4"
|
PKG_VERSION="1.4.0"
|
||||||
PKG_SHA256="8f4218d7cdaf89d5b7eced818e810ccbc76f4bb9cba36d66eddac5a7ca892bab"
|
PKG_SHA256="1eb5c2be8d213ad5d31cfb4efbb331d42f3d9f5617c885ce7e89f572ec2bb4b8"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
PKG_SITE="https://github.com/NVIDIA/libglvnd"
|
PKG_SITE="https://github.com/NVIDIA/libglvnd"
|
||||||
PKG_URL="https://github.com/NVIDIA/libglvnd/archive/v${PKG_VERSION}.tar.gz"
|
PKG_URL="https://github.com/NVIDIA/libglvnd/archive/v${PKG_VERSION}.tar.gz"
|
||||||
PKG_DEPENDS_TARGET="toolchain libX11 libXext xorgproto"
|
PKG_DEPENDS_TARGET="toolchain"
|
||||||
PKG_LONGDESC="libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors."
|
PKG_LONGDESC="libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors."
|
||||||
|
|
||||||
if [ "${OPENGLES_SUPPORT}" = "no" ]; then
|
configure_package() {
|
||||||
PKG_MESON_OPTS_TARGET="-Dgles1=false \
|
if [ "${DISPLAYSERVER}" = "x11" ]; then
|
||||||
-Dgles2=false"
|
PKG_DEPENDS_TARGET+=" libX11 libXext xorgproto"
|
||||||
fi
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pre_configure_target(){
|
||||||
|
PKG_MESON_OPTS_TARGET="-Dgles1=false"
|
||||||
|
|
||||||
|
if [ "${OPENGLES_SUPPORT}" = "no" ]; then
|
||||||
|
PKG_MESON_OPTS_TARGET+=" -Dgles2=false"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
post_makeinstall_target() {
|
post_makeinstall_target() {
|
||||||
if [ "${DISPLAYSERVER}" = "x11" ]; then
|
if [ "${DISPLAYSERVER}" = "x11" ]; then
|
||||||
|
@ -38,8 +38,8 @@ if [ "${DISPLAYSERVER}" = "x11" ]; then
|
|||||||
export X11_INCLUDES=
|
export X11_INCLUDES=
|
||||||
PKG_MESON_OPTS_TARGET+=" -Dplatforms=x11 -Ddri3=enabled -Dglx=dri -Dglvnd=true"
|
PKG_MESON_OPTS_TARGET+=" -Dplatforms=x11 -Ddri3=enabled -Dglx=dri -Dglvnd=true"
|
||||||
elif [ "${DISPLAYSERVER}" = "wl" ]; then
|
elif [ "${DISPLAYSERVER}" = "wl" ]; then
|
||||||
PKG_DEPENDS_TARGET+=" wayland wayland-protocols"
|
PKG_DEPENDS_TARGET+=" wayland wayland-protocols libglvnd"
|
||||||
PKG_MESON_OPTS_TARGET+=" -Dplatforms=wayland -Ddri3=disabled -Dglx=disabled -Dglvnd=false"
|
PKG_MESON_OPTS_TARGET+=" -Dplatforms=wayland -Ddri3=disabled -Dglx=disabled -Dglvnd=true"
|
||||||
else
|
else
|
||||||
PKG_MESON_OPTS_TARGET+=" -Dplatforms="" -Ddri3=disabled -Dglx=disabled -Dglvnd=false"
|
PKG_MESON_OPTS_TARGET+=" -Dplatforms="" -Ddri3=disabled -Dglx=disabled -Dglvnd=false"
|
||||||
fi
|
fi
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
options nvidia-drm modeset=1
|
129
packages/graphics/nvidia/package.mk
Normal file
129
packages/graphics/nvidia/package.mk
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
PKG_NAME="nvidia"
|
||||||
|
PKG_VERSION="510.47.03"
|
||||||
|
PKG_SHA256="694cda690ecffde7e9987f1fc0985d796a624185a2f5bda0a7e804ca791bf227"
|
||||||
|
PKG_ARCH="x86_64"
|
||||||
|
PKG_LICENSE="nonfree"
|
||||||
|
PKG_SITE="https://www.nvidia.com/en-us/drivers/unix/"
|
||||||
|
PKG_URL="http://us.download.nvidia.com/XFree86/Linux-x86_64/${PKG_VERSION}/NVIDIA-Linux-x86_64-${PKG_VERSION}-no-compat32.run"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain util-macros libglvnd"
|
||||||
|
PKG_LONGDESC="The GBM/Wayland graphic driver for NVIDIA GPUs supporting the GeForce 700 Series & above."
|
||||||
|
PKG_TOOLCHAIN="manual"
|
||||||
|
|
||||||
|
PKG_IS_KERNEL_PKG="yes"
|
||||||
|
|
||||||
|
if [ "${VULKAN_SUPPORT}" = "yes" ]; then
|
||||||
|
PKG_DEPENDS_TARGET+=" ${VULKAN} vulkan-tools"
|
||||||
|
fi
|
||||||
|
|
||||||
|
unpack() {
|
||||||
|
[ -d ${PKG_BUILD} ] && rm -rf ${PKG_BUILD}
|
||||||
|
|
||||||
|
sh ${SOURCES}/${PKG_NAME}/${PKG_SOURCE_NAME} --extract-only --target ${PKG_BUILD}
|
||||||
|
}
|
||||||
|
|
||||||
|
make_target() {
|
||||||
|
unset LDFLAGS
|
||||||
|
|
||||||
|
cd kernel
|
||||||
|
make module CC=${CC} LD=${LD} SYSSRC=$(kernel_path) SYSOUT=$(kernel_path)
|
||||||
|
${STRIP} --strip-debug nvidia.ko
|
||||||
|
cd ..
|
||||||
|
}
|
||||||
|
|
||||||
|
makeinstall_target() {
|
||||||
|
# Linux kernel modules
|
||||||
|
mkdir -p ${INSTALL}/$(get_full_module_dir)/nvidia
|
||||||
|
cp -P kernel/nvidia.ko ${INSTALL}/$(get_full_module_dir)/nvidia
|
||||||
|
cp -P kernel/nvidia-drm.ko ${INSTALL}/$(get_full_module_dir)/nvidia
|
||||||
|
cp -P kernel/nvidia-uvm.ko ${INSTALL}/$(get_full_module_dir)/nvidia
|
||||||
|
cp -P kernel/nvidia-modeset.ko ${INSTALL}/$(get_full_module_dir)/nvidia
|
||||||
|
|
||||||
|
# GBM
|
||||||
|
mkdir -p ${INSTALL}/usr/lib/gbm
|
||||||
|
cp -p libnvidia-allocator.so.${PKG_VERSION} ${INSTALL}/usr/lib
|
||||||
|
ln -sf libnvidia-allocator.so.${PKG_VERSION} ${INSTALL}/usr/lib/liballocator.so.0
|
||||||
|
ln -sf ../libnvidia-allocator.so.${PKG_VERSION} ${INSTALL}/usr/lib/gbm/nvidia-drm_gbm.so
|
||||||
|
|
||||||
|
mkdir -p ${INSTALL}/usr/share/egl/egl_external_platform.d
|
||||||
|
cp -p 15_nvidia_gbm.json ${INSTALL}/usr/share/egl/egl_external_platform.d
|
||||||
|
cp -p libnvidia-egl-gbm.so.1.1.0 ${INSTALL}/usr/lib
|
||||||
|
ln -sf libnvidia-egl-gbm.so.1.1.0 ${INSTALL}/usr/lib/libnvidia-egl-gbm.so.1
|
||||||
|
ln -sf libnvidia-egl-gbm.so.1 ${INSTALL}/usr/lib/libnvidia-egl-gbm.so
|
||||||
|
|
||||||
|
# GLVND
|
||||||
|
mkdir -p ${INSTALL}/usr/share/glvnd/egl_vendor.d
|
||||||
|
cp -p 10_nvidia.json ${INSTALL}/usr/share/glvnd/egl_vendor.d
|
||||||
|
|
||||||
|
# Wayland
|
||||||
|
mkdir -p ${INSTALL}/usr/lib
|
||||||
|
cp -p libnvidia-egl-wayland.so.1.1.9 ${INSTALL}/usr/lib/
|
||||||
|
ln -sf libnvidia-egl-wayland.so.1.1.9 ${INSTALL}/usr/lib/libnvidia-egl-wayland.so.1
|
||||||
|
ln -sf libnvidia-egl-wayland.so.1 ${INSTALL}/usr/lib/libnvidia-egl-wayland.so
|
||||||
|
|
||||||
|
mkdir -p ${INSTALL}/usr/share/egl/egl_external_platform.d
|
||||||
|
cp -p 10_nvidia_wayland.json ${INSTALL}/usr/share/egl/egl_external_platform.d
|
||||||
|
|
||||||
|
# OpenGL / EGL
|
||||||
|
mkdir -p ${INSTALL}/usr/lib
|
||||||
|
cp -p libEGL_nvidia.so.${PKG_VERSION} ${INSTALL}/usr/lib/
|
||||||
|
ln -sf libEGL_nvidia.so.${PKG_VERSION} ${INSTALL}/usr/lib/libEGL_nvidia.so.0
|
||||||
|
ln -sf libEGL_nvidia.so.0 ${INSTALL}/usr/lib/libEGL_nvidia.so
|
||||||
|
|
||||||
|
# OpenGL core
|
||||||
|
mkdir -p ${INSTALL}/usr/lib
|
||||||
|
cp -p libnvidia-eglcore.so.${PKG_VERSION} ${INSTALL}/usr/lib/
|
||||||
|
ln -sf libnvidia-eglcore.so.${PKG_VERSION} ${INSTALL}/usr/lib/libnvidia-eglcore.so
|
||||||
|
cp -p libnvidia-glsi.so.${PKG_VERSION} ${INSTALL}/usr/lib
|
||||||
|
ln -sf libnvidia-glsi.so.${PKG_VERSION} ${INSTALL}/usr/lib/libnvidia-glsi.so
|
||||||
|
|
||||||
|
# OpenGL ES
|
||||||
|
mkdir -p ${INSTALL}/usr/lib
|
||||||
|
cp -p libGLESv2_nvidia.so.${PKG_VERSION} ${INSTALL}/usr/lib
|
||||||
|
ln -sf libGLESv2_nvidia.so.${PKG_VERSION} ${INSTALL}/usr/lib/libGLESv2_nvidia.so.2
|
||||||
|
ln -sf libGLESv2_nvidia.so.2 ${INSTALL}/usr/lib/libGLESv2_nvidia.so
|
||||||
|
|
||||||
|
# Vulkan
|
||||||
|
if [ "${VULKAN_SUPPORT}" = "yes" ]; then
|
||||||
|
mkdir -p ${INSTALL}/usr/lib
|
||||||
|
cp -P libnvidia-glvkspirv.so.${PKG_VERSION} ${INSTALL}/usr/lib
|
||||||
|
ln -sf libnvidia-glvkspirv.so.${PKG_VERSION} ${INSTALL}/usr/lib/libnvidia-glvkspirv.so
|
||||||
|
|
||||||
|
mkdir -p ${INSTALL}/usr/share/vulkan/implicit_layer.d
|
||||||
|
cp -P nvidia_layers.json ${INSTALL}/usr/share/vulkan/implicit_layer.d
|
||||||
|
mkdir -p ${INSTALL}/usr/share/vulkan/icd.d
|
||||||
|
cp -P nvidia_icd.json ${INSTALL}/usr/share/vulkan/icd.d
|
||||||
|
fi
|
||||||
|
|
||||||
|
# CUDA
|
||||||
|
mkdir -p ${INSTALL}/usr/lib
|
||||||
|
cp -p libcuda.so.${PKG_VERSION} ${INSTALL}/usr/lib
|
||||||
|
ln -sf libcuda.so.${PKG_VERSION} ${INSTALL}/usr/lib/libcuda.so.1
|
||||||
|
ln -sf libcuda.so.1 ${INSTALL}/usr/lib/libcuda.so
|
||||||
|
|
||||||
|
# NVDEC
|
||||||
|
mkdir -p ${INSTALL}/usr/lib
|
||||||
|
cp -p libnvcuvid.so.${PKG_VERSION} ${INSTALL}/usr/lib
|
||||||
|
ln -sf libnvcuvid.so.${PKG_VERSION} ${INSTALL}/usr/lib/libnvcuvid.so.1
|
||||||
|
ln -sf libnvcuvid.so.1 ${INSTALL}/usr/lib/libnvcuvid.so
|
||||||
|
|
||||||
|
# nvidia-tls
|
||||||
|
mkdir -p ${INSTALL}/usr/lib
|
||||||
|
cp -P libnvidia-tls.so.${PKG_VERSION} ${INSTALL}/usr/lib
|
||||||
|
ln -sf libnvidia-tls.so.${PKG_VERSION} ${INSTALL}/usr/lib/libnvidia-tls.so
|
||||||
|
|
||||||
|
# NVML
|
||||||
|
mkdir -p ${INSTALL}/usr/bin
|
||||||
|
cp -P nvidia-smi ${INSTALL}/usr/bin
|
||||||
|
|
||||||
|
mkdir -p ${INSTALL}/usr/lib
|
||||||
|
cp -P libnvidia-ml.so.${PKG_VERSION} ${INSTALL}/usr/lib
|
||||||
|
ln -sf libnvidia-ml.so.${PKG_VERSION} ${INSTALL}/usr/lib/libnvidia-ml.so.1
|
||||||
|
ln -sf libnvidia-ml.so.1 ${INSTALL}/usr/lib/libnvidia-ml.so
|
||||||
|
|
||||||
|
# App profiles
|
||||||
|
mkdir -p ${INSTALL}/usr/share/nvidia
|
||||||
|
cp -P nvidia-application-profiles-${PKG_VERSION}-rc ${INSTALL}/usr/share/nvidia
|
||||||
|
}
|
@ -0,0 +1,66 @@
|
|||||||
|
From 81a2fb65100b88c31bb0168acc0c3b7bab09475a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dominique Martinet <asmadeus@codewreck.org>
|
||||||
|
Date: Sun, 5 Dec 2021 23:46:25 +0900
|
||||||
|
Subject: [PATCH] windowing: base m_bFullScreenRoot setting on res info's
|
||||||
|
bFullScreen
|
||||||
|
|
||||||
|
on wayland, the compositor can ignore fullscreen requests, so even if
|
||||||
|
application's InitWindow created a window with res >= DESKTOP we have
|
||||||
|
no guarantee that the actual window created is actually fullscreen.
|
||||||
|
|
||||||
|
CreateNewWindow will fill GetResolutionInfo(res) so we can check that
|
||||||
|
for bFullScreen and use this information... in theory.
|
||||||
|
|
||||||
|
wayland was inconditionally setting it to the requested fullscreen
|
||||||
|
state, so also make sure it's set based on the real state by keeping
|
||||||
|
m_bFullScreen up to date and using that instead.
|
||||||
|
|
||||||
|
Fixes: #20629
|
||||||
|
---
|
||||||
|
xbmc/windowing/GraphicContext.cpp | 2 +-
|
||||||
|
xbmc/windowing/wayland/WinSystemWayland.cpp | 5 +++--
|
||||||
|
2 files changed, 4 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/xbmc/windowing/GraphicContext.cpp b/xbmc/windowing/GraphicContext.cpp
|
||||||
|
index 6a90ee28fc05c..83fedbabe1856 100644
|
||||||
|
--- a/xbmc/windowing/GraphicContext.cpp
|
||||||
|
+++ b/xbmc/windowing/GraphicContext.cpp
|
||||||
|
@@ -409,7 +409,7 @@ void CGraphicContext::SetVideoResolutionInternal(RESOLUTION res, bool forceUpdat
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (res >= RES_DESKTOP)
|
||||||
|
+ if (CDisplaySettings::GetInstance().GetResolutionInfo(res).bFullScreen)
|
||||||
|
{
|
||||||
|
CServiceBroker::GetSettingsComponent()->GetAdvancedSettings()->m_fullScreen = true;
|
||||||
|
m_bFullScreenRoot = true;
|
||||||
|
diff --git a/xbmc/windowing/wayland/WinSystemWayland.cpp b/xbmc/windowing/wayland/WinSystemWayland.cpp
|
||||||
|
index bd17b44a19e50..02ba323d64817 100644
|
||||||
|
--- a/xbmc/windowing/wayland/WinSystemWayland.cpp
|
||||||
|
+++ b/xbmc/windowing/wayland/WinSystemWayland.cpp
|
||||||
|
@@ -343,7 +343,7 @@ bool CWinSystemWayland::CreateNewWindow(const std::string& name,
|
||||||
|
|
||||||
|
// Update resolution with real size as it could have changed due to configure()
|
||||||
|
UpdateDesktopResolution(res, res.strOutput, m_bufferSize.Width(), m_bufferSize.Height(), res.fRefreshRate, 0);
|
||||||
|
- res.bFullScreen = fullScreen;
|
||||||
|
+ res.bFullScreen = m_bFullScreen;
|
||||||
|
|
||||||
|
// Now start processing events
|
||||||
|
//
|
||||||
|
@@ -787,7 +787,7 @@ void CWinSystemWayland::OnConfigure(std::uint32_t serial, CSizeInt size, IShellS
|
||||||
|
CLog::LogF(LOGDEBUG, "Initial configure serial {}: size {}x{} state {}", serial, size.Width(),
|
||||||
|
size.Height(), IShellSurface::StateToString(state));
|
||||||
|
m_shellSurfaceState = state;
|
||||||
|
- if (!size.IsZero())
|
||||||
|
+ if (!size.IsZero() || state.test(IShellSurface::STATE_FULLSCREEN))
|
||||||
|
{
|
||||||
|
UpdateSizeVariables(size, m_scale, m_shellSurfaceState, true);
|
||||||
|
}
|
||||||
|
@@ -1015,6 +1015,7 @@ CWinSystemWayland::SizeUpdateInformation CWinSystemWayland::UpdateSizeVariables(
|
||||||
|
m_surfaceSize = sizes.surfaceSize;
|
||||||
|
m_bufferSize = sizes.bufferSize;
|
||||||
|
m_configuredSize = sizes.configuredSize;
|
||||||
|
+ m_bFullScreen = state.test(IShellSurface::STATE_FULLSCREEN);
|
||||||
|
|
||||||
|
SizeUpdateInformation changes{m_surfaceSize != oldSurfaceSize, m_bufferSize != oldBufferSize, m_configuredSize != oldConfiguredSize, m_scale != oldBufferScale};
|
||||||
|
|
201
packages/multimedia/gstreamer/gst-plugins-bad/package.mk
Normal file
201
packages/multimedia/gstreamer/gst-plugins-bad/package.mk
Normal file
@ -0,0 +1,201 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2022-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
PKG_NAME="gst-plugins-bad"
|
||||||
|
PKG_VERSION="1.18.5"
|
||||||
|
PKG_SHA256="a164923b94f0d08578a6fcaeaac6e0c05da788a46903a1086870e9ca45ad678e"
|
||||||
|
PKG_LICENSE="LGPL-2.1-or-later"
|
||||||
|
PKG_SITE="https://gstreamer.freedesktop.org/modules/gst-plugins-bad.html"
|
||||||
|
PKG_URL="https://gstreamer.freedesktop.org/src/gst-plugins-bad/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain gst-plugins-base"
|
||||||
|
PKG_LONGDESC="GStreamer Bad Plug-ins is a set of plug-ins that aren't up to par compared to the rest."
|
||||||
|
|
||||||
|
pre_configure_target() {
|
||||||
|
PKG_MESON_OPTS_TARGET="-Dgst_player_tests=false \
|
||||||
|
-Daccurip=disabled \
|
||||||
|
-Dadpcmdec=disabled \
|
||||||
|
-Dadpcmenc=disabled \
|
||||||
|
-Daiff=disabled \
|
||||||
|
-Dasfmux=disabled \
|
||||||
|
-Daudiobuffersplit=disabled \
|
||||||
|
-Daudiofxbad=disabled \
|
||||||
|
-Daudiolatency=disabled \
|
||||||
|
-Daudiomixmatrix=disabled \
|
||||||
|
-Daudiovisualizers=disabled \
|
||||||
|
-Dautoconvert=disabled \
|
||||||
|
-Dbayer=disabled \
|
||||||
|
-Dcamerabin2=disabled \
|
||||||
|
-Dcoloreffects=disabled \
|
||||||
|
-Ddebugutils=disabled \
|
||||||
|
-Ddvbsubenc=disabled \
|
||||||
|
-Ddvbsuboverlay=disabled \
|
||||||
|
-Ddvdspu=disabled \
|
||||||
|
-Dfaceoverlay=disabled \
|
||||||
|
-Dfestival=disabled \
|
||||||
|
-Dfieldanalysis=disabled \
|
||||||
|
-Dfreeverb=disabled \
|
||||||
|
-Dfrei0r=disabled \
|
||||||
|
-Dgaudieffects=disabled \
|
||||||
|
-Dgdp=disabled \
|
||||||
|
-Dgeometrictransform=disabled \
|
||||||
|
-Did3tag=disabled \
|
||||||
|
-Dinter=disabled \
|
||||||
|
-Dinterlace=disabled \
|
||||||
|
-Divfparse=disabled \
|
||||||
|
-Divtc=disabled \
|
||||||
|
-Djp2kdecimator=disabled \
|
||||||
|
-Djpegformat=disabled \
|
||||||
|
-Dlibrfb=disabled \
|
||||||
|
-Dmidi=disabled \
|
||||||
|
-Dmpegdemux=disabled \
|
||||||
|
-Dmpegpsmux=disabled \
|
||||||
|
-Dmpegtsdemux=disabled \
|
||||||
|
-Dmpegtsmux=disabled \
|
||||||
|
-Dmxf=disabled \
|
||||||
|
-Dnetsim=disabled \
|
||||||
|
-Donvif=disabled \
|
||||||
|
-Dpcapparse=disabled \
|
||||||
|
-Dpnm=disabled \
|
||||||
|
-Dproxy=disabled \
|
||||||
|
-Drawparse=disabled \
|
||||||
|
-Dremovesilence=disabled \
|
||||||
|
-Drist=disabled \
|
||||||
|
-Drtmp2=disabled \
|
||||||
|
-Drtp=disabled \
|
||||||
|
-Dsdp=disabled \
|
||||||
|
-Dsegmentclip=disabled \
|
||||||
|
-Dsiren=disabled \
|
||||||
|
-Dsmooth=disabled \
|
||||||
|
-Dspeed=disabled \
|
||||||
|
-Dsubenc=disabled \
|
||||||
|
-Dswitchbin=disabled \
|
||||||
|
-Dtimecode=disabled \
|
||||||
|
-Dvideofilters=disabled \
|
||||||
|
-Dvideoframe_audiolevel=disabled \
|
||||||
|
-Dvideoparsers=enabled \
|
||||||
|
-Dvideosignal=disabled \
|
||||||
|
-Dvmnc=disabled \
|
||||||
|
-Dy4m=disabled \
|
||||||
|
-Dopencv=disabled \
|
||||||
|
-Dwayland=disabled \
|
||||||
|
-Dx11=disabled \
|
||||||
|
-Daom=disabled \
|
||||||
|
-Davtp=disabled \
|
||||||
|
-Dandroidmedia=disabled \
|
||||||
|
-Dapplemedia=disabled \
|
||||||
|
-Dassrender=disabled \
|
||||||
|
-Dbluez=disabled \
|
||||||
|
-Dbs2b=disabled \
|
||||||
|
-Dbz2=disabled \
|
||||||
|
-Dchromaprint=disabled \
|
||||||
|
-Dclosedcaption=disabled \
|
||||||
|
-Dcolormanagement=disabled \
|
||||||
|
-Dcurl=disabled \
|
||||||
|
-Dcurl-ssh2=disabled \
|
||||||
|
-Dd3dvideosink=disabled \
|
||||||
|
-Dd3d11=disabled \
|
||||||
|
-Ddash=disabled \
|
||||||
|
-Ddc1394=disabled \
|
||||||
|
-Ddecklink=disabled \
|
||||||
|
-Ddirectfb=disabled \
|
||||||
|
-Ddirectsound=disabled \
|
||||||
|
-Ddtls=disabled \
|
||||||
|
-Ddts=disabled \
|
||||||
|
-Ddvb=disabled \
|
||||||
|
-Dfaac=disabled \
|
||||||
|
-Dfaad=disabled \
|
||||||
|
-Dfbdev=disabled \
|
||||||
|
-Dfdkaac=disabled \
|
||||||
|
-Dflite=disabled \
|
||||||
|
-Dfluidsynth=disabled \
|
||||||
|
-Dgl=disabled \
|
||||||
|
-Dgme=disabled \
|
||||||
|
-Dgsm=disabled \
|
||||||
|
-Dipcpipeline=disabled \
|
||||||
|
-Diqa=disabled \
|
||||||
|
-Dkate=disabled \
|
||||||
|
-Dkms=disabled \
|
||||||
|
-Dladspa=disabled \
|
||||||
|
-Dlibde265=disabled \
|
||||||
|
-Dlibmms=disabled \
|
||||||
|
-Dlv2=disabled \
|
||||||
|
-Dmediafoundation=disabled \
|
||||||
|
-Dmicrodns=disabled \
|
||||||
|
-Dmodplug=disabled \
|
||||||
|
-Dmpeg2enc=disabled \
|
||||||
|
-Dmplex=disabled \
|
||||||
|
-Dmsdk=disabled \
|
||||||
|
-Dmusepack=disabled \
|
||||||
|
-Dneon=disabled \
|
||||||
|
-Dnvcodec=disabled \
|
||||||
|
-Dofa=disabled \
|
||||||
|
-Dopenal=disabled \
|
||||||
|
-Dopenexr=disabled \
|
||||||
|
-Dopenh264=disabled \
|
||||||
|
-Dopenjpeg=disabled \
|
||||||
|
-Dopenmpt=disabled \
|
||||||
|
-Dopenni2=disabled \
|
||||||
|
-Dopensles=disabled \
|
||||||
|
-Dopus=disabled \
|
||||||
|
-Dresindvd=disabled \
|
||||||
|
-Drsvg=disabled \
|
||||||
|
-Drtmp=disabled \
|
||||||
|
-Dsbc=disabled \
|
||||||
|
-Dsctp=disabled \
|
||||||
|
-Dshm=disabled \
|
||||||
|
-Dsmoothstreaming=disabled \
|
||||||
|
-Dsndfile=disabled \
|
||||||
|
-Dsoundtouch=disabled \
|
||||||
|
-Dspandsp=disabled \
|
||||||
|
-Dsrt=disabled \
|
||||||
|
-Dsrtp=disabled \
|
||||||
|
-Dsvthevcenc=disabled \
|
||||||
|
-Dteletext=disabled \
|
||||||
|
-Dtinyalsa=disabled \
|
||||||
|
-Dtranscode=disabled \
|
||||||
|
-Dttml=disabled \
|
||||||
|
-Duvch264=disabled \
|
||||||
|
-Dva=disabled \
|
||||||
|
-Dvoaacenc=disabled \
|
||||||
|
-Dvoamrwbenc=disabled \
|
||||||
|
-Dvulkan=disabled \
|
||||||
|
-Dwasapi=disabled \
|
||||||
|
-Dwasapi2=disabled \
|
||||||
|
-Dwebp=disabled \
|
||||||
|
-Dwebrtc=disabled \
|
||||||
|
-Dwebrtcdsp=disabled \
|
||||||
|
-Dwildmidi=disabled \
|
||||||
|
-Dwinks=disabled \
|
||||||
|
-Dwinscreencap=disabled \
|
||||||
|
-Dx265=disabled \
|
||||||
|
-Dzbar=disabled \
|
||||||
|
-Dzxing=disabled \
|
||||||
|
-Dwpe=disabled \
|
||||||
|
-Dmagicleap=disabled \
|
||||||
|
-Dv4l2codecs=disabled \
|
||||||
|
-Dhls=disabled \
|
||||||
|
-Dsctp-internal-usrsctp=disabled \
|
||||||
|
-Dexamples=disabled \
|
||||||
|
-Dtests=disabled \
|
||||||
|
-Dintrospection=disabled \
|
||||||
|
-Dnls=disabled \
|
||||||
|
-Dorc=disabled \
|
||||||
|
-Dgobject-cast-checks=disabled \
|
||||||
|
-Dglib-asserts=disabled \
|
||||||
|
-Dglib-checks=disabled \
|
||||||
|
-Dpackage-name="gst-plugins-bad"
|
||||||
|
-Dpackage-origin="LibreELEC.tv"
|
||||||
|
-Ddoc=disabled"
|
||||||
|
}
|
||||||
|
|
||||||
|
post_makeinstall_target(){
|
||||||
|
# clean up
|
||||||
|
safe_remove ${INSTALL}/usr/bin
|
||||||
|
for PKG_GST_PLUGINS_BAD in \
|
||||||
|
libgstadaptivedemux libgstbadaudio libgstbasecamerabinsrc libgstcodecs libgstinsertbin libgstisoff libgstmpegts libgstphotography libgstplayer \
|
||||||
|
libgstsctp libgsttranscoder libgsturidownloader libgstwebrtc
|
||||||
|
do
|
||||||
|
safe_remove ${INSTALL}/usr/lib/${PKG_GST_PLUGINS_BAD}-1.0*
|
||||||
|
done
|
||||||
|
safe_remove ${INSTALL}/usr/share
|
||||||
|
}
|
68
packages/multimedia/gstreamer/gst-plugins-base/package.mk
Normal file
68
packages/multimedia/gstreamer/gst-plugins-base/package.mk
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2022-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
PKG_NAME="gst-plugins-base"
|
||||||
|
PKG_VERSION="1.18.5"
|
||||||
|
PKG_SHA256="960b7af4585700db0fdd5b843554e11e2564fed9e061f591fae88a7be6446fa3"
|
||||||
|
PKG_LICENSE="GPL-2.1-or-later"
|
||||||
|
PKG_SITE="https://gstreamer.freedesktop.org/modules/gst-plugins-base.html"
|
||||||
|
PKG_URL="https://gstreamer.freedesktop.org/src/gst-plugins-base/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain gstreamer"
|
||||||
|
PKG_LONGDESC="Base GStreamer plugins and helper libraries"
|
||||||
|
PKG_BUILD_FLAGS="-gold"
|
||||||
|
|
||||||
|
pre_configure_target() {
|
||||||
|
PKG_MESON_OPTS_TARGET="-Dgl=disabled \
|
||||||
|
-Dadder=disabled \
|
||||||
|
-Dapp=disabled \
|
||||||
|
-Daudioconvert=disabled \
|
||||||
|
-Daudiomixer=disabled \
|
||||||
|
-Daudiorate=disabled \
|
||||||
|
-Daudioresample=disabled \
|
||||||
|
-Daudiotestsrc=disabled \
|
||||||
|
-Dcompositor=disabled \
|
||||||
|
-Dencoding=disabled \
|
||||||
|
-Dgio=disabled \
|
||||||
|
-Dgio-typefinder=disabled \
|
||||||
|
-Doverlaycomposition=disabled \
|
||||||
|
-Dpbtypes=disabled \
|
||||||
|
-Dplayback=disabled \
|
||||||
|
-Drawparse=enabled \
|
||||||
|
-Dsubparse=enabled \
|
||||||
|
-Dtcp=disabled \
|
||||||
|
-Dtypefind=disabled \
|
||||||
|
-Dvideoconvert=disabled \
|
||||||
|
-Dvideorate=disabled \
|
||||||
|
-Dvideoscale=disabled \
|
||||||
|
-Dvideotestsrc=disabled \
|
||||||
|
-Dvolume=disabled \
|
||||||
|
-Dalsa=disabled \
|
||||||
|
-Dcdparanoia=disabled \
|
||||||
|
-Dlibvisual=disabled \
|
||||||
|
-Dogg=disabled \
|
||||||
|
-Dopus=disabled \
|
||||||
|
-Dpango=disabled \
|
||||||
|
-Dtheora=disabled \
|
||||||
|
-Dtremor=disabled \
|
||||||
|
-Dvorbis=disabled \
|
||||||
|
-Dx11=disabled \
|
||||||
|
-Dxshm=disabled \
|
||||||
|
-Dxvideo=disabled \
|
||||||
|
-Dexamples=disabled \
|
||||||
|
-Dtests=disabled \
|
||||||
|
-Dtools=disabled \
|
||||||
|
-Dintrospection=disabled \
|
||||||
|
-Dnls=disabled \
|
||||||
|
-Dorc=disabled \
|
||||||
|
-Dgobject-cast-checks=disabled \
|
||||||
|
-Dglib-asserts=disabled \
|
||||||
|
-Dglib-checks=disabled \
|
||||||
|
-Dpackage-name="gst-plugins-base"
|
||||||
|
-Dpackage-origin="LibreELEC.tv"
|
||||||
|
-Ddoc=disabled"
|
||||||
|
}
|
||||||
|
|
||||||
|
post_makeinstall_target(){
|
||||||
|
# clean up
|
||||||
|
safe_remove ${INSTALL}
|
||||||
|
}
|
46
packages/multimedia/gstreamer/gstreamer/package.mk
Normal file
46
packages/multimedia/gstreamer/gstreamer/package.mk
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2022-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
PKG_NAME="gstreamer"
|
||||||
|
PKG_VERSION="1.18.5"
|
||||||
|
PKG_SHA256="55862232a63459bbf56abebde3085ca9aec211b478e891dacea4d6df8cafe80a"
|
||||||
|
PKG_LICENSE="GPL-2.1-or-later"
|
||||||
|
PKG_SITE="https://gstreamer.freedesktop.org"
|
||||||
|
PKG_URL="https://gstreamer.freedesktop.org/src/gstreamer/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain"
|
||||||
|
PKG_LONGDESC="GStreamer open-source multimedia framework core library"
|
||||||
|
|
||||||
|
pre_configure_target() {
|
||||||
|
PKG_MESON_OPTS_TARGET="-Dgst_debug=false \
|
||||||
|
-Dgst_parse=true \
|
||||||
|
-Dregistry=false \
|
||||||
|
-Dtracer_hooks=false \
|
||||||
|
-Doption-parsing=true \
|
||||||
|
-Dpoisoning=false \
|
||||||
|
-Dcheck=disabled \
|
||||||
|
-Dlibunwind=disabled \
|
||||||
|
-Dlibdw=disabled \
|
||||||
|
-Ddbghelp=disabled \
|
||||||
|
-Dbash-completion=disabled \
|
||||||
|
-Dcoretracers=disabled \
|
||||||
|
-Dexamples=disabled \
|
||||||
|
-Dtests=disabled \
|
||||||
|
-Dbenchmarks=disabled \
|
||||||
|
-Dtools=disabled \
|
||||||
|
-Dgtk_doc=disabled \
|
||||||
|
-Dintrospection=disabled \
|
||||||
|
-Dnls=disabled \
|
||||||
|
-Dgobject-cast-checks=disabled \
|
||||||
|
-Dglib-asserts=disabled \
|
||||||
|
-Dglib-checks=disabled \
|
||||||
|
-Dextra-checks=disabled \
|
||||||
|
-Dpackage-name="gstreamer"
|
||||||
|
-Dpackage-origin="LibreELEC.tv"
|
||||||
|
-Ddoc=disabled"
|
||||||
|
}
|
||||||
|
|
||||||
|
post_makeinstall_target() {
|
||||||
|
# clean up
|
||||||
|
safe_remove ${INSTALL}/usr/share
|
||||||
|
safe_remove ${INSTALL}/usr/lib/{libgstcontroller-1.0*,libgstnet-1.0*}
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
From f342855b2b489de4141f7d23cfd66b7f243b74b7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephen <elfarto@elfarto.com>
|
||||||
|
Date: Tue, 23 Nov 2021 09:10:01 +0000
|
||||||
|
Subject: [PATCH] Add nvidia-drm to the drm driver map
|
||||||
|
|
||||||
|
---
|
||||||
|
va/drm/va_drm_utils.c | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/va/drm/va_drm_utils.c b/va/drm/va_drm_utils.c
|
||||||
|
index 467d9ac9..b3422d19 100644
|
||||||
|
--- a/va/drm/va_drm_utils.c
|
||||||
|
+++ b/va/drm/va_drm_utils.c
|
||||||
|
@@ -45,6 +45,7 @@ static const struct driver_name_map g_driver_name_map[] = {
|
||||||
|
{ "nouveau", 7, "nouveau" }, // Mesa Gallium driver
|
||||||
|
{ "radeon", 6, "r600" }, // Mesa Gallium driver
|
||||||
|
{ "amdgpu", 6, "radeonsi" }, // Mesa Gallium driver
|
||||||
|
+ { "nvidia-drm",10, "nvidia" }, // NVIDIA driver
|
||||||
|
{ NULL, 0, NULL }
|
||||||
|
};
|
||||||
|
|
16
packages/multimedia/nv-codec-headers/package.mk
Normal file
16
packages/multimedia/nv-codec-headers/package.mk
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2022-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
PKG_NAME="nv-codec-headers"
|
||||||
|
PKG_VERSION="11.1.5.1"
|
||||||
|
PKG_SHA256="d095fbd56aa93772471a323be0ebe65504a0f43f06c76a30b6d25da77b06ae9c"
|
||||||
|
PKG_LICENSE="MIT"
|
||||||
|
PKG_SITE="https://github.com/FFmpeg/nv-codec-headers"
|
||||||
|
PKG_URL="https://github.com/FFmpeg/nv-codec-headers/archive/n${PKG_VERSION}.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain"
|
||||||
|
PKG_LONGDESC="FFmpeg version of headers required to interface with Nvidias codec APIs."
|
||||||
|
PKG_TOOLCHAIN="make"
|
||||||
|
|
||||||
|
makeinstall_target(){
|
||||||
|
make DESTDIR=${SYSROOT_PREFIX} PREFIX=/usr install
|
||||||
|
}
|
11
packages/multimedia/nvidia-vaapi-driver/package.mk
Normal file
11
packages/multimedia/nvidia-vaapi-driver/package.mk
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2022-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
PKG_NAME="nvidia-vaapi-driver"
|
||||||
|
PKG_VERSION="0.0.4"
|
||||||
|
PKG_SHA256="8b99c618f530ea388964cdb3e8454de2d89f4354de8d0a0ea7941e88576d7e2a"
|
||||||
|
PKG_LICENSE="MIT"
|
||||||
|
PKG_SITE="https://github.com/elFarto/nvidia-vaapi-driver"
|
||||||
|
PKG_URL="https://github.com/elFarto/nvidia-vaapi-driver/archive/v${PKG_VERSION}.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain nv-codec-headers gst-plugins-bad"
|
||||||
|
PKG_LONGDESC="A VA-API implemention using NVIDIA's NVDEC"
|
@ -43,4 +43,7 @@ if [ "${MEDIACENTER}" = "kodi" ]; then
|
|||||||
PKG_DEPENDS_TARGET+=" intel-vaapi-driver media-driver"
|
PKG_DEPENDS_TARGET+=" intel-vaapi-driver media-driver"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if listcontains "${GRAPHIC_DRIVERS}" "nvidia-ng"; then
|
||||||
|
PKG_DEPENDS_TARGET+=" nvidia-vaapi-driver"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -14,3 +14,13 @@ PKG_LONGDESC="Wayland is intended as a simpler replacement for X, easier to deve
|
|||||||
if [ -n "${WINDOWMANAGER}" -a "${WINDOWMANAGER}" != "no" ]; then
|
if [ -n "${WINDOWMANAGER}" -a "${WINDOWMANAGER}" != "no" ]; then
|
||||||
PKG_DEPENDS_TARGET+=" ${WINDOWMANAGER}"
|
PKG_DEPENDS_TARGET+=" ${WINDOWMANAGER}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Tools for wlroots based compositors
|
||||||
|
if [ "${WINDOWMANAGER}" = "sway" ]; then
|
||||||
|
PKG_DEPENDS_TARGET+=" wlr-randr"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# NVIDIA drivers for Linux
|
||||||
|
if listcontains "${GRAPHIC_DRIVERS}" "nvidia-ng"; then
|
||||||
|
PKG_DEPENDS_TARGET+=" nvidia"
|
||||||
|
fi
|
||||||
|
20
packages/wayland/compositor/sway/config/colorscheme
Normal file
20
packages/wayland/compositor/sway/config/colorscheme
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
## Base16 Black Metal (Dark Funeral)
|
||||||
|
# Author: metalelf0 (https://github.com/metalelf0)
|
||||||
|
# Source: base16-sway (https://github.com/rkubosz/base16-sway)
|
||||||
|
|
||||||
|
set $base00 #000000
|
||||||
|
set $base01 #121212
|
||||||
|
set $base02 #222222
|
||||||
|
set $base03 #333333
|
||||||
|
set $base04 #999999
|
||||||
|
set $base05 #c1c1c1
|
||||||
|
set $base06 #999999
|
||||||
|
set $base07 #c1c1c1
|
||||||
|
set $base08 #5f8787
|
||||||
|
set $base09 #aaaaaa
|
||||||
|
set $base0A #5f81a5
|
||||||
|
set $base0B #d0dfee
|
||||||
|
set $base0C #aaaaaa
|
||||||
|
set $base0D #888888
|
||||||
|
set $base0E #999999
|
||||||
|
set $base0F #444444
|
243
packages/wayland/compositor/sway/config/config
Normal file
243
packages/wayland/compositor/sway/config/config
Normal file
@ -0,0 +1,243 @@
|
|||||||
|
# Default config for sway
|
||||||
|
#
|
||||||
|
# Copy this to ~/.config/sway/config and edit it to your liking.
|
||||||
|
#
|
||||||
|
# Read `man 5 sway` for a complete reference.
|
||||||
|
# Load prefered color scheme
|
||||||
|
include colorscheme
|
||||||
|
# Logo key. Use Mod1 for Alt.
|
||||||
|
set $mod Mod4
|
||||||
|
# Home row direction keys, like vim
|
||||||
|
set $left h
|
||||||
|
set $down j
|
||||||
|
set $up k
|
||||||
|
set $right l
|
||||||
|
# Your preferred terminal emulator
|
||||||
|
set $term foot.sh
|
||||||
|
# Your preferred application launcher
|
||||||
|
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
||||||
|
# on the original workspace that the command was run on.
|
||||||
|
set $highlight $base0A
|
||||||
|
set $prompt $base0B
|
||||||
|
set $menu bemenu-run -p "#" -l 10 --scrollbar autohide -i -w --tf "$prompt" --hf "$highlight" --sf "$highlight" --scf "$highlight" --no-exec | xargs swaymsg exec --
|
||||||
|
|
||||||
|
### Output configuration
|
||||||
|
#
|
||||||
|
# Default wallpaper (more resolutions are available in /usr/share/sway/)
|
||||||
|
output * bg /usr/share/sway/libreelec-wallpaper-2160.png fill
|
||||||
|
|
||||||
|
# hide_cursor hides the cursor image after the specified timeout (in milliseconds) has elapsed with no activity on that cursor
|
||||||
|
seat * hide_cursor 3000
|
||||||
|
|
||||||
|
#
|
||||||
|
# Example configuration:
|
||||||
|
#
|
||||||
|
# output HDMI-A-1 resolution 1920x1080 position 1920,0
|
||||||
|
#
|
||||||
|
# You can get the names of your outputs by running: swaymsg -t get_outputs
|
||||||
|
|
||||||
|
### Idle configuration
|
||||||
|
#
|
||||||
|
# Example configuration:
|
||||||
|
#
|
||||||
|
# exec swayidle -w \
|
||||||
|
# timeout 300 'swaylock -f -c 000000' \
|
||||||
|
# timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
|
||||||
|
# before-sleep 'swaylock -f -c 000000'
|
||||||
|
#
|
||||||
|
# This will lock your screen after 300 seconds of inactivity, then turn off
|
||||||
|
# your displays after another 300 seconds, and turn your screens back on when
|
||||||
|
# resumed. It will also lock your screen before your computer goes to sleep.
|
||||||
|
|
||||||
|
### Input configuration
|
||||||
|
#
|
||||||
|
# Example configuration:
|
||||||
|
#
|
||||||
|
# input "2:14:SynPS/2_Synaptics_TouchPad" {
|
||||||
|
# dwt enabled
|
||||||
|
# tap enabled
|
||||||
|
# natural_scroll enabled
|
||||||
|
# middle_emulation enabled
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||||
|
# Read `man 5 sway-input` for more information about this section.
|
||||||
|
|
||||||
|
# Set keyboard layout (default US)
|
||||||
|
input * {
|
||||||
|
xkb_layout "us"
|
||||||
|
}
|
||||||
|
|
||||||
|
### Key bindings
|
||||||
|
#
|
||||||
|
# Basics:
|
||||||
|
#
|
||||||
|
# Start a terminal
|
||||||
|
bindsym $mod+Return exec $term
|
||||||
|
|
||||||
|
# Kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
|
# Start your launcher
|
||||||
|
bindsym $mod+d exec $menu
|
||||||
|
|
||||||
|
# Drag floating windows by holding down $mod and left mouse button.
|
||||||
|
# Resize them with right mouse button + $mod.
|
||||||
|
# Despite the name, also works for non-floating windows.
|
||||||
|
# Change normal to inverse to use left mouse button for resizing and right
|
||||||
|
# mouse button for dragging.
|
||||||
|
floating_modifier $mod normal
|
||||||
|
|
||||||
|
# Reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
|
||||||
|
# Exit sway (logs you out of your Wayland session)
|
||||||
|
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit'
|
||||||
|
#
|
||||||
|
# Moving around:
|
||||||
|
#
|
||||||
|
# Move your focus around
|
||||||
|
bindsym $mod+$left focus left
|
||||||
|
bindsym $mod+$down focus down
|
||||||
|
bindsym $mod+$up focus up
|
||||||
|
bindsym $mod+$right focus right
|
||||||
|
# Or use $mod+[up|down|left|right]
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# Move the focused window with the same, but add Shift
|
||||||
|
bindsym $mod+Shift+$left move left
|
||||||
|
bindsym $mod+Shift+$down move down
|
||||||
|
bindsym $mod+Shift+$up move up
|
||||||
|
bindsym $mod+Shift+$right move right
|
||||||
|
# Ditto, with arrow keys
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
#
|
||||||
|
# Workspaces:
|
||||||
|
#
|
||||||
|
# Switch to workspace
|
||||||
|
bindsym $mod+1 workspace number 1
|
||||||
|
bindsym $mod+2 workspace number 2
|
||||||
|
bindsym $mod+3 workspace number 3
|
||||||
|
bindsym $mod+4 workspace number 4
|
||||||
|
bindsym $mod+5 workspace number 5
|
||||||
|
bindsym $mod+6 workspace number 6
|
||||||
|
bindsym $mod+7 workspace number 7
|
||||||
|
bindsym $mod+8 workspace number 8
|
||||||
|
bindsym $mod+9 workspace number 9
|
||||||
|
bindsym $mod+0 workspace number 10
|
||||||
|
# Move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace number 1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace number 2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace number 3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace number 4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace number 5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace number 6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace number 7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace number 8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace number 9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace number 10
|
||||||
|
# Note: workspaces can have any name you want, not just numbers.
|
||||||
|
# We just use 1-10 as the default.
|
||||||
|
#
|
||||||
|
# Layout stuff:
|
||||||
|
#
|
||||||
|
# You can "split" the current object of your focus with
|
||||||
|
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||||
|
# respectively.
|
||||||
|
bindsym $mod+b splith
|
||||||
|
bindsym $mod+v splitv
|
||||||
|
|
||||||
|
# Switch the current container between different layout styles
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# Make the current focus fullscreen
|
||||||
|
bindsym $mod+f fullscreen
|
||||||
|
|
||||||
|
# Toggle the current focus between tiling and floating mode
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# Swap focus between the tiling area and the floating area
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# Move focus to the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
#
|
||||||
|
# Scratchpad:
|
||||||
|
#
|
||||||
|
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||||
|
# You can send windows there and get them back later.
|
||||||
|
|
||||||
|
# Move the currently focused window to the scratchpad
|
||||||
|
bindsym $mod+Shift+minus move scratchpad
|
||||||
|
|
||||||
|
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||||
|
# If there are multiple scratchpad windows, this command cycles through them.
|
||||||
|
bindsym $mod+minus scratchpad show
|
||||||
|
#
|
||||||
|
# Resizing containers:
|
||||||
|
#
|
||||||
|
mode "resize" {
|
||||||
|
# left will shrink the containers width
|
||||||
|
# right will grow the containers width
|
||||||
|
# up will shrink the containers height
|
||||||
|
# down will grow the containers height
|
||||||
|
bindsym $left resize shrink width 10px
|
||||||
|
bindsym $down resize grow height 10px
|
||||||
|
bindsym $up resize shrink height 10px
|
||||||
|
bindsym $right resize grow width 10px
|
||||||
|
|
||||||
|
# Ditto, with arrow keys
|
||||||
|
bindsym Left resize shrink width 10px
|
||||||
|
bindsym Down resize grow height 10px
|
||||||
|
bindsym Up resize shrink height 10px
|
||||||
|
bindsym Right resize grow width 10px
|
||||||
|
|
||||||
|
# Return to default mode
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Status Bar:
|
||||||
|
#
|
||||||
|
# Read `man 5 sway-bar` for more information about this section.
|
||||||
|
bar {
|
||||||
|
position top
|
||||||
|
|
||||||
|
# When the status_command prints a new line to stdout, swaybar updates.
|
||||||
|
# The default just shows the current date and time.
|
||||||
|
status_command while date +'%a %e %b %G - %k:%M'; do sleep 1; done
|
||||||
|
|
||||||
|
colors {
|
||||||
|
background $base00
|
||||||
|
separator $base01
|
||||||
|
statusline $base04
|
||||||
|
|
||||||
|
# State Border BG Text
|
||||||
|
focused_workspace $base05 $base0D $base00
|
||||||
|
active_workspace $base05 $base03 $base00
|
||||||
|
inactive_workspace $base03 $base01 $base05
|
||||||
|
urgent_workspace $base08 $base08 $base00
|
||||||
|
binding_mode $base00 $base0A $base00 }
|
||||||
|
}
|
||||||
|
|
||||||
|
# Basic color configuration using the Base16 variables for windows and borders.
|
||||||
|
# Property Name Border BG Text Indicator Child Border
|
||||||
|
client.focused $base05 $base0D $base00 $base0D $base0D
|
||||||
|
client.focused_inactive $base01 $base01 $base05 $base03 $base01
|
||||||
|
client.unfocused $base01 $base00 $base05 $base01 $base01
|
||||||
|
client.urgent $base08 $base08 $base00 $base08 $base08
|
||||||
|
client.placeholder $base00 $base00 $base05 $base00 $base00
|
||||||
|
client.background $base07
|
||||||
|
|
||||||
|
# Load etc config
|
||||||
|
include /etc/sway/config.d/*
|
4
packages/wayland/compositor/sway/config/sway-daemon.conf
Normal file
4
packages/wayland/compositor/sway/config/sway-daemon.conf
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
# Pass config args to Sway e.g. --unsupported-gpu for NVIDIA GPUs
|
||||||
|
SWAY_DAEMON_CONF=""
|
47
packages/wayland/compositor/sway/package.mk
Normal file
47
packages/wayland/compositor/sway/package.mk
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
PKG_NAME="sway"
|
||||||
|
PKG_VERSION="1.7"
|
||||||
|
PKG_SHA256="0c64536fb2883ec518e75cfb119f9300115fb49b084e3fde62b794fe2c6c8d84"
|
||||||
|
PKG_LICENSE="MIT"
|
||||||
|
PKG_SITE="https://swaywm.org/"
|
||||||
|
PKG_URL="https://github.com/swaywm/sway/archive/${PKG_VERSION}.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain wayland wayland-protocols libdrm libxkbcommon libinput cairo pango libjpeg-turbo dbus json-c wlroots gdk-pixbuf swaybg foot bemenu"
|
||||||
|
PKG_LONGDESC="i3-compatible Wayland compositor"
|
||||||
|
|
||||||
|
PKG_MESON_OPTS_TARGET="-Ddefault-wallpaper=false \
|
||||||
|
-Dzsh-completions=false \
|
||||||
|
-Dbash-completions=false \
|
||||||
|
-Dfish-completions=false \
|
||||||
|
-Dswaybar=true \
|
||||||
|
-Dswaynag=true \
|
||||||
|
-Dxwayland=disabled \
|
||||||
|
-Dtray=disabled \
|
||||||
|
-Dgdk-pixbuf=enabled \
|
||||||
|
-Dman-pages=disabled \
|
||||||
|
-Dsd-bus-provider=auto"
|
||||||
|
|
||||||
|
pre_configure_target() {
|
||||||
|
# sway does not build without -Wno flags as all warnings being treated as errors
|
||||||
|
export TARGET_CFLAGS=$(echo "${TARGET_CFLAGS} -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-function -Wno-maybe-uninitialized")
|
||||||
|
}
|
||||||
|
|
||||||
|
post_makeinstall_target() {
|
||||||
|
mkdir -p ${INSTALL}/usr/lib/sway
|
||||||
|
cp ${PKG_DIR}/scripts/sway.sh ${INSTALL}/usr/bin
|
||||||
|
cp ${PKG_DIR}/scripts/sway-config ${INSTALL}/usr/lib/sway
|
||||||
|
|
||||||
|
# install config & wallpaper
|
||||||
|
mkdir -p ${INSTALL}/usr/share/sway
|
||||||
|
cp ${PKG_DIR}/config/* ${INSTALL}/usr/share/sway
|
||||||
|
find_file_path "splash/splash-2160.png" && cp ${FOUND_PATH} ${INSTALL}/usr/share/sway/libreelec-wallpaper-2160.png
|
||||||
|
|
||||||
|
# clean up
|
||||||
|
safe_remove ${INSTALL}/etc
|
||||||
|
safe_remove ${INSTALL}/usr/share/wayland-sessions
|
||||||
|
}
|
||||||
|
|
||||||
|
post_install() {
|
||||||
|
enable_service sway.service
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
--- a/sway/ipc-server.c
|
||||||
|
+++ b/sway/ipc-server.c
|
||||||
|
@@ -140,7 +140,7 @@ struct sockaddr_un *ipc_user_sockaddr(vo
|
||||||
|
dir = "/tmp";
|
||||||
|
}
|
||||||
|
if (path_size <= snprintf(ipc_sockaddr->sun_path, path_size,
|
||||||
|
- "%s/sway-ipc.%u.%i.sock", dir, getuid(), getpid())) {
|
||||||
|
+ "%s/sway-ipc.%u.sock", dir, getuid())) {
|
||||||
|
sway_abort("Socket path won't fit into ipc_sockaddr->sun_path");
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
|||||||
|
--- a/sway/main.c
|
||||||
|
+++ b/sway/main.c
|
||||||
|
@@ -152,6 +152,10 @@ static void log_kernel(void) {
|
||||||
|
|
||||||
|
|
||||||
|
static bool drop_permissions(void) {
|
||||||
|
+ if (getuid() == 0 || getgid() == 0) {
|
||||||
|
+ sway_log(SWAY_INFO, "Running sway as root user");
|
||||||
|
+ return true;
|
||||||
|
+ }
|
||||||
|
if (getuid() != geteuid() || getgid() != getegid()) {
|
||||||
|
sway_log(SWAY_ERROR, "!!! DEPRECATION WARNING: "
|
||||||
|
"SUID privilege drop will be removed in a future release, please migrate to seatd-launch");
|
6
packages/wayland/compositor/sway/profile.d/04-sway.conf
Normal file
6
packages/wayland/compositor/sway/profile.d/04-sway.conf
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
export WAYLAND_DISPLAY=wayland-1
|
||||||
|
export XDG_RUNTIME_DIR=/var/run/0-runtime-dir
|
||||||
|
export SWAYSOCK="${XDG_RUNTIME_DIR}/sway-ipc.0.sock"
|
47
packages/wayland/compositor/sway/scripts/sway-config
Executable file
47
packages/wayland/compositor/sway/scripts/sway-config
Executable file
@ -0,0 +1,47 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
export XDG_RUNTIME_DIR=/var/run/0-runtime-dir
|
||||||
|
export WAYLAND_DISPLAY=wayland-1
|
||||||
|
SWAY_DAEMON_ARGS=""
|
||||||
|
|
||||||
|
SWAY_RUNTIME_DIR=/var/run/sway
|
||||||
|
SWAY_CONFIG_BASEDIR=/storage/.config/sway
|
||||||
|
SWAY_CONFIG_SHAREDIR=/usr/share/sway
|
||||||
|
|
||||||
|
SWAY_CONFIG_COLOR=${SWAY_CONFIG_BASEDIR}/colorscheme
|
||||||
|
SWAY_CONFIG_COLOR_DEFAULT=${SWAY_CONFIG_SHAREDIR}/colorscheme
|
||||||
|
SWAY_CONFIG_DAEMON=${SWAY_CONFIG_BASEDIR}/sway-daemon.conf
|
||||||
|
SWAY_CONFIG_DAEMON_DEFAULT=${SWAY_CONFIG_SHAREDIR}/sway-daemon.conf
|
||||||
|
SWAY_CONFIG_USER=${SWAY_CONFIG_BASEDIR}/config
|
||||||
|
SWAY_CONFIG_USER_DEFAULT=${SWAY_CONFIG_SHAREDIR}/config
|
||||||
|
SWAY_CONFIG_RUN=${SWAY_RUNTIME_DIR}/sway-daemon.conf
|
||||||
|
|
||||||
|
if [ ! -d "$XDG_RUNTIME_DIR" ]; then
|
||||||
|
mkdir "$XDG_RUNTIME_DIR"
|
||||||
|
chmod 0700 "$XDG_RUNTIME_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "$SWAY_RUNTIME_DIR" ]; then
|
||||||
|
mkdir "$SWAY_RUNTIME_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f ${SWAY_CONFIG_USER} ]; then
|
||||||
|
mkdir -p ${SWAY_CONFIG_BASEDIR}
|
||||||
|
cp ${SWAY_CONFIG_USER_DEFAULT} ${SWAY_CONFIG_BASEDIR}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f ${SWAY_CONFIG_COLOR} ]; then
|
||||||
|
cp ${SWAY_CONFIG_COLOR_DEFAULT} ${SWAY_CONFIG_BASEDIR}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f ${SWAY_CONFIG_DAEMON} ]; then
|
||||||
|
cp ${SWAY_CONFIG_DAEMON_DEFAULT} ${SWAY_CONFIG_BASEDIR}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f ${SWAY_CONFIG_DAEMON} ] ; then
|
||||||
|
SWAY_DAEMON_CONF=$(cat ${SWAY_CONFIG_DAEMON} | grep -E '^SWAY_DAEMON_CONF=' | cut -d "\"" -f2)
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo SWAY_DAEMON_ARGS=\"${SWAY_DAEMON_CONF} ${SWAY_DAEMON_ARGS}\" > ${SWAY_CONFIG_RUN}
|
14
packages/wayland/compositor/sway/scripts/sway.sh
Executable file
14
packages/wayland/compositor/sway/scripts/sway.sh
Executable file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
. /run/sway/sway-daemon.conf
|
||||||
|
SWAY_LOG_FILE=/var/log/sway.log
|
||||||
|
|
||||||
|
if [ ! -z "$(lsmod | grep 'nvidia')" ]; then
|
||||||
|
export WLR_NO_HARDWARE_CURSORS=1
|
||||||
|
SWAY_GPU_ARGS="--unsupported-gpu"
|
||||||
|
fi
|
||||||
|
|
||||||
|
logger -t Sway "### Starting Sway with -V ${SWAY_GPU_ARGS} ${SWAY_DAEMON_ARGS}"
|
||||||
|
/usr/bin/sway -V ${SWAY_GPU_ARGS} ${SWAY_DAEMON_ARGS} > ${SWAY_LOG_FILE} 2>&1
|
20
packages/wayland/compositor/sway/system.d/sway.service
Normal file
20
packages/wayland/compositor/sway/system.d/sway.service
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Sway Wayland Compositor
|
||||||
|
Before=graphical.target kodi.service
|
||||||
|
After=multi-user.target
|
||||||
|
ConditionKernelCommandLine=!installer
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Environment=HOME=/storage
|
||||||
|
Environment=XDG_RUNTIME_DIR=/var/run/0-runtime-dir
|
||||||
|
EnvironmentFile=/usr/share/sway/sway-daemon.conf
|
||||||
|
EnvironmentFile=-/run/sway/sway-daemon.conf
|
||||||
|
WorkingDirectory=/storage
|
||||||
|
ExecStartPre=-/usr/lib/sway/sway-config
|
||||||
|
ExecStart=/usr/bin/sway.sh
|
||||||
|
Restart=always
|
||||||
|
RestartSec=5
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
Alias=display-manager.service
|
||||||
|
WantedBy=graphical.target
|
17
packages/wayland/lib/fcft/package.mk
Normal file
17
packages/wayland/lib/fcft/package.mk
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
PKG_NAME="fcft"
|
||||||
|
PKG_VERSION="2.5.1"
|
||||||
|
PKG_SHA256="1b9e9346c884f16bce9548806ea89c5e34ccc98ce27ec6ecff1f5011235de112"
|
||||||
|
PKG_LICENSE="MIT"
|
||||||
|
PKG_SITE="https://codeberg.org/dnkl/fcft"
|
||||||
|
PKG_URL="https://codeberg.org/dnkl/fcft/archive/${PKG_VERSION}.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain pixman fontconfig freetype tllist"
|
||||||
|
PKG_LONGDESC="A simple library for font loading and glyph rasterization using FontConfig, FreeType and pixman."
|
||||||
|
|
||||||
|
PKG_MESON_OPTS_TARGET="-Ddocs=disabled \
|
||||||
|
-Dgrapheme-shaping=disabled \
|
||||||
|
-Drun-shaping=disabled \
|
||||||
|
-Dtest-text-shaping=false \
|
||||||
|
-Dexamples=false"
|
27
packages/wayland/lib/seatd/package.mk
Normal file
27
packages/wayland/lib/seatd/package.mk
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
PKG_NAME="seatd"
|
||||||
|
PKG_VERSION="0.6.3"
|
||||||
|
PKG_SHA256="5226850c163b485aebe71da0d3f4941761637e146a5c9393cb40c52617ad84a8"
|
||||||
|
PKG_LICENSE="MIT"
|
||||||
|
PKG_SITE="https://git.sr.ht/~kennylevinsen/seatd"
|
||||||
|
PKG_URL="https://git.sr.ht/~kennylevinsen/seatd/archive/${PKG_VERSION}.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain systemd"
|
||||||
|
PKG_LONGDESC="A minimal seat management daemon, and a universal seat management library."
|
||||||
|
|
||||||
|
PKG_MESON_OPTS_TARGET="-Dlibseat-logind=systemd \
|
||||||
|
-Dlibseat-seatd=enabled \
|
||||||
|
-Dlibseat-builtin=disabled \
|
||||||
|
-Dserver=enabled \
|
||||||
|
-Dexamples=disabled \
|
||||||
|
-Dman-pages=disabled"
|
||||||
|
|
||||||
|
pre_configure_target() {
|
||||||
|
# seatd does not build without -Wno flags as all warnings being treated as errors
|
||||||
|
export TARGET_CFLAGS=$(echo "${TARGET_CFLAGS} -Wno-unused-parameter")
|
||||||
|
}
|
||||||
|
|
||||||
|
post_install() {
|
||||||
|
enable_service seatd.service
|
||||||
|
}
|
14
packages/wayland/lib/seatd/system.d/seatd.service
Normal file
14
packages/wayland/lib/seatd/system.d/seatd.service
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Seat Management Daemon
|
||||||
|
Before=graphical.target sway.service
|
||||||
|
After=multi-user.target
|
||||||
|
ConditionKernelCommandLine=!installer
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/bin/seatd -u root -s /var/run/seatd.sock
|
||||||
|
Restart=always
|
||||||
|
RestartSec=1
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
Alias=seat-management-daemon.service
|
||||||
|
WantedBy=graphical.target
|
11
packages/wayland/lib/tllist/package.mk
Normal file
11
packages/wayland/lib/tllist/package.mk
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
PKG_NAME="tllist"
|
||||||
|
PKG_VERSION="1.0.5"
|
||||||
|
PKG_SHA256="b0f32c9b2c2015c8d8dd068fd4e8b586aa91ca1670badc274ec962559ee0aadd"
|
||||||
|
PKG_LICENSE="MIT"
|
||||||
|
PKG_SITE="https://codeberg.org/dnkl/tllist"
|
||||||
|
PKG_URL="https://codeberg.org/dnkl/tllist/archive/${PKG_VERSION}.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain"
|
||||||
|
PKG_LONGDESC="A C header file only implementation of a typed linked list."
|
28
packages/wayland/lib/wlroots/package.mk
Normal file
28
packages/wayland/lib/wlroots/package.mk
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
PKG_NAME="wlroots"
|
||||||
|
PKG_VERSION="0.15.0"
|
||||||
|
PKG_SHA256="fcb9e9dbbb112f5c527c1c4155994fd97b6b1eb3950316e186e3c293e7a07fc4"
|
||||||
|
PKG_LICENSE="MIT"
|
||||||
|
PKG_SITE="https://gitlab.freedesktop.org/wlroots/wlroots/"
|
||||||
|
PKG_URL="https://gitlab.freedesktop.org/wlroots/wlroots/-/archive/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain libinput libxkbcommon pixman libdrm wayland wayland-protocols seatd"
|
||||||
|
PKG_LONGDESC="A modular Wayland compositor library"
|
||||||
|
|
||||||
|
configure_package() {
|
||||||
|
# OpenGLES Support
|
||||||
|
if [ "${OPENGLES_SUPPORT}" = "yes" ]; then
|
||||||
|
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
PKG_MESON_OPTS_TARGET="-Dxcb-errors=disabled \
|
||||||
|
-Dxwayland=disabled \
|
||||||
|
-Dexamples=false \
|
||||||
|
-Drenderers=gles2"
|
||||||
|
|
||||||
|
pre_configure_target() {
|
||||||
|
# wlroots does not build without -Wno flags as all warnings being treated as errors
|
||||||
|
export TARGET_CFLAGS=$(echo "${TARGET_CFLAGS} -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-function")
|
||||||
|
}
|
22
packages/wayland/util/bemenu/package.mk
Normal file
22
packages/wayland/util/bemenu/package.mk
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
PKG_NAME="bemenu"
|
||||||
|
PKG_VERSION="0.6.4"
|
||||||
|
PKG_SHA256="9b1ad6768a37e3b526ac31e05903b4fc8d95d28870c8fecbe803ccfc8eae1bbe"
|
||||||
|
PKG_LICENSE="MIT"
|
||||||
|
PKG_SITE="https://github.com/Cloudef/bemenu"
|
||||||
|
PKG_URL="https://github.com/Cloudef/bemenu/archive/${PKG_VERSION}.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain glib wayland wayland-protocols cairo pango libxkbcommon"
|
||||||
|
PKG_LONGDESC="Dynamic menu library and client program inspired by dmenu"
|
||||||
|
PKG_TOOLCHAIN="make"
|
||||||
|
|
||||||
|
PKG_MAKE_OPTS_TARGET="PREFIX=/usr clients wayland"
|
||||||
|
|
||||||
|
makeinstall_target(){
|
||||||
|
make DESTDIR=${INSTALL} PREFIX=/usr install-libs install-bins install-wayland install-pkgconfig
|
||||||
|
}
|
||||||
|
|
||||||
|
post_makeinstall_target(){
|
||||||
|
ln -sf libbemenu.so.${PKG_VERSION} ${INSTALL}/usr/lib/libbemenu.so.0
|
||||||
|
}
|
197
packages/wayland/util/foot/config/foot.ini
Normal file
197
packages/wayland/util/foot/config/foot.ini
Normal file
@ -0,0 +1,197 @@
|
|||||||
|
# -*- conf -*-
|
||||||
|
|
||||||
|
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
|
||||||
|
term=xterm
|
||||||
|
# login-shell=no
|
||||||
|
|
||||||
|
# app-id=foot
|
||||||
|
title=foo terminal
|
||||||
|
# locked-title=no
|
||||||
|
|
||||||
|
font=monospace:size=12
|
||||||
|
# font-bold=<bold variant of regular font>
|
||||||
|
# font-italic=<italic variant of regular font>
|
||||||
|
# font-bold-italic=<bold+italic variant of regular font>
|
||||||
|
# line-height=<font metrics>
|
||||||
|
# letter-spacing=0
|
||||||
|
# horizontal-letter-offset=0
|
||||||
|
# vertical-letter-offset=0
|
||||||
|
# underline-offset=<font metrics>
|
||||||
|
# box-drawings-uses-font-glyphs=no
|
||||||
|
dpi-aware=auto
|
||||||
|
|
||||||
|
# initial-window-size-pixels=700x500 # Or,
|
||||||
|
# initial-window-size-chars=<COLSxROWS>
|
||||||
|
# initial-window-mode=windowed
|
||||||
|
# pad=2x2 # optionally append 'center'
|
||||||
|
# resize-delay-ms=100
|
||||||
|
|
||||||
|
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
|
||||||
|
|
||||||
|
# bold-text-in-bright=no
|
||||||
|
# bell=none
|
||||||
|
# word-delimiters=,│`|:"'()[]{}<>
|
||||||
|
# selection-target=primary
|
||||||
|
# workers=<number of logical CPUs>
|
||||||
|
|
||||||
|
[bell]
|
||||||
|
# urgent=no
|
||||||
|
# notify=no
|
||||||
|
# command=
|
||||||
|
# command-focused=no
|
||||||
|
|
||||||
|
[scrollback]
|
||||||
|
# lines=1000
|
||||||
|
# multiplier=3.0
|
||||||
|
# indicator-position=relative
|
||||||
|
# indicator-format=
|
||||||
|
|
||||||
|
[url]
|
||||||
|
# launch=xdg-open ${url}
|
||||||
|
# label-letters=sadfjklewcmpgh
|
||||||
|
# osc8-underline=url-mode
|
||||||
|
# protocols=http, https, ftp, ftps, file, gemini, gopher
|
||||||
|
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'
|
||||||
|
|
||||||
|
[cursor]
|
||||||
|
style=beam
|
||||||
|
color=000000 eeeeee
|
||||||
|
blink=yes
|
||||||
|
# beam-thickness=1.5
|
||||||
|
# underline-thickness=<font underline thickness>
|
||||||
|
|
||||||
|
[mouse]
|
||||||
|
# hide-when-typing=no
|
||||||
|
# alternate-scroll-mode=yes
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
alpha=0.95
|
||||||
|
background=000000
|
||||||
|
foreground=eeeeee
|
||||||
|
regular0=1c1c1c # black
|
||||||
|
regular1=af005f # red
|
||||||
|
regular2=5faf00 # green
|
||||||
|
regular3=d7af5f # yellow
|
||||||
|
regular4=5fafd7 # blue
|
||||||
|
regular5=808080 # magenta
|
||||||
|
regular6=d7875f # cyan
|
||||||
|
regular7=d0d0d0 # white
|
||||||
|
bright0=bcbcbc # bright black
|
||||||
|
bright1=5faf5f # bright red
|
||||||
|
bright2=afd700 # bright green
|
||||||
|
bright3=af87d7 # bright yellow
|
||||||
|
bright4=ffaf00 # bright blue
|
||||||
|
bright5=ff5faf # bright magenta
|
||||||
|
bright6=00afaf # bright cyan
|
||||||
|
bright7=5f8787 # bright white
|
||||||
|
#selection-foreground=1c1c1c
|
||||||
|
#selection-background=af87d7
|
||||||
|
|
||||||
|
## Normal/regular colors (color palette 0-7)
|
||||||
|
# regular0=222222 # black
|
||||||
|
# regular1=cc9393 # red
|
||||||
|
# regular2=7f9f7f # green
|
||||||
|
# regular3=d0bf8f # yellow
|
||||||
|
# regular4=6ca0a3 # blue
|
||||||
|
# regular5=dc8cc3 # magenta
|
||||||
|
# regular6=93e0e3 # cyan
|
||||||
|
# regular7=dcdccc # white
|
||||||
|
|
||||||
|
## Bright colors (color palette 8-15)
|
||||||
|
# bright0=666666 # bright black
|
||||||
|
# bright1=dca3a3 # bright red
|
||||||
|
# bright2=bfebbf # bright green
|
||||||
|
# bright3=f0dfaf # bright yellow
|
||||||
|
# bright4=8cd0d3 # bright blue
|
||||||
|
# bright5=fcace3 # bright magenta
|
||||||
|
# bright6=b3ffff # bright cyan
|
||||||
|
# bright7=ffffff # bright white
|
||||||
|
|
||||||
|
## dimmed colors (see foot.ini(5) man page)
|
||||||
|
# dim0=<not set>
|
||||||
|
# ...
|
||||||
|
# dim7=<not-set>
|
||||||
|
|
||||||
|
## The remaining 256-color palette
|
||||||
|
# 16 = <256-color palette #16>
|
||||||
|
# ...
|
||||||
|
# 255 = <256-color palette #255>
|
||||||
|
|
||||||
|
## Misc colors
|
||||||
|
# selection-foreground=<inverse foreground/background>
|
||||||
|
# selection-background=<inverse foreground/background>
|
||||||
|
# jump-labels=<regular0> <regular3>
|
||||||
|
# urls=<regular3>
|
||||||
|
# scrollback-indicator=<regular0> <bright4>
|
||||||
|
|
||||||
|
[csd]
|
||||||
|
# preferred=server
|
||||||
|
# size=26
|
||||||
|
# font=<primary font>
|
||||||
|
# color=<foreground color>
|
||||||
|
# border-width=0
|
||||||
|
# border-color=<csd.color>
|
||||||
|
# button-width=26
|
||||||
|
# button-color=<background color>
|
||||||
|
# button-minimize-color=<regular4>
|
||||||
|
# button-maximize-color=<regular2>
|
||||||
|
# button-close-color=<regular1>
|
||||||
|
|
||||||
|
[key-bindings]
|
||||||
|
# scrollback-up-page=Shift+Page_Up
|
||||||
|
# scrollback-up-half-page=none
|
||||||
|
# scrollback-up-line=none
|
||||||
|
# scrollback-down-page=Shift+Page_Down
|
||||||
|
# scrollback-down-half-page=none
|
||||||
|
# scrollback-down-line=none
|
||||||
|
# clipboard-copy=Control+Shift+c
|
||||||
|
# clipboard-paste=Control+Shift+v
|
||||||
|
# primary-paste=Shift+Insert
|
||||||
|
# search-start=Control+Shift+r
|
||||||
|
# font-increase=Control+plus Control+equal Control+KP_Add
|
||||||
|
# font-decrease=Control+minus Control+KP_Subtract
|
||||||
|
# font-reset=Control+0 Control+KP_0
|
||||||
|
# spawn-terminal=Control+Shift+n
|
||||||
|
# minimize=none
|
||||||
|
# maximize=none
|
||||||
|
# fullscreen=none
|
||||||
|
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||||
|
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||||
|
# pipe-selected=[xargs -r firefox] none
|
||||||
|
# show-urls-launch=Control+Shift+u
|
||||||
|
# show-urls-copy=none
|
||||||
|
# noop=none
|
||||||
|
|
||||||
|
[search-bindings]
|
||||||
|
# cancel=Control+g Control+c Escape
|
||||||
|
# commit=Return
|
||||||
|
# find-prev=Control+r
|
||||||
|
# find-next=Control+s
|
||||||
|
# cursor-left=Left Control+b
|
||||||
|
# cursor-left-word=Control+Left Mod1+b
|
||||||
|
# cursor-right=Right Control+f
|
||||||
|
# cursor-right-word=Control+Right Mod1+f
|
||||||
|
# cursor-home=Home Control+a
|
||||||
|
# cursor-end=End Control+e
|
||||||
|
# delete-prev=BackSpace
|
||||||
|
# delete-prev-word=Mod1+BackSpace Control+BackSpace
|
||||||
|
# delete-next=Delete
|
||||||
|
# delete-next-word=Mod1+d Control+Delete
|
||||||
|
# extend-to-word-boundary=Control+w
|
||||||
|
# extend-to-next-whitespace=Control+Shift+w
|
||||||
|
# clipboard-paste=Control+v Control+y
|
||||||
|
# primary-paste=Shift+Insert
|
||||||
|
|
||||||
|
[url-bindings]
|
||||||
|
# cancel=Control+g Control+c Control+d Escape
|
||||||
|
# toggle-url-visible=t
|
||||||
|
|
||||||
|
[mouse-bindings]
|
||||||
|
# primary-paste=BTN_MIDDLE
|
||||||
|
# select-begin=BTN_LEFT
|
||||||
|
# select-begin-block=Control+BTN_LEFT
|
||||||
|
# select-extend=BTN_RIGHT
|
||||||
|
# select-extend-character-wise=Control+BTN_RIGHT
|
||||||
|
# select-word=BTN_LEFT-2
|
||||||
|
# select-word-whitespace=Control+BTN_LEFT-2
|
||||||
|
# select-row=BTN_LEFT-3
|
31
packages/wayland/util/foot/package.mk
Normal file
31
packages/wayland/util/foot/package.mk
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
PKG_NAME="foot"
|
||||||
|
PKG_VERSION="1.10.3"
|
||||||
|
PKG_SHA256="24f57d9926ead7bea491f1bdd97eaceae5fdc10c1cb3435ee588a8f9c9af805a"
|
||||||
|
PKG_LICENSE="MIT"
|
||||||
|
PKG_SITE="https://codeberg.org/dnkl/foot/"
|
||||||
|
PKG_URL="https://codeberg.org/dnkl/foot/archive/${PKG_VERSION}.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain ncurses wayland wayland-protocols pixman fontconfig libxkbcommon fcft"
|
||||||
|
PKG_LONGDESC="A fast, lightweight and minimalistic Wayland terminal emulator"
|
||||||
|
|
||||||
|
PKG_MESON_OPTS_TARGET="-Ddocs=disabled \
|
||||||
|
-Dthemes=false \
|
||||||
|
-Dime=false \
|
||||||
|
-Dgrapheme-clustering=auto \
|
||||||
|
-Dterminfo=disabled \
|
||||||
|
-Ddefault-terminfo=xterm"
|
||||||
|
|
||||||
|
post_makeinstall_target(){
|
||||||
|
# clean up
|
||||||
|
safe_remove ${INSTALL}/usr/share/*
|
||||||
|
|
||||||
|
# install scripts
|
||||||
|
mkdir -p ${INSTALL}/usr/bin
|
||||||
|
cp ${PKG_DIR}/scripts/foot.sh ${INSTALL}/usr/bin
|
||||||
|
|
||||||
|
# install config
|
||||||
|
mkdir -p ${INSTALL}/usr/share/foot
|
||||||
|
cp ${PKG_DIR}/config/foot.ini ${INSTALL}/usr/share/foot
|
||||||
|
}
|
18
packages/wayland/util/foot/scripts/foot.sh
Executable file
18
packages/wayland/util/foot/scripts/foot.sh
Executable file
@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
FOOT_CONFIG_DIR=/storage/.config/foot
|
||||||
|
FOOT_CONFIG_DEFAULT=/usr/share/foot/foot.ini
|
||||||
|
FOOT_LOG_FILE=/var/log/foot.log
|
||||||
|
|
||||||
|
if [ ! -f ${FOOT_CONFIG_DIR}/foot.ini ]; then
|
||||||
|
mkdir -p ${FOOT_CONFIG_DIR}
|
||||||
|
cp ${FOOT_CONFIG_DEFAULT} ${FOOT_CONFIG_DIR}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${LOCPATH}" ]; then
|
||||||
|
export LOCPATH="/storage/.cache/locpath"
|
||||||
|
fi
|
||||||
|
|
||||||
|
/usr/bin/foot > ${FOOT_LOG_FILE} 2>&1
|
19
packages/wayland/util/swaybg/package.mk
Normal file
19
packages/wayland/util/swaybg/package.mk
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
PKG_NAME="swaybg"
|
||||||
|
PKG_VERSION="1.1"
|
||||||
|
PKG_SHA256="958f425310514ae2aae064595c3e7efba2187b0d2947136c49188558fdb367b1"
|
||||||
|
PKG_LICENSE="MIT"
|
||||||
|
PKG_SITE="https://swaywm.org/"
|
||||||
|
PKG_URL="https://github.com/swaywm/swaybg/archive/v${PKG_VERSION}.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain wayland wayland-protocols cairo pango gdk-pixbuf"
|
||||||
|
PKG_LONGDESC="Wallpaper tool for Wayland compositors"
|
||||||
|
|
||||||
|
PKG_MESON_OPTS_TARGET="-Dgdk-pixbuf=enabled \
|
||||||
|
-Dman-pages=disabled"
|
||||||
|
|
||||||
|
pre_configure_target() {
|
||||||
|
# swaybg does not build without -Wno flags as all warnings being treated as errors
|
||||||
|
export TARGET_CFLAGS=$(echo "${TARGET_CFLAGS} -Wno-maybe-uninitialized")
|
||||||
|
}
|
11
packages/wayland/util/wlr-randr/package.mk
Normal file
11
packages/wayland/util/wlr-randr/package.mk
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
PKG_NAME="wlr-randr"
|
||||||
|
PKG_VERSION="0.2.0"
|
||||||
|
PKG_SHA256="12745bc8050a56603bf9bdee70c798b5d6502cf00a795c59fd03e1d786c17ce3"
|
||||||
|
PKG_LICENSE="MIT"
|
||||||
|
PKG_SITE="https://git.sr.ht/~emersion/wlr-randr"
|
||||||
|
PKG_URL="https://git.sr.ht/~emersion/wlr-randr/archive/v${PKG_VERSION}.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain wayland"
|
||||||
|
PKG_LONGDESC="Utility to manage outputs of a Wayland compositor."
|
@ -2,8 +2,8 @@
|
|||||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="wayland-protocols"
|
PKG_NAME="wayland-protocols"
|
||||||
PKG_VERSION="1.24"
|
PKG_VERSION="1.25"
|
||||||
PKG_SHA256="bff0d8cffeeceb35159d6f4aa6bab18c807b80642c9d50f66cba52ecf7338bc2"
|
PKG_SHA256="f1ff0f7199d0a0da337217dd8c99979967808dc37731a1e759e822b75b571460"
|
||||||
PKG_LICENSE="OSS"
|
PKG_LICENSE="OSS"
|
||||||
PKG_SITE="https://wayland.freedesktop.org/"
|
PKG_SITE="https://wayland.freedesktop.org/"
|
||||||
PKG_URL="https://wayland.freedesktop.org/releases/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
PKG_URL="https://wayland.freedesktop.org/releases/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="waylandpp"
|
PKG_NAME="waylandpp"
|
||||||
PKG_VERSION="0.2.8"
|
PKG_VERSION="0.2.9"
|
||||||
PKG_SHA256="e7f486165d3568c3558b5c7099133aea4a285b82820eeafad329fc10271c654d"
|
PKG_SHA256="9d34acd88149897d587b979fc454fd8e5be8021ba3d09ad24c77a4b7acff2ebd"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
PKG_SITE="https://github.com/NilsBrause/waylandpp"
|
PKG_SITE="https://github.com/NilsBrause/waylandpp"
|
||||||
PKG_URL="https://github.com/NilsBrause/waylandpp/archive/${PKG_VERSION}.tar.gz"
|
PKG_URL="https://github.com/NilsBrause/waylandpp/archive/${PKG_VERSION}.tar.gz"
|
||||||
|
@ -2,10 +2,12 @@
|
|||||||
idle-time=0
|
idle-time=0
|
||||||
|
|
||||||
[shell]
|
[shell]
|
||||||
locking=false
|
|
||||||
background-color=0x00000000
|
background-image=/usr/share/weston/libreelec-wallpaper-2160.png
|
||||||
background-image=/usr/share/weston/splash-2160.png
|
|
||||||
background-type=scale-crop
|
background-type=scale-crop
|
||||||
|
background-color=0x00000000
|
||||||
|
clock-format=minutes-24h
|
||||||
|
locking=false
|
||||||
|
|
||||||
[launcher]
|
[launcher]
|
||||||
path=/usr/lib/kodi/kodi.bin
|
path=/usr/lib/kodi/kodi.bin
|
||||||
|
@ -2,34 +2,50 @@
|
|||||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="weston"
|
PKG_NAME="weston"
|
||||||
PKG_VERSION="9.0.0"
|
PKG_VERSION="10.0.0"
|
||||||
PKG_SHA256="5cf5d6ce192e0eb15c1fc861a436bf21b5bb3b91dbdabbdebe83e1f83aa098fe"
|
PKG_SHA256="5c23964112b90238bed39e5dd1e41cd71a79398813cdc3bbb15a9fdc94e547ae"
|
||||||
PKG_LICENSE="OSS"
|
PKG_LICENSE="MIT"
|
||||||
PKG_SITE="https://wayland.freedesktop.org/"
|
PKG_SITE="https://wayland.freedesktop.org/"
|
||||||
PKG_URL="https://wayland.freedesktop.org/releases/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
PKG_URL="https://wayland.freedesktop.org/releases/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
||||||
PKG_DEPENDS_TARGET="toolchain wayland wayland-protocols libdrm libxkbcommon libinput cairo libjpeg-turbo dbus"
|
PKG_DEPENDS_TARGET="toolchain wayland wayland-protocols libdrm libxkbcommon libinput cairo pango libjpeg-turbo dbus seatd"
|
||||||
PKG_LONGDESC="Reference implementation of a Wayland compositor"
|
PKG_LONGDESC="Reference implementation of a Wayland compositor"
|
||||||
|
|
||||||
PKG_MESON_OPTS_TARGET="-Dbackend-drm-screencast-vaapi=false \
|
PKG_MESON_OPTS_TARGET="-Dbackend-drm=true \
|
||||||
|
-Dbackend-drm-screencast-vaapi=false \
|
||||||
-Dbackend-headless=false \
|
-Dbackend-headless=false \
|
||||||
-Dbackend-rdp=false \
|
-Dbackend-rdp=false \
|
||||||
-Dscreenshare=false \
|
-Dscreenshare=false \
|
||||||
|
-Dbackend-wayland=false \
|
||||||
-Dbackend-x11=false \
|
-Dbackend-x11=false \
|
||||||
-Dbackend-fbdev=false \
|
-Ddeprecated-backend-fbdev=false \
|
||||||
|
-Dbackend-default=drm \
|
||||||
|
-Drenderer-gl=true \
|
||||||
-Dweston-launch=false \
|
-Dweston-launch=false \
|
||||||
-Dxwayland=false \
|
-Dxwayland=false \
|
||||||
|
-Dsystemd=true \
|
||||||
-Dremoting=false \
|
-Dremoting=false \
|
||||||
-Dpipewire=false \
|
-Dpipewire=false \
|
||||||
|
-Dshell-desktop=true \
|
||||||
-Dshell-fullscreen=false \
|
-Dshell-fullscreen=false \
|
||||||
-Dshell-ivi=false \
|
-Dshell-ivi=false \
|
||||||
|
-Dshell-kiosk=false \
|
||||||
|
-Ddesktop-shell-client-default="weston-desktop-shell" \
|
||||||
|
-Ddeprecated-wl-shell=false \
|
||||||
-Dcolor-management-lcms=false \
|
-Dcolor-management-lcms=false \
|
||||||
-Dcolor-management-colord=false \
|
-Dcolor-management-colord=false \
|
||||||
|
-Dlauncher-logind=false \
|
||||||
|
-Dlauncher-libseat=true \
|
||||||
|
-Dimage-jpeg=true \
|
||||||
-Dimage-webp=false \
|
-Dimage-webp=false \
|
||||||
|
-Dtools=['terminal']
|
||||||
-Ddemo-clients=false \
|
-Ddemo-clients=false \
|
||||||
-Dsimple-clients=egl \
|
-Dsimple-clients=[] \
|
||||||
-Dresize-pool=false \
|
-Dresize-pool=false \
|
||||||
-Dwcap-decode=false \
|
-Dwcap-decode=false \
|
||||||
-Dtest-junit-xml=false"
|
-Dtest-junit-xml=false \
|
||||||
|
-Dtest-skip-is-failure=false \
|
||||||
|
-Dtest-gl-renderer=false \
|
||||||
|
-Ddoc=false"
|
||||||
|
|
||||||
pre_configure_target() {
|
pre_configure_target() {
|
||||||
# weston does not build with NDEBUG (requires assert for tests)
|
# weston does not build with NDEBUG (requires assert for tests)
|
||||||
@ -42,12 +58,9 @@ post_makeinstall_target() {
|
|||||||
|
|
||||||
mkdir -p ${INSTALL}/usr/share/weston
|
mkdir -p ${INSTALL}/usr/share/weston
|
||||||
cp ${PKG_DIR}/config/weston.ini ${INSTALL}/usr/share/weston
|
cp ${PKG_DIR}/config/weston.ini ${INSTALL}/usr/share/weston
|
||||||
find_file_path "splash/splash-2160.png" && cp ${FOUND_PATH} ${INSTALL}/usr/share/weston
|
find_file_path "splash/splash-2160.png" && cp ${FOUND_PATH} ${INSTALL}/usr/share/weston/libreelec-wallpaper-2160.png
|
||||||
|
|
||||||
safe_remove ${INSTALL}/usr/share/wayland-sessions
|
safe_remove ${INSTALL}/usr/share/wayland-sessions
|
||||||
safe_remove ${INSTALL}/usr/bin/weston-calibrator
|
|
||||||
safe_remove ${INSTALL}/usr/bin/weston-simple-*
|
|
||||||
safe_remove ${INSTALL}/usr/bin/weston-touch-calibrator
|
|
||||||
}
|
}
|
||||||
|
|
||||||
post_install() {
|
post_install() {
|
||||||
|
@ -1,73 +0,0 @@
|
|||||||
From ae69381b6eb43ab63992906d1bf29ffd2b4df10d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Manuel Stoeckl <code@mstoeckl.com>
|
|
||||||
Date: Sun, 30 Aug 2020 18:49:18 -0400
|
|
||||||
Subject: [PATCH] compositor: avoid setting WAYLAND_DISPLAY=wayland-0
|
|
||||||
|
|
||||||
This commit alters the way that Weston picks a Wayland display socket
|
|
||||||
name. Instead of using wl_display_add_socket_auto to look for the first
|
|
||||||
available name in wayland-0, wayland-1, .... to wayland-32, the code now
|
|
||||||
checks names wayland-1, wayland-2, .... up to wayland-32.
|
|
||||||
|
|
||||||
This change is a workaround for a suboptimal behavior of
|
|
||||||
libwayland-client. If a client program calls wl_display_connect(NULL) and
|
|
||||||
the WAYLAND_DISPLAY environment variable is not set, then the program will
|
|
||||||
by default try to connect to 'wayland-0'. This is a problem when a
|
|
||||||
computer has a running Wayland compositor but is being accessed in some
|
|
||||||
other fashion, such as through an X session on a different virtual
|
|
||||||
terminal, over ssh, etc. Client programs launched through those means may
|
|
||||||
attempt to connect to an unrelated compositor. Changing libwayland
|
|
||||||
behavior to remove the default would also work, but a) libraries have
|
|
||||||
stronger backward compatibility expectations b) that would likely break
|
|
||||||
more people's setups than just changing Weston would.
|
|
||||||
|
|
||||||
Signed-off-by: Manuel Stoeckl <code@mstoeckl.com>
|
|
||||||
---
|
|
||||||
compositor/main.c | 23 ++++++++++++++---------
|
|
||||||
1 file changed, 14 insertions(+), 9 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/compositor/main.c b/compositor/main.c
|
|
||||||
index 2554b7627..0c8c8e027 100644
|
|
||||||
--- a/compositor/main.c
|
|
||||||
+++ b/compositor/main.c
|
|
||||||
@@ -825,24 +825,29 @@ handle_primary_client_destroyed(struct wl_listener *listener, void *data)
|
|
||||||
static int
|
|
||||||
weston_create_listening_socket(struct wl_display *display, const char *socket_name)
|
|
||||||
{
|
|
||||||
+ char name_candidate[16];
|
|
||||||
+
|
|
||||||
if (socket_name) {
|
|
||||||
if (wl_display_add_socket(display, socket_name)) {
|
|
||||||
weston_log("fatal: failed to add socket: %s\n",
|
|
||||||
strerror(errno));
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ setenv("WAYLAND_DISPLAY", socket_name, 1);
|
|
||||||
+ return 0;
|
|
||||||
} else {
|
|
||||||
- socket_name = wl_display_add_socket_auto(display);
|
|
||||||
- if (!socket_name) {
|
|
||||||
- weston_log("fatal: failed to add socket: %s\n",
|
|
||||||
- strerror(errno));
|
|
||||||
- return -1;
|
|
||||||
+ for (int i = 1; i <= 32; i++) {
|
|
||||||
+ sprintf(name_candidate, "wayland-%d", i);
|
|
||||||
+ if (wl_display_add_socket(display, name_candidate) >= 0) {
|
|
||||||
+ setenv("WAYLAND_DISPLAY", name_candidate, 1);
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
+ weston_log("fatal: failed to add socket: %s\n",
|
|
||||||
+ strerror(errno));
|
|
||||||
+ return -1;
|
|
||||||
}
|
|
||||||
-
|
|
||||||
- setenv("WAYLAND_DISPLAY", socket_name, 1);
|
|
||||||
-
|
|
||||||
- return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
WL_EXPORT void *
|
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
export WAYLAND_DISPLAY=wayland-1
|
||||||
export XDG_RUNTIME_DIR=/var/run/0-runtime-dir
|
export XDG_RUNTIME_DIR=/var/run/0-runtime-dir
|
||||||
|
@ -10,8 +10,8 @@
|
|||||||
# Displayserver to use (wl / x11 / no)
|
# Displayserver to use (wl / x11 / no)
|
||||||
DISPLAYSERVER="wl"
|
DISPLAYSERVER="wl"
|
||||||
|
|
||||||
# Windowmanager to use (fluxbox / weston / no)
|
# Windowmanager to use (fluxbox / sway / weston / no)
|
||||||
WINDOWMANAGER="weston"
|
WINDOWMANAGER="sway"
|
||||||
|
|
||||||
# KODI Player implementation to use (mesa / default)
|
# KODI Player implementation to use (mesa / default)
|
||||||
KODIPLAYER_DRIVER="mesa"
|
KODIPLAYER_DRIVER="mesa"
|
||||||
@ -19,7 +19,7 @@
|
|||||||
# set the addon project
|
# set the addon project
|
||||||
ADDON_PROJECT="Generic"
|
ADDON_PROJECT="Generic"
|
||||||
|
|
||||||
# Mesa 3D Graphic drivers to use (all / crocus,i915,iris,r300,r600,radeonsi,vmware,virtio)
|
# Mesa 3D Graphic / NVIDIA drivers to use (all / crocus,i915,iris,nvidia-ng,r300,r600,radeonsi,vmware,virtio)
|
||||||
# Space separated list is supported,
|
# Space separated list is supported,
|
||||||
# e.g. GRAPHIC_DRIVERS="crocus i915 iris r300 r600 radeonsi vmware virtio"
|
# e.g. GRAPHIC_DRIVERS="crocus i915 iris r300 r600 radeonsi vmware virtio"
|
||||||
GRAPHIC_DRIVERS="crocus i915 iris r300 r600 radeonsi vmware virtio"
|
GRAPHIC_DRIVERS="crocus i915 iris nvidia-ng r300 r600 radeonsi vmware virtio"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user