An effort for porting XLibre to FreeBSD and DragonFlyBSD.
The XLibre ports are available both in the form of binary packages and a ports tree overlay.
The ports tree overlays are a lesser known feature of the FreeBSD port system that allows the user to add custom ports on top of the main ports tree (i.e. overlay them). These overlays hold the same structure as the main tree. This repository's root folder is an overlay and thus acts like a small "ports tree".
To enable an overlay its path needs to be added to the OVERLAYS variable in
the system's make.conf.
To use this repository as an overlay, you should first clone it and move into it:
git clone https://github.com/b-aaz/xlibre-ports.git
cd xlibre-ports/And then register the current folder as an overlay:
echo "OVERLAYS=$(pwd)/" >> /etc/make.confNote: Overlays should work from any path, and there is no "standard"
location in hier(7) for placing them in, but I personally prefer to put
them into a directory named /usr/local/ports-overlays/.
Since overlays are not a complete version of the port system it is essential that the main ports tree be present on the system for them to function.
The TL;DR version of how this should be done is:
git clone --depth 1 https://git.FreeBSD.org/ports.git -b 2025Q4 /usr/portsFor more information see: FreeBSD Handbook - Installing the Ports Collection.
cd /usr
make dports-create-shallowFor more information see: DragonFlyBSD Documentation - DPortsUsage.
Important note: This repository includes modified versions of ports form the latest quarterly branch of the FreeBSD ports tree, and it should only be used on FreeBSD with this branch installed. To find out how to update your tree to an specific version please read the above sources. The current quarterly branch which is being followed is 2025Q4.
After you made sure that your system's main ports tree is up-to-date, and you have enabled this repository as an overlay, you can use this tree just like the main ports tree:
To build and install a single port:
# Move into the port's directory
cd x11-server/xlibre-server
# Clean, build, and install it.
make clean installThis will build and install the xlibre-server port on your system.
To build everything in this repo just run make in the root of this overlay:
make clean
makeNote: You should always run make clean after building a port or before
starting a new build.
Tip: make(1)
targets can be chained; The above command can be shortened to just: make clean all
To generate packages for all the ports in this overlay run:
PACKAGES=/tmp/xlibre-pkgs make package Note: The folder given to PACKAGES needs to exist.
You can also run these commands in a category's directory:
cd x11-servers
makeThis will build only the ports in this overlay under the x11-servers category.
You can take a look at the man page ports(7) and the top of bsd.port.mk for more information about available make targets.
On each commit to the master branch, the CI system starts builds on FreeBSD and DragonFlyBSD for all the packages in this overlay, and on a successful build multiple pkg(7) repositories are generated containing binary packages of these ports. These repositories are then uploaded as artifacts, overwriting their previous versions.
Important note: The packages are currently generated only for the following ABIs:
| DragonflyBSD | FreeBSD |
|---|---|
dragonfly:6.4:x86:64 |
FreeBSD:14:amd64 |
FreeBSD:15:amd64 |
Note: HTML index files of the packages are also generated in each repository. View them by clicking on the table entires above.
To use these binaries add the artifacts repository to your pkg(7) repositories:
su
cat > /usr/local/etc/pkg/repos/XLibre.conf <<'EOF'
XLibre: {
url: "https://api.cirrus-ci.com/v1/artifact/github/b-aaz/xlibre-ports/bins/bins/${ABI}",
mirror_type: "http",
enabled: yes
}
EOFNote: The configuration is identical on both FreeBSD and DragonFlyBSD; The
${ABI} variable expands and selects the correct repository based on your system.
After adding the repository to your system, you can then install the XLibre ports like any other package:
su
pkg install xlibreTip: You can list all of the available XLibre ports and their versions with this command:
pkg rquery -r XLibre -a "%n %v"This section is currently: ==> 
Installing the video card drivers should be followed as instructed in the FreeBSD handbook's Section 5.2 Graphic Drivers. Just swap the X.Org versions of the drivers in guide with the XLibre versions of the ports provided by this repository.
- Build and test these ports on various hardware platforms.
- Find bugs in these ports and report them, or create PRs for them.
- Star this repository.
- Donate with BTC:
bc1qjax34x5277g5d4zfltxf59ddk7qrr90w4x0le3(XMR will be added soon)




