diff --git a/community/acf-vlc-daemon/APKBUILD b/community/acf-vlc-daemon/APKBUILD
index d6b2a8931022c81e1933e0d0dfc4b19020d3e3df..bdb7dade44ee1590e217f6c4ad5ccde056ebfd7a 100644
--- a/community/acf-vlc-daemon/APKBUILD
+++ b/community/acf-vlc-daemon/APKBUILD
@@ -5,7 +5,7 @@ pkgver=0.5.0
 pkgrel=4
 pkgdesc="Web-based system administration interface for vlc"
 url="https://gitlab.alpinelinux.org/acf/acf-vlc-daemon"
-arch="noarch !s390x !armhf" # limited by vlc
+arch="noarch"
 license="GPL-2.0-only"
 options="!check" # no test suite
 depends="acf-core vlc-daemon"
diff --git a/community/dragon/APKBUILD b/community/dragon/APKBUILD
index 33f0eead5607f9477a84421581eee47b4f936733..acabddbf4522d1d1996de9ea64aa43c4e3c0729c 100644
--- a/community/dragon/APKBUILD
+++ b/community/dragon/APKBUILD
@@ -9,8 +9,7 @@ pkgrel=0
 pkgdesc="A multimedia player where the focus is on simplicity, instead of features"
 url="https://kde.org/applications/multimedia/org.kde.dragonplayer"
 # armhf blocked by extra-cmake-modules
-# # s390x blocked by phonon-backend-vlc
-arch="all !armhf !s390x"
+arch="all !armhf"
 license="GPL-2.0-only OR GPL-3.0-only"
 depends="phonon-backend-vlc"
 makedepends="
diff --git a/community/elisa/APKBUILD b/community/elisa/APKBUILD
index 1bf0eb05be06d5d063295b19570f6d8c52d2ca68..b1f389bacc3cc023fdce434bff269408692ed0d3 100644
--- a/community/elisa/APKBUILD
+++ b/community/elisa/APKBUILD
@@ -5,8 +5,7 @@ pkgname=elisa
 pkgver=24.12.2
 pkgrel=0
 # armhf blocked by extra-cmake-modules
-# s390x blocked by vlc
-arch="all !armhf !s390x"
+arch="all !armhf"
 url="https://kde.org/applications/multimedia/org.kde.elisa"
 pkgdesc="A simple music player aiming to provide a nice experience for its users"
 license="LGPL-3.0-or-later"
diff --git a/community/freeimage/APKBUILD b/community/freeimage/APKBUILD
index c50da97ab3e4562e48f67a6c756dbd70de134ea0..88f6c51744a15e3d345fbf4192a548ba394a761b 100644
--- a/community/freeimage/APKBUILD
+++ b/community/freeimage/APKBUILD
@@ -3,11 +3,11 @@
 pkgname=freeimage
 _pkgname="FreeImage"
 pkgver=3.18.0
-pkgrel=4
+pkgrel=5
 pkgdesc="Open Source library project for developers who would like to support popular graphics image formats."
 url="https://freeimage.sourceforge.net/"
-arch="all !s390x" # build fails on s390x
-license="GPL-2.0-or-later FIPL"
+arch="all"
+license="GPL-2.0-or-later AND FreeImage"
 makedepends="dos2unix"
 subpackages="$pkgname-dev"
 source="https://downloads.sourceforge.net/$pkgname/${_pkgname}${pkgver//.}.zip
@@ -16,6 +16,7 @@ source="https://downloads.sourceforge.net/$pkgname/${_pkgname}${pkgver//.}.zip
 	0005-makefile-gnu.patch
 	CVE-2019-12211_3.patch
 	fix-build.patch
+	big-endian.patch
 	"
 builddir="$srcdir/$_pkgname"
 options="!check"
@@ -49,4 +50,5 @@ ef88862593bd8d271d11f86ec389c8a92c131ffb03fb7028e87dfddc7ae74e22bef50327175a7dce
 18fba0dc68f94365ffbe7070594825b7e8f77f462ece31d96971de18f085b5110f3c3bdff780a02aa162ee9a64dd20c5fda7871d8759c8eeaa20d7bf3dddd72e  0005-makefile-gnu.patch
 de88bbf9f5d43f2b5be4d4df3baabb895ba6dca1d28308909f825f973634bdf8bc10bda61b2ce90e48f67d024cf6ab75f797ce42474101fa6a0896ee42107770  CVE-2019-12211_3.patch
 e3d2897c70121a67c93ceb941729a7238a1bed3b016492927d6e92c53ae8685a099787323111978be6db7c009249608ac625fff0d07f27e193d0c06eaf646058  fix-build.patch
