Как проверить, поддерживает ли моя видеокарта 3D?

10

Как я могу проверить, поддерживает ли моя видеокарта 3D?

Кто-то сказал, чтобы использовать fgl_glxgears, но он не существует здесь, даже для установки с apt-get.

Том Брито
источник

Ответы:

16

Это тема с большим количеством плохой / устаревшей / неверной информации.

Вещи, которые не работают:

  • Проверка на «прямой рендеринг: да»:
    это не точный показатель. Программное средство рендеринга также поддерживает прямой рендеринг, поэтому, даже если у вас нет аппаратной поддержки 3D, вы можете иметьdirect rendering: Yes
  • Проверка FPS glxgears:
    Это тоже не точный показатель. В последних версиях Ubuntu будет включен vsync, поэтому он 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 Express Набор микросхем Intel® GM45 линия указывает на то, что я использую мой чип 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, для которой существует протокол косвенного рендеринга).

RAOF
источник
Эй, мужик :) Итак - у меня есть badвывод glxinfo. Тогда - как я могу установить DRIVERS_PATHпеременную? И на что мне это установить? У меня установлен Intel GraphCIS и драйвер Intel. Заранее спасибо
пешо Христов
0

Попробуйте glxgearsвместо этого или glxinfo.

Рафал Цеслак
источник
круто .. если я вижу шестеренки, значит у меня есть поддержка 3d?
Том Брито,
Да, именно. :)
Rafał Cieślak
2
Ну, вроде. Поскольку у нас есть программный рендерер, вам нужно очень сильно испортить вашу систему, прежде чем glxgears сломается так сильно, что не будет отображаться механизм!
РАОФ
Я также вижу механизмы, но в то же время у меня есть жалобы на некоторые приложения, в частности игры ... Не могли бы вы взглянуть? askubuntu.com/questions/1174810/…
пешо Христов
0

С помощью glxgearsнего можно увидеть шестеренки, а пользователи AMD могут использовать для настройки графических свойств:

sudo amdcccle
Анкит
источник