70

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
    Sep 17 '18 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
    Dec 10 '20 at 21:28

10 Answers 10

39

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"

9
  • 8
    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
    Sep 17 '18 at 17:40
  • Is sound coming from the internal speakers? What does it say in Sys Prefs -> Sound?
    – Allan
    Sep 17 '18 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
    Sep 17 '18 at 18:04
  • 1
    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
    Sep 28 '18 at 13:48
  • 2
    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
    Aug 27 '20 at 14:32
84
  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.
10
  • 11
    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
    Nov 15 '19 at 15:02
  • 2
    MonitorControl simply "sexy" and I feel bad about my past because I don't find this earlier.
    – Sai
    May 23 '20 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
    Aug 17 '20 at 10:54
  • 2
    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.) Sep 16 '20 at 18:52
  • 1
    MonitorControl is pretty impressive :). Thanks Jan 4 at 14:24
24

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.

7
  • 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
    Mar 29 '20 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
    Apr 12 '20 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
    Apr 17 '20 at 20:29
  • Works on Catalina 10.15.5 (19F101) Jul 2 '20 at 17:05
  • 1
    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. Mar 8 at 6:47
9

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
    Jun 2 '19 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.) Jun 2 '19 at 21:59
  • Sound control worked just after install. but after restart it stopped working. Dec 11 '20 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
    Dec 29 '20 at 20:22
3

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
    Sep 17 '18 at 18:09
  • 2
    That has nothing to do with MIDI, it is just setting up multiple audio output.
    – Ruskes
    Sep 18 '18 at 3:58
  • 11
    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
    Sep 28 '18 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. Nov 9 '18 at 17:43
  • @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
    Aug 24 '19 at 0:50
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
    Nov 9 '20 at 16:57
0

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
    Dec 29 '20 at 20:32
0

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.

0

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

0

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.

You must log in to answer this question.

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