Porting X11Libre to FreeBSD.

I have been working on the issue.

The problem is that the virtualbox-ose-additions-72 port had went completely over my radar when first porting XLibre. (I have rarely used VBox. BHyve has been sufficient for me)

This port provides 2 drivers for the X server and they are compiled against the X.Org X server instead of XLibre, this causes it to have the X.Org SDK's ABI number and not load on XLIbre.

I'm currently working on the port and trying to add a XLibre flavor to it. I have actually managed to add the XLibre flavor, but the port refuses to build when put in a overlay (but works fine in the main ports tree), it is a weird bug and the port uses a wierd build system. TLDR is that I haven't managed to make the port behave yet. (Help is appreiated from anyone who knows "kBuild")

Till that is fixed there are two options for making XLibre work in VBox:

A. Use the SCFB video deriver and the libinput input driver instead of the VBox drivers.
B. Make XLibre ignore driver ABIs by adding a file containing this to your X configuration directory:


Code:
Section "ServerFlags"
    Option         "IgnoreABI" "True"
EndSection
Thanks a lot. It is working.
Mine had zero EErors. Mouse and Keyboard works. Will try Openbox - some problems with keyboard but it is most likely my screwup somewhere in config of the DE.[edit] it was my error (VirtualBox needs to be USB 3) - OpenBox works fine.
My setup for anyone interested in running XLibre on FreeBSD 15 in VirtualBox (Win11).

#######################
# Prerequisites #
######################
==============================================================
VirtualBox
- UEFI
- VBoxSVGA (128MB RAM)
- NO 3d Accel.
- USB v3
===============================================================
pkg update
pkg upgrade
===============================================================

#######################
# VirtualBox #
######################
pkg install -y virtualbox-ose-additions
sysrc vboxguest_enable="YES"
sysrc vboxservice_enable="YES"
reboot
==============================================================
#######################
# Xlibre #
######################

pkg install xlibre
pw groupmod video -m your_username
===============================================================
ee /usr/local/etc/X11/xorg.conf.d/10-drivers.conf

Section "Device"
Identifier "Generic Framebuffer"
Driver "scfb"
EndSection

Section "InputClass"
Identifier "Libinput-Everything"
MatchIsPointer "yes"
MatchIsKeyboard "yes"
Driver "libinput"
EndSection

===========================================================
ee /usr/local/etc/X11/xorg.conf.d/99-ignore-abi.conf

Section "ServerFlags"
Option "IgnoreABI" "True"
EndSection

==============================================================
#######################
# Test RUN #
######################
startx
cat /var/log/Xorg.0.log | grep EE
================================================================
 
Last edited:
I have a question about xserver settings and there is default:
NVIDIA_ABI=on: Rebuild XLibre drivers if switched! Fixes for NVIDIA drivers.

What is with amd users which using binary packages and they have something which they do not need it?
Thank you.
 
I have a question about xserver settings and there is default:
NVIDIA_ABI=on: Rebuild XLibre drivers if switched! Fixes for NVIDIA drivers.

What is with amd users which using binary packages and they have something which they do not need it?
Thank you.


That option enables a very small set of code paths for compatibility with the newer NVIDIA driver ABIs, nothing substantial is added to the resulting packages, but the X server driver ABI is changed.

You could disable it if you are running on a GPU model other than NVIDIA but you would need to then recompile all the xlibre-xf86-* drivers you use, against the newly compiled xlibre-server, because the driver ABI version of the X server has changed, but the driver's has stayed the same. That would take some time to compile and wouldn't be really worth it.
 
Back
Top