forked from LadybirdBrowser/ladybird
-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Last Updated January 09 2026
Current Status
- Builds without errors on Debian Trixie ARM64 using RPI 500+ and builds hours faster than QT version in about 20 minutes!
- NSToolBar working
- Need to make all buttons use graphics instead of Unicode characters
- WebView now rendering proper coloring
- Fixed support for NSTabView
- Settings not working yet
- Help not working yet
- Address bar is a little unresponsive (to be fixed next)
- Need to fix ability to input text in web view
- YouTube does not play videos (does not work on macOS either)
- Tabs need to be switched to update titles
- Tab overview button current presents a list rather than a visual overview
- Needs proper CMAKE module to locate GNUstep
- Need to copy modified AppKit to new UI subfolder and separate GNUstep from AppKit
- The ladybird build system does not seem to generate app bundles (It was also this way for the Mac version before I started)
- I am looking into the possibility of building a windows version as well since GNUstep supports this, though this will move slower than other items above.
- Need to test a distribution that uses musl to see if vcpkg has to pull in glibc, and confirm whether or not gnustep compiled with CLANG can work with this toolchain.
- Need to determine how to handle pulling in GNUStep when GNUstep compiled with libobjc2 is not available for the distribution or determine if this can be made to support GCC without much effort.
Installation requirements
- FreeBSD not yet supported due to it being unable to build ICU. Seems to be upstream issue with vcpkg.
- Only Debian 13 Trixie working so far and Devuan 6.0 Excaliber
sudo apt install autoconf autoconf-archive automake build-essential ccache cmake curl fonts-liberation2 git libdrm-dev libgl1-mesa-dev libtool nasm ninja-build pkg-config python3-venv qt6-base-dev qt6-tools-dev-tools qt6-wayland tar unzip zip
I think we can safely omit qt6* packages as requirements but I need to determine what else is still required for GNUstep AppKit version
The Ladybird build documentation for CMake 3.25 or newer from KitWare does not work on ARM64, they do not have builds for Trixie ARM64. I skipped this.
Other requirements installed for testing were:
Note this repo did not have work for Devuan when I tried Devuan 6.0 Excalibur so I skipped these packages and the build worked anyway. I did have older clang installed however from gershwin-build.
# Add LLVM GPG signing key
sudo wget -O /usr/share/keyrings/llvm-snapshot.gpg.key https://apt.llvm.org/llvm-snapshot.gpg.key
# Optional: Verify the GPG key manually
# Use the key to authorize an entry for apt.llvm.org in apt sources list
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.key] https://apt.llvm.org/$(lsb_release -sc)/ llvm-toolchain-$(lsb_release -sc)-20 main" | sudo tee -a /etc/apt/sources.list.d/llvm.list
# Update apt package list and install clang and associated packages
sudo apt update -y && sudo apt install clang-20 clangd-20 clang-tools-20 clang-format-20 clang-tidy-20 lld-20 -y
Audio support
sudo apt install libpulse-dev
I believe I installed this but configure still complains it cannot be found.
These are the steps to build and run ladybird using AppKit for GNUstep:
Bootstrap vcpkg
python3 Toolchain/BuildVcpkg.py
Configure with GNUstep support
CC=clang CXX=clang++ cmake --preset Release -DENABLE_QT=OFF
Build
cmake --build Build/release
Run
./Build/release/bin/Ladybird
probonopd and IOOI-SqARprobonopd and IOOI-SqARprobonopd and IOOI-SqARpaaspaas00
Metadata
Metadata
Assignees
Labels
No labels