All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
- 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.
3.2 KiB
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+)
- Logi Options+ → MX Keys S → Smart Actions
- Create action triggered by F12
- 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)
- Settings → Keyboard → Custom Shortcuts
- 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
- Press Easy-Switch button to select channel (2 for Nobara, 3 for Mac)
- Hold 3 seconds until LED blinks fast
- 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 |