Linux Lite: Video hardware acceleration in web browser on NVIDIA GeForce 210 (NV50) [solved]

Status
Not open for further replies.

andrewz1986

New Member
MODERATOR'S NOTE: I am posting this here as a "Stickie" because it is a good example of how older - legacy - hardware can get a new lease of life under Linux, and as a bonus, the OP (Original Poster) has solved his own problem :). I am taking no further input on it, but if you feel you have a similar problem, start your own Thread and by all means link to this one. Wizard

Take it away, Andrew!


"Solved" update:
I solved non-working video hardware acceleration in web browser this way, while no terminal commands were required. I used GUI tools, which you can find via search tool in Whisker "Start" menu. At first, I run "Install Updates" from the start-up splash screen that shows up after installation, just to make sure all apps and drivers are up to date. Then I opened Synaptics Package Manager (Install/Remove Software) and made sure that libvdpau-va-gl1 is installed aside mesa-vdpau-drivers. Then I made sure that official (non-free) NVIDIA binary drivers are selected in "Install Drivers" tool (third party drivers section).

When playing 480p or 720p video in browser, I run Resource Usage tool, where CPU load stabilized at around 50 to 80 percent (I had 100 percent before and getting choppy framerate). That was definitive answer that it is working and impression of smooth framerate is not a placebo. Before, I could hardly watch 480p video in full screen. After following these steps, I was able to watch 720p video in full screen without any performance issues.

I remember I tried to install vdpau drivers before and it did not work. The probable reason was that I had alternative (free) drivers selected.

Original post:
Hi. Sorry for lame questions, but I'm total linux noob. I have an old PC (the base is as old as 2005) I've been happily using with Windows XP for many years, but as developers stopped making modern browsers for it, it became less and less usable, although there is still life in the hardware. Specs are as follows:

CPU: AMD Athlon 64 3000+ 1 800 MHz (939 Socket)
MB: MSI K8N Neo4 SLI (nForce4 chipset)
GPU: GIGABYTE 210 HD Experience Silent 1GB
RAM: 1,5 GB DDR 400 MHz
Storage: Samsung SSD 830 Series 64 GB
Sound: onboard Creative Labs Sound Blaster Live 24-bit
Network: 100Mbps PCI card


I decided to install Linux with a single requirement – to use the PC for fully-fledged internet browsing (WebGL, Google Widevine, DRM, ...), including smooth video streaming. Unfortunately, I was not able to achieve this. The reason was always the same: I couldn't make hardware acceleration work, thus suffering from low performance (480p streaming video gives me 100 percent CPU load), no matter what distribution (Debian-based BunsenLabs x64 that works pretty well on my old notebook of the same age, Lubuntu x32 or Linux Mint x64), browser (Firefox ESR, Firefox Quantum, Chrome 78 or Chromium) and GPU drivers (open source or from NVIDIA) I used. The closest I got was with Linux Mint and Chromium Beta (no viable stable release?) as this guide suggested, but I failed at the end the same way as MasterCatz (the latest comment post in the utter bottom).

Could you please give me a tip for proper, low HW requirements distribution, or/and a set of terminal commands so that I could make it work in Linux Mint x64? Or is it too much too ask from current Linux (drivers) development and my hardware? Thanks.
 
Last edited by a moderator:


Nik-Ken-Bah

Active Member
G'day @andrewz1986 and welcome to the community.
First off I myself am only a beginner in using Linux mint so may be @wizardfromoz , @atanere and @dos2unix maybe more of a help than I.
But I noticed one thing and that was the size of your RAM: 1,5 Gb DDR 400 MHz. Are you able to increase the amount of ram?
I currently run Linux Mint 19.2 and it takes up 3 Gb ram the same as Win 7 which I run off a different HD than the Mint installation. But they say system requirements for it is
1 Gb RAM (2 Gb recommended for a comfortable usage).
This is what maybe causing half your problem from my view point.
But here is a list of lighter weight distros


Have a look at it and just see if any are to your liking and have the possibility of help in solving your problem.
 

andrewz1986

New Member
G'day @andrewz1986 and welcome to the community.
First off I myself am only a beginner in using Linux mint so may be @wizardfromoz , @atanere and @dos2unix maybe more of a help than I.
But I noticed one thing and that was the size of your RAM: 1,5 Gb DDR 400 MHz. Are you able to increase the amount of ram?
I currently run Linux Mint 19.2 and it takes up 3 Gb ram the same as Win 7 which I run off a different HD than the Mint installation. But they say system requirements for it is
1 Gb RAM (2 Gb recommended for a comfortable usage).
This is what maybe causing half your problem from my view point.
But here is a list of lighter weight distros


