Beginner: Distros and system setup for MRtrix

installation

#1

Hello to everyone.

I did a quick search on the community topics, and I felt compelled to ask:

To the team and userbase using Linux, what distribution and window manager do you use, if any? Which linux kernel? Do you use a single or dual GPU setup, is it workstation or desktop class?

It may sound childish to ask the latter questions, but I’ve noticed many different issues while using MRtrix3 on different hardware, with Debian 8 as a distro, regarding both performance (both with the nouveau driver and the proprietary ones) and even WM crashes altogether. So I thought knowing the userbase’s Linux setup could help on choosing a specific setup for non-clustered machines. That, or skipping Linux altogether and perhaps choosing to run MRtrix through a Linux subsystem on Windows.

I’ll explain:

My main setup is on a laptop with an i7 4700MQ CPU and using intel graphics, with Debian 8. Making it work nice with an nVidia 750M card and GNOME 3 is actually hard, but as far as computations and tract visualization go, it works, albeit laggy.

Installing Debian 8 on an HP Z800 workstation, with a Xeon E5506 CPU and an AMD FirePro V5700 works practically the same - everything works if it runs through the nouveau driver, but laggy. In both cases, the fact the system is not using the video cards is the problem.

When I start to configure the systems to make use of the video cards, I get different problems - either it uses a driver now unsupported (FirePro) and it starts bugging out the WM, or use the open source radeon driver, which for some reason conflicts with GNOME3. If using KDE, it will completely freeze, then crash the WM while using mrview and displaying tracts.

So perhaps the solution would be to change distributions altogether, or do some sort of tinkering within the system. But it would help to know what the average Linux user uses MRtrix on.

Thanks for your time.


#2

Hi @jramend,

Myself and @jdtournier are both Arch Linux users :nerd:, and I’d hazard a guess that any other Linux machines used by developers are probably Ubuntu. Personally I’m using xfce as my WM, kernel 4.4.48-1-lts on a single GTS 250 (LTS kernel required to keep the older 340.xx video drivers working).

Are you attempting to use bumblebee or similar to deal with the multiple GPUs? I believe @Dave has some experience with that.

It might be worth copy&pasting your configure script log (make sure you format it so it doesn’t clog everybody’s screens!) just in case it contains any hints.

That, or skipping Linux altogether and perhaps choosing to run MRtrix through a Linux subsystem on Windows.

That works for console commands; but as far as I know, nobody has managed to get mrview working through WSL. The Windows installation instructions therefore remain using MSYS2. I use this on my laptop; I still have an annoying recurring issue where the icons in mrview don’t appear, but it works, and the NVidia drivers can be set up to utilise the dedicated graphics card whenever mrview is executed. Unfortunately it does mean that MRtrix3 scripts that depend on FSL commands cannot be used natively.


#3

Yes, there’s a few issues with running MRtrix3 that relate almost exclusively to our use of modern standards: the 2011 C++ standard (C++11), and OpenGL 3.3. Neither of these are actually all that new, but support for these in established stable distributions is often very outdated.

Of these, the OpenGL issue is the hardest to deal with (C++11 is typically just a matter of upgrading the compiler, or switching over to clang++). From what you say, it sounds like support for your GPU is still not stable enough for routine use - there’s no reason for Gnome3 to crash when using MRView unless there are bugs on their side. I’d be surprised if your WM crashes were really limited to using MRView, I’d expect any other GPU-intensive OpenGL application would also cause issues.

OpenGL support can however be tricky to get right - especially these dual GPU laptops (although I have to admit I’ve no direct experience with that). In my experience, getting stable OpenGL 3.3 support through the open-source mesa drivers (e.g. nouveau, radeon, etc) requires at least mesa 10.6, which only became available a year or so ago. Otherwise, it’s best to use the proprietary drivers (nvidia or fglrx for AMD/ATI), the tricky part there is installing them - it’s always going to be distribution-specific to some extent. That said, I’ve not had any major issues running the NVidia proprietary drivers for the last 3 years on my Arch Linux desktop (or for the last 15+ years that I’ve been using Linux). Work on the current version of MRView started back in ~2011, and was already relying on OpenGL 3.3 back then, so the NVidia proprietary drivers on Linux were good enough for that at the time. This was running Ubuntu 10.10 and eventually 12.04. Many users run Ubuntu 12.04, 14.04, or 16.04, and while getting the drivers installed can sometimes be tricky, for the most part people seem to manage fine (Ubuntu provides a simply utility to select open-source or proprietary drivers, which really helps).

So I’d recommend you try to install the nvidia proprietary drivers, rather than relying on the open-source ones. If you can’t get them working on Debian 8, consider using Ubuntu 16.04 instead (it’s a Debian derivative anyway). And if you like going commando, you can try Arch Linux (but be warned, it’s not the most user-friendly installation process).

As @rsmith says, running on Windows is fine, but for now it has to be through MSYS2 if you want GUI support. That’s because the WSL doesn’t include support for X11, and even if you do install a standalone X11 client, it won’t support OpenGL 3.3 (at least as far as I’m aware). With MSYS2 on the other hand, the software is compiled natively, and will access the native OpenGL environment directly. This works fine on my Win10 laptop, but as @rsmith says, you won’t get FSL that way (unless you manage to compile it within MSYS2 - no idea how hard that might be).

For the record, my setup is a 6-core i7-4930K CPU with 32GB RAM, equipped with a NVidia GeForce 780 GTX. It runs Arch Linux, Gnome Shell 3.22, using the NVidia proprietary drivers. As of a couple of months ago, it can also run on the open-source nouveau drivers, but there were a couple of minor issues at the time I tried (can’t remember exactly what they were, but nothing major). Given that this is a similar generation to yours, I’d expect support for it using the open-source nouveau driver is also not going to be stable for your card - it’s only just become sufficiently stable on my system, and Arch is one of the most up to date distributions out there. Debian focuses on stability, and so often ships with old software - I doubt your mesa installation is sufficiently current for this to work. Best to use the proprietary drivers in your case.

My previous laptop was a 2008 HP Pavillion dm3-1033tx, with a Core2 Duo CPU and a NVidia GeForce 105M GPU, also running Arch and Gnome3, this time using the open-source nouveau drivers (works fine on that generation of GPU), and using Wayland rather than Xorg. Everything worked fine there, although performance for the volume render was slow for full screen rendering (not altogether unexpected given how old that laptop is). But nothing like the kinds of issues you’re reporting here.

That laptop still works, but I’ve recently upgraded to a HP Spectre x360 with an intel GPU running Windows 10. MRtrix3 runs fine on MSYS2 on that system, and it also works fine out of the box on Linux (Arch Linux again).

