Jaglover wrote:I really don't see a disadvantage- quite honestly I don't hear people saying "No - I don't want this option, I want to force myself to accomplish hardware support in the most difficult way possible".
I've to admit I don't get your point. You agree Gentoo is about software customization, hardware is handled by software indeed. Of course I want to configure the hardware support myself. I wouldn't say there is "most difficult way possible", IMHO there is just one way, difficult or not depends on user accomplishing the task.
I do remember pre-PnP times when one had to set jumpers to set base address and IRQ, and then configure the driver to access the device using those parameters. Otherwise it just didn't work. I kind of miss the clarity we had back then.
True, hardware is handled by software. However the difference is that with hardware people want it to "work". Hardware either works or it doesn't. Whether or not they want to tweak it later on "how" it works is irrelevant. The point is getting it to work in the first place.
Allow me to use two analogies - the first is portage. You can customise the package to any amount of detail - remove useflags, change compiler options etc, but the fact remains that
it compiles in the first place. If you want, you can edit the source code to have extreme control over it - and of course, if you decide you want full control over everything, you can create your own ebuilds, or compile it outside portage. Similarly, you want your hardware to work in the first place - but there's nothing stopping you from tweaking it later on. Of course if you choose to do it manually there's nothing stopping you either.
The second analogy is much more relevant - genkernel. I'm not a genkernel user but I do see its benefits. This is very much like that.
I hope that clarified my point. The objective is not to hide everything from the user, but instead to streamline the process of getting your hardware to work. Such a system could remove the need to have to search a good deal of websites to see if your driver is compatible, see what bugs you might encounter with your hardware, what drivers you need enabled, which configuration files do what and what variables you might need to set ... it's easier to maintain instead of a collection of HOWTOs and wikis online, it can be kept constantly up to date, and of course keep the flexibility for whatever a Gentoo user wants. One thing I do envision is a personalised handbook for your hardware (apologies if highly unrealistic imagination).
Genone wrote:Do you have any concrete examples where it's clearly a distribution issue rather than an upstream issue?
I strongly suggest to identify the problem and its causes first before starting to work on solutions.
I'm sorry but I have to admit that I'm know very little about hardware. However I do know that if I plug in a Ubuntu (don't scream) CD my wifi, webcam, and external speakers work Just Like That (tm). Gentoo, even after following some guides things are a bit wonky. A debugging process via an online search, IRC or forum provides a solution sometimes, but that solution is outside the scope of the article that I followed to set it up. Therefore this shows that there are things which can be improved on.
What I can suggest is:
1) Make a list of hardware things we might be able to support through this.
2) Identify the "installation" for each of these hardwares. Eg: 1) compile support in kernel [therefore identify drivers], 2) start editing configuration files [which configuration files do what] 3) useful config variables 4) ways to test if it works 5) troubleshooting [linked to the testing stage] 6) alternatives 7) existing known bugs 8 ) further tweaking possibilities
3) Identify which of these "installation" steps can be automated or be made more streamlined and how- eg: through scripts, local howtos, perhaps a knowledge base on hardware compatibility
I would like to stress that obscurity of the process is not an objective. This, for example, is
not what I have in mind:
Code: Select all
localhost ~ $ hardwareconfig --justconfigit
Configuring webcam ... done!
I'm just throwing a few ideas around
