Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.

Ludacrisvp

macrumors 6502a
May 14, 2008
797
363
The only way to find out is if someone else tests it.
which USB 3 card do you have / dev & vendor IDs and what chipset / macos drivers are used for it?
That would allow others that may have the same one verify or others verify theirs works if they have a different one.
 

startergo

macrumors 603
Sep 20, 2018
5,021
2,283
which USB 3 card do you have / dev & vendor IDs and what chipset / macos drivers are used for it?
That would allow others that may have the same one verify or others verify theirs works if they have a different one.
RocketU 1344A

Code:
USB 3.1 Bus:
  Host Controller Driver:    AppleUSBXHCIPCI
  PCI Device ID:    0x2142 
  PCI Revision ID:    0x0000 
  PCI Vendor ID:    0x1b21
 
  • Like
Reactions: Ludacrisvp

0403979

Cancelled
Jun 11, 2018
1,402
1,735
OpenCore on Legacy Apple Hardware

This guide explains how to use the excellent OpenCore (OC) bootloader on a Mac Pro 5,1 (with upgraded Westmere Xeons and Boot ROM version 144.0.0.0.0) to install, run, and update macOS Catalina, resulting in a clean, unpatched operating system no different than what you would find on a supported Mac.

The main advantage of using OC vs other tools on a Mac Pro 5,1 is that it makes Software Update work.

Another advantage is boot screen.

In a historic development, OC developer @vit9696 has brought basic boot-picker support to the Mac Pro 5,1 with standard UEFI GOP graphics cards (special thanks to @startergo for the relentless testing)! You can read about it here. See also Section 9 below.

Guide

This guide provides a hands-on approach to installing and configuring OC.

1. Setup

Disk A. Newly APFS-formatted drive (GUID scheme)

This is where OC and a clean install of Catalina will go.

Disk B. macOS Mojave

Installation and configuration will be done from here. (To ensure a bootable fallback after an NVRAM reset, it is recommended that Disk B be a SATA disk in Bay 1 and that it always be present alongside Disk A.)

2. Materials

A. The application "Install macOS Catalina" (the full installer)

B. OpenCore

See the releases page of the project site. Download OpenCore-0.5.5-RELEASE.zip. The uncompressed folder will be referred to here as "OpenCore."

C. Basic configuration file

Provided in this post. Download config.zip. The uncompressed file is "config.plist".

The configuration described in this guide should be perfectly safe, but please be aware of the following:

WARNING!
Using OpenCore without extensive knowledge of the configuration options
may lead to a bricked Mac.

Because OC is in active development, the configuration file for the current version (0.5.5) will likely be incompatible with future (or past) versions. You are encouraged to take a look at the very comprehensive manual provided with OC before proceeding.

3. Installing OC

a) Mount the EFI partition of Disk A: To find the identifier of the partition, enter the following in terminal:
Code:
diskutil list

The identifier will be something like "disk0s1;" the next step will assume that this is the case.
Code:
sudo diskutil mount /dev/disk0s1

You may need to authorize this. The partition should mount as /Volumes/EFI and appear as "EFI" in Finder.

b) Copy the OpenCore/EFI folder to the EFI partition. The resulting folder, /Volumes/EFI/EFI, should contain the folders OC and BOOT.

c) Copy config.plist to /Volumes/EFI/EFI/OC.

4. Configuration

The file config.plist can be edited with any plist editor and even with TextEdit; the following steps will assume TextEdit.

a) Open config.plist with TextEdit.

b) Enable the VMM flag: Find the Cpuid1Mask entry, and carefully change AAAAAAAAAAAAAAAAAAAAAA== to AAAAAAAAAAAAAACAAAAAAA==. The value should now be the same as for Cpuid1Data.

Remark: VMM flag spoofing is only possible with Westmere Xeons. Nehalem and older Xeons don't have the hardware requirements to support Apple Hypervisor and can't enable VMM flag spoofing.

c) Enable boot entry preservation: Find the RequestBootVarRouting entry, and change false to true.

d) Close the file. It should be saved automatically (select OK if informed about there being no permanent version storage).

The purpose of doing these steps explicitly is to be able to reverse them if desired.

5. Booting

