Porting X11Libre to FreeBSD.

Can any of built-in variable in make(1) itself like .CURDIR help?
Can this (review D50142) be any hints?
Yes, I just prepended the relative path with ${.CURDIR} to fix this.
I don't think it is a bug anymore, if it wants absolute paths, I give it absolute paths, simple as that :) .

I'm in the process of turning Xnest Xephyr and Xvfb into their own separate ports.
They each would go into xlibre-nest, xlibre-ephyr and xlibre-vfb folders, and include ../xlibre-server/Makefile.common which does most of the heavy lifting.
 
Yes, I just prepended the relative path with ${.CURDIR} to fix this.
I don't think it is a bug anymore, if it wants absolute paths, I give it absolute paths, simple as that :) .

I'm in the process of turning Xnest Xephyr and Xvfb into their own separate ports.
They each would go into xlibre-nest, xlibre-ephyr and xlibre-vfb folders, and include ../xlibre-server/Makefile.common which does most of the heavy lifting.
It would be a good way to go. Maybe graphics/nvidia-drm-kmod/Makefile.common and Makefiles of graphics/nvidia-drm-*-kmod be of some hints.

And if you want to specify relative to master port's directory, a simple example would be x11/nvidia-driver-devel/Makefile.
This is too simple, but for more complexed and use MASTERDIR in many places, it would be much more helpful.

Also, reading comments at the top of Mk/bsd.port.mk would be helpful to know what variables are prepared and what for.
 
baaz I tried to install Xlibre from your repository:

Code:
[15:11][fmc000@tu45b-freebsd ~] $ doas pkg install xlibre-server xlibre-drivers
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
Updating FreeBSD-kmods repository catalogue...
FreeBSD-kmods repository is up to date.
Updating XLibre repository catalogue...
pkg: No HTTP mirrors founds for the repo 'XLibre'
Fetching meta.conf: 100%    179 B   0.2kB/s    00:01   
pkg: Impossible to get the value from Last-Modified HTTP header
Fetching data.pkg: 100%   12 KiB   0.0kB/s    00:01   
pkg: Impossible to get the value from Last-Modified HTTP header
Processing entries: 100%
XLibre repository update completed. 22 packages processed.
All repositories are up to date.
The following 6 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
    xlibre-drivers: 7.7 [XLibre]
    xlibre-server: 25.0.0.4 [XLibre]
    xlibre-xf86-input-keyboard: 1.9.0 [XLibre]
    xlibre-xf86-input-libinput: 1.3.0 [XLibre]
    xlibre-xf86-input-mouse: 1.9.3 [XLibre]
    xlibre-xf86-video-vesa: 2.5.0 [XLibre]

Number of packages to be installed: 6

The process will require 18 MiB more space.
5 MiB to be downloaded.

Proceed with this action? [y/N]: n
[15:11][fmc000@tu45b-freebsd ~] $

but I stopped because I was expecting a conflict with xorg-server and xorg-drivers, with the option to replace those packages but that didn't happen.

Am I missing something?
 
baaz I tried to install Xlibre from your repository:

Code:
[15:11][fmc000@tu45b-freebsd ~] $ doas pkg install xlibre-server xlibre-drivers
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
Updating FreeBSD-kmods repository catalogue...
FreeBSD-kmods repository is up to date.
Updating XLibre repository catalogue...
pkg: No HTTP mirrors founds for the repo 'XLibre'
Fetching meta.conf: 100%    179 B   0.2kB/s    00:01 
pkg: Impossible to get the value from Last-Modified HTTP header
Fetching data.pkg: 100%   12 KiB   0.0kB/s    00:01 
pkg: Impossible to get the value from Last-Modified HTTP header
Processing entries: 100%
XLibre repository update completed. 22 packages processed.
All repositories are up to date.
The following 6 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
    xlibre-drivers: 7.7 [XLibre]
    xlibre-server: 25.0.0.4 [XLibre]
    xlibre-xf86-input-keyboard: 1.9.0 [XLibre]
    xlibre-xf86-input-libinput: 1.3.0 [XLibre]
    xlibre-xf86-input-mouse: 1.9.3 [XLibre]
    xlibre-xf86-video-vesa: 2.5.0 [XLibre]

