• Become a Premium Member for $25/year with no ads to improve your community experience.

RX 6800 (Sleep/Display)

Haha. Why was I expecting this exact answer. Yes I admit - I was lazy and used the sort of working EFI provided by olarilla.
There's your issue right there
 
There's your issue right there
Well this is a not so well thought reply. Using pre-cooked EFI folders surely bears a LOT of problems that make troubleshooting extremely difficult. (allthough in my case 99.999% of my system/apps worked flawlessly with it...) But as I said - I created my own clean EFI as per the instructions in this forum and that did NOT solve my issue.
So your post was short, wrong and not helping at all.
 
For those with similar problems: I have found a workaround that is for the moment acceptable for me:
  • Download and install displayplacer here: https://github.com/jakehilborn/displayplacer
  • Run "displayplacer list" to get a lot of information about your screen(s) and resolution(s). Ideally run it while only one monitor is connected. The last line is of interest:
    Code:
    displayplacer "id:some-random-guid-for-my-monitor res:2560x1080 hz:75 color_depth:8 enabled:true scaling:off origin:(0,0) degree:0"
  • Copy this line (which will set your screen to your current settings) and create a shell script in /usr/local/bin (e.g. vi /usr/local/bin/fixblackscreen.sh)
  • Paste the copied line into the script twice. Change something (valid) in the first line (resolution, refresh rate) so the display mode gets switched. My script (switching to 60Hz and then back to 75Hz) looks something like this:
    Code:
    #!/bin/zsh
    displayplacer "id:some-random-guid-for-my-monitor res:2560x1080 hz:60 color_depth:8 enabled:true scaling:off origin:(0,0) degree:0"
    displayplacer "id:some-random-guid-for-my-monitor res:2560x1080 hz:75 color_depth:8 enabled:true scaling:off origin:(0,0) degree:0"
  • Make the script executable (chmod...) and test-run it. Your screen should "flicker"
  • Now create a global shortcut to execute this script (so you can trigger it when your screen is black...) I did this with iCanHazShortcut (https://icanhazapps.d7.wtf/shortcut) which was very easy.

The idea is to have a script change your display settings which forces the graphics card to re-initialize and have this script bound to a global shortcut.
If your screen is black now all you have to do is press your shortcut and it will revive the display.
 
Last edited:
Well this is a not so well thought reply. Using pre-cooked EFI folders surely bears a LOT of problems that make troubleshooting extremely difficult. (allthough in my case 99.999% of my system/apps worked flawlessly with it...) But as I said - I created my own clean EFI as per the instructions in this forum and that did NOT solve my issue.
So your post was short, wrong and not helping at all.
you grabbed an EFI from one website and then come over here saying it doesn't work

why not make a post over at olarilla?
 
Haha. Why was I expecting this exact answer. Yes I admit - I was lazy and used the sort of working EFI provided by olarilla. I am just now creating a fresh and clean EFI as per your guide. I will boot my system from that EFI in a minute and report. And yes - HW is as in the profile. Coffee Lake with AMD GPU.

Edit:
Good news: My system still boots with my very own EFI. (first time this works, kinda proud)
Bad news: Display problem still there :-(

Attached new EFI - I tried my best to follow the guide.
Your EFI structure is bad.

Disable EnableWriteUnprotector and use RebuildAppleMemoryMap.
Remove watchdog=0 arg. Remove dk.e1000=0 e1000=0 as well. Enable VT-d and use native drivers for the hardware.
USB Ports aren't mapped. Map them too
 
For those with similar problems: I have found a workaround that is for the moment acceptable for me:
  • Download and install displayplacer here: https://github.com/jakehilborn/displayplacer
  • Run "displayplacer list" to get a lot of information about your screen(s) and resolution(s). Ideally run it while only one monitor is connected. The last line is of interest:
    Code:
    displayplacer "id:some-random-guid-for-my-monitor res:2560x1080 hz:75 color_depth:8 enabled:true scaling:off origin:(0,0) degree:0"
  • Copy this line (which will set your screen to your current settings) and create a shell script in /usr/local/bin (e.g. vi /usr/local/bin/fixblackscreen.sh)
  • Paste the copied line into the script twice. Change something (valid) in the first line (resolution, refresh rate) so the display mode gets switched. My script (switching to 60Hz and then back to 75Hz) looks something like this:
    Code:
    #!/bin/zsh
    displayplacer "id:some-random-guid-for-my-monitor res:2560x1080 hz:60 color_depth:8 enabled:true scaling:off origin:(0,0) degree:0"
    displayplacer "id:some-random-guid-for-my-monitor res:2560x1080 hz:75 color_depth:8 enabled:true scaling:off origin:(0,0) degree:0"
  • Make the script executable (chmod...) and test-run it. Your screen should "flicker"
  • Now create a global shortcut to execute this script (so you can trigger it when your screen is black...) I did this with iCanHazShortcut (https://icanhazapps.d7.wtf/shortcut) which was very easy.

The idea is to have a script change your display settings which forces the graphics card to re-initialize and have this script bound to a global shortcut.
If your screen is black now all you have to do is press your shortcut and it will revive the display.
Having RX6800 and RX6800XT and both have 27" 4K monitor connected and the sleep/wake works fine. The system was first CFL (9900K) and now upgraded to 10900K.
 
Your EFI structure is bad.

Disable EnableWriteUnprotector and use RebuildAppleMemoryMap.
Remove watchdog=0 arg. Remove dk.e1000=0 e1000=0 as well. Enable VT-d and use native drivers for the hardware.
USB Ports aren't mapped. Map them too
Did all of the above except remapping of USB ports. (next on my list) but still no success.

Checked VT-d status:
sysctl -a |grep -o VMX
VMX


Ethernet driver is still IntelMausi. Don't know if this is the expected output when removing dk.e1000=0 and e1000=0 (which I did)

Intel I219V7 PCI Express Gigabit Ethernet:
Bus: PCI
Vendor ID: 0x8086
Device ID: 0x15bc
Subsystem Vendor ID: 0x1043
Subsystem ID: 0x8672
Revision ID: 0x0010
Driver: as.acidanthera.mieze.IntelMausi
 
Short update before I torture myself with USB mapping - connected my main (and for this PC only) screen to a DP connector on the GPU - no changes.

Then connected a second monitor (expanded desktop, mirror off) to the HDMI port. Result - when I switch off the main monitor (LG HDR WFHD) the second monitor stays on BUT - nothing really happens to the display arrangement. Meaning - the OS does not even realise the monitor is gone. All windows stay on their position, windows from main screen are not moved to secondary (now only available) screen. It's just like if the monitor is still powered on. And when I turn it back on it stays black.

When I turn off the second monitor on the other hand all windows move to the main screen and OS detects only one display left. What really puzzles me is - it all worked fine with the Nvidia GPU. (Even with the messy Olarila EFI). Well - let's map some USB ports then...
 
Checked VT-d status:
sysctl -a |grep -o VMX
VMX
VT-d and Virtualization Technology are two different things.

Ethernet driver is still IntelMausi. Don't know if this is the expected output when removing dk.e1000=0 and e1000=0 (which I did)
You must remove the former kext and enable VT-d which will use native drivers.
 
Short update before I torture myself with USB mapping - connected my main (and for this PC only) screen to a DP connector on the GPU - no changes.
What does this mean?

Then connected a second monitor (expanded desktop, mirror off) to the HDMI port. Result - when I switch off the main monitor (LG HDR WFHD) the second monitor stays on BUT - nothing really happens to the display arrangement. Meaning - the OS does not even realise the monitor is gone. All windows stay on their position, windows from main screen are not moved to secondary (now only available) screen. It's just like if the monitor is still powered on. And when I turn it back on it stays black.
Provide the GPU model and if possible, attach a real picture of the card. There are some cards which fails to realize if a display is connected/disconnected and a reboot is needed for the affect.

Some questions at this point:
- Are you using the cables supplied by the monitor/TV?
- Did you purchase the new GPU or is it some kind of refurbished/used/mined?
- What macOS version are you running? Include the build number.

When I turn off the second monitor on the other hand all windows move to the main screen and OS detects only one display left. What really puzzles me is - it all worked fine with the Nvidia GPU. (Even with the messy Olarila EFI). Well - let's map some USB ports then...
Well, it could be either your GPU or the firmware itself. Somehow, your BIOS Settings might be affecting this. Provide the complete BIOS walkthrough.
 

Forum statistics

Threads
1,701
Messages
16,020
Members
24,695
Latest member
radjoel