Hope this helps.


#4

Thank you for your input, @rsmith and @jdtournier. It is worth clarifying, as you would’ve guessed anyways, that the issue is completely on my side and not from any addressable issue of mrview. I’ve seen the entire MRTrix3 suite run smoothly on a properly configured, single GPU setup, so there. :stuck_out_tongue:

@rsmith: On the NVidia 750M laptop, I’ve tried installing the proprietary NVidia drivers. It is well documented on the Debian wiki that those drivers have issues with GNOME3 on Debian 8. So right now, I’m tinkering with the machine. I’d rather post the configure log after I try more alternatives, so I apologize if I can’t produce it at this time.

This might seem like a good, temporary solution to viewing tracts while I fix this mess. Good to know. I can do without the icons - good thing there’s a shortcut for everything already.

Yes, though it would be because of certain parts of Debian being outdated in favor of stability, as you said. Hence why I’m trying to tinker with the machine before attempting to change distros altogether. Regarding the fglrx and nvidia drivers, I’ve tried them on their appropiate machines, with no success (yet).

Thank you for sharing. If anyone else has issues with hardware acceleration, this piece of information you’ve given helps to go in the right direction. I’ll keep you posted on the results, in case there’s another one using Debian 8 and MRtrix3. You never know.

Anyone else willing to share your setup, I’d be grateful as well.


#5

We are using Debian 8 (Debian 3.16.7-ckt20-1+deb8u3) with XFCE at our server.
Our GPU is nVIDIA Grid K1, with proprietary drivers.
We are connecting remotely via VNC, fully using hardware acceleration, no problem with mrview.

Click here to see reduced output from glxinfo:
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation

