Настройка Pygame без головы

Я использую api джойстика pygame, чтобы использовать джойстик с моим проектом на безголовой системе, но pygame требует «экрана», поэтому я установил фиктивную видеосистему, чтобы преодолеть это. Он работал нормально, но теперь внезапно выдает эту ошибку:

Traceback (most recent call last):
  File "compact.py", line 10, in <module>
    screen = display.set_mode((1, 1))
pygame.error: Unable to open a console terminal

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

from pygame import *
import os
import RPi.GPIO as GPIO
os.environ["SDL_VIDEODRIVER"] = "dummy"
screen = display.set_mode((1, 1))

person DSchana    schedule 02.10.2015    source источник


Ответы (1)


Pygame пытается открыть консоль, что означает, что вы запускаете этот скрипт через ssh или cron или где-то еще, у которого нет доступа к консоли. Я бы попробовал пропустить set_mode (поскольку фиктивный драйвер, вероятно, не имеет режимов для установки) и просто попытался бы инициализировать дисплей. Вы можете попробовать запустить его как root, что может дать ему доступ. Вы также можете попробовать указать ему использовать fbcon.

os.putenv('SDL_VIDEODRIVER', 'fbcon')
pygame.display.init()
person John Hundley    schedule 28.04.2016
comment
Спасибо. это сработало для меня os.environ["SDL_VIDEODRIVER"] = "dummy" pygame.display.init() - person realgt; 28.10.2020