当前位置: 首页 > news >正文

编译 mesa

原则:llvm版本越高越好,cmake版本越高越好,meson也是,否则可能无法满足要求

还有一个策略就是构建比较旧的mesa版本,比如mesa19.1之类的,而不是最新的

一,环境设置

源代码安装cmake

如果是旧版本的python3.6而且卸载不掉的话,先安装高版本,再重新建立python3软连接到新版本:
apt install python3.8

ln -s   /usr/bin/python3.8 /usr/bin/python3  
python3 -m pip3


二,安装glslangValidator


开发 Vulkan 的时候,需要使用 glslangValidator 编译 Vulkan 代码。

如果是 ubuntu 19.10 版本,可以直接执行:

$ apt install glslang-tools

#$ sudo apt-get install vulkan-tools

# 目前ubuntu 20.04 最新需要使用如下命令 sudo apt-get install glslang-tools

$ sudo apt-get install vulkan-tools
 
# 目前ubuntu 20.04 最新需要使用如下命令 sudo apt-get install glslang-tools
如果低于这个版本,则只能从源代码编译安装了,如下:

# 编译安装 glslang
$ git clone https://github.com/KhronosGroup/glslang.git

# 也可本站下载一份拷贝 wget https://www.mobibrw.com/wp-content/uploads/2018/12/glslang.zip
$ cd glslang
 
# 目前(2018.12.17)的正式版,最稳定的版本,试过最新的版本,编译部分代码存在问题
$ git checkout 7.10.2984
 
# 下载 spirv-tools 部分的功能代码
$ python update_glslang_sources.py 
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install

# 编译安装 glslang
$ git clone https://github.com/KhronosGroup/glslang.git
 
# 也可本站下载一份拷贝 wget https://www.mobibrw.com/wp-content/uploads/2018/12/glslang.zip
 
$ cd glslang
 
# 目前(2018.12.17)的正式版,最稳定的版本,试过最新的版本,编译部分代码存在问题
$ git checkout 7.10.2984
 
# 下载 spirv-tools 部分的功能代码
$ python update_glslang_sources.py 
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install


 

三,编译

# 安装编译工具及依赖
sudo apt build-dep mesa
sudo apt install meson
# 设置源码环境变量路径
export TOP=/home/examyes/dev/mesa-20.0.8
cd $TOP
meson build/
meson configure build/
meson configure build/ -Dprefix=/tmp/mesa-install
ninja -C build/
ninja -C build/ install
 

相关文章:

  • 健身房信息管理系统(PHP+Html+MySQL)
  • 什么是蜂窝移动网络?
  • 全志V853 NPU 系统介绍
  • Jupyter Notebook 换个主题清爽了很多
  • 【C++】红黑树
  • 提升C内功--函数栈帧的创建和销毁(动画讲解)
  • Buffer Pool Size of Total RAM No data
  • Python添加水印简简单单,三行代码教你批量添加
  • 微服务中间件
  • C语言学习-数组应用-三子棋(4.1)
  • java编程思想
  • HECTF2022
  • CTFshow web37 38 39 40
  • vue3项目,vite+vue3+ts+pinia(8)-开发和生产模式配置+跨域
  • 基于STM32-Socket-Qt 遥控小车(一代)
  • 10个最佳ES6特性 ES7与ES8的特性
  • 230. Kth Smallest Element in a BST
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • JavaScript函数式编程(一)
  • Java到底能干嘛?
  • Linux链接文件
  • maya建模与骨骼动画快速实现人工鱼
  • node入门
  • SpingCloudBus整合RabbitMQ
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • 高程读书笔记 第六章 面向对象程序设计
  • 记录一下第一次使用npm
  • 新版博客前端前瞻
  • 自动记录MySQL慢查询快照脚本
  • $ git push -u origin master 推送到远程库出错
  • $.ajax()参数及用法
  • (4)(4.6) Triducer
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)Sql Server 保留几位小数的两种做法
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET CORE Aws S3 使用
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .NetCore 如何动态路由
  • .NET框架
  • .NET实现之(自动更新)
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • @Valid和@NotNull字段校验使用
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • [] 与 [[]], -gt 与 > 的比较
  • [AutoSar]工程中的cpuload陷阱(三)测试
  • [C/C++]关于C++11中的std::move和std::forward
  • [ERROR] 不再支持目标选项 5。请使用 7 或更高版本
  • [ERROR]-Error: failure: repodata/filelists.xml.gz from addons: [Errno 256] No more mirrors to try.
  • [FUNC]判断窗口在哪一个屏幕上