Поэтому я могу использовать «tvservice -o», чтобы отключить HDMI на малине Pi и «tvservice -p», чтобы включить его. После его повторного включения мне, видимо, нужно сделать «fbset -depth 8 & & fbset -depth 16", чтобы повторно включить буфер кадра, а затем принудительно перерисовать X11.Как отключить/включить HDMI на Raspberry Pi?
Мой вопрос: как мне это сделать в C? У меня есть приложение X11, и я могу управлять перерисованием X11 без проблем, но как отключить/снова включить HDMI в C и как снова включить буфер кадра после повторного включения HDMI?
Чтобы предоставить фоновое изображение, у меня есть приложение без заголовка, работающее как медиа-сервер, управляемый приложением Android. В настоящее время я окончательно отключил выключение HDMI после таймаута. Однако для экономии энергии я хотел бы отключить HDMI, когда приложение не используется, а затем включить его и отобразить приложение RPi на экране с помощью libcec, чтобы определить, когда телевизор использует соединение HDMI RPi, чтобы включить HDMI и выкл.
Lovely, спасибо. Любая идея, где найти исходный код для fbset? Я подозреваю, что он использует ioctls и без документа или кода примера на устройстве буфера кадров. Я немного застрял. – AlastairG
@AlastairG, да, он должен быть в пакете util-linux: https: //www.kernel.org/pub/linux/utils/util-linux /, но если нет, просто Google для него, там тоже есть реализация busybox. –