NVIDIA R304.15: First OpenGL 4.3 Driver Available for Linux

NVIDIA has released a set of OpenGL 4.3 drivers for Windows (R305.53) and for Linux (and FreeBSD + Solaris). For Linux, the version number is not the same: R304.15. You can download R304.15 for Linux from THIS PAGE.

That said, let’s see the OpenGL extensions exposed by R304.15 for a GeForce GTX 680 (Linux Mint 13, 64-bit). First the GLX extensions: they are the same than for R304.22, and 27 GLX extensions are exposed:

GLX_ARB_get_proc_address

GLX_ARB_multisample

GLX_EXT_visual_info

GLX_EXT_visual_rating

GLX_EXT_import_context

GLX_SGI_video_sync

GLX_NV_swap_group

GLX_NV_video_out

GLX_SGIX_fbconfig

GLX_SGIX_pbuffer

GLX_SGI_swap_control

GLX_EXT_swap_control

GLX_EXT_swap_control_tear

GLX_ARB_create_context

GLX_ARB_create_context_profile

GLX_NV_float_buffer

GLX_ARB_fbconfig_float

GLX_EXT_fbconfig_packed_float

GLX_EXT_texture_from_pixmap

GLX_EXT_framebuffer_sRGB

GLX_NV_present_video

GLX_NV_copy_image

GLX_NV_multisample_coverage

GLX_NV_video_capture

GLX_EXT_create_context_es_profile

GLX_EXT_create_context_es2_profile

GLX_ARB_create_context_robustness

Now the interesting part, the real OpenGL extensions (GL_). Compared to R302.11 and R304.22, R 304.15 adds no less than 35 new OpenGL extensions bringing the total number to 310!

Here are the 35 new extensions (see this post for more details about these GL 4.3 extensions):

GL_ARB_arrays_of_arrays

GL_ARB_clear_buffer_object

GL_ARB_compute_shader

GL_ARB_copy_image

GL_ARB_debug_output

GL_ARB_ES3_compatibility

GL_ARB_explicit_uniform_location

GL_ARB_fragment_layer_viewport

GL_ARB_framebuffer_no_attachments

GL_ARB_internalformat_query2

GL_ARB_invalidate_subdata

GL_ARB_multi_draw_indirect

GL_ARB_program_interface_query

GL_ARB_robust_buffer_access_behavior

GL_ARB_shader_image_size

GL_ARB_shader_storage_buffer_object

GL_ARB_stencil_texturing

GL_ARB_texture_buffer_range

GL_ARB_texture_query_levels

GL_ARB_texture_storage_multisample

GL_ARB_texture_view

GL_ARB_vertex_attrib_binding

GL_KHR_debug

GL_NV_compute_program5

GL_NV_shader_storage_buffer_object

GL_OES_compressed_ETC2_RGB8_texture

GL_OES_compressed_ETC2_sRGB8_texture

GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture

GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture

GL_OES_compressed_ETC2_RGBA8_texture

GL_OES_compressed_ETC2_sRGB8_alpha8_texture

GL_OES_compressed_EAC_R11_unsigned_texture

GL_OES_compressed_EAC_R11_signed_texture

GL_OES_compressed_EAC_RG11_unsigned_texture

GL_OES_compressed_EAC_RG11_signed_texture

R305.53 for Windows has 309 GL extensions while R304.15 for Linux exposes 310 GL ext. Here are the difference between Windows and Linux versions:

– the following extensions are only available under Linux:

GL_EXT_x11_sync_object

GL_NV_vdpau_interop

– the following extension is only available under Windows:

GL_WIN_swap_hint

Here is the complete list of all OpenGL extensions exposed for the GTX 680 by R304.15 driver under Linux: