Problems with AMD RX 580 + Akitio Node (TB3) + Ubuntu 18.10
 
Notifications
Clear all

Problems with AMD RX 580 + Akitio Node (TB3) + Ubuntu 18.10  

 of  3
  RSS

rstrube
(@rstrube)
Active Member
Joined: 2 years ago
 

Hello All,

Here's my system information
System: Dell XPS 15 9575 2 in 1
Built in GPUs: Intel iGPU, Vega M
OS: Ubuntu 18.10
Kernel: 4.18
eGPU: RX 580

Unfortunately I'm struggling to get my RX 580 working correctly as an eGPU on my Ubuntu 18.10 based system.

First of all I've been able to successfully get the Akitio Node authorized as a Thunderbolt Device.  The new 4.18 kernel makes this trivial as Ubuntu will prompt you to authenticate the new TB device as soon as you plug it in.  In addition, the Akitio Node *and* the RX 580 are visible in lspci:

[Please login to see this]

Here's the detailed information for the RX 580:

[Please login to see this]

If I look at dmesg I see some distressing entries in the system logs:[ 8.534250] amdgpu 0000:09:00.0: enabling device (0006 -> 0007)

[Please login to see this]

I noticed a couple other people have posted about similar problems:

https://forum.manjaro.org/t/rx-580-in-a-thunderbolt-egpu-dock/58210
https://egpu.io/forums/thunderbolt-linux-setup/egpus-under-linux-an-advanced-guide/#post-33304

I've an official bug report for amdgpu here:

https://bugs.freedesktop.org/show_bug.cgi?id=108521

If anybody has any suggestions they would be greatly appreciated!

On a final note, Ubuntu 18.10 ships with Kernel 4.18 but I've also tried 4.19 and I'm experiencing the same problems.

Thanks!
Rob

To do: Create my signature with system and expected eGPU configuration information to give context to my posts. I have no builds.

.

ReplyQuote
Topic Tags
nu_ninja
(@nu_ninja)
Reputable Member
Joined: 3 years ago
 

I'd start by configuring x with just the external display active, something like just this in /etc/X11/xorg.conf.d/

[Please login to see this]

then if that works try setting up a config with the internal screen bound to the iGPU and external as primary with eGPU (I posted a config file in this post). I've not had any problems with the amdgpu driver once it's properly configured in x with the bus id and external display.

Mid-2012 13" Macbook Pro (MacBookPro9,2) TB1 -> RX 460/560 (AKiTiO Node/Thunder2)
+ macOS 10.15+Win10 + Linux Mint 19.1

 
2012 13" MacBook Pro [3rd,2C,M] + RX 460 @ 10Gbps-TB1 (AKiTiO Thunder2) + macOS 10.14.4 [build link]  


itsage liked
ReplyQuote
rstrube
(@rstrube)
Active Member
Joined: 2 years ago
 

Hi Ninja, thanks for the response!

I actually was following your guides pretty closely and did try a variety of different xorg config files, all with no luck unfortunately.

I think the issue is at the kernel level, as my dmesg output shows a failure trying to initialize the eGPU.  My guess (more of a hunch really) is that there is a problem because my laptop actually has 2 GPUs to start with, the Intel iGPU (915) and the Vega M GPU (amdgpu).  The eGPU would be a third GPU that also uses the amdgpu kernel drivers.  Perhaps there is a conflict with this? Right now I'm trying to see if there's someway to completely disable the Vega M discrete GPU (via kernel boot parameters) to test out this theory.

I'm wondering if you wouldn't mind sharing the dmesg output from your system after you've plugged in the eGPU via TB3.  I'd love to see if you see similar errors, or if the eGPU is initialized successfully.

Thanks!
Rob

To do: Create my signature with system and expected eGPU configuration information to give context to my posts. I have no builds.

.

ReplyQuote
nu_ninja
(@nu_ninja)
Reputable Member
Joined: 3 years ago
 

Ok, I attached the relevant parts of my dmesg output. Looks like I'm not getting the atom bios entries, maybe because I'm using an older card? That part of the code is obviously the problem, but I'm not sure if you could change that.

This might sound crazy but just for testing you could try and create a device section for the dgpu and deliberately give it the wrong driver like the nvidia nouveau driver to make sure it doesn't use the amdgpu driver.

