Перш за все, це два типи драйверів класичних фреймбуферів:
- Загальні драйвери апаратного та мікропрограмного забезпечення (наприклад, vga, vesafb / uvesafb, efifb)
- Спеціальні драйвери (наприклад, rivafb, atyfb)
Усі класичні драйвери framebuffer мали базову підтримку модерування, але вони мали незначну підтримку апаратного прискорення.
З класичним дизайном X це насправді не було проблемою: щоб отримати 2D прискорення, X-сервер працював як root і мав доступ до обладнання безпосередньо. По суті, він повністю обійшов драйвер фреймбуфера. Для 3d (та 2d підтримки на нових картках) він також використовував драйвер DRM ядра, який опосередковував доступ та керував відеопам'яттю.
У цій установці було зроблено два місця, в яких проводилося настроювання: як у драйвері фреймбуфера ядра, так і на сервері X сервера простору. Це дублювання коду (і випадкові бійки між драйверами, наприклад, на VT-комутаторі) не було ідеальним.
Крім того, в ядрі були два окремих драйвери для одного і того ж обладнання: драйвер фреймбуфер і драйвер DRM. У деяких випадках (наприклад, pre-kms intelfb) ви можете завантажувати те чи інше, але не обидва одночасно.
KMS був вирішенням цих питань. Це:
- Об'єднує специфічний для апаратного забезпечення драйвер фреймбуфера та драйвер драйвера в єдиний драйвер.
- Забезпечує інтерфейс для X-сервера, який використовується для керування модемацією, тому X-сервер не повинен безпосередньо отримувати доступ до обладнання. (Дійсно, для KMS сервер X більше не потребує кореневих дозволів.)
Деякі цікаві зауваження: Перехід до того, що зараз є KMS, фактично розпочався близько 2004 року; див . електронну пошту Джона Смірла про консольну архітектуру .
Щоб відповісти на ваші конкретніші запитання:
- Швидкість зазвичай не буде гіршою, ніж один із неприскорених загальних драйверів (наприклад, VGA, vesafb), але текстова консоль KMS framebuffer була розроблена для зручності та використання в екстрених ситуаціях, а не для швидкості, а консоль не прискорюється повністю на деяких драйверах. Наприклад, загорнуті довгі рядки досить погані на картах Intel.
- Програми, призначені для використання старих інтерфейсів framebuffer, як і раніше працюватимуть на фреймбуфер KMS.