mvaisakh / Asus-X505ZA-Ryzen-Hackintosh

Asus Vivobook 15 X505ZA Hackintosh | NO GRAPHICS ACCELERATION YET
39 stars 0 forks source link

Hardware Graphics Acceleration on Vega 8 #1

Closed mvaisakh closed 1 year ago

mvaisakh commented 3 years ago

Vega 8 Graphics is not supported by Apple, but most of the init code and code needed to get acceleration working is already present in their kexts. Also being an integrated GPU and new kind of architechture it makes it a challenge to get this working.

Since this laptop is not shipped with a dedicated GPU (if there was one, it would have been a lot easier to hackintosh!), it lags and becomes unusable for day to day tasks. To get it to work, I first need to fix HW Acceleration on Radeon Vega 8. This thread can be used for discussing about other Ryzen APUs as well.

Any help is appreciated!

ghost commented 3 years ago

I need the full EFI, but I'm almost sure that Radeon 8 is not compatible. Your audio will work normal, touchpad I still want to see about, I also need an AIDA64 report.

Edit1: yes, radeon 8 is not compatible, switch to RX560, 570 or 580 Touchpad probably is i2c ELAN or Synaptics.

Edit2: ohhh, is notebook. sorry. I'm sad for you.

Edit3: Remember that ryzen notebooks also do not work. Desktops only. My recommendation is that you mount full intel. Ryzentosh also has its problems. Intel are easier to fix.

Edit4: my notebook is i3-7020U and 16gb RAM, full working on HD Graphics 620. She is not good at playing. But for work it is efficient (apart from video processing). But it is interesting to build cheaper machines.

mvaisakh commented 3 years ago

Well, I've been working on this since the past week. I know Ryzen Laptops aren't supported, I'm trying to break the taboo. Why do I say so? Here's the proof! There's GPU init code for Raven Ridge (Commonly known as the Vega Integrated GPUs) in AMDRadeonX5000HWLibs Kext: image

Even has the SMU code loading feature image

I've tried spoofing the GPU IDs from Vega 10, 12 and 20 (Because they use these kexts), but either it goes into endless verbose loop (which I was able to fix with injecting VBIOS and FB Limit) or it doesn't work at all. WEG manages to load them but they don't seem to load after the boot finishes (No clue as to why).

The only new line that I could find on verbose after spoofing the GPU to GCN 5 GPU ID was AGDCC: Unauthorized client 'PerfPowerService' ( IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/GP17@8,1/IOPP/GFX0@0/AMD10000ControllerWrangler)

Now I'm not sure as to how I'd be able to init AMDRadeonX5000 kexts, but if it does, I'm pretty sure HW Acceleration would work.

mvaisakh commented 3 years ago

Update: So I managed to get a log about why the Kext wouldn't load, and guess what! It's only missing VRAM config. Guess I'm one more step closer to achieving acceleration, though I'm unsure how many more steps I'd need

Screenshot 2020-09-18 at 5 09 21 AM

As you can see it can't find the VRAM size (because it's shared from the system memory and does not have a dedicated VRAM)!....

Razdo27 commented 3 years ago

I was reading on how VRAM can be increased on MacOS. I stumbled upon this page. https://apple.stackexchange.com/questions/79452/how-to-increase-graphics-memory-in-mac-os-running-as-a-client-in-vmware

Take a look at the file they are talking about. It might be helpful. I don't really have experience with Mac code.

mvaisakh commented 3 years ago

I was reading on how VRAM can be increased on MacOS. I stumbled upon this page. https://apple.stackexchange.com/questions/79452/how-to-increase-graphics-memory-in-mac-os-running-as-a-client-in-vmware

Take a look at the file they are talking about. It might be helpful. I don't really have experience with Mac code.

Thanks for your reply! I really appreciate you joining this conversation! That looks like a Virtual Machine only restricted thing, since we're running it natively, this won't work for us. I saw a commit on Whatevergreen for calculating intel VRAM, so I'll be checking that out to see, how it's done on intel. Might as well check on Linux Kernel too.

Razdo27 commented 3 years ago

We might have a lead on this issue. I was just searching the web for whatevergreen and vram allocation. I found these links with some code as well.

https://www.iatkos.in/2020/05/whatevergreen-igpu-vram-allocation-via.html https://www.reddit.com/r/hackintosh/comments/gp07ko/whatevergreen_igpu_vram_allocation_via/

mvaisakh commented 3 years ago

We might have a lead on this issue. I was just searching the web for whatevergreen and vram allocation. I found these links with some code as well.

https://www.iatkos.in/2020/05/whatevergreen-igpu-vram-allocation-via.html https://www.reddit.com/r/hackintosh/comments/gp07ko/whatevergreen_igpu_vram_allocation_via/

The WEG method for iGPU vram allocation only works for Intel integrated. Well it can work on ours too, but I'm not sure how it'd enable Acceleration since it's void of all the init code (I'm referring to AppleIntelFB kexts). Unlike Intel processors, AMD APUs have different method of reserving a certain amount of vram from ram. As far as my research has gone, Intel uses dynamic memory allocation (accoriding to the need) and hence does not need fixed reserved value (which is why one can spoof over 2GB of vram on Intel integrated). Sadly, AMD hasn't done it that way making it difficult for us.

mvaisakh commented 3 years ago

I have an idea though, I'll have to write up a kext (which I have no idea how) that'll patch a few functions namely _ttlIsApuDevice, _ttlIsRavenDevice (these are in AMDRadeonX5000HWLibs kext) and return them to true for actual HW initialisation.

These functions are major characters for our GPU initialisation. I'm guessing spoofing with Vega 10/12/20 PCI ID leads to these functions being returned as false, making laptop not boot on the Vega GPU (also considering the fact that VRAM is missing too).

So my guess here is that if those functions are returned true, it could solve both our VRAM and Graphics Acceleration problem (hopefully!)

Any help with this would be highly appreciated!

Razdo27 commented 3 years ago

You should use X-Code for this. The Apple website offers a guide on how kexts are made. I can't exactly find a link but X-Code makes everything quite easy. You will also need to have a basic knowledge of C language programming as that is the language you have to write in.

mvaisakh commented 3 years ago

Another Update!

On further investigation on how the code is called (where the init code for raven is etc.,), I found some interesting code. There's switch case which determines what device to initialise. I need to dig a bit more further so see what cases it's looking for (it's probably related to PCI ID, which is why Raven won't initialise). Here's the code piece according to Ghidra Decompiler:

