Приложение SDL, использующее ошибку DirectFB: нет доступного видеоустройства

Я надеюсь, что это что-то простое. Я пишу приложение для встроенной платформы Linux с моего рабочего стола Ubuntu Linux. Само приложение отлично работает под X11. Я также могу заставить его работать, используя драйвер fbcon и /dev/fb0.

Однако если я putenv("SDL_VIDEODRIVER=directfb"); я получаю ошибку "Нет доступного видео устройства"

Я все еще довольно новичок в SDL, поэтому я не уверен, что происходит. Я только что установил libsdl на свой рабочий стол Ubuntu, используя "apt-get install libsdl". Так разве стандартная сборка Ubuntu SDL не поддерживает DirectFB? Есть ли что-то еще, что мне нужно установить / настроить / выполнить, прежде чем это будет работать?

Или, что более важно, есть ли смысл / преимущество в том, чтобы заставить DirectFB работать, когда fbcon работает нормально? Я думал, что DirectFB позволит мне правильно устанавливать режимы видео и предложит некоторую форму аппаратного ускорения, чего не будет у fbcon.

1 ответ

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

Вы пытаетесь заставить его использовать аппаратный режим, который не поддерживается базовым оборудованием.

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

В конце концов, вы просто передаете подсказки SDL, и он может или не может делать то, что вы подозреваете. Если вы заставляете его использовать определенный бэкэнд, вероятность того, что он делает то, о чем вы подозреваете, должна быть выше.

Другие вопросы по тегам