Giter Club home page Giter Club logo

Comments (55)

flyrobot27 avatar flyrobot27 commented on August 16, 2024 1

I have a Asus Vivobook 14x M5402RA and can confirm this is working

from g-helper.

schmintendo avatar schmintendo commented on August 16, 2024 1

Just tried the build you linked, it works great! However, if you have the setting at 50% in MyAsus and 50% in G Helper, it compounds. So I'd recommend leaving it at 100% in MyAsus and system brightness at 100%, and then change everything with G Helper.

from g-helper.

seerge avatar seerge commented on August 16, 2024

@MrHumanRebel hello,

Do I understand that those features (mainly Pixel refresh / Pixel shift) are just something you turn on and keep like that ? Do you see any visual impact if you turn them off ?

Cause if they are handled on BIOS / hardware level - they are probably exposed by asus in their driver. So you can access them.

For that I would need you to do a DLS dump and scan as explained in this topic #38

I need both methods. Thanks

from g-helper.

MrHumanRebel avatar MrHumanRebel commented on August 16, 2024

I do not know if they are handled hardware level or not, but here are the dumps:

60023 : ffffffffffff0004 (-65532)
60024 : 15df1022 (366940194)
60026 : 0 (0)
60061 : ffffffffffff0000 (-65536)
60079 : 0 (0)
600b1 : ffffffffffff0200 (-65024)
80041 : ffffffffffff0000 (-65536)
80042 : ffffffffffff0000 (-65536)
80043 : ffffffffffff0000 (-65536)
80044 : ffffffffffff0000 (-65536)
100023 : 0 (0)
100054 : ffffffffffff0000 (-65536)
100063 : 1 (1)
110013 : 0 (0)
110014 : 0 (0)
110015 : ffffffffffff0000 (-65536)
110016 : ffffffffffff0000 (-65536)
110019 : 60000 (393216)
120057 : 80000 (524288)
120061 : 0 (0)
130041 : 0 (0)

dsdt.zip

Thanks in advance!
I suppose no visual impact when turned on or off, have not installed myasus myself, only saw that my device has this feature because of the OLED panel.

from g-helper.

seerge avatar seerge commented on August 16, 2024

@MrHumanRebel oke, thanks.

I see, there are couple of endpoints that could be actually the switches :) but I have no idea how to test them.

Do you have any way to actually see the actual effect of Pixel refresh / Pixel shift toggles ? I.e. picture starts moving, or something blinks, etc ?

For example there is 0x00100063 in dump and in your scan (it returns 1 now, which i would assume is ON)

Just in case - you do this on your own risk as I don't know what endpoints actually really do

Can you try to quit myasus, then run following in powesrshell as admin

Invoke-CimMethod (Get-CimInstance -Namespace root/wmi -ClassName AsusAtkWmi_WMNB) -MethodName DEVS -Arguments @{Device_ID=0x00100063; Control_status=0}

And then start myasus to see if any of the oled checkboxes change?

from g-helper.

seerge avatar seerge commented on August 16, 2024

P.S. If OLED care is hardware feature (most probably) there is a good chance that all that options are just turned ON by default, so you actually don't need to any app to turn them on .

from g-helper.

moradfarag avatar moradfarag commented on August 16, 2024

Any update or information you need to get this to work on the new 2024 G14? It is interesting to note that the OLED care settings on that model are contained within Armoury Crate as opposed to MyASUS. Let me know if the OLED care feature is already in the works or if there is additional information you require.

from g-helper.

schmintendo avatar schmintendo commented on August 16, 2024

I have a ZenBook UX6404VV (Zenbook Pro 14 OLED) and would love this feature as well! Let me know anything I can do to help out! The OLED flicker free dimming noted in OP's screenshot would be nice as well.

Edit, ran the linked scan-atkacpi tool and have attached the output.
output.txt

I also believe the Pixel Shift function is always on, as noted by this tooltip:
image

from g-helper.

seerge avatar seerge commented on August 16, 2024