a) Reboot into recovery mode by entering
Code:
sudo nvram "recovery-boot-mode=unused" && sudo reboot recovery

You may need to authorize this. Be patient. Mac Pro boot times can be long, especially when booting into recovery mode.

b) Carry out step 3a (sudo is not needed in recovery).

c) Set the partition for booting:
Code:
bless --mount /Volumes/EFI --setBoot

If the above fails, try:
Code:
bless --mount /Volumes/EFI --setBoot --file /Volumes/EFI/EFI/BOOT/BOOTx64.efi --verbose

d) Shut down the Mac and do an SMC reset (unplug the power cord, wait 15 seconds, plug the power cord back in, wait 5 seconds, and then press the power button).

Remark: Being installed on Disk A, OC can have trouble seeing Disk B. Doing an SMC reset helps ensure that Disk B is seen when OC starts.

e) Power up the machine. OC should boot Disk B (currently the only macOS system).

Be patient. Mac Pro boot times can be long. If it seems that the machine is not booting up. Hold the power button to shut down the machine. Do an NVRAM reset on the next power up (immediately press and hold Option, Command, P, and R, and release after 20 seconds or after you hear the second startup chime). The Mac should boot without OC. Recheck all the steps above.

f) Booted into the system on Disk B, verify that it is indeed OC that has booted the system by entering this in terminal:
Code:
nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:opencore-version

You should see REL-055-2020-02-03.

You can also verify that the VMM flag is present by entering
Code:
sysctl machdep.cpu.features

You should see VMM in the list of features.

Congratulations for making it this far! The hard part is done.

6. Installing Catalina

a) Booted into the system on Disk B, run Install macOS Catalina. Install to Disk A.

The machine will reboot and eventually you should see the installation progress bar.

b) Complete the installation.

From now on, OC should boot Catalina on Disk A by default. In any case, OC will respect the selection in Startup Disk; however, be mindful of the remark in step 5d. Also, by carrying out step 5a, OC should boot the recovery mode corresponding to the system currently booted into.

7. Updates

As long as the VMM flag is present, Software Update should just work.

8. A More Native System (Optional)

To make the system as native as possible while still using OC, the VMM flag can be disabled by reversing step 4b. This might be a good idea, because a small performance loss (5%) has been observed when leaving the flag enabled.

It is also possible to boot Catalina natively, after using recovery to add a boot argument
Code:
nvram boot-args="-no_compat_check"
and then disabling OC (see 10 below). Although OC adds this argument, booting without OC does not guarantee that the argument will be there, unless it is added as described above.

The VMM flag and OC must be enabled for Software Update to work.

9. Boot-Picker (Optional)

a) Open config.plist with TextEdit.

b) Find BuiltinTextRenderer and change false to true.

c) Find ConsoleBehaviourOs and ConsoleBehaviourUi. Change <string></string> to <string>ForceGraphics</string> for both.

d) Find ConsoleMode and Resolution. Change <string></string> to <string>Max</string> for both.

e) Find ShowPicker and change false to true.

f) Find Timeout and change 1 to 10.

g) Find ConsoleControl and change false to true.

h) Find ProvideConsoleGop and change false to true.

i) If your display is HiDPI (retina), find UIScale and change AQ== to Ag==.

The purpose of doing these steps explicitly is to be able to reverse them if desired.

10. Disabling OC

a) Carry out step 3a.

b) Open config.plist with TextEdit.

c) Reverse step 4c.

d) Reboot.

e) Select the desired entry in Startup Disk.

f) Reboot.

11. Uninstalling OC

a) Disable OC (see 10).

b) Carry out step 3a.

c) Delete the /Volumes/EFI/EFI folder.

Acknowledgements

A big thank you to the talented developers of OpenCore for making all of this possible.
I'm aware this is old and that you may not be following up on replies, but I'll try my luck anyway. What is the significance of the nvram steps and are they required to install macOS on an unsupported Mac by using this? Could you elaborate on what devices do and do not support VMM flag spoofing? I haven't found much documentation on the VMM CPU feature set and the Intel processors used by Macs, that support it. Thanks for any information you can provide.
 

tsialex

