-->Donations via PayPal [External Link Removed for Guests] :guitar
-->Installation/Post Installation Tutorial [Local Link Removed for Guests]
-->Useful Links [Local Link Removed for Guests]
-->Olarila Images - Updated images [Local Link Removed for Guests]
-->Guides and Tutorials [Local Link Removed for Guests]
-->Clover Folder for All Chipsets [Local Link Removed for Guests]
-->DSDT Patch Requests [Local Link Removed for Guests]

AMD GPU on 10.14 with no iGPU: many issues

TheBloke
Posts: 29
Joined: 30 Oct 2018, 16:14
CPU: 1: X5670 2: i5-3550
Motherboard: 1: GA-X58A-UD3R 2: P8H77-M
GPU: 1: Vega 64 OC 2: R9 280X

AMD GPU on 10.14 with no iGPU: many issues

Post by TheBloke » 21 Sep 2019, 16:51

Yeah, the whole problem we have is we have no iGPU, so no way to use any Intel acceleration :(

Added in 1 minute 11 seconds:
my machine not liking the INJECT ATI with deinit

when booted same way single monitor.. GPU fan full up, power bar on the card pulsates and I am using 200W at the wall instead of 120~
so clearly with macpro5,1 SMBIOS .. injecting is messing with GPU power management AND my luxmark scores are LOWER.. which makes no sense
And what about without deinit?

I get the fan spinning up also only with InjectATI, but I take that as a good sign - because that was a known issue with the Vega 64 card, and possibly still is, at least with my Gigabyte OC which I have heard has its own fan controller.

Though in my case it is just the fan spinning up - not also an increase in power usage, at least not according to the stats put into IOKit, as read by HWMonitorSMC2. It's common for me to see 2600RPM fan, with 0% utilisation and ~20W power usage.

Ironically, the way to get the fan to stop spinning at full speed - at least for a time - is to put some load on the GPU, ie start playing a video. This is again a common experience from what I've read of other Vega 64 users, both Hack and real Mac Pro users. Though it was meant to be resolved in 10.14.5. So I am assuming the reason it is not resolved for me is my specific choice of Vega 64, as I found at least one site that mentioned the Gigabyte OC Vega 64s were an exception to the general fixes for fan spin, due to their proprietary fan controller.

Without InjectATI I get 25% lower GeekBench 4 scores, and one time I actually had the system freeze when I tried to run the Heaven UniEngine benchmark, which didn't happen with InjectATI

All I am setting is InjectATI - I don't set any of the other options in the same area. Which I believe means (though I may be wrong), that all InjectATI is doing is injecting the GPU name that Clover detects, which is "AMD Radeon RX Vega 64", versus the "Radeon RX Vega 64" that WEG puts in. Other settings, eg FBName, are all blank in my config.

If I'm correct about that, then that would mean that some part of the Apple drivers is looking for a particular GPU name and being affected by it? You'd think it would be based off the Vendor ID / Card ID. So maybe there's more to it than that.

I've never properly tried RadeonDeInit, so I don't really know what that does. I only tested it briefly, days ago, when I was seeing if there was any way to get rid of the need to sleep&wake. I had the impression it was an old param intended for much older cards/older versions of macOS/Clover, but who knows
ONE: X58: G.byte GA-X58A-UD3R, Xeon X5670 @ 4.00Ghz, 48GB Corsair DDR3 1600
GPU:  Asus 7970Ghz (R9 280X) 3GB
SMB: MacPro 5,1. Clover: R4945 Legacy

TWO: H77: Asus P8H77-M, i5-3550 3.5Ghz, 24GB DDR3 1600
GPU: Gigabyte RX Vega 64 8GB OC
SMB: iMacPro 1,1. Clover: R5096 UEFI.
TheBloke
Posts: 29
Joined: 30 Oct 2018, 16:14
CPU: 1: X5670 2: i5-3550
Motherboard: 1: GA-X58A-UD3R 2: P8H77-M
GPU: 1: Vega 64 OC 2: R9 280X

AMD GPU on 10.14 with no iGPU: many issues

Post by TheBloke » 21 Sep 2019, 20:21

I've effectively given up for now.

Latest results:

I mentioned earlier that I had a theory that my h264 encoding freezes might be related to OCing, on the basis that earlier in the week had a BSOD in Windows 10 when doing h264 encoding on the Vega, and that after I lowered the OC a bit, it didn't return.

So earlier today I tried completely removing the OC on my X58, reverting to stock speeds with everything on AUTO.

Initial results were positive: for the first time ever I got a Premiere Pro export to work with HW accel, successfully exporting a 5 minute video with no errors in Console. So then I tried a much longer project, and within 10 minutes Console was flooded with errors and all displays froze.

Next I put the Vega 64 into my second Hack, the H77. This is my UEFI machine, not overclocked. I installed my second, backup SSD in the H77 so it was running the same software as my X58, including my exact Premiere Pro/After Effects install. (Everything the same except the EFI partition, which I booted from USB so as to use my H77 DSDT + config)

The Vega behaved exactly the same in the H77 as it did in the X58, in all respects: from boot, a single DP works, but plugging in a second display will cause all monitors to go black, and force a restart. After sleep & wake, all ports worked. InjectATI was required to get full Geekbench 4 performance.

Just about the only difference noticeable on the H77 was that using the iMacPro 1.1 SMBIOS on the H77 did not affect Speedstep.

As for HW accel: same shit. After about 10 minutes of exporting the same Premiere Pro project, the Console filled with all the same errors and the machine was dead.

So I basically give up for now. The irony is I never planned to buy a new GPU yet, I was going to wait until I was ready to buy a better workstation. But I was doing a lot of Premiere Pro and After Effects work, and I thought getting a new GPU now might speed things up. Ha! I've lost about 4 days from fucking around trying to get it to work, and now I'm back where I started.

Well, not completely. The Vega 64 is still in my second machine, booted into Windows 10, and maybe it will provide some benefit there. Though not much, as Premiere Pro/After Effects can't use AMD encode acceleration in Windows, only Intel.

I may even return the Vega. I bought it from Amazon, so I still have 3 weeks in which I can return it. Maybe the Vega 64 is just a bad card. I'd really like to get the VII Pro, as not only is it much more powerful and has 16GB, but it's also a card that's used in a real Mac - or will be when the 2019 Pro comes out. Of course it's stupidly expensive, so I doubt I'll be able to.

I've seriously thought about whether I should buy a real Mac for my 'new' computer. If the 2013 Mac Pro wasn't so shit I probably would do. But it can't be expanded, and I really need 10 Gbe internet and a modern GPU, and I can't afford a new workstation plus Thunderbolt enclosures and the like. And buying the classic Mac Pro just seems silly; spending upwards of £1000 on a system that's of exactly the same generation as the one I already have.

The easiest and safest thing to do would be to buy a system with a recent Intel consumer CPU, with Intel HD, like mald0n was saying. But then I will be very limited in PCIe lanes, and probably limited in RAM as well, and I wouldn't be able to go dual CPU,

I'm really tempted by something like the HP Z840, which can give me 16+ cores over 2 CPUs, 64, 96GB or even 128GB of RAM, and all the PCIe slots I could ever need. But that wouldn't have an iGPU, so maybe I'd end up stuck with all the same problems.

If only Apple weren't being such c***s about NVidia. Having the NVidia web drivers available would open a huge range of new cards and likely solve all these problems. I suppose I could go back to High Sierra, but I really don't like running an OS that's too old. That just introduces more problems over time. I'll already not be updating to Catalina for a while because of the stupid removal of 32bit support; being two OS' old just seems like too much.

Geez, what a mess.
ONE: X58: G.byte GA-X58A-UD3R, Xeon X5670 @ 4.00Ghz, 48GB Corsair DDR3 1600
GPU:  Asus 7970Ghz (R9 280X) 3GB
SMB: MacPro 5,1. Clover: R4945 Legacy

TWO: H77: Asus P8H77-M, i5-3550 3.5Ghz, 24GB DDR3 1600
GPU: Gigabyte RX Vega 64 8GB OC
SMB: iMacPro 1,1. Clover: R5096 UEFI.
User avatar
MaLd0n
Site Admin
Site Admin
Posts: 14603
Joined: 05 Dec 2010, 19:35
CPU: i9-9900K
Motherboard: GA Z390 M GAMING
GPU: RX 590 8 GB
Location: Rio de Janeiro, Brazil
Contact:

AMD GPU on 10.14 with no iGPU: many issues

Post by MaLd0n » 21 Sep 2019, 21:31

duece, in this case i think don't have other solution, only iMacPro1,1 smbios
but this smbios inject other properties like usb etc

the patches is for lga 1366, ich10 properties

the problem in legacy mobos with new amd cards is: don't have csm option and csm driver clover is very strange and dangerous
--Donations via PayPal [External Link Removed for Guests] :guitar

--Donated? Send me one Private Message
TheBloke
Posts: 29
Joined: 30 Oct 2018, 16:14
CPU: 1: X5670 2: i5-3550
Motherboard: 1: GA-X58A-UD3R 2: P8H77-M
GPU: 1: Vega 64 OC 2: R9 280X

AMD GPU on 10.14 with no iGPU: many issues

Post by TheBloke » 21 Sep 2019, 21:39

[Local Link Removed for Guests] wrote: [Local Link Removed for Guests]
21 Sep 2019, 21:31
the problem in legacy mobos with new amd cards is: don't have csm option and csm driver clover is very strange and dangerous
But I have the same issues with Vega 64 in my H77 which has UEFI and CSM. So I think there is more to it than this :(
ONE: X58: G.byte GA-X58A-UD3R, Xeon X5670 @ 4.00Ghz, 48GB Corsair DDR3 1600
GPU:  Asus 7970Ghz (R9 280X) 3GB
SMB: MacPro 5,1. Clover: R4945 Legacy

TWO: H77: Asus P8H77-M, i5-3550 3.5Ghz, 24GB DDR3 1600
GPU: Gigabyte RX Vega 64 8GB OC
SMB: iMacPro 1,1. Clover: R5096 UEFI.
TheBloke
Posts: 29
Joined: 30 Oct 2018, 16:14
CPU: 1: X5670 2: i5-3550
Motherboard: 1: GA-X58A-UD3R 2: P8H77-M
GPU: 1: Vega 64 OC 2: R9 280X

AMD GPU on 10.14 with no iGPU: many issues

Post by TheBloke » 21 Sep 2019, 21:49

Errr OMG

I just got the Vega 64 to boot on my H77 with two monitors connected, one HDMI.

I did it by setting CSM to Disabled in BIOS. I've literally never tried that before...

More testing starting now...
ONE: X58: G.byte GA-X58A-UD3R, Xeon X5670 @ 4.00Ghz, 48GB Corsair DDR3 1600
GPU:  Asus 7970Ghz (R9 280X) 3GB
SMB: MacPro 5,1. Clover: R4945 Legacy

TWO: H77: Asus P8H77-M, i5-3550 3.5Ghz, 24GB DDR3 1600
GPU: Gigabyte RX Vega 64 8GB OC
SMB: iMacPro 1,1. Clover: R5096 UEFI.
User avatar
MaLd0n
Site Admin
Site Admin
Posts: 14603
Joined: 05 Dec 2010, 19:35
CPU: i9-9900K
Motherboard: GA Z390 M GAMING
GPU: RX 590 8 GB
Location: Rio de Janeiro, Brazil
Contact:

AMD GPU on 10.14 with no iGPU: many issues

Post by MaLd0n » 21 Sep 2019, 23:14

TheBloke, AMD = CSM disable / NVIDIA = CSM Enable :mrgreen:
--Donations via PayPal [External Link Removed for Guests] :guitar

--Donated? Send me one Private Message
TheBloke
Posts: 29
Joined: 30 Oct 2018, 16:14
CPU: 1: X5670 2: i5-3550
Motherboard: 1: GA-X58A-UD3R 2: P8H77-M
GPU: 1: Vega 64 OC 2: R9 280X

AMD GPU on 10.14 with no iGPU: many issues

Post by TheBloke » 22 Sep 2019, 01:14

I've been testing for several hours and it's late and I'm too tired - and still disillusioned - to do a full report. I'll do one tomorrow.

The TLDR is:
1. With CSM disabled on the H77, the multi-display issue appears completely gone. I can boot with multiple monitors connected, no need to sleep.
2. HW accel encode appeared fixed at first; I was able to export my larger Premiere Pro project, which took 30+ minutes.
3. But it's not fixed fully. Using a screen recording app called Screenflick, recording a full screen game at 1080p 60 FPS, the GPU will crash within 1 - 5 minutes of the recording starting. The usual long list of IOAccel errors in Console, with all displays freezing. The system remains accessible via SSH, but a shutdown doesn't complete, so the only option is a hardware reboot or shutdown via power switch.
4. Tested with both iMacPro 1.1, and with my original SMBIOS for that machine, iMac 14.2 with the shikivga=96 ... config line. Identical results with both.

This may end up being a usable config at least for Premiere Pro encoding, if it proves that it never crashes in that config - which I don't think is guaranteed by any means. But it's clearly not 'fixed'.

At this point I have no idea if this is specific to the Vega 64 or not. It could even be specific to *this* Vega 64, although I doubt it.

What this has told me - belatedly - is that there's very likely no chance of getting this working on my X58, or any system without a proper UEFI CSM. Don't know what that means for your system, dueces, but I'd presume it's the same as mine; if you had a CSM option to disable that would fix it, I imagine you'd have found it by now.

I'll write a bit more tomorrow.
ONE: X58: G.byte GA-X58A-UD3R, Xeon X5670 @ 4.00Ghz, 48GB Corsair DDR3 1600
GPU:  Asus 7970Ghz (R9 280X) 3GB
SMB: MacPro 5,1. Clover: R4945 Legacy

TWO: H77: Asus P8H77-M, i5-3550 3.5Ghz, 24GB DDR3 1600
GPU: Gigabyte RX Vega 64 8GB OC
SMB: iMacPro 1,1. Clover: R5096 UEFI.
duece
Posts: 19
Joined: 17 Sep 2019, 22:04
CPU: w3680
Motherboard: Dx58
GPU: vega

AMD GPU on 10.14 with no iGPU: many issues

Post by duece » 22 Sep 2019, 02:50

MaLd0n, yeah. Intel shitty UEFI on this board. No CSM disable and I have to assume there is one since this board was mainstream what more than 6 years ago it would need it for windows.

Only thing left would be a complete legacy boot to see if that improves. Or perhaps figure out how to dump the cards bios and have clover load it

On the fresh test install that was put on a intel sata drive can’t get it to sleep period. Same OS X version same dsdt same config file etc as the one from last month and that one is sleeping. Mojave want me to tear my hair out.
TheBloke
Posts: 29
Joined: 30 Oct 2018, 16:14
CPU: 1: X5670 2: i5-3550
Motherboard: 1: GA-X58A-UD3R 2: P8H77-M
GPU: 1: Vega 64 OC 2: R9 280X

AMD GPU on 10.14 with no iGPU: many issues

Post by TheBloke » 22 Sep 2019, 11:46

A couple more bits of info, FWIW:

Once I got the Vega 64 booting reliably in the H77 with CSM disabled, I experimented with InjectATI on and off.

InjectATI off: Fans work normally. GPU detected as "Radeon RX Vega 64". Metal support listed as "Supported, GPUFamily 2v1". IOKit performance statistics/info messages are fully accurate. Geekbench score: 145k. Heaven uniEngine Benchmark result: 99-101 FPS.

InjectATI on: Fans mostly at 100%. GPU detected as "AMD Radeon RX Vega 64". Metal support listed as "Supported". IOKit performance statistics/info messages are often inaccurate, eg showing Power Usage at 650W (impossible), Core Clock never going above 750Mhz even at 100% utilisation, and often VRAM Free/Used does not add up to the correct amount. Geekbench score: 200k. Heaven uniEngine Benchmark: 100-102 FPS.

So nearly everything is better with InjectATI off. It's just that Geekbench 4 benchmark, consistent across both Metal and OpenCL benchmarks. But then the Heaven benchmark was the same in both modes.

The end result is I am not using InjectATI, because it definitely introduces problems, and while one benchmark shows it to be faster, another shows no difference.

On the HW h264 encode issue: I today booted into Windows 10 and recorded 25 minutes of a game at 60 FPS, high quality, no issues. So I am almost certain the card itself is fine. It's definitely some macOS/Hack issue.

I get the h264 encode crashes both with iMacPro 1.1 and with iMac 14.2 with shikivga=96.

I tried doing a sleep & wake, even though it's no longer needed for multi-monitor support, but that made no difference; h264 encode still freezes the GPU even after a sleep.

So I am out of ideas on that one. I have a mostly working Vega 64 in the H77, but one of the main reasons I bought the card was to get h264 encode, and if that's not reliable then I think I will be forced to stay in Windows for now.

So frustrating.

For the record, here are the errors I get when the GPU freezes during h264 encode:

Code: [Local Link Removed for Guests]

kernel[0]: (IOAcceleratorFamily2) void IOAccelFenceMachine::fence_timeout(IOTimerEventSource *): AMDRadeonAccelerator prodding blockFenceInterrupt
kernel[0]: (IOAcceleratorFamily2) void IOAccelFenceMachine::fence_timeout(IOTimerEventSource *): AMDRadeonAccelerator prodding blockFenceInterrupt
kernel[0]: (IOAcceleratorFamily2) AMDRadeonAccelerator: IOAccelDisplayPipeTransaction time out after 300ms. framebufferIndex=5
kernel[0]: (IOAcceleratorFamily2)     framebufferIndex=5, wsaa=17
kernel[0]: (IOAcceleratorFamily2)     eventInterruptEnabled=0, transactionInterruptEnabled=1, vblInterruptEnabled=0
kernel[0]: (IOAcceleratorFamily2)     powerOff=0, pipeTerminated=0, acceleratorEnabled=1, fWSAA=17
kernel[0]: (IOAcceleratorFamily2)     lastIOGraphicsMessageEvent=93, fbIndex=5
kernel[0]: (IOAcceleratorFamily2)     transactionQueueReadCount=12055, transactionQueueWriteCount=12056
kernel[0]: (IOAcceleratorFamily2) lastCompletedTransaction: ID=12054 dirtyBits=0x1 options=0x1
kernel[0]: (IOAcceleratorFamily2)     pendingTransaction ID=12055, isTransactionComplete()=0, dirtyBits=0x1, options=0x1, errorCode=0x0, submittedReturn=0xe0014042
kernel[0]: (IOAcceleratorFamily2)     readTransaction ID=12056, dirtyBits=0x1, options=0x1, errorCode=0x0, submittedReturn=0xe0014042, event hasn't finished
kernel[0]: (IOAcceleratorFamily2) void IOAccelFenceMachine::fence_timeout(IOTimerEventSource *): AMDRadeonAccelerator prodding blockFenceInterrupt
<last message repeated many times>
kernel[0]: (IOAcceleratorFamily2) virtual IOReturn IOAccelEventMachine2::waitForStamp(int32_t, stamp_t, stamp_t *): initial wait for 1 second expired. Continue wait for 4 seconds. stamp 15313 (gpu_stamp=15312)
kernel[0]: (IOAcceleratorFamily2) virtual IOReturn IOAccelEventMachine2::waitForStamp(int32_t, stamp_t, stamp_t *): initial wait for 1 second expired. Continue wait for 4 seconds. stamp 9557 (gpu_stamp=9556)
kernel[0]: (IOAcceleratorFamily2) void IOAccelFenceMachine::fence_timeout(IOTimerEventSource *): AMDRadeonAccelerator prodding blockFenceInterrupt
<last message repeated many times>
kernel[0]: (IOAcceleratorFamily2) virtual IOReturn IOAccelEventMachine2::waitForStamp(int32_t, stamp_t, stamp_t *): timeout waiting for AMDRadeonAccelerator stamp 15313 (gpu_stamp=15312)
kernel[0]: (IOAcceleratorFamily2) virtual IOReturn IOAccelEventMachine2::waitForStamp(int32_t, stamp_t, stamp_t *): timeout waiting for AMDRadeonAccelerator stamp 9557 (gpu_stamp=9556)
kernel[0]: (IOAcceleratorFamily2) void IOAccelFenceMachine::fence_timeout(IOTimerEventSource *): AMDRadeonAccelerator prodding blockFenceInterrupt

<last message repeated many times>

kernel[0]: (IOAcceleratorFamily2) virtual void IOAccelEventMachineFast2::checkGPUProgress() - Signaling hardware error on channel 0..
kernel[0]: (IOAcceleratorFamily2) void IOAccelEventMachine2::signalHardwareError(eRestartRequest, int32_t): GPURestartEnqueued stampIdx=0 type=2
kernel[0]: (IOAcceleratorFamily2) virtual void IOAccelEventMachineFast2::checkGPUProgress() - Signaling hardware error on channel 2..
kernel[0]: (IOAcceleratorFamily2) void IOAccelEventMachine2::signalHardwareError(eRestartRequest, int32_t): GPURestartSignaled stampIdx=2 type=2 prevType=0 numStamps=22
kernel[0]: (IOAcceleratorFamily2) void IOAccelEventMachine2::signalHardwareError(eRestartRequest, int32_t): GPURestartEnqueued stampIdx=2 type=2
kernel[0]: (IOAcceleratorFamily2) virtual void IOAccelEventMachineFast2::checkGPUProgress() - Signaling hardware error on channel 5..
kernel[0]: (IOAcceleratorFamily2) void IOAccelEventMachine2::signalHardwareError(eRestartRequest, int32_t): GPURestartSignaled stampIdx=5 type=2 prevType=0 numStamps=22
kernel[0]: (IOAcceleratorFamily2) void IOAccelEventMachine2::signalHardwareError(eRestartRequest, int32_t): GPURestartEnqueued stampIdx=5 type=2
kernel[0]: (IOAcceleratorFamily2) virtual void IOAccelEventMachineFast2::checkGPUProgress() - Signaling hardware error on channel 6..
kernel[0]: (IOAcceleratorFamily2) void IOAccelEventMachine2::signalHardwareError(eRestartRequest, int32_t): GPURestartSignaled stampIdx=6 type=2 prevType=0 numStamps=22
kernel[0]: (IOAcceleratorFamily2) void IOAccelEventMachine2::signalHardwareError(eRestartRequest, int32_t): GPURestartEnqueued stampIdx=6 type=2
kernel[0]: (IOAcceleratorFamily2) virtual void IOAccelEventMachineFast2::checkGPUProgress() - Signaling hardware error on channel 12..
kernel[0]: (IOAcceleratorFamily2) void IOAccelEventMachine2::signalHardwareError(eRestartRequest, int32_t): GPURestartSignaled stampIdx=12 type=2 prevType=0 numStamps=22
kernel[0]: (IOAcceleratorFamily2) void IOAccelEventMachine2::signalHardwareError(eRestartRequest, int32_t): GPURestartEnqueued stampIdx=12 type=2
kernel[0]: (IOAcceleratorFamily2) virtual void IOAccelEventMachineFast2::checkGPUProgress() - Signaling hardware error on channel 17..
kernel[0]: (IOAcceleratorFamily2) void IOAccelEventMachine2::signalHardwareError(eRestartRequest, int32_t): GPURestartSignaled stampIdx=17 type=2 prevType=0 numStamps=22
kernel[0]: (IOAcceleratorFamily2) void IOAccelEventMachine2::signalHardwareError(eRestartRequest, int32_t): GPURestartEnqueued stampIdx=17 type=2
kernel[0]: (IOAcceleratorFamily2) virtual void IOAccelEventMachineFast2::checkGPUProgress() - Signaling hardware error on channel 18..
kernel[0]: (IOAcceleratorFamily2) void IOAccelEventMachine2::signalHardwareError(eRestartRequest, int32_t): GPURestartSignaled stampIdx=18 type=2 prevType=0 numStamps=22
kernel[0]: (IOAcceleratorFamily2) void IOAccelEventMachine2::signalHardwareError(eRestartRequest, int32_t): GPURestartEnqueued stampIdx=18 type=2
kernel[0]: (IOAcceleratorFamily2) virtual void IOAccelEventMachineFast2::checkGPUProgress() - Signaling hardware error on channel 19..
kernel[0]: (IOAcceleratorFamily2) void IOAccelEventMachine2::signalHardwareError(eRestartRequest, int32_t): GPURestartSignaled stampIdx=19 type=2 prevType=0 numStamps=22
kernel[0]: (IOAcceleratorFamily2) void IOAccelEventMachine2::signalHardwareError(eRestartRequest, int32_t): GPURestartEnqueued stampIdx=19 type=2
kernel[0]: (IOAcceleratorFamily2) void IOAccelEventMachine2::hardwareErrorEvent(): setting restart type to 2 (channel 0)
kernel[0]: (IOAcceleratorFamily2) void IOAccelEventMachine2::hardwareErrorEvent(): GPURestartDequeued stampIdx=0 type=2
kernel[0]: (AMDRadeonX5000) [3:0:0]: channel 0 event timeout
kernel[0]: (IOAcceleratorFamily2) void IOAccelFenceMachine::fence_timeout(IOTimerEventSource *): AMDRadeonAccelerator prodding blockFenceInterrupt
kernel[0]: (IOAcceleratorFamily2) void IOAccelFenceMachine::fence_timeout(IOTimerEventSource *): AMDRadeonAccelerator prodding blockFenceInterrupt
kernel[0]: (IOAcceleratorFamily2) void IOAccelFenceMachine::fence_timeout(IOTimerEventSource *): AMDRadeonAccelerator prodding blockFenceInterrupt
kernel[0]: (IOAcceleratorFamily2) virtual IOReturn IOAccelEventMachine2::waitForStamp(int32_t, stamp_t, stamp_t *): a graphics error occurred, exitting..
kernel[0]: (IOAcceleratorFamily2) virtual IOReturn IOAccelEventMachine2::waitForStamp(int32_t, stamp_t, stamp_t *): a graphics error occurred, exitting..
kernel[0]: (IOAcceleratorFamily2) void IOAccelFenceMachine::fence_timeout(IOTimerEventSource *): AMDRadeonAccelerator prodding blockFenceInterrupt
kernel[0]: (AMDRadeonX5000) [3:0:0]: channel 0 GFX is hung! (lastReadTimestamp=0x0001212a) channelResetMask 0x00000000
kernel[0]: (AMDRadeonX5000HWLibs) AMD Cail: [3:0:0] GPU HangState 0x00000040, HangFlags 0x00000005: IndividualEngineHang 1, NonEngineBlockHang 0, FenceNotRetired 1, PerEngineReset 1, FullAsicReset 0
kernel[0]: (AMDRadeonX5000HWLibs) [3:0:0] GPU HangState 0x00000040, HangFlags 0x00000005: IndividualEngineHang 1, NonEngineBlockHang 0, FenceNotRetired 1, PerEngineReset 1, FullAsicReset 0
kernel[0]: (IOAcceleratorFamily2) virtual sIOAccelEvent *IOAccelFIFOChannel2::getFirstPendingEvent(): All are finished
kernel[0]: (IOAcceleratorFamily2) virtual sIOAccelEvent *IOAccelFIFOChannel2::getFirstPendingEvent(): All are finished
kernel[0]: (IOAcceleratorFamily2) virtual sIOAccelEvent *IOAccelFIFOChannel2::getFirstPendingEvent(): All are finished
kernel[0]: (IOAcceleratorFamily2) virtual sIOAccelEvent *IOAccelFIFOChannel2::getFirstPendingEvent(): All are finished
kernel[0]: (IOAcceleratorFamily2) virtual sIOAccelEvent *IOAccelFIFOChannel2::getFirstPendingEvent(): All are finished
kernel[0]: (IOAcceleratorFamily2) virtual sIOAccelEvent *IOAccelFIFOChannel2::getFirstPendingEvent(): All are finished
kernel[0]: (IOAcceleratorFamily2) virtual sIOAccelEvent *IOAccelFIFOChannel2::getFirstPendingEvent(): All are finished
kernel[0]: (IOAcceleratorFamily2) virtual sIOAccelEvent *IOAccelFIFOChannel2::getFirstPendingEvent(): All are finished
kernel[0]: (IOAcceleratorFamily2) virtual sIOAccelEvent *IOAccelFIFOChannel2::getFirstPendingEvent(): All are finished
kernel[0]: (IOAcceleratorFamily2) void IOAccelFenceMachine::fence_timeout(IOTimerEventSource *): AMDRadeonAccelerator prodding blockFenceInterrupt
kernel[0]: (AMDRadeonX5000) [3:0:0] ** AMDRadeonX5000_AMDVega10GraphicsAccelerator Device in slot: SLOT--1 **
kernel[0]: (IOAcceleratorFamily2) Trying to restart GPU (Radeon RX Vega 64)...
kernel[0]: (AMDSupport) AMD Recovery Display.
kernel[0]: (Sandbox) Sandbox: tailspin(1751) deny(1) sysctl-write kern.procname
ONE: X58: G.byte GA-X58A-UD3R, Xeon X5670 @ 4.00Ghz, 48GB Corsair DDR3 1600
GPU:  Asus 7970Ghz (R9 280X) 3GB
SMB: MacPro 5,1. Clover: R4945 Legacy

TWO: H77: Asus P8H77-M, i5-3550 3.5Ghz, 24GB DDR3 1600
GPU: Gigabyte RX Vega 64 8GB OC
SMB: iMacPro 1,1. Clover: R5096 UEFI.
duece
Posts: 19
Joined: 17 Sep 2019, 22:04
CPU: w3680
Motherboard: Dx58
GPU: vega

AMD GPU on 10.14 with no iGPU: many issues

Post by duece » 22 Sep 2019, 12:46

TheBloke,

if you are intent on using the imacpro1,1 smbios then perhaps you need to continue investigating whether shikiGVA values are even needed... since the vega is natively supported in that SMBIOS you probably should run without WEG at all.. should not need it to turn on functionality

again.. in windows .. the drives just point all encodode/decode at ATIs drivers .. simple

in the Mac the fruit company uses many different video handling frameworks... and in systems with shared dGPU and intel, quick sync takes the load in the iMacpro, where they could simply throw it at the ATI, the T2 chip gets involved ..

I doubt that ATI will bite the hand that feeds it, so I don't expect to see ATI release purpose drivers ... the only open architecture machine that apple officially/ unofficially support is the macpro5,1 .. that that special relationship is over now that the new machine is due for release... apple realized with the trashcan the professionals used pci-e cards and wanted/needed open hardware architecture .. so as to no loose the entire professional user base, many of which didn't upgrade to the trashcan.. they gave them just enough to drag them to this point but they are intentionally not providing hardware encoding for 265 which the card is more than capable of in hope of pushing new hardware .. plain and simple.. and I doubt that will change.. at the start of Catalina beta.. the 5,1 was going to be an approved machine, but when the new pro was announced and marketing starts making the calls, 5,1 is now dropped ...

until someone hacks the video processing framework or writes a program that goes around the framework calls and deals with the card directly ... perhaps we will see something in the future but most devs don't deviate from apple frameworks...
TheBloke
Posts: 29
Joined: 30 Oct 2018, 16:14
CPU: 1: X5670 2: i5-3550
Motherboard: 1: GA-X58A-UD3R 2: P8H77-M
GPU: 1: Vega 64 OC 2: R9 280X

AMD GPU on 10.14 with no iGPU: many issues

Post by TheBloke » 22 Sep 2019, 13:03

[Local Link Removed for Guests] wrote: [Local Link Removed for Guests]
22 Sep 2019, 12:46
TheBloke,

if you are intent on using the imacpro1,1 smbios then perhaps you need to continue investigating whether shikiGVA values are even needed... since the vega is natively supported in that SMBIOS you probably should run without WEG at all.. should not need it to turn on functionality
I'm not using shikivga with iMacPro 1.1. My two tested methods are:

1. iMacPro 1.1, with boot arguments: dart=0 kext-dev-mode=1
2. iMacPro 14.2, with boot arguments: dart=0 kext-dev-mode=1 shikigva=96 shiki-id=Mac-7BA5B2D9E42DDD94

But yes, I haven't tested iMacPro 1.1 without WEG entirely. Or rather, I haven't since I set CSM to disable. In the past when I've tried no WEG it's failed hard, but that was before I got the card working natively on the H77. You are right that's worth a test, and I will try that now.

The other thing I'm going to test - with no hope of any change - is Catalina. I'm in the process of making a backup of my install to another SSD which I can safely try Catalina on without impacting any of my main installs.
[Local Link Removed for Guests] wrote: [Local Link Removed for Guests]
22 Sep 2019, 12:46
in the Mac the fruit company uses many different video handling frameworks... and in systems with shared dGPU and intel, quick sync takes the load in the iMacpro, where they could simply throw it at the ATI, the T2 chip gets involved ..
Yeah there are certainly plenty of possible problem areas. However, the genuine Mac Pro crowd are using shikivga=96 with h264 encode with seemingly no problems at all, including some using Vega 64s. So it should be possible in theory. I suppose there must be some other difference between real Mac HW and simulated Hack HW that's causing these problems. Maybe even some other EFI-related issue.

I know other Hack users are using Vega 64 with HW accel with no iGPU, eg there's Pavo on InsanelyMac who uses 2 x E5-2670 v2 which have no iGPU, and is the same generation as my H77 (Ivy Bridge), with a RX Vega 64, and he says he has everything fully working, including HW accel. Although whether he's tried hitting the H264 encode as hard as I am, I don't know. And of course he has a much more powerful system than mine.

That could even be another factor: performance. Maybe the GVA framework expects a certain level of performance, and my crappy 4-core i5 system simply isn't keeping up? And once it fails to do so once, the card never recovers. It could be something along those lines anyway - some timing issue. The fact that the failures are not predictable with regard to timing - it could be 1 minute, it could be 6 minutes before the first failure - does point to something variable rather than concrete. Though I did get the same kinds of crashes on the X58, which is quite a bit more powerful: 6 x cores at up to 4Ghz.

I hope to be getting a new workstation fairly soon. Still can't decide what to get exactly, but a HP Z840 is definitely looking possible. That would put me on Haswell, with 16+ CPU cores, and a much more recent UEFI BIOS. I'm pretty confident things should work OK in that, based on what I read of other people with similar systems. But I don't have the time to do all the necessary research right now, so it'll probably have to wait a few more weeks before I can buy anything.

In the meantime, assuming neither -wegoff nor Catalina performs any miracle, I'll likely be running the H77 in Windows to do encoding there. That is if I don't just return the Vega 64 entirely, ready to get a different GPU when I do finally get a new workstation.

At least I can say I've advanced my Hack knowledge and experience somewhat in the last week, even if I've not so far achieved any config I'm happy with, and spent a vast amount of time in the process :)
ONE: X58: G.byte GA-X58A-UD3R, Xeon X5670 @ 4.00Ghz, 48GB Corsair DDR3 1600
GPU:  Asus 7970Ghz (R9 280X) 3GB
SMB: MacPro 5,1. Clover: R4945 Legacy

TWO: H77: Asus P8H77-M, i5-3550 3.5Ghz, 24GB DDR3 1600
GPU: Gigabyte RX Vega 64 8GB OC
SMB: iMacPro 1,1. Clover: R5096 UEFI.
duece
Posts: 19
Joined: 17 Sep 2019, 22:04
CPU: w3680
Motherboard: Dx58
GPU: vega

AMD GPU on 10.14 with no iGPU: many issues

Post by duece » 22 Sep 2019, 15:14

TheBloke,

I think that perhaps the easiest fix would be if someone could figure out a dsdt patch to mimic our onboard PEG slot and make it look like the GPU is connected via TB3 (which is just pcie) and mimic and external GPU box

we just can't find a combination that allows us to load and match the right kexts and frameworks to both run our chipsets with powermangement while matching and loading the correct graphics driver and video processing apple frameworks ... so until we either find the right combination of SMBIOS, patches, and board-id combo (provided one even exists) or clover gets smarter we are stuck.. since nobody is really programming toward this older hardware .. we a screwed...

its funny .. hackintoshing started because we wanted hardware that was more future proof.. yet the community abandons older hardware almost faster than apple these days...
TheBloke
Posts: 29
Joined: 30 Oct 2018, 16:14
CPU: 1: X5670 2: i5-3550
Motherboard: 1: GA-X58A-UD3R 2: P8H77-M
GPU: 1: Vega 64 OC 2: R9 280X

AMD GPU on 10.14 with no iGPU: many issues

Post by TheBloke » 22 Sep 2019, 22:43

[Local Link Removed for Guests] wrote: [Local Link Removed for Guests]
22 Sep 2019, 15:14
I think that perhaps the easiest fix would be if someone could figure out a dsdt patch to mimic our onboard PEG slot and make it look like the GPU is connected via TB3 (which is just pcie) and mimic and external GPU box
For some definition of 'easiest' :) It certainly might work.. whether it's easy sounds like a whole different question. Certainly sounds complex to me. But yeah, for an expert maybe not.

Trouble is, as you say, none of the experts are bothering with this old hardware any more. If I had money I'd be tempted to offer $100 to someone like vit9696 to try and investigate a solution. But of course, if I had money to throw around, I could just buy HW that didn't have the problem to begin with :)

