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

Fedora 36上Flutter运行报错:无法加载swrast驱动

在Fedora 36上运行Flutter Linux桌面应用时页面空白的问题

执行flutter run后页面空白,调试控制台输出如下错误:

Launching lib/main.dart on Linux in debug mode...
libGL error: MESA-LOADER: failed to open swrast: /lib64/libpthread.so.0: version `GLIBC_PRIVATE' not found (required by /snap/flutter/current/usr/lib/x86_64-linux-gnu/dri/../../../../lib/x86_64-linux-gnu/librt.so.1) (search paths :/usr/lib/dri:/snap/flutter/current/usr/lib/x86_64-linux-gnu/dri:, suffix _dri)
libGL error: failed to load driver: swrast
** (flutter_mastering:4822): WARNING **: 18:51:11.101: Failed to start Flutter renderer: Unable to create a GL context

已搜索多个相关问题但未找到有效解决方法。

设备信息

  • 内核版本:5.19.6-200.fc36.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 31 17:58:15 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
  • glxinfo | grep render输出:
GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_NV_float_buffer, 
    GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_OML_swap_method, 
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: AMD Radeon Vega 3 Graphics (raven, LLVM 14.0.0, DRM 3.47, 5.19.6-200.fc36.x86_64)
    GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, 
    GL_INTEL_blackhole_render, GL_KHR_blend_equation_advanced, 
    GL_NV_conditional_render, GL_NV_copy_image, GL_NV_depth_clamp, 
    GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, 
    GL_INGR_blend_func_separate, GL_INTEL_blackhole_render, 
    GL_NV_compute_shader_derivatives, GL_NV_conditional_render, 
    GL_EXT_render_snorm, GL_EXT_robustness, GL_EXT_sRGB_write_control, 
    GL_INTEL_blackhole_render, GL_KHR_blend_equation_advanced, 
    GL_NV_conditional_render, GL_NV_draw_buffers, GL_NV_fbo_color_attachments, 
    GL_OES_element_index_uint, GL_OES_fbo_render_mipmap,
  • flutter doctor输出:
[✓] Flutter (Channel stable, 3.0.5, on Fedora Linux 36 (Workstation Edition) 5.19.6-200.fc36.x86_64, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[✓] Linux toolchain - develop for Linux desktop
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.71.0)
[✓] Connected device (1 available)
[✓] HTTP Host Availability

! Doctor found issues in 1 category.

解决方法

问题根源是Snap版本Flutter自带的系统库与Fedora 36的系统库存在版本冲突,以下是可行的解决途径:

1. 替换为官方手动安装版Flutter

  • 卸载Snap版Flutter:
    sudo snap remove flutter
    
  • 从Flutter官方渠道下载对应版本的压缩包,解压到本地目录(如~/flutter)
  • 将Flutter的bin目录加入系统PATH:
    在~/.bashrc或~/.zshrc中添加:
    export PATH="$PATH:$HOME/flutter/bin"
    
  • 执行source ~/.bashrc(或对应shell的配置文件)使设置生效
  • 重新运行flutter doctor检查环境,之后再尝试flutter run

2. 临时指定系统库优先级运行

若不想卸载Snap版,可在运行时强制使用系统库:

LD_LIBRARY_PATH=/lib64 flutter run

此命令临时让系统/lib64目录下的库优先加载,规避Snap自带库的冲突问题。

3. 安装32位依赖库(可选)

部分场景下32位库缺失会触发类似错误,执行以下命令安装:

sudo dnf install mesa-libGL.i686 mesa-libGLU.i686

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 02:35:24