Contributor
Jun 13, 2016
13,454
13,601
I'm aware this is old and that you may not be following up on replies, but I'll try my luck anyway. What is the significance of the nvram steps and are they required to install macOS on an unsupported Mac by using this? Could you elaborate on what devices do and do not support VMM flag spoofing? I haven't found much documentation on the VMM CPU feature set and the Intel processors used by Macs, that support it. Thanks for any information you can provide.
VMM flag can only be enabled with Intel processors that support Apple Hypervisor, so must be at least Sandy Bridge/Westmere. C2D and Nehalem don't support it.

VMM flag bypass the checking of board-ids with nonSupportedModels with the distribution file.

catalina_dist-png.840834
 

cdf

macrumors 68020
Original poster
Jul 27, 2012
2,256
2,583
I'm aware this is old and that you may not be following up on replies, but I'll try my luck anyway. What is the significance of the nvram steps and are they required to install macOS on an unsupported Mac by using this? Could you elaborate on what devices do and do not support VMM flag spoofing? I haven't found much documentation on the VMM CPU feature set and the Intel processors used by Macs, that support it. Thanks for any information you can provide.

There are three nvram steps in the guide: one is for rebooting into recovery (there are other ways to do this, of course); another is to check if OC is actually installed (optional); and the third is to set a boot argument for when booting without OC.
 
  • Like
Reactions: 0403979

papadj3

macrumors regular
Nov 23, 2018
113
11
I have updated my Open Core install to the most current release- I did not add optional boot picker? I am using a Mac GTX 680 GPU-Should I install/use optional boot picker? Also, I have windows 10 Boot Camp installed on a separate SSD in sled 4 which was working well before Open Core. Will I be able to use Boot Camp with Open Core?? As I read all of the current discussion, (Which a real newbie does not understand!) I am confused about trying to use my Windows Boot Camp!!
Any expert help/instructions will be REALLY Appreciated!!
[automerge]1580959030[/automerge]
cMP 4,1 to 5,1- (.0.5.5 Open Core without Boot Picker)
12 core Xeon 3.46
96gb memory
Nvidia gtx 680 gpu
 

Ludacrisvp

macrumors 6502a
May 14, 2008
797
363
Can confirm success on the MP 3,1 moved from 0.5.2 debug to 0.5.5 debug (booted 10.14.6).
GOP boot screen working along with verbose boot with RX 580.
Both CPU pkgs detected by OC
kext injection working like a charm as well (mainly wanted it for injection of AAAMouSSE, but also injecting Lilu and WEG, and AppleMCEReporterDisabler limited to kernel 19+ for when I experiment with Catalina to avoid panic on boot due to usage of the iMacPro1,1 board-id for AMD HWAccel)


Boot of the OS starts much faster now, based on OC log it was 47 seconds from the time it starts logging to being ready for me to pick an OS to boot, this used to take about 120 seconds for the same logging, sometimes a bit longer, sometimes slightly shorter but in general it used to take about 2 minutes from chime to verbose boot start.

Thanks @vit9696 (and the rest of the OC team and the testers / reporters from the forums here) for fixing GOP boot with the MP5,1 as that also fixed the 3,1. Now I don't need to try to chainload into refind or even deal with the extra mess of having an EFI UGA flashed card installed that gets disabled during pre-boot.
 
  • Like
Reactions: h9826790 and w1z

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
Pure theory, haven't tested, and I don't know if anyone really need this function.

With the OpenCore boot screen, we should now able to boot something like Snow Leopard with unsupported GPU (e.g. RX580). Of course, don't expect any acceleration, but should work.

This may also allow 5700XT users to boot Mojave (if someone may rarely need to access some 32bit software). Anyway, any Navi user tested this OpenCore boot screen compatibility yet?
 
  • Like
Reactions: cdf

w1z

macrumors 6502a
Aug 20, 2013
692
481
This may also allow 5700XT users to boot Mojave (if someone may rarely need to access some 32bit software). Anyway, any Navi user tested this OpenCore boot screen compatibility yet?

No issues in seeing OC's boot screen options. Enabling filevault was on the otherhand a total failure resulting in a re-installation. Don't know - maybe I missed something but I made sure to read the documentation on enabling fv before the attempt.

IMAG1321.jpg


