intel nuc + linux + egpu  

  RSS

Odyssey
(@odyssey)
New Member
Joined: 1 year  ago
Posts: 1
August 11, 2017 11:12 am  

I was considering getting an intel nuc, specifically, 7i5bnh (not skull canyon, but has thunderbolt 3)

I wonder if anyone succeeded in using it with linux with an egpu?


ReplyQuote
karatekid430
(@karatekid430)
Estimable Member
Joined: 1 year  ago
Posts: 134
April 9, 2018 7:25 am  

More generally, I have tried Linux with eGPU. I do not have any NUC. 

Dell XPS 9370 i7-8650U, Gigabyte Aorus Gaming Box with AMD Radeon R9 Nano.

Linux 4.16.0-041600-generic with no kernel arguments. Ubuntu 17.10.

With AMD GPUs right now, it seems that on Thunderbolt, you get a timeout regarding atombios execution in the drm.ko:

[Apr 6 13:31] [drm] amdgpu kernel modesetting enabled.
[ +0.000272] [drm] initializing kernel modesetting (FIJI 0x1002:0x7300 0x1002:0x0B36 0xCA).
[ +0.000050] [drm] register mmio base: 0xC4000000
[ +0.000001] [drm] register mmio size: 262144
[ +0.000020] [drm] probing gen 2 caps for device 8086:1578 = 1715c43/e
[ +0.000004] [drm] probing mlw for device 8086:1578 = 1715c43
[ +0.000010] [drm] UVD is enabled in physical mode
[ +0.000001] [drm] VCE enabled in physical mode
[ +1.617919] ATOM BIOS: 113-C8820200-107
[ +0.000016] [drm] GPU posting now...
[ +5.370805] [drm:atom_op_jump [amdgpu]] *ERROR* atombios stuck in loop for more than 5secs aborting
[ +0.000022] [drm:amdgpu_atom_execute_table_locked [amdgpu]] *ERROR* atombios stuck executing B456 (len 304, WS 4, PS 0) @ 0xB51B
[ +0.000019] [drm:amdgpu_atom_execute_table_locked [amdgpu]] *ERROR* atombios stuck executing B104 (len 183, WS 0, PS 8) @ 0xB17E
[ +0.000002] amdgpu 0000:3c:00.0: gpu post error!
[ +0.000002] amdgpu 0000:3c:00.0: Fatal error during GPU init
[ +0.000017] [drm] amdgpu: finishing device.
[ +0.000198] amdgpu: probe of 0000:3c:00.0 failed with error -22

But the GPU appears in output of "lspci -vt" correctly when Thunderbolt device approved. So there is nothing stopping it from working, aside from AMD needing to patch their drivers.


ReplyQuote
karatekid430
(@karatekid430)
Estimable Member
Joined: 1 year  ago
Posts: 134
April 9, 2018 7:33 am  

Also, if you are getting a NUC (or anything with Thunderbolt with view for eGPU usage), make sure you check a few things:
1) Highly recommend Skull Canyon or Hades Canyon - dual-core U-series chips are beaten by Samsung's Galaxy Exynos 8890 and 9810 in smartphones.
2) OPI speed? If 2GT/s, then don't even consider it. You want 4GT/s.
3) Thunderbolt controller? The ones you want to avoid are the ones with PCIe 3.0 x2, such as the JHL6240 (8086:15BF). It will work for some titles, but many will get rekt by the lack of bandwidth. PCIe 3.0 x4 fares well with much more titles. But by now, the 2015 DSL controllers are discontinued. So you would really prefer the 2016 or 2018 controllers, but between the 2015 and 2016 ones, there is not that much difference. The 2016 ones are likely more efficient. The 2018 ones bring massive feature improvements, such as DisplayPort 1.4 and OsNativePciEnumeration.
4) NVM firmware version of Thunderbolt controller. I think it being above 16 or 18 is important to support some accessories like the Apple Thunderbolt 3->2 adapter and also possibly dual-DisplayPort adapters. But if the Dell 9370 is at 28, and Dell are not always great at keeping up to date, you'd really hope the update for 20 or higher was available, particularly if the NUC is made by Intel.


theitsage liked
ReplyQuote
karatekid430
(@karatekid430)
Estimable Member
Joined: 1 year  ago
Posts: 134
April 13, 2018 4:17 pm  

Finally got it working. It takes several goes before it passes atombios successfully. I am hoping the Linux 4.17-rc1 kernel that should be out on 2018.04.15 will help the situation with drm.ko and amdgpu.ko patches, as well as thunderbolt.ko patches.

I cannot be certain if this is a Thunderbolt driver issue or AMD driver issue. But either way, it means there is hope that you could get it working.
The more important thing is to check Linux runs properly at all. On the worst end of the spectrum, you have the Microsoft Surface Pro series where the mouse and keyboard don't work. If you compile custom kernel (lose SecureBoot) then they can work, but detach and reattach the keyboard, it stops working.

I doubt the NUC will be that bad. But it is still a good idea to check for general compatibility.