With regards to Clover, there is now an alternative: OpenCore. I know nothing about it besides that it exists and that some developers are moving towards it. I don't even know if it supports legacy. But it might be interesting to try for a UEFI system at least; seems like maybe it has more new development going into it.

I tried your suggestion of WEG disabled and long story short, HW accel eventually crashed the GPU in the same way.

Not having WEG did change a few things, for example DP1 had no signal, but HDMI1 did, and so did DP3. But DP3 would flicker and sometimes go blank (without any accompanying errors in Console). Felt like maybe it was choosing the wrong Framebuffer or something, which possibly could have been fixed with a Clover FB patch. But given it had the same HW accel crashes, I didn't test any further.

I also tried Catalina, on a separate drive. I was impressed that Catalina installed very painlessly. I didn't even have to upgrade Clover to get as far as the update completing (I forgot to update Clover before starting). I then installed Clover 5070 on a new USB stick to boot into Catalina for the first time, and it was all there and working pretty smoothly. A few third party app issues; the Screenflick screen recording app won't work at all, just throws a numbered error as soon as I try to start recording. ffmpeg compiled with Homebrew segmentation faults immediately, even after having been recompiled from source using XCode 11.0. But downloading a snapshot from the ffmpeg website worked.

Of course, I get the same GPU hangs on HW encode in Catalina as well. I expected nothing else at this stage.