Note: Time machine will complain about backups (taken with OC enabled) being for a different machine when attempting to restore without OC enabled. With OC enabled, it complained that the machine does not support APFS booting - huh! So I ended up reinstalling a new copy with OC enabled and restored through migration.


IMAG1323.jpg
 

octoviaa

macrumors regular
Oct 19, 2013
172
88
Thank you guys for all the hard-work being done.

The boot-picker works with my VEGA 64:
IMG_4564.jpeg


The Windows 10 CSM in separate SSD is not detected though I suppose it is expected as it is CSM?
Unfortunately choosing the W10 CSM from the start-up didn't works too, it will shows the OC boot picker back on restart instead of booting into W10 hence I'm not able to boot to W10 CSM at the moment.
To Boot to W10 CSM I have to disable the RequestBootVarRouting, however this will disable OC once I boot into W10 even booting back to NVMe Mojave won't re-enable the OC (the boot picker is not being displayed).


The OC is installed on NVMe and I can see the cloned connected in SATA 1 just fine.

Is Catalina save to be used with Dual Xeon Mac Pro or need additional steps aside from the page 1?

Thank you.
 
Last edited:

Ludacrisvp

macrumors 6502a
May 14, 2008
797
363
Sleep. Most of the time it would not re-initialize the monitor from sleep (black screen), crash (KP) or shut down.
Was thinking more about this post ...
I've been using OC 0.5.2 for months and now recently moved to 0.5.5 and have not had any sleep issues with either version ... no need for adding any sort of sleep fixing kext. it sleeps / wakes fine on the 3,1 and seemingly always has done so.
It even does the wake for network access brief partial wake and sleep cycle that it always has done.
I get we do have a different MacPro, but are you sure the sleep issue is from OC and not due to your USB3 card or other PCIe card? I have really only had my GPU installed since moving to OC and haven't put back any other cards.
 

astonius86

macrumors member
Apr 25, 2017
93
32
Mt Juliet, TN
Thank you guys for all the hard-work being done.

The boot-picker works with my VEGA 64:
View attachment 892932

The Windows 10 CSM in separate SSD is not detected though I suppose it is expected as it is CSM?
Unfortunately choosing the W10 CSM from the start-up didn't works too, it will shows the OC boot picker back on restart instead of booting into W10 hence I'm not able to boot to W10 CSM at the moment.
To Boot to W10 CSM I have to disable the RequestBootVarRouting, however this will disable OC once I boot into W10 even booting back to NVMe Mojave won't re-enable the OC (the boot picker is not being displayed).


The OC is installed on NVMe and I can see the cloned connected in SATA 1 just fine.

Is Catalina save to be used with Dual Xeon Mac Pro or need additional steps aside from the page 1?

Thank you.

Same boat here with Windows 10 booting. I posted a boot log a few days ago, but I haven’t heard anything back yet. Hopefully the OpenCore devs are able to find a solution.
 
  • Like
Reactions: octoviaa

vit9696

macrumors member
Jun 4, 2014
50
147
@w1z, "Can't switch to graphics mode" message signalises that ConsoleControl protocol is missing or not working. We plan to rework the configuration for output settings as currently we cannot suppress some verbose output and things are a bit unintuitive.

We will not support legacy Windows installations, use UEFI.
 
  • Like
Reactions: octoviaa and w1z

w1z

macrumors 6502a
Aug 20, 2013
692
481
Same boat here with Windows 10 booting. I posted a boot log a few days ago, but I haven’t heard anything back yet. Hopefully the OpenCore devs are able to find a solution.

I may be available later on today to troubleshoot your setup via teamviewer - pm me.
[automerge]1581071851[/automerge]
@w1z, "Can't switch to graphics mode" message signalises that ConsoleControl protocol is missing or not working. We plan to rework the configuration for output settings as currently we cannot suppress some verbose output and things are a bit unintuitive.

We will not support legacy Windows installations, use UEFI.

Appreciate it, thank you! Happy to run some tests when and if you need me to.

Cheers
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
Thank you guys for all the hard-work being done.

The boot-picker works with my VEGA 64:
View attachment 892932