switch(iVar6) { case 0x82: uVar10 = (uint )(pplVar1 + 2); if (uVar10 < 0x14) { ........additional code........... } break; default: return 10; case 0x87: local_58 = _PP_Tables_BackEnd_Initialize; local_40 = _PhwCz_Initialize; break; case 0x8d: uVar10 = (uint )(pplVar1 + 2); if (uVar10 < 0x14) { local_58 = _PPT_Vega10_BackEnd_Initialize; local_40 = _PhwVega10_Initialize; } else { if (uVar10 < 0x28) { local_58 = _PPT_Vega12_BackEnd_Initialize; local_40 = _PhwVega12_Initialize; } else { if (0x31 < uVar10) { plVar10 = pplVar1; pcVar11 = "Unsupported ASIC for AI family"; pcVar14 = "0"; pcVar13 = "PHM_Initialize"; uVar12 = 0x3cb; goto LAB_0009c6d1; } local_58 = _PPT_Vega20_BackEnd_Initialize; local_40 = _PhwVega20_Initialize; } } break; case 0x8e: bVar17 = (int )(pplVar1 + 2) - 0x91U < 0x6e; local_40 = _PhwRaven_Initialize; if (bVar17) { local_40 = (code )PTRPhwRenoir_Initialize_00505068; } local_58 = _PPT_Raven_BackEnd_Initialize; if (bVar17) { local_58 = (code *)PTRPPT_Renoir_BackEnd_Initialize_00505010; } break; case 0x8f: local_58 = _PhwSoc15_PPTables_Initialize; LAB_0009bbbb: local_48 = _Phw_SwSmu_BackEnd_Initialize; local_40 = _PhwSoc15_Initialize; goto LAB_0009bcd3; case 0x90: if ((int )(pplVar1 + 2) - 1U < 0xfe) { local_58 = _PP_Tables_BackEnd_Initialize; goto LAB_0009bbbb; ........additional code......... LAB_0009bcd3: _PHM_RegAccessInitialize(pplVar1); }

This might seem gibberish, but it seems like the key to what we're supposed to do next. What we need to focus is on this particular case:

case 0x8e: bVar17 = (int )(pplVar1 + 2) - 0x91U < 0x6e; local_40 = _PhwRaven_Initialize; if (bVar17) { local_40 = (code )PTR__PhwRenoir_Initialize_00505068; } local_58 = _PPT_Raven_BackEnd_Initialize; if (bVar17) { local_58 = (code )PTR__PPT_Renoir_BackEnd_Initialize_00505010; } break;

So what my guess here is, the case defaults to Vega10 switch case (because we spoof using that device id).

We have two options here:

  1. Hex edit to change our raven switch case to vega10 switch case
  2. Find this specific iVar6 (i.e., possibly the variable name) & case 0x8e and provide the proper return type for it.

I still ask for help from much more experienced developers than me on this regard (if they're interested to help) and it will be much appreciated.

P.S.: I was able to patch the previous function that I had mention (i.e., _ttlIsApuDevice), but to no avail.

mvaisakh commented 3 years ago

Yet another update

So, after digging through an ocean of logs, I finally saw something that is actually related to our GPU not init-ing.

Fault 0x0 0 0 kernel: (IOAcceleratorFamily2) virtual bool IOGraphicsAccelerator2::start(IOService *): configureDevice failed Fault 0x0 0 0 kernel: (IOAcceleratorFamily2) IOGraphicsAccelerator::start: Failure exit

So the kext isn't able to configure the GPU device (probably because we spoof with vega10 id [?])

So what we have to do is to find a way to get this device configured. I'm still thinking how..(?) Also algrey pointed out that it could probably mean that the controller is failing to load.

Any ideas on how we can move forward from here?

mvaisakh commented 3 years ago

Yet another update

So I think I was looking in the wrong direction. For proper VCN intitialisation, we should move to the Navi GPU kexts (AMDRadeonX6000), because they're VCN 2.0 based GPU, which is basically an extension to the existing VCN 1.0 extension. They share most of required HW code (atleast on the Linux Kernel) The init code for Raven also exists on their HWLibs plugin kexts. They share a lot of hardware similarities (based on VCN, shaders obviously differ) : image

But, spoofing using the Navi10/14 PCI IDs leads to kernel panic, which I guess is because of Controller failing to load. This is what the log says (not the clearest log I could get). panic-OSX-Raven-1

We have to somehow make the controller init and then move ahead with further debugging. If anyone has any ideas on how we could approach it, would be highly appreciated, because the more people are involved, more effectively we can tackle this!

Gigamaxx commented 3 years ago

For AMD CPU kernel patches I noticed the Penryn naming. Did you check with Algrey to see if this may be an issue? The Penryn doesn’t have IGpU that is useable in OSX. Is it possible to use a different CPU spoof? Skylake.

mvaisakh commented 3 years ago

For AMD CPU kernel patches I noticed the Penryn naming. Did you check with Algrey to see if this may be an issue? The Penryn doesn’t have IGpU that is useable in OSX. Is it possible to use a different CPU spoof? Skylake.

Welcome Gigamaxx! Glad to have you in conversation here!

We can spoof to skylake (some amdosx users are already doing that because it gives a cpu perf boost according to some, not sure of it though) I'll check the skylake spoof in a bit.

I asked osy if he could take a look, guess he's not interested (probably he doesn't have the time/laptop/pc).

The NUC case was different because Vega M there was dGPU (even though it's claimed to be iGPU). They have dedicated VRAM. In our case we'll need to reserve it from the RAM and allocate it to the VRAM. I looked at Linux kernel documentation, and it says, "VRAM for APUs is carved from the BIOS", Now I'm really not sure if they're referring to Video BIOS or Motherboard BIOS (as some APUs can allocate vram from there, unfortunately most of the laptops can't). Needs insights from there too.

Gigamaxx commented 3 years ago

Yes those NUCs have HbM2 built in. I was able to spoof using the old Kernel in Mojave to KabyLake. It would load the Framebuffer but if I spoofed the ID into both kexts to get accelerators it would panic. So I was able to get the KabyLake Framebuffer loaded. For the NUCs they are using Polaris ID to spoof.
Very nice work you are doing this could be a major breakthrough if you can get it figured out.

mvaisakh commented 3 years ago

Yes those NUCs have HbM2 built in. I was able to spoof using the old Kernel in Mojave to KabyLake. It would load the Framebuffer but if I spoofed the ID into both kexts to get accelerators it would panic. So I was able to get the KabyLake Framebuffer loaded. For the NUCs they are using Polaris ID to spoof. Very nice work you are doing this could be a major breakthrough if you can get it figured out.

Do you still have the panic log? Might help me breakdown my issue. Spoofing here doesn't panic (unless I'm using Navi IDs, which I thought would be the possible route to take, but nope, those kexts are majorly written for GFX10, while raven is GFX9, will have to fallback to vega10). The polaris and vega10 controllers have no verbose. Tried merging a lot of properties to get one.

I'm on Catalina though. Haven't tried Mojave.

Gigamaxx commented 3 years ago

No panic logs, I did this years ago. Unfortunately, work is very busy and my wife has me in remodel mode at home but if I get some time I will try to reproduce the spoofing on Mojave. I do no that it didn’t work in Catalina, just Mojave.

mvaisakh commented 3 years ago

No panic logs, I did this years ago. Unfortunately, work is very busy and my wife has me in remodel mode at home but if I get some time I will try to reproduce the spoofing on Mojave. I do no that it didn’t work in Catalina, just Mojave.

Take your time man, no hurries. Thanks

mvaisakh commented 3 years ago

So, after digging through an ocean of logs, I finally saw something that is actually related to our GPU not init-ing.

Fault 0x0 0 0 kernel: (IOAcceleratorFamily2) virtual bool IOGraphicsAccelerator2::start(IOService *): configureDevice failed Fault 0x0 0 0 kernel: (IOAcceleratorFamily2) IOGraphicsAccelerator::start: Failure exit

So the kext isn't able to configure the GPU device (probably because we spoof with vega10 id [?])

After merging in a few properties through the ACPI, I don't seem to find this in the logs anymore. But, I don't find anything else either. I've seen many logs out there with actual kext debug (dmesg), but ig the boot verbose isn't very verbose after all. Dmesg could have the reason why the GPU won't init, if anyone has a clue to export dmesg after a certain amount of time after boot would be helpful. Or if we could view dmesg of a previous boot would help too.

I've searched for it, but couldn't find a possible way to do it. Everything points to log show command.

Also the vbios injection works fine and it is detected by the system, well atleast the first 3 digits (113) of the name are proper (my vbios has 113-RAVEN-<some number that I don't remember>), which means once the kexts load, connectors should be fine and hopefully VRAM (that's a big hope) too.

shantur commented 3 years ago

@mvaisakh : Can you please elaborate which properties you added through ACPI. I am seeing similar errors for my GPU which is completely irrelevant to this one but might help me fix. Thanks

onlyhalfchinese commented 3 years ago

Hi Team, this looks promising... and is the only thing stopping me from attempting a Ryzentosh laptop. Would the above be applicable for the Vega 6 family? I've got an ASUS ZenBook 14 with AMD Ryzen 5 4500U with Vega 6 graphics so keeping a close eye on this thread - happy to help out with testing where possible.

mvaisakh commented 3 years ago

@mvaisakh : Can you please elaborate which properties you added through ACPI. I am seeing similar errors for my GPU which is completely irrelevant to this one but might help me fix. Thanks

Hi, sorry for the really late reply, I'll be uploading my ACPI decompiled files soon, you might want to wait until then, a I'm bit busy. Also the properties I merged were from WhateverGreen and AMD Kexts, setting a certain value that seemed proper to me. I don't know how it'd help you though.

mvaisakh commented 3 years ago

Hi Team, this looks promising... and is the only thing stopping me from attempting a Ryzentosh laptop. Would the above be applicable for the Vega 6 family? I've got an ASUS ZenBook 14 with AMD Ryzen 5 4500U with Vega 6 graphics so keeping a close eye on this thread - happy to help out with testing where possible.

Since your APU is Renoir, I'm really not sure if it'd work, but I've seen similar symbols as Raven in the Kexts. So the chances are, let's say if Raven works, Renoir should too. But I'm not really sure about the CPU.

If you can, then try Dortania Guide for setting up for Mojave and try fetching a log for spoofed Kext.

mvaisakh commented 3 years ago

So I think I was looking in the wrong direction. For proper VCN intitialisation, we should move to the Navi GPU kexts (AMDRadeonX6000), because they're VCN 2.0 based GPU, which is basically an extension to the existing VCN 1.0 extension. They share most of required HW code (atleast on the Linux Kernel) ....... https://github.com/mvaisakh/Asus-X505ZA-Ryzen-Hackintosh/issues/1#issuecomment-702274076

I wanted to clarify this, X6000 Kexts are not the direction that we should move forward to. Because the needed kexts don't have vcn specific symbols. The VCN specific symbols are present in the X5000 kexts, so X6000 Kexts are a no go.

mvaisakh commented 3 years ago

@onlyhalfchinese here are the properties I merged, https://gist.github.com/mvaisakh/61e193b3319dc9a797d7c41045583947 As I said before, not sure how these will help you.

P.S.: I'm Spoofing Vega 10 in those properties.

jjz660 commented 3 years ago

@mvaisakh your work is revolutionary, do you have or planning to set up crowd funding for this project?

mvaisakh commented 3 years ago

@mvaisakh your work is revolutionary, do you have or planning to set up crowd funding for this project?

As good as it sounds, I'm not doing this for money, nor do I need any. It's a side hobby and will be continuing as such. All I want from others is to join in the conversation and share their ideas!

jjz660 commented 3 years ago

@mvaisakh Got it! Well you certainly have my backing... I am not a techo, but keen to help where possible

onlyhalfchinese commented 3 years ago

Agreed.

Cheers Adam

Sent from my iPhone

On 28/10/2020, at 4:36 PM, jjz660 notifications@github.com wrote:



@mvaisakhhttps://github.com/mvaisakh Got it! Well you certainly have my backing... I am not a techo, but keen to help where possible

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/mvaisakh/Asus-X505ZA-Ryzen-Hackintosh/issues/1#issuecomment-717674560, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ARQCB3IRYOSWYQCK624YWNDSM6GS5ANCNFSM4ROLGVCQ.

m0d16l14n1 commented 3 years ago

@mvaisakh good luck man. i hope that somehow gonna work, heh. That's will be more steps for futher investigations on AMD graphics (and maybe CPU too) side. At least, experimenting with that stuff was fun, heh :)

shubhamn77 commented 3 years ago

@mvaisakh Hey 👋 today I found this. I'm searching about how I install hackintosh in amd 3550h with Vega 8 laptop. Then found that Vega 8 in not support in Macos. Without this acceleration not possible.

I think you made this possible. I'm waiting for that when will it work for Vega 8.

Sorry for bad English. English is not my native language.

Razdo27 commented 3 years ago

We have created a telegram channel for those who are further interested in this topic. We will be using this thread to mark milestones and the group chat for further conversations on testing etc. Please join and contribute.

https://t.me/joinchat/E4ikzxrTfeZVMB2A4YUGsA

shubhamn77 commented 3 years ago

We have created a telegram channel for those who are further interested in this topic. We will be using this thread to mark milestones and the group chat for further conversations on testing etc. Please join and contribute.

https://t.me/joinchat/E4ikzxrTfeZVMB2A4YUGsA

Okay bro 👍 I'm joining this group. I have also ryzen 5 3550h + gtx 1650 laptop.

sjmp93 commented 3 years ago

Maybe would be this thread helpfull for you? https://github.com/kholia/OSX-KVM It explains the procedure to get working macOS over a KVM virtual machine using Ubuntu. Maybe it will make the debugging process easier for you since you can play with PCI passthrough and dmesg messages.

cyjyyd commented 3 years ago

I‘m joining in.Since twitter@rogame found raven,Renoir in Macos beta,I’m trying to install MacOS on my legion 5(ryzen7-4800H GTX1650ti) But I am not a specialist.So at the first time I've only tried to install macos without gpu acceleration,but it stucks
after acpi tables loaded.I almost give up on this but then I found here! It's so exciting! (Also English is not my native language.sorry)

sebasrock156 commented 3 years ago

Somebody has tried make a FakeID GPU injection for Radeon R5 (Bristol Ridge/Wani)?

HikaruChang commented 3 years ago

Somebody has tried make a FakeID GPU injection for Radeon R5 (Bristol Ridge/Wani)?

I tried. It didn't work.

sebasrock156 commented 3 years ago

Somebody has tried make a FakeID GPU injection for Radeon R5 (Bristol Ridge/Wani)?

I tried. It didn't work.

Oww, man, I was supposing it.

Well, in my case, MacOS High Sierra and Mojave runs using AMD OSX forum images, but HW Acceleration is dead in APUs, I guess.

It's impressive than Intel Users with Pentium or Celeron processors could be use MacOS and we can't.

HikaruChang commented 3 years ago

Somebody has tried make a FakeID GPU injection for Radeon R5 (Bristol Ridge/Wani)?

I tried. It didn't work.

Oww, man, I was supposing it.

Well, in my case, MacOS High Sierra and Mojave runs using AMD OSX forum images, but HW Acceleration is dead in APUs, I guess.

It's impressive than Intel Users with Pentium or Celeron processors could be use MacOS and we can't.

Because Mac products have never used AMD CPU, let alone APU graphics card. Deceiving DeviceID is not feasible. APU is different from independent graphics card. For example, the Radeon series uses HBM or GDDR video memory, while the APU uses RAM sharing. However, IGPU and APU use RAM in different ways.

mvaisakh commented 3 years ago

Here's another update!

It's been a while since we doscovered this (I've been busy lately).

(Note: This is the same message that was posted on Telegram but posted here with more modifications)

Our recent investigations: With more kext logging enabled, we saw that the kexts load fine, but somewhere in between, it unloads due to some error that's masked in userspace (not sure of this either).

2020-12-27 06:21:28.188868-0800 0x7b5      Default     0x0                  0      0    kernel: Kext com.apple.kext.AMDRadeonX5000 is already loaded.
2020-12-27 06:21:28.189258-0800 0x7b5      Fault       0x0                  0      0    kernel: (33DA860E-90A6-3224-A944-93FA125B054E) <compose failure [UUID]>
2020-12-27 06:21:28.189259-0800 0x7b5      Fault       0x0                  0      0    kernel: (33DA860E-90A6-3224-A944-93FA125B054E) <compose failure [UUID]>

This compose failure happens right after the kext is loaded and the UUID points to IOAcceleratorFamily2

On force loading of the kext, it bails out because of no firmware (which I'm guessing is bound to happen because it's loading without a specific device call, or a vendor id)

My anticipation here is that the accelerator kexts needs to be made (or hacked) in order to atleast get the GPU working in OpenGL mode.

But yet again, unclear logs is all we have got now. Effective work will only show up when we have some actual hints on why the kext unloads (I'm still sticking to missing accelerator, you guys can share your thoughts too). My emphasis on logs is so much because with logs, we can know what to patch and what not to patch, blindly patching won't get us anywhere.

Many Thanks to the people helping me out with testing (whenever I have any) and sharing their ideas!

MiddlemanTM commented 3 years ago

Been following your posts with anticipation!

I've been hackintoshing for a while now (going on 9 years) and have acquired 3 new setups recently, which are in need of AMD GPU acceleration. If it helps I have a setup running 5900X + RX6800, a HP Notebook/Pavilion 17 i7-7500U with an AMD R7 GPU & an Atari VCS which is a Ridge Raven 2 system with Vega 3 graphics. With the Atari VCS I have successfully managed to boot into Mojave 10.14.6 installer natively (the first and only achievement I know of), but have been unable to complete the installer (so am working on that) - but my screen displays in 4K! With the HP I have been able to install High Sierra 10.13.6, boot into it with Intel Quicksync enabled AND also somehow enabled the AMD GPU and driver - but the AMD acceleration doesn't work.

As to your new finding, great work! As to the clue, maybe its something to do with missing framebuffers? Have you ever checked out this page? > https://www.tonymacx86.com/threads/guide-how-to-patch-amd-framebuffers-for-high-sierra-using-clover.235409/

MiddlemanTM commented 3 years ago

Have you also looked at this post? > https://www.tonymacx86.com/threads/10-14-4-rx-580-no-hardware-acceleration-on-final-cut-and-videoproc.275079/#post-1938799

ectoBiologist15 commented 3 years ago

Ryzen 3500U, Vega 8. Here's hoping my laptop can benefit from this too!

MiddlemanTM commented 3 years ago

mvaisakh,

FYI this was the macOS installation report for my Atari VCS (Ridge Raven) on Catalina recently. Installer Log 26-Jan-2021.txt

MiddlemanTM commented 3 years ago

Well folks, I have a little surprise for you - I managed to successfully boot into macOS Mojave with the Atari VCS! It's using Vega 3 Picasso graphics and Ryzen 1606G...at 4K!

Screenshot 2021-01-30 C

Screenshot 2021-01-30 at 8 16 15 PM

m0d16l14n1 commented 3 years ago

Well folks, I have a little surprise for you - I managed to successfully boot into macOS Mojave with the Atari VCS! It's using Vega 3 Picasso graphics and Ryzen 1606G...at 4K!

Screenshot 2021-01-30 C

Screenshot 2021-01-30 at 8 16 15 PM

that's not suprise at all. that's not the problem to boot it and even install

MiddlemanTM commented 3 years ago

There is one other issue besides this I discovered...the audio has not been enabled. It uses an AMD Audio chipset (name under Windows) and has a device ID of 0x15D81002 (1002 being the AMD ID). I'm presuming AppleALC doesn't have a fix for this yet.

mvaisakh commented 3 years ago

As to your new finding, great work! As to the clue, maybe its something to do with missing framebuffers? Have you ever checked out this page? > https://www.tonymacx86.com/threads/guide-how-to-patch-amd-framebuffers-for-high-sierra-using-clover.235409/

The framebuffer patching is pretty much old, because it can't decode the Video BIOS. You can't dump ROM on macOS, because the video bios on APUs is embedded into the ACPI, known as the VFCT. This can't be decoded from the traditional redsock_bios_decode or the radeon_bios_decode, it probably might need quite a few modifications to actually have VFCT working.

Have you also looked at this post? > https://www.tonymacx86.com/threads/10-14-4-rx-580-no-hardware-acceleration-on-final-cut-and-videoproc.275079/#post-1938799

This isn't GPU acceleration, but video encoding acceleration, which also will be one of the parts that might need coverage once we get the acceleration working.

Well folks, I have a little surprise for you - I managed to successfully boot into macOS Mojave with the Atari VCS! It's using Vega 3 Picasso graphics and Ryzen 1606G...at 4K!

Resolutions were working fine, my laptop runs on native 1080p, guess Apple's Software Rendering isn't that bad eh? Though congratulations on getting the 4K working! Our major issue here is what to look forward to, logs being unclear, I'm really not sure which way to go.

I appreciate each and everyone joining in the conversation, I'd like to hear everyone's thoughts and ideas, who knows, what we may discover!

MiddlemanTM commented 3 years ago

Understood. What about this post, could this help you? > https://osxlatitude.com/forums/topic/8818-lenovo-z51-70-graphics-acceleration-for-amd-r9-m375-gpu/?tab=comments#comment-57616

MiddlemanTM commented 3 years ago

I've just had an idea - perhaps you could do a memory dump of the process/application in question? That should enable you to see what had KP'd earlier in your log.