outpaddling / desktop-installer

Quickly configure a FreeBSD or NetBSD desktop system
BSD 2-Clause "Simplified" License
57 stars 9 forks source link

Desktop-installer should probably deal with breakage caused by release engineering failures #3

Closed brucelilly closed 3 years ago

brucelilly commented 3 years ago

According to the principle that "[t]he end-user is only expected to run desktop-installer and answer the questions", breakage caused by release engineering failures (e.g. https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250700) should probably be dealt with. That would mean building kernel-mode drivers, display managers, and possibly other components from up-to-date ports source, which seems to the the work-around for the (largely undocumented) problem.

I don't have a patch, but it appears that at minimum, drm-fbsd12.0-kmod, sddm, and gdm are affected; probably others.

outpaddling commented 3 years ago

These are some of the major challenges, especially DRM auto-configuration. The staggering variety of hardware out there makes it very difficult to support for the latest without causing regressions for older hardware. This is why some Linux distros have a text-mode install option to fall back on. Note also that the principle of making things as simple as possible for the user has to be balanced against the principle of not compensating for shortcomings in the base FreeBSD unless doing so is reasonably simple and addresses long-term problems that cannot easily be solved otherwise. At any rate, this is an area where I'm constantly exploring opportunities for improvement either in desktop-installer itself or by advocating for change in FreeBSD engineering. Appreciate the input.

outpaddling commented 3 years ago

Resolved by auto-admin 0.7.0 and desktop-installer 0.7.0, which coordinate to install DRM kmod and a few other ports from source. These are tagged by the new script auto-mark-install-from-source so that auto-update system will know that upgrades should also be built from source. This applies to things like DRM kmod with potential KBI compatibility issues as well as ports with license issues that cannot be distributed in binary form (e.g. bwi-firmware-kmod and formerly faac and lame). Note that package upgrades MUST be done using the auto-update-system script in order to install upgrades from source. Running "pkg upgrade" directly will replace ports installed from source with binary packages from the build servers if available and ignore installed ports for which there is no binary package.