But I now appear to be in a situation where the errors/crash take somewhat longer to come. It took about 45 minutes of constant HW accel encode/decode in Catalina - combined with constant running of the Heaven benchmark to load up the GPU - before it crashed. Then the next time it was about 30 minutes.

That's not new in Catalina though. Before running Catalina I had a similar result in 10.14.6. On a whim I tried adding back in -rad24 and -raddvi, which I used to use but had removed on account of them not seeing to change anything, besides the colour depth info listed in System Information.

The first time I changed that I really thought I had it fixed: whereas the crashes had come after 2-6 minutes before, I ran for 40+ minutes of running Screenflick to record at 60 FPS, plus ffmpeg to encode h264 to h265, before finally it went down.

Oh, one minor difference in Catalina is that after the errors came and the displays froze, a shutdown -r via SSH did actually reboot the system, eventually. To be precise, on the next boot I got one of those "Your computer was restarted because of a problem" messages, talking about "watchdog timeout: no checkins from watchdog in 95 seconds". So it might have been that shutdown killed the watchdogd which caused the kernel to auto reboot. The next time it went down I tried issuing a sleep, which did shut down the displays and eventually resulted in the system not responding on ping, but it never actually powered down. Not surprising.

Another useful and pertinent Catalina change: Activity Monitor now has a % GPU and GPU Time column, as well as a GPU History graph:

