在iMac上逆向devise“目标显示模式”

我有一个计算机实验室,有一些老式的iMac电脑(2011年左右)。 大多数人现在只是想用它们作为笔记本电脑的显示器,而在MacOS中使用目标显示模式,这个(大部分)工作正常。

不过,我也想在Linux下支持这一点,它与MacOS平行安装在所有的iMac上。 我对Linux内核相当有经验(我已经编写了内核驱动程序),但是我基本上对MacOS一无所知 – 因此,我正在寻找关于如何确定TDM是如何被触发的指针(即Cmd 会发生什么-F2被按下)。

我猜这主要涉及到编写一些英特尔GPU寄存器,但我不知道哪一个MacOS实际上是负责的。 任何提示?

所以我毕竟是自己想出来的。 看了libsmc,SMCKit,smc_util和applesmc驱动程序后,发现写入0x02到SMC键“MVMR”将导致显示切换到DisplayPort输入。

有关详细信息,请参阅我的简短博客文章: http : //floe.butterbrot.org/matrix/hacking/tdm/