Linux çekirdeğine yeni donanım desteği nasıl eklenir?


19

Yeni bir grafik adaptörü çıkaran bir A şirketi olduğunu düşünün. Gelecekte bu yeni grafik bağdaştırıcısının Linux çekirdeği tarafından desteklenmesine neden olan süreci kim yönetir? Bu nasıl gidiyor? Yeni bir donanım için çekirdek desteğinin nasıl ele alındığını merak ediyorum; Windows şirketlerinde kendi başlarına sürücüler geliştiriyor, ancak Linux belirli donanım desteğini nasıl alıyor?

Yanıtlar:


26

Sürücü desteği, tüm açık kaynaklarla aynı şekilde çalışır: Birisi kendi kaşıntısını çizmeye karar verir.

Bazen sürücü, tıpkı Windows'da olduğu gibi donanımı sağlayan şirket tarafından sağlanır. Intel bunu ağ yongaları için yapar, 3ware bunu RAID denetleyicileri için yapar, vb. bir sürücü olduğunu.

En iyi durumda, şirket sürücülerini Linux dağıtımlarıyla birlikte gelen uygun kaynak tabanına sokmak için çok çalışıyor. Çoğu sürücü için bu Linux çekirdeği anlamına gelir. Grafik sürücüleri için X.org anlamına gelir . Orada da CUPS yazıcı sürücüleri için SOMUN UPS sürücüleri, SANE tarayıcı sürücüleri için, vb Bunu yapmanın belirgin faydası sürücüsü kutudan çıktığı donanımı için destek olacak kabul olur sonra Linux dağıtımlar yapılmış olmasıdır. En büyük dezavantajı, şirketin sürücülerini almak için açık kaynak projesiyle koordine etmesinin daha fazla çalışması, aynı temel nedenlerden dolayı iki ayrı grubun herhangi bir şeyi koordine etmesi zor.

Sonra sadece sürücü kaynak kodlarını doğrudan sunmayı seçen şirketler var. Genellikle sürücü kaynak kodunu web sitelerinden indirmeniz, sisteminize kurmanız ve elle kurmanız gerekir. Bu tür şirketler genellikle sürücülerini bu projenin kaynak tabanına almak için uygun açık kaynak projesiyle koordinasyon çabalarını destekleyebilecek yeterli sayıda çalışanı olmayan daha küçük veya özel üreticilerdir.

Çok az sayıda şirket kaynak kodu yerine yalnızca ikili sürücüler sağlar. NVIDIA gibi şirketlerden daha gelişmiş 3D sürücüler buna bir örnektir. Bunun nedeni genellikle şirketin tescilli olduğunu düşündüğü bilgileri vermek istememesidir. Bu tür sürücüler genellikle önceki durumlardaki kadar Linux dağıtımıyla çalışmaz, çünkü donanımı sağlayan şirket, API ve ABI değişikliklerini izlemek için sürücülerini yeniden oluşturmak için uğraşmaz. Son kullanıcının veya Linux dağıtım sağlayıcısının, bu değişiklikleri izlemek için kaynak kodu olarak sağlanan bir sürücüyü değiştirmesi mümkündür, bu nedenle önceki iki durumda, sürücünün genellikle bir ikili sürücüden daha fazla sistemle çalışması sağlanabilir.

Şirket Linux sürücüleri sağlamadığında, topluluktaki biri bunu yapmaya karar verir. UPS ve yazıcılarda olduğu gibi bunun yaygın olduğu bazı büyük donanım sınıfları vardır. A) donanıma sahip olan nadir bir kullanıcı alır; b) zamanı vardır; c) beceriye sahiptir; ve d) sürücüyü geliştirmek için zaman harcama eğilimi vardır. Popüler donanımlar için bu genellikle bir sorun oluşturmaz, çünkü milyonlarca Linux kullanıcısında bu birkaç kişi vardır. Yaygın olmayan donanımlarla sorun yaşarsınız.


0

Bunu ayrıntılı olarak anlamak için son zamanlarda Raspberry Pi 3 çıktı ve bluetooth çipi ekledi. Şimdi bu bir Broadcom BLE yongası ve Raspberry Pi çekirdeği bunu desteklemiyor ve bu nedenle bluezLinux için kütüphane çalışmıyor. Şimdi ideal olarak, bu BLE yongası için bir ürün yazılımı yaması olmalı ve kullanıcının kullanabilmesi için çekirdeği tekrar derlemesi gerekecektir. Bu doğru mu?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.