Brightness Controller

General Info

Brightness controller is a small tool that allows the user to adjust the backlight brightness of Apple Displays on a Windows PC.
I only own a 27" Cinema Display and have to rely on the users to do the testing for other displays.
Brightness controller has been tested on Windows 7 and 8 in both 32 and 64bit. But it should also work fine on Windows Vista. It also supports multiple displays at once.

Currently supported displays

27" Apple Thunderbolt Display
27" Apple LED Cinema Display
24" Apple LED Cinema Display
23" Apple Cinema Display HD (Acrylic frame)
20" Apple Cinema Display (Aluminum frame)
20" Apple Cinema Display (Acrylic frame)


I will try to update it to support additional models but i will need help from other users who have different screen types.
If you wan't to contact me about feature requests or wan't to help adding aditional display models then contact me on Google+ or in this [H]ard|Forum thread or create a issue in the issue tracker.

Downloads

Download version 1.4.4

Download beta versions and old releases

Donations

If you like the tool please donate for further development.


Screenshots


Main Window

General Options
Hotkey Options
Profile Options


Changelog


1.4.4 - 11/02-2013

- Fixed a rare bug where a corrupted user configuration file caused a crash during startup.

1.4.3 - 03/12-2012

- Fixed bug where the main windows was opened behind other open windows.

1.4.2 - 18/10-2012

- Added support for 20" Cinema Display with acrylic frame.
- Enabled multi screen support.
- Fixed system tray right click menu position when DPI scaling is higher than 100%.
- Lots of code changes including improved threading and performance.
- Fixed some power management issues that might prevent the PC from going to sleep.
- Brightness controller now requires .net 4.5 installed.

1.3.1 - 09/09-2012

- Added support for 20" Cinema Display with aluminum frame.
- Merged brightness control logic for all displays.
- Smoother brightness change when keeping shortcut buttons pressed.

1.2.3 - 20/08-2012

- Added support for 23" Cinema Display HD with acrylic frame.
- Fixed startup crash with 24" Cinema Display.
- Improved numeric inputs so letters can't be pasted.
- Layout adjustments, spelling fixes, better error messages.

1.1.0 - 13/08-2012

- The step size of the increase/decrease Hotkeys can now be adjusted.
- Added profiles that allow the user to set the brightness to a specfied values.
- Redesigned options.
- Improved error handeling.

1.0.1 - 15/06-2012

- Fixed detection of 27" Thunderbolt Display.

1.0.0 - 14/06-2012

- Added support for 24" Cinama Display.
- Added support for 27" Thunderbolt Display.
- Added tooltip when moving the slider.

0.9.0 - 12/05-2012

- Collect data about HID devices to add support for more screens.
- Removed the last references to windows forms.

0.8.0 - 07/04-2012

- More keys allowed as hotkeys.
- Added support for direct Hotkeys without any modifier keys.
- Improved Update checking and added fallback sites.
- Lots of changes behind the scenes like improved threading and preperations for future multi monitor support.

0.7.1 - 19/03-2012

- Fixed bug where disabled Hotkeys could not be enabled.

0.7.0 - 19/03-2012

- USB changes to allow the program to be compiled for both x86 and x64.
- Settings are now upgraded from previous versions.
- Options window now opens centered on main window.
- No longer installs in "Program Files (x86)" on x64 systems.
- Added Supports for fast user switching.
- Fixed a crash bug that occured when opening about box from system tray.
- Installer now detects if program is running.

0.6.0 - 15/03-2012

- Hotkeys can be individually enabled or disabled.
- New Hotkey for turning off the display.
- Improved asynchronous update checking.
- Added in app and web donation buttons.
- Lots of code cleanup.

0.5.0 - 26/02-2012

- Added options to configure Hotkeys.

0.4.0 - 25/02-2012

- Initial public release.

