my name is Desperate. Well, of course it's not, but that's what I am currently.
I've been building Hackintoshs for a while now and until 2 weeks ago my system was up and running under Sierra. For some reason I wasn't that interested in High Sierra but wanted to update nto Mojave now.
Once again: my system was running perfectly under Sierra and this has already been an updated version (running UEFI Clover, therefore I've been able to update the standard way). But after trying to update to Mojave everthing went downhill.
Here's the story so far (I'll try to keep this as brief as possible 😉 )
After updating to Mojave I wasn't able to boot into the OS anymore (at least that's how it seemed like, but more about that later). About three quarters in on completing the loading bar, the screen flashes once and then turns black.
First thing I tried is to do a clean, fresh install of Mojave. So I created the install media, booted from it, selected the installer, but before the language selector would appear, the screen turns black again. The last thing I see is this 'IOConsoleUsers: gIOScreenLockState 3, hs 0, bs 0, now 0, sm 0x0'. Since I found a ton of posts regarding this message, but none of them was really helpful, I enabled my IGFX and started setup again. Finally I made it to the language selector. I was able to erase the SSD and install Mojave.
Trying to boot once again ends up at 'iOConsoleUsers...'. So I tried safe mode (maybe I should have used that before) and now I could cmplete all settings and log in. What I found was the primary desktop running 1600x1200 with the HD4000 while the secondary is in full hd with the Radeon. About this Mac had just 'Display 7 MB' listed, but the systeminfo said AMD Radeon HD 7xxx 3072 MB. Once I disable the IGFX or just switch 'init display first' in BIOS back to PEG, there's now way to login at all. Black screen no matter what I do. Actually I tried all combinations and that's what I found out:
PEG only: black screen shortly before the login screen (seems to me, that's the moment the graphics are initialized).
IGFX + PEG (init IGFX first): the bootup stucks at 'IOConsoleUsers: gIOScreenLockState 3, hs 0, bs 0, now 0, sm 0x0',
IGFX + PEG (init IGFX first, safe mode): macOS works, shows me 2 graphics cards, video 7 MB and Radeon HD7xxx 3 GB. Since the first one is showing no hardware acceleration (missing transparancy and stuff), I guess it's just working in Vesa mode. Radeon on the second screen works perfectly.
IGFX + PEG (init PEG first): black screen, no matter if safe mode or not.
IGFX only: works, but once again just Vesa mode.
During this testing I suddenly observed that while using the second configuration, the primary screen (fired by the IGFX) stucks at the forementioned IOConsoleUsers, but at the same time I can see the Mojave wallpaper and a functioning mouse cursor on the second one (PEG). So I installed Teamviewer and et voila: although I have nothing but stuck verbose output on the screen, I can access via TV and see the login screen. So the system seems to work, I just can't see it.
With the knowing, that the black screen is not a crash, I set the BIOS up the way it should be: IGFX disabled, init PEG first. Once again black screen. But TeamViewer access works, I can login in and what I see there, is what I'd love to see on my monitor:
About this mac shows HD 7xxx 3072 MB
The system runs with 1920x1080 and acceleration
The correct monitor model and profile is selected
I even checked if it makes a difference if I connect via HDMI or DVI, but both show the same effect.
Now somebody gave me the advice to try lilu and whatevergreen. So first up I removed by PEG completely and put lilu and whatevergreen in to the EFI\Clover\Kexts\other folder. Lilu alone makes no difference as expected. Once I put whatevergreen there also, I'm stuck at 'gIOScreenLockState 3...' again. But as also expected while my monitor just displays the verbose output, I can access macOS via TeamViewer and it's fully working! About shows indeed 'Intel HD Graphics 4000', I have full acceleration and even System report shows all the right information.
I‘ve reinstalled the PEG, but changed nothing in BIOS, IGXF were still primary. Now I don‘t even got the GigaByte logo, just a black screen with a blinking cursor in the upper left. No Clover, nothing.
Setting PEG as primary brought back Clover menus. Now the screen turned black immediately after 'gIOLockScreen...' appeared. Access via TV , but now it showed HD 8950 instead of 7950 and the HD4000 was gone and I had one monitor only. The resolution, acceleration was still there though.
Next up I set things up the way they should be: IGFX disabled. The effect was the same as above: black screen, TV access, 8950 instead of 7950 but everything looked fine.
To check if I even need lilu and whatevergreen I removed them again. I still got a black screen and so on, but now it displayed HD 7xxx correctly.
Selecting DeInit changes nothing. InjectATI neither, just the name of the card changes, from HD 7xxx to 7950/8950/R9 280.
The last advice I got was to select InjectATI and play around with the various framebuffers. So I tested all of them but unfortunately none of them worked. The behavior changed with each setting, sometimes the monitor switched off (no signal) and sometimes it just got black but stayed on.
So the current status is as follows: I've been able to install Mojave with kexts which are needed for my system. Everything works perfectly, besides that I'm only able to use macOS while beeing in a TV session.
I appreciate all hints.
intel I7 3770K
XFX RADEON HD 7950 DD Black Edition 3GB (device id 0x679A)