svn commit: r340387 - in head/sys: amd64/conf i386/conf

Niclas Zeising zeising at freebsd.org
Tue Nov 13 06:26:27 UTC 2018


On 11/13/18 1:49 AM, Warner Losh wrote:
> On Mon, Nov 12, 2018 at 5:30 PM Rodney W. Grimes <
> freebsd at pdx.rh.cn85.dnsmgr.net> wrote:
> 
>>> On Mon, Nov 12, 2018, 3:12 PM Rodney W. Grimes <
>>> freebsd at 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.
> 

Hi!
This change makes it easier, and in some case possible, to use certain 
input devices, such as touchscreens, input tablets and so on. It will 
make it easier to use things like two finger scrolling or horizontal 
scrolling on touchpads, for instance.
Using evdev and libinput (from ports) is a prerequisite for Wayland, and 
useful for X, however, for X the old input drivers are not going away, 
and can still be used on architectures without evdev.
The input stack (for graphical environments) in FreeBSD is lagging 
behind Linux, and this is a first step to get it at least a little bit 
closer in terms of support.

With regards to other architectures, I only have access to amd64 and to 
some extent i386, and only enabled the drivers there.  I have no problem 
with enabling this on further architectures if I get help testing, or 
hardware to test on.

As stated, this won't cause regressions on these platforms, the old 
input device drivers (xf86-input-*) won't go anywhere in a hurry, if 
ever, and is still available for use.

I hope this clears things up a little.
Regards
-- 
Niclas Zeising


More information about the svn-src-all mailing list