Відповіді:
Це тема з великою кількістю поганої / застарілої / неправильної інформації.
Те, що не працює:
direct rendering: Yes
glxgears
: glxgears
вона працюватиме так само швидко, як і швидкість оновлення екрана. Це означає glxgears
, що майже завжди буде надруковано FPS 60
або після цього.Що робить роботу:
Вихідні дані glxinfo
містять потрібну нам інформацію.
name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
… snip …
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset
OpenGL version string: 2.1 Mesa 7.10.1
OpenGL shading language version string: 1.20
OpenGL extensions:
… snip long extensions list…
Рядок візуалізації OpenGL: Mesa DRI Mobile Intel® GM45 Express чіпсет- лінійка вказує, що я використовую мій чіп Intel GM45 для 3D-рендерінга.
Рядок версії OpenGL: 2.1 Mesa 7.10.1 вказує на базову версію OpenGL, яку підтримує цей драйвер / апаратне забезпечення (OpenGL 2.1) та використовувану версію Mesa (7.10.1).
Нарешті, пряма візуалізація: Так поверх попередніх двох полів вказує на те, що драйвер працює належним чином із контекстом прямого відображення. Це ніколи не буде Ні, якщо щось не дійсно зіпсується з вашою установкою (або ви робите щось дивне, наприклад, підключення до віддаленого сервера X).
Приклади поганого glxinfo
результату:
LIBGL_ALWAYS_SOFTWARE=1 glxinfo
name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_INTEL_swap_event
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control,
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap,
GLX_INTEL_swap_event
GLX version: 1.4
GLX extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_OML_swap_method,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_INTEL_swap_event
OpenGL vendor string: Mesa Project
OpenGL renderer string: Software Rasterizer
OpenGL version string: 2.1 Mesa 7.10.1
OpenGL shading language version string: 1.20
OpenGL extensions:
GL_ARB_copy_buffer, GL_ARB_depth_clamp, GL_ARB_depth_texture,
Тут у нас немає апаратного прискорення, тому Software Rasterizer
ми надаємо (повільну!) Підтримку 3D.
LIBGL_DRIVERS_PATH=foo glxinfo
name of display: :0
display: :0 screen: 0
direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_INTEL_swap_event
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control,
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap,
GLX_INTEL_swap_event
GLX version: 1.4
GLX extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap,
GLX_INTEL_swap_event
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset
OpenGL version string: 1.4 (2.1 Mesa 7.10.1)
OpenGL extensions:
GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_fragment_program,
GL_ARB_fragment_program_shadow, GL_ARB_multisample, GL_ARB_multitexture,
Тут ми порушили пряме відображення, вказавши LIBGL на неіснуючу DRIVERS_PATH. Помилка прямого візуалізації:
direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
Але непряме візуалізація все ще працює, оскільки сервер дисплеїв завантажив драйвер
OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset
OpenGL version string: 1.4 (2.1 Mesa 7.10.1)
(Зверніть увагу, що рекламована версія OpenGL зараз OpenGL 1.4 - це найновіша версія OpenGL, для якої існує протокол непрямого відображення).
Спробуйте glxgears
замість цього або glxinfo
.
bad
вихід glxinfo. Потім - як я можу встановитиDRIVERS_PATH
змінну? І на що я повинен його встановити? У мене встановлено intel graphcis та intel драйвер. Дякую заздалегідь