Giter VIP home page Giter VIP logo

vgpu-unlock-patcher's Introduction

vGPU-Unlock-patcher

A solution to patch vGPU_Unlock into nvidia driver, including possibility to create a merged one.

Support: Join VGPU-Unlock discord for Support

This repository contains a submodule, so please clone this project recursively, i.e. using git clone --recursive command.

Usage

  1. download original vgpu kvm .run files as available in a grid package .zip release, use the version matching the name of chosen branch of this project (the latest one is recommended)

    • versions of vgpu releases are listed here
    • downloads are available from nvidia site here, evaluation account may be obtained here
    • if you need merged driver, download also standard linux desktop driver .run file, the version as set in GNRL in the beginning of the patch.sh script
  2. optionally edit patch.sh file to add support for your gpu if it was not included yet

    • search for "vcfgclone" lines, like for example:

      vcfgclone ${TARGET}/vgpuConfig.xml 0x1E30 0x12BA 0x1E84 0x0000

      the first two hex numbers select officially supported gpu as listed in vgpuConfig.xml (which can be extracted from vgpu kvm .run file)

      the example above is for Quadro RTX 6000 listed in the xml file as following:

      <pgpu><devId deviceId="0x1E30" subsystemId="0x12BA"/></pgpu>

      (fields that are not interesting for this example have been omitted)

    • the "vcfgclone" line example above is adding support for RTX 2070 Super, which has 10de:1e84 pci device id (that you can find for your gpu via lspci -nn command), so we are using the device id part, the last number 0x0000 is subdevice id, which may be used to differentiate some specific models, usually not needed, so we can use zero number there

    • just try to match the gpu architecture when adding a vcfgclone line, i.e. clone an officially supported pascal gpu if your gpu is pascal based

    • another example would be adding support for GTX 1080 Ti by cloning Tesla P40: Tesla P40 has 10de:1b38 pci device id and 10de:11d9 subsystem device id, listed in the xml as

      <pgpu><devId deviceId="0x1B38" subsystemId="0x0"/></pgpu>

      while the 1080 Ti can have 10de:1b06 pci devid with 10de:120f subsystem id for example, so the new vcfgclone line would have the first two numbers from the xml, the third number pci dev id of the card to be added and the fourth number can be zero or subsystem id (0x120f):

      vcfgclone ${TARGET}/vgpuConfig.xml 0x1B38 0x0 0x1B06 0x0000
    • when adding new vcfgclone lines, always refer into the xml to get the first two parameters and be sure to copy them case sensitively as the script searches for them as they are provided

  3. Run one of these commands, depending on what you need:

    # a driver merged from vgpu-kvm with consumer driver (cuda and opengl for host too)
    ./patch.sh general-merge
    # display output on host not needed (proxmox) or you have secondary gpu
    ./patch.sh vgpu-kvm
    # driver for linux vm
    ./patch.sh grid
    # driver for linux vm functionally similar to grid one but using consumer .run as input
    ./patch.sh general
    # stuff for windows vm
    ./patch.sh wsys

Changelog

Please see commits history here.

Other Options

  • any options need to be put before the target name
  • --lk6-patches include compat patches for kernel versions >= 6.1
  • --repack option that can be used to create unlocked/patched .run file (usually not necessary as you can simply start nvidia-installer from the directory).

Credits

  • Thanks to the discord user @mbuchel for the experimental patches
  • Thanks to the discord user @LIL'pingu for the extended 43 crash fix
  • Special thanks to @DualCoder without his work (vGPU_Unlock) we would not be here
  • and thanks to the discord user @snowman for creating this patcher

vgpu-unlock-patcher's People

Contributors

vgpu-community-drivers avatar tonymanou avatar shawly avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.