server glx version string: 1.4
server glx extensions:
GLX_ARB_context_flush_control, GLX_ARB_create_context,
GLX_ARB_create_context_profile, GLX_ARB_create_context_robustness,
GLX_ARB_fbconfig_float, GLX_ARB_multisample, GLX_EXT_buffer_age,
GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile,
GLX_EXT_framebuffer_sRGB, GLX_EXT_stereo_tree, GLX_EXT_swap_control,
GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_NV_copy_buffer,
GLX_NV_copy_image, GLX_NV_delay_before_swap, GLX_NV_float_buffer,
GLX_NV_multisample_coverage, GLX_NV_swap_group, GLX_NV_video_capture,
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_swap_control,
GLX_SGI_video_sync
client glx vendor string: NVIDIA Corporation
client glx version string: 1.4
client glx extensions:
GLX_ARB_context_flush_control, GLX_ARB_create_context,
GLX_ARB_create_context_profile, GLX_ARB_create_context_robustness,
GLX_ARB_fbconfig_float, GLX_ARB_get_proc_address, GLX_ARB_multisample,
GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile,
GLX_EXT_create_context_es_profile, GLX_EXT_fbconfig_packed_float,
GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context, GLX_EXT_stereo_tree,
GLX_EXT_swap_control, GLX_EXT_swap_control_tear,
GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_NV_copy_buffer, GLX_NV_copy_image, GLX_NV_delay_before_swap,
GLX_NV_float_buffer, GLX_NV_multisample_coverage, GLX_NV_present_video,
GLX_NV_swap_group, GLX_NV_video_capture, GLX_NV_video_out,
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_swap_control,
GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
GLX_ARB_context_flush_control, GLX_ARB_create_context,
GLX_ARB_create_context_profile, GLX_ARB_create_context_robustness,
GLX_ARB_fbconfig_float, GLX_ARB_get_proc_address, GLX_ARB_multisample,
GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile,
GLX_EXT_create_context_es_profile, GLX_EXT_framebuffer_sRGB,
GLX_EXT_stereo_tree, GLX_EXT_swap_control, GLX_EXT_swap_control_tear,
GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_NV_copy_buffer, GLX_NV_copy_image, GLX_NV_delay_before_swap,
GLX_NV_float_buffer, GLX_NV_multisample_coverage, GLX_NV_swap_group,
GLX_NV_video_capture, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGI_swap_control, GLX_SGI_video_sync
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: Quadro FX GRID K1/PCIe/SSE2
OpenGL core profile version string: 4.4.0 NVIDIA 352.39
OpenGL core profile shading language version string: 4.40 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
GL_AMD_multi_draw_indirect, GL_AMD_seamless_cubemap_per_texture,
GL_ARB_ES2_compatibility, GL_ARB_ES3_1_compatibility,
GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance,
GL_ARB_bindless_texture, GL_ARB_blend_func_extended,
GL_ARB_buffer_storage, GL_ARB_clear_buffer_object, GL_ARB_clear_texture,
GL_ARB_clip_control, GL_ARB_color_buffer_float,
GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader,
GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted,
GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_copy_image,
GL_ARB_cull_distance, GL_ARB_debug_output, GL_ARB_depth_buffer_float,
GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_derivative_control,
GL_ARB_direct_state_access, GL_ARB_draw_buffers,
GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex,
GL_ARB_draw_indirect, GL_ARB_draw_instanced, GL_ARB_enhanced_layouts,
GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location,
GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport,
GL_ARB_fragment_program, GL_ARB_fragment_program_shadow,
GL_ARB_fragment_shader, GL_ARB_framebuffer_no_attachments,
GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB,
GL_ARB_geometry_shader4, GL_ARB_get_program_binary,
GL_ARB_get_texture_sub_image, GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64,
GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging,
GL_ARB_indirect_parameters, GL_ARB_instanced_arrays,
GL_ARB_internalformat_query, GL_ARB_internalformat_query2,
GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment,
GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect,
GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query,
GL_ARB_occlusion_query2, GL_ARB_pipeline_statistics_query,
GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite,
GL_ARB_program_interface_query, GL_ARB_provoking_vertex,
GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior,
GL_ARB_robustness, GL_ARB_sample_shading, GL_ARB_sampler_objects,
GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture,
GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counters,
GL_ARB_shader_bit_encoding, GL_ARB_shader_draw_parameters,
GL_ARB_shader_group_vote, GL_ARB_shader_image_load_store,
GL_ARB_shader_image_size, GL_ARB_shader_objects, GL_ARB_shader_precision,
GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine,
GL_ARB_shader_texture_image_samples, GL_ARB_shader_texture_lod,
GL_ARB_shading_language_100, GL_ARB_shading_language_420pack,
GL_ARB_shading_language_include, GL_ARB_shading_language_packing,
GL_ARB_shadow, GL_ARB_sparse_buffer, GL_ARB_sparse_texture,
GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader,
GL_ARB_texture_barrier, GL_ARB_texture_border_clamp,
GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32,
GL_ARB_texture_buffer_range, GL_ARB_texture_compression,
GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc,
GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array,
GL_ARB_texture_env_add, GL_ARB_texture_env_combine,
GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3,
GL_ARB_texture_float, GL_ARB_texture_gather,
GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat,
GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two,
GL_ARB_texture_query_levels, GL_ARB_texture_query_lod,
GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui,
GL_ARB_texture_stencil8, GL_ARB_texture_storage,
GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle,
GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2,
GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced,
GL_ARB_transform_feedback_overflow_query, GL_ARB_transpose_matrix,
GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra,
GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit,
GL_ARB_vertex_attrib_binding, GL_ARB_vertex_buffer_object,
GL_ARB_vertex_program, GL_ARB_vertex_shader,
GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev,
GL_ARB_viewport_array, GL_ARB_window_pos, GL_ATI_draw_buffers,
GL_ATI_texture_float, GL_ATI_texture_mirror_once,
GL_EXTX_framebuffer_mixed_formats, GL_EXT_Cg_shader, GL_EXT_abgr,
GL_EXT_bgra, GL_EXT_bindable_uniform, GL_EXT_blend_color,
GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate,
GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array,
GL_EXT_depth_bounds_test, GL_EXT_direct_state_access,
GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements,
GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample,
GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object,
GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4,
GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4,
GL_EXT_import_sync_object, GL_EXT_multi_draw_arrays,
GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_packed_pixels,
GL_EXT_pixel_buffer_object, GL_EXT_point_parameters,
GL_EXT_polygon_offset_clamp, GL_EXT_provoking_vertex,
GL_EXT_rescale_normal, GL_EXT_secondary_color,
GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color,
GL_EXT_shader_image_load_store, GL_EXT_shader_integer_mix,
GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap,
GL_EXT_texture3D, GL_EXT_texture_array, GL_EXT_texture_buffer_object,
GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_latc,
GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc,
GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp,
GL_EXT_texture_env_add, GL_EXT_texture_env_combine,
GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_integer, GL_EXT_texture_lod, GL_EXT_texture_lod_bias,
GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_sRGB,
GL_EXT_texture_sRGB_decode, GL_EXT_texture_shared_exponent,
GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query,
GL_EXT_transform_feedback2, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra,
GL_EXT_vertex_attrib_64bit, GL_EXT_x11_sync_object, GL_IBM_rasterpos_clip,
GL_IBM_texture_mirrored_repeat, GL_KHR_blend_equation_advanced,
GL_KHR_context_flush_control, GL_KHR_debug,
GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness,
GL_KTX_buffer_region, GL_NVX_conditional_render, GL_NVX_gpu_memory_info,
GL_NVX_nvenc_interop, GL_NV_ES1_1_compatibility,
GL_NV_ES3_1_compatibility, GL_NV_bindless_multi_draw_indirect,
GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture,
GL_NV_blend_equation_advanced, GL_NV_blend_square, GL_NV_command_list,
GL_NV_compute_program5, GL_NV_conditional_render,
GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_deep_texture3D,
GL_NV_depth_buffer_float, GL_NV_depth_clamp, GL_NV_draw_texture,
GL_NV_explicit_multisample, GL_NV_fence, GL_NV_float_buffer,
GL_NV_fog_distance, GL_NV_fragment_program, GL_NV_fragment_program2,
GL_NV_fragment_program_option, GL_NV_framebuffer_multisample_coverage,
GL_NV_geometry_shader4, GL_NV_gpu_program4, GL_NV_gpu_program4_1,
GL_NV_gpu_program5, GL_NV_gpu_program5_mem_extended,
GL_NV_gpu_program_fp64, GL_NV_gpu_shader5, GL_NV_half_float,
GL_NV_internalformat_sample_query, GL_NV_light_max_exponent,
GL_NV_multisample_coverage, GL_NV_multisample_filter_hint,
GL_NV_occlusion_query, GL_NV_packed_depth_stencil,
GL_NV_parameter_buffer_object, GL_NV_parameter_buffer_object2,
GL_NV_path_rendering, GL_NV_pixel_data_range, GL_NV_point_sprite,
GL_NV_primitive_restart, GL_NV_register_combiners,
GL_NV_register_combiners2, GL_NV_shader_atomic_counters,
GL_NV_shader_atomic_float, GL_NV_shader_buffer_load,
GL_NV_shader_storage_buffer_object, GL_NV_shader_thread_group,
GL_NV_shader_thread_shuffle, GL_NV_texgen_reflection,
GL_NV_texture_barrier, GL_NV_texture_compression_vtc,
GL_NV_texture_env_combine4, GL_NV_texture_multisample,
GL_NV_texture_rectangle, GL_NV_texture_shader, GL_NV_texture_shader2,
GL_NV_texture_shader3, GL_NV_transform_feedback,
GL_NV_transform_feedback2, GL_NV_uniform_buffer_unified_memory,
GL_NV_vdpau_interop, GL_NV_vertex_array_range, GL_NV_vertex_array_range2,
GL_NV_vertex_attrib_integer_64bit, GL_NV_vertex_buffer_unified_memory,
GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2,
GL_NV_vertex_program2_option, GL_NV_vertex_program3, GL_NV_video_capture,
GL_S3_s3tc, GL_SGIS_generate_mipmap, GL_SGIS_texture_lod,
GL_SGIX_depth_texture, GL_SGIX_shadow, GL_SUN_slice_accum