Image

Somewhat useful.

Anyway, no light at the end of the HW accelerated tunnel for me. Starting tomorrow I actually need to get some damn work done, so I'll probably just go back to the config I had before this week's frustrating testing: main X58 system using the R9 280X, H77 in Windows 10. I suppose I'll get some small benefit from the H77 now having the Vega 64 8GB instead of its previous NVidia 760 2GB, but if I can't do HW accelerated Premiere Pro exports, it's going to be a marginal benefit at best.

Ho hum!
ONE: X58: G.byte GA-X58A-UD3R, Xeon X5670 @ 4.00Ghz, 48GB Corsair DDR3 1600
GPU:  Asus 7970Ghz (R9 280X) 3GB
SMB: MacPro 5,1. Clover: R4945 Legacy

TWO: H77: Asus P8H77-M, i5-3550 3.5Ghz, 24GB DDR3 1600
GPU: Gigabyte RX Vega 64 8GB OC
SMB: iMacPro 1,1. Clover: R5096 UEFI.
TheBloke
Posts: 29
Joined: 30 Oct 2018, 16:14
CPU: 1: X5670 2: i5-3550
Motherboard: 1: GA-X58A-UD3R 2: P8H77-M
GPU: 1: Vega 64 OC 2: R9 280X

AMD GPU on 10.14 with no iGPU: many issues

