Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Nov 2018 17:49:24 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        "Rodney W. Grimes" <rgrimes@freebsd.org>
Cc:        Niclas Zeising <zeising@freebsd.org>, src-committers <src-committers@freebsd.org>,  svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r340387 - in head/sys: amd64/conf i386/conf
Message-ID:  <CANCZdfqfw%2BYmw-PuoAUUt0BUEpmfOxJiWWgbYzJFh4XP=J3BMg@mail.gmail.com>
In-Reply-To: <201811130030.wAD0U6sG028350@pdx.rh.CN85.dnsmgr.net>
References:  <CANCZdfrZuSZ5SsAy=SA5wF-x3cgJDHRsBXOSU9QCmEwLJAgCHQ@mail.gmail.com> <201811130030.wAD0U6sG028350@pdx.rh.CN85.dnsmgr.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Nov 12, 2018 at 5:30 PM Rodney W. Grimes <
freebsd@pdx.rh.cn85.dnsmgr.net> wrote:

> > On Mon, Nov 12, 2018, 3:12 PM Rodney W. Grimes <
> > freebsd@pdx.rh.cn85.dnsmgr.net wrote:
> >
> > > > Author: zeising (doc,ports committer)
> > > > Date: Mon Nov 12 21:01:28 2018
> > > > New Revision: 340387
> > > > URL: https://svnweb.freebsd.org/changeset/base/340387
> > > >
> > > > Log:
> > > >   Add evdev support to amd64 and i386 kernels
> > > >
> > > >   Include evdev support and drivers in the amd64 and i386 GENERIC and
> > > MINIMAL
> > > >   kernels.  Evdev is used by X and wayland to handle input devices,
> and
> > > this
> > > >   change, together with upcomming changes in ports will make us
> handle
> > > input
> > > >   devices better in graphical UIs.
> > >
> > > Well these "upcomming" changes in ports effect aarch64 and powerpc
> > > who are also consumers of X?
> > >
> >
> > Likely. Though there is little experience with them, so we don't know if
> it
> > is even safe to turn them on there yet. This has taken 6 months to get
> > stable on x86 due to its fragile console locking protocol. Similar time
> has
> > not been invested elsewhere, so until that happens, we should keep them
> off
> > by default. Otherwise we run the risk of destabilizing these platforms,
> > even for people who don't use X. As tier 2 platforms, this has been how
> > we've traditionally approached risk. Even though aarch64 is approaching
> > tier1 status overall, in graphics it is still lagging.
>
> From some place aarch64 is already a tier1 platform, specifically
> it is listed as such in the pkg.freebsd.org package download page.
>

Graphics on aarch64 is tier 2, and will remain tier 2 for the foreseeable
future. Tier 1 support requires that we leverage other people's drivers,
and we can't easily do that w/o a good linux compat layer. The structure of
FreeBSD and Linux are just enough different that doing so is somewhat
tricky and labor intensive. This is especially true for the acceleration
features. Basic framebuffer support isn't terribly hard, but to get good 2d
and 3d acceleration, we'll likely need to run upstream vendor's code (which
in many cases is available only as a binary blob + linux glue).


> My real concern here is that it sounded like changes to what are
> in the ports/packages are going to be made in such a way that you
> are required to have evdev to use them.  If this suddently becomes
> mandatory to be able to use X we need to ensure that this code
> (evdev) does infact work on aarch64 and others before such changes are
> put in place.  My reading here is that this code is only avaliable
> as static compile into the kernel, aka no moduleto load, making this
> a non-trivial road block to rpi3, etc users.
>

This is just for touchscreen support on x86, which requires evdev to work
well. Whatever works today won't change. However, without a lot of testing,
I'm hesitant to blindly enable it on aarch64. Once that changes, we can
turn it on, but until then it would be unwise. And evdev can be turned off
on a per-platform basis in the packages / ports tree should the need arise.
I don't think this is going to be an issue.

Warner


