มีการเพิ่มการรองรับฮาร์ดแวร์ใหม่ในเคอร์เนล linux อย่างไร


19

ลองนึกภาพว่ามี บริษัท A ที่เปิดตัวการ์ดกราฟิกใหม่ ใครเป็นผู้จัดการกระบวนการที่ทำให้การ์ดกราฟิกใหม่นี้ได้รับการสนับสนุนโดยเคอร์เนล Linux ในอนาคต มันจะดำเนินการอย่างไร ฉันอยากรู้วิธีจัดการเคอร์เนลสำหรับฮาร์ดแวร์ใหม่ใด ๆ ได้รับการจัดการ; ใน บริษัท Windows จะพัฒนาไดร์เวอร์ด้วยตัวเอง แต่ลีนุกซ์จะได้รับการสนับสนุนฮาร์ดแวร์ที่เฉพาะเจาะจงอย่างไร?

คำตอบ:


26

การสนับสนุนไดร์เวอร์ทำงานในลักษณะเดียวกับโอเพ่นซอร์สทั้งหมด: บางคนตัดสินใจที่จะเกาเอง

บางครั้งไดรเวอร์นั้นมาจาก บริษัท ที่จัดหาฮาร์ดแวร์เช่นเดียวกับใน Windows Intel ทำสิ่งนี้กับชิปเครือข่าย 3ware ทำสิ่งนี้สำหรับคอนโทรลเลอร์ RAID เป็นต้น บริษัท เหล่านี้ได้ตัดสินใจว่าเป็นประโยชน์สูงสุดในการจัดหาไดรเวอร์: "คัน" ของพวกเขาคือการขายผลิตภัณฑ์ให้กับผู้ใช้ Linux และนั่นหมายถึงการรับประกัน ว่ามีไดรเวอร์

ในกรณีที่ดีที่สุด บริษัท ทำงานอย่างหนักเพื่อให้ไดรเวอร์ของพวกเขาเข้าสู่ฐานข้อมูลที่เหมาะสมซึ่งมาพร้อมกับ Linux distros สำหรับไดรเวอร์ส่วนใหญ่นั่นหมายถึงเคอร์เนล Linux สำหรับไดรเวอร์กราฟิกก็หมายความX.org นอกจากนี้ยังมีCUPSสำหรับไดรเวอร์เครื่องพิมพ์, NUTสำหรับไดรเวอร์ UPS, SANEสำหรับไดรเวอร์สแกนเนอร์ ฯลฯ ประโยชน์ที่ชัดเจนของการทำเช่นนี้คือ Linux distros ที่ทำหลังจากที่ไดรเวอร์ได้รับการยอมรับจะได้รับการสนับสนุนสำหรับฮาร์ดแวร์นอกกรอบ ข้อเสียที่ใหญ่ที่สุดคือการทำงานให้ บริษัท ประสานงานกับโครงการโอเพ่นซอร์สเพื่อให้คนขับรถทำงานด้วยเหตุผลพื้นฐานเดียวกันมันเป็นเรื่องยากสำหรับทั้งสองกลุ่มที่จะต้องประสานงานกัน

จากนั้นมี บริษัท เหล่านั้นที่เลือกเสนอซอร์สโค้ดไดรเวอร์ของพวกเขาโดยตรงเท่านั้น โดยทั่วไปคุณจะต้องดาวน์โหลดซอร์สโค้ดของไดรเวอร์จากเว็บไซต์สร้างบนระบบของคุณและติดตั้งด้วยตนเอง บริษัท ดังกล่าวมักจะมีขนาดเล็กลงหรือผู้ผลิตพิเศษโดยไม่มีพนักงานเพียงพอที่พวกเขาสามารถพยายามประสานงานกับโครงการโอเพ่นซอร์สที่เหมาะสม

บริษัท หายากเพียงไม่กี่แห่งที่มีไดรเวอร์ไบนารีเท่านั้นแทนที่จะเป็นซอร์สโค้ด ตัวอย่างคือไดรเวอร์ 3D ขั้นสูงจาก บริษัท เช่น NVIDIA โดยทั่วไปแล้วเหตุผลที่ บริษัท ไม่ต้องการให้ข้อมูลที่พวกเขารู้สึกว่าเป็นกรรมสิทธิ์ ไดรเวอร์ดังกล่าวมักจะไม่ทำงานกับ distros Linux จำนวนมากเช่นเดียวกับกรณีก่อนหน้าเนื่องจาก บริษัท ที่ให้บริการฮาร์ดแวร์ไม่ต้องกังวลในการสร้างไดรเวอร์ขึ้นมาใหม่เพื่อติดตามการเปลี่ยนแปลง API และ ABI เป็นไปได้สำหรับผู้ใช้หรือผู้ให้บริการ distro Linux ในการปรับแต่งไดรเวอร์ให้เป็นซอร์สโค้ดเพื่อติดตามการเปลี่ยนแปลงดังกล่าวดังนั้นในสองกรณีก่อนหน้านี้ไดรเวอร์มักจะสามารถทำงานได้กับระบบมากกว่าที่ไดรเวอร์ไบนารีจะ

เมื่อ บริษัท ไม่ได้จัดหาไดรเวอร์ลินุกซ์ใครบางคนในชุมชนก็ตัดสินใจทำเช่นนั้น มีฮาร์ดแวร์ขนาดใหญ่บางประเภทที่พบได้ทั่วไปเช่นเดียวกับ UPS และเครื่องพิมพ์ ต้องใช้ผู้ใช้ที่หายากซึ่งก) มีฮาร์ดแวร์; b) มีเวลา c) มีทักษะ และ d) มีความชอบที่จะใช้เวลาในการพัฒนาคนขับ สำหรับฮาร์ดแวร์ที่เป็นที่นิยมมักจะไม่เป็นปัญหาเพราะมีผู้ใช้ลีนุกซ์หลายล้านคนมีอยู่ไม่กี่คน คุณมีปัญหากับฮาร์ดแวร์ที่ผิดปกติ


0

เพื่อทำความเข้าใจในรายละเอียด Raspberry Pi 3 เพิ่งออกมาและเพิ่มชิปบลูทู ธ ตอนนี้เป็นชิป Broadcom BLE และเคอร์เนล Raspberry Pi ไม่รองรับและดังนั้นbluezไลบรารี่สำหรับ Linux ก็ใช้งานไม่ได้ ตอนนี้ควรมีแพทช์เฟิร์มแวร์สำหรับชิป BLE นั้นและจะต้องรวบรวมเคอร์เนลอีกครั้งเพื่อให้ผู้ใช้สามารถใช้งานได้ นั่นถูกต้องใช่ไหม?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.