As we can see, the GL_ARB_multisample extension is supported, yet, columns "MS num" and "MS bufs", which I guess refer to MSAA, are desperately all set to 0.

What could I do to fix that ? It can only come from the Linux environment since MSAA works flawlessly on my windows' OpenGL install.

In doubt, I installed a PPA to try and upgrade mesa to version 17 (as shown by glxinfo), but still no MSAA support.
3D acceleration is enabled in Virtualbox, so I don't think the problem could come from here.

Could you please help me get MSAA working on this machine ? I'm not yet familiar enough with Linux graphics to work this out on my own
Or, if it can't and won't work on it, I'd like to understand why.

It most probably comes from the fact that you run under a virtual machine.

So whether stick with the VM. And then you'll have to simulate MSAA (which will certainly be slow).
Or whether install a dual-boot, plus the official nvidia drivers, which will give you full plain support.

GPU Hardware : NVIDIA GeForce GTX 970
...
The problem is that as soon as I add GLX_SAMPLES_BUFFERS to the visual attribute list to request a MSAA-enabled FB config, the returned FB config array becomes empty:
...

It most probably comes from the fact that you run under a virtual machine.

So whether stick with the VM. And then you'll have to simulate MSAA (which will certainly be slow).
Or whether install a dual-boot, plus the official nvidia drivers, which will give you full plain support.

Indeed I think being in a VM is the issue.

Actually I have a dual boot with an Arch Linux on my computer. The only reason I run a VM is for convenience of not having to reboot when working on cross-platform thingies.
On Arch, glxinfo correctly detects the Nvidia GPU and finds some MSAA-able configs, so it's definitely a VM issue.

Dark Photon : I have thought of that, but given the VM is actually detecting the "fake" virtualbox graphics adapter, not the actual Nvidia GPU, would installing the Nvidia drivers change anything? I'll give it a try.

I'll keep doing my research and make a new post if I get lucky, otherwise, rebooting in order to test MSAA seems the only way.

There may be another option you might consider.

What you're trying to do now is to render MSAA directly to the window. When you're doing this in a Linux VM running inside of Windows, this requires proper GLX->WGL emulation (including MSAA support) in addition to OpenGL emulation in order to work properly.

However, what you could do instead is 1) render MSAA to an off-screen framebuffer (e.g. to GL textures and/or renderbuffers using an FBO), 2) use glBlitFramebuffer to downsample that MSAA image to a non-MSAA image, and then blit or render that downsampled image to the window.

This sounds hard but it's really pretty easy. The advantage of this approach is that it keeps MSAA support completely inside of OpenGL and doesn't require any MSAA support in the GLX->WGL emulation. If you implemented it this way, it would work fine when not running inside a VM and might work fine as well inside the VM.