如何让 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.
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.