105

When I plug my Mac into a DisplayPort monitor that has loudspeakers, the Mac's volume controls become disabled.

Is Apple assuming that if I have external speakers I am so much better using their own volume control that I have to be forced to do it? That is annoying because the monitor's volume controls are buried in terrible menus accessed by terrible buttons on the back of the monitor.

Also, if I am inside an app where I can select the audio device and I select the Mac's internal speakers, the volume controls are STILL disabled. Is there no way to control the volume of an app when an external speaker is connected even if the app is not using the external speaker?????

Some additional info: It's a Macbook Pro 13" 2018 version. Using a Thunderbolt to Displayport cable, plugging in to a Dell monitor with speakers. In another location I use the same cable to plug in to Dell monitors with Displayport but without built in speakers in the monitors. At that location the volume controls remain active and they control the internal speaker in the laptop as they should.

2
  • Usually, this happens when you are using digital audio(the thunderbolt cable instead of a 3.5 mm jack), so unless you want to lose audio quality, the Mac can't control the volume. Try using a regular 3.5 mm cable to the monitor and/or disable the speakers on the display(there must be an option for that somewhere)
    – airsquared
    Commented Sep 17, 2018 at 17:09
  • Adding a clarification now, 2 years after asking the question. If an app allows you to select an output device, you can in fact control the volume of that device if it's not DP or HDMI. But you have to ALSO select that device in the master audio control in the header bar. The third paragraph of my question was either wrong when I wrote it, or the problem has been fixed. I'll provide more details in an answer below.
    – jay613
    Commented Dec 10, 2020 at 21:28

11 Answers 11

59

It's because Apple computers don't support CEC (Consumer Electronics Control).

Basically, macOS doesn't allow you to control end devices attached via HDMI or DisplayPort. Changing the volume would be considered "controlling the device"

10
  • 12
    I can accept this (even if I don't like it) as the answer to why I cannot control the Dell monitor's speakers from the Mac volume control. But this doesn't explain why I cannot control the volume of the MacBook's internal speakers while the external monitor is plugged in! I can unplug the monitor, change the volume of the internal speakers, and plug the monitor back in. That works but is ridiculous.
    – jay613
    Commented Sep 17, 2018 at 17:40
  • Is sound coming from the internal speakers? What does it say in Sys Prefs -> Sound?
    – Allan
    Commented Sep 17, 2018 at 17:45
  • Yes, sound does come from the internal speakers. Some apps allow you to select the audio device. The internal speakers and the external monitor appear as choices. If I select the internal speakers for an app, the sound does come out that way. It comes out at the volume that was set before I plugged in the external monitor. I don't have access to the relevant monitor right now, I will update this comment later, when I do, with what I see in System Preferences.
    – jay613
    Commented Sep 17, 2018 at 18:04
  • 2
    This answer is correct. Thank you. You simply cannot control volume of a DP monitor from a Mac. You can still direct an app to use internal speakers, but because the Mac has disabled ALL volume control, you can't control volume of the internal speakers either. You can disconnect the monitor, turn the internal speakers up or down, reconnect the monitor and then use the internal speakers. It's pathetic.
    – jay613
    Commented Sep 28, 2018 at 13:48
  • 3
    I have a monitor with no speakers and plugging it in disables volume controls... even when I'm using a bluetooth headset for my output. This is not a valid feature, it is a bug and needs to be fixed.
    – Dave
    Commented Aug 27, 2020 at 14:32
142
  1. MonitorControl Control your external monitor brightness & volume on your Mac. It does not require installing a driver.
  2. Proxy Audio Device MacOS app that creates a virtual output device with software audio control that routes the audio to another output device.
  3. SoundFlower MacOS system extension that allows applications to pass audio to other applications.
16
  • 24
    First impression of MonitorControl is great. Unlike the other solutions, it looks like it uses CEC/MCCS to change the volume (and brightness) settings of the monitor itself. Others control the level of sound your Mac sends to the monitor. Thanks!
    – Jimothy
    Commented Nov 15, 2019 at 15:02
  • 8
    MonitorControl simply "sexy" and I feel bad about my past because I don't find this earlier.
    – Sai
    Commented May 23, 2020 at 19:01
  • 1
    Loopback is a paid software by the creators of SoundFlower, if you are looking for a solution that costs money but accomplishes this easily without problems.
    – P A N
    Commented Aug 17, 2020 at 10:54
  • 4
    MonitorControl is almost a solution here, but still doesn't solve the problem of not being able to control the "master" volume when a monitor is plugged in. If I crank my laptop volume to the max while unplugged from the monitor, then plug the monitor in, even the lowest monitor volume setting will still be deafening. In order to calibrate the range, I have to unplug the monitor, adjust the internal volume, then plug the monitor back in to see if it's more acceptable. Rinse and repeat. (Still, at least I can control the monitor using my freaking mouse.) Commented Sep 16, 2020 at 18:52
  • 3
    MonitorControl is pretty impressive :). Thanks Commented Jan 4, 2021 at 14:24