@schmintendo hello, as I have already answered here and in other thread - most probably those features are are already ON by default on your devices (as they are handled by hardware / firmware)

If you want you can do DSDT dump and ACPI scan as explained above and upload them here as well :)

from g-helper.

moradfarag avatar moradfarag commented on August 16, 2024

60024 : 8c308086 (2351988870)
60094 : ffff0000 (-65536)
60095 : 1 (1)
600b1 : ffffffffffff0200 (-65024)
600b2 : ffffffffffff0200 (-65024)
600c1 : ffffffffffff0000 (-65536)
600c2 : ffffffffffff0000 (-65536)
600c3 : ffffffffffff0000 (-65536)
600c4 : ffff0000 (-65536)
90016 : 1 (1)
90020 : 0 (0)
90029 : ffffffffffff0000 (-65536)
90030 : 50 (80)
100031 : ffff0000 (-65536)
100051 : 1 (1)
100055 : ffff0000 (-65536)
100056 : ffff0000 (-65536)
100057 : ffff0000 (-65536)
100058 : ffff0000 (-65536)
100059 : ffff0000 (-65536)
10005b : ffffffffffff0001 (-65535)
110013 : 0 (0)
110014 : 0 (0)
110024 : ffff0000 (-65536)
110025 : ffff0000 (-65536)
110026 : ffffffffffff0000 (-65536)
110027 : ffffffffffff0000 (-65536)
110031 : 0 (0)
110032 : ffff0000 (-65536)
110033 : ffffffffffff0000 (-65536)
120057 : ffff0000 (-65536)
12005a : ffffffffffff0000 (-65536)
12005b : ffffffffffff0000 (-65536)
120061 : 60001 (393217)
12006c : ffff0000 (-65536)
120070 : 0 (0)
120075 : ffff0000 (-65536)
120076 : ffffffffffff0000 (-65536)
120077 : ffffffffffff0000 (-65536)
120079 : 3c0 (960)
12007a : ffff0000 (-65536)
12007e : ffff0000 (-65536)
120094 : 33 (51)
120098 : 0 (0)
120099 : 37 (55)
1200a0 : 0 (0)
1200a3 : 0 (0)
1200c0 : 0 (0)
1200c1 : 0 (0)
1200c2 : 0 (0)
1200d2 : ffffffffffff0000 (-65536)
1200d3 : ffffffffffff0000 (-65536)
1200d4 : ffffffffffff0000 (-65536)
1200e1 : ffffffffffff0000 (-65536)
1200e2 : ffffffffffff0000 (-65536)
130021 : 20002 (131074)
130022 : 0 (0)
130023 : ffffffffffff0000 (-65536)
130024 : ffff0000 (-65536)
130026 : 1 (1)
130031 : ffff0000 (-65536)

dsdt.zip

Reinstalling AC now for the screenshot you requested as well!

from g-helper.

moradfarag avatar moradfarag commented on August 16, 2024

UPDATE: Please find AC screenshot below.

image

from g-helper.

jorismak avatar jorismak commented on August 16, 2024

That flicker-free dimming was something I was wondering about if G-Helper could help out with that.

Is there something I can do as a Zephyrus g14 2024 owner to track down things needed for support?

The OLED screen works with an internal pulse-frequency of +/- 960hz. That's how they do g-sync on an OLED, by just firing the pulses quite fast and dividing that to get 'sort of variable refresh rate'. (Otherwise, OLEDs don't really have VRR).

Anyway… that means that turning down the brightness of an OLED screen slows down the pulses, causes more fast flickering, which some people might notice or be sensitive to (headache, eye strain).

So, what Asus have done, is that if you turn your hardware brightness up all the way, there is (almost) no flickering / PWM effect, because it's so fast. And then, you can turn down the brightness in software by just limiting the brightness of the OLED pixels drawn on screen. That way, you have brightness control but without the PWM-flickering.

Thing is - now that I have the device - I see no way to control that software brightness except by launching armoury crate, go to the gamevisual section, go to the OLED tab, then drag the slider around.
Your keyboard buttons still control hardware brightness.

