Git Product home page Git Product logo

dfrdisplaykm's Introduction

Touch Bar (DFR) Display Driver for Windows

This driver implements custom display functionality for Apple Touch Bar (DFR) on Windows 10. Touch Bar is a USB composite device with two configurations. The first configuration implements basic function and media key input. Windows always takes the first configuration by default.

With proper configuration in the USB composite device driver stack, it is possible to select the second configuration for achieving advanced display and input functionalities.

This driver implements the display (iBridge Display). The composition device also exposes a HID-compliant Touch Pad (actually, a Touch Screen). It does report Y-axis data but such data are useless due to the form factor of Touch Bar. For more information about the HID digitizer, see DFRContentHost for further details.

Motivation

Keep myself busy during the last few weeks of my internship (thank you LinkedIn & Microsoft)

I should register this project to //oneweek/ next time

Installation

No official signed binary will be built at this moment. To build the driver, a few software needs to be installed including Visual Studio 2019 (with C/C++ workload) and Windows 10 Driver Kit, Version 1903. Install DFRUsbCcgp.inf for the "Apple Touch Bar" device first, then install DFRDisplayKm.inf for the "iBridge Display" device.

You need to turn off Secure Boot as described in the Apple Knowledge Base.

IOCTLs

Two IOCTLs are provided:

  • IOCTL_DFR_UPDATE_FRAMEBUFFER: Update the FrameBuffer.
  • IOCTL_DFR_CLEAR_FRAMEBUFFER: Clear the FrameBuffer.

Check the badly-written user-mode application example DFRDisplayUm.Utility.Console for detailed usage.

Known Caveats

  • Only Apple T2-based MacBook Pro(s) are confirmed supported. T1 support is added but not yet tested.
  • The driver might fails to load on T2 cold boot. Reboot the computer once and it should work.
  • UDCL read acknowledgement is implemented, but I have not yet intensively tested.
  • FrameBuffer update/clear are synchronous calls.

License

Copyright (c) Bingxing Wang. All rights reserved.

Licensed under the MIT License.

dfrdisplaykm's People

Contributors

imbushuo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dfrdisplaykm's Issues

request/testing-binaries

Hi, would be possible to have testing binaries? i installed the unsigned touchpad precision driver, might aswell install this one, but i dont have VS Studio installed, if it possible to provide it in releases or something would be nice, im currently on Win 1903 on MBP 13.3 2019
thanks

Any solutions without turning off driver signature enforcement?

I would really love to have signed binaries provided, because I have an interest in making my own UI using WinUI2/3 and showing it in the Touch Bar of my MacBook Pro 2020. All these while still being able to play anticheat-protected games such as Fortnite.

Or perhaps having a user-mode version of this driver would be enough for this? Nonetheless I don't know much about making drivers.

Answers are appreciated :)

No iBridge Display in device manager.

Using 16inch Macbook Pro. iBridge Display is not showed in the device manager, I've tried to check what cause the problem, I have found that Apple did not put any driver about iBridge Display under the bootcamp drivers but touchbar can work without any problems.
image
image
image

nothing display on the touchbar.

Hi, I'm using a 16inch machine. I have successfully build the driver and console program tho, but I can not found a 'iBridge Display' device in device manager.
Then I have only install the driver for "apple touch bar", after that I got two new device:
image
After run the console program, I can make the function keys works but there's still nothing display on the touchbar.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.