Trước hết, về cơ bản có hai loại trình điều khiển bộ đệm khung cổ điển:
- Trình điều khiển phần cứng và phần sụn chung (ví dụ: vga, vesafb / uvesafb, efifb)
- Trình điều khiển dành riêng cho phần cứng (ví dụ: Rivafb, atyfb)
Các trình điều khiển bộ đệm khung cổ điển đều có hỗ trợ chế độ cơ bản, nhưng chúng ít lộ diện nếu có bất kỳ sự hỗ trợ nào cho việc tích lũy phần cứng.
Với thiết kế X cổ điển, đây thực sự không phải là vấn đề: để tăng tốc 2D, máy chủ X chạy dưới quyền root và có thể truy cập trực tiếp vào phần cứng. Về cơ bản, nó hoàn toàn bỏ qua trình điều khiển bộ đệm khung. Đối với 3d (và hỗ trợ 2d trên các thẻ mới hơn), nó cũng sẽ sử dụng trình điều khiển DRM kernel để truy cập qua trung gian và bộ nhớ video được quản lý.
Trong thiết lập này, có hai vị trí đã thực hiện cài đặt chế độ: cả trong trình điều khiển bộ đệm khung nhân và trong máy chủ X không gian người dùng. Việc sao chép mã này (và chiến đấu không thường xuyên giữa các trình điều khiển, ví dụ như trên VT-switch) là không lý tưởng.
Ngoài ra, có hai trình điều khiển riêng biệt trong kernel cho cùng một phần cứng: trình điều khiển bộ đệm khung và trình điều khiển DRM. Trong một số trường hợp (ví dụ: intelfb trước km), bạn có thể tải cái này hoặc cái kia, nhưng không phải cả hai cùng một lúc.
KMS là giải pháp cho những vấn đề này. Nó:
- Hợp nhất trình điều khiển bộ đệm khung dành riêng cho phần cứng và trình điều khiển drm thành một trình điều khiển duy nhất.
- Cung cấp giao diện cho máy chủ X sử dụng để điều khiển chế độ, vì vậy máy chủ X không phải truy cập trực tiếp vào phần cứng. (Thật vậy, với KMS, máy chủ X không còn cần quyền root nữa.)
Một số lưu ý thú vị: Việc di chuyển đến KMS ngày nay thực sự bắt đầu vào khoảng năm 2004; xem email của Jon Smirl trên kiến trúc điều khiển .
Để trả lời các câu hỏi cụ thể hơn của bạn:
- Tốc độ nói chung sẽ không tệ hơn một trong những trình điều khiển chung không tương thích (ví dụ VGA, vesafb), nhưng bảng điều khiển văn bản bộ đệm khung KMS được thiết kế để thuận tiện và sử dụng khẩn cấp thay vì tốc độ và giao diện điều khiển không được tăng tốc hoàn toàn trên một số trình điều khiển. Ví dụ, các dòng dài được bọc khá tệ trên thẻ intel.
- Các ứng dụng được thiết kế để sử dụng giao diện bộ đệm khung cũ vẫn sẽ hoạt động trên bộ đệm khung KMS.