It would be awesome if that somehow could be changed (by G-Helper) to control the software-brightness function instead (or different hotkeys all together).

from g-helper.

seerge avatar seerge commented on August 16, 2024

@jorismak most probably this is already handled by firmware :) so app doesn't have to be involved here anyhow.

The only viable setting for G14 2024 is apparently the Oled Flicker Free dimming setting, that we need to figure out

Check this thread for more details #2056

from g-helper.

jorismak avatar jorismak commented on August 16, 2024

from g-helper.

seerge avatar seerge commented on August 16, 2024

@jorismak #2056

from g-helper.

schmintendo avatar schmintendo commented on August 16, 2024

Hi, I've run the scan included in the build of GHelper you linked, and here's the results:

scan.txt

And here's the log from today, I just opened my computer and made this post, that's it:

2/14/2024 9:42:39 PM: Monitor Power On
2/14/2024 9:42:39 PM: AutoSetting for Offline
2/14/2024 9:42:40 PM: Optimization service is running
2/14/2024 9:42:40 PM: Mode = 2 : 0
2/14/2024 9:42:40 PM: VivoMode = 1 : OK
2/14/2024 9:42:40 PM: Eco flag : -65536
2/14/2024 9:42:40 PM: Mux flag : 1
2/14/2024 9:42:41 PM: \\?\DISPLAY#SDC4190#4&35053381&0&UID8388688#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL
2/14/2024 9:42:41 PM: \\?\DISPLAY#SDC4190#4&35053381&0&UID8388688#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} \\.\DISPLAY1\Monitor0
2/14/2024 9:42:41 PM: Screen = 60Hz : -1
2/14/2024 9:42:41 PM: ScreenOverdrive = 0 : 0
2/14/2024 9:42:41 PM: BatteryLimit = 80 : OK
2/14/2024 9:42:41 PM: AuraMode: AuraStatic
2/14/2024 9:42:41 PM: Session:SessionUnlock
2/14/2024 9:42:41 PM: \\?\DISPLAY#SDC4190#4&35053381&0&UID8388688#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL
2/14/2024 9:42:41 PM: \\?\DISPLAY#SDC4190#4&35053381&0&UID8388688#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} \\.\DISPLAY1\Monitor0
2/14/2024 9:42:41 PM: Screen = 60Hz : OK
2/14/2024 9:42:41 PM: ScreenOverdrive = 0 : 0
2/14/2024 9:43:41 PM: WMI event 134
2/14/2024 9:43:55 PM: ------------
2/14/2024 9:43:55 PM: App launched: Zenbook UX6404VV_UX6404VV :0.154.0.0en-US
2/14/2024 9:43:56 PM: Matrix control device was not found on your machine.
2/14/2024 9:43:56 PM: NVIDIA GeForce RTX 4060 Laptop GPU
2/14/2024 9:43:57 PM: CPU: -1 - 13th Gen Intel(R) Core(TM) i9-13900H - Intel64 Family 6 Model 186 Stepping 2
2/14/2024 9:43:57 PM: AutoSetting for Offline
2/14/2024 9:43:57 PM: Optimization service is running
2/14/2024 9:43:57 PM: Mode = 2 : 0
2/14/2024 9:43:57 PM: VivoMode = 1 : OK
2/14/2024 9:43:57 PM: Eco flag : -65536
2/14/2024 9:43:57 PM: Mux flag : 1
2/14/2024 9:43:57 PM: \\?\DISPLAY#SDC4190#4&35053381&0&UID8388688#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL
2/14/2024 9:43:57 PM: \\?\DISPLAY#SDC4190#4&35053381&0&UID8388688#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} \\.\DISPLAY1\Monitor0
2/14/2024 9:43:58 PM: Screen = 60Hz : OK
2/14/2024 9:43:58 PM: ScreenOverdrive = 0 : 0
2/14/2024 9:43:58 PM: BatteryLimit = 80 : OK
2/14/2024 9:43:58 PM: BatteryLimit = 80 : OK
2/14/2024 9:43:58 PM: AuraMode: AuraStatic
2/14/2024 9:43:58 PM: Monitor Power On
2/14/2024 9:43:58 PM: Lid Open
2/14/2024 9:43:59 PM: Latest version 0.154.0.0
2/14/2024 9:44:01 PM: Mode = 2 : 0
2/14/2024 9:44:01 PM: VivoMode = 1 : OK
2/14/2024 9:44:04 PM: Unable to load DLL 'atiadlxx.dll' or one of its dependencies: The specified module could not be found. (0x8007007E)
2/14/2024 9:44:04 PM: Hibernate after 21600