+73a98bd6526d0ed01635416fb5407e8cb475d406e5b807608612ec5a243384a5f2a4ff225c2b8b1609e07101563ecdc72c5081445e846edadac1d8150c16e636  big-endian.patch
 "
diff --git a/community/freeimage/big-endian.patch b/community/freeimage/big-endian.patch
new file mode 100644
index 0000000000000000000000000000000000000000..091ee8549c0e0f3e3741146119ef464724c2f0d8
--- /dev/null
+++ b/community/freeimage/big-endian.patch
@@ -0,0 +1,57 @@
+Patch-Source: https://sourceforge.net/p/freeimage/svn/1809/
+
+--- a/Source/FreeImage/PluginBMP.cpp
++++ b/Source/FreeImage/PluginBMP.cpp
+@@ -518,7 +518,7 @@
+ 				io->read_proc(FreeImage_GetPalette(dib), used_colors * sizeof(RGBQUAD), 1, handle);
+ #if FREEIMAGE_COLORORDER == FREEIMAGE_COLORORDER_RGB
+ 				RGBQUAD *pal = FreeImage_GetPalette(dib);
+-				for(int i = 0; i < used_colors; i++) {
++				for(unsigned i = 0; i < used_colors; i++) {
+ 					INPLACESWAP(pal[i].rgbRed, pal[i].rgbBlue);
+ 				}
+ #endif
+@@ -1419,7 +1419,7 @@
+ 
+ 			free(buffer);
+ #ifdef FREEIMAGE_BIGENDIAN
+-		} else if (bpp == 16) {
++		} else if (dst_bpp == 16) {
+ 			int padding = dst_pitch - dst_width * sizeof(WORD);
+ 			WORD pad = 0;
+ 			WORD pixel;
+@@ -1440,7 +1440,7 @@
+ 			}
+ #endif
+ #if FREEIMAGE_COLORORDER == FREEIMAGE_COLORORDER_RGB
+-		} else if (bpp == 24) {
++		} else if (dst_bpp == 24) {
+ 			int padding = dst_pitch - dst_width * sizeof(FILE_BGR);
+ 			DWORD pad = 0;
+ 			FILE_BGR bgr;
+@@ -1461,7 +1461,7 @@
+ 					}
+ 				}
+ 			}
+-		} else if (bpp == 32) {
++		} else if (dst_bpp == 32) {
+ 			FILE_BGRA bgra;
+ 			for(unsigned y = 0; y < dst_height; y++) {
+ 				BYTE *line = FreeImage_GetScanLine(dib, y);
+--- a/Source/FreeImage/PluginDDS.cpp
++++ b/Source/FreeImage/PluginDDS.cpp
+@@ -356,14 +356,6 @@
+ 	for(int i=0; i<11; i++) {
+ 		SwapLong(&header->surfaceDesc.dwReserved1[i]);
+ 	}
+-	SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwSize);
+-	SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwFlags);
+-	SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwFourCC);
+-	SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRGBBitCount);
+-	SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRBitMask);
+-	SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwGBitMask);
+-	SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwBBitMask);
+-	SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRGBAlphaBitMask);
+ 	SwapLong(&header->surfaceDesc.ddsCaps.dwCaps1);
+ 	SwapLong(&header->surfaceDesc.ddsCaps.dwCaps2);
+ 	SwapLong(&header->surfaceDesc.ddsCaps.dwReserved[0]);
diff --git a/community/kasts/APKBUILD b/community/kasts/APKBUILD
index 24ab5268c4e4d202490f1dde27f9fe441f7d90aa..f9e43e659398c2ff0b31ca3daab41740dfb72f67 100644
--- a/community/kasts/APKBUILD
+++ b/community/kasts/APKBUILD
@@ -6,8 +6,7 @@ pkgver=24.12.2
 pkgrel=0
 pkgdesc="Kirigami-based podcast player"
 # armhf blocked by qt6-qtdeclarative
-# s390x blocked by vlc
-arch="all !armhf !s390x"
+arch="all !armhf"
 url="https://invent.kde.org/plasma-mobile/kasts"
 license="LicenseRef-KDE-Accepted-GPL AND CC0-1.0"
 depends="
diff --git a/community/nymphcast/APKBUILD b/community/nymphcast/APKBUILD
index e0505ef88a2368903267fd10a91967f1df1b2482..129ceae93db43dad8e50465be7ac317320ca1442 100644
--- a/community/nymphcast/APKBUILD
+++ b/community/nymphcast/APKBUILD
@@ -3,8 +3,7 @@
 pkgname=nymphcast
 pkgver=0.1
 pkgrel=10
