Jump to content

AMD Ryzen 2200g with Vega graphics. Hackintoshable?


72 posts in this topic

Recommended Posts

1 minute ago, GuerreiroDF said:

Is it possible to install MacOS on the Ryzen 5 2400 with the integrated graphics card vega11?

Yes but you will only have 4-7MB of dvmd ram support.  IT will do simple browsing but it will have artifacts.  Its not ideal and you should Duse a dedicated graphics card for running any major apps.

 

@Gigamaxx i don`t think that EFI gonna work, heh.

 

AMD-USB is pretty default (laptops are using XHC0, XHC1 controllers) + SMCAMD won`t let boot the system. VirtualSMC + AMDpowerManagement is okay (sometimes it force closing), if i add SMCAMD - it`s stuck on "Previous shutdown 5" or "afps blah-blah" (edited: sorry, my fault, didn`t see that actually is a desktop ryzen with integrated graphics, so it`s might boot)

 

I have booted Mojave with the help of one guy, who has already written in that topic. Two days ago we managed to boot latest Catalina 10.15.4 (after release of OC 0.5.8). I tried to map USB correctly (because we have some trouble with it - it`s randomly stuck on booting, but sometimes it`s boot well). I have edit kext according my DSDT, edit SSDT-USBX. So it`s booting now more stable, but it`s still sometimes stuck on booting (100% that`s USB problem or related to it) 

 

I got Lenovo 330-15ARR (2500u + Vega8) with Radeon 540 (which is disabled, because it`s not possible to disable fully Vega - if i disable Vega - no screen at all even with HMDI connected) + i have bios unlocked (can manage XCH controllers, processor settings and more stuff). Even with that - we don`t know how to fix that USB issue to get stable boot for testing other stuff. Still has no graphics acceleration and sound crackling, but it`s already known, heh

Touchpad is not working, because we`ve got ELAN connected to I2C, and VoodooI2C is not working at all (i have checked all docs of VoodooI2C + made all patches and still nothing, until i realised that AMD laptop can`t has and Intel I2C controller xD. So it`s not working because there is no support for AMD I2C controllers + we were unlucky to get ELAN with I2C and not Synaptics on PS2

So it`s kinda stable, at least to boot. But if it`s possible to fix that issue with booting - it will be cool, at least we will get stable boot ^_^

btw, we can only boot without any issues and without random stuck with GenericUSBXCHI kext, but then we won`t get USB at all (no cam, no bluetooth, no cardreader, no tethering via USB). I will try to check again what`s the problem with USB ports, but if somebody can help me with that - that`s will be cool. 

On amd hackintosh discord if you tell somebody that you trying to boot amd laptop - you will get the answer "no laptops supported", "it won`t boot" and etc. I know, that`s because lack of Vega support, but still, why don`t just at least to boot. Maybe someone will understand how to fix common problems with that hardware

amd.jpg

catalina.jpg

sometimes stucking here (usb problems).jpg

stuck with SMCAMD.jpg

Edited by b0ltun
  • 1 month later...

Some updates. Touchpad is still not working, i was trying to fake AMD controller into Intel one (tried two of them) - nothing worked. Booting is more stable now, usb issues is still random, but it's better now. Also SMCAMDProccessor.kext is fully working now. Spoofing Vega into new Intel graphics (Comet/IceLake) is not working. It's spoofing, but still trying to load AMDSupport.kext, not intel graphics one. (Still 7mb) But on previous version of OC and macOS i won't boot if i spoof into Coffee or Comet, so that strange. I will dive dipper in whatevergreen faqs to check if i skip something special

  • 1 month later...
On 5/7/2020 at 7:35 PM, Gigamaxx said:

Make a install Usb with Tinu and replace the EFi with this.

Ryzen EFI.zip

 

I got Mojave working by creating a Fake GPU DDST. However, the keyboard and mouse don't work. I don't expect the mouse to work because it's connected through an AMD I2c controller (which I don't think Voodoo I2C supports). The keyboard just doesn't work. However, the battery indicator works and the GPU has 4MB of RAM as expected.

 

UPDATE:

Keyboard works! I should've really read the Config.plist document. All the nested kexts inside VoodooPS2Controller.kext have to be added to the config.plist file, And if you have an I2C touchpad, probably skip the VoodooPS2Mouse.kext.

Edited by johnot
  • 1 month later...

So, I was digging through my ACPI Tables, I found out that there's a separate VBIOS (I'm really not sure if it is the VBIOS, it was named as VFCT) and also that the DSDT has the none of the commonly used ACPI Paths for GPU (i.e., GFX0, AGP1, VID etc), instead has GP17.