Post by TheBloke » 25 Sep 2019, 07:30

duece, you may be right about things getting worse with 10.14.6.

My X58 is back to the config it had been in for the past year, with the 7970Ghz/R9 280X connected to 5 monitors. This requires a sleep on boot to get a picture on all monitors (or in fact, on any monitor, since 10.14.5), but after that it is pretty solid.

But in the last week I've had several occasions of the GPU hanging, just like I saw with the Vega 64. Same set of Console errors related to IOAcceleratorFamilyv2, especially the fence_timeout error, and mentions of GPURestart.

The first time it happened was on Sunday, when I was still testing HW encode/decode in my other machine, the H77. Suddenly out of the blue the X58 hung. I rebooted it, and it got into a situation where it was hanging minutes after boot, every time.

My first thought was that the major thing I'd changed recently was my config.plist and DSDT.aml, using the updated files that mald0n provided. So I reverted to my previous config, that I'd been using for the past year or more. But it kept freezing shortly after boot.

So I went back to the mald0n config/DSDT, and also made some tweask to my OC, thinking that might have been different. And the issues went away.

Since Sunday it had been stable again, until this morning. I usually leave the PC on all night, but with the monitors turned off at the mains. I turned them on this morning, all got a picture, but nothing in the GUI would respond. SSHing in revealed the usual set of errors, and I had to reboot.

Since I rebooted it hasn't gone down again, although there was a brief GUI freeze of 1-2 seconds, during which another load of errors appeared in Console. But this time - and I think for the first time ever - it actually recovered and now seems OK.

At this point the only thing that I can see that is different is that I'm now on 10.14.6.

What I don't get is the randomness of it all. Running for days then freezing out of the blue, when the system isn't even being used. And last week, running for 24 hours without a hitch after I put the R9 280X back in, then after it froze once, it then kept freezing within minutes of every single subsequent restart. Then after I tried various combos of old and new configs, and ended up back on the config I was already using, it just started working again.

God knows what's going on. But the sooner I get some new, UEFI HW the better I think.

It does make me wonder if I should test the H77 with Vega on 10.14.5, to see if it makes any difference to the HW encode/decode freezes I could not get rid of. No time to do that at the moment, but maybe when I've finished my current project, I will. Though it will be depressing if that works, because that would leave me in the rut of needing an old version, not able to update.
ONE: X58: G.byte GA-X58A-UD3R, Xeon X5670 @ 4.00Ghz, 48GB Corsair DDR3 1600
GPU:  Asus 7970Ghz (R9 280X) 3GB
SMB: MacPro 5,1. Clover: R4945 Legacy

TWO: H77: Asus P8H77-M, i5-3550 3.5Ghz, 24GB DDR3 1600
GPU: Gigabyte RX Vega 64 8GB OC
SMB: iMacPro 1,1. Clover: R5096 UEFI.
Post Reply

Return to “Mojave (10.14)”