Jump to content

Dual unsupported cards possible ?


jalavoui
 Share

6 posts in this topic

Recommended Posts

  • 3 weeks later...

The vega10 igpu crash in opencl, opengl and metal still is not fixed

 

this patch allows smooth return in case of a metal crash (dyld_shared_cache_x86_64)

 

//coredisplay 
static const uint8_t kBigOriginal3[] = {
0x55, 0x48, 0x89, 0xe5, 0x8f, 0xc5, 0x41, 0x56, 0x41, 0x55, 0x41, 0x54, 0x53, 0x48, 0x81, 0xec, 0x88, 0x04, 0x00, 0x00, 0x48, 0x8b, 0x05, 0x79, 0xf6, 0xb0, 0x65, 0x48, 0x8b, 0x00, 0x48, 0x89, 0x45, 0xd0,
};
static const uint8_t kBigPatched3[] = {
0x55, 0x48, 0x89, 0xe5, 0x8f, 0xc5, 0xc3, 0x90, 0x41, 0x55, 0x41, 0x54, 0x53, 0x48, 0x81, 0xec, 0x88, 0x04, 0x00, 0x00, 0x48, 0x8b, 0x05, 0x79, 0xf6, 0xb0, 0x65, 0x48, 0x8b, 0x00, 0x48, 0x89, 0x45, 0xd0,
};

 

Link to comment
Share on other sites

if i plug gfx0 i got no crashes in opengl/metal

 

plug igpu - some apps use gfx0 metal api and crash, others use correct igpu metal api and load fine.

 

disabling gfx0 in dsdt doesnt fix it

 

anyone tested https://github.com/NootInc/NootedRed on a desktop pc and care to comment?

 

tracked the metal crash to here

-[GFX9_MtlCmdBuffer renderCommandEncoderWithDescriptor:] + 57 (AMDRadeonX5000MTLDriver + 1120713) [0x11af5e9c9]
-[GFX9_MtlRenderCmdEncoder initWithCommandBuffer:descriptor:] + 3951 (AMDRadeonX5000MTLDriver + 1353940) [0x11af978d4]
amdMtl_GFX9_WriteAllRegisters(unsigned int*, GFX9_RenderCmdEncoderMembersRec const*, GFX9_DeviceMembersRec const*) + 153 (AMDRadeonX5000MTLDriver + 1361214) [0x11af9953e]
amdMtl_GFX9_WriteRenderEncoderHwCtxRegs(GFX9_RenderEncoderHwCtxRegsRec const*, unsigned int*, unsigned int, unsigned int) + 92 (AMDRadeonX5000MTLDriver + 697906) [0x11aef7632]

 

Edited by jalavoui
Link to comment
Share on other sites

both cards might work in ventura 13.3

 

using OCLP the gfx0 works

 

the IGPU as a funny bug:

(AMDRadeonX5000HWLibs) [8:0:0] AMD Error:
(AMDRadeonX5000HWLibs) Unable to find matching firmware device type for device ID: 0x15D8

this is very good news

Captura de ecrã 2023-03-29, às 17.20.58.png\

the update i used on  OCLP installed monterey 12.5 kexts (without 6000 kexts) 

Edited by jalavoui
Link to comment
Share on other sites

Crossfire on hackintosh ? lol

 

this kext allows booting with external gpu (GFX0) and use the accelerator provided by internal gpu (IGPU)

 

it disables the 4000 kext accelerator  

 

What I'm doing here is booting with the external gpu and using  the faster IGPU for metal/opengl

 

btw for devs code is this

void WRed::wrapSetupAndInitializeHWCapabilities(void *that) {
    FunctionCast(wrapSetupAndInitializeHWCapabilities, callbackWRed->orgSetupAndInitializeHWCapabilities)(that);
    getMember<uint32_t>(that, 0x98) = 0; 
}

this is applied to the booting card, i.e., the card u physical plug your screen

only ofc if you have a working "offcard" that loads the accelerator driver

 

this wont work with Nootedred or any kext that patches this function

maybe this helps for older macs?

 

Screenshot 2023-04-02 at 19.58.24.png

WhateverRedo2.kext.zip

Edited by jalavoui
Link to comment
Share on other sites

 Share

×
×
  • Create New...