Contribute
Register

mini ITX build for 5.2k GoPro Fusion video rendering and editing

Status
Not open for further replies.
Joined
Dec 27, 2017
Messages
51
Motherboard
GIGABYTE AORUS Z390 I PRO WIFI
CPU
i7-8700K
Graphics
RX 560
Mac
  1. MacBook Pro
Classic Mac
  1. SE
Mobile Phone
  1. iOS
Hello everyone!

I recently purchased a GoPro Fusion and immediately found out it was finally time to upgrade my early 2013 retina MBP... :rolleyes:
In a nutshell my MBP renders the fusion footage at... 0.4 fps... (so rendering one minute of footage takes over one hour and a half... yikes!) plus the previews are unusable etc. If you're interested in seeing exactly how power hungry the Fusion (and Fusion Studio) are check out this benchmarking from the excellent GoPro Fusion Facebook group.

GoPro issued some pretty tight minimum requirements that have guided me in speccing my build. Notably 4GB GC ram minimum and recommended i7 CPU.

The typical workflow consists in rendering the camera footage (== stitching the 2 files from the 2 lenses) in Fusion Studio (this is the bit that puts most machines on their knees) and then importing the result into your editing software of choice (currently much better plugins in Adobe Premiere than FCPX unfortunately) to do things like overcapture, tiny planets etc.

So... here is my current specs plan:

CPU Core i7-8700k - 3.7Ghz
CPU Cooling Corsair Hydro Series H90 140mm with upgraded Noctua NF-A14 fan
Motherboard GIGABYTE Z370N WIFI
Ram Kingston 32GB (2x16GB) DDR4 2400MHz
SDD OS M2 Samsung 960 EVO 250GB NVMe SSD
SDD Swap M2 Samsung 960 EVO 250GB NVMe SSD
Graphic Card EVGA GeForce GTX 1050 Ti SC Gaming 4GB Video Card
Case SilverStone Black Sugo Series SG13 Mini ITX
PSU Silverstone SFX SX500-LG 500W 80 Plus Gold PSU - DIED after a week...
PSU Corsair SF 600
WiFi/BT Broadcom BCM94352Z DW1560

In terms of cost, here in Australia this comes to just under AU$2000 / US$1600 / EUR1300 (I'll spare you all the BTC conversion).

Why Nvidia and not Radeon?
The Fusion plugins are ahead in Adobe Premiere and fall behind in FCPX unfortunately. Plus I strongly suspect that Fusion Studio is a lot more Nvidia friendly...

Why 2 SSDs?
Ideally 3 SDDs would be perfect but I thought I'd save a few $ there...
2 SSDs allow for a better bandwidth spread when having the OS/Softwares on one SSD and the Premiere/FCPX library files on another.
I also decided to go for the more expensive NVMe drives for the extra speed. They would be both mounted in the 2 M2 slots of the MB for better space/energy efficiency and performance.

Questions for the Hackintosh veterans :)
- Is the Samsung 960 EVO NVMe compatibility... likely?
- Will the (cheap-ish) Kingston ram work?
- I take it that replacing the WiFI/BT on the GIGABYTE Z370N by the Broadcom BCM94352Z DW1560 is indeed possible...
- I currently have two 27" DELL U2715H displays plugged onto my MBP. I presume that it will be possible to plug them at the back of the GTX 1050 Ti SC at their full 2560 x 1440 resolution? I'm kinda restricted to this card due to size limitation in the case.

Thanks everyone!
The adventure begins...

PS. This will be my first Hackintosh build. I have experience putting together PCs though from... 15 years ago ;) #whatcouldgowrong
 
Last edited:
Did you get a M2 NVMe SSD or a regular M2 SSD?
I'm slightly worried as to the compatibility of the NVMe.

Actually found some good info here: https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/

Q. Is my NVMe SSD supported?

The drivers Apple uses (IONVMeFamily.kext) for its own NVMe SSDs are not compatible with PC NVMe SSDs. To use an NVMe SSD with your hackintosh requires one of two solutions:

- NVMeGeneric.kext: This kext works but has several known problems (the kext was never intended to be used as a boot drive). On some computers there is a conflict with AppleHPM.kext which means AppleHPM.kext must be removed or disabled. Also, shutdown will result in panic/reboot/restart instead of shutdown due to a bug in the kext. To use it for a boot drive installed to /S/L/E or /L/E, the kext's Info.plist must be changed to include OSBundleRequired="Root" or "Local Root". Also, the drive will show as external (there is a patch for this in my NUC github project). Also there are strange delays upon wake from sleep... no solution.

- patched IONVMeFamily.kext: Pike has come up with a set of patches that allow non-Apple NVMe SSDs (such as the Samsung 950 Pro NVMe) to be used with this kext. It is best to create a patched kext instead of using the Clover patches as shown on Pike's blog. See here for details: https://github.com/RehabMan/patch-nvme. Patched IONVMeFamily is a new solution and should be considered experimental.