OpenGL version string: 4.5.0 NVIDIA 352.39
OpenGL shading language version string: 4.50 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
GL_AMD_multi_draw_indirect, GL_AMD_seamless_cubemap_per_texture,
GL_ARB_ES2_compatibility, GL_ARB_ES3_1_compatibility,
GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance,
GL_ARB_bindless_texture, GL_ARB_blend_func_extended,
GL_ARB_buffer_storage, GL_ARB_clear_buffer_object, GL_ARB_clear_texture,
GL_ARB_clip_control, GL_ARB_color_buffer_float, GL_ARB_compatibility,
GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader,
GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted,
GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_copy_image,
GL_ARB_cull_distance, GL_ARB_debug_output, GL_ARB_depth_buffer_float,
GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_derivative_control,
GL_ARB_direct_state_access, GL_ARB_draw_buffers,
GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex,
GL_ARB_draw_indirect, GL_ARB_draw_instanced, GL_ARB_enhanced_layouts,
GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location,
GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport,
GL_ARB_fragment_program, GL_ARB_fragment_program_shadow,
GL_ARB_fragment_shader, GL_ARB_framebuffer_no_attachments,
GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB,
GL_ARB_geometry_shader4, GL_ARB_get_program_binary,
GL_ARB_get_texture_sub_image, GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64,
GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging,
GL_ARB_indirect_parameters, GL_ARB_instanced_arrays,
GL_ARB_internalformat_query, GL_ARB_internalformat_query2,
GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment,
GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect,
GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query,
GL_ARB_occlusion_query2, GL_ARB_pipeline_statistics_query,
GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite,
GL_ARB_program_interface_query, GL_ARB_provoking_vertex,
GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior,
GL_ARB_robustness, GL_ARB_sample_shading, GL_ARB_sampler_objects,
GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture,
GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counters,
GL_ARB_shader_bit_encoding, GL_ARB_shader_draw_parameters,
GL_ARB_shader_group_vote, GL_ARB_shader_image_load_store,
GL_ARB_shader_image_size, GL_ARB_shader_objects, GL_ARB_shader_precision,
GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine,
GL_ARB_shader_texture_image_samples, GL_ARB_shader_texture_lod,
GL_ARB_shading_language_100, GL_ARB_shading_language_420pack,
GL_ARB_shading_language_include, GL_ARB_shading_language_packing,
GL_ARB_shadow, GL_ARB_sparse_buffer, GL_ARB_sparse_texture,
GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader,
GL_ARB_texture_barrier, GL_ARB_texture_border_clamp,
GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32,
GL_ARB_texture_buffer_range, GL_ARB_texture_compression,
GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc,
GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array,
GL_ARB_texture_env_add, GL_ARB_texture_env_combine,
GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3,
GL_ARB_texture_float, GL_ARB_texture_gather,
GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat,
GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two,
GL_ARB_texture_query_levels, GL_ARB_texture_query_lod,
GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui,
GL_ARB_texture_stencil8, GL_ARB_texture_storage,
GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle,
GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2,
GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced,
GL_ARB_transform_feedback_overflow_query, GL_ARB_transpose_matrix,
GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra,
GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit,
GL_ARB_vertex_attrib_binding, GL_ARB_vertex_buffer_object,
GL_ARB_vertex_program, GL_ARB_vertex_shader,
GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev,
GL_ARB_viewport_array, GL_ARB_window_pos, GL_ATI_draw_buffers,
GL_ATI_texture_float, GL_ATI_texture_mirror_once,
GL_EXTX_framebuffer_mixed_formats, GL_EXT_Cg_shader, GL_EXT_abgr,
GL_EXT_bgra, GL_EXT_bindable_uniform, GL_EXT_blend_color,
GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate,
GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array,
GL_EXT_depth_bounds_test, GL_EXT_direct_state_access,
GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements,
GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample,
GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object,
GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4,
GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4,
GL_EXT_import_sync_object, GL_EXT_multi_draw_arrays,
GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_packed_pixels,
GL_EXT_pixel_buffer_object, GL_EXT_point_parameters,
GL_EXT_polygon_offset_clamp, GL_EXT_provoking_vertex,
GL_EXT_rescale_normal, GL_EXT_secondary_color,
GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color,
GL_EXT_shader_image_load_store, GL_EXT_shader_integer_mix,
GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap,
GL_EXT_texture3D, GL_EXT_texture_array, GL_EXT_texture_buffer_object,
GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_latc,
GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc,
GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp,
GL_EXT_texture_env_add, GL_EXT_texture_env_combine,
GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_integer, GL_EXT_texture_lod, GL_EXT_texture_lod_bias,
GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_sRGB,
GL_EXT_texture_sRGB_decode, GL_EXT_texture_shared_exponent,
GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query,
GL_EXT_transform_feedback2, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra,
GL_EXT_vertex_attrib_64bit, GL_EXT_x11_sync_object, GL_IBM_rasterpos_clip,
GL_IBM_texture_mirrored_repeat, GL_KHR_blend_equation_advanced,
GL_KHR_context_flush_control, GL_KHR_debug,
GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness,
GL_KTX_buffer_region, GL_NVX_conditional_render, GL_NVX_gpu_memory_info,
GL_NVX_nvenc_interop, GL_NV_ES1_1_compatibility,
GL_NV_ES3_1_compatibility, GL_NV_bindless_multi_draw_indirect,
GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture,
GL_NV_blend_equation_advanced, GL_NV_blend_square, GL_NV_command_list,
GL_NV_compute_program5, GL_NV_conditional_render,
GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_deep_texture3D,
GL_NV_depth_buffer_float, GL_NV_depth_clamp, GL_NV_draw_texture,
GL_NV_explicit_multisample, GL_NV_fence, GL_NV_float_buffer,
GL_NV_fog_distance, GL_NV_fragment_program, GL_NV_fragment_program2,
GL_NV_fragment_program_option, GL_NV_framebuffer_multisample_coverage,
GL_NV_geometry_shader4, GL_NV_gpu_program4, GL_NV_gpu_program4_1,
GL_NV_gpu_program5, GL_NV_gpu_program5_mem_extended,
GL_NV_gpu_program_fp64, GL_NV_gpu_shader5, GL_NV_half_float,
GL_NV_internalformat_sample_query, GL_NV_light_max_exponent,
GL_NV_multisample_coverage, GL_NV_multisample_filter_hint,
GL_NV_occlusion_query, GL_NV_packed_depth_stencil,
GL_NV_parameter_buffer_object, GL_NV_parameter_buffer_object2,
GL_NV_path_rendering, GL_NV_pixel_data_range, GL_NV_point_sprite,
GL_NV_primitive_restart, GL_NV_register_combiners,
GL_NV_register_combiners2, GL_NV_shader_atomic_counters,
GL_NV_shader_atomic_float, GL_NV_shader_buffer_load,
GL_NV_shader_storage_buffer_object, GL_NV_shader_thread_group,
GL_NV_shader_thread_shuffle, GL_NV_texgen_reflection,
GL_NV_texture_barrier, GL_NV_texture_compression_vtc,
GL_NV_texture_env_combine4, GL_NV_texture_multisample,
GL_NV_texture_rectangle, GL_NV_texture_shader, GL_NV_texture_shader2,
GL_NV_texture_shader3, GL_NV_transform_feedback,
GL_NV_transform_feedback2, GL_NV_uniform_buffer_unified_memory,
GL_NV_vdpau_interop, GL_NV_vertex_array_range, GL_NV_vertex_array_range2,
GL_NV_vertex_attrib_integer_64bit, GL_NV_vertex_buffer_unified_memory,
GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2,
GL_NV_vertex_program2_option, GL_NV_vertex_program3, GL_NV_video_capture,
GL_S3_s3tc, GL_SGIS_generate_mipmap, GL_SGIS_texture_lod,
GL_SGIX_depth_texture, GL_SGIX_shadow, GL_SUN_slice_accum

