Укажите виртуальный размер с помощью DRM с эмуляцией Frambuffer

Я пытаюсь использовать двойную буферизацию на процессоре AM335x. У нас есть пример работы с демонстрационным изображением, которое не было создано нами. Я работаю над составлением собственного образа с использованием основных источников.

Эта система использует драйвер tilcdc. Мы используем эмуляцию fbdev, предоставляемую этим драйвером. Когда мы настраиваем параметры, этот вызов вызывает ошибки:

unsigned int Yold = variable_info.yres_virtual; variable_info.yres_virtual = variable_info.yres * 2; if (ioctl(fdfb, FBIOPUT_VSCREENINFO, &variable_info)) 

Мы отозвали 0xf в / sys / module / drm / parameters / debug, чтобы включить расширенные отладочные отпечатки для драйвера drm. Мы получили следующее сообщение об ошибке:

fb userpace запрашиваемая ширина / высота / bpp больше текущей 1024×768-32 (виртуальный 1024×1536)> 1024×768-32

Я видел ссылки, указывающие, что по умолчанию для drm выделяется достаточно памяти для присоединенного разрешения. Я изо всех сил пытаюсь выяснить, где это происходит, и как я могу увеличить объем выделенной памяти.

Что касается образца изображения, это было предоставлено нам для целей тестирования. Мы обнаружили, что причина, по которой приложение работает на этом изображении, заключается в том, что выделенная память по умолчанию является правильным размером для тройной буферизации на высоте 768.

Спасибо за помощь.

* редактировать дополнения

Я смотрю на источник для драйвера и еще не могу завершить работу, чтобы изменить размер буфера при загрузке драйвера. Я хотел бы избегать жесткого кодирования ценности любой ценой.

Я знаю, что под эмуляцией framebuffer, предоставляемой непосредственно tilcdc, есть вызовы для создания смежного выделения памяти с использованием информации для crtcs, но, похоже, используется только что-то, называемое fb-> height и width.

Interesting Posts

Массовое переименование, префикс изменения

Многопользовательская система Linux: домашний раздел каждого пользователя на собственном жестком диске

источники для профилирования частей ядра?

Вторая сессия записывается на диск BD-R с использованием -Z-флаг growisofs вместо -M. Можно ли сделать первый сеанс видимым?

Почему Firefox 33 не использует GCM на нашем веб-сервере?

LUKS: 1 главный ключ, но несколько паролей и файлов ключей?

Как включить дерево устройств с моим ядром?

Есть ли способ показать только несанкционированные строки в текстовом файле / скрипте?

Справка по установке RDkit

Существует ли корреляция между версиями CentOS и RHEL?

Печать через сервер Samba без записи пароля в виде открытого текста

Сбросить выбор dselect перед установкой пакета

Отфильтровать несколько элементов из вывода длинной команды

генерация кода / proc файловая система

Как я могу передать вывод на другой процесс, но сохранить состояние ошибки первого процесса?

Linux и Unix - лучшая ОС в мире.