Page 2 of 2 FirstFirst 12
Results 11 to 15 of 15

Thread: Cuda + Nvidia + bumblebee + codecs "safe" way

  1. #11
    Join Date
    Oct 2014
    Location
    Switzerland
    Posts
    851

    Default Re: Cuda + Nvidia + bumblebee + codecs "safe" way

    Typo:
    Code:
     /etc/bumblebee/xorg.conf.nvidia
    not
    Code:
     /etc/bumblebee/xorg.conf.d/xorg.conf.nvidia

    Quote Originally Posted by SJLPHI View Post
    I got my TW bumblebee to work again by installing gfx05 package and using the same symlink as I did for LEAP 15.2, and I had to make one more change,
    in the file
    Code:
     /etc/bumblebee/xorg.conf.nvidia
    uncomment the BUSID line
    Code:
    #   BusID "PCI:01:00:0"
    to
    Code:
       BusID "PCI:01:00:0"
    for me this works perfectly fine but it depends on the BUSID of the nvidia driver can be seen using lspci.
    Code:
     sudo lspci  |grep -i nvidia
    01:00.0 VGA compatible controller: NVIDIA Corporation GK107GLM [Quadro K2000M] (rev ff)
    It may not be case for everyone.

  2. #12
    Join Date
    Oct 2014
    Location
    Switzerland
    Posts
    851

    Default Re: Cuda + Nvidia + bumblebee + codecs "safe" way

    At this time If you have your repositories configured right, at this time when you use zypper to install cuda, it will install a specific version of G05 (cuda 460.27.04_k5.3.18_lp152.19_lp152.33.1.x86_64) that will work with cuda and the address issue (when trying to run cuda examples requiring X interface) will be resolved.

    Also, note that after Nvidia drivers are installed, upon reboot you need to register the MOK during boot, otherwise the driver will not run.

  3. #13
    Join Date
    Oct 2014
    Location
    Switzerland
    Posts
    851

    Default Re: Cuda + Nvidia + bumblebee + codecs "safe" way

    Quote Originally Posted by SJLPHI View Post
    At this time If you have your repositories configured right, at this time when you use zypper to install cuda, it will install a specific version of G05 (cuda 460.27.04_k5.3.18_lp152.19_lp152.33.1.x86_64) that will work with cuda and the address issue (when trying to run cuda examples requiring X interface) will be resolved.

    Also, note that after Nvidia drivers are installed, upon reboot you need to register the MOK during boot, otherwise the driver will not run.
    Not true, the bug is due to VirtualGL version mixmatch. CUDA will throw
    Code:
    "CUDA error at GpuArray.h:244 code=219(cudaErrorInvalidGraphicsContext) "cudaGraphicsGLRegisterBuffer(&m_cuda_vbo_resource[0], m_vbo[0], cudaGraphicsMapFlagsWriteDiscard)""

    and
    Code:
    XORG will throw "[ERROR][XORG] (EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied"
    All due to VGL throwing:
    Code:
    [VGL] ERROR: Could not load GLX/OpenGL functions[VGL]    /usr/lib64/libvglfaker.so: undefined symbol: glXGetProcAddressARB
    Commented on bugreport https://bugzilla.opensuse.org/show_bug.cgi?id=1176422 but not yet resolved, current work-around is downgrade to last stable LEAP 15.1 package VirtualGL-32bit. Long term solution to follow.

  4. #14
    Join Date
    Oct 2014
    Location
    Switzerland
    Posts
    851

    Default Re: Cuda + Nvidia + bumblebee + codecs "safe" way

    Since this will take some time to get sorted out, I came up with the following:

    Quick, dirty fix:
    Downgrade VirtualGL to LEAP 15.1 version then backup the /usr/lib64/libvglfaker.so from the older version then update back to LEAP 15.2/TW repo and overwrite /usr/lib64/libvglfaker.so from LEAP 15.1

    Semi-long term solution:
    Get the VirtualGL from source from git and compile your own libvglfaker and use it instead of what's available in the repository.

    long-term solution:
    Get the VirtualGL from source from git and compile your own VirtualGL and use update-alternative to point to your VGL components.

    I am going to demonstrate the second one since the long-term solution is a bit more tedious.

    1. Get VGL source:
    Code:
    cd ~/Downloads
    git clone https://github.com/VirtualGL/virtualgl.git
    2.install pre-requisites:
    Code:
    sudo zypper in libjpeg8-devel libjpeg8-devel-32bit
    3.make a build and target directory
    Code:
     mkdir ~/Downloads/virtualgl/build
    mkdir ~/Downloads/virtualgl/compiled
    4.Go to build directory
    Code:
    cd ~/Downloads/virtualgl/build
    5.use cmake to build,
    Code:
    cmake ../ -DCMAKE_INSTALL_PREFIX=~/Downloads/virtualgl/compiled -DVGL_FAKEXCB=OFF -DVGL_FAKEOPENCL=OFF
    I am disabling fakexcb and opencl because they do get problematic at times, xcb is easy to resolve by installing xcb
    Code:
    sudo zypper in xcb-util-keysyms-devel
    
    but not so trivial for openCL.
    6.install into the compiled directory
    Code:
    make install -j$nproc
    at this VGL is compiled at ~/Downloads/virtualgl/compiled

    7.the semi-longterm solution is to backup the old faker and replace it with the on you've just compiled:
    Code:
    sudo cp /usr/lib64/libvglfaker.so /usr/lib64/libvglfaker.so.backup
    sudo cp ~/Downloads/virtualgl/compiled/lib64/libvglfaker.so /usr/lib64/libvglfaker.so
    This method currently works for LEAP 15.1, 15.2 and TW as of 2021-01-12

  5. #15
    Join Date
    Oct 2014
    Location
    Switzerland
    Posts
    851

    Default Re: Cuda + Nvidia + bumblebee + codecs "safe" way

    Almost forgot, GLproto also needs to be installed to compile VirtualGL
    Code:
    sudo zypper in glproto-devel
    

Page 2 of 2 FirstFirst 12

Posting Permissions

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