This project is the byproduct of a simple pr​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​oblem described over a late night burrito at Chipotle. DosDude1(Of High Sierra Patcher fame)had created a mod for MacBooks who's dedicated graphics chip had died. This mod allowed an owner to permanently bypass the dedicated graphics to use the integrated graphics instead. This was d​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​one by bypassing the graphics muxing chip on the mainboard of the machine. You can read more about it here
There was one slight problem. This mod required the owner to pass 3.3v to the backlight controller. This device, becau​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​se it takes a PWM signal would interpret the 3.3v as max brightness. This usually isn't an issue, until someone would like to use their MacBook in the dark.
Quite simply a solution to output the proper PWM signal to the backlight controller was nee​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ded. This was easy, until you factor in the fact that the user is going to want to control the backlight using the native controls on their system. DosDude and I began our deep dive into hardware modding taking on the concatenation of our usern​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ames DosLab as our psuedonym for this project. Below you will learn all about project DyingLight including how to use it to return your MacBook to almost-native glory.
The board pictured below is the original Mk.I board. The Mk.II board is connected the same way, and is smaller, allowing it to fit better inside the system case.
DyingLight is a simple USB v1.1 device that is solde​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​red onto an unused USB header on MacBook mainboards. It takes power from any 3.3v rail on the system and sits above the hard drive in the hard drive tray. The PWM signal line for the backlight controller requires that a 0Ohm resistor be removed at a specific point on the board. The signal line will be sold​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ered to the pad the 0Ohm resistor used to use. Once everything is wired up you're all set for first boot to install the drivers. The DyingLight chip defaults to full brightness on first boot enabling you to access the system to install the drivers. If all soldering jobs are done perfectly the backlight should come on immediately at boot.
After a short break we're selling more boards. You can purchase your own module from EBay HERE DyingLight chips are available.
To install the device, it is recommended to connect each pad on the DyingLight board to its respective point on the MacBook logic board using small jumper wires. Route these wires to be long enough to reach from the hard disk drive area (17" MacBooks) or beside the wireless module (15" MacBooks) to the respective points on the logic board. First, though, a few components need to be removed from the board, in addition to those removed to perform the inital gMux IC bypass. First, R9704 needs to be removed. This resistor is what connects the BKLT_PWMrail to the gMux IC, and removing it will prevent the gMux from pulling the line down. Second, the 2 pullup resistors on the unused USB data lines need to be removed. These are R0915 and R0916. Once these are removed, we are now ready to begin soldering the wires.
The pad labeled 3.3V on the DyingLight board needs to be connected to the PP3V3_S3rail on the logic board. There are many points on the board where this rail is located, but I'd recommend solding it to pin 1 of C5926.
The ground pad (labeled GND) needs to be connected to any grounding point in the system. I'd recommend soldering it to the shield on one of the USB ports of the logic board, or to one of the many grounding pins sticking up off the board.
The next line we need to solder is the PWM output line. This needs to connect to pin 2 of R9704, which is the resistor you previously removed off the BKLT_PWM rail.
Lastly, the USB data lines need to be soldered. The D+ line will be soldered to pin 2 of R0915 (previously removed), and the D- line needs to be soldered to pin 2 of R0916 (previously removed).
These are high definition images it is recommended that you open them in a new tab and zoom in on them for reference during install. The liquid you see on the board around the DyingLight traces is flux used for soldering.
Once all the wires are soldered, mount the board onto the top of your hard disk drive. Be sure to insulate the entire DyingLight board (conformal coating, wrap w/ electrical tape, etc.), and secure it to the top of the drive with adhesive or double-sided tape.
Here is a video of the functioning device:
DyingLight is compatible with any operating system that will run on your MacBook Pro, including Windows, various Linux distros, and of course, Mac OS X. Since most users will be using the device under Mac OS X, the OS X software includes many enhancements, integrating it seamslessly with the OS. The Windows and Linux versions are command-line apps that are easily used with hotkey bindings and startup entries.
To get the driver running, all you'll need to do is run the installer package and reboot your machine.
The driver is a command lin​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​e interface with flags that allow easy keybinding and startup entries.
The driver comes bundled with the libusb DLL files it requires, do not separate them.
DyingLight 0.2.1
LogoiLab:DosDude1
A utility to set the backlight brightness of a system with the DyingLight mod installed.
USAGE:
dyinglight [FLAGS] [OPTIONS]
FLAGS:
-a, --align Fixes brightness after a reboot. Should be called by a startup process
-d, --down Turns the brightness down one tick
-h, --help Prints help information
-u, --up Turns the brightness up one tick
-V, --version Prints version information
OPTIONS:
-s, --set<1-16>: Sets the brightness to a specific value
The driver is a command li​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ne interface with flags that allow easy keybinding and startup entries.
There are a few things you must do to get the driver working for linux.
Install thelibusb
package.
ArchLinux:libusb
Ubuntu/Debian:libusb-1.0-0-dev
Then type the following comma​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​nd into your terminal:
sudo vim /etc/udev/rules.d/99-dying_light.rules
Then paste this into vim:
ACTION!="add|change", GOTO="dying_light_rules_end" SUBSYSTEM!="usb|tty|hidraw", GOTO="dying_light_rules_end"
ATTRS{idVendor}=="fa11", ATTRS{idProduct}=="5afe", MODE="664", GROUP="plugdev"
LABEL="dying_light_rules_end"
Save your changes by hitting "esc" and typing ":wq". Type the following command:
sudo usermod -aG plugdev $USER
Log out and log b​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ack in and you should be ready to go.
Mac OS X >= 10.6 Sn​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ow Leopard 64-bit PGP signed version:here
SHA256:e34f1ef2a80fbec0e6ae28b5ee4fbf467a96d3350bef8798868160b77981600f
Win​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​dows 7/8/10 64-bit PGP signed version:here
SHA256:f9874a1f0d0dce4ecce40cecad52ea52702eedb5417bd6a331e7aeecfd13bb79
Li​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​nux 64-bit PGP signed version:here
SHA256:d615c58dd239c8c23e1c45f32a70cea5ca948211876bc7e87381f4a96facbcb7