Results 1 to 1 of 1

Thread: compiling NVIDIA-Linux-x86-173.14.12-pkg1.run

  1. #1
    Join Date
    Nov 2005
    Location
    Mountain View, CA, USA
    Beans
    261
    Distro
    Ubuntu 11.10 Oneiric Ocelot

    compiling NVIDIA-Linux-x86-173.14.12-pkg1.run

    Upgrading to 2.6.27-3-generic #1 SMP Mon Sep 15 14:08:09 UTC 2008 i686 GNU/Linux seemed to have broken nvidia-glx which I was using for:
    Code:
    $ lspci | grep VGA
    nVidia Corporation NV44A [GeForce 6200] (rev a1)
    None of the nvidia packages worked (including envyng) so I grabbed NVIDIA-Linux-x86-173.14.12-pkg1.run from nvidia.com.

    This would choke on compile, so I made the following changes (sorry I'm not making a patch file nor am I going to explain this in detail):

    Code:
    $ grep -nHi --color "smp_call_function" *
    nv.c:1299:                //smp_call_function(__nv_setup_pat_entries, hcpu, 1, 1);
    nv.c:1300:                smp_call_function(__nv_setup_pat_entries, hcpu, 1);
    nv.c:1307:                //smp_call_function(__nv_restore_pat_entries, hcpu, 1, 1);
    nv.c:1308:                smp_call_function(__nv_restore_pat_entries, hcpu, 1);
    nv-linux.h:668:    //ret = smp_call_function(func, info, 1, 1);
    nv-linux.h:669:    ret = smp_call_function(func, info, 1);
    os-interface.c:51:    //ret = smp_call_function(ipi_handler, NULL, 1, 0);
    os-interface.c:52:    ret = smp_call_function(ipi_handler, NULL, 1);
    
    $ grep -nHi --color "semaphore.h" *
    nv-linux.h:107://#include <asm/semaphore.h>
    nv-linux.h:108:#include <linux/semaphore.h>
    
    # http://www.nvnews.net/vbulletin/showthread.php?t=116827
    $ grep -EnHi --color "kill_p.*(pid, sig, 1)" *
    os-interface.c:707:    //return kill_proc(pid, sig, 1) ? RM_ERR_OPERATING_SYSTEM : RM_OK;
    os-interface.c:708:    return kill_pid(pid, sig, 1) ? RM_ERR_OPERATING_SYSTEM : RM_OK;
    Basically the above is the commented line and the fixed line. Notice that I simply dropped the last arg to all instances of smp_call_function, changed asm/semaphore.h to linux/semaphore.h and used kill_pid instead of kill_proc (this last one could apparently be commented out altogther, meh). Be advised, NVIDIA-Linux-x86-173.14.12-pkg1.run extracts to /tmp from which you can copy to ~ edit the three files and rerun nvidia-installer.

    Everything is working now.

    PS you may want to
    Code:
    sudo aptitude --purge remove nvidia-glx nvidia-glx-new nvidia-kernel-common nvidia-settings nvidia-glx-new-dev-envy  nvidia-glx-new-envy  nvidia-new-kernel-source-envy
    before doing above. You will also need to stop X
    Code:
    sudo invoke-rc.d gdm stop
    if youre in gnome.
    Last edited by dfacto; September 20th, 2008 at 04:30 PM.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •