@CaseySJ, did you have the opportunity to test the behavior of the LED controller?
I also noticed that when the PC wakes up, the LED color settings are also reset.
Yes, I see the same behavior. When system sleeps, the devices on all USB ports are ejected. I believe this causes the ITE Tech controller to reset itself. Even though we've configured HS12 as Type 255 (internal), it gets ejected during sleep.
Currently we use LaunchDaemon to run a liquidctl script at boot. Wondering if that script can also be run after wake-from-sleep...
Yes, I see the same behavior. When system sleeps, the devices on all USB ports are ejected. I believe this causes the ITE Tech controller to reset itself. Even though we've configured HS12 as Type 255 (internal), it gets ejected during sleep.
Currently we use LaunchDaemon to run a liquidctl script at boot. Wondering if that script can also be run after wake-from-sleep...
Liquidctl is a Python application that manages LEDs and fans on a number of devices from Corsair, NZXT, EVGA, Gigabyte, and others. It is actively developed and maintained on GitHub at this location. Support for Gigabyte RGB Fusion 2.0 is available in liquidctl 1.4.0 and newer.
The RGB Fusion 2.0 driver for liquidctl defines 8 channels that are generically named led1, led2, ... led8. The driver supports the ITE Tech 0x5702 controller found on Z490 Vision D and Vision G, and also the ITE Tech 0x8297 controller found on Gigabyte's X570 motherboards. Not every motherboard supports all 8 channels. One of the first operations we should do is to map out channel names to their physical ports. This has already been done for the Z490 Vision D, as follows:
led1
This is the LED next to the IO panel
led2
This is one of two 12V RGB headers
led3
This is the LED on the PCH chip ("Designare" on Vision D)
led4
This is an array of LEDs behind the PCI slots on *back side* of motherboard
led5
This is second 12V RGB header
led6
This is one of two 5V addressable RGB headers
led7
This is second 5V addressable RGB header
led8
Not in use
Step 1: Install Homebrew and liquidctl
The best way to install liquidctl on macOS is with the Homebrew package installer. Homebrew is also an open-source project on GitHub. Open the spoiler for instructions.
If Homebrew is not installed, it may be installed in Terminal by typing:
Step 2: Experiment with liquidctl
We can now run a series of liquidctl commands to detect, initialize, monitor and control compatible devices. Open the spoiler for instructions.
We start with the simple command:
Code:
liquidctl list
This scans the USB bus and lists all compatible devices. Each device has an ID and a Name. If multiple devices are found, their ID or Name must be specified. For example:
Code:
liquidctl list
Device ID 0: Gigabyte RGB Fusion 2.0 (experimental)
Device ID 1: NZXT Smart Device V2 (experimental)
To initialize the device or obtain status information or control lights/fans, we specify either the device ID with the -d argument, or any part of the device name with the -m argument. Because device IDs might change, it is strongly recommended to use device name instead.
To initialize the NZXT device we can type the following (note: use full pathname of liquidctl):
Code:
/usr/local/bin/liquidctl -m NZXT initialize
Similarly, to initialize the Gigabyte RGB Fusion device we can type:
Code:
/usr/local/bin/liquidctl -m RGB initialize
Notice that -m can specify any part of the device name, not just the first few characters.
Step 3: Create a script to set color and fan modes automatically
Once we've experimented with the various capabilities of liquidctl, we create a script will be used to configure each of the compatible devices automatically when the system boots up and when it wakes from sleep. Open the spoiler below for instructions.
An sample script might look like this (note: use full pathname of liquidctl):
Code:
#!/bin/bash
# initialize the device before use
/usr/local/bin/liquidctl -m Gigabyte initialize
/usr/local/bin/liquidctl -m NZXT initialize
# set all color channels on Gigabyte RGB Fusion 2.0 device to "color-cycle"
/usr/local/bin/liquidctl -m Gigabyte set sync color color-cycle
# set color on NZXT 'led2' color channel to 'spectrum-wave'
/usr/local/bin/liquidctl -m NZXT set led2 color spectrum-wave
The first line #!/bin/bash tells macOS to use the 'bash' shell to run the scripts. We can save this file to /Users/Shared/liquidctl-startup.sh and enable file execute permissions by typing this in Terminal:
Code:
chmod +x /Users/Shared/liquidctl-startup.sh
Now we can test the script by typing:
Code:
cd /Users/Shared
./liquidctl-startup.sh
We can refine the script until it produces the desired effects.
Step 4: Launch the script automatically on login
Now we configure macOS to run the script automatically when it boots up and the user logs in. Open the spoiler for instructions.
We use the powerful, but highly underused application called Automator to create a simple task that starts automatically when the user logs in to the computer. Automator is a standard feature of macOS and exists in the Applications folder.
Launch Automator and select New Document from the dialog box that will appear. Then select Application as shown:
Scroll the action list, select Run Shell Script, and drag-and-drop it into the workflow pane on the right side:
Then click the Shell pop-up and choose /bin/bash as shown:
In the edit box, simply type the full pathname of the liquidctl-startup.sh script that was created in Step 3:
The Automator task is complete, so select File --> Save... and save it in the Applications folder with the name Start Liquidctl. A new icon will appear in the Applications folder as follows:
Now we tell macOS to launch this Automator Application when the user logs in. This is done easily by adding it to Login Items in System Preferences --> Users & Groups. This is shown below.
Feel free to reboot the computer, log back in, and check if the LEDs/Fans are automatically configured.
Step 5: Restore lighting effects after wake-from-sleep
Some devices such as Gigabyte RGB Fusion 2.0 lose their configured settings when the system goes to sleep. Other devices such as NZXT Smart Device, for example, retain their configured settings during sleep. For device that lose their configured settings (e.g. Gigabyte RGB Fusion 2.0) we can follow a simple procedure to automatically configure those settings when the system wakes from sleep. Open the spoiler for instructions.
If a device remembers its settings after waking from sleep, this step can be omitted. But for devices such as Gigabyte RGB Fusion 2.0 whose settings are reset when the system goes to sleep, we can follow this procedure to re-apply the settings automatically upon wake-from-sleep.
We begin by installing a simple utility called sleepwatcher as follows:
Code:
brew install sleepwatcher
Then we edit the following newly created file using a text editor or Plist editor:
Now we create a file called liquidctl-wakeup.sh in /Users/Shared that contains all the liquidctl commands we want to issue to devices that do not remember their settings after waking from sleep. In this simple example, we set all of the Gigabyte RGB Fusion 2.0 color channels to yellow:
Bash:
#!/bin/bash
/usr/local/bin/liquidctl -m Gigabyte set sync color static FFFF00
Multiple liquidctl commands may be added to control each channel independently.
Colors are specified as RRGGBB values.
Then we add file-execute permission in Terminal:
Bash:
cd /Users/Shared
chmod +x liquidctl-wakeup.sh
Now we start the sleepwatcher service in Terminal:
Code:
brew services start sleepwatcher
And we're done. When the system wakes from sleep, it will take about 10 seconds before the lighting/fan effects are rendered.
Step 6: Examine the /Users/Shared folder
To ensure that the (a) startup and (b) wakeup scripts have been created and have the proper permission, open the spoiler below for instructions.
Begin by typing:
Code:
cd /Users/Shared
ls -l liquidctl*
You should see the following (with your user name instead of casey):
Code:
-rwxr-xr-x 1 casey wheel 79 Jun 14 04:12 liquidctl-startup.sh
-rwxr-xr-x 1 casey wheel 79 Jun 14 04:28 liquidctl-wakeup.sh
Note that both files have -rwxr-xr-x permissions. This is necessary.
Congratulations! Task completed. Maintenance Operations:
We can perform a number of update, stop, and remove operations for liquidctl and sleepwatcher. Open the spoiler for instructions.
We can update and remove liquidctl using these commands:
To update liquidctl when a new version is released:
Code:
brew update liquidctl
To delete liquidctl if we no longer wish to use it:
Code:
brew remove liquidctl
Similarly we can stop the sleepwatcher service and remove sleepwatcher itself using these commands:
May I ask on your MSI Armor RX580 that you link too, dose the DVI port work? Since I have not built a hackintosh in years I am trying to catch up on my research before purchasing hardware. So I had read online MSI Radeon GPU's not showing apple screen on boot up, but they do finally arrive at login/desktop... is this true or am I misinformed as those were real Apple hardware users posting? (I have been running an MSI Envidia for years and would like to stick wth the brand)
May I ask on your MSI Armor RX580 that you link too, dose the DVI port work? Since I have not built a hackintosh in years I am trying to catch up on my research before purchasing hardware. So I had read online MSI Radeon GPU's not showing apple screen on boot up, but they do finally arrive at login/desktop... is this true or am I misinformed as those were real Apple hardware users posting? (I have been running an MSI Envidia for years and would like to stick wth the brand)
Up in San Francisco we have the Museum of Modern Art (MoMA), and down here in Silicon Valley I have my personal Museum of Ancient Technology (MoAT). The entrance to MoAT is usually locked, but since it's a just a big rock put there by Paleolithic cavemen, it's easy enough to open. Lo and behold, I found a DVI cable in the dark corners of the museum, but a monitor with a DVI input even predates the cavemen, so no such thing was found. Fortunately, this ancient relic (i.e. the DVI cable) has an HDMI connector on the other end, no doubt the work of alchemists like Merlin. So I connected it to my 21st Century monitor via the RX 580 and was pleasantly surprised to see that:
BIOS works
Clover / OpenCore boot menu works
macOS works
When macOS loads up, there's a purple tint, perhaps due to the accumulated rust over the centuries, but if we were to go even further back in time we might find a DVI-to-DVI cable and a matching DVI monitor, and together the two might work well.
It's also a good idea to remove the CMOS battery for 30 seconds as mentioned by @alchymista or perform a CMOS Reset. BIOS parameters and CFG-Lock should both be re-configured afterwards.
Super suggestion, thanks @CaseySJ and @alchymista! That fixed the issue entirely: after a (lengthy) CMOS reset, removing all cables etc, my GPU was recognized in the BIOS and I got display directly from the GPU HDMI port. Solved!
After formatting the NVME drive, I hit the error
This copy of the Install macOS Catalina application is damaged, and can’t be used to install macOS.
This may be just a usual install issue—and perhaps I should follow the simple direction to redownload—but I wondered if this was something you'd bumped into before, and if you had any specific suggestions. Any chance the date issue above is related?
Super suggestion, thanks @CaseySJ and @alchymista! That fixed the issue entirely: after a (lengthy) CMOS reset, removing all cables etc, my GPU was recognized in the BIOS and I got display directly from the GPU HDMI port. Solved!
This may be just a usual install issue—and perhaps I should follow the simple direction to redownload—but I wondered if this was something you'd bumped into before, and if you had any specific suggestions. Any chance the date issue above is related?
When we remove the CMOS battery, it's possible that the date reverts to something very old. So we should set the correct date and time in BIOS.
If that alone does not help then it might be necessary to re-download the macOS installer and try again. Follow the procedure carefully in Steps 1 and 2.
back again, i did all the things from zero, comes out with the same result, strange thing is, i couldn't get it boot up with your efi file, so i use your kexts and acpi files, and i rebuilt the config.plist, but same results, whether if i chose imac or macpro.... i can see my igpu in hackintool, but it doesn't appear either in my sysinfo or videoproc... kind of frustrating... can you please check my efi file for me?
many thanx
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.