如何让 Nvidia 成为默认显卡?

How to make make Nvidia as the default graphics card?

2020 年 3 月 27 日:问题归结为如何在 Nvidia 显卡中 运行 应用程序。如果启用英特尔显卡,根据 GPU-Z 软件,Nvidia 和英特尔 GPU 的 OpenGL 版本均为 4.6。但是,如果禁用 Intel,运行 使用 Nvidia 的应用程序,应用程序会崩溃; GPU-Z 显示 OpenGL 版本 1.1。那么,如何才能运行应用Nvidia显卡呢?

注意事项: 1. 我尝试在图形设置中添加应用程序以使用高性能GPU,但应用程序使用的是Intel GPU。 2. 此外,尝试在 Nvidia 控制面板中添加应用程序,但没有成功。

2020 年 3 月 16 日:我在 Windows 10 中执行 NanoGUI 中的示例 1 代码。当我使用 HDMI 电缆(连接到主板)连接我的显示器时,该程序正在运行,但没有崩溃使用 DP 电缆(连接到 NVIDIA 显卡)时出现任何错误。我的系统中有 Intel UHD Graphics 630 和 NVIDIA GeForce GT 730。 NVIDIA驱动版本为26.21.14.4250.

我在调试模式下 运行 一个简单的 OpenGL 代码,程序在 glfwInit() 函数处崩溃。 错误在

libEGL!eglDestroyImageKHR

这是一个使用 DP 端口时崩溃并使用 HDMI 端口的示例代码。

// #include <glad/glad.h>
#include <GLFW/glfw3.h>

#include <iostream>

void framebuffer_size_callback(GLFWwindow* window, int width, int height);
void processInput(GLFWwindow *window);

// settings
const unsigned int SCR_WIDTH = 800;
const unsigned int SCR_HEIGHT = 600;

int main()
{
    // glfw: initialize and configure
    // ------------------------------
    glfwInit();

    // glfw window creation
    // --------------------
    GLFWwindow* window = glfwCreateWindow(SCR_WIDTH, SCR_HEIGHT, "LearnOpenGL", NULL, NULL);
    if (window == NULL)
    {
        std::cout << "Failed to create GLFW window" << std::endl;
        glfwTerminate();
        return -1;
    }
    glfwMakeContextCurrent(window);

    // render loop
    // -----------
    while (!glfwWindowShouldClose(window))
    {

        // glfw: swap buffers and poll IO events (keys pressed/released, mouse moved etc.)
        // -------------------------------------------------------------------------------
        glfwSwapBuffers(window);
        glfwPollEvents();
    }

    // glfw: terminate, clearing all previously allocated GLFW resources.
    // ------------------------------------------------------------------
    glfwTerminate();
    return 0;
}

该问题已在另一次 Nvidia 驱动程序更新至 445.75 标准时得到解决。

此外,我发现远程桌面与 Nvidia 驱动程序存在问题。远程软件程序有时会安装自己的显示驱动程序。更多可以找到 here.