[PR #473] [CLOSED] Add experimental Apple Silicon support #1100

Closed
opened 2026-05-05 07:04:40 -06:00 by gitea-mirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/MonitorControl/MonitorControl/pull/473
Author: @JoniVR
Created: 7/25/2021
Status: Closed

Base: experimental/apple-siliconHead: master


📝 Commits (10+)

  • 40d046d Initial modifications to compile on M1 mac cleanly including OSD.framework
  • e75dc5a Update README.md
  • 59fd796 Creating placeholders where M1 ddc control will be inserted. Allow placeholder functionality to work on M1.
  • 1c13d9f Merge remote-tracking branch 'refs/remotes/origin/master'
  • d497d70 Cleanup
  • 7c9ab68 Implementing rudimentary M1 DDC write in Swift. Should work but still doesn't (works in Objective C though). Maybe next time... :)
  • d3edc71 M1 DDC brightness and volume write is working now (in 100% swift). Reading is coming up. More sophisticated monitor detection and guards will be implemented soon.
  • f0faf1d Update README.md
  • 6501536 Update README.md
  • e351ad1 Update README.md

📊 Changes

27 files changed (+290 additions, -428 deletions)

View changed files

📝 MonitorControl.xcodeproj/project.pbxproj (+26 -69)
📝 MonitorControl/AppDelegate.swift (+1 -2)
📝 MonitorControl/Assets.xcassets/Contents.json (+3 -3)
MonitorControl/Assets.xcassets/KeyboardPref.imageset/Contents.json (+0 -23)
MonitorControl/Assets.xcassets/KeyboardPref.imageset/Keyboard-32.png (+0 -0)
MonitorControl/Assets.xcassets/KeyboardPref.imageset/Keyboard-64.png (+0 -0)
MonitorControl/Assets.xcassets/KeyboardPref.imageset/Keyboard-96.png (+0 -0)
📝 MonitorControl/Info.plist (+1 -1)
📝 MonitorControl/Manager/DisplayManager.swift (+1 -1)
📝 MonitorControl/Model/ExternalDisplay.swift (+133 -10)
📝 MonitorControl/Model/InternalDisplay.swift (+52 -0)
📝 MonitorControl/Support/Bridging-Header.h (+8 -0)
📝 MonitorControl/Support/Utils.swift (+24 -3)
📝 MonitorControl/UI/Base.lproj/Main.storyboard (+7 -7)
📝 MonitorControl/UI/Base.lproj/MainMenu.xib (+1 -2)
📝 MonitorControl/UI/SliderHandler.swift (+3 -1)
📝 MonitorControl/View Controllers/MainPrefsViewController.swift (+1 -1)
📝 MonitorControlHelper/Info.plist (+1 -1)
OSD.framework/OSD (+0 -1)
OSD.framework/Resources (+0 -1)

...and 7 more files

📄 Description

Hi @waydabber!

related to #323

As I mentioned earlier this week, I'm open to starting an experimental branch on this repo with pre-releases so we can get a broad audience for testing.

I think there’s a couple of things that we could still improve here at first sight:

  • I would avoid using “m1” naming in code and instead move to either “Apple Silicon” or “arm64” since I’m pretty sure Apple won’t be calling their arm chips m1 forever. I personally would go for arm64 since this is already used for ifdeffing stuff.
  • Probably best to move your current modified README to an “Apple Silicon.md” file? We can still link it on the main README, as it does contain a lot of important info. We could also include it in the Wiki possibly.
  • I know we just released a 2.0.0 recently, but given Apple Silicon support is a pretty big deal to a lot of users, I’d be all for bumping straight to 3.0.0. This also allows us to do some regular 2.x.x releases in between pre-releases.

Feel free to let me know if you disagree with anything here or if you have different opinions.

I'm going to send you an invite to the MonitorControl team, this will allow you to keep committing on the experimental/apple-silicon branch.


We could really use someone with an M1 device for testing and general maintaining of the project. I remember you helping on an earlier fork I used to maintain before we all moved back to this repo, so I figured you’d perhaps want to help maintain this. If you don’t have time for this or don’t feel like it, no big deal :)

Thanks for all the effort you’ve put in so far. It's much appreciated.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/MonitorControl/MonitorControl/pull/473 **Author:** [@JoniVR](https://github.com/JoniVR) **Created:** 7/25/2021 **Status:** ❌ Closed **Base:** `experimental/apple-silicon` ← **Head:** `master` --- ### 📝 Commits (10+) - [`40d046d`](https://github.com/MonitorControl/MonitorControl/commit/40d046da3131284bfd1d48149202f5e6fd847c85) Initial modifications to compile on M1 mac cleanly including OSD.framework - [`e75dc5a`](https://github.com/MonitorControl/MonitorControl/commit/e75dc5a0158df0935aa56cb35629f780f0ac34c3) Update README.md - [`59fd796`](https://github.com/MonitorControl/MonitorControl/commit/59fd79645af00316e50767f9da451d628472a4a3) Creating placeholders where M1 ddc control will be inserted. Allow placeholder functionality to work on M1. - [`1c13d9f`](https://github.com/MonitorControl/MonitorControl/commit/1c13d9f0187435cdde82429321ad03c1fdfee8e9) Merge remote-tracking branch 'refs/remotes/origin/master' - [`d497d70`](https://github.com/MonitorControl/MonitorControl/commit/d497d7067d98174de31ef061e34d7dfe13e1dc2d) Cleanup - [`7c9ab68`](https://github.com/MonitorControl/MonitorControl/commit/7c9ab68ac8953ee4acd697034703848d3d1288f6) Implementing rudimentary M1 DDC write in Swift. Should work but still doesn't (works in Objective C though). Maybe next time... :) - [`d3edc71`](https://github.com/MonitorControl/MonitorControl/commit/d3edc71b6186a7836346bb05a7caea9332d4d483) M1 DDC brightness and volume write is working now (in 100% swift). Reading is coming up. More sophisticated monitor detection and guards will be implemented soon. - [`f0faf1d`](https://github.com/MonitorControl/MonitorControl/commit/f0faf1d3da2a6baa233cc3066216275391f2f6ba) Update README.md - [`6501536`](https://github.com/MonitorControl/MonitorControl/commit/65015366254e303c40679637b6aedcc582a3fdf5) Update README.md - [`e351ad1`](https://github.com/MonitorControl/MonitorControl/commit/e351ad12bc1ba99311e370e637c1b67f47bf4dce) Update README.md ### 📊 Changes **27 files changed** (+290 additions, -428 deletions) <details> <summary>View changed files</summary> 📝 `MonitorControl.xcodeproj/project.pbxproj` (+26 -69) 📝 `MonitorControl/AppDelegate.swift` (+1 -2) 📝 `MonitorControl/Assets.xcassets/Contents.json` (+3 -3) ➖ `MonitorControl/Assets.xcassets/KeyboardPref.imageset/Contents.json` (+0 -23) ➖ `MonitorControl/Assets.xcassets/KeyboardPref.imageset/Keyboard-32.png` (+0 -0) ➖ `MonitorControl/Assets.xcassets/KeyboardPref.imageset/Keyboard-64.png` (+0 -0) ➖ `MonitorControl/Assets.xcassets/KeyboardPref.imageset/Keyboard-96.png` (+0 -0) 📝 `MonitorControl/Info.plist` (+1 -1) 📝 `MonitorControl/Manager/DisplayManager.swift` (+1 -1) 📝 `MonitorControl/Model/ExternalDisplay.swift` (+133 -10) 📝 `MonitorControl/Model/InternalDisplay.swift` (+52 -0) 📝 `MonitorControl/Support/Bridging-Header.h` (+8 -0) 📝 `MonitorControl/Support/Utils.swift` (+24 -3) 📝 `MonitorControl/UI/Base.lproj/Main.storyboard` (+7 -7) 📝 `MonitorControl/UI/Base.lproj/MainMenu.xib` (+1 -2) 📝 `MonitorControl/UI/SliderHandler.swift` (+3 -1) 📝 `MonitorControl/View Controllers/MainPrefsViewController.swift` (+1 -1) 📝 `MonitorControlHelper/Info.plist` (+1 -1) ➖ `OSD.framework/OSD` (+0 -1) ➖ `OSD.framework/Resources` (+0 -1) _...and 7 more files_ </details> ### 📄 Description Hi @waydabber! related to #323 [As I mentioned earlier this week](https://github.com/MonitorControl/MonitorControl/discussions/379#discussioncomment-1034921), I'm open to starting an experimental branch on this repo with pre-releases so we can get a broad audience for testing. I think there’s a couple of things that we could still improve here at first sight: - [ ] I would avoid using “m1” naming in code and instead move to either “Apple Silicon” or “arm64” since I’m pretty sure Apple won’t be calling their arm chips m1 forever. I personally would go for arm64 since this is already used for ifdeffing stuff. - [ ] Probably best to move your current modified README to an “Apple Silicon.md” file? We can still link it on the main README, as it does contain a lot of important info. We could also include it in the Wiki possibly. - [ ] I know we just released a 2.0.0 recently, but given Apple Silicon support is a pretty big deal to a lot of users, I’d be all for bumping straight to 3.0.0. This also allows us to do some regular 2.x.x releases in between pre-releases. Feel free to let me know if you disagree with anything here or if you have different opinions. I'm going to send you an invite to the MonitorControl team, this will allow you to keep committing on the experimental/apple-silicon branch. 

We could really use someone with an M1 device for testing and general maintaining of the project. I remember you helping on an earlier fork I used to maintain before we all moved back to this repo, so I figured you’d perhaps want to help maintain this. If you don’t have time for this or don’t feel like it, no big deal :) Thanks for all the effort you’ve put in so far. It's much appreciated. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
gitea-mirror 2026-05-05 07:04:40 -06:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/MonitorControl#1100
No description provided.