The Windows 10 CSM in separate SSD is not detected though I suppose it is expected as it is CSM?
Unfortunately choosing the W10 CSM from the start-up didn't works too, it will shows the OC boot picker back on restart instead of booting into W10 hence I'm not able to boot to W10 CSM at the moment.
To Boot to W10 CSM I have to disable the RequestBootVarRouting, however this will disable OC once I boot into W10 even booting back to NVMe Mojave won't re-enable the OC (the boot picker is not being displayed).


The OC is installed on NVMe and I can see the cloned connected in SATA 1 just fine.

Is Catalina save to be used with Dual Xeon Mac Pro or need additional steps aside from the page 1?

Thank you.
AFAIK, that’s the expected behaviour.

As you said, legacy Windows is not supported. Neither via OC boot picker, nor system preferences -> startup disk (when RequestBootVarRouting is ON).

EFI Windows will work via OC boot picker on cMP, tested (with RX580). However, since UEFI Windows may brick the cMP logic board (very low risk, but exist). So, not an ideal option either.

Once turn RequestBootVarRouting off, and boot legacy Windows. We need to re-bless OpenCore once we boot back to MacOS (via Bootcamp apps -> startup disk). This is what I am doing now. I only need to run Windows on cMP occasionally, not a big problem for me. But I can understand most people prefer that OC boot picker can just work for every OS.

I still believe bridge boot OC (to activate boot screen) -> rEFInd can be our final solution. But haven’t figured out how to do it yet (at least not with the Radeon VII yet, which can see the OC boot picker).

For Vega, since you can see the boot picker. I bet you can simply select rEFInd in OC boot picker, then further boot legacy Windows.
 
Last edited:
  • Like
Reactions: octoviaa

startergo

macrumors 603
Sep 20, 2018
5,021
2,283
You may want to try "SignalAppleOS". I found booting to Windows (maybe something else as well) behaves differently. For instance I never lost Windows boot screen all the way when it logged in Windows.
 
  • Like
Reactions: octoviaa

startergo

macrumors 603
Sep 20, 2018
5,021
2,283
Just saw this in WEG:
"Add `shikigva=80` argument to boot-args or to DeviceProperties in any GPU. If this causes freezes (partially fixed in 10.15.4+), fallback to `shikigva=16`. Please note that not all DRM types are available in different configurations, follow [check list](https://applelife.ru/posts/846582) to diagnose DRM support. "
Just FYI I still use shikigva=144 and there are no freezes. So if someone has freezes can try that.
 

octoviaa

macrumors regular
Oct 19, 2013
172
88
AFAIK, that’s the expected behaviour.

As you said, legacy Windows is not supported. Neither via OC boot picker, nor system preferences -> startup disk (when RequestBootVarRouting is ON).

EFI Windows will work via OC boot picker on cMP, tested (with RX580). However, since UEFI Windows may brick the cMP logic board (very low risk, but exist). So, not an ideal option either.

Once turn RequestBootVarRouting off, and boot legacy Windows. We need to re-bless OpenCore once we boot back to MacOS (via Bootcamp apps -> startup disk). This is what I am doing now. I only need to run Windows on cMP occasionally, not a big problem for me. But I can understand most people prefer that OC boot picker can just work for every OS.

I still believe bridge boot OC (to activate boot screen) -> rEFInd can be our final solution. But haven’t figured out how to do it yet (at least not with the Radeon VII yet, which can see the OC boot picker).

For Vega, since you can see the boot picker. I bet you can simply select rEFInd in OC boot picker, then further boot legacy Windows.
Thank you H98,

Do you have / know a good tutorial to install reFind safely in MP 5,1?
are below a good one to start or you have other suggestion?

If I'm not mistaken the idea is to have a reFind EFI boot folder along with OC.
- OC as the main boot manager
- OC will display the reFind as option to boot in the OC boot-picker
- Chose the reFind in the OC boot-picker
- reFind displays boot options (hopefully this will shows the W10 CSM).

Are my understanding above correct?

Thanks.
 

Ludacrisvp

macrumors 6502a
May 14, 2008
797
363
If I'm not mistaken the idea is to have a reFind EFI boot folder along with OC.
- OC as the main boot manager
- OC will display the reFind as option to boot in the OC boot-picker
- Chose the reFind in the OC boot-picker
- reFind displays boot options (hopefully this will shows the W10 CSM).
Correct, that is the theory.
 