The best way to deal with NVMe is using the class-code spoof along with HackrNVMeFamily. The technique can be used for installation and post-install. It is not as difficult as you might think. This link is provided from the patch-nvme github: https://www.tonymacx86.com/threads/...h-ionvmefamily-using-class-code-spoof.210316/

Edit: From https://github.com/RehabMan/patch-nvme

10.12 High Sierra
With 10.13, Apple has fixed their IONVMeFamily.kext and now it supports 512 byte block sizes natively. This means for many NVMe SSDs, you do not need these patches. Still, the special patches for LiteOn/Plextor/Hynix SSDs may be necessary (see above).

So might actually work straight off the box...
 
Last edited:
Got the first parts today!
One question: I received 1x16GB ram instead of 2x8GB. Is that going to be a problem? I gather that the perfs might be a little lower (no use of dual channel ram) but will it still work?

EDIT: yes should not be a problem.
EDIT2: Because I like symmetry I now have 2x16GB... :)
 
Last edited:
It's alive!
Putting down my notes/problems as I go as it might help others...

Note: remember that everytime you reset / reboot because stuck somewhere you lose the settings.

AppleUSBLegacyRoot - SOLVED
First issue was the install getting stuck during the load at about 5-10%.
Went into verbose mode (press the space bar when on the EXTERNAL option) to see that I was getting stuck on "AppleUSBLegacyRoot". A little googling later and it seems that enabling USB ownership does the trick (Options > PCI Devices > USB Ownership).

Abnormal code 1 - SOLVED
Next huddle was getting stuck on "WindowServer service exited with abnormal code 1", "Service only ran for 0 seconds. Pushing respawn out by 10 seconds". Mucho googling later and I'm still stuck.
I tried the following:
- I am indeed running the latest Unibeast (8.1.0).
- Disabled the Geforce and enable the internal graphic card -> SAME
- Checked that the internal GC was indeed on 64MB memory. Also tried with 32MB for shits and giggles... -> SAME
- Tried on a different USB port. -> SAME
- Tried with a new unibeast boot made of 10.13.2 (instead of shiny 10.13.3) -> SAME
At this point I went back to the Geforce.
- Used Clover Configurator as described here (Devices>USB>Fix Ownership), basically saves from having to go into "Options > PCI Devices > USB Ownership" every single time to fix the AppleUSBLegacyRoot issue.
- Tired with "XHCI Hand-off" enabled (worked here on a sort of similar board...)

At this point it worked... not too sure what did it... XHCI Hand off maybe?

@kec.corecrypto 1.0 - SOLVED-ish
Now stuck on a reboot loop after running multibeast.
In verbose mode I can see that it reboot right after "@kec.corecrypto 1.0". Same issue as described in this (unsolved) post.
I read that it could be something to do with the wrong Product Name set in the SMBios. My states iMac17,1. Looking at Mactracker it seems the most relevant Product Name for my specs could be the iMac Pro so iMac18,3. Also changed the board version to 18,3. Editing these in the clover boot options didn't seem to do anything.
I switched back to the internal CG. No luck.

I gave up at this point and did a full re-install.

Note: This one came back on day 6. I managed to around (ie. get access to the EFI...) and removed a bunch of patches that were likely to have caused it.

NVIDIA Drivers never taken into account - SOLVED
- First (before any multibeast changes) I tried to install the Nvidia graphics. Had to download the .156 as the .157 didn't recognise my version of mac OS... (should have though (10.13.3)... nevermind...). After reboot they are not taken into account.
- Followed this troubleshooting guide but no luck (problem 6). I have the feeling that this clover install doesn't edit the right config.plist...
- Unticked Intel inject and ticketed Nvidia, reboot led to the gIOScreenLockState 3 issue discussed here (seems a GTX 1050 ti issue?).
- Followed @iLikeHackintosh guide here to clean up the nvidia drivers (and learnt where to put the kext files)
- Complemented it with the NVRAM emulation.... IT WORKED OMG OMG :D

About this Mac shows wrong vram size - SOLVED
When I go into "About this mac" it shows 256MB of vram instead of the expected 4GB of the Geforce GTX1050 Ti.
- Remove the "Inject Nvidia" options in Clover Graphics... - FIXED (that was easy... :D)

About this Mac shows "Unknown processor" - SOLVED
The frequency is right but my Core i7-8700k - 3.7Ghz isn't clearly recognised.
Geekbench results show that it is purely cosmetic so should follow this guide when I can be bothered.

Get internet through the ethernet port - SOLVED
I haven't received my wifi card yet so i'll have to use the ethernet port...
- Trying IntelMausiEthernet.kext v2.3 with Multibeast. Seems to have worked, at least on one ethernet port.

