LinuxQuestions.org
Help answer threads with 0 replies.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 03-29-2017, 12:45 PM   #1
pchristy
Senior Member
 
Registered: Oct 2012
Location: South Devon, UK
Distribution: Slackware
Posts: 1,118

Rep: Reputation: Disabled
Nouveau driver help requested


System: Slackware64-current, with AlienBob's KDE5.
Hardware: AMD Bulldozer cpu, NVidia GT710 graphics card.
Problem: No hardware video acceleration!

I've just upgraded my "workshop" computer to an SSD drive for the OS. While I was at it, I decided to do a complete upgrade with a fresh install of the latest current and KDE5. So far so good.

Until now, I've been using the proprietary NVidia driver, but I like to roll my own kernels, and NVidia always seem to be about 6 months behind the curve. I thought I would try the Nouveau driver, as being in the kernel it ought to be immune to kernel update issues!

I'm not interested in cutting-edge 3D acceleration, just hardware accelerated video processing, mainly for editing purposes. I've never had much success in the past with Nouveau, but my patience has finally snapped with NVidia, so I'm now having a determined effort!

It all seems to be installed correctly, and mostly works, but vdpauinfo reports that none of the common video formats - most importantly h264 - are supported!

According to the web searches I've done, it should be!

As everything is otherwise working, I'm assuming that the issue is firmware which needs to be installed, but I stand to be corrected!

The firmware needs to be extracted from the NVidia proprietary driver, using a python2 program. I had to tweak this a little bit, as it appeared that the name of the file containing the firmware has changed in recent versions (378.13).

It threw up some errors about not finding specific files (I assume dropped from more recent versions), but managed to extract a bunch of files with the right sounding names:

nv84_vp (n84_xuc00f)
vuc-vp4-h264-0 (vuc-h264-0)
vuc-vp4-vc1-0 (vuc-vc1-0)
vuc-vp4-vc1-1 (vuc-vc1-1)
vuc-vp4-vc1-2 (vuc-vc1-2)

The filenames in brackets are symlinks to the corresponding files.

I've placed these in /lib/firmware/nouveau as the paperwork suggests, and also in /lib/firmware/nvidia when it appeared not to work.

Is there anything else that needs to be done to get the firmware to install? To be clear, I get no acceleration with either the standard slackware kernel (4.4.38) or my own 4.10.6.

I'm sure I've missed something here, but I've no idea where to go next.

All suggestions gratefully received!

--
Pete
 