cdf

macrumors 68020
Original poster
Jul 27, 2012
2,256
2,583
Just saw this in WEG:
"Add `shikigva=80` argument to boot-args or to DeviceProperties in any GPU. If this causes freezes (partially fixed in 10.15.4+), fallback to `shikigva=16`. Please note that not all DRM types are available in different configurations, follow [check list](https://applelife.ru/posts/846582) to diagnose DRM support. "
Just FYI I still use shikigva=144 and there are no freezes. So if someone has freezes can try that.

I can confirm that DRM freezing is fixed for the RX 580.
 
  • Like
Reactions: h9826790

octoviaa

macrumors regular
Oct 19, 2013
172
88
Correct, that is the theory.
I've tried copying reFind into the EFI folder (both to my SATA Mojave and NVMe Mojave SSD) unfortunately it didn't shows up in the OC bootpicker.

Steps I've done:
- Download the rEFind as stated in the guide: http://www.rodsbooks.com/refind/getting.html

- mount EFI folder in NVMe and copy the rEFind folder into the EFI folder
- delete arm and i32 architecture file / folders
- edit the rEFind.conf file to disable nvram_write

1581102570020.png


Unfortunately the OC boot picker didn't shows the option to choose the rEFInd, it shows both of my MacOS(s) along with its respective recovery.

Did I miss some steps?

Note: the picture shows rEFInd folder along with OC which is on NVMe, however I also copy the rEFInd folder under SATA Mojave.
 

startergo

macrumors 603
Sep 20, 2018
5,021
2,283
I've tried copying reFind into the EFI folder (both to my SATA Mojave and NVMe Mojave SSD) unfortunately it didn't shows up in the OC bootpicker.

Steps I've done:
- Download the rEFind as stated in the guide: http://www.rodsbooks.com/refind/getting.html

- mount EFI folder in NVMe and copy the rEFind folder into the EFI folder
- delete arm and i32 architecture file / folders
- edit the rEFind.conf file to disable nvram_write

View attachment 893052

Unfortunately the OC boot picker didn't shows the option to choose the rEFInd, it shows both of my MacOS(s) along with its respective recovery.

Did I miss some steps?

Note: the picture shows rEFInd folder along with OC which is on NVMe, however I also copy the rEFInd folder under SATA Mojave.
For loading refind you may try bless override section and unusual boot paths inside.
 

Ludacrisvp

macrumors 6502a
May 14, 2008
797
363
I've tried copying reFind into the EFI folder (both to my SATA Mojave and NVMe Mojave SSD) unfortunately it didn't shows up in the OC bootpicker.

Steps I've done:
- Download the rEFind as stated in the guide: http://www.rodsbooks.com/refind/getting.html

- mount EFI folder in NVMe and copy the rEFind folder into the EFI folder
- delete arm and i32 architecture file / folders
- edit the rEFind.conf file to disable nvram_write

View attachment 893052

Unfortunately the OC boot picker didn't shows the option to choose the rEFInd, it shows both of my MacOS(s) along with its respective recovery.

Did I miss some steps?

Note: the picture shows rEFInd folder along with OC which is on NVMe, however I also copy the rEFInd folder under SATA Mojave.
I don't think that you can have OC launch refind from on the same EFI partition but maybe it can be done.
My mind says to check if you have "connectdrivers" enabled and what your scan policy is.
when i was doing testing chainloading refind I had refind installed on a USB drive.
You can also do an advanced configuration of refind that will make it show in the system prefpane and in theory then it should be able to boot via oc using the boot var routing function.
 
  • Like
Reactions: octoviaa

octoviaa

macrumors regular
Oct 19, 2013
172
88
I don't think that you can have OC launch refind from on the same EFI partition but maybe it can be done.
My mind says to check if you have "connectdrivers" enabled and what your scan policy is.
when i was doing testing chainloading refind I had refind installed on a USB drive.
You can also do an advanced configuration of refind that will make it show in the system prefpane and in theory then it should be able to boot via oc using the boot var routing function.
For loading refind you may try bless override section and unusual boot paths inside.

Thank you both Ludacrisvp and Startego, however all your suggestions are currently beyond my understanding :)

I'll try to find out more about what you guys are suggesting.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.