Since my laptop is a ZenBook not the Zephyrus G14, my OLED flicker settings are in the MyAsus app, not Armoury Crate. It might be different for the G14 folks.

from g-helper.

schmintendo avatar schmintendo commented on August 16, 2024

Not quite sure how the scans work, but I changed OLED flicker free dimming from 0 to 100 and none of the values in the scan changed.
scanoleddim0.txt
scanoleddim100.txt

from g-helper.

seerge avatar seerge commented on August 16, 2024

@schmintendo thanks! That's same outcome as #2056 unfortunately :(

from g-helper.

seerge avatar seerge commented on August 16, 2024

@schmintendo can you also do a DSDT dump as explained here ?

from g-helper.

seerge avatar seerge commented on August 16, 2024

@schmintendo @jorismak @moradfarag @MrHumanRebel
Try this build that has a dimming slider, and let me know if it is similar to what MyASUS (or AC) does in your cases

GHelper.zip

from g-helper.

seerge avatar seerge commented on August 16, 2024

@flyrobot27 great to hear, does it go as "dim" as asus slider in your case?

from g-helper.

jorismak avatar jorismak commented on August 16, 2024

from g-helper.

seerge avatar seerge commented on August 16, 2024

@jorismak i'm not sure as I don't have G14 2024 at all :) But it is highly likely - cause it doesn't work in HDR and affects image quality (according to their own tooltip) (c) @moradfarag

image

So what they do is just "compress" dynamic range, by making actual colors dimmer.

If you had 256 shades of grey (just an example) - you make brightest "white" just to be 128. Twice dimmer, but you also have twice less shades.

https://learn.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-setdevicegammaramp

I implemented this way, and microsoft also mentions that HDR won't work. So it's a good chance they do either literally same, or something similar.

While "hardware" brightness control - is actual increase of flickering (i.e. inserting black frames). But that doesn't affect dynamic range of course.

from g-helper.

jorismak avatar jorismak commented on August 16, 2024

from g-helper.

seerge avatar seerge commented on August 16, 2024

@schmintendo it compounds cause MyASUS sets brightness via some other way (most probably via GPU driver). But actual effect is similar.

Can you compare MAX dimming in MyASUS vs G-Helper ? (i.e. set dimming to 0% in MyASUS and to 100% in G-Helper and vise versa) ?

And make a photos of a screen?

from g-helper.

jorismak avatar jorismak commented on August 16, 2024

from g-helper.

jorismak avatar jorismak commented on August 16, 2024

I see you are already on the issues tab from that repo, so you found it as well :).

from g-helper.

seerge avatar seerge commented on August 16, 2024

@jorismak that thing is useless, cause only thing it does - calling asus service to do it's thing :)

from g-helper.

jorismak avatar jorismak commented on August 16, 2024

from g-helper.

seerge avatar seerge commented on August 16, 2024

@jorismak build with "better than nothing" option is already in this thread :) as for (possible) hardware component for it - someone with actual device need to figure it out

from g-helper.

jorismak avatar jorismak commented on August 16, 2024

It doesn't even work. I see the indicator that it reduces something, but nothing actually changes. The slider in Armoury Crate stays at full.

The idea of changing the gamma-ramp itches a little for me. It probably means that the gamma response of the screen is way off if I wanted to do photo work at +/- 100 nits.