32

I did the 14 day trial of SoundControl which did work, but I wasn't really willing to pay $15 for something that I feel should be available out of the box for all MacOS machines.

After some more digging I came across eqMac2. Quick install, free and open source, and worked straight away. Highly recommend anyone reading this to give it a try.

9
  • 1
    eqMac2 doesn't work on Catalina, I have issues installing the drivers. I already sent an inquiry to the developer and waiting for his response.
    – Mohamed
    Commented Mar 29, 2020 at 8:52
  • 1
    @Mohamed For me eqMac2 works on Catalina (10.15.4). Aaronias, I can't tell you how much I love you. I was looking so many times for this basic feature and now I can control my volume with my volumes keys! It's insane! Glad to see that I'm not alone with this stupid Apple issue.
    – Martin Cup
    Commented Apr 12, 2020 at 13:27
  • @MartinCup Yes I have tried it and it's working on Catalina 10.15.4, I was using another version of Catalina. Thanks a lot.
    – Mohamed
    Commented Apr 17, 2020 at 20:29
  • Works on Catalina 10.15.5 (19F101) Commented Jul 2, 2020 at 17:05
  • 2
    OMG THANK YOU... I cant believe this isn't already built into OSX! Oh wait, I can believe it.. so many things in OSX are counterintuitive or missing (missing up arrow in finder anyone)? eqMac2 is amazing. Commented Mar 8, 2021 at 6:47
12

I found two commercial apps which support this:

Both apps have a free trial. I've tried SoundSource and it works for me. I have not had the opportunity to try SoundControl.

4
  • These apps seem nice. Hopefully Apple will include this functionality in a macos release. Thanks.
    – jay613
    Commented Jun 2, 2019 at 21:51
  • Incidentally, the title plus the accepted answer from Allan refer to DP or HDMI monitors, but I’ve found that the problem with the volume keys not working even applies to newer USB-C connected monitors. (But SoundSource works in that scenario too.) Commented Jun 2, 2019 at 21:59
  • Sound control worked just after install. but after restart it stopped working. Commented Dec 11, 2020 at 9:03
  • Unlike a lot of alternatives at the time of writing, SoundSource actually works for this on a M1 (Apple Silicon) machine. Running it on my M1 Mac Mini now.
    – Henrik N
    Commented Dec 29, 2020 at 20:22
4

And there is an app for that,

build in to your OS X.

In the utility folder >> Audio MIDI

try it, you will like it !

It will allow you to have simultaneous output to multiple devices.

I could not test it for your set up so let me know if it worked.

enter image description here