-# s390x and riscv64 blocked by vlc
-arch="all !s390x !riscv64"
+arch="all"
 url="http://nyanko.ws/product_nymphcast.php"
 pkgdesc="Audio and video casting system with support for custom applications"
 license="BSD-3-Clause"
diff --git a/community/obs-studio/APKBUILD b/community/obs-studio/APKBUILD
index 35b3a5b5ca3b5a1d408b504e8bd0d265f1c7e7e1..956127f7235f5f17530e3560066f268925526020 100644
--- a/community/obs-studio/APKBUILD
+++ b/community/obs-studio/APKBUILD
@@ -2,7 +2,7 @@
 # Maintainer: Francesco Colista <fcolista@alpinelinux.org>
 pkgname=obs-studio
 pkgver=31.0.1
-pkgrel=0
+pkgrel=1
 pkgdesc="Free and open source software for live streaming and screen recording"
 url="https://obsproject.com/"
 arch="all !ppc64le !riscv64" # luajit
@@ -52,6 +52,7 @@ makedepends="
 	speexdsp-dev
 	swig
 	uthash-dev
+	vlc-dev
 	v4l-utils-dev
 	wayland-dev
 	x264-dev
@@ -60,17 +61,6 @@ subpackages="$pkgname-dev"
 source="https://github.com/obsproject/obs-studio/archive/$pkgver/obs-studio-$pkgver.tar.gz
 fix-cmake-settings.patch"
 
-# armhf, s390x have no vlc
-case $CARCH in
-	armhf|s390x)
-		_vlc=OFF
-		;;
-	*)
-		makedepends="$makedepends vlc-dev"
-		_vlc=ON
-		;;
-esac
-
 # Regression for VPL only available for x86_64
 # https://github.com/obsproject/obs-studio/issues/9578
 case $CARCH in
@@ -113,7 +103,7 @@ build() {
 		-DCALM_DEPRECATION=ON \
 		-DENABLE_VST=ON \
 		-DENABLE_QSV11=$_vpl \
-		-DENABLE_VLC=$_vlc \
+		-DENABLE_VLC=ON \
 		-DCMAKE_COMPILE_WARNING_AS_ERROR=OFF \
 		-Wno-dev
 	cmake --build build
diff --git a/community/phonon-backend-vlc/APKBUILD b/community/phonon-backend-vlc/APKBUILD
index 9eccf04e55ac246cb08223a873f0fe70b5a457df..bc6c067270c5f99dcfa8148b2405dae2c85e1509 100644
--- a/community/phonon-backend-vlc/APKBUILD
+++ b/community/phonon-backend-vlc/APKBUILD
@@ -9,8 +9,7 @@ pkgrel=0
 pkgdesc="Phonon VLC backend"
 url="https://userbase.kde.org/Phonon"
 # armhf blocked by extra-cmake-modules
-# s390x blocked by vlc
-arch="all !armhf !s390x"
+arch="all !armhf"
 license="LGPL-2.1-or-later"
 makedepends="
 	extra-cmake-modules
diff --git a/community/zoneminder/APKBUILD b/community/zoneminder/APKBUILD
index 5cc8d6744744f42fd7ff724af7d9c82a436194a6..699ad638c4113ff213118f493090408a6a835c77 100644
--- a/community/zoneminder/APKBUILD
+++ b/community/zoneminder/APKBUILD
@@ -9,7 +9,7 @@ _enum=ea90c0cd7f6e24333a90885e563b5d30b793db29
 _rtsp=eab32851421ffe54fec0229c3efc44c642bc8d46
 pkgdesc="Video camera surveillance system"
 url="https://www.zoneminder.com/"
-arch="all !s390x" # limited by vlc
+arch="all !s390x" # ZmFont tests fails on s390x
 license="GPL-2.0-or-later"
 _php=php82
 depends="bash ffmpeg linux-headers perl perl-archive-zip
diff --git a/testing/emulationstation/APKBUILD b/testing/emulationstation/APKBUILD
index 530757e7758efd6dafcffbbe3df8051d2e3cec62..31f564f53a9877b61a539924036f7d941ba44ac4 100644
--- a/testing/emulationstation/APKBUILD
+++ b/testing/emulationstation/APKBUILD
@@ -6,7 +6,7 @@ _gbz35="05895874b2920ab6ffeeb574d053f3d9e976c000"
 pkgrel=1
 pkgdesc="EmulationStation is a cross-platform graphical front-end for emulators with controller navigation."
 url="https://github.com/RetroPie/EmulationStation"
-arch="all !armhf !s390x" # vlc-dev
+arch="all"
 license="MIT"
 makedepends="
 	alsa-lib-dev