Я не уверен, что вы действительно знаете, о чем вы спрашиваете, иначе вы бы сформулировали это так, чтобы отвечать. ... Но постараюсь ответить на ваш вопрос.
Вы хотите установить режим и использовать «видеопамять»? как старый режим дос X дней ?? Если это то, что вы хотите, вам нужно программировать с помощью Framebuffer. С учетом сказанного, было бы намного лучше работать с DirectFB. DirectFB похож на очень тонкий слой с ускорением на Framebuffer. Это низкий уровень, и, честно говоря, он настолько низок, насколько вам разумно когда-либо захочется писать приложения. Вы сможете устанавливать режимы и иметь контроль в стиле более низкого уровня. Если вам нужно прямое прямое управление стилем, вы должны написать Framebuffer raw, вы в основном создаете видео-плейер. Если вы чувствуете, что Framebuffer работает плохо, я не могу не подчеркнуть, проверьте DirectFB. Если у кого-то загружен драйвер KMS, его Framebuffer устанавливается через KMS / libdrm.
Теперь что касается libdrm, это пользовательская библиотека для работы с ядром DRM. Это не Framebuffer, это не API приложения, это библиотека системных устройств. Если вы хотите создать новый драйвер устройства, libdrm - абсолютный путь. Например, libdrm-radeon. Linux не DOS, единственный способ напрямую взаимодействовать с оборудованием - через ядро. Все обычные приложения никогда не отправляют код напрямую на аппаратное обеспечение, его нужно отключить в некоторых библиотеках lib / API / call. Существуют проекты, в которых используется академический / экспериментальный подход, например FBUI.
Я надеюсь, что мог бы, по крайней мере, указать вам правильное направление, если нет, то вы должны прокомментировать, а также обновить свой вопрос. Я следил за этим вопросом с момента его зачатия, которое было как минимум две миграции назад и не ближе к ответу. Без дополнительной информации, на самом деле больше ничего нельзя сказать.