To install a kext file on Catalina, this page helped a lot(https://www.tonymacx86.com/threads/guide-installing-3rd-party-kexts-el-capitan-sierra-high-sierra-mojave-catalina.268964/). It is just an informational page if you want to get into more details about installing/removing kext extensions.
You do not need that to enable direct mode by yourself. I tried to explain everything step by step. I hope it helps. You can just follow the steps explained below.
Make Time Machine backup before everything. If you do not know how to make a bootable backup, Direct Mode is not for you,too. It may be complicated for you to follow.
In order to disable SIP, reboot OS X into recovery mode by holding Command + R keys simultaneously, after you hear the startup chime. When you see the apple logo, let go of the keys, and choose Terminal App in the menu bar and execute the following command to disable SIP and reboot. Please make sure that there are 2 spaces before reboot.
csrutil disable; reboot
Now we disabled SIP successfully and restarted Catalina. Now, You need the modified IOAudioFamily.kext file used for Enabling Direct Mode on Mojave as it was done before. Therefore, download the following zip file to your desktop.
Create a folder on your desktop named DirectModeCatalina .Now you have an empty folder and a downloaded zip file.
Extract the downloaded zip file and just copy IOAudioFamily.kext to the new created folder, which we created in step 4 and named it as DirectModeCatalina. After copying, you should see that only IOAudioFamily.kext file exists in DirectModeCatalina folder.
While in the finder, navigate to the folder DirectModeCatalina where we want to open a terminal. Right click on that folder. One of the options is to open a terminal on that folder. Click on it to open the Terminal. So, we opened the terminal on DirectModeCatalina folder. We can check it by typing pwd on the terminal window and see whether the displayed path is the path of the folder , or not.
Run the following commands . Write the first line to the window and then press enter. After that write the second line and press enter… If it prompts to enter your password, just enter your password and press enter again. Repeat this pattern for each line in order. The last statement takes little longer( sudo kextcache -i /). So wait after the last step.
sudo spctl --master-disable
sudo mount -uw
sudo killall Finder
sudo cp -R IOAudioFamily.kext /Library/Extensions
sudo chown -v -R root:wheel /System/Library/Extensions
sudo touch /System/Library/Extensions
sudo chmod -v -R 755 /Library/Extensions
sudo chown -v -R root:wheel /Library/Extensions
sudo touch /Library/Extensions
sudo kextcache -i /
After all these steps, we expect to see that IOAudioFamily.kext file under /System/Library/Extensions folder has been modified.
If it is the new modified file, everything will probably be ok . Just reboot OS X…
Click Audio Settings from the menu.
Navigate to the Low Level Playback options as shown in the picture.
If you see “Direct Mode” and “Integer Mode Type” , then everything seems to be fine. Enable Direct Mode and play your favorite song to see whether it works, or not.
If it is still the original file, it means something went wrong and you could not modify it. You may try Hakintool method at your own risk. I installed the program and used it as it is explained under the The Hackintool Method section of the page explains how to do it. (https://www.tonymacx86.com/threads/guide-installing-3rd-party-kexts-el-capitan-sierra-high-sierra-mojave-catalina.268964/).
After applying the hakintool method, check whether the file is modified, or not. You may need to redo the steps 6 and 7 if it is still not modified.
If everything is ok(we see that the file,IOAudioFamily.kext, under /System/Library/Extensions is finally modified), reboot OS X into recovery mode by holding Command + R keys simultaneously, after you hear the startup chime. When you see the apple logo, let go of the keys, and choose Terminal App in the menu bar and execute the following command to enable SIP back again and reboot
csrutil enable; reboot
After everything works fine, I advise you to get a bootable backup again using Time Machine.