VOGONS


First post, by 386SX

User metadata
Rank l33t
Rank
l33t

Hello,

I'd like to ask if for a modern linux config (18.04 and 5.x kernel with nouveau driver) is there any possible way to use OpenGL acceleration into modern browsers that seems to not support it both Firefox or Chromium based ones. I suppose the reported OpenGL 1.5 version is the problem but I thought the ANGLE sw would have solved that and instead it goes back to sw renderer. I'm using a Zotac Geforce FX 5200 PCI with the open nouveau driver cause the proprietary one I suppose would not work with modern Xorg version I didn't try but I've read last supported ubuntu version was the 14.04.x.
Are there other GL wrappers to make more use of this GPU in linux?

Thanks

Reply 1 of 2, by acl

User metadata
Rank Oldbie
Rank
Oldbie

Hi,

About the nvidia driver (proprietary one) :
According to nvidia driver website, the last driver version supporting FX5200 is nvidia-173 and, yes, like you said, Ubuntu 14.04 was the last supporting version https://launchpad.net/ubuntu/+source/nvidia-g … .14.39-0ubuntu3
So the kernel module probably won't build in newer kernels. And without the kernel module, no hardware support.
If you really want to go this way, you should be able to configure something usable with VirtualGL + a KVM virtual machine running 14.04 + PCIe passthrough. But... that may be painfull

About Nouveau driver :
My daily computer runs Linux + Nvidia cards for around 10years, but i never ever used Nouveau. So my experience here is a bit limited.
While the proprietary driver is an all in one package providing the driver + a closed source OpenGL lib. Nouveau is a Gallium3d driver.
Gallium3D is a kind of generic API for drivers, in an attempt to standardize most free/opensource drivers code. Drivers using Gallium3D are exposing a similar API interface.
The OpenGL implementation used is Mesa. And Mesa talks to the driver using the Gallium3D API.
So (again, i can be wrong), the OpenGL api version reported by the system is probably independant from the Gallium3d driver used as backend.
So you can probably have a support for OpenGL 3.X or 4.X with any card with a decent Gallium3D driver (ATI/AMD, Intel, Nvidia, whatever).
Mesa/Gallium is doing the magic by compiling the GL operations for the card's using some generated shader code.

According to ubuntu packages list, mesa version for Ubuntu 18.04 is 19.2 and should support OpenGL 4.5 (see here https://en.wikipedia.org/wiki/Mesa_(com ... ering_APIs)
On your system, there should be something to install / configure to enable Mesa support for the GL api version you need.
Or maybe check that Gallium3D is really used (and not a software rasterizer like llvmpipe or swrast)

"Hello, my friend. Stay awhile and listen..."
My collection (not up to date)

Reply 2 of 2, by 386SX

User metadata
Rank l33t
Rank
l33t

Thanks for the answer. The Xorg version used seems the 20.0.x and reading around the Zotac homepage of the old Geforce FX 5200 PCI specs it seems correct that the OpenGL version supported in hardware completely was up to the 1.5 version even if I don't understand, wasn't the NV34 compatible with OpenGL 2.0 or my memory about the API versions is wrong?

Anyway at least with the simple mesa-utils opengl test it is working in hardware considering the very slow cpu it stays at vsync frame rate with almost no cpu utilized not using llvmpipe sw renderer for sure and glxinfo confirm the usage of the specific NV34 OpenGL 1.5 support, but most apps requires at least OpenGL 2.0 or more nowdays like for example the web browsers acceleration (and both browsers seems to blacklist nouveau driver even if forcing it, instead of using it with the Angle wrapper it goes to the SwiftShader sw renderer).

I have two more modern PCI video card already tested and much faster for this old PCI mainboard but I was wondering if these old solutions like the FX 5200 PCI, that seems to use a "simpler" PCI-AGP bridge IC compared to the more complex PCIe-PCI bridges, it might have less CPU overhead/chipset latency on slower systems. In fact I was wondering if something like a "modern" Rage XL PCI (those ones that are built nowdays with old chips maybe using the mach64 still available driver package) or even a Radeon 7000 PCI would be better than some modern last extreme PCI video cards using very complex IC bridges (obviously not for the 3D part I imagine not working for the Rage series chip and probably discontinued for the RV100).