External (_SB_.PCI0.GP17.VGA_, DeviceObj)


And this path points to my Graphics driver on my Windows.
image.thumb.png.c5a7002af9f259ec1f70d74e9f7a805e.png

 

 

Also looking through the ACPI, I found out that there were several SSDTs apart from the main DSDT (Which on decompiling threw warnings, but after linking all the SSDTs together it decompiled without warnings).

 

I'm gonna need some help regarding this "DSDT" patching, because I'm really new to this ACPI patching.

 

Oh and yeah I have Catalina Booting with WiFi (Thanks to itlwm by @zxystd), keyboard works, just no GPU acceleration with 7mb vram.

Edited by mvaisakh
  • Like 1
On 9/10/2020 at 1:44 AM, mvaisakh said:

So, I was digging through my ACPI Tables, I found out that there's a separate VBIOS (I'm really not sure if it is the VBIOS, it was named as VFCT) and also that the DSDT has the none of the commonly used ACPI Paths for GPU (i.e., GFX0, AGP1, VID etc), instead has GP17.


External (_SB_.PCI0.GP17.VGA_, DeviceObj)


And this path points to my Graphics driver on my Windows.
image.thumb.png.c5a7002af9f259ec1f70d74e9f7a805e.png

 

 

Also looking through the ACPI, I found out that there were several SSDTs apart from the main DSDT (Which on decompiling threw warnings, but after linking all the SSDTs together it decompiled without warnings).

 

I'm gonna need some help regarding this "DSDT" patching, because I'm really new to this ACPI patching.

 

Oh and yeah I have Catalina Booting with WiFi (Thanks to itlwm by @zxystd), keyboard works, just no GPU acceleration with 7mb vram.

I have tried with 2400G and IOReg shows the same for both the IGPU and Dedicated Graphics card.   GP17.   
search for users with the RX550 which is Lexa and not Polaris graphics.   This may be the way to spoof it.  
mist labeled as Vega but it is really Polaris/Lexa graphics.  

  • Like 2
On 9/13/2020 at 5:00 AM, Gigamaxx said:

I have tried with 2400G and IOReg shows the same for both the IGPU and Dedicated Graphics card.   GP17.   
search for users with the RX550 which is Lexa and not Polaris graphics.   This may be the way to spoof it.  
mist labeled as Vega but it is really Polaris/Lexa graphics.  

I tried spoofing 699F, but still no acceleration.

I reverse engineered a few kexts, and I found that there are calls for Raven (Vega iGPUs) in them. Not sure how I'd init them. 

10 hours ago, mvaisakh said:

I tried spoofing 699F, but still no acceleration.

I reverse engineered a few kexts, and I found that there are calls for Raven (Vega iGPUs) in them. Not sure how I'd init them. 

Yes they have Raven in the hardware and frame buffer kexts but not the 4000, 5000, or 6000 kexts.   It is missing from one kext in each set of kexts.    There Skull Canyon NUCs?   The Intel and Vega chips have been working by spoofing the IGPU using Polaris ID, and the RX 550 is being done the same way.   

  • Like 1
7 hours ago, Gigamaxx said:

Yes they have Raven in the hardware and frame buffer kexts but not the 4000, 5000, or 6000 kexts.   It is missing from one kext in each set of kexts.    There Skull Canyon NUCs?   The Intel and Vega chips have been working by spoofing the IGPU using Polaris ID, and the RX 550 is being done the same way.   

 

An update: I was spoofing it the wrong way (probably because I'm an idiot), I tried spoofing polaris, Vega 10, it ends up staying on the verbose screen forever.

 

I do see a new line 

AGDCC: Unauthorized client 'PerfPowerService' ( IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/GP17@8,1/IOPP/GFX0@0/AMD10000ControllerWrangler) 

 

Update 2: I was looking through how polaris22 references were organised, and it is pretty much the same as Raven as they only existed in HWLibs, but not in any of the 4000, 5000 kexts.

 

So in theory, spoofing to use a GCN 5 architecture GPU should give us HW accel (if the kext loads, ofcourse), but instead the above mentioned happens (it's probably trying to accelerate, but is failing somewhere?).

 

How would I check verbose if the system doesn't turn on? The opencore log becomes gibberish after a few lines, I don't know why.

 

 

Update 3: Verbose on close examination (had to record a video, lol) I see nothing crashing.

Also removing debug boot arg for avoiding panic reboot, does no change here i.e., nothing is panicking.

Edited by mvaisakh
  • Like 1

I managed to boot with a spoofed device ID but, there was no acceleration, because the kext did not load at all, even though the WEG debug had shown that it was loading AMDRadeonX5000 kexts. Once I booted, running kextstat did not have the kexts loaded.

 

What I'm confused about is that it doesn't panic nor does the kext crash, there's no mention of the kext unloading (exiting).

Can someone shed some light?

Another update!

 

So I managed to get the kext to debug, and apparently it's the issue with no VRAM allocation.

I'm still wondering if there is any way to allocate memory using SSDT (if that works, there's a slight chance we might get a bit more further!).

 

I've created a specific repo for my Laptop and am posting updates there:

https://github.com/mvaisakh/Asus-X505ZA-Ryzen-Hackintosh/issues/1

Edited by mvaisakh
On 9/15/2020 at 5:03 AM, mvaisakh said:

So in theory, spoofing to use a GCN 5 architecture GPU should give us HW accel (if the kext loads, ofcourse), but instead the above mentioned happens (it's probably trying to accelerate, but is failing somewhere?).

not possible imo even in theory. GCN 5 are made with HBM2 memory. So they are using HBM2 memory and ofc all the kexts made for HBM2 for sure made only for HBM2 to work with. 
Vega 8 is using memory from RAM (again, afaik - on my laptop with modded bios i was able to set Vega to 4gb VRAM, getting 16 GB RAM (in summary i had 20 gigs, 20-4=16)), same like Intel Graphics (ofc, there are many differences, vega and intel graphics are not equal at all) 

 

I really don't think that spoofing into AMD graphics for desktops gonna work. They are not gonna work due to memory they are using, heh. 

So in theory, you might be able to spoof it into some Intel graphics, here some guys already did that (without graphics accel). So you might research in that field, it seems to be more optimistics, maybe my vbios files will help you with that

8 hours ago, b0ltun said:

not possible imo even in theory. GCN 5 are made with HBM2 memory. So they are using HBM2 memory and ofc all the kexts made for HBM2 for sure made only for HBM2 to work with. 
Vega 8 is using memory from RAM (again, afaik - on my laptop with modded bios i was able to set Vega to 4gb VRAM, getting 16 GB RAM (in summary i had 20 gigs, 20-4=16)), same like Intel Graphics (ofc, there are many differences, vega and intel graphics are not equal at all) 

 

Yep, the last time I had it powered on, the kext was crying as there was no VRAM. There should be a way to reserve memory from ram, I'm just not sure how.

 

Writing a kext at the moment seems impossible to me since I'm really unfamiliar with Darwin.

Edited by mvaisakh
On 9/20/2020 at 5:29 AM, b0ltun said:

I really don't think that spoofing into AMD graphics for desktops gonna work. They are not gonna work due to memory they are using, heh. 


So in theory, you might be able to spoof it into some Intel graphics, here some guys already did that (without graphics accel). So you might research in that field, it seems to be more optimistics, maybe my vbios files will help you with that

 

I looked into the symbols in AMDRadeon kexts to check for most of the init code (same way osy did for NUCs), and it does exist.

 

Intel spoofing can only probably help with GPU memory and Framebuffer. But more than that, I don't think it'll work.

I'll try to reverse and check how the Framebuffer loads up on Intel and how the memory is allocated from the ram.

 

Also FYI, I had my vbios extracted already. The Radeon bios decode that we have is very old. It needs to be updated for the new ATOM bios reading.

Edited by mvaisakh
  • Like 1
  • 7 months later...
On 6/13/2020 at 12:49 AM, b0ltun said:

Some updates. Touchpad is still not working, i was trying to fake AMD controller into Intel one (tried two of them) - nothing worked. Booting is more stable now, usb issues is still random, but it's better now. Also SMCAMDProccessor.kext is fully working now. Spoofing Vega into new Intel graphics (Comet/IceLake) is not working. It's spoofing, but still trying to load AMDSupport.kext, not intel graphics one. (Still 7mb) But on previous version of OC and macOS i won't boot if i spoof into Coffee or Comet, so that strange. I will dive dipper in whatevergreen faqs to check if i skip something special

The reason it’s not working is because you have to ensure the version of Catalina or Big Sur you’re using has the support for Comet Lake which is 10.15.4 onwards. Either that or continue to use Coffee Lake ID.


Anyways I have managed to enable APU booting now. To initiate my Mojave install on my Atari VCS APU (with the Vega 3 chip) I used one of the standard SSDT-Vega4.aml files plus Whatevergreen and didn’t put in any boot-args for the GPU - and it booted straight in. You can check my build online. I also disabled HPET in BIOS.

×
×
  • Create New...