SDL: не удалось найти соответствующий glx-визуальный

Я собрал свою SDL-игру на PI. Я использовал apt для установки пакета SDL 1.2 dev. Когда я вызываю SDL_SetVideoMode, он терпит неудачу, и это строка ошибки SDL.

couldn't find matching glx visual

То, что я пробовал до сих пор, заключалось в изменении моих битов на пиксельный параметр с 32 до 24 и 16 без изменений. У меня также были проблемы с аналогичными проблемами, но это ни к чему. Я хотел бы понять это с первых принципов. Это последний вызов функции, который терпит неудачу и возвращает значение null.

if (SDL_Init(SDL_INIT_EVERYTHING) < 0)
  return false;

const SDL_VideoInfo *videoInfo = SDL_GetVideoInfo();
if (!videoInfo) {
  fprintf(stderr, "Video query failed: %s\n",
     SDL_GetError());
  return false;
}

/* the flags to pass to SDL_SetVideoMode */
videoFlags = SDL_OPENGL;       /* Enable OpenGL in SDL */
videoFlags |= SDL_GL_DOUBLEBUFFER; /* Enable double buffering */
videoFlags |= SDL_HWPALETTE;       /* Store the palette in hardware */

/* This checks to see if surfaces can be stored in memory */
if (videoInfo->hw_available)
  videoFlags |= SDL_HWSURFACE;
else
  videoFlags |= SDL_SWSURFACE;

widthViewport = videoInfo->current_w;
heightViewport = videoInfo->current_h;
videoFlags |= SDL_FULLSCREEN;

/* This checks if hardware blits can be done */
if (videoInfo->blit_hw)
  videoFlags |= SDL_HWACCEL;

/* Sets up OpenGL double buffering */
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);

/* get a SDL surface */
TRACE("SDL_SetVideoMode\n");
surface = SDL_SetVideoMode(widthViewport, heightViewport, 
  32, videoFlags);

/* Verify there is a surface */

if (!surface) {
  fprintf(stderr, "Video mode set failed: %s\n", SDL_GetError());
  return false;
}
4 голоса | спросил ScrollerBlaster 22 +04002012-10-22T11:07:46+04:00312012bEurope/MoscowMon, 22 Oct 2012 11:07:46 +0400 2012, 11:07:46

1 ответ


4

У меня была та же проблема в этом вопросе . Чтобы исправить это:

sudo apt-get install libgl1-mesa-swx11

Будем предупреждать, что GLX не аппаратно ускоряется, отвечая на этот вопрос, поэтому, вероятно, будет работать медленный very .

ответил syb0rg 31 J000000Wednesday13 2013, 22:58:49

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132