Old 03-29-2017, 01:25 PM   #2
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Do you have any error messages related to your card or nouveau? Either in your /var/log/Xorg.0.log or dmesg (there might be others too that I can't think of)?

I believe dmesg will usually shed light if you're missing firmware.
 
1 members found this post helpful.
Old 03-29-2017, 01:28 PM   #3
orbea
Senior Member
 
Registered: Feb 2015
Distribution: Slackware64-current
Posts: 1,950

Rep: Reputation: Disabled
What card do you have? There seem to be a few GT 710 cards...

This command will print the relevant information.
Code:
lspci | grep VGA
For example I have a GK110B.
Code:
$ lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GK110B [GeForce GTX 780 Ti] (rev a1)
This page is a good reference for nvidia codenames.
https://nouveau.freedesktop.org/wiki/CodeNames/

For hardware decoding videos with nouveau you will need this package.
https://slackbuilds.org/repository/1...vidia-firmware

You can configure mplayer following this guide (Look under 'Using VDPAU').
https://nouveau.freedesktop.org/wiki/VideoAcceleration/

Some videos (It seems related to how they are created?) will have some graphical artifacts with hwdec and nouveau and according to a nouveau developer its not all that straight forward on how to fix.

Also for your own sake, don't try nouveau + hwdec + mpv. This has crashed my entire system within seconds and the main mpv developer has refused to fix this...

Edit: The nvidia firmware used by nouveau does not really change between releases, at least as far as nouveau is concerned so the nvidia-firmware slackbuild uses the legacy nvidia driver version documented by nouveau developers to avoid issues with the extraction process.

Last edited by orbea; 03-29-2017 at 01:38 PM.
 
1 members found this post helpful.
Old 03-29-2017, 02:00 PM   #4
pchristy
Senior Member
 
Registered: Oct 2012
Location: South Devon, UK
Distribution: Slackware
Posts: 1,118

Original Poster
Rep: Reputation: Disabled
Thanks for the prompt replies!

Bassmadrigal: I couldn't see anything untoward in dmesg, but I will have a close look in Xorg.0.log (its quite a long file!).

Orbea: Thanks for the pointers! The process carried out by the slackbuild is pretty much what I've done, but with a later driver. However, I will try it with the old driver - as suggested - to see if it makes any difference.

Thanks for the tip about mpv! That is my player of choice, as I've always found it rock solid with both ATI (kernel drivers, as used in my laptop), Intel (as used in my main desktop) and the NVidia proprietary drivers. If mpv has an issue with Nouveau, that may tip me back to the proprietary drivers again. Either that or swap the graphics card for an ATI, where I know the kernel drivers do what I want with a minimum of fuss!

I've been trawling the web whilst waiting for replies here, and I've found a couple of things that might be issues. I've always used the uvesa framebuffer with the NVidia card, because the proprietary driver was supposedly incompatible with the vesa one! However, I've now read that Noveau is the other way round and won't work properly with uvesa! Aaarrgghh!

I think I may also have left the nvidia framebuffer set in my kernel config, which apparently is also a no-no!

Its getting late in the evening here in the UK, so I don't expect I'll get much more done tonight. Best approach it with a clear mind in the morning, I think!

Thanks again to both of you for your help.

--
Pete
 
Old 03-29-2017, 02:02 PM   #5
RadicalDreamer
Senior Member
 
Registered: Jul 2016
Location: USA
Distribution: Slackware64-Current
Posts: 1,816

Rep: Reputation: 981Reputation: 981Reputation: 981Reputation: 981Reputation: 981Reputation: 981Reputation: 981Reputation: 981
QMPlay2 and CUVID work great for decoding.
 
1 members found this post helpful.
Old 03-29-2017, 02:28 PM   #6
orbea
Senior Member
 
Registered: Feb 2015
Distribution: Slackware64-current
Posts: 1,950

Rep: Reputation: Disabled
The problem with mpv is that nouveau can not handle concurrent GL and / or VDPAU calls which mpv utilizes with hwdec. While it is basically a nouveau issue, it would be a lot easier to change mpv to not crash systems than for the nouveau developers to fix the issue.

That said, mpv regressed heavily in hwdec compared to mplayer in other aspects. Mplayer supports hwdec with pretty much everything you throw at it, almost all if not all other video players including mpv support only a subset of video formats for hwdec. In their effort to clean up the code base the mpv developers have removed all of the legacy video formats as they don't think people should use those video formats. The problem with that is that those video formats are still widely distributed and this will not change any time soon.
 
2 members found this post helpful.
Old 03-30-2017, 03:14 AM   #7
pchristy
Senior Member
 
Registered: Oct 2012
Location: South Devon, UK
Distribution: Slackware
Posts: 1,118

Original Poster
Rep: Reputation: Disabled
UPDATE:

Following the advice I received here, plus my trawls of the internet, I recompiled my kernel with vesafb, and without uvesafb or nvidiafb. I didn't find any error messages in either dmesg or Xorg.0.log, but neither did I find anything that looked like firmware loading either. This confirmed my suspicion that I hadn't created the right firmware!

I therefore went the SBo route, suggested by Orbea. This created a lot more drivers than my effort did, and after installing, I now have video acceleration - limited, but enough for my needs! (Only seems to cover mpeg 1 & 2 and h264)

For the benefit of others reading this, lspci reported my graphics board as GT710B / GK208. Further digging refined this to NV106 / GK208B / GT720. (WHY is NVidia's naming system so confusing???)

The SBo route works fine. I was initially a little confused by the fact that it only uses the 32-bit NVidia driver (mine is a 64-bit system), but this is because the firmware is for the *graphics* processor, which is totally independent of the main CPU.

A few observations about different manufacturers here, based on my experience (Note: I'm talking specifically about video here, NOT 3D graphics!):

NVidia: The proprietary drivers work well, but are very kernel dependent. Every time you upgrade the kernel or mesa, you need to recompile the NVidia drivers. NVidia always seem to be a long way behind the current kernel development, and the drivers often need patching to work on new-ish kernels. The open-source (nouveau) driver is OK, but needs a lot of support work to get it working correctly (extracting firmware, etc. See above!), and much of this is not self-evident. Hopefully, now I've got the grunt work done, I won't have to bother again!

AMD/ATI: The proprietary Linux drivers were rubbish the last time I tried them, and support for older chipsets virtually non-existent! However, the open-source driver has matured nicely. It is part of the kernel, and needs little or no external support. Even my under-powered (and quite old) laptop delivers excellent video performance on the open-source driver.

Intel: Probably the best of the lot for video work, although libva is not as well supported as vdpau used by NVidia and AMD / ATI open-source. That was one of the reasons why I moved away from MPlayer to MPV. MPV is much happier with libva than MPlayer - or it was, the last time I used MPlayer!

I believe that AMD / ATI lent a big helping to the open-source driver development. I hear rumours that NVidia might be doing the same, and working on a new open-source driver, but at the moment there is no evidence for this out in the open - not that I've been able to find, anyway!

Anyway, thanks to all here for their assistance, and I hope my comments above help anyone else in the same boat as me!

Cheers,

--
Pete
 
1 members found this post helpful.
Old 03-30-2017, 06:56 AM   #8
orbea
Senior Member
 
Registered: Feb 2015
Distribution: Slackware64-current
Posts: 1,950

Rep: Reputation: Disabled
I wouldn't hold my breath with nvidia, they don't even release the required firmware for redistribution. Additionally that python script for extracting the firmware fails for newer drivers as you observed and probably won't work any maxwell or pascal cards (We both have kepler which nouveau supports relatively well)... My advice is to stick with amd or intel when buying new cards for the foreseeable future as they at least support free drivers.
 
Old 03-30-2017, 07:37 AM   #9
pchristy
Senior Member
 
Registered: Oct 2012
Location: South Devon, UK
Distribution: Slackware
Posts: 1,118

Original Poster
Rep: Reputation: Disabled
Yes, I think that pretty well sums up my conclusions as well. Its just that this particular machine had an NVidia card in it. I don't think Intel do separate cards any longer, so the only real alternative is AMD / ATI.

However, it has been an interesting learning experience, getting to grips with nouveau. But I'm not sure its one I would like to repeat.....!

--
Pete
 
Old 03-07-2019, 12:40 AM   #10
palswim
LQ Newbie
 
Registered: Mar 2019
Posts: 1

Rep: Reputation: Disabled
Quote:
Originally Posted by orbea View Post
Also for your own sake, don't try nouveau + hwdec + mpv. This has crashed my entire system within seconds and the main mpv developer has refused to fix this...
I have encountered this as well, but this would constitute a nouveau bug, no? Sure, mpv could try to work around this issue, but a user program causing the display itself to freeze certainly means that the kernel layer has a bug.
 
  


Reply

Tags
nouveau, nvidia kernel


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Some games work with Nvidia proprietary driver some with nouveau driver. Why? kairen Slackware 14 10-14-2015 03:19 PM
freebsd driver nouveau giovannidev *BSD 4 09-25-2015 10:09 PM
Nouveau kernel driver Ordinary12 Ubuntu 38 01-20-2014 05:05 AM
Can't install nouveau driver acraig Linux - Newbie 6 03-31-2011 11:08 PM
how well does Nouveau driver work? Cultist Debian 6 02-19-2011 03:57 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 08:15 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration