Укажите виртуальный размер с помощью 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

Выход функции zsh удаляет ведущие пробелы

Удалить определенное слово в переменной

Экономия энергии в кластере linux

Как подождать, когда USB-накопитель будет распознан / смонтирован во время загрузки, чтобы начать собственный сервис?

Как удалить в vim все, что находится между курсором и концом строки во время режима вставки?

Невозможно найти параметр конфигурации «CONFIG_CRASH_DUMP» для kdump

Кто-нибудь действительно использует и извлекает выгоду из прозрачных огромных страниц?

Как прокручивать экран, используя средний клик?

разница между gnu tar и tar пакетом в хранилищах Fedora

Отметьте файловую систему ext4 как доступную только для чтения

Значение выхода pstree

Как использовать команду «if» для нескольких условий?

Nagios использует sendmail, новый почтовый сервер, необходимо изменить SMTP-сервер

OverlayFS Плавно редактирует файл в нижнем каталоге

Auth через wget работает, но не может перемещаться по веб-странице после него

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