OpenGL ES profile version string: OpenGL ES 3.1 NVIDIA 352.39
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
GL_ANDROID_extension_pack_es31a, GL_EXT_base_instance,
GL_EXT_blend_minmax, GL_EXT_buffer_storage, GL_EXT_color_buffer_float,
GL_EXT_color_buffer_half_float, GL_EXT_copy_image, GL_EXT_debug_label,
GL_EXT_discard_framebuffer, GL_EXT_disjoint_timer_query,
GL_EXT_draw_buffers_indexed, GL_EXT_draw_elements_base_vertex,
GL_EXT_frag_depth, GL_EXT_geometry_point_size, GL_EXT_geometry_shader,
GL_EXT_gpu_shader5, GL_EXT_map_buffer_range, GL_EXT_multi_draw_indirect,
GL_EXT_occlusion_query_boolean, GL_EXT_primitive_bounding_box,
GL_EXT_render_snorm, GL_EXT_robustness, GL_EXT_sRGB,
GL_EXT_sRGB_write_control, GL_EXT_separate_shader_objects,
GL_EXT_shader_implicit_conversions, GL_EXT_shader_integer_mix,
GL_EXT_shader_io_blocks, GL_EXT_shader_texture_lod,
GL_EXT_shadow_samplers, GL_EXT_sparse_texture,
GL_EXT_tessellation_point_size, GL_EXT_tessellation_shader,
GL_EXT_texture_border_clamp, GL_EXT_texture_buffer,
GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_s3tc,
GL_EXT_texture_cube_map_array, GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_format_BGRA8888, GL_EXT_texture_norm16, GL_EXT_texture_rg,
GL_EXT_texture_sRGB_decode, GL_EXT_texture_storage, GL_EXT_texture_view,
GL_EXT_unpack_subimage, GL_KHR_blend_equation_advanced,
GL_KHR_context_flush_control, GL_KHR_debug,
GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness, GL_NV_bgr,
GL_NV_bindless_texture, GL_NV_blend_equation_advanced,
GL_NV_conditional_render, GL_NV_copy_buffer, GL_NV_copy_image,
GL_NV_draw_buffers, GL_NV_draw_instanced, GL_NV_draw_texture,
GL_NV_explicit_attrib_location, GL_NV_fbo_color_attachments,
GL_NV_framebuffer_blit, GL_NV_framebuffer_multisample,
GL_NV_generate_mipmap_sRGB, GL_NV_gpu_shader5, GL_NV_image_formats,
GL_NV_instanced_arrays, GL_NV_internalformat_sample_query,
GL_NV_non_square_matrices, GL_NV_occlusion_query_samples,
GL_NV_pack_subimage, GL_NV_packed_float, GL_NV_packed_float_linear,
GL_NV_path_rendering, GL_NV_pixel_buffer_object, GL_NV_polygon_mode,
GL_NV_read_buffer, GL_NV_read_depth, GL_NV_read_depth_stencil,
GL_NV_read_stencil, GL_NV_sRGB_formats,
GL_NV_shader_noperspective_interpolation, GL_NV_shadow_samplers_array,
GL_NV_shadow_samplers_cube, GL_NV_texture_array,
GL_NV_texture_border_clamp, GL_NV_texture_compression_latc,
GL_NV_texture_compression_s3tc, GL_NV_texture_compression_s3tc_update,
GL_NV_timer_query, GL_NV_viewport_array,
GL_OES_compressed_ETC1_RGB8_texture, GL_OES_copy_image, GL_OES_depth24,
GL_OES_depth32, GL_OES_depth_texture, GL_OES_depth_texture_cube_map,
GL_OES_draw_buffers_indexed, GL_OES_draw_elements_base_vertex,
GL_OES_element_index_uint, GL_OES_fbo_render_mipmap,
GL_OES_geometry_point_size, GL_OES_geometry_shader,
GL_OES_get_program_binary, GL_OES_gpu_shader5, GL_OES_mapbuffer,
GL_OES_packed_depth_stencil, GL_OES_primitive_bounding_box,
GL_OES_rgb8_rgba8, GL_OES_sample_shading, GL_OES_sample_variables,
GL_OES_shader_image_atomic, GL_OES_shader_io_blocks,
GL_OES_shader_multisample_interpolation, GL_OES_standard_derivatives,
GL_OES_tessellation_point_size, GL_OES_tessellation_shader,
GL_OES_texture_border_clamp, GL_OES_texture_buffer,
GL_OES_texture_cube_map_array, GL_OES_texture_float,
GL_OES_texture_float_linear, GL_OES_texture_half_float,
GL_OES_texture_half_float_linear, GL_OES_texture_npot,
GL_OES_texture_stencil8, GL_OES_texture_storage_multisample_2d_array,
GL_OES_texture_view, GL_OES_vertex_array_object, GL_OES_vertex_half_float

276 GLX Visuals


#6

After some months trying to figure out how to make the drivers work, I finally have something to report. Pardon the delay, but this could be useful at least for archive purposes.

I opted to use @Antonin_Skoch’s choice of WM, and using XFCE solved part of the problem. The driver is another story.

It so happens that every NVidia card on a laptop made with the Optimus chipset has its quirks when it comes to communicating with the discrete GPU. Even though using the command lspci | grep VGA shows both the Intel graphics card AND the discrete NVidia card, the only way to communicate to it is first through the integrated Intel GPU. This, of course, doesn’t play nice with Linux, and therefore fails to load the appropriate driver. Even worse, if you do this under gdm3, you’re sure to never get X running.

So instead of installing the NVidia drivers provided both on the official site and the Debian jessie repo, I had to install a driver which complies with how the Optimus chipset works, which is the bumblebee-nvidia driver. Once installed, it will always run on the Intel GPU until you explicitly require the discrete GPU. This is done by putting optirun before a command on the terminal.

Regarding this, my problem is solved. However, the performance of the discrete graphics card is actually worse than the integrated one, when clearly the specs (and Windows) disagree. This could be an issue with this specific laptop build (Lenovo Y510P). This is a matter of poor support from the manufacturer, and a failure to release source code for critical software that could’ve helped to make a proper driver, so I won’t keep asking for support regarding this.

As for the other computer running the FirePro V5700 (HP Z800 Workstation), it is an issue of outdated drivers not playing nice with Debian jessie. This issue is non-existent on wheezy, to my experience.

Thank you @rsmith, @jdtournier and @Antonin_Skoch, this was useful.
May this thread help anyone looking for what to install and what to get.