> > Warner
> >
> >
> > >   Reviewed by:        wulf, bapt, imp
> > > >   Approved by:        imp
> > > >   Differential Revision:      https://reviews.freebsd.org/D17912
> > > >
> > > > Modified:
> > > >   head/sys/amd64/conf/GENERIC
> > > >   head/sys/amd64/conf/MINIMAL
> > > >   head/sys/i386/conf/GENERIC
> > > >   head/sys/i386/conf/MINIMAL
> > > >
> > > > Modified: head/sys/amd64/conf/GENERIC
> > > >
> > >
> ==============================================================================
> > > > --- head/sys/amd64/conf/GENERIC       Mon Nov 12 20:44:22 2018
> > > (r340386)
> > > > +++ head/sys/amd64/conf/GENERIC       Mon Nov 12 21:01:28 2018
> > > (r340387)
> > > > @@ -372,3 +372,8 @@ device            vmx                     #
> VMware
> > > VMXNET3 Ethernet
> > > >
> > > >  # Netmap provides direct access to TX/RX rings on supported NICs
> > > >  device               netmap                  # netmap(4) support
> > > > +
> > > > +# evdev interface
> > > > +options      EVDEV_SUPPORT           # evdev support in legacy
> drivers
> > > > +device               evdev                   # input event device
> > > support
> > > > +device               uinput                  # install /dev/uinput
> cdev
> > > >
> > > > Modified: head/sys/amd64/conf/MINIMAL
> > > >
> > >
> ==============================================================================
> > > > --- head/sys/amd64/conf/MINIMAL       Mon Nov 12 20:44:22 2018
> > > (r340386)
> > > > +++ head/sys/amd64/conf/MINIMAL       Mon Nov 12 21:01:28 2018
> > > (r340387)
> > > > @@ -147,3 +147,8 @@ device            bpf                     #
> Berkeley
> > > packet filter
> > > >  # NOTE: XENHVM depends on xenpci.  They must be added or removed
> > > together.
> > > >  options      XENHVM                  # Xen HVM kernel infrastructure
> > > >  device               xenpci                  # Xen HVM Hypervisor
> > > services driver
> > > > +
> > > > +# evdev interface
> > > > +options      EVDEV_SUPPORT           # evdev support in legacy
> drivers
> > > > +device               evdev                   # input event device
> > > support
> > > > +device               uinput                  # install /dev/uinput
> cdev
> > > >
> > > > Modified: head/sys/i386/conf/GENERIC
> > > >
> > >
> ==============================================================================
> > > > --- head/sys/i386/conf/GENERIC        Mon Nov 12 20:44:22 2018
> > > (r340386)
> > > > +++ head/sys/i386/conf/GENERIC        Mon Nov 12 21:01:28 2018
> > > (r340387)
> > > > @@ -366,3 +366,8 @@ device            xenpci                  # Xen
> HVM
> > > Hypervisor services driver
> > > >
> > > >  # VMware support
> > > >  device               vmx                     # VMware VMXNET3
> Ethernet
> > > > +
> > > > +# evdev interface
> > > > +options      EVDEV_SUPPORT           # evdev support in legacy
> drivers
> > > > +device               evdev                   # input event device
> > > support
> > > > +device               uinput                  # install /dev/uinput
> cdev
> > > >
> > > > Modified: head/sys/i386/conf/MINIMAL
> > > >
> > >
> ==============================================================================
> > > > --- head/sys/i386/conf/MINIMAL        Mon Nov 12 20:44:22 2018
> > > (r340386)
> > > > +++ head/sys/i386/conf/MINIMAL        Mon Nov 12 21:01:28 2018
> > > (r340387)
> > > > @@ -148,3 +148,8 @@ device            bpf                     #
> Berkeley
> > > packet filter
> > > >  # NOTE: XENHVM depends on xenpci.  They must be added or removed
> > > together.
> > > >  options      XENHVM                  # Xen HVM kernel infrastructure
> > > >  device               xenpci                  # Xen HVM Hypervisor
> > > services driver
> > > > +
> > > > +# evdev interface
> > > > +options      EVDEV_SUPPORT           # evdev support in legacy
> drivers
> > > > +device               evdev                   # input event device
> > > support
> > > > +device               uinput                  # install /dev/uinput
> cdev
> > > >
> > > >
> > >
> > > --
> > > Rod Grimes
> > > rgrimes@freebsd.org
> > >
> > >
>
> --
> Rod Grimes
> rgrimes@freebsd.org
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfqfw%2BYmw-PuoAUUt0BUEpmfOxJiWWgbYzJFh4XP=J3BMg>