Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Sep 2017 16:53:08 -0400
From:      Mark Johnston <markj@freebsd.org>
To:        Kevin Bowling <kevin.bowling@kev009.com>
Cc:        Johannes M Dieterich <jmd@freebsd.org>, freebsd-x11@freebsd.org, freebsd-current@freebsd.org
Subject:   Re: [RFC] future of drm1 in base
Message-ID:  <20170904205308.GB3048@bish>
In-Reply-To: <CAK7dMtAYNQ2mYgJFOo37a%2BGO0%2BCt=LkcXLif3wPjch4y7tTTWw@mail.gmail.com>
References:  <20170903191908.GA1259@bish> <20170904193337.Horde.Wm3jEJaHwm_CuvGbAmSToz8@www.poelloepaeae.de> <CAK7dMtAYNQ2mYgJFOo37a%2BGO0%2BCt=LkcXLif3wPjch4y7tTTWw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Sep 04, 2017 at 01:28:38PM -0700, Kevin Bowling wrote:
> I wasn't subscribed to -x11 earlier but do want to add some commentary
> to this thread.
> 
> The language describing these drivers in upstream is not at all
> ambiguous WRT to how bad these are and Linux distributions have
> dropped them:
> 
> <cut>
> menuconfig DRM_LEGACY
> bool "Enable legacy drivers (DANGEROUS)"
> depends on DRM && MMU
> select DRM_VM
> help
>  Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
>  APIs to user-space, which can be used to circumvent access
>  restrictions and other security measures. For backwards compatibility
>  those drivers are still available, but their use is highly
>  inadvisable and might harm your system.
> 
>  You are recommended to use the safe modeset-only drivers instead, and
>  perform 3D emulation in user-space.
> 
>  Unless you have strong reasons to go rogue, say "N".
> <cut>
> 
> There seems to be some kind of misunderstanding that removing these
> drivers is taking something away from users.  I disagree.  It does
> _not_ deorbit HW support.  We'd be giving users a supportable and
> secure experience by dropping them.  For 2d desktop it is likely that
> a framebuffer is fast(er) as David states.  On any reasonable CPU 3d
> (like the server models people pointed out) may even be faster using
> llvmpipe.

I don't disagree in principle with removing the drivers, but if it's
done it should be done for a good reason. I addressed the issue of the
KLD name collision below, but security concerns are a more valid
motivation for removing them. OTOH, the legacy drivers are not included
in GENERIC kernels, so we're effectively doing the same thing as
upstream Linux by making them opt-in by default, albeit without the
scary warning.

> 
> Regards,
> 
> On Mon, Sep 4, 2017 at 12:33 PM, Johannes M Dieterich <jmd@freebsd.org> wrote:
> >
> >
> >
> > Mark Johnston – Sun., 3. September 2017 15:19
> >> On Sat, Sep 02, 2017 at 10:02:57PM -0400, Johannes M Dieterich wrote:
> >> > Dear current/x11,
> >> >
> >> > please CC me on responses.
> >> >
> >> > I am writing you on behalf of the FreeBSDDesktop team concerning the
> >> > future of drm1 in base.
> >> >
> >> > drm1 in base supports the following GPUs:
> >> > * 3dfx Banshee/Voodoo3+ (tdfx)
> >> > * ATI Rage 128 (r128)
> >> > * ATI Rage Pro (mach64)
> >> > * Matrox G200/G400 (mga)
> >> > * Savage3D/MX/IX, Savage4, SuperSavage, Twister, ProSavage[DDR] (savage)
> >> > * SIS 300/630/540 and XGI V3XE/V5/V8 (sis)
> >> > * VIA Unichrome / Pro (via)
> >> >
> >> > Since their original introduction up to 2010 these drivers have mostly
> >> > been maintained as part of larger cleanups. The newest hardware drm1
> >> > supports dates from 2004, if I am not mistaken, and most of the
> >> > hardware is AGP-based.
> >> >
> >> > With the introduction of graphics/drm-next-kmod which brings its own
> >> > drm.ko following the Linux notation, we are facing collisions between
> >> > these old drivers' drm.ko and the newer one.
> >>
> >> I don't think this is a real problem. The reason one currently needs to
> >> manually load the drm-next drm.ko (rather than just kldloading a driver
> >> and having it pick up the right drm.ko automatically) is that our drm.ko
> >> defines the same module ("drmn") as drm2.ko in the base system. So upon
> >> attempting to load a drm-next driver, the kernel uses the linker hints
> >> to load drm2.ko, which is incorrect. However, this can be addressed by
> >> simply bumping the drmn version in the port and modifying the drivers
> >> accordingly. I've submitted a 4-line PR which does exactly that. After
> >> that change, we can modify the pkg-message to omit drm.ko from the
> >> kld_list value. As a result, the name of our DRM module doesn't matter
> >> since users don't need to specify it, so the collision with drm1 isn't a
> >> problem.
> >>
> >> > We would like to hear if anybody still runs CURRENT on machines housing
> >> > the above GPUs and relies on drm1.
> >> >
> >> > If there are still a significant number of people running CURRENT on
> >> > this hardware in production, we would be willing to make a
> >> > graphics/drm-legacy-kmod port.
> >>
> >> With the PR I mentioned above, I think it's a non-issue to keep drm1 in
> >> the base system. Since there appear to be at least some users of those
> >> drivers, I really think it would be preferable to avoid removing them
> >> unless it's absolutely necessary.
> > Your proposed solution does work, thanks for providing it! Let's move this conversation to a later point in time then.
> >
> > Johannes
> > _______________________________________________
> > freebsd-x11@freebsd.org mailing list
> > https://lists.freebsd.org/mailman/listinfo/freebsd-x11
> > To unsubscribe, send any mail to "freebsd-x11-unsubscribe@freebsd.org"



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