I’ll add any output you might consider relevant. Here I add the glxinfo output under optirun.
Setup is: Debian GNU/Linux 8 (jessie) 3.16.0-4-amd64, bumblebee-nvidia driver version 3.2.1-7, XFCE version 4.10

[details=Current glxinfo setup]name of display: :0.0 display: :0 screen: 0 direct rendering: Yes
server glx vendor string: NVIDIA Corporation server glx version
string: 1.4 server glx extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile,
GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
GLX_ARB_multisample, GLX_EXT_buffer_age,
GLX_EXT_create_context_es2_profile,
GLX_EXT_create_context_es_profile,
GLX_EXT_framebuffer_sRGB, GLX_EXT_stereo_tree,
GLX_EXT_swap_control,
GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_NV_delay_before_swap,
GLX_NV_float_buffer, GLX_NV_multisample_coverage,
GLX_SGIX_fbconfig,
GLX_SGIX_pbuffer, GLX_SGI_swap_control, GLX_SGI_video_sync client
glx vendor string: primus client glx version string: 1.4 client glx
extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile,
GLX_ARB_get_proc_address GLX version: 1.4 GLX extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile,
GLX_ARB_get_proc_address OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 750M/PCIe/SSE2 OpenGL core profile
version string: 4.4.0 NVIDIA 340.101 OpenGL core profile shading
language version string: 4.40 NVIDIA via Cg compiler OpenGL core
profile context flags: (none) OpenGL core profile profile mask: core
profile OpenGL core profile extensions:
GL_AMD_multi_draw_indirect, GL_AMD_seamless_cubemap_per_texture,
GL_ARB_ES2_compatibility, GL_ARB_ES3_compatibility,
GL_ARB_arrays_of_arrays, GL_ARB_base_instance,
GL_ARB_bindless_texture,
GL_ARB_blend_func_extended, GL_ARB_buffer_storage,
GL_ARB_clear_buffer_object, GL_ARB_clear_texture,
GL_ARB_color_buffer_float,
GL_ARB_compressed_texture_pixel_storage,
GL_ARB_compute_shader, GL_ARB_compute_variable_group_size,
GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_copy_image,
GL_ARB_debug_output, GL_ARB_depth_buffer_float,
GL_ARB_depth_clamp,
GL_ARB_depth_texture, GL_ARB_draw_buffers,
GL_ARB_draw_buffers_blend,
GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect,
GL_ARB_draw_instanced, GL_ARB_enhanced_layouts,
GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location,
GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport,
GL_ARB_fragment_program, GL_ARB_fragment_program_shadow,
GL_ARB_fragment_shader, GL_ARB_framebuffer_no_attachments,
GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB,
GL_ARB_geometry_shader4, GL_ARB_get_program_binary,
GL_ARB_gpu_shader5,
GL_ARB_gpu_shader_fp64, GL_ARB_half_float_pixel,
GL_ARB_half_float_vertex,
GL_ARB_imaging, GL_ARB_indirect_parameters,
GL_ARB_instanced_arrays,
GL_ARB_internalformat_query, GL_ARB_internalformat_query2,
GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment,
GL_ARB_map_buffer_range, GL_ARB_multi_bind,
GL_ARB_multi_draw_indirect,
GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query,
GL_ARB_occlusion_query2, GL_ARB_pixel_buffer_object,
GL_ARB_point_parameters, GL_ARB_point_sprite,
GL_ARB_program_interface_query, GL_ARB_provoking_vertex,
GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior,
GL_ARB_robustness, GL_ARB_sample_shading, GL_ARB_sampler_objects,
GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture,
GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counters,
GL_ARB_shader_bit_encoding, GL_ARB_shader_draw_parameters,
GL_ARB_shader_group_vote, GL_ARB_shader_image_load_store,
GL_ARB_shader_image_size, GL_ARB_shader_objects,
GL_ARB_shader_precision,
GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine,
GL_ARB_shader_texture_lod, GL_ARB_shading_language_100,
GL_ARB_shading_language_420pack, GL_ARB_shading_language_include,
GL_ARB_shading_language_packing, GL_ARB_shadow,
GL_ARB_sparse_texture,
GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader,
GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object,
GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range,
GL_ARB_texture_compression, GL_ARB_texture_compression_bptc,
GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map,
GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add,
GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar,
GL_ARB_texture_env_dot3, GL_ARB_texture_float,
GL_ARB_texture_gather,
GL_ARB_texture_mirror_clamp_to_edge,
GL_ARB_texture_mirrored_repeat,
GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two,
GL_ARB_texture_query_levels, GL_ARB_texture_query_lod,
GL_ARB_texture_rectangle, GL_ARB_texture_rg,
GL_ARB_texture_rgb10_a2ui,
GL_ARB_texture_stencil8, GL_ARB_texture_storage,
GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle,
GL_ARB_texture_view, GL_ARB_timer_query,
GL_ARB_transform_feedback2,
GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced,
GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object,
GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object,
GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_attrib_binding,
GL_ARB_vertex_buffer_object, GL_ARB_vertex_program,
GL_ARB_vertex_shader,
GL_ARB_vertex_type_10f_11f_11f_rev,
GL_ARB_vertex_type_2_10_10_10_rev,
GL_ARB_viewport_array, GL_ARB_window_pos, GL_ATI_draw_buffers,
GL_ATI_texture_float, GL_ATI_texture_mirror_once,
GL_EXTX_framebuffer_mixed_formats, GL_EXT_Cg_shader, GL_EXT_abgr,
GL_EXT_bgra, GL_EXT_bindable_uniform, GL_EXT_blend_color,
GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate,
GL_EXT_blend_minmax, GL_EXT_blend_subtract,
GL_EXT_compiled_vertex_array,
GL_EXT_depth_bounds_test, GL_EXT_direct_state_access,
GL_EXT_draw_buffers2, GL_EXT_draw_instanced,
GL_EXT_draw_range_elements,
GL_EXT_fog_coord, GL_EXT_framebuffer_blit,
GL_EXT_framebuffer_multisample,
GL_EXT_framebuffer_multisample_blit_scaled,
GL_EXT_framebuffer_object,
GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4,
GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4,
GL_EXT_import_sync_object, GL_EXT_multi_draw_arrays,
GL_EXT_packed_depth_stencil, GL_EXT_packed_float,
GL_EXT_packed_pixels,
GL_EXT_pixel_buffer_object, GL_EXT_point_parameters,
GL_EXT_provoking_vertex, GL_EXT_rescale_normal,
GL_EXT_secondary_color,
GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color,
GL_EXT_shader_image_load_store, GL_EXT_shader_integer_mix,
GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap,
GL_EXT_texture3D, GL_EXT_texture_array,
GL_EXT_texture_buffer_object,
GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_latc,
GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc,
GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp,
GL_EXT_texture_env_add, GL_EXT_texture_env_combine,
GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_integer, GL_EXT_texture_lod,
GL_EXT_texture_lod_bias,
GL_EXT_texture_mirror_clamp, GL_EXT_texture_object,
GL_EXT_texture_sRGB,
GL_EXT_texture_sRGB_decode, GL_EXT_texture_shared_exponent,
GL_EXT_texture_storage, GL_EXT_texture_swizzle,
GL_EXT_timer_query,
GL_EXT_transform_feedback2, GL_EXT_vertex_array,
GL_EXT_vertex_array_bgra,
GL_EXT_vertex_attrib_64bit, GL_EXT_x11_sync_object,
GL_IBM_rasterpos_clip,
GL_IBM_texture_mirrored_repeat, GL_KHR_blend_equation_advanced,
GL_KHR_debug, GL_KTX_buffer_region, GL_NVX_conditional_render,
GL_NVX_gpu_memory_info, GL_NVX_nvenc_interop,
GL_NV_ES1_1_compatibility,
GL_NV_ES3_1_compatibility, GL_NV_bindless_multi_draw_indirect,
GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture,
GL_NV_blend_equation_advanced, GL_NV_blend_square,
GL_NV_compute_program5,
GL_NV_conditional_render, GL_NV_copy_depth_to_color,
GL_NV_copy_image,
GL_NV_depth_buffer_float, GL_NV_depth_clamp, GL_NV_draw_texture,
GL_NV_explicit_multisample, GL_NV_fence, GL_NV_float_buffer,
GL_NV_fog_distance, GL_NV_fragment_program,
GL_NV_fragment_program2,
GL_NV_fragment_program_option,
GL_NV_framebuffer_multisample_coverage,
GL_NV_geometry_shader4, GL_NV_gpu_program4, GL_NV_gpu_program4_1,
GL_NV_gpu_program5, GL_NV_gpu_program5_mem_extended,
GL_NV_gpu_program_fp64, GL_NV_gpu_shader5, GL_NV_half_float,
GL_NV_light_max_exponent, GL_NV_multisample_coverage,
GL_NV_multisample_filter_hint, GL_NV_occlusion_query,
GL_NV_packed_depth_stencil, GL_NV_parameter_buffer_object,
GL_NV_parameter_buffer_object2, GL_NV_path_rendering,
GL_NV_pixel_data_range, GL_NV_point_sprite,
GL_NV_primitive_restart,
GL_NV_register_combiners, GL_NV_register_combiners2,
GL_NV_shader_atomic_counters, GL_NV_shader_atomic_float,
GL_NV_shader_buffer_load, GL_NV_shader_storage_buffer_object,
GL_NV_shader_thread_group, GL_NV_shader_thread_shuffle,
GL_NV_texgen_reflection, GL_NV_texture_barrier,
GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4,
GL_NV_texture_expand_normal, GL_NV_texture_multisample,
GL_NV_texture_rectangle, GL_NV_texture_shader,
GL_NV_texture_shader2,
GL_NV_texture_shader3, GL_NV_transform_feedback,
GL_NV_transform_feedback2, GL_NV_vdpau_interop,
GL_NV_vertex_array_range,
GL_NV_vertex_array_range2, GL_NV_vertex_attrib_integer_64bit,
GL_NV_vertex_buffer_unified_memory, GL_NV_vertex_program,
GL_NV_vertex_program1_1, GL_NV_vertex_program2,
GL_NV_vertex_program2_option, GL_NV_vertex_program3, GL_S3_s3tc,
GL_SGIS_generate_mipmap, GL_SGIS_texture_lod,
GL_SGIX_depth_texture,
GL_SGIX_shadow, GL_SUN_slice_accum OpenGL version string: 4.4.0
NVIDIA 340.101 OpenGL shading language version string: 4.40 NVIDIA via
Cg compiler OpenGL context flags: (none) OpenGL profile mask: (none)
OpenGL extensions:
GL_AMD_multi_draw_indirect, GL_AMD_seamless_cubemap_per_texture,
GL_ARB_ES2_compatibility, GL_ARB_ES3_compatibility,
GL_ARB_arrays_of_arrays, GL_ARB_base_instance,
GL_ARB_bindless_texture,
GL_ARB_blend_func_extended, GL_ARB_buffer_storage,
GL_ARB_clear_buffer_object, GL_ARB_clear_texture,
GL_ARB_color_buffer_float, GL_ARB_compatibility,
GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader,
GL_ARB_compute_variable_group_size, GL_ARB_conservative_depth,
GL_ARB_copy_buffer, GL_ARB_copy_image, GL_ARB_debug_output,
GL_ARB_depth_buffer_float, GL_ARB_depth_clamp,
GL_ARB_depth_texture,
GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend,
GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect,
GL_ARB_draw_instanced, GL_ARB_enhanced_layouts,
GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location,
GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport,
GL_ARB_fragment_program, GL_ARB_fragment_program_shadow,
GL_ARB_fragment_shader, GL_ARB_framebuffer_no_attachments,
GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB,
GL_ARB_geometry_shader4, GL_ARB_get_program_binary,
GL_ARB_gpu_shader5,
GL_ARB_gpu_shader_fp64, GL_ARB_half_float_pixel,
GL_ARB_half_float_vertex,
GL_ARB_imaging, GL_ARB_indirect_parameters,
GL_ARB_instanced_arrays,
GL_ARB_internalformat_query, GL_ARB_internalformat_query2,
GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment,
GL_ARB_map_buffer_range, GL_ARB_multi_bind,
GL_ARB_multi_draw_indirect,
GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query,
GL_ARB_occlusion_query2, GL_ARB_pixel_buffer_object,
GL_ARB_point_parameters, GL_ARB_point_sprite,
GL_ARB_program_interface_query, GL_ARB_provoking_vertex,
GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior,
GL_ARB_robustness, GL_ARB_sample_shading, GL_ARB_sampler_objects,
GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture,
GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counters,
GL_ARB_shader_bit_encoding, GL_ARB_shader_draw_parameters,
GL_ARB_shader_group_vote, GL_ARB_shader_image_load_store,
GL_ARB_shader_image_size, GL_ARB_shader_objects,
GL_ARB_shader_precision,
GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine,
GL_ARB_shader_texture_lod, GL_ARB_shading_language_100,
GL_ARB_shading_language_420pack, GL_ARB_shading_language_include,
GL_ARB_shading_language_packing, GL_ARB_shadow,
GL_ARB_sparse_texture,
GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader,
GL_ARB_texture_border_clamp, GL_ARB_texture_buffer_object,
GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range,
GL_ARB_texture_compression, GL_ARB_texture_compression_bptc,
GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map,
GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add,
GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar,
GL_ARB_texture_env_dot3, GL_ARB_texture_float,
GL_ARB_texture_gather,
GL_ARB_texture_mirror_clamp_to_edge,
GL_ARB_texture_mirrored_repeat,
GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two,
GL_ARB_texture_query_levels, GL_ARB_texture_query_lod,
GL_ARB_texture_rectangle, GL_ARB_texture_rg,
GL_ARB_texture_rgb10_a2ui,
GL_ARB_texture_stencil8, GL_ARB_texture_storage,
GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle,
GL_ARB_texture_view, GL_ARB_timer_query,
GL_ARB_transform_feedback2,
GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced,
GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object,
GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object,
GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_attrib_binding,
GL_ARB_vertex_buffer_object, GL_ARB_vertex_program,
GL_ARB_vertex_shader,
GL_ARB_vertex_type_10f_11f_11f_rev,
GL_ARB_vertex_type_2_10_10_10_rev,
GL_ARB_viewport_array, GL_ARB_window_pos, GL_ATI_draw_buffers,
GL_ATI_texture_float, GL_ATI_texture_mirror_once,
GL_EXTX_framebuffer_mixed_formats, GL_EXT_Cg_shader, GL_EXT_abgr,
GL_EXT_bgra, GL_EXT_bindable_uniform, GL_EXT_blend_color,
GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate,
GL_EXT_blend_minmax, GL_EXT_blend_subtract,
GL_EXT_compiled_vertex_array,
GL_EXT_depth_bounds_test, GL_EXT_direct_state_access,
GL_EXT_draw_buffers2, GL_EXT_draw_instanced,
GL_EXT_draw_range_elements,
GL_EXT_fog_coord, GL_EXT_framebuffer_blit,
GL_EXT_framebuffer_multisample,
GL_EXT_framebuffer_multisample_blit_scaled,
GL_EXT_framebuffer_object,
GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4,
GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4,
GL_EXT_import_sync_object, GL_EXT_multi_draw_arrays,
GL_EXT_packed_depth_stencil, GL_EXT_packed_float,
GL_EXT_packed_pixels,
GL_EXT_pixel_buffer_object, GL_EXT_point_parameters,
GL_EXT_provoking_vertex, GL_EXT_rescale_normal,
GL_EXT_secondary_color,
GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color,
GL_EXT_shader_image_load_store, GL_EXT_shader_integer_mix,
GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap,
GL_EXT_texture3D, GL_EXT_texture_array,
GL_EXT_texture_buffer_object,
GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_latc,
GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc,
GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp,
GL_EXT_texture_env_add, GL_EXT_texture_env_combine,
GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_integer, GL_EXT_texture_lod,
GL_EXT_texture_lod_bias,
GL_EXT_texture_mirror_clamp, GL_EXT_texture_object,
GL_EXT_texture_sRGB,
GL_EXT_texture_sRGB_decode, GL_EXT_texture_shared_exponent,
GL_EXT_texture_storage, GL_EXT_texture_swizzle,
GL_EXT_timer_query,
GL_EXT_transform_feedback2, GL_EXT_vertex_array,
GL_EXT_vertex_array_bgra,
GL_EXT_vertex_attrib_64bit, GL_EXT_x11_sync_object,
GL_IBM_rasterpos_clip,
GL_IBM_texture_mirrored_repeat, GL_KHR_blend_equation_advanced,
GL_KHR_debug, GL_KTX_buffer_region, GL_NVX_conditional_render,
GL_NVX_gpu_memory_info, GL_NVX_nvenc_interop,
GL_NV_ES1_1_compatibility,
GL_NV_ES3_1_compatibility, GL_NV_bindless_multi_draw_indirect,
GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture,
GL_NV_blend_equation_advanced, GL_NV_blend_square,
GL_NV_compute_program5,
GL_NV_conditional_render, GL_NV_copy_depth_to_color,
GL_NV_copy_image,
GL_NV_depth_buffer_float, GL_NV_depth_clamp, GL_NV_draw_texture,
GL_NV_explicit_multisample, GL_NV_fence, GL_NV_float_buffer,
GL_NV_fog_distance, GL_NV_fragment_program,
GL_NV_fragment_program2,
GL_NV_fragment_program_option,
GL_NV_framebuffer_multisample_coverage,
GL_NV_geometry_shader4, GL_NV_gpu_program4, GL_NV_gpu_program4_1,
GL_NV_gpu_program5, GL_NV_gpu_program5_mem_extended,
GL_NV_gpu_program_fp64, GL_NV_gpu_shader5, GL_NV_half_float,
GL_NV_light_max_exponent, GL_NV_multisample_coverage,
GL_NV_multisample_filter_hint, GL_NV_occlusion_query,
GL_NV_packed_depth_stencil, GL_NV_parameter_buffer_object,
GL_NV_parameter_buffer_object2, GL_NV_path_rendering,
GL_NV_pixel_data_range, GL_NV_point_sprite,
GL_NV_primitive_restart,
GL_NV_register_combiners, GL_NV_register_combiners2,
GL_NV_shader_atomic_counters, GL_NV_shader_atomic_float,
GL_NV_shader_buffer_load, GL_NV_shader_storage_buffer_object,
GL_NV_shader_thread_group, GL_NV_shader_thread_shuffle,
GL_NV_texgen_reflection, GL_NV_texture_barrier,
GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4,
GL_NV_texture_expand_normal, GL_NV_texture_multisample,
GL_NV_texture_rectangle, GL_NV_texture_shader,
GL_NV_texture_shader2,
GL_NV_texture_shader3, GL_NV_transform_feedback,
GL_NV_transform_feedback2, GL_NV_vdpau_interop,
GL_NV_vertex_array_range,
GL_NV_vertex_array_range2, GL_NV_vertex_attrib_integer_64bit,
GL_NV_vertex_buffer_unified_memory, GL_NV_vertex_program,
GL_NV_vertex_program1_1, GL_NV_vertex_program2,
GL_NV_vertex_program2_option, GL_NV_vertex_program3, GL_S3_s3tc,
GL_SGIS_generate_mipmap, GL_SGIS_texture_lod,
GL_SGIX_depth_texture,
GL_SGIX_shadow, GL_SUN_slice_accum 20 GLX Visuals
visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat

[redacted]
[/details]