Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Feb 2019 06:59:21 +1100 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        Steve Kargl <sgk@troutmask.apl.washington.edu>
Cc:        Warner Losh <imp@bsdimp.com>,  "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org>
Subject:   Re: "DRM removal soon" is premature
Message-ID:  <20190215063544.F4212@besplex.bde.org>
In-Reply-To: <20190214182419.GA67872@troutmask.apl.washington.edu>
References:  <20190214180101.GB67712@troutmask.apl.washington.edu> <CANCZdfqy%2Bs3QtEu%2BAhTm-HoJfByjeA9EeUGZ_3VrThvrcWvBow@mail.gmail.com> <20190214182419.GA67872@troutmask.apl.washington.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 14 Feb 2019, Steve Kargl wrote:

> On Thu, Feb 14, 2019 at 11:08:18AM -0700, Warner Losh wrote:
>> On Thu, Feb 14, 2019 at 11:01 AM Steve Kargl <
>> sgk@troutmask.apl.washington.edu> wrote:
>>> ...
>>> drm-legacy-kmod is broken on i386-*-freebsd due
>>> to r343567.  I posted about this issue in
>>> freebsd-current, freebsd-x11 lists.  Find yourself
>>> a post r343567 system, build drm-legacy-kmod, and
>>> xorg and see what happens.

KBI changes like r343567 indeed give DLL hell.  I usually avoid this
by not using modules, but recently decided to test drm2, and now have
4 sets of modules for 4 types of kernels (i386-3+1, i386+4+4-post-r343567,
i386+4+4-post-r343567-less-1-KBI-change, and amd64).  I currently have 86
test kernels going back to FreeBSD-7 and reboot with about the last 10 of
them frequently.

>>> https://lists.freebsd.org/pipermail/freebsd-current/2019-February/072802.html
>>> https://lists.freebsd.org/pipermail/freebsd-x11/2019-February/022754.html
>>
>> The in-tree versions don't even compile, how are they better than the
>> drm-legacy-kmod modules which do, but don't work for some people (and do
>> for others)?

They do compile, except for 1 macro in 1 radeon (ttm) file broken by
r343567.  I used a quick fix.  They probably still don't compile with
gcc, but I used clang.  I only needed drm2 for i915kms and don't miss
radeon.  I built them using a normal build (cd ~/bde/sysXXX/modules/XXX;
make, after fixing or working around bugs in .PATH statements).
drm2/i915kms almost works.  It actually works better after r343567.
Before then, it usually hands on unload and panics on reload.

> The in-tree version does not compile because someone disconnected
> drm2 from the build.  r342567 would not have happen if drm2 was
> not disconnected.  In your original post (which I cannot respond
> to as I came too late to freebsd-arch), you wrote

drm2 never compiled as a non-module since its files aren't in conf/files.
And it never was in LINT, so never was well tested since LINT doesn't
contain modules, except possibly under the kernel tree where the build
has other problems and never worked for me since it doesn't pass down
critical macros (like CC=cc -m32 and my more specialized ones).

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190215063544.F4212>