# Nuvo6108GC Ubuntu Installation

## Nuvo6108GC 安裝 Ubuntu (VGA card:Geforce RTX 2080)

1. Boot PC and press F2 for enter bios mode
2. Set USB at first piriority and reboot (and remember insert your USB)
3. and next, next, next....
4. Done.

## 安裝 nvidia 驅動

### 1.禁用linux原生驅動

```bash
#Step1. 禁用
sudo gedit /etc/modprobe.d/blacklist.conf

#把以下指令貼上至檔案最底部:
#===================================
#for nvidia display device install
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
#===================================

#Step2. 重啟
sudo update-initramfs -u
sudo reboot

#Step3. 測試是否禁用成功，無输出則禁用成功:
lsmod | grep nouveau
```

### 2.從 <https://www.geforce.com/drivers> 依型號下載指定驅動

### 3.下載完畢後，Ctrl+Alt+F1 進入 Linux Shell

```bash
sudo service lightdm stop
cd Downloads
sudo chmod +x NVIDIA-Linux-x86_64-410.93.run
sudo ./NVIDIA-Linux-x86_64-410.93.run
```

### !! 如果安裝後變成重複循環登入

```bash
#解法：將nvidia driver 刪除
#Ctrl+Alt+F1 進入 Linux shell
sudo service lightdm stop
sudo apt-get purge nvdia*
sudo apt-get install ubuntu-desktop
sudo reboot
#然後重新安裝 nvidia driver
```

## install ROS(follow instrution of official website)

ROS Install Guide <http://wiki.ros.org/kinetic/Installation>

```bash
#enable enviroment
source /opt/ros/kinetic/setup.bash
```

## install CUDA (bash is for reference)

```bash
#search cuda10
```

[子霖 a Cuda9.2 bash](https://paper.dropbox.com/doc/Installation-Guide-Quack-uk3LOHkzrubXwAPaj3fUg)

```bash
# check cuda version
cat /usr/local/cuda/version.txt
```

## install PCL1.9 (bash is for reference)

[子霖 a PCL1.9 bash](https://paper.dropbox.com/doc/Installation-Guide-Point-Cloud-Library-dvldiQJtrwk0BBFTqk42w)

## catkin\_make *lidar\_grabber\_hino*

```bash
cd 
mkdir ros_ws && cd ros_ws
mkdir src
#copy lidar_grabber_hino to src
cd src
catkin_make
#then source the workspace 
cd
source {YOUR_WORK_SPACE}/devel/setup.bash
#validation
rospack list
```

#### ISSUE:

```
error: token ""__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead.
```

#### Solution:

```
comment file:  /usr/local/cuda/include/crt/common_functions.h  at line 64:
define __CUDACC_VER__ "__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."
```

#### ISSUE:

```bash
fatal error: pcl_conversions/pcl_conversions.h: No such file or directory
```

#### Solution2:

```bash
sudo apt-get install ros-kinetic-pcl-conversions
```

## rviz 相關

#### issue1: Rviz: fixed frame \[world] does not exist

#### solution1:

```bash
rosrun tf static_transform_publisher 0 0 0 0 0 0 1 map my_frame 10
```

### 啟動rviz 讀取 LiDAR PointCloud 的方法

```bash
sudo apt-get install ros-kinetic-rviz
rosrun rviz rviz -f velodyne
```

## ubuntu 安裝 VeloView (ref: <https://blog.csdn.net/cfjtaishan/article/details/7096085>)

```
#1. 把USB裏面的檔案 "VeloView-3.5.3-Linux-64bit.sh" 複製到安裝目錄
#2. $cd PATH_TO_INSTALL
#3. $sudo chmod +x VeloView-3.5.3-Linux-64bit.sh
#4. $./VeloView-3.5.3-Linux-64bit.sh
#5. 然後讀完說明後按Y
#6. 安裝完後要補程式庫(libpcap bison, flex)
#7. $sudo apt-get install bison
#8. $sudo apt-get install flex
#9. 到這裡抓 libpcap (http://www.tcpdump.org/#latest-releases)
#10. 解壓縮
#11. cd {UNZIP_FOLDER}
#12. $./configure
#13. $sudo make install

#然後還要指定軟路徑連過去＝　＝
#=1. 執行locate libpcap.so.1 , 查看libpcap.so.1在系統中的路徑 , 顯示為： /usr/local/lib/libpcap.so.1.2.1
#=2. 以管理員權限打開編輯 /etc/ld.so.conf 文件, 末尾新一行追加 /usr/local/lib , /usr/local/lib 為 libpcap.so.1.2.1 所在目錄, 保存退出
#=3. 以管理員權限執行ldconfig(如果不支持改命令用whereis ldconfig查看並設置環境變量)命令,
#=4. 成功
```

#### !issue1: 缺少 libQtHelp.so.4

#### !solution1:

```bash
#download .deb and install
#https://ubuntu.pkgs.org/16.04/ubuntu-main-amd64/libqt4-help_4.8.7+dfsg-5ubuntu2_amd64.deb.html
```

### Select python3.6 as default

```bash
sudo update-alternatives --install /usr/bin/python python3 /usr/bin/python3.5 1
sudo update-alternatives --install /usr/bin/python python3 /usr/bin/python3.6 2
sudo update-alternatives --config python3
#!!! if import error !!!
# sudo update-alternatives  --set python /usr/bin/python2.7
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mikechan0731.gitbook.io/workspace/self_driving_lidar/nuvo6108gc-ubuntu-installation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
