FreeBSD libinput

Peter Hutterer peter.hutterer at
Tue Nov 25 02:24:35 PST 2014

On Mon, Nov 24, 2014 at 12:37:47PM -0700, Ales Katona wrote:
> Hey,
> as far as I know epoll is only available on freeBSD via the linux
> compatibility kernel + libraries layer, which is not installed by default.
> There is kqueue which is an arguably better event handling mechanism.
> There's an existing patch for such a rewrite here:
> from Philip Withnall. I'm not sure where this patch is supposed to be
> applied to as the files in it are not corresponding to libinput sources,

looks like it's for the wayland repo.

> but what he did could be done here with current libinput. Best method would
> probably be to write a basic abstraction on top of the polling mechanism
> and have individual mechanisms implementing it in stand-alone .c files.

yeah, I don't want to have an ifdef mess. having said that, the three big
things that I can see are epoll, timerfd and evdev. The latter of which was 
missing last time I checked and I never heard back from the GSoC student -
has that been merged yet?

> My biggest hurdle right now is the mtdev dependency since that library is
> linux specific.

chances are that you won't see devices that rely on mtdev for a while. it's
safe to ignore that/work around missing mtdev.


> 2014-11-23 16:05 GMT-07:00 Peter Hutterer <peter.hutterer at>:
> > On Fri, Nov 21, 2014 at 09:10:24PM -0700, Ales Katona wrote:
> > > I wanted to try and compile libinput under freeBSD seeing how epoll has
> > > been patched into kqueue on the platform, but I'm getting stopped by
> > > configure saying it can't find EPOLL_CLOEXEC. Is this just a configure
> > > block or is the code still linux specific?
> >
> > how is epoll implemented in freebsd? I checked out the source, poked
> > around a bit and even managed to find the commit (r255672) but that got
> > reverted soon after (r255675). Best I can tell so far from the
> > syscalls.master file is that the syscalls are just occupying space, they
> > don't seem to do much (all the calls are simply epoll_foo(void) now).
> >
> > There are some references to EPOLL_CLOEXEC in the tree but svn is far to
> > painful for me to figure out how everything fits together here, sorry.
> >
> > Cheers,
> >    Peter
> >
> >
> -- 
> Feel the power of Opensource.
> Feel the power of Free Pascal.

More information about the wayland-devel mailing list