Apparament, des gens savent le faire. Notament les pilotes wifi intel et atheros. Ou l'implémentation de référence pour acpi. Et dans la théorie, DRM au début avait été écrit pour être portable. ça se ressent encore un peu dans DRM lui meme, mais plus du tout dans GEM, TTM, ou les pilotes.
La solution tient en un mot : abstraction. C'est pas si différent de faire un toolkit portable. Quand tu prends Qt, tu as pleins d'abstraction pour gérer les fonctionnalités qui sont différentes entre tout les OS. Pour un pilote c'est pareil. Du moment que le développeur du pilote fournit une abstraction bien fichue, et documentée, il ne reste alors plus qu'aux devs des OS d'écrire une implémentation de cette abstraction pour leur OS.
Pour ce qui est à la validation, il est parfaitement acceptable de ne le tester que sur un OS et laisser les développeurs d'autres OS faire de l'intégration et remonter les bugs. Intégrer un pilote est énormément plus simple qu'en développer un nouveau.
[^] # Re: Portabilité et forçage
Posté par Enj0lras . En réponse à la dépêche Mise aux poings sur systemd. Évalué à 3.
Apparament, des gens savent le faire. Notament les pilotes wifi intel et atheros. Ou l'implémentation de référence pour acpi. Et dans la théorie, DRM au début avait été écrit pour être portable. ça se ressent encore un peu dans DRM lui meme, mais plus du tout dans GEM, TTM, ou les pilotes.
La solution tient en un mot : abstraction. C'est pas si différent de faire un toolkit portable. Quand tu prends Qt, tu as pleins d'abstraction pour gérer les fonctionnalités qui sont différentes entre tout les OS. Pour un pilote c'est pareil. Du moment que le développeur du pilote fournit une abstraction bien fichue, et documentée, il ne reste alors plus qu'aux devs des OS d'écrire une implémentation de cette abstraction pour leur OS.
Pour ce qui est à la validation, il est parfaitement acceptable de ne le tester que sur un OS et laisser les développeurs d'autres OS faire de l'intégration et remonter les bugs. Intégrer un pilote est énormément plus simple qu'en développer un nouveau.