From owner-freebsd-x11@freebsd.org Wed Sep 16 07:37:31 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 A9DD13DB35F; Wed, 16 Sep 2020 07:37:31 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BrsPl452sz4NlF; Wed, 16 Sep 2020 07:37:31 +0000 (UTC) (envelope-from danfe@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1600241851; 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: in-reply-to:in-reply-to:references:references; bh=8rLCx3huYKAW2hA08Zv8LkUOyKRe/DdfwMuV0bl+vA4=; b=Tw4hD5cZwSIQT9tE889H7fW6W0T9LSJ8PhWocJ4To2DGM8XJnrhhgMgg3k4+zjX1qEhqHK 7LBsIeDQWGCHQkhiHDmMF/n6B3FZ1i3efQr2iXe18Edz3hSe8V1qH9uXhhE3TxEDyGYG9W coC2nac/xMh51HdBNdqYNaDQxp3UKIuYKHQWDZ0sslpJWBMVjVdWC2OU4XNArWdy09T4Nr I+/6v1SHr9a3kI6S6poPnCaaTc2D4w3/b9pigIAmo9PFIZ/lN7TpwUeexIaK5SXo4jc/0i Ty4E4lpjtu5lI+uUNPG7jKhrC5Iv8i477UFwGGpPbvB5Dui3bkrmvBnusFhtzw== Received: by freefall.freebsd.org (Postfix, from userid 1033) id 82DFA151F6; Wed, 16 Sep 2020 07:37:31 +0000 (UTC) Date: Wed, 16 Sep 2020 07:37:31 +0000 From: Alexey Dokuchaev To: Niclas Zeising Cc: Aryeh Friedman , FreeBSD Mailing List , freebsd-x11@freebsd.org Subject: Re: Is there any performance difference between udev and evdev in xorg? Message-ID: <20200916073731.GA45977@FreeBSD.org> References: <20200916040110.GA46039@FreeBSD.org> <9fcf11e9-6466-3660-5322-997ed8cb3ca7@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <9fcf11e9-6466-3660-5322-997ed8cb3ca7@freebsd.org> ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1600241851; 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: in-reply-to:in-reply-to:references:references; bh=8rLCx3huYKAW2hA08Zv8LkUOyKRe/DdfwMuV0bl+vA4=; b=lIpgM8jrSs5weg+B0W6wiaPhJFKzjFQgc+A1f7f7FaAotLDGW8WzkJSAaydND9DErQlF3I xihnV/Dmm/Ltcfi2HjhTk9O1yQaxEyneKTP6Eue/4gvF76443ufiGN3OyEDxL35tXSLg0E dHiGW5PZMrtRccofQA2JyhT7BiJmjVuun2O8MFncAGniejhItn2FyciwAaeVAF8irg4D5t zfU5wY1E/jM6Mxjf+Rw1bhYW2GKnzh3Z3nMoVc+RSPzSE79P8x6cKIFq+c2cyGx/hhJgSl uhyul/NsJ/vJLvHGJpwQD0iToXj8jpyXsMNR7d2W7mJ+x7I75O+rQUnHol8UUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1600241851; a=rsa-sha256; cv=none; b=hUsla0/ybd1q9ikpb2F9Shigqq3D1Vb/8SPNgyWEavGLqP9QHdsR/2S0/KwGiab8JVeQzn pVY3A7XRCerLkHAfkYXDyQl8LB6kLSpHWGhAO1OWGyMcoTic5F3kD/W0ubdLLusHUkpBk0 TAPdRbZTmsLJIVSDWEo1SwHn0/6PNXMwamMBbD+3SEKK1p2hF83YRoj8jD36IhtMw0Pq1L oFQtVaYmS9Rm/PiBj3uteQDfDLbLPbj1XjoCqadN95ZZi4v6tzzzwjYtpf7svB3tbXK/oD HTcYcdHjcZMag7sllAfcifA2icWO//kO/9KGFKXihlJRWhM4duSy0Q9m3U8QUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-BeenThere: freebsd-x11@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: X11 on FreeBSD -- maintaining and support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Sep 2020 07:37:31 -0000 On Wed, Sep 16, 2020 at 08:41:28AM +0200, Niclas Zeising wrote: > On 2020-09-16 06:01, Alexey Dokuchaev wrote: > > On Tue, Sep 15, 2020 at 10:55:31PM -0400, Aryeh Friedman wrote: > >> What if any is the performance difference between udev and evdev when > >> configuring xorg? Also do I need to use one or the other consistently > >> or can I intermix them? > > > > If you don't need them (e.g. because this is desktop system without > > fancy input devices), you'd better off with disabling both of them > > altogether and use good old traditional way, that is, simply install > > xf86-input-{keyboard,mouse} and let X.org handle those peripherals. > > > > Yes, you would still be able to plug and unplug your USB mice and > > they will be detected and working as expected. > > > > TL;DR: DEVD/UDEV support is overrated and usually not needed at all. > > This is bad advice. OK, let's see why is it bad. :-) > The DEVD support in xorg-server might go away, since it is a FreeBSD > only solution and the udev/evdev is similar to what is used on Linux. Does this imply that DEVD support in X.org is technically inferior to udev/evdev, or it might get deprecated just because they prefer Linux way, regardless of the actual design and implementation quality? Kind of tangentially related question, but this might help to foresee what to expect from future X.org development. > If you are using Wayland, it is also the only way to use input devices. Wayland is overrated and unneeded as well. Plus, we're discussing X11 here and X.org server in particular, how's that even relevant? > If you are using the default configuration of xorg on FreeBSD 12.1 or > later, using udev is the default. This means using xf86-input-libinput > as the input device driver in X, and not xf86-input-{keyboard,mouse}. > This gives much better support for things like synaptics touchpads and > similar devices. Like I've said initially, these might come handy, but for "desktop system without fancy input devices", what's the point of bringing another layer of abstraction (xf86-input-libinput) rather then let X.org talk to device drivers drivers directly and not having to deal with evdev/libinput bugs, tinker with sysctls (kern.evdev.rcpt_mask), etc.? > You can configure such devices either by adding X configuration snippets > to /usr/local/etc/X11/xorg.conf.d/ or by using xinput on the command line Right, and with the old way, device configuration snippets are not needed. Just that simple. So, the advice does not look that bad after all. :-) TL;DR: if there's a simpler solution/approach which is sufficient for one's needs, e.g. for simple three-button mouse and pc104 keyboard, just dump the extra xf86-input-libinput bloat and stick to old, well-tested, solid code which just works(tm). ./danfe