MacBook Pro 2018 (Manjaro Linux) + Razer Core X + Radeon R9 390
I was wondering if I could possibly throw my hat in the ring to try get an eGPU working on Linux for T2 enabled MacBooks.
So, I am running Manjaro on a T2 2018 13", I used this efi to ensure that the iGPU and eGPU are both loaded into linux. My kernel Parameters are simply: `radeon.cik_support=0 amdgpu.cik_support=1`.
Boltctl recognizes the enclosure and it is trusted:
However, upon boot I get these errors in dmesg when i grep for amd:
Unfortunatley, this is where my knowledge runs slightly short. This is getting a tad too low level for me so any eyes to look over this would be greatly appreciated. Happy to try things out
Solved the issue! Stumbled upon this thread https://egpu.io/forums/thunderbolt-linux-setup/tutorial-ubuntu-18-04-rtx-2080-razer-core-v1/#post-76425 and after passing these kernel params was working like a charm
I am very glad to find your posts, since it's a long time now I wished to post my query. Pretty much my set up is very similar to yours: Macbook Pro (mid 2017), running Ubuntu, on external SSD, version 20.04 (but also tried 18.04), Linux kernels on: 5.4.0-42 (and 5.3.0-24 for 18.04), Razer Core X eGPU with Vega 64.
Context/Symptoms: My first goal is to use my 2 external displays and, later on, compile ROCm for use with tensorflow/pytorch. However, my experiences until now are painful with eGPU on Linux.
- If I boot with eGPU plugged in, then I get black screen (it might be an iGPU issue), LED of caption key works, but very quickly eGPU makes a noise (can hear plugged disks as if disconnected), and caption LED stops working (as if keyboard is not operational).
- If I boot without eGPU plugged, then after booting I plug eGPU while in a non GUI TTY (using CTRL+ALT+Fn keys) and get the same error as you posted above (error -19) with one extra line:
VC save buffer size does not match @0x300
Even though Ubuntu is operational and works fine (when hot plugging), I can not see my Vega 64 in the "About" of Ubuntu and there are no drivers shown after 'configuration' when I type lshw -c video:
However, with other linux commands I can see that the system recognises that Vega 64 is connected and Boltctl shows Thunderbolt as authorised.
lsmod | grep amd gives:
lspci | grep VGA:
Note that there are differences in our output: e.g. in policy I have iommu and you have auto.
I also tried the scripts from Sebulon (A script to change Xorg config ) and hertz (eGPU on Linux - Easy-to-use setup script ) but did not help at all for me.
After reading your post: I tried the parameters as you suggested by editing /etc/default/grub and updating grub. However, nothing improved. Actually, I had to edit the grub file because I had no picture when eGPU was connected and if not connected, I was dropped in a BusyBox black screen with an initramfs prompt. Specifically, I tried with the following grub file:
Some questions if you could help me please:
- Would it be easy if you could share your /etc/default/grub file?
- Do you hot plug or boot with eGPU already plugged in?
- Are you using the amdgpu drivers?
- Have you preserved your parameters: `radeon.cik_support=0 amdgpu.cik_support=1`? In my case these are not recognised, when updating grub. So I had to remove them
Efi issue: I also noticed you mentioned you did the trick with the efi file. Did you have to "bless" any efi file? This is a tricky step as it involves Windows installation, according to the author of the utility "5. If you dont have Windows installed, you need to bless the efi so the efi will run at startup."
Thank you for any help and will report back any findings.
EDIT: It is important to boot from rEFInd and apple_set_os.efi (see https://www.reddit.com/r/eGPU/comments/crzo78/keep_intel_igpu_enabled_on_macbook_with_linux/). After doing this I edited GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_ports=native pci=assign-busses,nocrs,realloc iommu=on" in /etc/default/grub file. Then sudo update-grub. Reboot with the eGPU connected (you may need to connect it to the correct USB-3 port) and graphics card should now be recognised.
One side effect is that my WiFi card is not working correctly when I pass "pci=assign-busses,nocrs,realloc". Instead, I used the Ethernet from the Core X Chroma, which also may fail at times. Unplugging the Ethernet cable and plugin it again will resume internet connection. If anyone has an idea why this happens, please let me know.