In Garuda ISOs, we use mhwd-live.service, which checks the HW and tries to install the appropriate video drivers, before (or probably during) booting.
This is IMHO extremely dangerous (for the underlying system) for several reasons, if we imply that Garuda (feature complete) ISOs should provide a successful installation and a nice overview experience for the users.
The main reason mhwd exists (at least, I hope we all agree with that), is nvidia GPUs. If there were no nvidia GPUs, there is no reason to use mhwd for video drivers in general (not only for ISOs).
Even if I have tried to master the whole process, I am not sure my conclusions are correct, so please, forgive my mistakes.
A few of the deal-breaking reasons are:
pacman installs packages, called by mhwd,
using repos that are quickly gone away from being in sync with ISO's installed packages.
pacman hooks are executed (or not? I have no idea...), without user interactivity. Would this include running mkinitcpio kernel creation? (I have no idea)
If there is a mirror server issue, everything fails, or it should, without the user being able to do something for that. I don't think there is an AI to check configured servers availability, other than calamares geo-ip module and chaotic auto-route server, which are not fail-proof IMHO.
auto-install feature is as good as the code. It is not fail-proof. I have no specific arguments apart from the many reported failures, not knowing the exact reason they occur.
there may be more, but I can't think of or remember some right now...
What are the alternative approaches?
The easiest IMHO is to completely remove mhwd (and proprietary nvidia) from the boot process of ISOs.
Even if we may provide some (maybe only one) ISO with nvidia drivers, for demo or testing cases, we have a strong ground to not care much about nvidia as a demonstration or highlighted option in our ISOs. If there is a proven installation and easy configuration of nvidia video drivers after installation with nouveau, nobody can blame us for not giving away our development efforts in favor of nvidia, since this company has a Linux-unfriendly attitude. On the contrary, this would be an admired (and maybe followed) example from other non-commercial distros as well.
There are no cases that a nvidia machine could not boot and install with nouveau, or I cannot remember any, even with Manjaro (mhwd).
We can use grub live theme AI to provide booting options for several combinations of video drivers. The current video driver selection menu can be filled with more selections, which can have enabling/disabling respective modules/options, while the ISO system is shipped with all existing video drivers. We might even use a mhwd-live.service-like method to uninstall packages/drivers (which is safer than installing). Now that I think about it (regarding previous comments), it would be maybe safer to include nvidia-related packages in the ISO system pacman package cache .
We could use udev rules, added to the really capable existing ones, that could do several checks and actions, to make fr..k.ng nvidia work.
We could create something new, to replace mhwd, using the important and useful scripts and methods that exist already, to build something that we can know and control, according to our needs (of today, not of 2000) and to our developers' capabilities (I would prefer bash, so I can contribute, but whatever that is not bound to only one dev would be preferable IMHO from a single point of failure situation). I already work on such a project, but it's not about myself.
One or a combination of the above could be a future target IMHO.
(Because I have to go out, I stop here. Add your perspectives in the meantime... )
For live ISO's proprietary drivers are unnecessary, at least for me. AFAIK proprietary drivers are needed only to have better frame rates in games (or maybe in watching HQ videos, don't know). Maybe it would be useful for Dr460nized Gaming Edition, except that it is not needed to be installed by default (whoever wants, let them install manually, unless they are running gaming edition).
Better to have a note in download page that NVIDIA is deprecated, reasoning that it doesn't co-op with Linux well.
MHWD wasn't accurate in detecting my hardware. Though mine is not Optimus laptop, "Auto Install Proprietary Drivers" installed optimus drivers, which didn't end up properly leaving errors. I ended up restoring previous snapshot and continuing using noveau.
To be honest, this seems silly to me. I get that some people have a problem with proprietary things but, generally speaking, the proprietary drivers work just fine. Most of the problems I see with proprietary drivers are either user error or people who have hybrid/optimus laptops.
Even AMD video will not boot on on all systems (rare), so in no way is that a perfect solution. In general though, I somewhat agree with your thought process on this. IMO Nvidia users with dual graphics have too high of expectations from a small distro.
They spend an exorbitant amount of money for a high end gaming laptop then put it on a small distro to support their poor hardware choices. They purchase Linux unfriendly and expect a small independent distro to support them and make everything work perfectly for them. Mostly nothing but bitching and complaining from these users if things don't work perfectly OOTB. All this from users that in many cases won't even be using the distro In 6 months time anways. Mostly Windows drive by users that don't have the inclination to get their hands dirty if the system isn't preconfigured perfectly for their dual graphics setup.
I would have no problem leaving it strictly up to the user if they insist on using proprietary Nvidia drivers.
They still need to be able to boot the ISO to be able to install the drivers. That is probably why many distros now either have two versions of the ISO or an option in the boot menu to enable proprietary drivers.
My experience on this doesn't only come from personal use. It comes from supporting many users over the past 5-ish years. From my perspective, some configurations are easier to get working with nouveau and others with the proprietary drivers.
I think we just have to remember that if a 100 people have downloaded this distro in the last week and only two have not managed to get it working correctly be it graphics or network. Then i would say not only have you done a good job but there there clearly is not that much wrong with it
With huge respect to all community members, I would like to have this discussion in a pure technical level, because that's what it is (in #development category). It is not about proprietary software, but if we can save users from troubles that we could have avoided, if we could.
Even in the "bad old days" when we installed Linux from floppies and hand-installed nVidia--notice the spelling--drivers afterwards from the console the damn installation source still booted so we could at least get the OS installed, go whew, then worry about the proprietary drivers.
nVidia has always been very touchy with Linux. I don't recall any time that it has not been. There were times you were just plain out of luck.
For me Arch never had a problem as it had no problems with non free, unlike other distros It was never Nvidia at fault but Linux in general that had the problem with non free and Nvidia.
Now with hybrid graphics Linux again instead of getting its act together all we do is blame Nvidia for the Linux lack of development
Yes! And they richly deserve it. Maybe not so much 20 years ago, but there are no excuses now.
But there is also a personal responsibility; i.e. that, if I want to run Linux, maybe I should buy hardware with that in mind?
I mean, I remember when WiFi was new and the machine I wanted to run Linux on did not have Wi-Fi drivers (or wrappers) that were compatible with Linux in those days, so I bought a cheap dongle that was. The next machine, however, everything ran under Linux because I took the time to buy right.
It wouldn't be bad for Garuda to take a similar approach, I don't think.
I make sure I buy Linux compatible hardware its not hard. I never have problems with Nvidia with dongles or anything else, even though the manufactures say Linux is not supported a quick google is all you need
It's rare for this to mean anything other than being told "we can't help you" by customer support. That makes it far easier to find hardware that is supported by Linux - just have to to see if there's a driver/compatible app. That's the thing, right? Technically software supports hardware - as in is the software able to use that hardware.
If hardware companies would act on this rather than pretending hardware supports software I think this discussion wouldn't be necessary. Instead they actively resist support by keeping secrets and enacting policy to abandon older hardware.
Otherwise, nouveau would be the go-to Linux driver for nVidia just like amdgpu is for AMD. So scru nVidia.
"nVidia resists Linux support for their hardware. Their proprietary drivers are not 100% reliable. Please keep this in mind when testing any Linux distribution."
Anyway, this is why I enjoy my AMD Vega 56 so much.
I didn't know this post existed actually cause I'm apparently never tagged whenever MHWD is talked about even tho I would consider myself the most knowledgeable person about it on the team.
I already talked through all those points in DMs on Telegram with @petsam
I know this topic is quite old, and I fully expect this to be solved and the team members knowing a solutions to this.
Just because its probably pretty unknown and very well tested at the same time: The pacman compatible (but Arch-independent) distro KaOS provides Nvidia driver out of the box from the live boot screen, and that without mhwd. Its detection-scripts are based on those from Gentoo.
Particularly the hardware support has always impressed me by using the distro for well over 7 years, although I never become so sinful, of using a Nvidia card, I just know that other community members were quite happy with it.