Ubuntu安装的完整步骤(GL/CUDA环境)

2024-08-22 09:08

本文主要是介绍Ubuntu安装的完整步骤(GL/CUDA环境),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在经历过一次死机强制关机后,我的Nvidia显卡就无法在Ubuntu正常工作了,为此我重装了大约二十次显卡驱动,禁用nouveau或者修改grub等等方法组合拳一一尝试过后均以失败告终,我一度以为我的显卡烧了!但,转念一想,果断重装系统,并且这次详细记录了重装及配置GL开发环境的全部过程,此文在手,只要代码和数据不丢,系统和环境分分钟就装回来,再重装一百次也不怕!!


全文已开源在Github持续更新,英文版传送门

A. 笔记本配置
  • MSI GE62 490,Nvidia Gefore 960M 显卡
  • Intel i7-6700HQ 带核显
  • 单系统(ubuntu)
B. 安装系统
  1. 准备USB启动盘(自备)
    注意:官方ISO(ubuntu-18.04.4-desktop-amd64.iso)

  2. 关闭BIOS中的“安全启动”

  3. 按标准安装过程进行安装
    注意:如果可以顺利安装,请勿设置grub(例如nomodeset)。至此,我们已经可以登录到新的Ubuntu系统(现在使用的是核显和相关驱动)

  4. 同意第一次进入系统后的Update更新要求
    注意:初次进入Ubunutu时,可能会弹出更新信息,请务必同意。原则是:同意在安装过程中弹出的所有更新,但是在获得稳定而完整的系统和开发环境之后,记得去软件中心将更新选项更改为推迟,尽量减少弹出更新的频次,即使弹出也不要更新。尽量使系统保持不变,否则,新更新的内容和旧驱动程序之间可能会发生一些冲突。

  5. 重启

C. 安装nvidia驱动程序
  1. 添加源,然后我们才可以刷新出可安装的驱动
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
$ sudo ubuntu-drivers device
注意:这里会显示系统推荐安装的驱动版本!
  1. 在APP(软件和更新)中安装驱动程序
软件和更新->附加驱动程序->选择推荐版本->应用(Apply)
  1. 重启

  2. 请勿设置禁用nouveau的黑名单或设置grub的启动项
    注意:如果我们使用这种方式安装显卡驱动,则所有内容都可以由系统自动处理,我们什么也不做即可!

现在,Nvidia驱动程序的安装完成。你可以使用 nvidia-smi来测试它是否正常或查看设置里能否识别出当前的Nvidia显卡。

D. 安装cuda-toolkit
  1. 选择cuda-10_*或其他版本(此处我选择10.0)

  2. 执行

$ sudo chmod 777 cuda-10_\*.run
$ sudo sh cuda-10_\*.run
  1. 在此过程中
    注意:我们已经自行安装了驱动程序,因此这里输入NO。
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
(y)es/(n)o/(q)uit: n
  1. 测试Samples
$ cd/usr/local/cuda/samples
$ make(大约10分钟后)
$ cd/usr/local/cuda/samples/bin/x86_64/linux/release
$ ./deviceQuery

  1. 额外的重要配置
    注意:在/etc/profile中添加两个环境变量,如果没有添加这些变量,也许你的程序运行时会出错:libcudart.so.10.0: cannot open shared object file: No such file or directory
export PATH =/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH =/usr/local/lib:/usr/local/cuda/lib64/

现在cuda安装完成,实际上通过Samples的测试,我们还可以得到GPU驱动程序运行良好的结论。

E. 安装GL的依赖库
  1. 对于GL/gl.h:
    sudo apt安装mesa-common-dev

  2. GL/glu.h:
    sudo apt安装libglu1-mesa-dev freeglut3-dev

  3. 其他:
    libglfw3-dev libgles2-mesa-dev libglew-dev

  4. 汇总在一起:
    注意:它们都是GL所必需的,也许你需要安装更多的库,这取决于你的代码。

$ sudo apt install mesa-common-dev freeglut3-dev libglfw3-dev libgles2-mesa-dev libglew-dev
F. 安装项目的东西

1.安装基础工具

$ sudo apt install vim
$ sudo apt install cmake

2.重建项目

$ cd ProjectionExplain/LIBRARY/glui-master
$ rm CMakeCache.txt
$ make clean
$ mkdir build && cd build
$ cmake ..
$ make install
$ cd ProjectionExplain/
$ make clean && make
$ ./projwiz -f DATA/segmentation lamp

至此,关于GL项目的所有配置和测试都已完成!

G. 安装个人软件
  • 屏幕截图:flameshot
    使用 sudo apt-get install flameshot 安装
    设置快捷键

  • vscode

  • 直接在APP(Ubuntu Software)中安装。

  • 然后,我们可以使用vsc来编写代码啦

    • 打开文件夹(ProjectionExplain)
    • 终端->new终端-> make && ./projwiz -f DATA/segmentation lamp
H. 通过Tweaks调整主题
  1. 安装Tweaks及其扩展
