NVIDIA驱动引发外接显示器识别异常及Chrome无法启动的问题求助
大家好,我最近遇到了两个棘手的问题,折腾了好几天都没解决,希望能得到大家的帮助!
我的设备是Dell Alienware X15 R1,BIOS版本为1.18.0(2023年3月10日更新),显卡是NVIDIA GeForce RTX 3070 Mobile / Max-Q。以下是设备信息的命令输出:
查看DMI信息:
sudo dmesg | grep -i DMI:
输出:
[ 0.000000] DMI: Alienware Alienware x15 R1/Alienware x15 R1, BIOS 1.18.0 03/10/2023
查看可用NVIDIA驱动:
ubuntu-drivers devices
输出:
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 == modalias : pci:v000010DEd000024DDsv00001028sd00000A8Ebc03sc00i00 vendor : NVIDIA Corporation model : GA104M [GeForce RTX 3070 Mobile / Max-Q] driver : nvidia-driver-535-server-open - distro non-free driver : nvidia-driver-535 - distro non-free recommended driver : nvidia-driver-525-open - distro non-free driver : nvidia-driver-470-server - distro non-free driver : nvidia-driver-535-server - distro non-free driver : nvidia-driver-470 - distro non-free driver : nvidia-driver-535-open - distro non-free driver : nvidia-driver-525-server - distro non-free driver : nvidia-driver-525 - distro non-free driver : xserver-xorg-video-nouveau - distro free builtin
最近一周我遇到了两个核心问题:
问题一:外接显示器识别异常
当我选择系统推荐的nvidia-driver-535驱动时,Ubuntu完全检测不到我的外接显示器,但切换回nouveau开源驱动后就能正常识别。之前我一直用535驱动都没问题,是最近才突然出现的情况。问题二:Chrome类浏览器无法启动
所有基于Chrome的软件(比如Google Chrome、Brave浏览器)都打不开,点击图标后,左上角会短暂显示应用名称,然后就无声闪退了。这个问题不管我用NVIDIA闭源驱动还是nouveau驱动都会出现,而且和第一个问题几乎同时发生,我怀疑两者有关联。
我回忆了一下,问题大概是在我执行了sudo apt dist-upgrade之后出现的,现在特别后悔做了这次升级!
我不想重装系统(双系统Windows最近也频繁崩溃、内存不足,编译代码还经常因为环境问题失败,急需Ubuntu恢复正常),所以想请教大家有没有办法解决这些问题。
我怀疑是升级后的新内核和NVIDIA驱动冲突,但搞不懂为什么会影响Chrome?我已经彻底卸载并重装过Chrome了——不管是从Ubuntu软件商店安装,还是直接下载官方deb包安装,结果都一样。
以下是我重装Chrome的命令及输出:
sudo dpkg -i google-chrome-stable_current_amd64.deb
输出:
Selecting previously unselected package google-chrome-stable. (Reading database ... 293740 files and directories currently installed.) Preparing to unpack google-chrome-stable_current_amd64.deb ... Unpacking google-chrome-stable (114.0.5735.198-1) ... Setting up google-chrome-stable (114.0.5735.198-1) ... update-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/google-chrome (google-chrome) in auto mode Processing triggers for mailcap (3.70+nmu1ubuntu1) ... Processing triggers for gnome-menus (3.36.0-1ubuntu3) ... Processing triggers for desktop-file-utils (0.26-1ubuntu3) ... Processing triggers for man-db (2.10.2-1) ...
手动启动Chrome时的错误日志:
$ google-chrome
输出:
[12201:12201:0707/105632.005685:FATAL:credentials.cc(127)] Check failed: . : Permission denied (13) Trace/breakpoint trap (core dumped)
用sudo启动的错误:
sudo google-chrome
输出:
[12293:12293:0707/105750.549790:ERROR:zygote_host_impl_linux.cc(100)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
加--no-sandbox用sudo启动的错误:
sudo google-chrome --no-sandbox
输出:
[12321:12343:0707/105828.609145:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix") [12321:12343:0707/105828.609175:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix") [12321:12343:0707/105828.609180:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix") [12321:12343:0707/105828.609185:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix") Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified [12321:12343:0707/105828.617503:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix") [12321:12343:0707/105828.617524:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix") [12321:12343:0707/105828.627064:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix") [12321:12343:0707/105828.627074:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix") Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified [12358:12358:0707/105828.648422:ERROR:angle_platform_impl.cc(43)] Display.cpp:1023 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. ERR: Display.cpp:1023 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. [12358:12358:0707/105828.648474:ERROR:gl_display.cc(520)] EGL Driver message (Critical) eglInitialize: Could not open the default X display. [12358:12358:0707/105828.648492:ERROR:gl_display.cc(790)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type Authorization required, but no authorization protocol specified [12358:12358:0707/105828.648548:ERROR:angle_platform_impl.cc(43)] Display.cpp:1023 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. ERR: Display.cpp:1023 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. [12358:12358:0707/105828.648563:ERROR:gl_display.cc(520)] EGL Driver message (Critical) eglInitialize: Could not open the default X display. [12358:12358:0707/105828.648577:ERROR:gl_display.cc(790)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED [12358:12358:0707/105828.648591:ERROR:gl_display.cc(824)] Initialization of all EGL display types failed. [12358:12358:0707/105828.648606:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed. Authorization required, but no authorization protocol specified [12358:12358:0707/105828.658661:ERROR:angle_platform_impl.cc(43)] Display.cpp:1023 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. ERR: Display.cpp:1023 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. [12358:12358:0707/105828.658699:ERROR:gl_display.cc(520)] EGL Driver message (Critical) eglInitialize: Could not open the default X display. [12358:12358:0707/105828.658713:ERROR:gl_display.cc(790)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type Authorization required, but no authorization protocol specified [12358:12358:0707/105828.658762:ERROR:angle_platform_impl.cc(43)] Display.cpp:1023 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. ERR: Display.cpp:1023 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. [12358:12358:0707/105828.658778:ERROR:gl_display.cc(520)] EGL Driver message (Critical) eglInitialize: Could not open the default X display. [12358:12358:0707/105828.658792:ERROR:gl_display.cc(790)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED [12358:12358:0707/105828.658805:ERROR:gl_display.cc(824)] Initialization of all EGL display types failed. [12358:12358:0707/105828.658820:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed. [12358:12358:0707/105828.659541:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization [12321:12321:0707/105828.664358:ERROR:object_proxy.cc(590)] Failed to call method: org.freedesktop.portal.Settings.Read: object_path= /org/freedesktop/portal/desktop: unknown error type: Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified Authorization required, but no authorization protocol specified [12428:12428:0707/105828.701622:ERROR:angle_platform_impl.cc(43)] Display.cpp:1023 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. ERR: Display.cpp:1023 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. [12428:12428:0707/105828.701702:ERROR:gl_display.cc(520)] EGL Driver message (Critical) eglInitialize: Could not open the default X display. [12428:12428:0707/105828.701721:ERROR:gl_display.cc(790)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type Authorization required, but no authorization protocol specified [12428:12428:0707/105828.701784:ERROR:angle_platform_impl.cc(43)] Display.cpp:1023 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. ERR: Display.cpp:1023 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. [12428:12428:0707/105828.701799:ERROR:gl_display.cc(520)] EGL Driver message (Critical) eglInitialize: Could not open the default X display. [12428:12428:0707/105828.701813:ERROR:gl_display.cc(790)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED [12428:12428:0707/105828.701826:ERROR:gl_display.cc(824)] Initialization of all EGL display types failed. [12428:12428:0707/105828.701840:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed. Authorization required, but no authorization protocol specified [12428:12428:0707/105828.711937:ERROR:angle_platform_impl.cc(43)] Display.cpp:1023 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. ERR: Display.cpp:1023 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display. [12428:12428:0707/105828.711991:ERROR:gl_display.cc(520)] EGL Driver message (Critical) eglInitialize: Could not open the default X display. [12428:12428:0707/105828.712006:ERROR:gl_display.cc(790)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type Authorization required, but no authorization protocol specified [12428:12428:0707/105828.71

