拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Meetily 源码编译指南:三平台从零构建与 GPU 加速配置详解

Meetily 源码编译指南三平台从零构建与 GPU 加速配置详解【免费下载链接】meetilyPrivacy first, AI meeting assistant with 4x faster Parakeet/Whisper live transcription, speaker diarization, and Ollama summarization built on Rust. 100% local processing. no cloud required. Meetily (Meetly Ai - https://meetily.ai) is the #1 Self-hosted, Open-source Ai meeting note taker for macOS Windows. Understand How to write meeting minutes项目地址: https://gitcode.com/GitHub_Trending/me/meetily本篇技术指南以 Meetily 官方构建文档 docs/BUILDING.md 为主体结合仓库内构建脚本与 Rust 工程配置源码完整讲解 Linux、macOS、Windows 三个平台从源码构建 Meetily 的完整流程包括基础依赖安装、一键开发/生产构建、GPU 自动检测原理、CUDA/Vulkan/ROCm 手动加速配置、TAURI_GPU_FEATURE强制覆盖与常见故障排查。读者完成后将能够在自己的机器上独立完成 Meetily 的编译构建并按需启用对应平台的硬件加速。一、构建体系总览三层自动化Meetily 的构建体系围绕 Tauri 桌面应用框架组织前端为 Next.jsfrontend/核心转录与会议逻辑位于frontend/src-tauri/Rust另有一个独立的llama-helper侧车sidecar进程用于本地 LLM 推理。构建的核心诉求是自动探测硬件能力并选择合适的加速后端其完整调用链为dev-gpu.sh/build-gpu.shBash 包装脚本先确认package.json位置项目根目录或frontend/均可再检测包管理器优先pnpm回退npm调用 frontend/scripts/auto-detect-gpu.js 探测 GPU 能力输出特征名如cuda、hipblas、vulkan、openblas以--features 特征编译llama-helper侧车debug 或 release将编译产物复制到src-tauri/binaries目录并附带 target triple 命名通过pnpm run tauri:dev/tauri:build启动 Tauri特征通过环境变量TAURI_GPU_FEATURE传入实际由 frontend/scripts/tauri-auto.js 执行tauri dev -- --features 特征。从源码结构看package.json中预置了tauri:dev:cuda、tauri:dev:vulkan、tauri:dev:metal、tauri:dev:coreml、tauri:dev:openblas、tauri:dev:hipblas等显式脚本同时也提供tauri:dev走自动检测说明项目同时支持“手动指定”与“自动探测”两条路径。二、Linux 平台构建2.1 快速开始推荐新手先安装基础依赖再运行脚本即可无需手工配置任何 GPU 参数# Ubuntu/Debian sudo apt update sudo apt install build-essential cmake git # Fedora/RHEL sudo dnf install gcc-c cmake git # Arch Linux sudo pacman -S base-devel cmake git构建与运行# 开发模式带热重载 ./dev-gpu.sh # 生产构建 ./build-gpu.sh脚本会自动完成以下动作NVIDIA GPU→ CUDA 加速前提已安装 CUDA ToolkitAMD GPU→ ROCm 加速前提已安装 ROCm无 GPU→ 优化的 CPU 模式仍然可用2.2 自动检测原理与优先级自动检测由 frontend/scripts/auto-detect-gpu.js 完成。该脚本通过execSync调用which/where判断命令行工具是否存在并结合环境变量逐级判断。检测优先级如下表所示优先级硬件检查条件结果1️⃣NVIDIA CUDAnvidia-smi存在 且CUDA_PATH或nvcc存在--features cuda2️⃣AMD ROCmrocm-smi存在 且ROCM_PATH或hipcc存在--features hipblas3️⃣Vulkanvulkaninfo存在 且VULKAN_SDK与BLAS_INCLUDE_DIRS均已设置--features vulkan4️⃣OpenBLASBLAS_INCLUDE_DIRS已设置--features openblas5️⃣CPU-only以上均不满足不附加任何 feature结合源码可见几个重要细节NVIDIA 分支要求CUDA Toolkit 与驱动同时存在只有驱动时脚本会输出⚠️ NVIDIA GPU detected but CUDA not installed - falling back to CPU并返回nullVulkan 分支在 Linux 上要求vulkaninfo命令同时强制要求VULKAN_SDK与BLAS_INCLUDE_DIRS两个环境变量都存在缺一即回退 CPU脚本将console.log重定向到 stderr确保 stdout 只输出纯特征名无换行便于上游脚本干净地捕获结果macOS 分支单独处理Apple Silicon 返回coremlCoreML 内含 MetalIntel Mac 返回metal。常见场景对照表你的系统自动检测结果原因全新 Linux 安装CPU-only未检测到 GPU SDKNVIDIA GPU 仅有驱动CPU-onlyCUDA Toolkit 未安装NVIDIA GPU CUDA ToolkitCUDA 加速✅完整检测成功AMD GPU ROCmHIPBlas 加速✅完整检测成功仅有 Vulkan 驱动CPU-only缺少 Vulkan SDK 与环境变量Vulkan SDK 已配置Vulkan 加速✅所有条件满足关键认知仅有 GPU 驱动是不够的必须安装对应开发 SDKCUDA Toolkit、ROCm 或 Vulkan SDK才能真正启用加速。2.3 NVIDIA CUDA 手动配置中级前置条件NVIDIA GPU计算能力compute capability5.0 及以上。查询方式nvidia-smi --query-gpucompute_cap --formatcsvStep 1安装 CUDA Toolkit# Ubuntu/DebianCUDA 12.x sudo apt install nvidia-driver-550 nvidia-cuda-toolkit # 验证安装 nvidia-smi # 显示 GPU 信息 nvcc --version # 显示 CUDA 版本Step 2按 GPU 计算能力构建# 示例RTX 3080 8.6 → 使用 86 # 示例GTX 1080 6.1 → 使用 61 CMAKE_CUDA_ARCHITECTURES75 \ CMAKE_CUDA_STANDARD17 \ CMAKE_POSITION_INDEPENDENT_CODEON \ ./build-gpu.sh三个环境变量的作用CMAKE_CUDA_ARCHITECTURES针对你的具体 GPU 优化把7.5转成75、8.6转成86等去掉小数点CMAKE_CUDA_STANDARD17确保 C17 兼容性CMAKE_POSITION_INDEPENDENT_CODEON修复现代系统上的链接问题。需要说明的是frontend/dev-gpu.sh 在 Linux 下默认已导出CMAKE_CUDA_ARCHITECTURES75、CMAKE_CUDA_STANDARD17、CMAKE_POSITION_INDEPENDENT_CODEONfrontend/scripts/tauri-auto.js 也会在 Linux CUDA 场景下注入同样的三个变量因此多数情况下可省略手动设置仅在需要针对特定 GPU 架构优化时显式覆盖。2.4 Vulkan 配置跨平台回退方案Vulkan 通用于 NVIDIA、AMD 和 Intel GPU当 CUDA/ROCm 不可用时是良好选择。# Ubuntu/Debian sudo apt install vulkan-sdk libopenblas-dev # Fedora sudo dnf install vulkan-devel openblas-devel # Arch Linux sudo pacman -S vulkan-devel openblas配置环境变量追加到~/.bashrc或~/.zshrcexport VULKAN_SDK/usr export BLAS_INCLUDE_DIRS/usr/include/x86_64-linux-gnu # 使配置生效 source ~/.bashrc然后直接构建脚本会自动检测并启用--features vulkan./build-gpu.sh2.5 AMD ROCm 配置仅 AMD GPU前置条件支持 ROCm 的 AMD GPURX 5000 系列及以上、Radeon VII 等。# Ubuntu/Debian # 先添加 ROCm 软件源以官方文档为准 sudo apt install rocm-smi hipcc # 设置环境 export ROCM_PATH/opt/rocm # 验证 rocm-smi # 显示 GPU 信息 hipcc --version # 显示 ROCm 版本 # 构建 ./build-gpu.sh2.6 手动覆盖加速方式高级如果不信任自动检测结果或想强制使用特定后端可通过TAURI_GPU_FEATURE环境变量覆盖# 强制 CUDA忽略自动检测 TAURI_GPU_FEATUREcuda ./dev-gpu.sh TAURI_GPU_FEATUREcuda ./build-gpu.sh # 强制 Vulkan TAURI_GPU_FEATUREvulkan ./dev-gpu.sh TAURI_GPU_FEATUREvulkan ./build-gpu.sh # 强制 ROCmHIPBlas TAURI_GPU_FEATUREhipblas ./dev-gpu.sh TAURI_GPU_FEATUREhipblas ./build-gpu.sh # 强制纯 CPU用于测试 TAURI_GPU_FEATURE ./dev-gpu.sh TAURI_GPU_FEATURE ./build-gpu.sh # 强制 OpenBLASCPU 优化 TAURI_GPU_FEATUREopenblas ./dev-gpu.sh TAURI_GPU_FEATUREopenblas ./build-gpu.sh该变量在 frontend/scripts/tauri-auto.js 中优先于自动检测读取若已设置则直接采用none表示纯 CPU否则才调用auto-detect-gpu.js探测。dev-gpu.sh中也会在变量为空时自动执行检测脚本并回写该变量。2.7 构建产物位置构建成功后AppImage 产物位于src-tauri/target/release/bundle/appimage/Meetily_version_amd64.AppImage2.8 常见故障排查CUDA toolkit not found修复安装nvidia-cuda-toolkit或设置CUDA_PATH环境变量验证nvcc --version应能正常工作。Vulkan detected but missing dependencies修复同时设置VULKAN_SDK与BLAS_INCLUDE_DIRS两个环境变量export VULKAN_SDK/usr export BLAS_INCLUDE_DIRS/usr/include/x86_64-linux-gnuAppImage build stripping symbols修复无需手动处理build-gpu.sh已自动设置NO_STRIPtrue原因防止缺失符号导致运行时错误。构建成功但无 GPU 加速检查检测日志观察构建输出中的 GPU 检测信息验证命令nvidia-smiNVIDIA或rocm-smiAMD应可执行缺 SDK需要安装开发工具包而不仅仅是驱动。2.9 加速模式速查矩阵与构建脚本内部流程结合 docs/building_in_linux.md 的技术参考章节各模式要求与预期加速效果对照如下速度提升为文档给出的一般经验范围实际效果取决于硬件与模型模式Feature 标志依赖条件加速类型相对 CPU 提升CUDA--features cudanvidia-smiCUDA_PATH或nvccGPU约 5–10xROCm--features hipblasrocm-smiROCM_PATH或hipccGPU约 4–8xVulkan--features vulkanvulkaninfoVULKAN_SDKBLAS_INCLUDE_DIRSGPU约 3–6xOpenBLAS--features openblasBLAS_INCLUDE_DIRSCPU 优化约 1.5–2xCPU无无纯 CPU1x基准dev-gpu.sh与build-gpu.sh的内部流程一致定位package.json→ 选择包管理器pnpm优先→ 调用 npm 脚本tauri:dev/tauri:build→ npm 脚本调用tauri-auto.js→auto-detect-gpu.js检测硬件 → 以检测到的--features标志构建 Tauri。此外dev-gpu.sh会额外编译llama-helper侧车并把二进制以llama-helper-target-triple的命名复制到src-tauri/binariestarget triple 通过rustc -vV的host字段获取。关键环境变量汇总变量用途示例值CUDA_PATHCUDA 安装目录/usr/local/cudaROCM_PATHROCm 安装目录/opt/rocmVULKAN_SDKVulkan SDK 目录/usrBLAS_INCLUDE_DIRSBLAS 头文件位置/usr/include/x86_64-linux-gnuCMAKE_CUDA_ARCHITECTURESGPU 计算能力75对应 compute 7.5CMAKE_CUDA_STANDARDCUDA 所用 C 标准17CMAKE_POSITION_INDEPENDENT_CODE启用 PIC 便于链接ONNO_STRIP阻止符号剥离AppImagetrue三、macOS 平台构建macOS 的构建流程被刻意简化因为 GPU 加速Metal默认启用无需额外配置。Step 1安装依赖# 安装 Homebrew如尚未安装 /bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh) # 安装所需工具 brew install cmake node pnpmStep 2构建与运行# 开发模式带热重载 pnpm tauri:dev # 生产构建 pnpm tauri:build应用会自动以 Metal GPU 加速构建。从源码看frontend/src-tauri/Cargo.toml 的 macOS 目标依赖声明为whisper-rs { version 0.13.2, features [raw-api, metal, coreml] }即 Metal 与 CoreML 在 macOS 上默认开启而auto-detect-gpu.js在 Apple Silicon 上返回coremlCoreML 内含 MetalIntel Mac 返回metal与之一致。另外需要留意llama-helper基于llama-cpp-2不支持 CoreML因此dev-gpu.sh在检测结果为coreml时会把llama-helper的编译特征自动降级为metal。四、Windows 平台构建Step 1安装依赖Node.js从 nodejs.org 下载安装Rust从 rust-lang.org/tools/install 安装Visual Studio Build Tools在 Visual Studio Installer 中安装 Desktop development with C 工作负载CMake从 cmake.org/download 下载安装。Step 2构建与运行# 开发模式带热重载 pnpm tauri:dev # 生产构建 pnpm tauri:build默认情况下Windows 构建为纯 CPU 模式。要启用 GPU 加速参见 GPU 加速指南。从 frontend/src-tauri/Cargo.toml 可以看到平台相关的默认策略Windows 目标的whisper-rs依赖自带vulkan特性Linux 目标则不带任何默认加速特性[features]中定义了cuda、vulkan、hipblas、openblas、openmp等可选特性供高级用户手动覆盖。项目同时提供了 Windows 下的 PowerShell 辅助脚本如frontend/build-gpu.ps1、frontend/dev-gpu.ps1供选择使用。五、关于加速后端的补充说明Meetily 的转录加速基于whisper-rs库版本 0.13.2支持的加速后端包括CUDANVIDIA、MetalApple Silicon 与现代 Intel Mac、Core MLApple Silicon 的附加加速层、Vulkan跨平台适用于现代 AMD/Intel GPU与OpenBLAS基于 CPU 的优化相对纯 CPU 有明显提速llama-helper侧车基于llama-cpp-2版本 0.1.128其[features]仅提供metal、cuda、vulkan三个后端其 release profile 使用lto true、codegen-units 1、opt-level s按体积优化以加快加载这也是构建耗时较长的原因之一若需手动指定后端而不依赖自动检测可在frontend/src-tauri/Cargo.toml的[features]中调整默认特性例如default [cuda]后使用标准pnpm tauri:build构建详细说明见 docs/GPU_ACCELERATION.md。六、完整示例构建LinuxNVIDIA GPUCUDA# 安装 sudo apt install nvidia-driver-550 nvidia-cuda-toolkit # 验证 nvidia-smi --query-gpucompute_cap --formatcsv # 构建按你的 GPU 调整架构号 CMAKE_CUDA_ARCHITECTURES86 \ # 86 仅示例请按实际调整 CMAKE_CUDA_STANDARD17 \ CMAKE_POSITION_INDEPENDENT_CODEON \ ./build-gpu.shAMD GPUROCm# 安装 ROCm按发行版参考 AMD 官方文档 sudo apt install rocm-smi hipcc export ROCM_PATH/opt/rocm # 构建 ./build-gpu.sh任意 GPUVulkan# 安装 sudo apt install vulkan-sdk libopenblas-dev # 配置 export VULKAN_SDK/usr export BLAS_INCLUDE_DIRS/usr/include/x86_64-linux-gnu # 构建 ./build-gpu.sh无 GPU纯 CPU# 直接构建即可开箱即用 ./build-gpu.sh七、相关参考文档docs/BUILDING.md跨平台源码构建主文档docs/GPU_ACCELERATION.mdGPU 加速后端与手动配置详解docs/building_in_linux.mdLinux 构建的补充技术参考含加速矩阵与完整示例frontend/scripts/auto-detect-gpu.jsGPU 自动检测实现frontend/scripts/tauri-auto.js自动注入 feature 并启动 Tauri 的 npm 包装脚本frontend/dev-gpu.sh开发模式一键脚本含llama-helper编译与侧车复制逻辑frontend/src-tauri/Cargo.tomlRust 工程加速特性与平台默认配置llama-helper/Cargo.toml本地 LLM 侧车及其特性定义。【免费下载链接】meetilyPrivacy first, AI meeting assistant with 4x faster Parakeet/Whisper live transcription, speaker diarization, and Ollama summarization built on Rust. 100% local processing. no cloud required. Meetily (Meetly Ai - https://meetily.ai) is the #1 Self-hosted, Open-source Ai meeting note taker for macOS Windows. Understand How to write meeting minutes项目地址: https://gitcode.com/GitHub_Trending/me/meetily创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门