You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL2 Ubuntu升级后Emacs启动触发Segment Fault问题求助

Emacs在WSL2 Ubuntu升级后启动触发Segment Fault问题解决建议

环境信息

  • Windows 10
  • WSL2
  • Ubuntu 22.04.3 LTS
  • Emacs 28.1(build 1.x86_64-pc-linux-gnu,GTK+ Version 3.24.20,cairo version 1.16.0),编译于2022-05-31

问题描述

Ubuntu系统升级后,Emacs GUI版本启动即触发Segment Fault错误。执行emacs -Q(跳过用户配置)仍出现相同错误,但emacs -nw(终端模式)可正常启动;xeyes能正常运行,说明X Window系统工作正常。

回溯日志

$ emacs&
[1] 566
~ $ Backtrace:
emacs[0x530a92] emacs[0x4269f7]
emacs[0x426ee1] emacs[0x52efed] emacs[0x52f06d]
/lib/x86_64-linux-gnu/libc.so.6(+0x42520)[0x7f2118225520]
/usr/lib/wsl/drivers/nv_dispig.inf_amd64_7e5fd280efaa5445/libnvwgf2umx.so(+0x1471253)[0x7f21014c9253]
/usr/lib/wsl/drivers/nv_dispig.inf_amd64_7e5fd280efaa5445/libnvwgf2umx.so(+0x1470e54)[0x7f21014c8e54]
/usr/lib/wsl/drivers/nv_dispig.inf_amd64_7e5fd280efaa5445/libnvwgf2umx.so(+0x14c11c5)[0x7f21015191c5]
/usr/lib/wsl/drivers/nv_dispig.inf_amd64_7e5fd280efaa5445/libnvwgf2umx.so(+0x2aa8719)[0x7f2102b00719]
/usr/lib/wsl/drivers/nv_dispig.inf_amd64_7e5fd280efaa5445/libnvwgf2umx.so(+0x2aa5bd5)[0x7f2102afdbd5]
/usr/lib/wsl/drivers/nv_dispig.inf_amd64_7e5fd280efaa5445/libnvwgf2umx.so(+0x2aa653a)[0x7f2102afe53a]
/usr/lib/wsl/drivers/nv_dispig.inf_amd64_7e5fd280efaa5445/libnvwgf2umx.so(+0x2c445d4)[0x7f2102c9c5d4]
/usr/lib/wsl/lib/libD3D12Core.so(+0x2dbab3)[0x7f2110df3ab3]
/usr/lib/wsl/lib/libD3D12Core.so(+0x2fee0c)[0x7f2110e16e0c]
/usr/lib/wsl/lib/libD3D12Core.so(+0x24c73f)[0x7f2110d6473f]
/usr/lib/wsl/lib/libd3d12.so(+0xc47c9)[0x7f21111617c9]
/usr/lib/wsl/lib/libd3d12.so(+0x492ca)[0x7f21110e62ca]
/usr/lib/wsl/lib/libd3d12.so(+0x4919c)[0x7f21110e619c]
/usr/lib/wsl/lib/libd3d12.so(+0x4910f)[0x7f21110e610f]
/usr/lib/wsl/lib/libd3d12.so(+0x482a9)[0x7f21110e52a9]
/usr/lib/wsl/lib/libD3D12Core.so(+0x242fb2)[0x7f2110d5afb2]
/usr/lib/wsl/lib/libD3D12Core.so(+0x244533)[0x7f2110d5c533]
/usr/lib/wsl/lib/libD3D12Core.so(+0x244d3b)[0x7f2110d5cd3b]
/usr/lib/wsl/lib/libd3d12.so(+0x4851c)[0x7f21110e551c]
/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0xb4cb56)[0x7f2111d7cb56]
/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0xb4b10c)[0x7f2111d7b10c]
/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0xb4b3ba)[0x7f2111d7b3ba]
/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0xacdf0)[0x7f21112dcdf0]
/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x6edf6b)[0x7f211191df6b]
/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0x6edea7)[0x7f211191dea7]
/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0xad703)[0x7f21112dd703]
/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so(+0xb6749)[0x7f21112e6749]
/lib/x86_64-linux-gnu/libGLX_indirect.so.0(+0x30243)[0x7f2113193243]
/lib/x86_64-linux-gnu/libGLX_indirect.so.0(+0x36380)[0x7f2113199380]
/lib/x86_64-linux-gnu/libGLX_indirect.so.0(+0x32eb5)[0x7f2113195eb5]
/lib/x86_64-linux-gnu/libepoxy.so.0(epoxy_glx_version+0x2f)[0x7f2117f3945f]
/lib/x86_64-linux-gnu/libgdk-3.so.0(+0x74840)[0x7f211c1b0840]
/lib/x86_64-linux-gnu/libgdk-3.so.0(+0x7beb9)[0x7f211c1b7eb9]
/lib/x86_64-linux-gnu/libgdk-3.so.0(+0x69aab)[0x7f211c1a5aab]
/lib/x86_64-linux-gnu/libgdk-3.so.0(gdk_display_manager_open_display+0x14f)[0x7f211c17468f]
...
^C
[1]+  Segmentation fault      emacs

解决建议

  • 强制使用软件渲染:编辑~/.bashrc或~/.zshrc,添加export LIBGL_ALWAYS_SOFTWARE=1,执行source ~/.bashrc生效后再启动Emacs。此方法绕过WSL2与NVIDIA驱动的GPU加速兼容性问题。
  • 更新WSL2内核与NVIDIA驱动:在Windows PowerShell中执行wsl --update更新WSL2内核;同时下载并安装Windows端最新NVIDIA显卡驱动(WSL2的GPU驱动依赖Windows端组件)。
  • 升级/重新编译Emacs:当前使用的Emacs 28.1编译于2022年,可能与升级后的系统依赖库不兼容。可通过PPA安装新版本:
    sudo add-apt-repository ppa:kelleyk/emacs
    sudo apt update && sudo apt install emacs29
    
    或自行编译Emacs,确保链接最新的GTK、cairo等系统库。
  • 禁用GTK3硬件加速:在shell配置文件中添加export GDK_BACKEND=x11,重启终端后启动Emacs,强制GTK3使用X11后端而非GPU加速后端。

内容的提问来源于stack exchange,提问作者Chihiro Fukazawa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 22:45:54