theitsage liked
ReplyQuote
vgnmnky
(@vgnmnky)
New Member
Joined: 7 months  ago
Posts: 3
April 24, 2018 5:05 pm  

I've got that NUC, Linux is fine on it.  Had an HDMI audio issue a while back, but I think a kernel update sorted it.  I used a USB-C/TB3 to DP adapter during that time, and that worked, at 2560x1440 (higher than if just USB-C).

As mentioned, there's supposed to be even more TB3 support in kernel 4.17 , and also in Fedora 28.

I bought the NUC with the idea of potentially making use of TB3 for an eGPU.  Kind of just monitoring progress for now!  And waiting for GPU prices to drop.  I sold my old GPU before things went crazy, and it would go for 70% more now...


ReplyQuote
(@gilby)
New Member
Joined: 7 months  ago
Posts: 1
May 3, 2018 4:09 pm  

I have the 7i5bnh(ubuntu 18.04) and an Auorus 1070 Egpu. Everything works fine , biggest issue I've had is sometimes the NUC seems to have a hard time finding the Aurous on boot.


theitsage liked
ReplyQuote
robski
(@robski)
New Member
Joined: 10 months  ago
Posts: 1
August 11, 2018 4:54 pm  

Can you share what you installed and how you got it working?

Best Regards,
R


ReplyQuote
rstrube
(@rstrube)
Active Member
Joined: 3 weeks  ago
Posts: 11
October 24, 2018 2:40 pm  
Posted by: karatekid430

Finally got it working. It takes several goes before it passes atombios successfully. I am hoping the Linux 4.17-rc1 kernel that should be out on 2018.04.15 will help the situation with drm.ko and amdgpu.ko patches, as well as thunderbolt.ko patches.

I cannot be certain if this is a Thunderbolt driver issue or AMD driver issue. But either way, it means there is hope that you could get it working.
The more important thing is to check Linux runs properly at all. On the worst end of the spectrum, you have the Microsoft Surface Pro series where the mouse and keyboard don't work. If you compile custom kernel (lose SecureBoot) then they can work, but detach and reattach the keyboard, it stops working.

I doubt the NUC will be that bad. But it is still a good idea to check for general compatibility.

I'm running into the same atom bios timeout issue on attaching my RX 580 as an eGPU.  How were you able to finally get it to work?


ReplyQuote
(@rhokocy)
New Member
Joined: 1 month  ago
Posts: 3
November 13, 2018 3:08 pm  

I setup a older NUC  https://www.amazon.co.uk/gp/product/B01N6SRT4H/

NUC specs:
CPU: i5-7260u
RAM: 32GB DDR4 so-dim
HDD: 512 nvme

Connected to a Razer Core X (with AMD RX580 nitro), outputting 4k to LG 27UK850, running Fedora 29. I'm very very happy with the performance, getting high frame-rates in Diablo 3 and WoW. Checkout the glmark2 results:
 =======================================================
glmark2 2017.07
=======================================================
OpenGL Information
GL_VENDOR: X.Org
GL_RENDERER: Radeon RX 580 Series (POLARIS10, DRM 3.26.0, 4.18.17-300.fc29.x86_64, LLVM 7.0.0)
GL_VERSION: 4.4 (Compatibility Profile) Mesa 18.2.4
=======================================================
[build] use-vbo=false: FPS: 2253 FrameTime: 0.444 ms
[build] use-vbo=true: FPS: 12309 FrameTime: 0.081 ms
[texture] texture-filter=nearest: FPS: 11991 FrameTime: 0.083 ms
[texture] texture-filter=linear: FPS: 12260 FrameTime: 0.082 ms
[texture] texture-filter=mipmap: FPS: 12182 FrameTime: 0.082 ms
[shading] shading=gouraud: FPS: 11497 FrameTime: 0.087 ms
[shading] shading=blinn-phong-inf: FPS: 11279 FrameTime: 0.089 ms
[shading] shading=phong: FPS: 11227 FrameTime: 0.089 ms
[shading] shading=cel: FPS: 11206 FrameTime: 0.089 ms
[bump] bump-render=high-poly: FPS: 9443 FrameTime: 0.106 ms
[bump] bump-render=normals: FPS: 12208 FrameTime: 0.082 ms
[bump] bump-render=height: FPS: 11948 FrameTime: 0.084 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 12112 FrameTime: 0.083 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 9699 FrameTime: 0.103 ms
[pulsar] light=false:quads=5:texture=false: FPS: 11425 FrameTime: 0.088 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 5352 FrameTime: 0.187 ms
[desktop] effect=shadow:windows=4: FPS: 8169 FrameTime: 0.122 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 225 FrameTime: 4.444 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 1402 FrameTime: 0.713 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 234 FrameTime: 4.274 ms
[ideas] speed=duration: FPS: 5087 FrameTime: 0.197 ms
[jellyfish] <default>: FPS: 9866 FrameTime: 0.101 ms
[terrain] <default>: FPS: 1545 FrameTime: 0.647 ms
[shadow] <default>: FPS: 10234 FrameTime: 0.098 ms
[refract] <default>: FPS: 3164 FrameTime: 0.316 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 12182 FrameTime: 0.082 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 12390 FrameTime: 0.081 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 12109 FrameTime: 0.083 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 12379 FrameTime: 0.081 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 12085 FrameTime: 0.083 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 11735 FrameTime: 0.085 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 12397 FrameTime: 0.081 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 12089 FrameTime: 0.083 ms
=======================================================
glmark2 Score: 9263
=======================================================