$ sudo apt install gnome-shell-extensions gnome-shell-extension-dash-to-panel gnome-tweaks adwaita-icon-theme-full
  1. 注销系统或重启

  2. 配置面板样式
    扩展:dash to panel
    注意:右键单击,可以唤醒面板设置窗口,并且可以在此处进行一些细微更改。

  3. 配置菜单样式
    扩展:applications menu
    注意:打开此扩展会添加像Windows的开始菜单一样的程序管理器。在此,我只通过Tweaks更改了菜单栏位置及其应用程序的边距,并隐藏了原来的启动按钮,用仿windows的菜单替换之。

  4. 更换壁纸
    到现在为止,基本主题设置已经完成,并且样式与我的Windows桌面非常相似(除了图标)。

I. 非必要的修改
  1. 添加中文支持
  • 在系统中添加中文语言包
  • 安装搜狗拼音
  1. 修改副屏输出分辨率
  • 连接高分辨率屏幕(不连接高分屏无需此配置)
  • 创建一个sh文件,使用xrandr新建高分辨率方案
  • 登录系统后执行sh
    注意:原始系统不支持高于1080的更高解决方案,因此我们需要添加新解决方案并触发更改,最好不要将其纳入启动配置,因为这可能会导致在初始屏幕上显示不高时导致崩溃解决方案显示屏。

获取分辨率方案(准备工作)

$ cvt 2560 1440
//此处输出结果就是sh中的第一行
$ xrandr -q
//查看现有连接设备,例如 HDMI-1-2,这个就是sh中第二三行中间的设备名称

resolution.sh内容:

xrandr --newmode "2560x1440_55.00"  284.00  2560 2744 3016 3472  1440 1443 1448 1489 -hsync +vsync
xrandr --addmode HDMI-1-2 "2560x1440_55.00"
xrandr --output HDMI-1-2 --mode "2560x1440_55.00"
  1. 添加对特定软件的支持
    如腾讯QQ,红色警戒2或其他应用程序。
  • **方法1:**从Ubuntu软件中心安装wine,然后使用wine安装Windows应用程序。这样,我们就可以在Ubuntu玩红警或在Ubuntu中用QQ聊天。

  • **方法2:**安装一个Android模拟器,我强烈推荐麟卓(下载链接),其稳定且快速,可以为我们提供相当于安卓平板的使用体验,如果你只想在Ubuntu中使用qq或微信,那么可以试试这个。

X. Ubuntu使用技巧
  • 更新
    要做的只是延迟更新(如果有办法关掉最好了)!不要取消“update from”,否则在安装新的软件包/工具时会出现错误。

  • 桌面崩溃/死机时
    例如关闭一些窗口时卡住或长时间运行某些东西后卡住。发生这种情况时,请勿通过切断电源来关闭系统!这是一种危险的行为,系统核心可能因此而遭到损坏。
    **正确的方法是:**Ctrl+Alt+F2/3/4,登录到tty2/3/4,然后重新启动gdm/lightdm,或者如果记得先前的误操作的话,可以在此处回滚导致出错的命令。或者干脆什么也不做,等系统自己响应,有时可能需要等好一会儿才能重新进入正常状态。


全文已开源在Github持续更新,英文版传送门

访问我的个人博客(cz5h.com),发现更多精彩内容

这篇关于Ubuntu安装的完整步骤(GL/CUDA环境)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1095842

相关文章

Java Lettuce 客户端入门到生产的实现步骤

《JavaLettuce客户端入门到生产的实现步骤》本文主要介绍了JavaLettuce客户端入门到生产的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录1 安装依赖MavenGradle2 最小化连接示例3 核心特性速览4 生产环境配置建议5 常见问题

win10安装及配置Gradle全过程

《win10安装及配置Gradle全过程》本文详细介绍了Gradle的下载、安装、环境变量配置以及如何修改本地仓库位置,通过这些步骤,用户可以成功安装并配置Gradle,以便进行项目构建... 目录一、Gradle下载1.1、Gradle下载地址1.2、Gradle下载步骤二、Gradle安装步骤2.1、安

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

在Ubuntu上打不开GitHub的完整解决方法

《在Ubuntu上打不开GitHub的完整解决方法》当你满心欢喜打开Ubuntu准备推送代码时,突然发现终端里的gitpush卡成狗,浏览器里的GitHub页面直接变成Whoathere!警告页面... 目录一、那些年我们遇到的"红色惊叹号"二、三大症状快速诊断症状1:浏览器直接无法访问症状2:终端操作异常

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

使用EasyPoi快速导出Word文档功能的实现步骤

《使用EasyPoi快速导出Word文档功能的实现步骤》EasyPoi是一个基于ApachePOI的开源Java工具库,旨在简化Excel和Word文档的操作,本文将详细介绍如何使用EasyPoi快速... 目录一、准备工作1、引入依赖二、准备好一个word模版文件三、编写导出方法的工具类四、在Export