Number of packages to be installed: 6

The process will require 18 MiB more space.
5 MiB to be downloaded.

Proceed with this action? [y/N]: n
[15:11][fmc000@tu45b-freebsd ~] $

but I stopped because I was expecting a conflict with xorg-server and xorg-drivers, with the option to replace those packages but that didn't happen.

Am I missing something?
chances are you may have installed the package built before the commit https://github.com/b-aaz/xlibre-ports/commit/81ba9769ccd6fc8b5ca70bb1e4bae06adca574df
 
baaz I tried to install Xlibre from your repository:

Code:
[15:11][fmc000@tu45b-freebsd ~] $ doas pkg install xlibre-server xlibre-drivers
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
Updating FreeBSD-kmods repository catalogue...
FreeBSD-kmods repository is up to date.
Updating XLibre repository catalogue...
pkg: No HTTP mirrors founds for the repo 'XLibre'
Fetching meta.conf: 100%    179 B   0.2kB/s    00:01  
pkg: Impossible to get the value from Last-Modified HTTP header
Fetching data.pkg: 100%   12 KiB   0.0kB/s    00:01  
pkg: Impossible to get the value from Last-Modified HTTP header
Processing entries: 100%
XLibre repository update completed. 22 packages processed.
All repositories are up to date.
The following 6 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
    xlibre-drivers: 7.7 [XLibre]
    xlibre-server: 25.0.0.4 [XLibre]
    xlibre-xf86-input-keyboard: 1.9.0 [XLibre]
    xlibre-xf86-input-libinput: 1.3.0 [XLibre]
    xlibre-xf86-input-mouse: 1.9.3 [XLibre]
    xlibre-xf86-video-vesa: 2.5.0 [XLibre]

Number of packages to be installed: 6

The process will require 18 MiB more space.
5 MiB to be downloaded.

Proceed with this action? [y/N]: n
[15:11][fmc000@tu45b-freebsd ~] $

but I stopped because I was expecting a conflict with xorg-server and xorg-drivers, with the option to replace those packages but that didn't happen.

Am I missing something?
After the fetch of the packages completes, then it will prompt you again for the conflicting packages and their removal before continuing the installation.
 
It would be a good way to go. Maybe graphics/nvidia-drm-kmod/Makefile.common and Makefiles of graphics/nvidia-drm-*-kmod be of some hints.

And if you want to specify relative to master port's directory, a simple example would be x11/nvidia-driver-devel/Makefile.
This is too simple, but for more complexed and use MASTERDIR in many places, it would be much more helpful.

Also, reading comments at the top of Mk/bsd.port.mk would be helpful to know what variables are prepared and what for.
During this process not only have I read the top of that file, but most of its insides too :) .
 
After the fetch of the packages completes, then it will prompt you again for the conflicting packages and their removal before continuing the installation.
That indeed worked... sort of. I have to report a regression, my multimedia keyboard does not work with xlibre, no media keys, no TouchPad and so on. Only basic keys work.

Rollback to xorg - > all working perfectly. Any ideas?

[edit] just to make it clear: I reported it only to document my issue, I'm not asking for help of course, I know that things may not work at this stage.
 
I'm the author of the article being referenced. I just want to clarify that it's not just "one guy", there's dozens of contributors whose patches have not been released for four years.

The political views of that one guy is just a red herring.
That is interesting. Was there a reason why the dozens of others were not considered commit worthy? Or did someone try to pull the life support plug on xorg?
 
Well, it looks like the multimedia keys don't work on the laptop keyboard too, but in this case the TouchPad works. Can anyone else confirm this? I opened a bug on the xlibre github but I suspect theft this can be a Freebsd issue.
 
That indeed worked... sort of. I have to report a regression, my multimedia keyboard does not work with xlibre, no media keys, no TouchPad and so on. Only basic keys work.

Rollback to xorg - > all working perfectly. Any ideas?

[edit] just to make it clear: I reported it only to document my issue, I'm not asking for help of course, I know that things may not work at this stage.
Interesting, few things to check if you want to debug this:
First check your Xorg.log and check what input drivers are both X.Org and XLibre are using, I have a suspicion that this might be caused by different drivers being used by XLibre by default.
Then use a x11/xev window and try pressing the multimedia keys, check the output and see if those keys appear.
 