6
  • My monitor is not a MIDI device. But I will look at this utility and will look for similar things within System Preferences and update in a comment later with what I see.
    – jay613
    Commented Sep 17, 2018 at 18:09
  • 2
    That has nothing to do with MIDI, it is just setting up multiple audio output.
    – Ruskes
    Commented Sep 18, 2018 at 3:58
  • 13
    I finally looked at this utility, and it looks nice but unfortunately doesn't change anything. Inside the utility the Master Volume for the internal speakers is disabled when the laptop is plugged in to a DP display. Just to emphasize, I understand now that a Mac cannot control the volume of a DP display, what's frustrating is that the INTERNAL speaker controls are also locked out when an external DP display is plugged in. Anyway -- thank you.
    – jay613
    Commented Sep 28, 2018 at 13:46
  • 2
    I was able to get this working using USC-C by playing around with Soundflower and creating a Multi-Output Device. I'm not quite sure how exactly I got it to work but switching between the different options seem to do something. I have my output in sound preferences set to Soundflower (2ch). I will post an answer if I get chance. I'm using an LG monitor with MacBook closed. Commented Nov 9, 2018 at 17:43
  • 1
    @Ruskes Setting up a "Multi-Output Device" using this app does NOT allow you to control the volume. Volume controls are disabled when any output is selected other than the "Built-in Output"
    – user335950
    Commented Aug 24, 2019 at 0:50
2

I have the exact same problem (in Big Sur with a LG UltraWide) and the only thing that worked for me was using the executable that is built using the code at https://github.com/MonitorControl/MonitorControl

2

There are several potential answers:

  • MonitorControl - uses actual CEC commands to control the volume (and brightness) on the monitor.
  • SoundFlower - creates a virtual device with a software volume control that can route sound to another device (your monitor).
  • BlackHole - similar software to SoundFlower.
  • Proxy Audio Device - creates a virtual device like SoundFlower. This was specifically created to solve this problem.

I included SoundFlower and BlackHole for completeness but the DO NOT WORK. SoundFlower is very old (2014) and I did manage to get it to work, but it stops working after about an hour.

BlackHole is similar to SoundFlower but unfortunately does not support outputting to another audio device so you can't use it for this purpose. There is a discussion about it.

So my suggestion is try MonitorControl, if that does not work use Proxy Audio Device.

MonitorControl did not work for me for some reason - I'm using a TESmart KVM switch and a Dell monitor. Volume control works fine on Windows so I assume either there's some quirk in MonitorControl, or Windows is actually not using CEC.

Proxy Audio Device seems to work pretty well so far.

1

One solution: use external monitors connected to the monitor's audio out jack. Then you have volume control. If using headphones then add a headphone volume control pass through on the wire.

1
  • I'm afraid this won't work for e.g. Sonos Beam speakers that only support optical and HDMI, and even with an analog-to-digital converter, I believe you'd only get stereo sound rather than surround sound (with a HTPC setup).
    – Henrik N
    Commented Dec 29, 2020 at 20:32
1

If an App allows you to select its output device, and you select one that allows volume control, you CAN control it even when a DP or HDMI monitor is connected. This is contrary to what I said in this question and contrary to my comments to the Accepted Answer. Perhaps this was fixed in the last two years or perhaps I was wrong when I wrote the question and comments.

Here's the complication and how you do it, that works today with Catalina and I think also worked with later versions of High Sierra.

Say you have your master audio output device set to "Monitor 2" (a DP monitor) and you have an app with it's own selectable audio output set to "USB Speaker", which allows volume control from the Mac's UI. In order to control that volume you have to first change the master Audio output to USB Speaker. If some other app that doesn't have its own device selection is making sound through the monitor, it will also switch to the USB speaker. But then you can modify the speaker's volume.

Switching between devices in the master controller will show you and allow you to control each device's volume, it's only the DP and HDMI ones will be greyed out.

1

The BetterDisplay app (https://github.com/waydabber/BetterDisplay) supports controlling volume as well as other monitor settings such as Input, Contrast, Brightness, etc. for all monitors that properly support the VESA DDC/CI standard. This is one of the only apps that supports not only Intel, but Apple Silicon as well as monitors that are connected via USB-C/TB, HDMI, or DP.

1
  • Problem solved! Plus 1000. Worth the price for the pro version.
    – bishop
    Commented Aug 21 at 15:13
0

Not perfect but you change master volume:

Shift + Option +

or

Shift + Option +

1
  • 1
    Doesn't work with external monitor volume "through HDMI" unfortunately...
    – rogerdpack
    Commented Nov 9, 2020 at 16:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .