Repository navigation
Making XLibre to compile and run on DragonFly BSD #22
Replies: 6 comments 15 replies
|
vesa driver need additional modification and mouse driver need review too (it behaves like input events have wrong structure size - moment you use scroll: suddenly firefox thinks you pressing back button multiple times).
Later i will post instructions. @fredvs my modifications: I set for compiler gcc13, for keyboard driver used evdev (note during configure added CFLAGS= |
Indeed, with their default compiler, errors occurred during compilation. |
Notes for dragonflyBSD
install dependencies pkg install -y xorg xfce vim nano # install all necessary X dependencies and xfce environment
pkg install -y git gcc pkgconf meson autoconf automake git libtool gcc cmake xorg-macros libmtdev libinput
export CC=gcc13
compile & install xserver install input-libinput- drivers vesa driver installation requires small patch make file named: vesa-patch.patch diff --git a/src/vesa.c b/src/vesa.c
index 1e69f4d..88d0f88 100644
--- a/src/vesa.c
+++ b/src/vesa.c
@@ -64,6 +64,16 @@
#endif
#include "compat-api.h"
+// took from hw/xfree86/os-support/misc/SlowBcopy.c
+/* The outb() isn't needed on my machine, but who knows ... -- ost */
+void
+xf86SlowBcopy(unsigned char *src, unsigned char *dst, int len)
+{
+ while (len--)
+ *dst++ = *src++;
+}
+
+
/* Mandatory functions */
static const OptionInfoRec * VESAAvailableOptions(int chipid, int busid);
static void VESAIdentify(int flags);
@@ -480,8 +490,9 @@ VESAPciProbe(DriverPtr drv, int entity_num, struct pci_device *dev,
VESAPtr pVesa;
if (pci_device_has_kernel_driver(dev)) {
- ErrorF("vesa: Ignoring device with a bound kernel driver\n");
- return FALSE;
+ // Ignore for now
+ //ErrorF("vesa: Ignoring device with a bound kernel driver\n");
+ //return FALSE;
}
pVesa = VESAGetRec(pScrn);
compile and install system configuration (note: i'm novice user) configuration fastfetch works on correctly on xfce (see pictures below): |
|
Considering that the Dragonfly DPorts are really similar to the FreeBSD port system, it should not be that difficult to port my project to it. |
|
@b-aaz In https://github.com/orgs/X11Libre/discussions/358#discussioncomment-14444109 you said:
I would like to mention the DragonFly BSD dports in the "Third-party support" section of Are We XLibre Yet? · X11Libre/xserver Wiki with the status "Work in progress = ðïļ . Nothing finalized, but like calling for contributions and testing. Do you think your dports are ready for this? |
|
To give a heads up, quoting https://github.com/orgs/X11Libre/discussions/268#discussioncomment-14721413 of @b-aaz: After around 150+ small commit and lots of time in CI hell, I have finally managed to setup a CI pipeline for DragonFlyBSD packages too. |



Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
This is an attempt to make XLibre work on DragonFly BSD.
Note that I have serious doubts about its feasibility, but certainly it is not ootb.
You will first need to install Xorg on the system.
Note that a patch is required for the keyboard to work under Xorg (oddly, by default, the keyboard will not work with a "legal" installation).
In console do this:
and add this line in /etc/sysctl.conf:
kern.evdev.rcpt_mask=3Check to see if your Xorg system is working.
Then install XLibre server:
First the dependencies:
pkg install pkgconf meson autoconf automake git libtoolThen Xlibre server:
Then the XLibre drivers:
Keyboard
Mouse
Vesa
Create /etc/X11/xorg.conf
nano /etc/X11/xorg.confAnd add this (first a simple for testing):
After this swith as normal user and start the session with
startxThat should load the XLibre server.
Unfortunately, I haven't been able to get it to work yet. I keep getting the "no screens found" error...
Here's the result when I run startx:
and here part of the log file about the vesa driver
I did try also with the patch for vesa driver of @cepelinas9000 but it did not help.
Also I did try with vbox driver without luck.
Voila, brave hearts are welcome to help.
All reactions