Files
infrastructure/scripts/kvm/README.md
XTRM-Unraid 2d67ba5cb5
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Add KVM scripts for Mac/Nobara switching
- to_mac.sh: Switch from Nobara to Mac (monitor USB-C, peripherals Ch3)
- to_nobara.sh: Switch from Mac to Nobara (monitor HDMI2, peripherals Ch2)
- README.md: Setup instructions for both machines

Uses DDC/CI for monitor and HID++ for Logitech Bolt peripherals.
2026-02-01 11:46:24 +02:00

3.2 KiB

KVM Switch: Mac ↔ Nobara

Software KVM to switch Dell U3821DW monitor and Logitech MX peripherals between Mac and Nobara.

Hardware

  • Monitor: Dell U3821DW (USB-C to Mac, HDMI 2 to Nobara)
  • Keyboard: Logitech MX Keys S
  • Mouse: Logitech MX Master 3S
  • Bolt #1: Connected directly to Nobara
  • Bolt #2: Connected to Dell monitor USB hub (routes to Mac via USB-C)

Channel Setup

Channel Code Connection Computer
2 0x01 Bolt #1 Nobara
3 0x02 Bolt #2 (via monitor) Mac

Mac Setup

Prerequisites

# Install m1ddc (DDC control for Apple Silicon)
brew install m1ddc

# Install hidapitester
curl -sL https://github.com/todbot/hidapitester/releases/latest/download/hidapitester-macos-arm64.zip -o /tmp/hidapitester.zip
unzip -o /tmp/hidapitester.zip -d ~/bin/
chmod +x ~/bin/hidapitester

Install Script

mkdir -p ~/scripts
cp to_nobara.sh ~/scripts/
chmod +x ~/scripts/to_nobara.sh

Keyboard Shortcut (Logi Options+)

  1. Logi Options+ → MX Keys S → Smart Actions
  2. Create action triggered by F12
  3. Action: Open File → ~/scripts/to_nobara.sh

Nobara Setup

Prerequisites

# Install ddcutil
sudo dnf install -y ddcutil

# Add user to i2c group (REBOOT REQUIRED)
sudo usermod -aG i2c $USER

# Install hidapitester
mkdir -p ~/bin
curl -sL https://github.com/todbot/hidapitester/releases/latest/download/hidapitester-linux-amd64.zip -o /tmp/hidapitester.zip
unzip -o /tmp/hidapitester.zip -d ~/bin/
chmod +x ~/bin/hidapitester
rm /tmp/hidapitester.zip

# Udev rule for non-root HID access
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c548", MODE="0666"' | \
  sudo tee /etc/udev/rules.d/99-logitech-bolt.rules
sudo udevadm control --reload-rules && sudo udevadm trigger

Install Script

mkdir -p ~/scripts
cp to_mac.sh ~/scripts/
chmod +x ~/scripts/to_mac.sh

Keyboard Shortcut (GNOME)

  1. Settings → Keyboard → Custom Shortcuts
  2. Add shortcut:
    • Name: KVM to Mac
    • Command: /home/USER/scripts/to_mac.sh
    • Shortcut: F12

Pairing Peripherals

Each device must be paired to BOTH Bolt receivers:

MX Master 3S / MX Keys S

  1. Press Easy-Switch button to select channel (2 for Nobara, 3 for Mac)
  2. Hold 3 seconds until LED blinks fast
  3. Use Logi Options+ (Mac) or Solaar (Linux) to complete pairing

Install Solaar (Linux)

sudo dnf install solaar
solaar &
# Click "Pair new device" while peripheral is blinking

Troubleshooting

Monitor doesn't switch

  • Check DDC/CI is enabled: Monitor Menu → Others → DDC/CI → On
  • Mac: Ensure USB-C cable supports data (not video-only)
  • Linux: Ensure user is in i2c group and rebooted

Peripherals don't switch

  • Verify devices are paired to both Bolt receivers
  • Check device indices with: solaar show (Linux)
  • Device indices (0x01, 0x02) depend on pairing order

Find correct device indices

# On Linux with solaar
solaar show

# Or query via HID++
hidapitester --vidpid 046d/c548 --list-detail

DDC Input Codes (Dell U3821DW)

Input Code
HDMI 1 17
HDMI 2 18
USB-C 27
DP 1 15
DP 2 16