Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Apr 2020 09:59:47 +0000 (UTC)
From:      Greg V <greg@unrelenting.technology>
To:        Tomasz CEDRO <tomek@cedro.info>
Cc:        FreeBSD Questions Mailing List <freebsd-questions@freebsd.org>, freebsd-x11@freebsd.org
Subject:   Re: Wayland on FreeBSD
Message-ID:  <e775e058-5904-402f-a505-6775e318bda0@localhost>
In-Reply-To: <CAFYkXjkFT7R0A-ZsH4p6C0_h8%2BqJ0-wWJ--tTJLtS0Pja0ZzSQ@mail.gmail.com>
References:  <CAFYkXjmfyLZAi1HZe-RE3wLxa6GRNP6GkmtZG-4T2puRDOz0JA@mail.gmail.com> <CAFYkXjkFT7R0A-ZsH4p6C0_h8%2BqJ0-wWJ--tTJLtS0Pja0ZzSQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Apr 20, 2020 4:39:15 AM Tomasz CEDRO <tomek@cedro.info>:

> Enlightenment has and needs new Wayland support that is based on
> ecore_wl2 from EFL. Someone hardcoded Linux DMA code into
> src/lib/ecore_wl2/ecore_wl2_buffer.c and that part of EFL does not
> build anymore on FreeBSD (not mandatory to run on Xorg). The good news
> is that EFL builds with both old Wayland support (wl-deprecated
> switch) and new one required for Enlightenment (wl switch) when all
> linuxisms are commented out from ecore_wl2_buffer.c. This means if we
> find a FreeBSD specific replacement for those DMA transfers all should
> work fine..?
>
> https://github.com/Enlightenment/efl/blob/master/src/lib/ecore_wl2/ecore_wl2_buffer.c

There are no "Linux specific DMA transfers" in userspace applications :) DMA-BUF is basically a way to refer to GPU buffers from userspace, pass them around as file descriptors, and synchronize access to them. Of course it is supported, it's a very important part of the DRM stack.

Nothing currently installs the uapi header <linux/dma-buf.h> that contains some definitions for the sync ioctl, but the ioctl works:
https://github.com/FreeBSDDesktop/kms-drm/blob/drm-v4.16/linuxkpi/gplv2/src/linux_dmabuf.c

Chromium currently patches ifdefs to use the inlined copy of the header that's already there for older Linux installations:

https://github.com/freebsd/freebsd-ports/blob/master/www/chromium/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc

https://chromium.googlesource.com/chromium/src/+/refs/tags/84.0.4120.1/ui/gfx/linux/client_native_pixmap_dmabuf.cc


But really we need a tiny port that installs that header already :)





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e775e058-5904-402f-a505-6775e318bda0>