Как я могу запустить свой код (с C на кодовых блоках) без рабочего стола на Raspberry?
Извините, мой плохой английский. Я работаю в 3D-форме с opengl на Raspberry Pi3(Debian) некоторое время. Я хочу, чтобы мой код не использовался на рабочем столе (или в окне). Я искал, но озадачил мой разум. В двух словах я хочу запустить мой код так же, как на картинке ниже.
введите описание изображения здесь
Когда я искал эту тему, я видел о библиотеке EGL, но я не знаю, могу ли я использовать это.
Если вы использовали библиотеку OpenMAX до того, как узнали, что openmax не использует window. Все изображения или видео могут работать в режиме консоли. Тебе не нужен досктоп. Интересно, есть ли способ, которым я могу использовать Opengl таким образом?(Может ли Opengl работать как библиотека OpenMAX или нет) Если есть какой-либо способ Как мне построить свой код? Я хочу сделать свое изображение без рабочего стола. Я хочу использовать консольный режим.
Спасибо, что уделили время. С уважением.
3 ответа
Наиболее простым решением было бы просто создать полноэкранное окно без рамки и декораций (заголовок, кнопки и т. Д.). Если вам нужен реальный графический вывод, нет ничего плохого в использовании X11. Несмотря на некоторые слухи, распространяемые в Интернете, серверы Xorg X11 на самом деле довольно легкие.
Если вы действительно хотите обойтись без X11, вы должны посмотреть на такие вещи, как демо kmscube https://cgit.freedesktop.org/mesa/kmscube/tree/ которое делает OpenGL непосредственно на дисплее, без графического сервера или оконной системы. между.
Если вы хотите, чтобы он был немного более абстрактным, взгляните на то, как композиторы Wayland взаимодействуют с дисплеем. Разработчики композитора Sway Wayland разработали для этого красивую библиотеку абстракций: https://github.com/swaywm/wlroots
Сначала вам нужно запустить сервер отображения. То, что вам нужно, может работать с "xinit", который вручную запускает сервер xorg, после чего я подозреваю, что вы должны запустить "openbox", который является оконным менеджером. Таким образом, ваше настольное приложение должно работать как есть, никаких изменений не требуется.
Рекомендуется создать сценарий оболочки для запуска приложения, который может выглядеть следующим образом:
set -e
xset s off
xset -dpms
xset s noblank
openbox &
cd /home/your_applicaton_directory
your_executable 2>/dev/null >/dev/null
Сохраните этот скрипт и отметьте его как исполняемый
chmod +x
Затем попробуйте запустить это:
xinit /full_path_to_above_script
Надеюсь это немного поможет...:)
Qt имеет платформу, называемую eglfs, которая позволяет вашему приложению запускать полноэкранный режим на одном экране с использованием EGL и KMS с минимальными издержками. Должно хорошо работать с любым материалом OpenGL, который вы хотите сделать.
Вы просто запрограммируете приложение Qt, как обычно, и запускаете его с ./myapp -platform eglfs
из tty.