theitsage liked
ReplyQuote
theitsage
(@itsage)
Famed Member Admin
Joined: 2 years  ago
Posts: 3081
November 13, 2018 4:59 pm  

@rhokocy Good to hear the RX 580 eGPU is working well with your NUC7i5. Did you have to configure X Server to get monitor output through the eGPU?

Best ultrabooks for eGPU use

eGPU enclosure buying guide

82 external GPU build guides


ReplyQuote
(@rhokocy)
New Member
Joined: 1 month  ago
Posts: 3
November 13, 2018 7:37 pm  
Posted by: theitsage

@rhokocy Good to hear the RX 580 eGPU is working well with your NUC7i5. Did you have to configure X Server to get monitor output through the eGPU?

I didn't do much, followed some advice on these forums... Set DRI_PRIME=1 environment variable, followed the instructions to install lutris and dependencies. Worked with minimal effort.

The nuc was a testing ground, I wanted to see how good the amd and thunerthund 3 support was in latest kernel.

However when I tried to replicate my success on my Dell XPS 13 9370, I was met with different result. My glmark2 score is in the hundreds :-(. 

Im hoping it's not hardware, I suspect I'm not getting the same TB3 bandwidth on the laptop compared to the nuc.


theitsage liked
ReplyQuote
nu_ninja
(@nu_ninja)
Trusted Member
Joined: 7 months  ago
Posts: 53
November 14, 2018 12:34 am  

@rhokocy

I see a big increase in glmark score when I have the internal display disabled (score of 5322 vs 1082 when internal display in enabled) so that might be part of the issue on the laptop.

Mid-2012 13" Macbook Pro (MacBookPro9,2) TB1 -> RX 460 (AKiTiO Node) macOS 10.14+Win10+Linux Mint 19
https://egpu.io/forums/builds/mid-2012-13-macbook-pro-macbookpro92-tb1-rx-460-akitio-node-macos-10-13-6win10/#post-43638
https://egpu.io/forums/builds/mid-2012-13-macbook-pro-rx46010gbps-tb1-3-linux-mint-19-build-guide-benchmarks-nu_ninja/#post-47083


theitsage liked
ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years  ago
Posts: 1485
November 14, 2018 1:09 am  

@nu_ninja No joke, that is 4.9x quicker without internal display. As long as the benchmark and OpenGL queues attach to one monitor/eGPU ideally there should be zero difference.

purge-wrangler.shpurge-nvda.shset-eGPU.sh
----
Troubleshooting eGPUs on macOS
Command Line Swiss Knife
----
Multiple Build Guides


ReplyQuote
nu_ninja
(@nu_ninja)
Trusted Member
Joined: 7 months  ago
Posts: 53
November 14, 2018 2:20 am  

Yeah I'm not sure why but when running both displays it seems like the fps is limited to the slowest one. I wonder if a v-sync monitor would help/hurt this

Mid-2012 13" Macbook Pro (MacBookPro9,2) TB1 -> RX 460 (AKiTiO Node) macOS 10.14+Win10+Linux Mint 19
https://egpu.io/forums/builds/mid-2012-13-macbook-pro-macbookpro92-tb1-rx-460-akitio-node-macos-10-13-6win10/#post-43638
https://egpu.io/forums/builds/mid-2012-13-macbook-pro-rx46010gbps-tb1-3-linux-mint-19-build-guide-benchmarks-nu_ninja/#post-47083


ReplyQuote
(@rhokocy)
New Member
Joined: 1 month  ago
Posts: 3
November 14, 2018 3:31 pm  
Posted by: nu_ninja

@rhokocy

I see a big increase in glmark score when I have the internal display disabled (score of 5322 vs 1082 when internal display in enabled) so that might be part of the issue on the laptop.

I didn't bench it with the internal monitor turned disabled. Think I didn't configure laptop correctly, re-installed windows last night and I'm getting good frame rates. I'll look to getting a working Ubuntu or Fedora setup early next year. Going to stick to windows for now, I'm just using that machine for gaming atm, nothing productive :).


ReplyQuote
theitsage
(@itsage)
Famed Member Admin
Joined: 2 years  ago
Posts: 3081
November 14, 2018 3:53 pm  

This has been my experience as well on laptops. The newer kernels can connect to Thunderbolt 3 eGPU easily. It's tricky to make use of the eGPU however. It's even more challenging when there's a discrete graphics card in the laptop. I gave it a go last night using Alienware 15 R3. The AMD eGPU connected fine but no external monitor output. I could use the AMD eGPU for internal display acceleration though (with DRI_PRIME=1).

Best ultrabooks for eGPU use

eGPU enclosure buying guide

82 external GPU build guides


ReplyQuote