summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Plattner <aplattner@nvidia.com>2018-04-11 14:18:57 -0700
committerAaron Plattner <aplattner@nvidia.com>2018-04-11 14:18:57 -0700
commitc113d6490bfec2ca72082e3c76f0804d9d8be37f (patch)
tree7071931da305900d82bc4b9df80c95269a8d8f5e
parenta6fd0e313f6f39f67af66779c6429485cd181372 (diff)
396.18396.18
-rw-r--r--files.c107
-rw-r--r--install-from-cwd.c2
-rw-r--r--kernel.c4
-rw-r--r--nvLegacy.h522
-rw-r--r--option_table.h2
-rw-r--r--version.mk2
6 files changed, 626 insertions, 13 deletions
diff --git a/files.c b/files.c
index cac020c..06a0289 100644
--- a/files.c
+++ b/files.c
@@ -3185,13 +3185,18 @@ typedef enum {
* If the helper script is not included in the package, then it will just
* return LIBGLVND_CHECK_RESULT_NOT_INSTALLED.
*/
-static LibglvndInstallCheckResult run_libglvnd_script(Options *op, Package *p)
+static LibglvndInstallCheckResult run_libglvnd_script(Options *op, Package *p,
+ char **missing_libs)
{
const char *scriptPath = "./libglvnd_install_checker/check-libglvnd-install.sh";
- char *cmdline = NULL;
+ char *cmdline = NULL, *output = NULL;
int status;
LibglvndInstallCheckResult result = LIBGLVND_CHECK_RESULT_ERROR;
+ if (missing_libs) {
+ *missing_libs = "";
+ }
+
log_printf(op, NULL, "Looking for install checker script at %s", scriptPath);
if (access(scriptPath, R_OK) != 0) {
// We don't have the install check script, so assume that it's not
@@ -3202,14 +3207,40 @@ static LibglvndInstallCheckResult run_libglvnd_script(Options *op, Package *p)
}
cmdline = nvasprintf("/bin/sh %s", scriptPath);
- status = run_command(op, cmdline, NULL, TRUE, 0, FALSE);
+ status = run_command(op, cmdline, &output, TRUE, 0, FALSE);
if (WIFEXITED(status)) {
result = WEXITSTATUS(status);
} else {
result = LIBGLVND_CHECK_RESULT_ERROR;
}
+ // If the installation is partial, pass the list of missing libraries
+ // reported by the script back to the caller.
+ if (result == LIBGLVND_CHECK_RESULT_PARTIAL && missing_libs) {
+ char *line, *end, *buf;
+ int len = strlen(output);
+ static const char *missing_label = "Missing libglvnd libraries: ";
+
+ for (buf = output;
+ (line = get_next_line(buf, &end, output, len));
+ buf = end) {
+ int found = FALSE;
+
+ if (strncmp(line, missing_label, strlen(missing_label)) == 0) {
+ *missing_libs = nvstrdup(line + strlen(missing_label));
+ found = TRUE;
+ }
+
+ free(line);
+
+ if (found) {
+ break;
+ }
+ }
+ }
+
done:
+ nvfree(output);
nvfree(cmdline);
return result;
}
@@ -3250,6 +3281,47 @@ static void set_libglvnd_egl_json_path(Options *op)
}
/*
+ * Reports whether the given library is an optional part of libglvnd.
+ */
+static int library_is_optional(const char *library)
+{
+ const char * const optional_libs[] = {
+ "libOpenGL.so", // libOpenGL.so is not needed for classic GLX/EGL ABIs
+ };
+ int i;
+
+ for (i = 0; i < ARRAY_LEN(optional_libs); i++) {
+ // Do a partial name match to allow versioned and unversioned SONAMEs
+ if (strncmp(library, optional_libs[i], strlen(optional_libs[i])) == 0) {
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+/*
+ * Reports whether the given space-delimited list of libraries includes a
+ * mandatory part of the libglvnd stack.
+ */
+static int list_includes_essential_library(const char *libraries)
+{
+ int essential_library_found = FALSE;
+ char *libs = nvstrdup(libraries);
+ char *lib;
+
+ for (lib = strtok(libs, " "); lib; lib = strtok(NULL, " ")) {
+ if (!library_is_optional(lib)) {
+ essential_library_found = TRUE;
+ break;
+ }
+ }
+
+ nvfree(libs);
+ return essential_library_found;
+}
+
+/*
* check_libglvnd_files() - Checks whether or not the installer should install
* the libglvnd libraries.
*
@@ -3289,10 +3361,12 @@ int check_libglvnd_files(Options *op, Package *p)
}
if (shouldInstall == NV_OPTIONAL_BOOL_DEFAULT) {
+ char *missing_libs;
+
// Try to figure out whether libglvnd is already installed. We'll defer
// to a separate program to do that.
- LibglvndInstallCheckResult result = run_libglvnd_script(op, p);
+ LibglvndInstallCheckResult result = run_libglvnd_script(op, p, &missing_libs);
if (result == LIBGLVND_CHECK_RESULT_INSTALLED) {
// The libraries are already installed, so leave them alone.
shouldInstall = NV_OPTIONAL_BOOL_FALSE;
@@ -3309,10 +3383,29 @@ int check_libglvnd_files(Options *op, Package *p)
"Abort installation."
};
- partialAction = ui_multiple_choice(op, ANSWERS, 3, 2,
- "An incomplete installation of libglvnd was found. "
+ int default_choice;
+ const char *optional_only;
+
+ // If GLVND was partially installed, but none of the missing
+ // libraries are essential, default to allowing the installation
+ // to continue without installing libglvnd by. If any of the
+ // missing libraries in a partial libglvnd installation are
+ // essential, default to aborting the installation.
+ if (list_includes_essential_library(missing_libs)) {
+ default_choice = 2; // Abort installation
+ optional_only = "";
+ } else {
+ default_choice = 0; // Don't install
+ optional_only = "All of the essential libglvnd libraries "
+ "are present, but one or more optional "
+ "components are missing. ";
+ }
+
+ partialAction = ui_multiple_choice(op, ANSWERS, 3, default_choice,
+ "An incomplete installation of libglvnd was found. %s"
"Do you want to install a full copy of libglvnd? "
- "This will overwrite any existing libglvnd libraries.");
+ "This will overwrite any existing libglvnd libraries.",
+ optional_only);
}
if (partialAction == 0) {
// Don't install
diff --git a/install-from-cwd.c b/install-from-cwd.c
index c35ade0..3b7ed48 100644
--- a/install-from-cwd.c
+++ b/install-from-cwd.c
@@ -196,7 +196,7 @@ int install_from_cwd(Options *op)
"not remove existing NVIDIA kernel modules not part of "
"an earlier NVIDIA driver installation. Please ensure "
"that an NVIDIA kernel module matching this driver version "
- "is installed seperately.");
+ "is installed separately.");
/* no_kernel_module should imply no DKMS */
diff --git a/kernel.c b/kernel.c
index 4cc2bad..6c450eb 100644
--- a/kernel.c
+++ b/kernel.c
@@ -1254,9 +1254,9 @@ static int ignore_load_error(Options *op, Package *p,
"built against the wrong or improperly configured "
"kernel sources, with a version of gcc that differs "
"from the one used to build the target kernel, or "
- "if a driver such as rivafb, nvidiafb, or nouveau is "
+ "if another driver, such as nouveau, is "
"present and prevents the NVIDIA kernel module from "
- "obtaining ownership of the NVIDIA graphics device(s), "
+ "obtaining ownership of the NVIDIA GPU(s), "
"or no NVIDIA GPU installed in this system is supported "
"by this NVIDIA Linux graphics driver release.\n\n"
"Please see the log entries 'Kernel module load "
diff --git a/nvLegacy.h b/nvLegacy.h
index 031b51a..89b60a4 100644
--- a/nvLegacy.h
+++ b/nvLegacy.h
@@ -41,6 +41,7 @@ typedef struct _LEGACY_STRINGS {
* This table describes how we should refer to legacy branches.
*/
static const LEGACY_STRINGS LegacyStrings[] = {
+ { 7, "390.xx" },
{ 6, "367.xx" },
{ 5, "340.xx" },
{ 4, "304.xx" },
@@ -568,7 +569,526 @@ static const LEGACY_INFO LegacyList[] = {
{ 0x10D8, 0x0000, 0x0000, 5, "NVS 300" },
{ 0x0FEF, 0x0000, 0x0000, 6, "GRID K340" },
{ 0x0FF2, 0x0000, 0x0000, 6, "GRID K1" },
- { 0x11BF, 0x0000, 0x0000, 6, "GRID K2" }
+ { 0x11BF, 0x0000, 0x0000, 6, "GRID K2" },
+ { 0x06C0, 0x0000, 0x0000, 7, "GeForce GTX 480" },
+ { 0x06C4, 0x0000, 0x0000, 7, "GeForce GTX 465" },
+ { 0x06CA, 0x0000, 0x0000, 7, "GeForce GTX 480M" },
+ { 0x06CD, 0x0000, 0x0000, 7, "GeForce GTX 470" },
+ { 0x06D1, 0x0000, 0x0000, 7, "Tesla C2050 / C2070" },
+ { 0x06D1, 0x10DE, 0x0771, 7, "Tesla C2050" },
+ { 0x06D1, 0x10DE, 0x0772, 7, "Tesla C2070" },
+ { 0x06D2, 0x0000, 0x0000, 7, "Tesla M2070" },
+ { 0x06D2, 0x10DE, 0x088F, 7, "Tesla X2070" },
+ { 0x06D8, 0x0000, 0x0000, 7, "Quadro 6000" },
+ { 0x06D9, 0x0000, 0x0000, 7, "Quadro 5000" },
+ { 0x06DA, 0x0000, 0x0000, 7, "Quadro 5000M" },
+ { 0x06DC, 0x0000, 0x0000, 7, "Quadro 6000" },
+ { 0x06DD, 0x0000, 0x0000, 7, "Quadro 4000" },
+ { 0x06DE, 0x0000, 0x0000, 7, "Tesla T20 Processor" },
+ { 0x06DE, 0x10DE, 0x0773, 7, "Tesla S2050" },
+ { 0x06DE, 0x10DE, 0x082F, 7, "Tesla M2050" },
+ { 0x06DE, 0x10DE, 0x0840, 7, "Tesla X2070" },
+ { 0x06DE, 0x10DE, 0x0842, 7, "Tesla M2050" },
+ { 0x06DE, 0x10DE, 0x0846, 7, "Tesla M2050" },
+ { 0x06DE, 0x10DE, 0x0866, 7, "Tesla M2050" },
+ { 0x06DE, 0x10DE, 0x0907, 7, "Tesla M2050" },
+ { 0x06DE, 0x10DE, 0x091E, 7, "Tesla M2050" },
+ { 0x06DF, 0x0000, 0x0000, 7, "Tesla M2070-Q" },
+ { 0x0DC0, 0x0000, 0x0000, 7, "GeForce GT 440" },
+ { 0x0DC4, 0x0000, 0x0000, 7, "GeForce GTS 450" },
+ { 0x0DC5, 0x0000, 0x0000, 7, "GeForce GTS 450" },
+ { 0x0DC6, 0x0000, 0x0000, 7, "GeForce GTS 450" },
+ { 0x0DCD, 0x0000, 0x0000, 7, "GeForce GT 555M" },
+ { 0x0DCE, 0x0000, 0x0000, 7, "GeForce GT 555M" },
+ { 0x0DD1, 0x0000, 0x0000, 7, "GeForce GTX 460M" },
+ { 0x0DD2, 0x0000, 0x0000, 7, "GeForce GT 445M" },
+ { 0x0DD3, 0x0000, 0x0000, 7, "GeForce GT 435M" },
+ { 0x0DD6, 0x0000, 0x0000, 7, "GeForce GT 550M" },
+ { 0x0DD8, 0x0000, 0x0000, 7, "Quadro 2000" },
+ { 0x0DD8, 0x10DE, 0x0914, 7, "Quadro 2000D" },
+ { 0x0DDA, 0x0000, 0x0000, 7, "Quadro 2000M" },
+ { 0x0DE0, 0x0000, 0x0000, 7, "GeForce GT 440" },
+ { 0x0DE1, 0x0000, 0x0000, 7, "GeForce GT 430" },
+ { 0x0DE2, 0x0000, 0x0000, 7, "GeForce GT 420" },
+ { 0x0DE3, 0x0000, 0x0000, 7, "GeForce GT 635M" },
+ { 0x0DE4, 0x0000, 0x0000, 7, "GeForce GT 520" },
+ { 0x0DE5, 0x0000, 0x0000, 7, "GeForce GT 530" },
+ { 0x0DE7, 0x0000, 0x0000, 7, "GeForce GT 610" },
+ { 0x0DE8, 0x0000, 0x0000, 7, "GeForce GT 620M" },
+ { 0x0DE9, 0x0000, 0x0000, 7, "GeForce GT 630M" },
+ { 0x0DE9, 0x1025, 0x0692, 7, "GeForce GT 620M" },
+ { 0x0DE9, 0x1025, 0x0725, 7, "GeForce GT 620M" },
+ { 0x0DE9, 0x1025, 0x0728, 7, "GeForce GT 620M" },
+ { 0x0DE9, 0x1025, 0x072B, 7, "GeForce GT 620M" },
+ { 0x0DE9, 0x1025, 0x072E, 7, "GeForce GT 620M" },
+ { 0x0DE9, 0x1025, 0x0753, 7, "GeForce GT 620M" },
+ { 0x0DE9, 0x1025, 0x0754, 7, "GeForce GT 620M" },
+ { 0x0DE9, 0x1B0A, 0x2210, 7, "GeForce GT 635M" },
+ { 0x0DE9, 0x17AA, 0x3977, 7, "GeForce GT 640M LE" },
+ { 0x0DEA, 0x0000, 0x0000, 7, "GeForce 610M" },
+ { 0x0DEA, 0x17AA, 0x365A, 7, "GeForce 615" },
+ { 0x0DEA, 0x17AA, 0x365B, 7, "GeForce 615" },
+ { 0x0DEA, 0x17AA, 0x365E, 7, "GeForce 615" },
+ { 0x0DEA, 0x17AA, 0x3660, 7, "GeForce 615" },
+ { 0x0DEA, 0x17AA, 0x366C, 7, "GeForce 615" },
+ { 0x0DEB, 0x0000, 0x0000, 7, "GeForce GT 555M" },
+ { 0x0DEC, 0x0000, 0x0000, 7, "GeForce GT 525M" },
+ { 0x0DED, 0x0000, 0x0000, 7, "GeForce GT 520M" },
+ { 0x0DEE, 0x0000, 0x0000, 7, "GeForce GT 415M" },
+ { 0x0DEF, 0x0000, 0x0000, 7, "NVS 5400M" },
+ { 0x0DF0, 0x0000, 0x0000, 7, "GeForce GT 425M" },
+ { 0x0DF1, 0x0000, 0x0000, 7, "GeForce GT 420M" },
+ { 0x0DF2, 0x0000, 0x0000, 7, "GeForce GT 435M" },
+ { 0x0DF3, 0x0000, 0x0000, 7, "GeForce GT 420M" },
+ { 0x0DF4, 0x0000, 0x0000, 7, "GeForce GT 540M" },
+ { 0x0DF4, 0x152D, 0x0952, 7, "GeForce GT 630M" },
+ { 0x0DF4, 0x152D, 0x0953, 7, "GeForce GT 630M" },
+ { 0x0DF5, 0x0000, 0x0000, 7, "GeForce GT 525M" },
+ { 0x0DF6, 0x0000, 0x0000, 7, "GeForce GT 550M" },
+ { 0x0DF7, 0x0000, 0x0000, 7, "GeForce GT 520M" },
+ { 0x0DF8, 0x0000, 0x0000, 7, "Quadro 600" },
+ { 0x0DF9, 0x0000, 0x0000, 7, "Quadro 500M" },
+ { 0x0DFA, 0x0000, 0x0000, 7, "Quadro 1000M" },
+ { 0x0DFC, 0x0000, 0x0000, 7, "NVS 5200M" },
+ { 0x0E22, 0x0000, 0x0000, 7, "GeForce GTX 460" },
+ { 0x0E23, 0x0000, 0x0000, 7, "GeForce GTX 460 SE" },
+ { 0x0E24, 0x0000, 0x0000, 7, "GeForce GTX 460" },
+ { 0x0E30, 0x0000, 0x0000, 7, "GeForce GTX 470M" },
+ { 0x0E31, 0x0000, 0x0000, 7, "GeForce GTX 485M" },
+ { 0x0E3A, 0x0000, 0x0000, 7, "Quadro 3000M" },
+ { 0x0E3B, 0x0000, 0x0000, 7, "Quadro 4000M" },
+ { 0x0F00, 0x0000, 0x0000, 7, "GeForce GT 630" },
+ { 0x0F01, 0x0000, 0x0000, 7, "GeForce GT 620" },
+ { 0x0F02, 0x0000, 0x0000, 7, "GeForce GT 730" },
+ { 0x0F03, 0x0000, 0x0000, 7, "GeForce GT 610" },
+ { 0x1040, 0x0000, 0x0000, 7, "GeForce GT 520" },
+ { 0x1042, 0x0000, 0x0000, 7, "GeForce 510" },
+ { 0x1048, 0x0000, 0x0000, 7, "GeForce 605" },
+ { 0x1049, 0x0000, 0x0000, 7, "GeForce GT 620" },
+ { 0x104A, 0x0000, 0x0000, 7, "GeForce GT 610" },
+ { 0x104B, 0x0000, 0x0000, 7, "GeForce GT 625 (OEM)" },
+ { 0x104B, 0x174B, 0x0625, 7, "GeForce GT 625" },
+ { 0x104B, 0x1043, 0x844C, 7, "GeForce GT 625" },
+ { 0x104B, 0x1043, 0x846B, 7, "GeForce GT 625" },
+ { 0x104B, 0x174B, 0xA625, 7, "GeForce GT 625" },
+ { 0x104B, 0x1462, 0xB590, 7, "GeForce GT 625" },
+ { 0x104C, 0x0000, 0x0000, 7, "GeForce GT 705" },
+ { 0x1050, 0x0000, 0x0000, 7, "GeForce GT 520M" },
+ { 0x1051, 0x0000, 0x0000, 7, "GeForce GT 520MX" },
+ { 0x1052, 0x0000, 0x0000, 7, "GeForce GT 520M" },
+ { 0x1054, 0x0000, 0x0000, 7, "GeForce 410M" },
+ { 0x1055, 0x0000, 0x0000, 7, "GeForce 410M" },
+ { 0x1056, 0x0000, 0x0000, 7, "NVS 4200M" },
+ { 0x1057, 0x0000, 0x0000, 7, "NVS 4200M" },
+ { 0x1058, 0x0000, 0x0000, 7, "GeForce 610M" },
+ { 0x1058, 0x103C, 0x2AF1, 7, "GeForce 610" },
+ { 0x1058, 0x17AA, 0x3682, 7, "GeForce 800A" },
+ { 0x1058, 0x705A, 0x3682, 7, "GeForce 800A" },
+ { 0x1058, 0x17AA, 0x3692, 7, "GeForce 705A" },
+ { 0x1058, 0x17AA, 0x3695, 7, "GeForce 800A" },
+ { 0x1058, 0x17AA, 0x36A8, 7, "GeForce 800A" },
+ { 0x1058, 0x17AA, 0x36AC, 7, "GeForce 800A" },
+ { 0x1058, 0x17AA, 0x36AD, 7, "GeForce 800A" },
+ { 0x1059, 0x0000, 0x0000, 7, "GeForce 610M" },
+ { 0x105A, 0x0000, 0x0000, 7, "GeForce 610M" },
+ { 0x105B, 0x0000, 0x0000, 7, "GeForce 705M" },
+ { 0x105B, 0x103C, 0x2AFB, 7, "GeForce 705A" },
+ { 0x105B, 0x17AA, 0x30B1, 7, "GeForce 800A" },
+ { 0x105B, 0x17AA, 0x30F3, 7, "GeForce 705A" },
+ { 0x105B, 0x17AA, 0x36A1, 7, "GeForce 800A" },
+ { 0x107C, 0x0000, 0x0000, 7, "NVS 315" },
+ { 0x107D, 0x0000, 0x0000, 7, "NVS 310" },
+ { 0x1080, 0x0000, 0x0000, 7, "GeForce GTX 580" },
+ { 0x1081, 0x0000, 0x0000, 7, "GeForce GTX 570" },
+ { 0x1082, 0x0000, 0x0000, 7, "GeForce GTX 560 Ti" },
+ { 0x1084, 0x0000, 0x0000, 7, "GeForce GTX 560" },
+ { 0x1086, 0x0000, 0x0000, 7, "GeForce GTX 570" },
+ { 0x1087, 0x0000, 0x0000, 7, "GeForce GTX 560 Ti" },
+ { 0x1088, 0x0000, 0x0000, 7, "GeForce GTX 590" },
+ { 0x1089, 0x0000, 0x0000, 7, "GeForce GTX 580" },
+ { 0x108B, 0x0000, 0x0000, 7, "GeForce GTX 580" },
+ { 0x1091, 0x0000, 0x0000, 7, "Tesla M2090" },
+ { 0x1091, 0x10DE, 0x088E, 7, "Tesla X2090" },
+ { 0x1091, 0x10DE, 0x0891, 7, "Tesla X2090" },
+ { 0x1091, 0x10DE, 0x0974, 7, "Tesla X2090" },
+ { 0x1091, 0x10DE, 0x098D, 7, "Tesla X2090" },
+ { 0x1094, 0x0000, 0x0000, 7, "Tesla M2075" },
+ { 0x1096, 0x0000, 0x0000, 7, "Tesla C2075" },
+ { 0x1096, 0x10DE, 0x0911, 7, "Tesla C2050" },
+ { 0x109A, 0x0000, 0x0000, 7, "Quadro 5010M" },
+ { 0x109B, 0x0000, 0x0000, 7, "Quadro 7000" },
+ { 0x1140, 0x14C0, 0x0083, 7, "GeForce 820M" },
+ { 0x1140, 0x1BAB, 0x0106, 7, "GeForce 820M" },
+ { 0x1140, 0x1854, 0x0177, 7, "GeForce 710M" },
+ { 0x1140, 0x1854, 0x0180, 7, "GeForce 710M" },
+ { 0x1140, 0x1854, 0x0190, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1854, 0x0192, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1B0A, 0x01C0, 7, "GeForce 820M" },
+ { 0x1140, 0x1854, 0x0224, 7, "GeForce 820M" },
+ { 0x1140, 0x1028, 0x054D, 7, "GeForce GT 630M" },
+ { 0x1140, 0x1028, 0x054E, 7, "GeForce GT 630M" },
+ { 0x1140, 0x1028, 0x0554, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1028, 0x0557, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1028, 0x0562, 7, "GeForce GT 625M" },
+ { 0x1140, 0x1028, 0x0565, 7, "GeForce GT 630M" },
+ { 0x1140, 0x1028, 0x0568, 7, "GeForce GT 630M" },
+ { 0x1140, 0x1028, 0x0590, 7, "GeForce GT 630M" },
+ { 0x1140, 0x1028, 0x0592, 7, "GeForce GT 625M" },
+ { 0x1140, 0x1028, 0x0594, 7, "GeForce GT 625M" },
+ { 0x1140, 0x1028, 0x0595, 7, "GeForce GT 625M" },
+ { 0x1140, 0x1028, 0x05A2, 7, "GeForce GT 625M" },
+ { 0x1140, 0x1028, 0x05B1, 7, "GeForce GT 625M" },
+ { 0x1140, 0x1028, 0x05B3, 7, "GeForce GT 625M" },
+ { 0x1140, 0x1028, 0x05DA, 7, "GeForce GT 630M" },
+ { 0x1140, 0x1028, 0x05DE, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1028, 0x05E0, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1028, 0x05E8, 7, "GeForce GT 630M" },
+ { 0x1140, 0x1028, 0x05F4, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1025, 0x0600, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1025, 0x0606, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1028, 0x060F, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1028, 0x062F, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1025, 0x064A, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1025, 0x064C, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1028, 0x064E, 7, "GeForce 820M" },
+ { 0x1140, 0x1028, 0x0652, 7, "GeForce 820M" },
+ { 0x1140, 0x1028, 0x0653, 7, "GeForce 820M" },
+ { 0x1140, 0x1028, 0x0655, 7, "GeForce 820M" },
+ { 0x1140, 0x1028, 0x065E, 7, "GeForce 820M" },
+ { 0x1140, 0x1028, 0x0662, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x067A, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1025, 0x0680, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1025, 0x0686, 7, "GeForce 710M" },
+ { 0x1140, 0x1025, 0x0689, 7, "GeForce 710M" },
+ { 0x1140, 0x1025, 0x068B, 7, "GeForce 710M" },
+ { 0x1140, 0x1025, 0x068D, 7, "GeForce 710M" },
+ { 0x1140, 0x1028, 0x068D, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x068E, 7, "GeForce 710M" },
+ { 0x1140, 0x1025, 0x0691, 7, "GeForce 710M" },
+ { 0x1140, 0x1025, 0x0692, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1025, 0x0694, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1028, 0x06AD, 7, "GeForce 820M" },
+ { 0x1140, 0x1028, 0x06AE, 7, "GeForce 820M" },
+ { 0x1140, 0x1028, 0x06AF, 7, "GeForce 820M" },
+ { 0x1140, 0x1028, 0x06B0, 7, "GeForce 820M" },
+ { 0x1140, 0x1028, 0x06C0, 7, "GeForce 820M" },
+ { 0x1140, 0x1028, 0x06C1, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0702, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1025, 0x0719, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1025, 0x0725, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1025, 0x0728, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1025, 0x072B, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1025, 0x072E, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1025, 0x0732, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1025, 0x0763, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1025, 0x0773, 7, "GeForce 710M" },
+ { 0x1140, 0x1025, 0x0774, 7, "GeForce 710M" },
+ { 0x1140, 0x1025, 0x0776, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1025, 0x077A, 7, "GeForce 710M" },
+ { 0x1140, 0x1025, 0x077B, 7, "GeForce 710M" },
+ { 0x1140, 0x1025, 0x077C, 7, "GeForce 710M" },
+ { 0x1140, 0x1025, 0x077D, 7, "GeForce 710M" },
+ { 0x1140, 0x1025, 0x077E, 7, "GeForce 710M" },
+ { 0x1140, 0x1025, 0x077F, 7, "GeForce 710M" },
+ { 0x1140, 0x1025, 0x0781, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1025, 0x0798, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1019, 0x0799, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0799, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1025, 0x079B, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1025, 0x079C, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1025, 0x0807, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1025, 0x0821, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0823, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1025, 0x0830, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1025, 0x0833, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1025, 0x0837, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1025, 0x083E, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0841, 7, "GeForce 710M" },
+ { 0x1140, 0x1025, 0x0853, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0854, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0855, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0856, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0857, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0858, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0863, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0868, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0869, 7, "GeForce 810M" },
+ { 0x1140, 0x1025, 0x0873, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0878, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x087B, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x087F, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0881, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0885, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x088A, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x089B, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0921, 7, "GeForce 820M" },
+ { 0x1140, 0x152D, 0x0926, 7, "GeForce 620M" },
+ { 0x1140, 0x1025, 0x092E, 7, "GeForce 810M" },
+ { 0x1140, 0x1025, 0x092F, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0932, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x093A, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x093C, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x093F, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0941, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0945, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0954, 7, "GeForce 820M" },
+ { 0x1140, 0x1025, 0x0965, 7, "GeForce 820M" },
+ { 0x1140, 0x152D, 0x0982, 7, "GeForce GT 630M" },
+ { 0x1140, 0x152D, 0x0983, 7, "GeForce GT 630M" },
+ { 0x1140, 0x105B, 0x0DAC, 7, "GeForce GT 720M" },
+ { 0x1140, 0x105B, 0x0DAD, 7, "GeForce GT 720M" },
+ { 0x1140, 0x105B, 0x0EF3, 7, "GeForce GT 720M" },
+ { 0x1140, 0x152D, 0x1005, 7, "GeForce GT 820M" },
+ { 0x1140, 0x152D, 0x1012, 7, "GeForce 710M" },
+ { 0x1140, 0x1D05, 0x1013, 7, "GeForce 810M" },
+ { 0x1140, 0x152D, 0x1019, 7, "GeForce 820M" },
+ { 0x1140, 0x152D, 0x1030, 7, "GeForce GT 630M" },
+ { 0x1140, 0x152D, 0x1055, 7, "GeForce 710M" },
+ { 0x1140, 0x152D, 0x1067, 7, "GeForce GT 720M" },
+ { 0x1140, 0x152D, 0x1092, 7, "GeForce 820M" },
+ { 0x1140, 0x1462, 0x10B8, 7, "GeForce GT 710M" },
+ { 0x1140, 0x1043, 0x10DD, 7, "NVS 5200M" },
+ { 0x1140, 0x1462, 0x10E9, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1043, 0x10ED, 7, "NVS 5200M" },
+ { 0x1140, 0x1462, 0x1116, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x11FD, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1043, 0x124D, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1043, 0x126D, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1043, 0x131D, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1043, 0x13FD, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1043, 0x14C7, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1043, 0x1507, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1043, 0x15AD, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x15ED, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x160D, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x163D, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x165D, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x166D, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x16CD, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x16DD, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x170D, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x176D, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x178D, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x179D, 7, "GeForce 820M" },
+ { 0x1140, 0x10CF, 0x17F5, 7, "GeForce GT 720M" },
+ { 0x1140, 0x103C, 0x18EF, 7, "GeForce GT 630M" },
+ { 0x1140, 0x103C, 0x18F9, 7, "GeForce GT 630M" },
+ { 0x1140, 0x103C, 0x18FB, 7, "GeForce GT 630M" },
+ { 0x1140, 0x103C, 0x18FD, 7, "GeForce GT 630M" },
+ { 0x1140, 0x103C, 0x18FF, 7, "GeForce GT 630M" },
+ { 0x1140, 0x1B0A, 0x20DD, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1B0A, 0x20DF, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1B0A, 0x210E, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x2132, 7, "GeForce GT 620M" },
+ { 0x1140, 0x1043, 0x2136, 7, "NVS 5200M" },
+ { 0x1140, 0x103C, 0x218A, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x21BA, 7, "GeForce GT 720M" },
+ { 0x1140, 0x103C, 0x21BB, 7, "GeForce 820M" },
+ { 0x1140, 0x103C, 0x21BC, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x21FA, 7, "GeForce GT 720M" },
+ { 0x1140, 0x17AA, 0x2200, 7, "NVS 5200M" },
+ { 0x1140, 0x1B0A, 0x2202, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1043, 0x220A, 7, "GeForce GT 720M" },
+ { 0x1140, 0x103C, 0x220E, 7, "GeForce 820M" },
+ { 0x1140, 0x103C, 0x2210, 7, "GeForce 820M" },
+ { 0x1140, 0x103C, 0x2212, 7, "GeForce 820M" },
+ { 0x1140, 0x17AA, 0x2213, 7, "GeForce GT 720M" },
+ { 0x1140, 0x103C, 0x2214, 7, "GeForce 820M" },
+ { 0x1140, 0x103C, 0x2218, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x221A, 7, "GeForce GT 720M" },
+ { 0x1140, 0x17AA, 0x2220, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1043, 0x223A, 7, "GeForce GT 710M" },
+ { 0x1140, 0x1043, 0x224A, 7, "GeForce GT 710M" },
+ { 0x1140, 0x103C, 0x225B, 7, "GeForce 820M" },
+ { 0x1140, 0x103C, 0x225D, 7, "GeForce 820M" },
+ { 0x1140, 0x103C, 0x226D, 7, "GeForce 820M" },
+ { 0x1140, 0x103C, 0x226F, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x227A, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x228A, 7, "GeForce 820M" },
+ { 0x1140, 0x103C, 0x22D2, 7, "GeForce 820M" },
+ { 0x1140, 0x103C, 0x22D9, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x22FA, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x232A, 7, "GeForce 820M" },
+ { 0x1140, 0x103C, 0x2335, 7, "GeForce 820M" },
+ { 0x1140, 0x103C, 0x2337, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x233A, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x235A, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x236A, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x238A, 7, "GeForce 820M" },
+ { 0x1140, 0x103C, 0x2AEF, 7, "GeForce GT 720A" },
+ { 0x1140, 0x103C, 0x2AF9, 7, "GeForce 710A" },
+ { 0x1140, 0x17AA, 0x309C, 7, "GeForce GT 720A" },
+ { 0x1140, 0x17AA, 0x30B4, 7, "GeForce 820A" },
+ { 0x1140, 0x17AA, 0x30B7, 7, "GeForce 720A" },
+ { 0x1140, 0x17AA, 0x30E4, 7, "GeForce 820A" },
+ { 0x1140, 0x17AA, 0x361B, 7, "GeForce 820A" },
+ { 0x1140, 0x17AA, 0x361C, 7, "GeForce 820A" },
+ { 0x1140, 0x17AA, 0x361D, 7, "GeForce 820A" },
+ { 0x1140, 0x17AA, 0x3656, 7, "GeForce GT 620M" },
+ { 0x1140, 0x17AA, 0x365A, 7, "GeForce 705M" },
+ { 0x1140, 0x17AA, 0x365E, 7, "GeForce 800M" },
+ { 0x1140, 0x17AA, 0x3661, 7, "GeForce 820A" },
+ { 0x1140, 0x17AA, 0x366C, 7, "GeForce 800M" },
+ { 0x1140, 0x17AA, 0x3685, 7, "GeForce 800M" },
+ { 0x1140, 0x17AA, 0x3686, 7, "GeForce 800M" },
+ { 0x1140, 0x17AA, 0x3687, 7, "GeForce 705A" },
+ { 0x1140, 0x17AA, 0x3696, 7, "GeForce 820A" },
+ { 0x1140, 0x17AA, 0x369B, 7, "GeForce 820A" },
+ { 0x1140, 0x17AA, 0x369C, 7, "GeForce 820A" },
+ { 0x1140, 0x17AA, 0x369D, 7, "GeForce 820A" },
+ { 0x1140, 0x17AA, 0x369E, 7, "GeForce 820A" },
+ { 0x1140, 0x17AA, 0x36A6, 7, "GeForce 820A" },
+ { 0x1140, 0x17AA, 0x36A7, 7, "GeForce 820A" },
+ { 0x1140, 0x17AA, 0x36A9, 7, "GeForce 820A" },
+ { 0x1140, 0x17AA, 0x36AF, 7, "GeForce 820A" },
+ { 0x1140, 0x17AA, 0x36B0, 7, "GeForce 820A" },
+ { 0x1140, 0x17AA, 0x36B6, 7, "GeForce 820A" },
+ { 0x1140, 0x17AA, 0x3800, 7, "GeForce GT 720M" },
+ { 0x1140, 0x17AA, 0x3801, 7, "GeForce GT 720M" },
+ { 0x1140, 0x17AA, 0x3802, 7, "GeForce GT 720M" },
+ { 0x1140, 0x17AA, 0x3803, 7, "GeForce GT 720M" },
+ { 0x1140, 0x17AA, 0x3804, 7, "GeForce GT 720M" },
+ { 0x1140, 0x17AA, 0x3806, 7, "GeForce GT 720M" },
+ { 0x1140, 0x17AA, 0x3808, 7, "GeForce GT 720M" },
+ { 0x1140, 0x17AA, 0x380D, 7, "GeForce GT 820M" },
+ { 0x1140, 0x17AA, 0x380E, 7, "GeForce GT 820M" },
+ { 0x1140, 0x17AA, 0x380F, 7, "GeForce GT 820M" },
+ { 0x1140, 0x17AA, 0x3811, 7, "GeForce GT 820M" },
+ { 0x1140, 0x17AA, 0x3812, 7, "GeForce 820M" },
+ { 0x1140, 0x17AA, 0x3813, 7, "GeForce 820M" },
+ { 0x1140, 0x17AA, 0x3816, 7, "GeForce 820M" },
+ { 0x1140, 0x17AA, 0x3817, 7, "GeForce 820M" },
+ { 0x1140, 0x17AA, 0x3818, 7, "GeForce 820M" },
+ { 0x1140, 0x17AA, 0x381A, 7, "GeForce 820M" },
+ { 0x1140, 0x17AA, 0x381C, 7, "GeForce 820M" },
+ { 0x1140, 0x17AA, 0x381D, 7, "GeForce 820M" },
+ { 0x1140, 0x17AA, 0x3901, 7, "GeForce 610M" },
+ { 0x1140, 0x17AA, 0x3902, 7, "GeForce 710M" },
+ { 0x1140, 0x17AA, 0x3903, 7, "GeForce 710M" },
+ { 0x1140, 0x17AA, 0x3904, 7, "GeForce GT 625M" },
+ { 0x1140, 0x17AA, 0x3905, 7, "GeForce GT 720M" },
+ { 0x1140, 0x17AA, 0x3907, 7, "GeForce 820M" },
+ { 0x1140, 0x17AA, 0x3910, 7, "GeForce GT 720M" },
+ { 0x1140, 0x17AA, 0x3912, 7, "GeForce GT 720M" },
+ { 0x1140, 0x17AA, 0x3913, 7, "GeForce 820M" },
+ { 0x1140, 0x17AA, 0x3915, 7, "GeForce 820M" },
+ { 0x1140, 0x17AA, 0x3983, 7, "GeForce 610M" },
+ { 0x1140, 0x17AA, 0x5001, 7, "GeForce 610M" },
+ { 0x1140, 0x17AA, 0x5003, 7, "GeForce GT 720M" },
+ { 0x1140, 0x17AA, 0x5005, 7, "GeForce 705M" },
+ { 0x1140, 0x17AA, 0x500D, 7, "GeForce GT 620M" },
+ { 0x1140, 0x17AA, 0x5014, 7, "GeForce 710M" },
+ { 0x1140, 0x17AA, 0x5017, 7, "GeForce 710M" },
+ { 0x1140, 0x17AA, 0x5019, 7, "GeForce 710M" },
+ { 0x1140, 0x17AA, 0x501A, 7, "GeForce 710M" },
+ { 0x1140, 0x17AA, 0x501F, 7, "GeForce GT 720M" },
+ { 0x1140, 0x17AA, 0x5025, 7, "GeForce 710M" },
+ { 0x1140, 0x17AA, 0x5027, 7, "GeForce 710M" },
+ { 0x1140, 0x17AA, 0x502A, 7, "GeForce 710M" },
+ { 0x1140, 0x17AA, 0x502B, 7, "GeForce GT 720M" },
+ { 0x1140, 0x17AA, 0x502D, 7, "GeForce 710M" },
+ { 0x1140, 0x17AA, 0x502E, 7, "GeForce GT 720M" },
+ { 0x1140, 0x17AA, 0x502F, 7, "GeForce GT 720M" },
+ { 0x1140, 0x17AA, 0x5030, 7, "GeForce 705M" },
+ { 0x1140, 0x17AA, 0x5031, 7, "GeForce 705M" },
+ { 0x1140, 0x1B6C, 0x5031, 7, "GeForce GT 720M" },
+ { 0x1140, 0x17AA, 0x5032, 7, "GeForce 820M" },
+ { 0x1140, 0x17AA, 0x5033, 7, "GeForce 820M" },
+ { 0x1140, 0x17AA, 0x503E, 7, "GeForce 710M" },
+ { 0x1140, 0x17AA, 0x503F, 7, "GeForce 820M" },
+ { 0x1140, 0x17AA, 0x5040, 7, "GeForce 820M" },
+ { 0x1140, 0x1B50, 0x5530, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x8595, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1043, 0x85EA, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1043, 0x85EB, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x85EC, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x85EE, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1043, 0x85F3, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x860E, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x861A, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x861B, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x8628, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x8643, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x864C, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x8652, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x8660, 7, "GeForce 820M" },
+ { 0x1140, 0x1043, 0x8661, 7, "GeForce 820M" },
+ { 0x1140, 0x1B0A, 0x90D7, 7, "GeForce 820M" },
+ { 0x1140, 0x1B0A, 0x90DD, 7, "GeForce 820M" },
+ { 0x1140, 0x1019, 0x999F, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1462, 0xAA33, 7, "GeForce 720M" },
+ { 0x1140, 0x1462, 0xAAA2, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1462, 0xAAA3, 7, "GeForce 820M" },
+ { 0x1140, 0x1462, 0xACB2, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1462, 0xACC1, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1462, 0xAE61, 7, "GeForce 720M" },
+ { 0x1140, 0x1462, 0xAE65, 7, "GeForce GT 720M" },
+ { 0x1140, 0x1462, 0xAE6A, 7, "GeForce 820M" },
+ { 0x1140, 0x1462, 0xAE71, 7, "GeForce GT 720M" },
+ { 0x1140, 0x144D, 0xB092, 7, "GeForce GT 620M" },
+ { 0x1140, 0x144D, 0xC0D5, 7, "GeForce GT 630M" },
+ { 0x1140, 0x144D, 0xC0D7, 7, "GeForce GT 620M" },
+ { 0x1140, 0x144D, 0xC0E2, 7, "NVS 5200M" },
+ { 0x1140, 0x144D, 0xC0E3, 7, "NVS 5200M" },
+ { 0x1140, 0x144D, 0xC0E4, 7, "NVS 5200M" },
+ { 0x1140, 0x144D, 0xC10D, 7, "GeForce 820M" },
+ { 0x1140, 0x144D, 0xC652, 7, "GeForce GT 620M" },
+ { 0x1140, 0x144D, 0xC709, 7, "GeForce 710M" },
+ { 0x1140, 0x144D, 0xC711, 7, "GeForce 710M" },
+ { 0x1140, 0x144D, 0xC736, 7, "GeForce 710M" },
+ { 0x1140, 0x144D, 0xC737, 7, "GeForce 710M" },
+ { 0x1140, 0x144D, 0xC745, 7, "GeForce 820M" },
+ { 0x1140, 0x144D, 0xC750, 7, "GeForce 820M" },
+ { 0x1140, 0x1179, 0xFA01, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA02, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA03, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA05, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA11, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA13, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA18, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA19, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA21, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA23, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA2A, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA32, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA33, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA36, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA38, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA42, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA43, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA45, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA47, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA49, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA58, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA59, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA88, 7, "GeForce 710M" },
+ { 0x1140, 0x1179, 0xFA89, 7, "GeForce 710M" },
+ { 0x1200, 0x0000, 0x0000, 7, "GeForce GTX 560 Ti" },
+ { 0x1201, 0x0000, 0x0000, 7, "GeForce GTX 560" },
+ { 0x1203, 0x0000, 0x0000, 7, "GeForce GTX 460 SE v2" },
+ { 0x1205, 0x0000, 0x0000, 7, "GeForce GTX 460 v2" },
+ { 0x1206, 0x0000, 0x0000, 7, "GeForce GTX 555" },
+ { 0x1207, 0x0000, 0x0000, 7, "GeForce GT 645" },
+ { 0x1208, 0x0000, 0x0000, 7, "GeForce GTX 560 SE" },
+ { 0x1210, 0x0000, 0x0000, 7, "GeForce GTX 570M" },
+ { 0x1211, 0x0000, 0x0000, 7, "GeForce GTX 580M" },
+ { 0x1212, 0x0000, 0x0000, 7, "GeForce GTX 675M" },
+ { 0x1213, 0x0000, 0x0000, 7, "GeForce GTX 670M" },
+ { 0x1241, 0x0000, 0x0000, 7, "GeForce GT 545" },
+ { 0x1243, 0x0000, 0x0000, 7, "GeForce GT 545" },
+ { 0x1244, 0x0000, 0x0000, 7, "GeForce GTX 550 Ti" },
+ { 0x1245, 0x0000, 0x0000, 7, "GeForce GTS 450" },
+ { 0x1246, 0x0000, 0x0000, 7, "GeForce GT 550M" },
+ { 0x1247, 0x0000, 0x0000, 7, "GeForce GT 555M" },
+ { 0x1247, 0x1043, 0x212A, 7, "GeForce GT 635M" },
+ { 0x1247, 0x1043, 0x212B, 7, "GeForce GT 635M" },
+ { 0x1247, 0x1043, 0x212C, 7, "GeForce GT 635M" },
+ { 0x1248, 0x0000, 0x0000, 7, "GeForce GT 555M" },
+ { 0x1249, 0x0000, 0x0000, 7, "GeForce GTS 450" },
+ { 0x124B, 0x0000, 0x0000, 7, "GeForce GT 640" },
+ { 0x124D, 0x0000, 0x0000, 7, "GeForce GT 555M" },
+ { 0x124D, 0x1462, 0x10CC, 7, "GeForce GT 635M" },
+ { 0x1251, 0x0000, 0x0000, 7, "GeForce GTX 560M" }
};
#endif /* __NV_LEGACY_H */
diff --git a/option_table.h b/option_table.h
index 571ee6c..5283730 100644
--- a/option_table.h
+++ b/option_table.h
@@ -442,7 +442,7 @@ static const NVGetoptOption __options[] = {
"existing, possibly conflicting kernel modules. This can be "
"useful in some DEBUG environments. If you use this option, you "
"must be careful to ensure that a NVIDIA kernel module matching "
- "this driver version is installed seperately." },
+ "this driver version is installed separately." },
{ "no-x-check", NO_X_CHECK_OPTION, 0, NULL,
"Do not abort the installation if nvidia-installer detects that "
diff --git a/version.mk b/version.mk
index 5cd2f7d..8837937 100644
--- a/version.mk
+++ b/version.mk
@@ -1 +1 @@
-NVIDIA_VERSION = 390.48
+NVIDIA_VERSION = 396.18