from g-helper.

seerge avatar seerge commented on August 16, 2024

@jorismak if you need proper colors, you shouldn't use asus dimming, as it also affects colors. And yes, of course slider in AC will stay on full, why would it move ?

Do you have HDR on ? Do you have external display connected?

from g-helper.

jorismak avatar jorismak commented on August 16, 2024

from g-helper.

seerge avatar seerge commented on August 16, 2024

[@jorismak] the app you refer to (for-asus-bright-ctrl) just calls Asus service to do its thing. So it is possible (even tho not guaranteed) that Asus software will reflect the change in the UI that was set in the same software.

If you would set the same dimming setting somehow directly, I doubt that Asus would reflect it.

And it is 100% not the case for most of the other settings that G-Helper can set. Armoury doesn't reflect them, as it doesn't read anything in the first place and just shows what was set last in Armoury itself.

As for deltaE - it shouldn't change if you just adjust GammaRamp linearly. It just makes the same colors less bright, proportionally, it doesn't shift white point, etc :)

from g-helper.

schmintendo avatar schmintendo commented on August 16, 2024

@schmintendo it compounds cause MyASUS sets brightness via some other way (most probably via GPU driver). But actual effect is similar.

Can you compare MAX dimming in MyASUS vs G-Helper ? (i.e. set dimming to 0% in MyASUS and to 100% in G-Helper and vise versa) ?

And make a photos of a screen?

Sure thing, here's the video:
https://youtu.be/OGOPZHP24lQ

Looks like MyAsus gets a bit dimmer. I'd be happy to try and find the actual way MyAsus does it if you want to tell me what to do! I'll upload the dsdt dump shortly.

from g-helper.

schmintendo avatar schmintendo commented on August 16, 2024

Here's the dsdt dump:

dsdt.zip

from g-helper.

seerge avatar seerge commented on August 16, 2024

@schmintendo oke, thanks!

I honestly don't see anything that would indicate to be a dimming in a dump (same as for G14 2024) :(

But I have managed to make software dimming a bit stronger on low levels (< 50% of slider position)

Can you check this build and see if it gets closer to what MyASUS can do ?

GHelper.zip

from g-helper.

schmintendo avatar schmintendo commented on August 16, 2024

This build doesn't have the flicker free dimming slider lol
image

from g-helper.

seerge avatar seerge commented on August 16, 2024

@schmintendo sorry, I have added oled detection based on model name, and yours doesn't contain word OLED :)

Try this build

GHelper.zip

from g-helper.

flyrobot27 avatar flyrobot27 commented on August 16, 2024

@flyrobot27 great to hear, does it go as "dim" as asus slider in your case?

Hi, sorry for the late reply. In my experience yes, it goes about the same as the myasus slider

As an added bonus this build also seems to fixed the "MyAsus" launch key issue (where the release build fails to launch the GHelper window when MyAsus key is pressed).

I have been running this build for around 4 days now and am very happy with it.

from g-helper.

schmintendo avatar schmintendo commented on August 16, 2024

@schmintendo sorry, I have added oled detection based on model name, and yours doesn't contain word OLED :)

Try this build

GHelper.zip

With that build, you can definitely tell that the MyAsus app does something different than what your app does. Past 40% or so, as others have mentioned, the colors get really wonky in your build, while the colors stay relatively similar in the MyAsus implementation.

Here's a video: https://www.youtube.com/watch?v=UmNIxUbjBEY

The previous build you gave here (#2045 (comment)) actually doesn't have that issue, since the brightness doesn't go down as far.

Edit: I want to make it clear that I'm incredibly appreciative that you built in the function into your app! Please don't interpret my comments as disparaging, I just wanted to report my experiences!

from g-helper.

seerge avatar seerge commented on August 16, 2024

@schmintendo this is cause starting from 40% instead of minimal possible brightness it would reduce contrast:)

May be that's too much, and I should stick to brightness only adjustment.

Main problem here is that windows is not allowing to go any lower

