Kodi Community Forum

Full Version: Upgrading NVIDIA/ATI graphics device drivers for XBMC Live?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
what is the easiest way to upgrade the nvidia drivers that is part of the image? I have installed it to a hard disk. Are there plans to release an updated"restrictedDriversNvidia.img"? as we newer releases. I am have a problem where nvidia softlocks randomly.
new releases will bring updated drivers; when that will happen is still to be decided.
I once tried to use envy to update the nvidia driver... DO NOT DO THAT.
messed stuff all up. but I was eventuall able to do it manually-

I've also installed xbmc to a hard drive and was able to update the nvidia drivers to the most recent using the nvidia download from their website.

the process to do so is a little complicated... and I'm not quite sure your hard drive install is the same as mine (I basically took all the files from inside of the rootfs.img and nvidia*.img image files and 'extracted' them to a newly formatted ext2 sata drive. From there I had to install grub and get it working.)

but once my configuration was in place, I:

1. apt-get installed all the required packages needed to manually install the updated nvidia drivers.

2. Then I had to exit X server...
I killed these processes, in order: runXBMC.sh, xbmc.bin, startx, xinit, and Xorg

3. then I followed the instructions that were on the manualNvidia page, here:
https://help.ubuntu.com/community/NvidiaManual

This process takes a good working knowledge and I wouldnt recommend if for the people who aren't very comfortable with a linux command line
Could we not just dwnld the file from Nvidia's site to the home directory, if wget is not working then pre-dwnld and copy over to the home directory. Then issue a telinit 1 which would stop the x-srvr etc.. Then you could install the driver by running the (sudo) sh file. The driver itself will look for headers and will or will not install them, then it will create a new xorg.conf file if you like and ask you to reboot the system.

I think I will throw a test bench together and try it out.

I have done it this way for all of my installs of the latest video drivers.

Dave
Well that went south pretty quick. I will play some more later. I had to install build-essential etc to try and install the way I explained and now I am stuck on the header paths. But xbmcLive is still booting up fine.

Dave
rodercot Wrote:Well that went south pretty quick. I will play some more later. I had to install build-essential etc to try and install the way I explained and now I am stuck on the header paths. But xbmcLive is still booting up fine.

Dave

I will try and get a step by step guide posted later. i cant remember how i got the nvidia installer onto the pc in the first place, I may have copied it over a windows share, hell maybe I apt-get install'ed wget.
Transferring it was not a problem. I dwnlded the driver to a windows machine and then placed it in the xbmc folder via ftp. I had to install the development tools apt-get install build essential, etc.. but I still get kernel header problems when trying the install.

What source lists are in the build already as I was getting all kinds of 404 errors when trying to apt-get anything.

Dave
This is how I did it.

On a Windows machine go to http://www.nvidia.com and download the latest driver for 32 bit Linux in this case it was 177.82.

Then I FTP into the test XBMCLive machine and transferred the driver over to the xbmc folder.

Then on the xbmc machine I hit ctl-alt-f2 and login xbmc/xbmc then I issued a sudo su and again a sudo password which it rejected but ignored.

Then I downld the build-essential and the linux headers with this command

sudo apt-get install build-essential linux-headers-`uname -r` (uname-r = 2.6.24-19-generic without the quotes)

let it install all of the req'd files it may take a while and when it asks if you want to continue make sure and type the right Y or N for yes or no.

Then issue a telinit 1 command when you are done with the above

now change directories to cd /home/xbmc and hit enter

then type

sudo sh NVIDIA-Linux-x86-<version>-pkg1.run (version = actual number in my case it was 177.82) hit enter

In the NVIDIA installer, say no to the fiirst error to continue. say yes to everything else and allow it to overwrite your xorg.conf.

when back at the prompt type in reboot and you have the newest driver installed.

WARNING - I installed a bunch of packages not needed for this install and everything it still stable. I would back up your xorg.conf file and your userdata folder first before trying this or do it on a test machine.

The most important factor not too forget is the telinit 1 this shutsdown most everything on the system allowing for the driver to install.

