March 8, 2025
We are proud to announce the release of Mediaberry 0.1.0.
Milestone 1 is the first alpha release of Mediaberry. It is quite simple, and has very little functionality.
The goal of Milestone 1 is not to be a practical system, but rather to get the idea out to the public and get feedback.
First, install postmarketOS with the Mediaberry UI package. See this postmarketOS wiki page for more information.
Then, install podman and set up rootless containers using these instructions.
Once you have confirmed that podman is working properly, install distrobox via apk and run the following:
distrobox create --image debian mediaberry
NOTE: It may take a while to install basic packages in the container. This is normal.
If done correctly, you can now enter it using distrobox enter mediaberry
.
Run the following command to install build dependencies:
sudo apt install build-essential git cmake libx11-dev libnss3-dev libnspr4-dev libatk-bridge2.0-dev libxkbcommon-dev libasound2-dev libatspi2.0-dev
NOTE: libx11-dev is required for CEF, but the X11 rendering backend is not actually used on mbwl. If you are using a Wayland compositor which supports Xwayland (such as GNOME), you may need to run unset DISPLAY
first to force mbrt to use Wayland.
Upon installing build dependencies, download the required repositories:
cd
git clone https://codeberg.org/mediaberry/mbrt.git -b 0.1.0 --recursive
git clone https://codeberg.org/mediaberry/sysapps.git -b 0.1.0
Then, download and extract CEF (in this case, assuming you are trying to run Mediaberry on an aarch64 CPU):
wget https://cef-builds.spotifycdn.com/cef_binary_132.3.1%2Bg144febe%2Bchromium-132.0.6834.83_linuxarm64.tar.bz2
tar -xvf cef_binary_132.3.1+g144febe+chromium-132.0.6834.83_linuxarm64.tar.bz2
rm cef_binary_132.3.1+g144febe+chromium-132.0.6834.83_linuxarm64.tar.bz2
Enter the CEF directory:
cd cef_binary_132.3.1+g144febe+chromium-132.0.6834.83_linuxarm64
If you are using an ARM-based machine, you will need to manually edit the CEF CMake variables file.
Open up cmake/cef_variables.cmake
with your preferred text editor and replace this:
if(PROJECT_ARCH STREQUAL "x86_64")
# 64-bit architecture.
list(APPEND CEF_COMPILER_FLAGS
-m64
-march=x86-64
)
list(APPEND CEF_LINKER_FLAGS
-m64
)
elseif(PROJECT_ARCH STREQUAL "x86")
# 32-bit architecture.
list(APPEND CEF_COMPILER_FLAGS
-msse2
-mfpmath=sse
-mmmx
-m32
)
list(APPEND CEF_LINKER_FLAGS
-m32
)
endif()
…with this:
if(PROJECT_ARCH STREQUAL "x86")
# 32-bit architecture.
list(APPEND CEF_COMPILER_FLAGS
-msse2
-mfpmath=sse
-mmmx
-m32
)
list(APPEND CEF_LINKER_FLAGS
-m32
)
endif()
Upon making the required changes, run the following:
cp -r Resources/* Release/
mkdir build
cd build
cmake ..
make
cd ../..
NOTE: If make
fails, check if libcef_dll_wrapper/libcef_dll_wrapper.a
exists in the build directory. If it does, you can simply ignore the error and move on.
Once it has finished building, open up your preferred text editor and add the following to a new file called cef.sh
in your home directory:
export CEF_PATH=~/cef_binary_132.3.1+g144febe+chromium-132.0.6834.83_linuxarm64
export LD_LIBRARY_PATH=$CEF_PATH/Release
export CEF_LIB_PATH=$CEF_PATH/Release
export CEF_INCLUDE_PATH=$CEF_PATH
export CEF_RESOURCE_PATH=$CEF_PATH/Resources
export CEF_WRAPPER_PATH=$CEF_PATH/build/libcef_dll_wrapper/libcef_dll_wrapper.a
After setting up the file, run the following commands:
cd mbrt
. ~/cef.sh
make
You can now run the following to start the demo:
cd ../sysapps
../mbrt/bin/mbrt run org.mediaberry.demo
WARNING: You must configure the display/kernel to use 1080p as the display resolution, or Mediaberry will not work properly.