Have a look at it and just see if any are to your liking and have the possibility of help in solving your problem.
Thanks for your reply. In case Linux work similarly to Windows in terms of memory usage, it fills RAM depending on the capacity available. That means the more RAM capacity you have, the more the system takes while running.

As I said in OP, I'm not tied to one distribution. My priority is fully-fledged web browser experience. Until like 2016, Windows XP provided me this, but internet video and other online services switched to newer technologies, while browsers for Windows XP got stuck in development. I'm open to try any distribution that will provide me internet browser which supports modern web technologies and hardware acceleration on my GPU. None that I've tried till this moment allowed me that. Gaming, apps, peripherial compatibility, nothing like that is a concern at the moment – all I need is just using common web services, including smooth video playback of at least 480p quality.
 
Last edited:

JulienCC

Active Member
Hi,

Good job keep this system running for so long !
This is an x86_64 CPU with some nice instruction set extensions so it should be able to handle recent software.

You GPU is a GT218 chipset (https://en.wikipedia.org/wiki/GeForce_200_series).
It's part of the NV50 family on the freedesktop project (https://nouveau.freedesktop.org/wiki/CodeNames/#NV50)

NV50 family is well supported but most of it requires a firmware to be extracted from the binary driver (https://nouveau.freedesktop.org/wiki/FeatureMatrix/)

You can find instructions here : https://nouveau.freedesktop.org/wiki/VideoAcceleration/#firmware
 

andrewz1986

New Member
Hi,

Good job keep this system running for so long !
This is an x86_64 CPU with some nice instruction set extensions so it should be able to handle recent software.

You GPU is a GT218 chipset (https://en.wikipedia.org/wiki/GeForce_200_series).
It's part of the NV50 family on the freedesktop project (https://nouveau.freedesktop.org/wiki/CodeNames/#NV50)

NV50 family is well supported but most of it requires a firmware to be extracted from the binary driver (https://nouveau.freedesktop.org/wiki/FeatureMatrix/)

You can find instructions here : https://nouveau.freedesktop.org/wiki/VideoAcceleration/#firmware
Thanks for your suggestion, JulienCC! Before I undergo a research about Nouveau drivers, I thought I would change Mint Linux for some more lightweight distribution, as Nik-Ken-Bah suggested. Which one should I use to get usable GUI, modern browser and Nouveau drivers support? Here I found a list of some recommended distributions for Nouveau, but none of it seems to fit my needs. I'd like to skip Debian-based distributions, since its installer and BunsenLabs (which is based on Debian) resulted in halts.
 

JulienCC

Active Member
I'd like to skip Debian-based distributions
You will have to skip a lot of them then. This is one of the biggest players out there.

since its installer and BunsenLabs (which is based on Debian) resulted in halts
Debian should work like a charm since your hardware is quite old. Ofcourse since this distro is really against non-free stuff there's no chance that is provides the required firmware out of the box.
Did you try to install Debian itself or did you only try BunsenLabs ? The installer part of a distro is probably the hardest thing to get right and BunsenLabs is not something that big, so they may have done it wrong.

There are some people on this forum that are used to deal with a lot of different distros, they will probably have better advices than I do.

That being said, the distribution itself is not that important. You can set a minimal desktop environment on any distro. You need to find a kernel that runs smoothly on your hardware, this is the most important part.
Then you can set the desktop environment according to your needs.
The only thing that distros will change is what is installed by default.

Which one should I use to get usable GUI, modern browser and Nouveau drivers support?
All of them can give you that. Your hardware is limited in power but not in compatibility.
Install one that you are used to, we will help you to make things work. All your hardware should work out of the box, except the GPU which requires 5 commands to be executed in a terminal.

Then we will help you cleaning things up so you have a fast system.
 

andrewz1986

New Member
Did you try to install Debian itself or did you only try BunsenLabs ? The installer part of a distro is probably the hardest thing to get right and BunsenLabs is not something that big, so they may have done it wrong.
I installed BunsenLabs, not Debian, since (unlike dozens of distros I tried before) everything worked out of the box with my old notebook I use aside my desktop and I wanted to have the same GUI on both devices. Having everything working out of the box was important for me since I have no deeper knowledge of Linux and I'm unable to fix various issues by myself. But those freezes on my desktop were a "deal-breaker". I installed BunsenLabs this way: I created a bootable USB flash drive with Rufus windows app using helium-5-amd64.hybrid.iso and then ran setup.exe from this bootable flash drive in Windows XP environment (I use dual boot, but booting has never been an issue, whether using Grub2Win or regular Grub, so I did not mention it); setup.exe changed my boot menu so that I could enter Debian Installer and install BunsenLabs. I had to perform the installation repeatedly since the installer freezed numerous times in various stages, even when using the installer's main menu. Freezes continued in BunsenLabs itself, which led me to saying that I'd like to avoid it in the future. I could try Debian itself, but it gives me a perspective of spending hours on it and getting uncertain results. I would prefer something that excludes Debian Installer at all.

All of them can give you that.
You may be right, but not without deeper Linux knowledge. I have very little experience with BunsenLabs and only getting up-to-date Chrome on it was demanding for me. :D

Edit: Meanwhile, I tried BunsenLabs x86. Unfortunately, it also halts. I'm installing linux-lite-4.6-64bit at the moment. Thanks Nik-Ken-Bah for suggesting it via link.
 
Last edited:

wizardfromoz

Super Moderator
Staff member
Gold Supporter
Ofcourse since this distro is really against non-free stuff there's no chance that is provides the required firmware out of the box.
Not quite so, friend Julien. :)



(Wizard appears in a puff of smoke)

This page here provides for downloading the non-free Debian

https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/10.2.0-live+nonfree/amd64/iso-hybrid/

There, you have the choice of 6 Desktop Environments (DEs) namely Cinnamon, GNOME, MATE, Xfce, LXDE and LXQt.

An iso-hybrid, at its most basic level, describes a LInux .iso that can be burned to either optical media such as CD/DVD, or to USB stick. Works with both.

@arochester put us onto this non-free edition quite some time ago, and I found it particularly useful for installing Debian 9.6, in that it more easily detected my wifi setup.

Not sure how it would go with the smooth video playback.

G'day @andrewz1986 and welcome to linux.org :)

Linux LIte is a good distro. Since the start of the 4.x series, they ship it installed with Timeshift, which you can read about in their manual, or here

https://www.linuxliteos.com/manual/tutorials.html#timeshift

... or ask any questions at my Thread on Timeshift HERE.

Cheers and enjoy your Linux.

Chris Turner
wizardfromoz
 

andrewz1986

New Member
Ok, so I downloaded linux-lite-4.6-64bit.iso and used Rufus Windows app to create a bootable USB flash drive. There were no issues while installing it. The system itself works pretty well, no freezes at all, but booting up took too long, so I disabled VirtualBox using this guide first. It helped tremendously and cut boot time to half, if not more.

Then I moved to Nouvea. Using Synaptics package manager, I removed NVIDIA graphics driver and installed "xserver-xorg-video-nouveau", the supported Nouvea driver (there were like four available, but only single one marked as "supported" – trying to install some of the others resulted in an error). It installed fine. Then I made sure it was selected as a preffered driver in the 3rd party drivers settings. Then I opened terminal and entered commands listed under Firmware section on this Video Acceleration page, one by one and skipping $ and # symbols. The last cp command resulted in error, so I entered "sudo" in front of the command as suggested here and then it seemed it worked. I restarted the computer.

Unfortunately, watching online video is still painful, although there seems to be a little improvement (placebo?). When watching 480p video on YouTube (I made sure all browsers I used, latest Chrome, Firefox and Opera, had hardware acceleration enabled), CPU load dropped to about 95 percent from time to time, but framerate was not exactly smooth. When switching to full screen, CPU load rose to 100 percent and video turned into slideshow. Opera gave me the worst results – CPU was overloaded even when watching it in the window. I also tried h264ify browser extension, but it made no difference.

Any ideas? Thanks.
 

arochester

Moderator
Staff member
Gold Supporter
As Nik-Ken-Bah pointed out above 1.5Gb of RAM is low. I think your M/B can take 4Gb.

It seems to me that the older ram can be more expensive than newer RAM.

Do check places for more cheap RAM. eBay?
 

Condobloke

Well-Known Member
Just a wild guess....disable hardware acceleration.
 

andrewz1986

New Member
I tried disabling hardware acceleration within the browsers and nothing changed regarding CPU overload during streaming online video. That leads me to conclusion that the tiny improvement I was talking about was just a placebo (or improvement over situation when all video drivers were removed). When watching streaming video, RAM usage was about 50 percent (750 MB used out of 1 500 MB available). I guess that means that upgrading RAM would not solve the issue.

I tried to play some offline h264 videos and [email protected] with reasonable bitrate ran smooth, although VLC was freezing when jumping on the timeline. The CPU load during the playback was around 30 percent sometimes, so it seems that hardware acceleration is working somehow, but not in the browser, which is crucial to me. I can do everything I want in Windows XP, except browsing the web without limits. That's why I chose Linux. It seems promising, but I'm still not there.
 
Last edited:

JulienCC

Active Member
This page here provides for downloading the non-free Debian
Sorcery ! :p

This is not a RAM problem. Video decoding in browser should be done on the GPU and it doesn't seem to be the case.
The fact that VLC works with 1080 indeed indicates that the driver is working.

For GPU to work you need more than a driver. You need the Xorg driver adapter (which you figured out), you need some graphics API translation on top of if (for OpenGL for example) like Mesa, but you also might need some other translation libs. VLC is probably able to detect that your old hardware has no builtin video decoding acceleration and is still able to use your GPU to perform the task. But the browser is probably not that smart.

Take a look at this : https://wiki.archlinux.org/index.php/Hardware_video_acceleration#Translation_layers

There are some specific transalation layers to provide GPU Video acceleration on devices that don't have one embeded. Basically these things translate video decoding request into general graphics request so that you GPU can work on it.

On debian based systems I think the packet is called "mesa-vdpau-drivers", but it might not be the only one needed.

You are on a good track to solve the problem !
 

andrewz1986

New Member
I finally made hardware acceleration when playing video in web browser work, although only in Chromium Dev – I used the guide linked in OP again and this time it did not end with a problem. I also had to go back to official NVIDIA drivers instead of Nouveau. CPU load with the same 480p video is about 50 percent now, but my less powerful Centrino notebook still handles it better with CPU load about 30 percent and without any need of special treatment (everything is default BunsenLabs with latest Chrome).

I will try the guide from ArchLinux.org tomorrow. Thanks for suggesting it. It would be great if I could use some regular browser in stable build, but I'm having doubts: if that would work, why would somebody suggest Chromium Dev? :)
 

JulienCC

Active Member
I will try the guide from ArchLinux.org tomorrow
I only posted it to give you some hints about what you can do. Since its for Arch it might be hard to transpose it to Bunsen. Glad you improved your situation :)

if that would work, why would somebody suggest Chromium Dev? :)
Well some distro apply their own patch to the binaries they provide. There's a chance that some distros out there didn't wait for chromium to merge the patch and fixed the hardware acceleration themselves.
 

andrewz1986

New Member
Success!

I went to Synaptics package manager. Since mesa-vdpau-drivers were already installed, I tried to install libvdpau-va-gl1, which were not. It lacked "supported by the distribution" mark, but I ignored it. Then I went back to official NVIDIA drivers and threw Nouveau away. Voi lá, I can smoothly play 720p YouTube video in full screen, which exceeded my expectations. Thanks goes to everybody who came with suggestions!
 

Condobloke

Well-Known Member
Brilliant piece of work !....you had the right mind set to get this sorted.
 

wizardfromoz

Super Moderator
Staff member
Gold Supporter
That's wonderful news, Andrew! :D

I think I will add this to my personal Knowledge Base for helping others - although if you get there first, the floor is yours ;)

"Legacy Hardware - acceleration to 720p, Nvidia" - or something similar, what do you think?

Good too, that you gave us your specs.

Now take a read on Timeshift here, and perhaps take a snapshot.

And if you get time, swing over to Member Introductions and tell us a bit of the andrewz story.

Cheers all, and enjoy your Linux.

Wizard
 

andrewz1986

New Member
That's wonderful news, Andrew! :D

I think I will add this to my personal Knowledge Base for helping others - although if you get there first, the floor is yours ;)

"Legacy Hardware - acceleration to 720p, Nvidia" - or something similar, what do you think?

Good too, that you gave us your specs.

Now take a read on Timeshift here, and perhaps take a snapshot.

And if you get time, swing over to Member Introductions and tell us a bit of the andrewz story.

Cheers all, and enjoy your Linux.

Wizard
I updated title of this thread and updated opening post with steps I had to undergo to make it work. Feel free to make anything you want with this thread. I hope it helps as much people as possible. :) Thanks again to everybody who contributed!
 
Status
Not open for further replies.

Staff online

Members online


Latest posts

Top