FCPX slugginess - SOLVED! -> see
Final cut pro is unusable if an effect is added to the timeline. Quickest way to experience this is to load the BruceX benchmark... Apparently because the iGPU is disabled.
- Enabling it in the bios. Crash...
- Trying the various steps of this guide - first link. Crash...
- Managed to get the iGPU enabled and boot correctly by injecting Intel but this didn't fix the slow FCPX.
- BruceX currently scoring 100 seconds. (under 20 is expected)
- Once solved down to 60 sec. Still disappointing imo.
 
Last edited:
Day 5 so I thought I would do a little recap :)

- It took about 2 hours to do the hardware build. All in pretty easy. I can probably do it in under 30 minutes now :)
- Getting the system to boot probably took half a day.
- Getting it to boot properly (geforce working etc.) another half a day.

Steep learning curve but all in nothing impossible thanks to vast knowledge within a google search reach...

So what works so far?
- Sleep and wake
- 50% of the ethernet (2) ports (solution here apparently)
- 50% of the (10) USB ports

Next on the fix list:
- All ethernet (just because!)
- Audio
- Have another go at the issue with FCPX
...

On the hardware side:
- A quieter fan to replace the corsair one... (sooo noisy), looking at the Noctua NF-A14
- Possibly add another 16gb ram while I'm at it :D
 
No Audio - SOLVED
I can't seem to get my audio working.
Trying this guide. -> FIXED (Bless the Internet)

Quicktime error (-101) - SOLVED
When opening H264 files. Apparently due to the lack of audio device... so back to that problem.
Fixing the audio fixed it :D - FIXED
 
Last edited:
Graphics overall lag - SOLVED! -> see
Videos from a well known Google owned website (that naming triggers spam block on this forum...) lag for example. Another manifestation would be when shaking a window around it can be seen that the UI "jumps" / lags.

Only one Ethernet port works - SOLVED

Followed this. - FIXED

Only half (4) the USB ports work - SOLVED
Fun fact this only happens when the audio fix "HDAS->HDEF" is applied.
Before that all 8 USB ports worked...
To be precise they all work... but only half accept USB 3.0 devices. In other words my mouse will work on all 8 ports whereas my USB 3.0 stick will only mount on 4 of them. When I remove the audio fix "HDAS->HDEF" all 8 ports are functional and take USB 3.0 devices. Fun!
Attempting @RehabMan guides here and there.
Applying EHC1->EH01 and EHC2->EH02 patches creates a kernel panic.

Note: At this point and while roaming through my BIOS settings I decided to disable SATA on my chipset. I don't use any SATA device so may as well turn it off and remove the complexity it might bring?
The plot thickens... I remember reading @Galileo6373637 who mentioned that by pulling his usb device out of the plug a little they would work... Sure enough this is the case for me too...

Applying EHC1->EH01 and EHC2->EH02 Doesn't stop the boot anymore (I still see some kernal panic there but not a show stopper it seems)
Adding the port limit patch (in config.plist) did the trick, all ports seem to function (but at what speed?)
Testing speed (with Blackmagic Disk Speed) I'm getting 122MB/s write / 250 MB/s read which seems to be what to expect from a good USB 3.0 stick these days (yes USB3.0 speed is in theory higher but this is the real life speed). FIXED (I guess)
 
Last edited:
Back on the Graphics lag...

Forum won't let me post as an edit in above post so here it goes...

Learning Russian to solve that one... These guys seem to be on the right path.
The first thing is to figure out exactly which version of the Intel iGPU is running on the Z370 chipset... Not as easy as you may think. Long story short, it seems to be the UHD630. Apparently a pure marketing rebrand of the HD630 but I suspect that one letter change is actually messing up with all the know solutions for the HD630 version...

Back to our russians, who suggest the following:

1. In the config, in the FakeID section for IntelGFX add 0x59128086
2. ig-platform-id 0x59120003
3. You must set Intel to Inject = Yes, without it FakeID does not work​

This is as closed to a solution I've felt so far...
Upon reboot, there is good and there is bad... Still no quicksync (no airplay option etc.) BUT the MacX Video Converter Pro app who was always crashing on load before is now working... (and confirming no full hardware acceleration). Other bad news, BruceX is now even slower...
 
Digging further it seems the IOreg tool is useful to see what your mac "sees" as far as hardware configuration etc. In this case useful to clearly see what name is used to identify the IGPU and GFX.

In my case they are both named "GFX@n" where n is 2 for the IGPU and 0 for the actual GFX...

Screen Shot 2018-02-08 at 8.28.50 pm.png


Seems some DSDT patching is in order...

Screen Shot 2018-02-08 at 10.15.07 pm.png


One reboot later and... progress!

Screen Shot 2018-02-08 at 10.14.02 pm.png


And Airplay mirroring shows up in display preferences...

Screen Shot 2018-02-08 at 10.13.45 pm.png


However online videos are still laggy and BruceX is super slow so I suspect we are not completely there yet...
Oh and sleep doesn't work anymore...

The quest continues, exploring VDADecoderChecker...

Screen Shot 2018-02-08 at 10.31.39 pm.png

...and this is a good read.
 
Last edited:
Status
Not open for further replies.
Back
Top