Now if one of the devs could chime in on this and tell us if this method actually forces XBMCLive to use the newest driver. The video page in system info does not seem to change after the install. I am still seeing a everchanging but close to 100Hz refresh rate beside my res in Video system info page, my other question is Does the driver poll the V/C for the GPU temp. I cannot get a temp reading from the card within the video system info page.

rgds,

Dave
this is quite the way I build restrictedDrivers.img; the only difference is that I start with an empty ext3fs.img, do all above and finally extract the new driver files only, injecting them into a smaller, empty ext3fs.img.
l.capriotti Wrote:this is quite the way I build restrictedDrivers.img; the only difference is that I start with an empty ext3fs.img, do all above and finally extract the new driver files only, injecting them into a smaller, empty ext3fs.img.

So then once the system is installed on Hard Drive and space less of a concern this method will do the same thing for upgrading, So should we point out this small tut is for XBMCLive Hard Drive Users. I want to point out as well that when I used to do this method on a full ubuntu system with Lirc 803 the driver install would conflict with the newest version of Lirc and render the video driver to VGA only. I fixed this by ctl-alt-f2 and running nvidia x-config once and and then exit and reboot and all was back to normal.

It does not seem to be affecting Live in the same manner but just in-case that is how I fixed it.

Dave
use Putty to SSH into your xbmc live box

then type the command just as you see them.

now we will kill the processes that are associated with the graphical sessions
lets try and auto detect the PIDs we need to kill
Code:
runXBMC-PID=`ps -ef | grep runXBMC.sh | grep -v grep | awk '{print $2}'`
xbmcPID=`ps -ef | grep xbmc.bin | grep -v grep | awk '{print $2}'`
this will create a variable for the PIDs we are going to kill

Code:
sudo kill $runXBMC-PID
sudo kill $xbmcPID

confirm those are no longer listed
Code:
sudo ps -A |grep xbmc
nothing should come up. Once xbmc is killed X should stop too, so we can move on


install wget
Code:
sudo apt-get install wget

change folders into the xbmc home folder
Code:
cd ~

download the nvidia installer from nvidia's server
Code:
wget http://us.download.nvidia.com/XFree86/Linux-x86/177.82/NVIDIA-Linux-x86-177.82-pkg1.run

backup a copy of video settings
Code:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup.xbmc-nvidia-upgrade


download pre-installation requirements
Code:
sudo apt-get install build-essential linux-headers-`uname -r`
## Do you want to continue [Y/n]? Y

run the installer
Code:
sudo sh NVIDIA-Linux-x86-177.82-pkg1.run

a somewhat graphical interface will popup - use the following options:
Code:
## Accept License Agreement
## Yes: No precompiled kernel interface was found...
## OK: No matching precompiled kernel interface was found on the NVIDIA ftp
## NO: Would you like to run the nvidia-xconfig utility to automatically update

then after it has finished successfully reboot the system
sudo reboot
l.capriotti Wrote:I start with an empty ext3fs.img, do all above and finally extract the new driver files only, injecting them into a smaller, empty ext3fs.img.


I'd like to know how you do this for another project I'm wokring on.

I know how to create ext3fs.img files and make smaller ones... but the process of isolating the "new driver files" only - thats what i'd like to know how to do.
creating a loopfile: see this post

identifying driver files: on the NVIDIA site there is a page listing these files, or alternatively you go around navigating the content of the ext3fs.img and guess what's relevant to the drivers - not too difficult.
l.capriotti Wrote:creating a loopfile: see this post

identifying driver files: on the NVIDIA site there is a page listing these files, or alternatively you go around navigating the content of the ext3fs.img and guess what's relevant to the drivers - not too difficult.

I thought maybe there was some sort of a tick I was not aware of that you were using to isolate the nvidia related files that were added.

Thanks
hey all,

one thing I forgot in my post, before you get the headers, build essential etc, you should run an apt-get update to fix the source lists, this is the ubuntu source list (http resolve addresses) not your xbmc source list. if not your build-essential update will not be complete.

Dave
Pages: 1 2