From 6d25d7f617f2edf6ece2df010df2b40c4f115b74 Mon Sep 17 00:00:00 2001 From: Newbyte Date: Sun, 27 Jun 2021 21:41:19 +0200 Subject: [PATCH] main/postmarketos-base: add Firefox env config to -tinydm subpackage (MR 2235) Currently, this only sets Firefox to run in Wayland mode, but in the future it might be used to make e.g. SDL applications run in Wayland mode. SDL applications are not set to run in Wayland mode right no as SDL 1.2 uses the same environment variable as SDL 2.0 for controlling video driver (SDL_VIDEODRIVER) and SDL 1.2 does not support Wayland and crashes if an invalid value is provided for SDL_VIDEODRIVER, and as such setting SDL_VIDEODRIVER=wayland globally would break all SDL 1.2 applications. This will however be fixed once SDL 1.2 is replaced by sdl12-compat in Alpine, as sdl12-compat implements the SDL 1.2 API and ABI via SDL 2.0 and as such supports Wayland. As such, once this happens we can start setting SDL_VIDEODRIVER=wayland. [ci:skip-build] already built successfully in CI --- main/postmarketos-base-ui/APKBUILD | 12 ++++++++++-- ...-etc-tinydm.d-env-wayland.d-50-firefox-wayland.sh | 6 ++++++ 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 main/postmarketos-base-ui/rootfs-etc-tinydm.d-env-wayland.d-50-firefox-wayland.sh diff --git a/main/postmarketos-base-ui/APKBUILD b/main/postmarketos-base-ui/APKBUILD index e68d26978..d93d1de8f 100644 --- a/main/postmarketos-base-ui/APKBUILD +++ b/main/postmarketos-base-ui/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: Clayton Craft pkgname=postmarketos-base-ui -pkgver=1 +pkgver=2 pkgrel=0 pkgdesc="Meta package for minimal postmarketOS UI base" url="https://postmarketos.org" @@ -40,6 +40,9 @@ _source644=" etc/pulse/postmarketos.pa etc/sleep-inhibitor.conf " +_source755=" + etc/tinydm.d/env-wayland.d/50-firefox-wayland.sh + " # Avoid filename based checksum conflicts by including the whole path. flatpath() { @@ -48,13 +51,16 @@ flatpath() { echo "rootfs-$i" | sed s./.-.g done } -source="$(flatpath $_source644)" +source="$(flatpath $_source644 $_source755)" package() { local i for i in $_source644; do install -Dm644 "$srcdir/$(flatpath "$i")" "$pkgdir/$i" done + for i in $_source755; do + install -Dm755 "$srcdir/$(flatpath "$i")" "$pkgdir/$i" + done } x11() { @@ -86,6 +92,7 @@ tinydm() { replaces="tinydm-openrc" provides="postmarketos-base-tinydm=$pkgver-r$pkgrel" amove etc/conf.d/tinydm + amove etc/tinydm.d/env-wayland.d/50-firefox-wayland.sh } pulseaudio() { @@ -102,4 +109,5 @@ fe0651904c1f40ffa67d83daca190af199f63247e53642a59a1e1147cd06776fcf20b7b2fcc53737 4afe8c5b70f4ca85f9348eb0df12e3152b76203a1a138daa5777f22b751ea431d3ee4113189d8606078f87a99c230b184bc73d53222e6e00581e46224bf5d39f rootfs-etc-pulse-daemon.conf.d-90-postmarketos.conf 315598b67889b1f25f82b8269ed36af4fcee018a4edf2926ba966ab08e0a42e36676896d0a5636001b1eb7f16211dcf518123230049556dec9d03006e003a584 rootfs-etc-pulse-postmarketos.pa 6b9c7bb73213187eb9ca8a94109b2b816f50c1158c90fec2e92b373864280d67741589e5bfbab8810945f031d2f4b535aad78a72e46e52ea50be5b85324da381 rootfs-etc-sleep-inhibitor.conf +d1ddd43489e6016e3ffd716027ed2bae4a2ab5f213118bdbcb96750e267ab7c0367cd0e0e386300aa5550352653144f5caeddd790621fe0879f83ca1995bb65c rootfs-etc-tinydm.d-env-wayland.d-50-firefox-wayland.sh " diff --git a/main/postmarketos-base-ui/rootfs-etc-tinydm.d-env-wayland.d-50-firefox-wayland.sh b/main/postmarketos-base-ui/rootfs-etc-tinydm.d-env-wayland.d-50-firefox-wayland.sh new file mode 100644 index 000000000..3ca33a0d0 --- /dev/null +++ b/main/postmarketos-base-ui/rootfs-etc-tinydm.d-env-wayland.d-50-firefox-wayland.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +# Firefox does not enable Wayland by default on Phosh, so we need to force it. +# GDK_BACKEND=wayland is not used as it causes issues (chiefly, makes +# gsd-xsettings crash) and is not necessary with GTK apps. +export MOZ_ENABLE_WAYLAND=1