Interesting, few things to check if you want to debug this:
First check your Xorg.log and check what input drivers are both X.Org and XLibre are using, I have a suspicion that this might be caused by different drivers being used by XLibre by default.
Then use a x11/xev window and try pressing the multimedia keys, check the output and see if those keys appear.
For the second question, I have already done this and on Xlibre nothing is showing up.
For the first part: I think you got it. Xorg uses libinput whilst XLibre loads mouse and kbd.
 
Libinput should be able to handle multimedia keys. I mean it's nothing more than the standard input driver library for Wayland ported to X11.

So it got much more love in the last years than the older xorg drivers for sure.
 
Libinput should be able to handle multimedia keys. I mean it's nothing more than the standard input driver library for Wayland ported to X11.

So it got much more love in the last years than the older xorg drivers for sure.
Yes but despite all this it's not used under XLibre, at least in my test setup.
 
This is an opportunity to switch back from libinput (like Xenocara) which is a good thing. The original xorg input drivers worked better and were way less messy. No need to tie our input system to whatever crap Linux is using "this week".

Due to blocking, it could be that the standard xorg drivers didn't get recent media key support. That said, OpenBSD's works way better out of the box than FreeBSD+libinput has ever done, so perhaps we can borrow some of their code here.
 
This is an opportunity to switch back from libinput (like Xenocara) which is a good thing. The original xorg input drivers worked better and were way less messy. No need to tie our input system to whatever crap Linux is using "this week".

Due to blocking, it could be that the standard xorg drivers didn't get recent media key support. That said, OpenBSD's works way better out of the box than FreeBSD+libinput has ever done, so perhaps we can borrow some of their code here.
Well, I may have not understood your point correctly but in my case xorg+libinput works and xlibre+<legacy drivers> do not. Why are you advocating going back to the non-working solution?
 
Well, I may have not understood your point correctly but in my case xorg+libinput works and xlibre+<legacy drivers> do not. Why are you advocating going back to the non-working solution?
I don't read it the same way. I think it's more go to xlibre + "fixed legacy drivers, with fixes pulled in from OpenBSD/NetBSD" because the legacy drivers worked better and fixes will cover your non working case.

Of course that means in your specific case you would need to wait for this to happen before using xlibre
 
Well, I may have not understood your point correctly but in my case xorg+libinput works and xlibre+<legacy drivers> do not. Why are you advocating going back to the non-working solution?
libinput is not nice as an implementation (One pain point in Alpine Linux is that xorg won't work with their mdev because libinput is fairly tightly bound to systemd, eudev, etc Linuxisms).

For reference, neither OpenBSD *or* NetBSD use libinput. What you refer to as legacy drivers are used well within Xenocara as the main input system and indeed do work. I am hoping once Xlibre has repaired the standard drivers, then legacy stuff like the libinput driver can be removed.

What we may be seeing in the near future is UNIX-like platforms *finally* being able to wash away some of the Linux dirt that has accrued in the display system.

This wouldn't be the first time we have deprecated a more recent driver. Before the libinput stuff was the hald stuff (requiring dbus!) which also broke FreeBSD's Xorg and confused loads of FreeBSD users.
 
I've tried libinput and it seams like it does not work on XLibre on FreeBSD. Neither the old X.Org version of xf86-input-libinput nor the new one.

I too wish the old mouse and keyboard drivers get more love, they are much simpler then the abstraction on abstraction on abstraction ... "architecture" that these modern ones use.

Oh and BTW, the xlibre-server port is now separated into 4 ports, xlibre-nest, xlibre-vfb, xlibre-ephyr and xlibre-server.
 
I'm the author of the article being referenced. I just want to clarify that it's not just "one guy", there's dozens of contributors whose patches have not been released for four years.

The political views of that one guy is just a red herring.
What seems most likely to me is both that a lot of Weigelt's patches are crap, and that Freedesktop has been suppressing fixes to Xorg in order to drive Wayland adoption.
 
Back
Top