Mid-2012 13" Macbook Pro (MacBookPro9,2) TB1 -> RX 460/560 (AKiTiO Node/Thunder2)
+ macOS 10.15+Win10 + Linux Mint 19.1

 
2012 13" MacBook Pro [3rd,2C,M] + RX 460 @ 10Gbps-TB1 (AKiTiO Thunder2) + macOS 10.14.4 [build link]  


ReplyQuote
rstrube
(@rstrube)
Active Member
Joined: 2 years ago
 

Thanks for the response!

I've been fooling around with a ton of different Xorg config files, and I really think it's less about configuration, and more about the lower level amdgpu kernel driver.

My hunch right now is that the Vega M (and specifically it's power management) are somehow interfering with the initialization of the new eGPU.  I've been trying to figure out a way to completely disable the Vega M at boot to see if the eGPU will work, but I've been struggling to accomplish this.

I found some interesting posts on using the pcistub kernel module to "reserve" a device so that it can't be initialized by the amdgpu module, but unfortunately this doesn't appear to work correctly.

See here:
https://superuser.com/questions/503697/prevent-radeon-driver-from-attaching-to-specific-pci-devices
https://superuser.com/questions/914810/how-to-disable-a-plugged-in-pci-e-graphic-card-on-os-level

I also tried to disable the Vega M in my BIOS but unfortunately that's not an option.

I'm gonna see what the amdgpu devs come up with.

Thanks for your response again!

To do: Create my signature with system and expected eGPU configuration information to give context to my posts. I have no builds.

.

ReplyQuote
nu_ninja
(@nu_ninja)
Reputable Member
Joined: 3 years ago
 

Yeah looking into it I agree its a deeper problem than x. Probably good to see what the devs say. One thing you might have already tried or not; setting amdgpu.dc=0 as a kernel parameter, since it seems to be on by default starting with vega cards per this article.

Mid-2012 13" Macbook Pro (MacBookPro9,2) TB1 -> RX 460/560 (AKiTiO Node/Thunder2)
+ macOS 10.15+Win10 + Linux Mint 19.1

 
2012 13" MacBook Pro [3rd,2C,M] + RX 460 @ 10Gbps-TB1 (AKiTiO Thunder2) + macOS 10.14.4 [build link]  


ReplyQuote
rstrube
(@rstrube)
Active Member
Joined: 2 years ago
 

Thanks for the suggestion.  I tried adding amdgpu.dc=0 to my kernel boot parameters, but unfortunately amdgpu still appeared to bind to the Vega M, and the eGPU still fails to initialize.  I think at this point I'm gonna wait and hear back from the kernel developers and see what they say.

I'm still trying to figure out a way to completely disable the Vega M GPU, but nothing I've tried seems to work.

To do: Create my signature with system and expected eGPU configuration information to give context to my posts. I have no builds.

.

ReplyQuote
rstrube
(@rstrube)
Active Member
Joined: 2 years ago
 

For those of you that are interested, an amdgpu developer advised me to comment out the device IDs for Vega M in the kernel source (using 4.19) located here: /drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c

You can see the full source for this file here:
https://elixir.bootlin.com/linux/v4....u/amdgpu_drv.c

These are the lines in question:
/* VEGAM */
{0x1002, 0x694C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VEGAM},
{0x1002, 0x694E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VEGAM},

This did indeed cause my Vega M to not be initialized, *but* the problem I'm having with the eGPU remains. So it appears my hunch that the Vega M is interfering with the eGPU initialization was incorrect, and I'm back to square one...

To do: Create my signature with system and expected eGPU configuration information to give context to my posts. I have no builds.

.

ReplyQuote
nu_ninja
(@nu_ninja)
Reputable Member
Joined: 3 years ago
 

@rstrube

See this post particularly 1) at the bottom. Seems this may have been @karatekid430 's workaround.

Mid-2012 13" Macbook Pro (MacBookPro9,2) TB1 -> RX 460/560 (AKiTiO Node/Thunder2)
+ macOS 10.15+Win10 + Linux Mint 19.1

 
2012 13" MacBook Pro [3rd,2C,M] + RX 460 @ 10Gbps-TB1 (AKiTiO Thunder2) + macOS 10.14.4 [build link]  


ReplyQuote
rstrube
(@rstrube)
Active Member
Joined: 2 years ago
 

Thanks for the heads up about that post!  I'm actually just responded to that thread and I agree that the information seems very relevant to the problems I'm experiencing!

Rob

To do: Create my signature with system and expected eGPU configuration information to give context to my posts. I have no builds.

.

ReplyQuote
 of  3