逆向设计iMac上的“目标显示模式”

时间:2017-04-19 09:26:24

标签: linux macos reverse-engineering

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

但是,我也想在Linux下支持这个功能,Linux安装在与MacOS并行的所有iMac上。我对Linux内核相当熟悉(我已经编写了内核驱动程序),但我基本上不了解MacOS - 因此,我正在寻找关于如何弄清楚TDM是如何实际触发的指针(即发生了什么? > 按下Cmd-F2后)。

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

1 个答案:

答案 0 :(得分:8)

毕竟我自己想通了。在查看libsmc,SMCKit,smc_util和applesmc驱动程序之后,我发现将0x02写入SMC键" MVMR"将导致显示切换到DisplayPort输入。

有关详情,请参阅我的简短博文: https://floe.butterbrot.org/matrix/hacking/tdm/

工具在Github上:https://github.com/floe/smc_util