140 comments:

  1. Hi,

    Thank you very much for your product. Unfortunately, it did not work for me. I am running win7-64 + ACD 27 + NVIDIA GTX 670. It says "Unable to detect any Apple Display USB HID Devices".

    Thanks,

    Alex

    ReplyDelete
    Replies
    1. Did you remember to connect the usb cable?

      Kind regards
      Jens Schumacher

      Delete
    2. Hello. I connected Apple Thunderbolt Display 27" to my PC.
      When I run Brightness Controller, I see a message:
      "Unable to detect any Apple Display
      Please make sure the USB cable is connected."
      But my monitor does not have USB cable...

      Delete
    3. The thunderbolt display has the nessecary data connection via the thunderbolt cable....
      Are you using the apple control panel or any other software that might interfer?
      Has windows detected the other HID devices in the monitor like the built in webcam?

      It might also be a new hardware revision of the thunderbolt display.
      Try "Help -> Gather HID Information" in Brightness Controller.
      If it finds any information you can create a new issue in the Brightness controller issue tracker.
      https://bitbucket.org/Gensplejs/brightnesscontroller/issues

      Delete
    4. I have not install any software.
      Display is has sound, but no camera and brightness is very low.
      What is apple control panel? It is Bootcamp?
      Maybe You can give me a link to a apple control panel...

      thanks in advance!

      Delete
  2. @Lecycliste
    I deleted your comment by accident. Sorry.
    In response to your question about multi monitor support.

    Yes it can be done.
    It is already in the issue tracker and the code has been written. But i despise releasing untested features so multi monitor support has been disabled for now.
    Issue Link


    But if you are willing to test it and give me some feedback i will release a beta with support for multiple monitors.

    Regards
    Jens Schumacher

    ReplyDelete
    Replies
    1. That sounds great!
      Where can i find the beat so i can test it?
      -Aske

      Delete
    2. Beta not beat ofc :-)
      you can mail me information to lecycliste@gmail.com
      Og vi kan snakke dansk hvis du foretrækker det :-)
      Hav en god dag!

      Delete
    3. Umiddelbart virker det helt fint for mig. Den eneste måde jeg har kunne få programmet til at crashe på er ved at prøve at benytte "display off" genvejen. Den resulterede i følgende kode:

      System.Runtime.InteropServices.MarshalDirectiveException: Cannot marshal 'parameter #3': Invalid managed/unmanaged type combination (Int32/UInt32 must be paired with I4, U4, or Error).
      at BrightnessController.Interop.NativeMethods.SendMessage(IntPtr hWnd, Int32 hMsg, Int32 wParam, Int32 lParam)
      at BrightnessController.DisplayPowerController.TurnOffDisplay()
      at HotKeys.HotKey.ThreadPreprocessMessageMethod(MSG& msg, Boolean& handled)
      at System.Windows.Interop.ThreadMessageEventHandler.Invoke(MSG& msg, Boolean& handled)
      at System.Windows.Interop.ComponentDispatcherThread.RaiseThreadMessage(MSG& msg)
      at System.Windows.Threading.Dispatcher.TranslateAndDispatchMessage(MSG& msg)
      at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
      at System.Windows.Application.RunDispatcher(Object ignore)
      at System.Windows.Application.RunInternal(Window window)
      at BrightnessController.App.Main()

      Måske det kunne være muligt at lave et lille "flueben"-boks i main window så de to sliders følges ad? Bare for lækkerhedens skyld :-)
      Skide godt arbejde!

      Delete
    4. Jeg har også prøvet at bruge programmet selvom jeg har deaktiveret en af skærmene, og det ser også ud til at virke fint, også når skærmen aktiveres igen.

      Delete
    5. "Display off" genvejen har jeg fikset nu og det kommer med i næste release.
      Men jeg ved ikke helt med fluebenet til at låse dem sammen. Det skal jeg lige tænke lidt over.

      Det vil give lidt problemer med auto brightness... Hvis der kommer sollys på den ene skærm og den så begynder at skrue på skal den anden skærm så følge med selv om den står i skygge?
      Det er umiddelbart den eneste løsning jeg kan se hvis jeg skal låse dem sammen.

      VH
      Jens

      Delete
    6. Try the newest beta...
      LINK
      Screen off shortcut should be fixed.

      Delete
    7. I just picked up a 2nd of the 27" led ones (display port). Will it actually work? I've got an open display port on my sli card. I am planning on adding another card and 3rd monitor in a couple of months.

      I'm assuming I can only have one USB dongle plugged in at a time, so I will have to switch them to set the brightness on monitor 2 temporarily? Any other caveats?

      Delete
    8. If you use the newest beta linked above you can connect both displays at the same time and control them independently.
      Brightness controller will show a slider for each display.

      Delete
    9. So in that case I should hook up both USB dongles? Will it matter that it is plugged into video card #2 in an SLI setup?

      Will this eventually be able to support 3 monitors for things like eyefinity or nvidia 3d vision?

      Delete
    10. Evidentially, being the SLI noob that I am I didn't realize only the first card in an SLI chain can actually output video. So, that means I am stuck with those Atlona DVI to Displayport converters for any additional ACDs on my desktop.

      Will the Brightness Controller work with these? I'm assuming yes, but I have assumed too much already so I'm just going to come out and ask

      Delete
    11. Brightness controller communicates with the monitor via the USB cable not the Display Port cable. Converters are not an issue.

      The beta supports more than one display. So 2, 3, 4 or whatever floats your boat :-)

      I got AMD Radeon cards myself because of the native mini Display Port. Eyefinity cards even have 6X mini display port on one GFX card :-)

      Delete
    12. It worked! When I get paid next I will donate. Hey offhand does anyone know if these monitors support 2d eyefinity/surround gaming when one monitor is using a dp-minidp connector and 2 are using atlona dp400 type devices. I'm assuming the brightness controller app will work with 3 monitors.

      Delete
    13. Another question, is it possible to sleep one monitor while keeping another active other than unplugging it? Watching movies with both displays active is somewhat distracting.

      Delete
    14. I don't see any way to putting only one monitor to sleep with the windows API's i currently use. But I will check some more to see if there is any way of doing that.

      /Jens

      Delete
    15. Any chance one of you multi display users can take a screenshot of the main windows for me, so i can put it on the page?

      I really just know how it looks in my mind :-) need to write code for a dummy display so i can support multiple displays better. (locking brightness of secondary to primary display and stuff like that)

      Delete
    16. By the way idjit.
      I just remembered that you can press Win+P (in win7/8 at least) to get nice multi monitor shortcut options directly in windows.
      If you can chose single monitor windows should kill the signal to your secondary monitor and it should turn off.
      (i have not tested it.)

      /Jens

      Delete
    17. Here's a screen with two monitors :)

      http://i.imgur.com/HE5dB.jpg

      Delete
    18. Thanks...
      I will try to do some more for dual monitor setups in the next release(a slightly better layout and brightness locking).

      Delete
    19. Jens -

      I finally have 3 monitors up and running with your Brightness Controller app, here's a screenshot for your files: http://i.imgur.com/nhdCD.jpg

      Delete
    20. actually strike that one, too much personal info if you can just delete that last post I'll send another one. Damn our digitally integrated lives.

      Delete
    21. 2nd attempt: http://i.imgur.com/4B5Ok.jpg

      Delete
    22. got it working in 2d surround - http://i.imgur.com/dkd2G.jpg

      Delete
  3. Please make support for old ACD 20"

    It has a USB HID, working on Windows 7

    Tried three different versions of you app - says no ACD found.

    ReplyDelete
    Replies
    1. Hi.
      I created an issue in the issue tracker HERE
      If you can add the information i need i will add support for your display.

      Regards
      Jens Schumacher

      Delete
  4. Noticed that my brightnesscontroller takes too long to start after reboot - about 20 sec after all loaded.
    Installed new version - the same... (20" Aluminium)

    ReplyDelete
  5. I get the following error: "Unable to open Cinema Display USB HID Device. Make sure any other program using the device are closed.

    I am using Windows 8 x64 on my 13" RMBP. I am also using a thunderbolt display, not a cinema display.

    ReplyDelete
    Replies
    1. Well.. Make sure the apple control panel is not open.

      If that does not solve the problem then try selecting "Help -> Gather HID information" and post the results here.
      That will allow me to add your display if it is a new hardware revesion/variation of the thunderbolt display.

      Delete
    2. Yes! after all that time, I needed to know that to understand why sometimes it would work or not.

      I didn't think of a conflict with the apple own setting panel.

      thanks

      Delete
  6. Thank you! Thiws works perfectly on my 27" Cinema Display (Windows 8 x64) AMD CPU and AMD HD 6790 GFX)

    ReplyDelete
  7. Hello! I have a Win7 workstation with 2 24" LED Cinema Displays. Upon connecting the USB cables some devices are found by windows and drivers get automatically installed.

    Unfortunately the brightness program does not find the Apple displays, and the "Gather HID information" option gives the same results as on a PC with no Apple screens - there is nothing listed.

    Are some special drivers needed? What should be listed in Windows Device Manager so that your app can pick up the screens?

    ReplyDelete
    Replies
    1. Hello! I found out that the previous workstation user installed Bootcamp, and it seems that it was taking over the display connection. After uninstalling Bootcamp, your app worked like a charm ;).

      Delete
    2. Ok good to know that you got it working.
      The access to the HID device is exclusive and if another program has an open connection to the device i can't connect to it.

      I will look into the problem in the future and see if i can add a better error message if the device is present but in use.
      But i need to make some changes to the HID library that i am using to support that.

      Delete
  8. thank you very much, best program to control brightness for windows.
    what benefits to use .net 4.5 in last release ?

    ReplyDelete
    Replies
    1. No benefits for the user really:-)
      I have changed some code with the upgrade that should allow for better performance but nothing most users would notice.
      The reason i upgraded is that this is a hobby project. I use my hobby projects to test and learn about new framework features (and related pitfalls) before i need to use them at work :-).

      Regards
      Jens Schumacher

      Delete
  9. Mine said UNable to open Cinema Display USB HID Device as well. I'm using MacBook Pro from 2009, windows 7 enterprise 64 bit, and a new 27 inch cinema display. Here is my HID information.





    \\?\hid#vid_05ac&pid_0236&mi_01&col02#7&2b202671&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
    Touchpad
    Apple Inc.

    12
    1452
    566
    129


    1
    255
    64
    0
    17

    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0

    1
    1
    0
    1
    0
    0
    0
    0
    1
    1



    255
    68
    false
    2
    0
    1
    255
    false
    false
    false
    true
    false
    0
    8
    16

    0
    0
    0
    0
    0

    0
    0
    -128
    127
    0
    -1
    4
    4
    0
    0
    0
    0
    0
    0




    255
    68
    false
    0
    0
    1
    255
    false
    false
    false
    true

    0
    0
    0
    0
    0
    0
    0
    0
    0
    0

    2
    2
    0
    0
    0
    0
    0
    0



    ReplyDelete
    Replies
    1. If you are using a mac book pro you probably installed the bootcamp drivers.
      In that case the bootcamp drivers block access to the cinema display and you need to use the apple control panel to adjust brightness.
      Brightness controller was designed to avoid installing bootcamp drivers on a normal none Apple PC.

      Also the HID information you posted is for a Touchpad not a display :-)
      If you need me to add a new screen type please create an issue in the issue tracker and post the HID information there.

      Regards
      Jens Schumacher

      Delete
  10. Hello,

    Thank you for this product. I was actually not looking for a brightness control. My USB ports on my 23" HD Cinema are not working.... but I found your site and would LOVE to have bright control in my Win 7, 64bit environment.

    Questions:
    1)I downloaded and when I tried to run it asked what program I wanted to use to open the file. Obviously not an exe. What is wrong?
    2) Will this program bring my USB ports back to life?

    Thank you.

    ReplyDelete
    Replies
    1. Ehm. I think there is something wrong with the file you downloaded. The Download version 1.4.4 link points to https://bitbucket.org/Gensplejs/publicfiles/downloads/Brightness%20Controller%201.4.4%20Setup.exe

      When you download it that should give you an executable installer named "Brightness Controller 1.4.4 Setup.exe".
      And yes that is a .exe file.

      If you can't download the file correctly please let me know and i will upload it to another location.

      As to your second question it is very unlikely that my program will affect the usb ports on the monitor.

      Regards
      Jens Schumacher

      Delete
  11. Hi. I have loved this program. I just downloaded the update and now it doesn't work anymore. I have tried to uninstall, reinstall, and even revert to an earlier version that worked fine. Every time I run the program now, I get the following error:

    System.Windows.Markup.XamlParseException: The invocation of the constructor on type 'BrightnessController.MainWindow' that matches the specified binding constraints threw an exception. ---> System.UnauthorizedAccessException: Attempted to perform an unauthorized operation.
    at Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str)
    at Microsoft.Win32.RegistryKey.SetValue(String name, Object value, RegistryValueKind valueKind)
    at BrightnessController.MainWindow..ctor()
    --- End of inner exception stack trace ---
    at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
    at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
    at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
    at System.Windows.Application.LoadBamlStreamWithSyncInfo(Stream stream, ParserContext pc)
    at System.Windows.Application.LoadComponent(Uri resourceLocator, Boolean bSkipJournaledProperties)
    at System.Windows.Application.DoStartup()
    at System.Windows.Application.<.ctor>b__1(Object unused)
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
    at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
    at System.Windows.Threading.DispatcherOperation.InvokeImpl()
    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    at System.Windows.Threading.DispatcherOperation.Invoke()
    at System.Windows.Threading.Dispatcher.ProcessQueue()
    at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
    at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
    at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
    at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
    at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
    at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
    at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
    at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
    at System.Windows.Application.RunInternal(Window window)
    at BrightnessController.App.Main()

    ReplyDelete
    Replies
    1. I can't reproduce the bug on my system. But i will upload a debug build that you can test in a few days. It will have the same bug but the exceptions will have line numbers so i can narrow down where the problem is originating.

      Delete
    2. Hi again.

      Please follow and respond to this issue regarding your problem with startup crashes.
      https://bitbucket.org/Gensplejs/brightnesscontroller/issue/21/crash-during-application-startup

      Regards
      Jens Schumacher.

      Delete
  12. Great program! I was looking for this for a long time and I have finally found it. Unfortunately, when I try to run the program it does not recognize my display showing "unable to detect apple display" i have made sure also that it is connected to the usb port as instructed. If it help, I'm using Windows 8 64 bit. Please help!

    ReplyDelete
  13. I forgot to mention I am using 23" Apple Cinema Display (Acrylic frame)

    ReplyDelete
    Replies
    1. Do you have any apple bootcamp drivers or the apple control running while trying to use brightness controller?

      If not then please go to "help -> gather hid information" and check if it detects anything.

      Delete
    2. This comment has been removed by the author.

      Delete
    3. I have created an issue in the issue tracker.
      https://bitbucket.org/Gensplejs/brightnesscontroller/issue/20/problem-connecting-to-23-apple-cinema

      You can post the result from the "help -> gather hid information" function there.

      Delete
    4. I will post it there, thanks! simultaneous post ><

      Delete
  14. Btw, most of your files to download need to be renamed from Brightness to "Brightness.exe" in order for my Win7 64-bit to recognize how to open them. I think the 1.01 was the latest one that showed up as an .exe file right away, the newer versions needed renaming.

    ReplyDelete
    Replies
    1. What he said ^^

      My win7 does not recognize the file

      Delete
    2. Hmmmm. Very strange.
      I have tested the download with Chrome, IE and FF now and i get a .exe file no matter what...

      I can upload the file to an alternative site if you like....

      Delete
  15. Thanks for this excellent tool. How does the auto-brightness actually work? A cool feature would be presets ;)

    ReplyDelete
    Replies
    1. Auto brightness is only supported on some displays like the 27" cinema display and the 27" thunderbolt display.
      They have ambient light sensors and turn the brightness up and down without my tool doing anything.
      All i tell the monitor to do is turn auto brightness on and off.

      About presets... Brightness controller currently has 3 configurable presets with configurable shortcut keys in the options menu. Do you need more than that?

      Delete
  16. Thanks again for this great tool.

    ReplyDelete
  17. Hi Jens,

    I tried it with a 24 cinema display and works wonders.

    Also, i have a dual screen it does changes the brightness on both screen simultaneously which is pretty awesome. Something i would like to be added is the power function for individual screens. Sometimes i just need one monitor turned on but i cant just have one unless i unplug it from the pc (which is my quick fix so far) Would that be possible?

    Thanks.

    ReplyDelete
    Replies
    1. I have found no options for turning off a display in the USB device so i have no real way of controlling what displays are turned off.
      Brightness controller uses built in windows power saving API's and just tells windows to turn off the displays. So even if i could target a specific display windows would turn it back on at the first user interaction.

      However. As you mentioned the display will turn off if it has no signal from the PC. So my best advice is to unplug it :-( or maybe take a long look at what options windows or your gfx driver has?

      If you press "Win+p" you should get a quick option to change your multi monitor setup in windows. If you set it to only output on one monitor it might turn off the second one.

      I can look into creating multi monitor profiles and switching between them but that is really outside the scope for this tool and i think there are a lot of other tools for this.

      Delete
  18. Third party software like ultramon might also be useful for creating multi monitor profiles and switching between them
    http://www.realtimesoft.com/ultramon/

    Can you report back if setting windows to only use one monitor turns off the second cinema display?

    ReplyDelete
  19. Hi, I installed Brightness Controller in my PC with Windows 7 and it worked fine for a couple of days but now it does not work and is giving me a message like this : "Unable to open Cinema display USB HID device. Please make sure any other program using the device are closed." The usb cable is regularly connected and I may hear the sound of my PC. I cannot install the display isight since no drivers are available. Please help ... Thanks and bye till later, Renato.

    ReplyDelete
    Replies
    1. You are probably using a new/unsupported hardware revision of the display.
      Open brightness controller and then select "Help -> Gather HID Information" in Brightness Controller.
      The post the information in the issue tracker and i sill add support for your display. https://bitbucket.org/Gensplejs/brightnesscontroller/issues

      Delete
    2. I copied the HID and also have written it but I don't see it in my reply. Please did you receive it? Tahnks for your kind help.

      Renato

      Delete
    3. Nope.
      I only see blank replys.
      Can you post a new bug report here in stead.
      https://bitbucket.org/Gensplejs/brightnesscontroller/issues

      Delete
    4. Sorry I posted in https://bitbucket.org/Gensplejs/brightnesscontroller/issues

      but I see that was sent by Anonymous and it is n. 29.

      Thanks for your kind assistance.

      Delete
  20. Jens,
    Thank you for your brightness controller. I plan to make use of it very soon. I have a HP-PC running windows 7 pro 64 and also have a sapphire hd7750 card with built in MINI displayport. I plan on purchasing the apple 27" thunderbolt very soon and have been given conflicting information that it will work and it will NOT work with my PC. DO I need anything additional or make any changes before I purchase. I greatly appreciate your help and guidance. - Stan -

    ReplyDelete
    Replies
    1. The thunderbolt cable has excatly the same connector at the old display port... but it is NOT compatible in the way you need.

      If you have a PC with a thunderbolt port you can attach a display port display or a thunderbolt display.
      But if you have a PC with display port you can only use display port displays.... The thunderboldt display will not work when connectod to a gfx card with display port :-(
      I have seen no mention of any adapters to resolve that problem. :-(

      I would recommend that you buy the "old" 27" cinema display.
      It uses a display port cable and a usb cable for the sound/webcam and so on.

      Apple stills sells them
      http://store.apple.com/us/product/MC007LL/A/apple-led-cinema-display-27-flat-panel

      Delete
  21. Hi,

    I've been trying to use brightness controller with my PC, but so far, I get a red message saying "unable to detect any Apple display".
    Help / gather HID information gives:
    "(useless stuff that would break my comment...)
    ArrayOfHidDeviceInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" "

    On my windows control panel / System, I get a dysfunctional USB input device (yellow decoration) with the following error: "The passed ACL did not contain the minimum required information".

    My configuration:
    Windows 8, up to date.
    Cinema display, the old 20 inches variety. Firewire cable is not connected, as I do not have such I/O port in my new PC.

    Any idea / suggestion / further question ?
    Thanks for your time !

    ReplyDelete
  22. Hello,

    Upon exiting the Windows 7 lockscreen I see this error. Can this be fixed?

    System.NullReferenceException: Object reference not set to an instance of an object.
    at HidLib.HidDevice.d__1.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.CompilerServices.AsyncMethodBuilderCore.b__0(Object state)
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
    at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
    at System.Windows.Threading.DispatcherOperation.InvokeImpl()
    at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    at System.Windows.Threading.DispatcherOperation.Invoke()
    at System.Windows.Threading.Dispatcher.ProcessQueue()
    at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
    at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
    at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
    at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
    at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
    at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
    at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
    at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
    at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
    at System.Windows.Threading.Dispatcher.Run()
    at System.Windows.Application.RunDispatcher(Object ignore)
    at System.Windows.Application.RunInternal(Window window)
    at System.Windows.Application.Run(Window window)
    at BrightnessController.App.Main()

    ReplyDelete
  23. hello, I am running on windows xp, have a 2 27 inch displays and can't install .Net 4.5 as it's not supported by xp. IS there a way non .Net required version that supports 2 displays ?

    ReplyDelete
  24. Hi, I'm using it with an apple 23" screen with brushed steel round the sides. The software isn't able to detect the display. Is there anything I can do to fix that?




    \\?\hid#vid_05ac&pid_921c#8&8cae0f1&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}

    12
    1452
    37404
    277


    1
    128
    2
    0
    257

    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0

    1
    0
    1
    1
    0
    0
    0
    0
    7
    7



    128
    2
    false
    258
    0
    1
    128
    false
    false
    false
    true
    false
    0
    8
    256

    0
    0
    0
    0
    0

    0
    0
    0
    255
    0
    0
    2
    2
    0
    0
    0
    0
    0
    0


    130
    16
    false
    2
    0
    1
    128
    false
    false
    false
    true
    false
    0
    8
    1

    0
    0
    0
    0
    0

    0
    0
    0
    255
    0
    0
    16
    16
    0
    0
    0
    0
    1
    1


    130
    227
    false
    2
    0
    1
    128
    false
    false
    false
    true
    false
    0
    8
    1

    0
    0
    0
    0
    0

    0
    0
    0
    255
    0
    0
    227
    227
    0
    0
    0
    0
    2
    2


    130
    225
    false
    2
    0
    1
    128
    false
    false
    false
    true
    false
    0
    8
    1

    0
    0
    0
    0
    0

    0
    0
    0
    1
    0
    0
    225
    225
    0
    0
    0
    0
    3
    3


    130
    232
    false
    2
    0
    1
    128
    false
    false
    false
    true
    false
    0
    8
    1

    0
    0
    0
    0
    0

    0
    0
    0
    1
    0
    0
    232
    232
    0
    0
    0
    0
    4
    4


    130
    214
    false
    2
    0
    1
    128
    false
    false
    false
    true
    false
    0
    8
    1

    0
    0
    0
    0
    0

    0
    0
    0
    4
    0
    0
    214
    214
    0
    0
    0
    0
    5
    5


    130
    231
    false
    2
    0
    1
    128
    false
    false
    false
    true
    false
    0
    8
    1

    0
    0
    0
    0
    0

    0
    0
    0
    7
    0
    0
    231
    231
    0
    0
    0
    0
    6
    6




    130
    228
    false
    2
    0
    1
    128
    false
    false
    false
    true
    false
    0
    8
    1

    0
    0
    0
    0
    0

    0
    0
    0
    255
    0
    0
    228
    228
    0
    0
    0
    0
    0
    0



    ReplyDelete
    Replies
    1. I'm on win 7 professional service pack 1. When I look in the control panel there is no information about the screen.

      Delete
  25. This comment has been removed by the author.

    ReplyDelete
  26. Hello Jens,
    your brightness app is really awesome and just what I was looking for - Thank you!
    I have a question - I would love to run target display mode on my iMac under bootcamp - there is no possibility nowdays. Do you think you can help me with this somehow? Or write a bit of a code for this? If so you already have a sponsor for development because I really need that. Thank you so much!

    best,
    Jakub

    ReplyDelete
  27. Hi, Is there any chance you could adapt this to work with the 23" aluminium frame screen, if I do the testing? I have this screen hooked up to win 7professional. I'm a bioinformatician, so I'm pretty computer savvy and would be happy to do anything I can to help. Thanks! Jen

    ReplyDelete
  28. This comment has been removed by the author.

    ReplyDelete
  29. I had to unplug thunderbolt display from mobo and plug it back in and it recognized it! Thank you for the awesome program! :)

    ReplyDelete
  30. I have a question. I have 27" thunderbolt cinema display and I bought Displayport (Male) -> Minidisplay port (Female) adapter and pluged the cable from the display to minidisplay (female) end of the converter. But my windows pc does not recognize a new device.

    Any idea?

    ReplyDelete
  31. Hi Jens, thanks a lot for this program! Works great: Win 7 64bit, GeForce GTX 690, LED Cinema 27". Hope there's no spyware inside ;)

    ReplyDelete
  32. Not sure why but it is not working on my LED Cinema 27". I am running dual monitors right now, one is acer the other is the apple LED. I have the USB plugged and and i can't see and apple program running either

    HID info:





    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
    2. ?xml version="1.0" encoding="utf-16"?>
      ArrayOfHidDeviceInfo xmlns:xsd="http://www.w3.org /2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />

      Delete
  33. Thank you so much for this!!

    For some reason it fixed my problem with the Audio device not being installed correctly in Windows 8.1

    ReplyDelete
  34. Hi Jens, thanks for at great program. I have a little problem each time I start my ThinkCentre Windows 8.1 pc that is connnected to a 27" Apple Thunderbolt display, the display light is dimmed after 30 seconds after Windows has started. I then have to start your program and which is set to start automatically with Windows and is already set to max brightness. When opening your program it is on the max brightness and all I have to do is is move the brightness controller back and forth and the screen brightness is ok againg. Do you know what causes Windows to dim the brightness each time I start Windows? I have installed all the right drivers and there is no errors in device manager.
    Kind regrads, Kristian

    ReplyDelete
  35. Thank you for this excellent program.
    I use two monitors (Apple and Samsung) and i wonder that is it possible to turn off Apple without turning off Samsung? Any solution for my problem?

    ReplyDelete
  36. Awesome program! Any chance you could add the ability to adjust the contrast as well? And I'd love to see the source code if you don't mind sharing :)

    ReplyDelete
  37. Hi Jens,

    Thanks, I never even knew such a software existed until now. Further, it has also fixed the audio issue on my Cinema Display 24" under win 8.1. Keep up the brilliant work!

    ReplyDelete
  38. Hi, just downloaded and run it. The program shows the "Unable to detect any Apple Display", the USB is working (mouse is connected to the monitor). I guess that the problem is the Windows generic driver, but I cant find the proper one for my display, A1082 Apple Cinema HD. ¿can you help me, pls?

    ReplyDelete
  39. Hi Jens,

    Any intention to update this for Window 10? It looks like the installer isn't recognizing the new .NET 4.6 signature, and thinks it needs .NET 4.5:

    "---------------------------
    Setup
    ---------------------------
    Brightness Controller requires Microsoft .NET Framework 4.5. to be installed

    Would you like to visit the download page now?

    ---------------------------
    Yes No
    ---------------------------"

    ReplyDelete
  40. Please UPDATE this for Windows 8.1 and 10. You built something VERY useful, you have a LOT of people replying on your program now. Please HELP us out!

    ReplyDelete
  41. Please UPDATE this for Windows 8.1 and 10. You built something VERY useful, you have a LOT of people replying on your program now. Please HELP us out!

    ReplyDelete
  42. "Brightness Controller requires Microsoft .NET Framework 4.5. to be installed
    Would you like to visit the download page now?"

    Yes, I have exactly the same problem with windows 10

    ReplyDelete
  43. Jens Holst Schumacher please version for windows 10!))

    ReplyDelete
  44. I found a temporary solution
    Go to the Download older versions and download version Brightness Controller 1.0.0
    I installed without problems.

    ReplyDelete
  45. Windows 10 Microsoft .NET Framework 4.5
    http://www.kepfeltoltes.hu/150802/NET_FRAM_www.kepfeltoltes.hu_.png

    ReplyDelete
  46. Windows 10
    I downloaded this version of the program. Only when the chosen folder C:\Program Files (x86)

    https://bitbucket.org/Gensplejs/publicfiles/downloads

    Brightness Controller 1.3.1 Setup.exe

    ReplyDelete
  47. Bump +1 on tweaking to support Windows 10 (either allow .NET 4.6 or remove the .NET requirement for install, as it comes with Windows 10 already).

    For now I'm using the older 1.00 version and it works (although buggy).

    I'll gladly donate for the update!

    :-)

    ReplyDelete
  48. Yes please make a separate installer that doesnt check for the .netframework version

    ReplyDelete
  49. Yes - please update so that it works with Windows 10. Will gladly donate as well for a working version. I have two Apple Cinema 24 LED displays hooked to two Windows 10 PC's and the sound will not work unless this program is installed. PLEASE HELP!

    ReplyDelete
  50. Hello,

    i see this Message after unlock Windows7...

    System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
    bei HidLib.HidDevice.d__1.MoveNext() in c:\Users\Jens\Documents\brightnesscontroller\HidLib\HidDevice.cs:Zeile 199.
    --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
    bei System.Runtime.CompilerServices.AsyncMethodBuilderCore.b__4(Object state)
    bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
    bei MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
    bei System.Windows.Threading.DispatcherOperation.InvokeImpl()
    bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    bei System.Windows.Threading.DispatcherOperation.Invoke()
    bei System.Windows.Threading.Dispatcher.ProcessQueue()
    bei System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
    bei MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
    bei MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
    bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
    bei MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
    bei System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
    bei MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
    bei MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
    bei System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
    bei System.Windows.Application.RunInternal(Window window)
    bei BrightnessController.App.Main() in c:\Users\Jens\Documents\brightnesscontroller\BrightnessController\App.xaml.cs:Zeile 52.

    ReplyDelete
  51. Hello everyone. Is there any chance we'll get a Windows 10 (.net 4.6) Compatible version

    ReplyDelete
  52. Hello from Montreal ...

    You're a genius , thanks SO much for doing this !
    I've worked So hard on my Cinema monitor problem , adapters, new video drivers, Apple boot camp drivers , everything, nothing worked... and just as I was about to quit I saw this via an Apple thread... Bottom line I'm sending you dollars ! You made my useless Cinema Display live again.. !!
    Thank-you !!!!!!

    ReplyDelete
  53. I would also love a windows 10 version. I cannot install on a new windows machine and no brightness control is KILLING me. I would be happy to send $20 your way...

    ReplyDelete
    Replies
    1. Nevermind... The newest beta in the download link fixed it for me. Thanks man! Donation coming!

      Delete
  54. Hi everyone, i've downloaded version 1.00 and installed it. But when i start the Controller it starts shortly and close automaticly a few seconds later.

    So anybody knows a solution or have the same Problem?
    Thanks

    ReplyDelete
  55. This comment has been removed by the author.

    ReplyDelete
  56. http://kepfeltoltes.hu/151126/Brightness_Controller_www.kepfeltoltes.hu_.png

    ReplyDelete
  57. I was just gifted an apple 27" Cinema LED. I was very excited to find this utility; however, it unfortunately refuses to install. The application prompts to install .net framework 4.5. I'm running Windows 10 which comes with 4.6. If I try to install 4.5, the installer reports that I'm already running 4.5.

    Is there anything to do?

    ReplyDelete
    Replies
    1. OR... read the comments, see that someone tried the beta and it worked, download latest beta, install and....awesomeness happens!

      Delete
  58. Hi Jens,


    I am an IT consultant and we would like to offer you $500 USD if you can solve this bug: https://bitbucket.org/Gensplejs/brightnesscontroller/issues/41/doesnt-work-with-thunderbolt-displays-as.

    Please feel free to contact me directly. I sent you a hangouts invite. If you have any issues contacting me, please reply here and I'll keep watch.


    Thanks,

    Ashkaan

    ReplyDelete
    Replies
    1. just an observation, $500 is less than the cost of a thunderbolt display. So if the developer didn't have a thunderbolt display it would literally cost him money to implement a solution. :)

      Delete
  59. Fix for Windows 10 -
    I just installed it on a win 7 VM and zipped up the exe and the ini configuration files. It works like a portable version.

    Here's a link to the zip file with the contents of the installation as it appears on a win 7 machine. Just run the exe and put it in your startup folder if you want it to run at startup. (also sorry that this looks so sketchy I just figured I'd post my solution but I understand if you're sketched out by running an exe from a stranger on the internet lol)
    https://dl.dropboxusercontent.com/u/4040009/Brightness%20Controller.zip

    ReplyDelete
  60. As mentioned severel times in the bugtracker.
    If you install the newest beta version it works fine with windows 10.

    ReplyDelete
  61. In windows 10, brightness controller is telling me to install .net framework 4.5, but it's already installed. Then the brightness controller installer exits and will not install.

    ReplyDelete
    Replies
    1. Get the latest Beta version for windows 10 support.

      Get beta versions here:
      https://bitbucket.org/Gensplejs/publicfiles/downloads

      Apple Cinema Display Brightness Controller and Audio fix for Windows(Video Guide)
      https://youtu.be/GVSsQ7uyIlE

      Delete
  62. Thank you kindly for making this excellent free software, I have made a video about using it and installing it with windows 10. Please feel free to share it. Long days and pleasant nights to you.

    Apple Cinema Display Brightness Controller and Audio fix for Windows
    https://youtu.be/GVSsQ7uyIlE



    ReplyDelete
  63. I like this blog! In return, I want to share some cheap ray ban sunglasses with you.

    ReplyDelete
  64. Latest beta, but it refuses to adjust the brightness. Displayport adapter into my geforce 1070gtx, windows 10 anniversary x64.. i got past the .net with the latest beta, and the screen shut off works (they come immediately back on). I am running an old 30" cinema display, a dell 30", and a 27" LED cinema display (which is the culprit).

    Adjusting brightness isn't adjusting the backlight, so I really want to get this working, as I am troubleshooting a randomly flickering backlight issue. Any help is appreciated, thanks!

    ReplyDelete
  65. This comment has been removed by the author.

    ReplyDelete
  66. Super Tool, danke dafür!
    Habe nun ein Problem, es wird angezeigt dass ein kompatibles Display erkannt wurde, es jedoch von einem anderen Programm bereits genutzt wird. Wenn ich das USB Kabel rausziehe und wieder reinstecke funktioniert wieder alles bis ich neu boote.

    LED Cinema Display 27, Windows 10 Pro 64-bit

    ReplyDelete
  67. BETA link down :( "Oops, you've found a dead link"

    ReplyDelete
  68. Please fix the Beta Links. I made a mirror for my video if anyone needs it.

    Apple Cinema Display Brightness Controller and Audio fix for Windows
    https://youtu.be/GVSsQ7uyIlE

    Download Brightness controller 1.5.7 beta:
    http://www.mediafire.com/file/kmz7q4xcguk46qa/Brightness_Controller_1.5.7_Beta_Setup.exe

    ReplyDelete
  69. Hi - I have a question regarding this software and my 23" HD Cinema (acrylic) display: will this application work for my display if I were to run the application within a Windows virtual machine? I'd like to correct the display issue on my Mac OSX side of things and then close the application/virtual machine afterwards and have the brightness settings remain. Is this possible through a virtual machine?

    -Thanks

    ReplyDelete
  70. This comment has been removed by the author.

    ReplyDelete
  71. Beta version 1.5.7 stopped working on Windows10 with the latest updates :|
    It launches but then closes automatically.

    ReplyDelete
    Replies
    1. Hmmm. I just installed it on the latest version of win10 with creators update ant it works just fine.

      Delete
  72. I am trying to get this going but it tells me to connect a USB cable? I am using a 27 thunderbolt... no usb cable on that. please help! Thank you.

    ReplyDelete
  73. Hello, i have a 27'Thunderbolt display connected to a Assus ThundeboltEX II Dual, i need to plug a My PC USB to Display USB? If i plug another display, the song works good, if I take it off and restart, sound is off!

    ReplyDelete
  74. Hi I've a ACD 30, can I use the Brightness controller?

    ReplyDelete
  75. Running Windows 10. Going from the HP Envy's HDMI out-port to a Displaylink HDMI to DVI adapter and out to with an Apple Cinema 20 aluminum DVI cable. Running beta 1.5.7.30342. Receive: "Unable to detect any Apple display. Please make sure the USB cable is connected." What USB cable? Vielen Dank, Jens!

    ReplyDelete