from g-helper.

jorismak avatar jorismak commented on August 16, 2024

from g-helper.

seerge avatar seerge commented on August 16, 2024

@jorismak

But it will not prevent pixels that are 100% to become less...

It exactly will. As this is OLED not LED (where next to color also actual backlight brightness exists as a parameter)

In latest build within range 50% ... 100% adjustment is linear.

So it just compresses dynamic range, but doesn't bend gamma curve (it stays a line)

The reason it doesn't go lower is only cause windows is not accepting anything below that

If you have better ideas or did some reverse engineering feel free to commit :)

from g-helper.

jorismak avatar jorismak commented on August 16, 2024

from g-helper.

seerge avatar seerge commented on August 16, 2024

@jorismak gamma adjustment can make brightest pixel twice dimmer than it was.

Thats as far as windows would let you go.

from g-helper.

seerge avatar seerge commented on August 16, 2024

Just FYI, I have found a topic on reddit where someone suggests dimming methods
https://www.reddit.com/r/OLED_Gaming/comments/sa6clj/screensaver_and_taskbar_dimmer_for_protecting/

And if you look into source code of Autohotkey script they use, it does exactly same thing as I'm doing in this test builds - using SetDeviceGammaRamp to linearly low gamma to 50% from maximum .

So far I'm not aware about any other methods to go lower than 50% (w/o adding actual "hardware" brightness controls)

But I'm also not sure if it's worth it, cause it already compresses dynamic range enough :)

from g-helper.

seerge avatar seerge commented on August 16, 2024

@MrHumanRebel @schmintendo @jorismak oke, I think I have found a "way" to set dimming same as AC does it

Please check this build
GHelper.zip

from g-helper.

seerge avatar seerge commented on August 16, 2024

Updated version with ability to control dimming with Ctrl + FN + F7 / F8 from keyboard directly and a fallback to original GammaRamp method if new one is not available

UPDATE: Changes are live in the latest 0.157

from g-helper.

jorismak avatar jorismak commented on August 16, 2024

Thanks for working on this!

  1. The dimming seems much more natural now
  2. When I set it to a certain percent, then start Armoury Crate and go to the dimming page, the percentage there matches what I set it to through G-Helper. Tested this a few times, and it seems they keep sync. So it really seems to be the Armoury Crate way of doing it. Nice!

The CTRL+FN+f7/f8 key doesn't seem to work, though. It changes the normal ('windows') brightness just as if CTRL wasn't pressed. On a Zephyrus G14-2024.

from g-helper.

seerge avatar seerge commented on August 16, 2024

@jorismak make sure you that you use latest build linked here (0.157)

Or you can try even newer one with Gamuts / Game Visuals #2176

Just in case, AC does same thing as I did, adjusts Gamma (Something you were against). But it embeds it to ICC profile, instead of setting after. Real effect it same, except it allows to bypass windows limitations of 50% and go lower (it goes to 40%)

from g-helper.

seerge avatar seerge commented on August 16, 2024

Closing this as completed cause

  • Flicker-free dimming / Visual modes are live in latest releases
  • Taskbar hiding / making it transparent is just a windows setting
  • Other (possible?) settings are not available in AC, and even if they exist - they are extremely likely ON by default handled by hardware

from g-helper.

casellasabdala avatar casellasabdala commented on August 16, 2024

@seerge I read somewhere that some folks could see a process called "pixel shift" on their tasks. I disabled armoury crate and don't see it. Are Pixel shift and refresh happening at a HW/FW level? I really don't want to turn on AC as it drains my battery and CPU like crazy.

from g-helper.

seerge avatar seerge commented on August 16, 2024

@daniel-turboprop hello,

There is no pixel shift in AC to my best knowledge. There is another mini-app that just shifts your active wallpaper only . But my advice would be just letting windows rotate wallpapers completely with some period, that's way better anyway.

from g-helper.

jorismak avatar jorismak commented on August 16, 2024

from g-helper.

Related Issues (20)

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.