Программа OpenGL/X-Window зависает во время создания окна - linux


0

У меня есть приложение C/С++, использующее библиотеку GLFW на нетбук-устройстве, работающем под Ubuntu 8.10.

Насколько я понимаю источник GLFW lib, он создает свое окно, используя вызовы библиотеки X-Window.

Мы не используем какой-либо рабочий стол на компьютере, а заходим в tty и запускаем X-сервер в фоновом режиме. При запуске скомпилированного приложения из tty * на целевой платформе во время вызова

glfwOpenWindow( ... );
  glXQueryExtension( ...);
    _glfwChooseVisual( ... );
       XGetVisualInfo( ... );

приложение останавливается. Это НЕ сбой. При переключении на X-Window нажатием Ctrl + Alt + F7 приложение продолжается нормально.

Что может вызвать это странное поведение?

BEGIN_EDIT:

Теперь я уверен, что проблема связана с конфигурацией либо Ubuntu, либо x-сервера. Когда я пытаюсь запустить

glxinfo

в оболочке команда также зависает, пока я не переключусь в X-окно, нажав CTRL + ALT + F7. Когда я вернусь в свою оболочку после нажатия клавиш, команда завершилась.

Может ли быть, что X-сервер поставлен в режим сна в режиме консоли?

END_EDIT;

Источник
  •  23
  •  2
  • 22 апр 2020 2020-04-22 01:07:28

2 ответа

0

Является ли диспетчер входа на сервере X? Как правило, они будут захватывать X-сервер для исключительного использования. Попробуйте войти в систему и посмотрите, не изменилось ли это.

0

Если сервер окон X работает в фоновом режиме, он (очевидно) не владеет дисплеем. Таким образом, он не может отвечать на запросы до его возврата на передний план.

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

Блокировка до тех пор, пока она не получит контроль над звуками оборудования, которые мне не нужны.

  • 22 апр 2020 2020-04-22 01:07:29