MacOS用の拡張グラフィックドライバで作業していて、IOFrameBufferクラスを使用してリニアフレームバッファデバイスを公開しています。私のドライバでは、getVRAMRange()を使用して、フレームバッファデバイスのメモリウィンドウ全体のビデオRAMアドレス情報を返します。IOFramebufferがmacOSのVRAMフレームバッファにアクセスできない10.13
問題は次のとおりです。ドライバはMacOS 10.12でも正常に動作しますが、システムをMacOS 10.13 High Sierraにアップグレードすると、もうビデオRAMデータにアクセスできなくなります。この問題に関するヒントはありますか?どうもありがとう!
さらに、ドライバがセーフモードでうまく動作する理由も混乱していますか?
ご協力いただきありがとうございます。私はそれが金属の影響を受けたとも思う。ユーザー空間でCGDislplayCreateImage()関数を使用しようとしましたが、パフォーマンスが低すぎて私たちの要件を満たせません。 私が知っているように、DisplayLinkの最新ドライバ(http://www.displaylink.com/downloads/file?id=1033)はMacOS 10.13でもうまくいくので、間違いなく、ビデオラムデータ。他の提案はありますか? –
私が知っている限り、 'CGDislplayCreateImage()'は現在のところ動作する唯一のメソッドです。それは確かに余分なフレームバッファのコピーを追加しますが、それとリアルタイムのパフォーマンスを達成することは間違いありません。アップルにバグ(レーダー)を提出して、それを修正するよう促してください。 – pmdj