Почему не делают? Очень даже делают, все основные разработчики аппаратного обеспечения. Неподдерживаемых устройств наоборот довольно мало. Драйверами занимаются как сами производители, так и коммунити по открытым спецификациям оборудования. Причём второй вариант предпочтительнее, так как драйвера получаются более качественными и лучше соответствующими реальным потребностям. Слухи о скверной поддрежке аппаратуры в Linux в настоящее время в основном обусловлены как устаревшими на много лет фактами, которые в начале 2000х действиетльно иногда имели место, так и единичными пока ещё имеющимися случаями. Отдельные случаи, когда поддержка устройст недостаточна, обусловлены какими-то из следующих причин:
- модель работы с оборудованием в Linux существенно отличается от принятой в MS Windows, поэтому модули ядра, скомпилированные с одной его версией, наверняка не станут работать со следующей. Это ограничение вызвано интенсивной разработкой ядра Linux, и на самом деле может быть очень легко обойдено, как оно обходится например NVidia'ей. Однако некоторые производители оборудования, не знакомые с такой методикой и не желавшие тратить ресурсы на её освоение, либо вообще отказывались обеспечивать драйверами Linux либо компилировали свои модули под какой-то определённый дистрибутив, почти всегда Red Hat, по понятным причинам, отчего те вскоре становились непригодными к употреблению, а новыми производители не считали нужным заниматься.
- Учитывая, что ядро Linux интенсивно развивается, необходимо постоянно заниматься поддрежкой драйверов, их адаптацией к новым версиям ядер, в отличие от драйверов для MS Windows, которые пишутся раз в несколько лет, соответственно и разница в расходах на написание драйверов. Производители, особенно мелкие, не всегда готовы идти на дополнительные расходы. Сообщество всегда изьявляло желание разрабатывать драйвера вместо производителей, но для этого оно должно было получить доступ к спецификациям на оборудование. Иногда спецификации производитель не хотел выдавать из боязни конкуренции, чаще из-за того, что он не обладал в достаточной мере правами на спецификации, например из-за патентных ограничений, был даже курьёзный случай, когда производитель неофициально указал причину отказа открыть сообществу исходные тексты драйверов для MS Windows, и она оказалась в том, что... те драйвера были так ужасно написаны, что было стыдно открывать их исходные тексты на всеобщее обозрение :(
- Отдельные производители, например Adaptec, отказывались поставлять драйвера Linux для младших моделей свооих устройств, с целью поднять продажи других своих моделей, таковыми драйверами оснащённых.
Вобщем, почти все проблемы уже давно решены, а недостаток драйверов под Linux в основном кажущийся из-за того, что при установке MS Windows нужно обложиться кучей дисков с драйверами на монитор, мышь, коврик для мыши, вентиляторов на блоке питания и индикаторов на клавиатуре, в Linux же они просто не нужны. Например, имеющаяся у меня видеокарта NVidia успешно управляется драйвером, одинаково успешно поддерживающим одновременно десятки чипсетов и сотни моделей видеокарт, изготовленных на их основе, вот и не нужно сто дисков с разными драйверами.
Ну, тут (как и везде) основная мысль такова - либо вы платите ДЕНЬГИ (за винду, нормальное железо и т.д.) и получаете всё нужное и комфорт. Либо Вы их не платите (ставите Линукс, покупаете не "самое_топовое_железо", а то, под какое есть дрова, пишите дрова сами) и живете так. Либо большие, но по пять, либо маленькие - но по три. Рыночная экономика.