From owner-freebsd-x11@freebsd.org Mon Apr 20 10:00:00 2020 Return-Path: Delivered-To: freebsd-x11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3BFB62BD8D0; Mon, 20 Apr 2020 10:00:00 +0000 (UTC) (envelope-from greg@unrelenting.technology) Received: from out1.migadu.com (out1.migadu.com [91.121.223.63]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 495Mct3FGHz43cF; Mon, 20 Apr 2020 09:59:58 +0000 (UTC) (envelope-from greg@unrelenting.technology) Date: Mon, 20 Apr 2020 09:59:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unrelenting.technology; s=default; t=1587376789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MmQ6aw0EkzbFV8fjbD3MCdqSOzQ4aSfOc+bUEFyifrs=; b=Eko0QfQ+ulo3Lw1lbuRu3X+bIJiTbL303AnlUmWWEFIxofgld2iz4FUUtg16IIGo/O4fW3 D0kob+P8x1miF1BPK8XbauZFzp2zqWMPf4OV2C+BL6y2QbWpcQUKw4rOSj0qedSCMZDBeG IFntR+KKOrHGuSLMBgRbqSpLTctTUX8= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Greg V To: Tomasz CEDRO Cc: FreeBSD Questions Mailing List , freebsd-x11@freebsd.org Message-ID: In-Reply-To: References: Subject: Re: Wayland on FreeBSD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Correlation-ID: X-Spam-Score: 0.40 X-Rspamd-Queue-Id: 495Mct3FGHz43cF X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=unrelenting.technology header.s=default header.b=Eko0QfQ+; dmarc=pass (policy=none) header.from=unrelenting.technology; spf=pass (mx1.freebsd.org: domain of greg@unrelenting.technology designates 91.121.223.63 as permitted sender) smtp.mailfrom=greg@unrelenting.technology X-Spamd-Result: default: False [-4.37 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[unrelenting.technology:s=default]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip4:91.121.223.63]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[unrelenting.technology:+]; DMARC_POLICY_ALLOW(-0.50)[unrelenting.technology,none]; RCVD_COUNT_ZERO(0.00)[0]; FROM_EQ_ENVFROM(0.00)[]; MID_RHS_NOT_FQDN(0.50)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:16276, ipnet:91.121.0.0/16, country:FR]; IP_SCORE(-1.87)[ip: (-9.79), ipnet: 91.121.0.0/16(-1.57), asn: 16276(2.01), country: FR(0.00)] X-BeenThere: freebsd-x11@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: X11 on FreeBSD -- maintaining and support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Apr 2020 10:00:00 -0000 Apr 20, 2020 4:39:15 AM Tomasz CEDRO : > 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 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 :)