diff --git a/device/main/device-purism-librem5/70-librem5-xwayland-accel.sh b/device/main/device-purism-librem5/70-librem5-xwayland-accel.sh
new file mode 100644
index 0000000000000000000000000000000000000000..d283d4d6abff81ed4792e9d8a45370f5cc920f15
--- /dev/null
+++ b/device/main/device-purism-librem5/70-librem5-xwayland-accel.sh
@@ -0,0 +1,3 @@
+# https://source.puri.sm/Librem5/librem5-base/-/commit/11cf55f56593aee5ac2aca7adfbd650d09993e2f
+# enables xwayland acceleration
+export ETNA_MESA_DEBUG=nir
diff --git a/device/main/device-purism-librem5/APKBUILD b/device/main/device-purism-librem5/APKBUILD
index c41d98a62881cde36a3c3365dcdaa2bc5a6cb05c..15ba8c50cbc72499c7509c45335c26ad32c3ad16 100644
--- a/device/main/device-purism-librem5/APKBUILD
+++ b/device/main/device-purism-librem5/APKBUILD
@@ -3,9 +3,9 @@
 # Co-Maintainer: Bhushan Shah <bshah@kde.org>
 pkgname=device-purism-librem5
 pkgdesc="Purism Librem 5 Phone"
-pkgver=1.29
+pkgver=1.30
 pkgrel=0
-_confver=47
+_confver=49
 _purismrel=1
 # <librem5-base ver>.<purism release>
 _purismver=${_confver}pureos$_purismrel
@@ -40,14 +40,16 @@ source="
 	pcscd-librem5.initd
 	uboot-script.cmd
 	xorg.conf
+	70-librem5-xwayland-accel.sh
 	0001-librem5-pm.udev-disable-PM-for-broadmobi-modem.patch
 	0002-udev-cameras-use-correct-path-for-modprobe-on-Alpine.patch
 "
 subpackages="
+	$pkgname-nonfree-firmware:nonfree_firmware
 	$pkgname-phosh
 	$pkgname-pulseaudio
 	$pkgname-smartcard
-	$pkgname-nonfree-firmware:nonfree_firmware
+	$pkgname-tinydm
 "
 install="$pkgname.post-install $pkgname.post-upgrade"
 
@@ -79,6 +81,13 @@ pulseaudio() {
 	cp -r "$builddir"/default/audio/profile-sets "$subpkgdir"/usr/share/pulseaudio/alsa-mixer/
 }
 
+tinydm() {
+	pkgdesc="Tinydm config for the Librem 5"
+	install_if="$pkgname tinydm"
+	install -Dm755 "$srcdir"/70-librem5-xwayland-accel.sh \
+		"$subpkgdir"/etc/tinydm.d/env-wayland.d/70-librem5-xwayland-accel.sh
+}
+
 smartcard() {
 	pkgdesc="OpenPGP SmartCard support for the Librem 5"
 	depends="$pkgname ccid gnupg-scdaemon pcsc-lite pcsc-tools"
@@ -135,7 +144,7 @@ nonfree_firmware() {
 }
 
 sha512sums="
-e4729fbf111e691179d1aa11970c486315b88563782b46fddcfcb8e4ec02fb9a70a99cd3b74c039f26420d70a79b228f3bd8b0de8f995adfa2e9931e0275cb62  librem5-base-pureos-47pureos1.tar.gz
+eb96cb23f2fe28ef528afe0d267453461611bfe7e8dffaf5afcd2de96f8e3c1f4612c3a9ec43feb50bbec8094ce31b5333ed85f14aaba5461e715024dff9ac9c  librem5-base-pureos-49pureos1.tar.gz
 2e72d9a084ecd6c96cafbbd8fda461ae8b2ebd14ffda601d9f36d73f08f04088213de17da078293ddd958d4c76d33148c7af6e252eb0709f6934855a55578509  00-mesa.sh
 8b6fa7b12c15f439c561901f3ffe24a1ef2a0c343401c0a79281060854ab29e08a1fb5e7adae8684b12aa9f535ed99e2dad993dce9724822cb0fbf2497dd86e5  70-wifi-pm.rules
 00355d9ad085a77e157f3c62eb4f1bcac2823d3b341e34d1128edbfb1444fba83e8eacd263ea61da9f6d853f1328ab7fbe5ea63bd08c8a1bc9b8eaf44ae1f1c6  77-mm-broadmobi-port-types.rules
@@ -148,6 +157,7 @@ a0740e405781ec6ef765fdc9f5700c95adbb241c45c97b9384ba68cdece662cb216ca5918640042f
 2618b40eebd3602066ee75ab85cbdbb4cfee498def9879c95a304f05a6eeedf1ab28c5dd9fa5efc8f88c790f49c96458c61d5dfe8a3ca0f96bcc0e244313ab01  pcscd-librem5.initd
 5da1e39c36d8d83d159f8f9aa0b77c3de98b5d65054d0c3d376d64d87ef1e21b7570e0039e761b015917d4808e896e102d432dc8229e6189e80104dbd148ae4b  uboot-script.cmd
 1cbc65cf2cb8fad4b0332d012a0256a266205b9b64371f5c0dae09dbb7f1e45b254e8c43993b896097e9d7035a72d547d9bce1ab2133addc56a5abdb80b44616  xorg.conf
+fad386071fc45f9880a94cc8004fabd5d98b3e6a12606c98d8e72e0208f22ab54f03b921f5967a959782507e2bff67d2fa92e46d8cd242011a3afcdbda529279  70-librem5-xwayland-accel.sh
 f535b43b8defe75e72049e4eee181bfe821f6304a096413bccf6d08c8bb11b947fa1fee305af85616abd778745fadd52ebd610c2d135a4f907915b99ab2c526a  0001-librem5-pm.udev-disable-PM-for-broadmobi-modem.patch
 b45749fcddfd65a302b502bcabfa5828d1b63e45d844fd50e44009a756b919db20fe9526102947c0f0dfcdffe4a037e5050fe1b24fb915933ce0837f49759378  0002-udev-cameras-use-correct-path-for-modprobe-on-Alpine.patch
 "