Я не впевнений, що ви насправді знаєте, про що ви питаєте, інакше ви б сформулювали це так, що відповідає. ... Але щоб зробити все можливе, відповідаючи на ваше запитання.
Ви хочете встановити режим і вимкнути деяку «відеопам'ять»? як старий DOS режим X днів ?? Якщо це те, що ви хочете, вам потрібно запрограмувати за допомогою Framebuffer. З огляду на це, було б набагато краще працювати з DirectFB. DirectFB - це дуже тонкий шар, з прискоренням, на Framebuffer. Його низький рівень, і правдиво, він такий низький, як ви повинні розумно хотіти, коли-небудь хочете писати заяви. Ви могли б встановлювати режими та керувати в більш низькому рівні. Якщо ви хочете безпосередньо керувати прямим стилем, вам потрібно писати Framebuffer в режимі "необроблений", ви, в основному, створюєте відеомагнітофон. Якщо ви відчуваєте, що Framebuffer працює погано, я не можу зробити стрес, перевірте DirectFB. Якщо у когось завантажений драйвер KMS, його Framebuffer встановлюється через KMS / libdrm.
Тепер, що стосується libdrm, то це libdrm libdrm для роботи з ядром DRM. Це не Framebuffer, це не API програми, це бібліотека системних пристроїв. Якщо ви хочете створити новий драйвер пристрою, libdrm - це абсолютний шлях. Наприклад, libdrm-radeon. Linux не DOS, єдиний спосіб безпосередньо спілкуватися з обладнанням - це ядро. Усі звичайні програми ніколи не надсилають код безпосередньо на апаратне забезпечення, воно повинно бути пошкоджено в деякій lib / API / call. Є проекти, які застосували внутрішній підхід для академічних / експериментальних цілей, наприклад, FBUI.
Я сподіваюсь, що я міг би принаймні вказати на вас у правильному напрямку, якщо не так, ви повинні прокоментувати, а також оновити своє запитання. Я дотримувався цього питання з моменту його заснування, яке було щонайменше дві міграції тому і ближче до відповіді. Без додаткової інформації, насправді більше не можна сказати.