Skip to content

Latest commit

 

History

History
126 lines (82 loc) · 2.89 KB

File metadata and controls

126 lines (82 loc) · 2.89 KB

Mac Setup Guide — m1ddc on Apple Silicon

This guide walks you through installing m1ddc, verifying that DDC/CI communication works with your Samsung LS24D300G, and running your first control commands.

Prerequisites

  • Apple Silicon Mac (M1 or later)
  • macOS 12 (Monterey) or later
  • Homebrew installed
  • Monitor connected via HDMI

1. Install m1ddc

brew install m1ddc

Verify the installation:

which m1ddc
# → /opt/homebrew/bin/m1ddc

m1ddc --version

2. Identify your display number

m1ddc numbers connected displays starting from 1.

m1ddc display list

If your Samsung is the only DDC-capable display, it will appear as display 1. If you have multiple monitors, note the index that corresponds to the Samsung.

Note: The macOS display path for the Samsung remains visible even while the monitor is showing a different input (e.g., VGA). This is normal and expected — the HDMI connection is electrically present.


3. Read the current luminance

m1ddc display 1 get luminance

Expected output: a single integer such as 40.

If you see an error like "no display found" or "DDC not supported", check:

  • The monitor is powered on and connected via HDMI
  • System Preferences → Displays shows the Samsung
  • You are not running the command with sudo (DDC requires the normal user session)

4. Test a brightness change

# Save your current value first
m1ddc display 1 get luminance

# Set to a noticeably lower value
m1ddc display 1 set luminance 20

# Restore
m1ddc display 1 set luminance 40

You should see the panel brightness change in real time.


5. Switch to VGA (confirmed working)

m1ddc display 1 set input 1

The monitor will switch to its VGA input.

Important: After switching to VGA, DDC commands sent from the Mac still reach the monitor over the HDMI path. Brightness and contrast changes will apply to the panel even while it displays VGA content. See DDC/CI Source Switching for why.


6. Install the helper script (optional)

The monitor-ddc-probe script (included in scripts/) automates probing and scanning:

cp scripts/monitor-ddc-probe ~/bin/monitor-ddc-probe
chmod +x ~/bin/monitor-ddc-probe

Confirm it is on your PATH:

monitor-ddc-probe --help

What about ddcctl?

ddcctl is an older DDC/CI tool for macOS. During testing it was found to detect the display but fail at framebuffer acquisition on current macOS builds with Apple Silicon. Do not use ddcctl for this workflow. m1ddc is the correct tool for M-series Macs.


Next Steps