2017 Intel NUC7i5BNH + GTX [email protected] (AORUS Gaming Box) + Win10 (1803) + Ubuntu 16.04.4 LTS [halmoni100]  

  RSS

halmoni100
(@halmoni100)
Active Member
Joined: 5 months ago
Posts: 5
July 1, 2018 4:17 am  

System specs

NUC7i5BNH 
CPU: Intel Core i5-7260U
iGPU: Iris 640
OS's: Windows 10 (build 1803) and Ubuntu 16.04.4 LTS (kernel version 4.13, I forget the revision number)
Misc: 8GB DDR4 RAM, 512GB Samsung EVO 970 M.2 SSD

eGPU hardware

AORUS 1070 Gaming Box, TB3 connection

Display

LG UD58-B 4K display through HDMI 2.0

 

Hardware pictures

Sorry, this is my first post, will update with pics when I can!

 

Installation steps

I will post a more detailed guide when I have time, but for the moment, here are the most important steps I took.  This should especially interest those who want to use Linux + eGPU, given the dearth of eGPU support for Linux.

1. Install Windows 10 and Ubuntu 16.04
2. Plug in the eGPU

Windows setup

3. Boot into Windows
4. Install thunderbolt driver from here
5. Perform firmware update on thunderbolt driver following instructions from here (read the pdf, download from link in the pdf)
6. Install latest Nvidia drivers for Windows
7. You should be good to go.  From time to time (or even for the first time), you may need to enable the eGPU from Device Manager.  To do that, enter Device Manager, look under Display adapters, and you should see a listing for "NVIDIA GeForce GTX 1070" (or whatever eGPU you have).  Right click it, select "enable device"

Linux Setup

8. Boot into Linux
9. If you have older nvidia drivers (unlikely if you have a fresh install), perform the following command in a shell terminal:

sudo apt-get purge nvidia*

10. Install nvidia drivers from a ppa by performed the following commands in a shell terminal:

sudo add-apt-repository ppa:graphics-drivers
sudo apt-get update
sudo apt-get install nvidia-390

11. Reboot

Enable the eGPU in Linux

In order to enable the eGPU in Linux:

1. Boot into Linux
2. Plug in the eGPU device through Thunderbolt
3. Authorize the Thunderbolt connection by performing the following commands in a terminal:

cd /sys/bus/thunderbolt/devices/0-1
sudo bash -c "echo 1 > authorized"

4. Use NVidia Prime to switch to the NVidia drivers by performing the following command in a terminal:

sudo prime-select nvidia

5. Log out
6. Log back in.  If you type

nvidia-smi

in terminal, you should see your eGPU information.

You could put these commands in a bash script for convenience.

Disconnect eGPU in Linux

To safely disconnect the Thunderbolt connection to the eGPU without crashing, perform the following steps:

1. Switch back to the intel drivers using NVidia Prime

sudo prime-select intel

2. Log out

Now it is safe to disconnect the eGPU.

Benchmarks

Will post later, but I got a benchmark of ~3000 (1080p) and ~1200 (4k) for Unigine Valley in Ubuntu (from memory, will post exact numbers later)

Comments

Windows
eGPU is working great!  There may be a difference between having the HDMI plugged in the NUC versus the eGPU, so I will post my results here.  Before you put your computer to sleep, make sure to disconnect the eGPU from the taskbar, and enable device and/or reconnect when waking.  Have issues when sleeping without disconnecting.

Ubuntu
It took me forever to finally get to a working solution on Ubuntu, and I am quite relieved I found one.  Unfortunately, official eGPU support on Ubuntu/Linux is probably nonexistent, or is probably spotty, but I hope this will change in the future.

In any case, I'm glad to have eGPU working in Linux to run robotics applications (ROS/Gazebo), CUDA, OpenGL, OpenCL, etc. etc. and I love how small the computer is.

 

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
halmoni100
(@halmoni100)
Active Member
Joined: 5 months ago
Posts: 5
July 1, 2018 4:41 am  

Firefox in Linux

For whatever reason, Firefox started lagging when using the eGPU in Linux.  To counter this issue, I followed the instructions here.  Basically, force enable hardware acceleration, and you should be good to go.

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote