Wie teste ich, ob meine Grafikkarte 3D-Unterstützung bietet?

10

Wie kann ich testen, ob meine Grafikkarte 3D-Unterstützung bietet?

Jemand hat gesagt, zu verwenden fgl_glxgears, aber es existiert hier nicht, nicht einmal für die Installation mit apt-get.

Tom Brito
quelle

Antworten:

16

Dies ist ein Thema mit vielen schlechten / veralteten / falschen Informationen.

Dinge, die nicht funktionieren:

  • Überprüfen auf "direktes Rendern: Ja":
    Dies ist kein genauer Indikator. Der Software-Renderer unterstützt auch das direkte Rendern. Selbst wenn Sie keine Hardware-3D-Unterstützung haben, können Sie dies tundirect rendering: Yes
  • Überprüfen der FPS von glxgears:
    Dies ist auch kein genauer Indikator. In neueren Versionen von Ubuntu ist vsync aktiviert, sodass glxgearsnur die Bildschirmaktualisierungsrate ausgeführt wird. Dies bedeutet, glxgearsdass fast immer ein FPS von 60oder ungefähr gedruckt wird .

Was funktioniert :

Die Ausgabe von glxinfoenthält die gewünschten Informationen.

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…

Die OpenGL-Renderer-Zeichenfolge: Mesa DRI Mobile Intel® GM45 Express-Chipsatz zeigt an, dass ich meinen Intel GM45-Chip für das 3D-Rendering verwende.

OpenGL-Versionszeichenfolge: 2.1 Mesa 7.10.1 gibt die von diesem Treiber / der Hardware unterstützte OpenGL-Basisversion (OpenGL 2.1) und die verwendete Version von Mesa (7.10.1) an.

Schließlich direktes Rendern: Ja über den beiden vorherigen Feldern zeigt an, dass der Treiber ordnungsgemäß mit einem direkten Renderkontext arbeitet. Dies wird niemals Nein sein, es sei denn, etwas ist wirklich mit Ihrer Installation durcheinander (oder Sie tun etwas Seltsames, wie das Herstellen einer Verbindung zu einem Remote-X-Server).

Beispiele für schlechte glxinfoAusgabe:

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,

Hier haben wir keine Hardwarebeschleunigung, daher Software Rasterizerbietet die (langsame!) 3D-Unterstützung.

 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,

Hier haben wir das direkte Rendern unterbrochen, indem wir LIBGL auf ein nicht vorhandenes DRIVERS_PATH gerichtet haben. Der direkte Rendering-Pfad schlägt fehl:

direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)

Das indirekte Rendern funktioniert jedoch weiterhin, da der Anzeigeserver den Treiber geladen hat

OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset
OpenGL version string: 1.4 (2.1 Mesa 7.10.1)

(Beachten Sie, dass die angekündigte OpenGL-Version jetzt OpenGL 1.4 ist - dies ist die neueste OpenGL-Version, für die es ein indirektes Rendering-Protokoll gibt.)

RAOF
quelle
Hey Mann :) Also - ich habe die badglxinfo Ausgabe. Dann - wie kann ich die DRIVERS_PATHVariable setzen? Und auf was soll ich es einstellen? Ich habe Intel Graphcis und Intel Treiber installiert. Vielen Dank im Voraus
Pesho Hristov
0

Versuchen Sie es glxgearsstattdessen oder glxinfo.

Rafał Cieślak
quelle
cool .. wenn ich die Zahnräder sehe, bedeutet das, dass ich Unterstützung für 3D habe?
Tom Brito
Ja genau. :)
Rafał Cieślak
2
Na ja, irgendwie. Da wir einen Software-Renderer haben, müssen Sie Ihr System ziemlich durcheinander gebracht haben, bevor glxgears so stark kaputt geht, dass die Zahnräder nicht angezeigt werden!
RAOF
Ich sehe auch die Zahnräder, aber gleichzeitig habe ich mich über einige Apps, Spiele speziell beschwert ... Kannst du bitte einen Blick darauf werfen? askubuntu.com/questions/1174810/…
pesho hristov
0

Mit glxgearskönnen Sie Zahnräder sehen und AMD-Benutzer können die Grafikeigenschaften konfigurieren:

sudo amdcccle
Ankit
quelle