drm-legacy-kmod and gpu-firmware-kmod

Johannes Lundberg johalun0 at gmail.com
Tue Sep 25 21:54:04 UTC 2018


On Tue, Sep 25, 2018 at 14:21 Claude Buisson <clbuisson at orange.fr> wrote:

> On 09/25/2018 19:46, Johannes Lundberg wrote:
> >
> >
> > On Mon, Sep 24, 2018 at 06:01 Claude Buisson <clbuisson at orange.fr
> > <mailto:clbuisson at orange.fr>> wrote:
> >
> >     Hello,
> >
> >     I tried to switch an i386 computer (with -CURRENT @ r338331) with an
> >     ATI
> >     Mobility Radeon X300 graphic card, from drm2 in base to
> drm-legacy-kmod
> >     in ports, after rebuilding the kernel without any drm/drm2 module.
> >
> >     I installed:
> >
> >     gpu-firmware-kmod-g20180825
> >     drm-legacy-kmod-g20180826
> >
> >     The system booted, and I could start X, but the GL sreen savers I
> use as
> >     tests were very slow.
> >
> >     In fact I found in Xorg.0.log:
> >
> >     Failed to load firmware "radeonkmsfw_R300_cp"
> >
> >     which is the firmware in the in base drm2, and does not exist under
> >     this
> >     name in the gpu-firmware-kmod port
> >     .
> >     Rebuilding:
> >
> >     drm-legacy-kmod-g20180921
> >
> >     (patch sent by <zeising+freebsd at daemonic.se <http://daemonic.se>>
> >     to x11@ on Fri Sep 21)
> >
> >     failed
> >
> >     ../src/dev/drm2/drm_os_freebsd.c:397:2: error: implicit declaration
> of
> >     function 'pmap_force_invalidate_cache_range' is invalid in C99
> >     [-Werror,-Wimplicit-function-declaration]
> >               pmap_force_invalidate_cache_range((vm_offset_t)addr,
> >               ^
> >     ../src/dev/drm2/drm_os_freebsd.c:397:2: note: did you mean
> >     'pmap_invalidate_cache_range'?
> >     ./machine/pmap.h:397:6: note: 'pmap_invalidate_cache_range' declared
> >     here
> >     void    pmap_invalidate_cache_range(vm_offset_t sva, vm_offset_t eva,
> >               ^
> >     ../src/dev/drm2/drm_os_freebsd.c:397:2: error: this function
> >     declaration
> >     is not a prototype [-Werror,-Wstrict-prototypes]
> >               pmap_force_invalidate_cache_range((vm_offset_t)addr,
> >               ^
> >     2 errors generated.
> >     *** [drm_os_freebsd.o] Error code 1
> >
> >     Hoping for a real solution,
> >
> >
> >
> > Hi
> >
> > There’s was a change in the pmap kpi, without bumping the version so
> > there’s a span of about 2 weeks where build will fail.  Make sure your
> > kernel is at least r338807 or less than version 1200084.
> >
>
> Yes, that is my own conclusion regarding drm-legacy-kmod-g20180921 which
> is based on a recent CURRNT source - and by the way can not be used on
> STABLE-11.


Yes this is by design. 11-STABLE contain the same drm code so no need to
use external drm-legacy. I made an attempt to make it build against 11 as
well but the kernel code has changed from 11 to 12 a lot so it wasn’t worth
it. It would require many patches for 11.


>
> But the more fundamental problem is that the drm-legacy-kmod ports do
> not contain any firmware, and are unable to use the firmwares of the
> gpu-firmware-kmod port (absence or renaming - I do not know)


Yes, drm-legacy-kmod is meant to be used with gpu-firmware-kmod. This has
been fixed (hopefully) in drm-legacy-kmod-g20180921 but require r338807 or
newer.

I can’t test this myself so it’s not confirmed to be working yet..  Can you
try build against newer kernel and test?





>
> CBu
>


More information about the freebsd-x11 mailing list