Comments (85)
macOS Big Sur fixed the issue! I no longer see flashes/flickering with LG 4K (DP) or LG 5K UltraFine (TB3). No workaround needed. #308
from hac-mini.
Okay made a new package option. Please test it by downloading the built artifact. When the screen starts flickering (including on first boot), you have to sleep+wake up to "reset" it. I don't know what triggers the flickering to show up but for me it usually doesn't for hours.
from hac-mini.
UPDATE: this is out of date, see post below
I wrote this new tool to force a constant framerate. However currently to use it you have to disable SIP and add a new boot-arg.
- Reboot into recovery mode
- Disable SIP:
csrutil disable
- Get boot-args:
nvram boot-args
- Append boot-args:
nvram boot-args="PREVIOUS_BOOT_ARGS_HERE amfi_get_out_of_my_way=1"
- Reboot into normal mode and run
./SLForceFPS -r 20
I've found that 20 FPS is the lowest that makes the flickering go away. But you can try other values as well. Note that this completely nukes your computer's security so please revert the changes when you are done testing.
Let me know if the tool works (if it returns success or an error code). Also let me know if it fixes the flickering and if they come back, what causes the flickering to go back (I find that switching to fullscreen or moving a window to a second monitor causes it to go back).
from hac-mini.
To summarize:
- The root issue is deeply rooted in Apple/AMD drivers + firmware and after tens of hours spent debugging this, I cannot find a good fix.
- A general workaround is released in the installer which forces SkyLight to refresh at a constant rate of 20FPS (or higher). Unfortunately this costs some CPU/GPU usage but the GeekBench scores are not more than 5% different.
- Other people have found workarounds including: a headless HDMI adapter, changing the resolution on a second display, using a lower or higher resolution, rotating the display.
- There does not seem to be a display configuration based workaround (no CPU/GPU consumption) that works for everyone, so the workaround in in the installer is still the easiest/best option.
This is as good as we are going to get without help from Apple/AMD so I will close the issue for now.
from hac-mini.
Do you fix it in kernel?
from hac-mini.
It’s very difficult. I’ve been looking but I can’t find anything. The workaround is the best I can come up with right now.
from hac-mini.
same issue after wakeup, on dell p2715q 3840 x 2160
from hac-mini.
With workaround?
from hac-mini.
Just 1.4.1 , is there any progress?thx:)
from hac-mini.
What about Inject EDID? @osy86
from hac-mini.
I have not tried, please let me know if you try.
from hac-mini.
it is not working. and how do fix preview image?
from hac-mini.
You're referring to #18 ?
from hac-mini.
Just chiming in to relay my configuration and confirm that I'm seeing severe flickering on one of my monitors at any resolution when HiDPI is enabled:
HVK
10.15.1 (and also tested w/ 10.15.2 beta)
HP Envy 27" 4K (flickering)
QNIX 27" QHD (not flickering)
So far I've tried two cables - a mDP to DP cable, and a USB-C to USB-C cable. Both experience flickering that makes the system more or less unusable.
Thank you for all your hard work getting us this far!
from hac-mini.
I've got 24k AOC U2879G6 screens. when use 1 screen and set HIDPI to 19201080,everything works fine. When I plug into the 2rd screen, all the 2 screens flickering, whatever HIDPI setting. Then I plug out the 2rd screen, everything become normal again without rebooting or log out.
from hac-mini.
and no flicker happened when both screen are orignal 4K definition.
from hac-mini.
delete whatevergreen changes nothing,still flickering
from hac-mini.
Just chiming in to relay my configuration and confirm that I'm seeing severe flickering on one of my monitors at any resolution when HiDPI is enabled:
HVK
10.15.1 (and also tested w/ 10.15.2 beta)
HP Envy 27" 4K (flickering)
QNIX 27" QHD (not flickering)So far I've tried two cables - a mDP to DP cable, and a USB-C to USB-C cable. Both experience flickering that makes the system more or less unusable.
Thank you for all your hard work getting us this far!
Have you ever tried to output 3 screens, like 2 via DP(or USB-C since ultimately it uses DP) and 1 via HDMI (you can connect both HDMI and DP to one of your display if possible).
from hac-mini.
I have the same issue:
- When connecting only one 4K display (1.5:1 scaling, "looks like" 2560x1440), the workaround fixes the problem.
- If I then connect a second display (a 2K, 1200x1600; rotated) the 4K display starts flickering (even after the workaround which fixed it above). The workaround no-longer works when attempted after connecting the display. If I disconnect the 2K display, so there is only one 4K display connected, the workaround works again. Reconnecting the same 2K display a second time causes the 4K display to start flickering again.
- If I then connect a third display (another 2K, 1200x1600; rotated), the 4K display resets to 2:1 retina scaling. If I change it to 1.5:1 scaling, everything works again (i.e. workaround OK).
- With three displays connected, if I sleep and wake up the computer, the 4K display flickers again. The workaround doesn't help. One new workaround I found was to physically unplug the 4K display and plug it back in. That seems to reset the framebuffer, but is not ideal. Right now I am just disabling computer sleep in System Preferences, but would much rather have it sleep overnight when I do. ;-)
I am using two USB-C to DP adapters (one for 4K, one for 2K) and one DP port (second 2K). I found that using the HDMI port for the 4K display, and using both DP ports for each of the 2K displays, did not change the above behavior.
On a separate note, I found that using the HDMI port for the 4K display caused my windows to re-arrange on display wake up (not necessarily computer wake up). This hasn't happened so far when using two USB-C DP adapters and the DP port. Perhaps a lag in the AMD card initializing the HDMI chipset? Do they use a discrete IC that performs a DP > HDMI signal conversion like some of the other NUCs?
Happy to perform other tests, and any hacks the legendary @osy86 might come up with!
from hac-mini.
Adding a 3rd display fixes the headache inducing flicker I was experiencing with a 2nd display...
Building on @Yrp said in #212 (that bug should probably be a dupe of this):
- Going from 1 to 2 displays causes intermittent flickering
- Going from 2 to 3 displays resolves the flickering
- Dropping down from 3 to 2 displays -> no flickering either
- Going 2 to 3 to 2 again -> no flickering
- Dropping from 2 to 1 and then back up to 2 again results in flickering
The displays I'm using are:
- LG 4K via miniDP
- Samsung 2K via miniDP
- 720p MPi3508 Raspberry Pi Display (3.5")
The resolutions of the displays doesn't seem to matter, the 4K w/ the 720p had flickering going from 1 to 2 displays.
I might be able to hook up a 4th display to the second HDMI, if knowing that behaviour would be helpful.
Haven't tried with any screens sleeping.
There are HDMI and DP Dummy (ghost) display adapter plugs that can be used to fake a screen which could be an inexpensive hardware workaround (~$2 on ebay from China)
from hac-mini.
Adding a 3rd display fixes the headache inducing flicker I was experiencing with a 2nd display...
Building on @Yrp said in #212 (that bug should probably be a dupe of this):
- Going from 1 to 2 displays causes intermittent flickering
- Going from 2 to 3 displays resolves the flickering
- Dropping down from 3 to 2 displays -> no flickering either
- Going 2 to 3 to 2 again -> no flickering
- Dropping from 2 to 1 and then back up to 2 again results in flickering
The displays I'm using are:
- LG 4K via miniDP
- Samsung 2K via miniDP
- 720p MPi3508 Raspberry Pi Display (3.5")
The resolutions of the displays doesn't seem to matter, the 4K w/ the 720p had flickering going from 1 to 2 displays.
I might be able to hook up a 4th display to the second HDMI, if knowing that behaviour would be helpful.
Haven't tried with any screens sleeping.
There are HDMI and DP Dummy (ghost) display adapter plugs that can be used to fake a screen which could be an inexpensive hardware workaround (~$2 on ebay from China)
Your summary is very good!
from hac-mini.
I've now done some additional testing with 4 displays. The displays I'm using are:
- LG 4K via miniDP
- Samsung 2K via miniDP
- 720p MPi3508 Raspberry Pi Display (3.5") via HDMI
- SyncMaster 206 (1680x1050 res) via HDMI
- Mirroring w/ 2 Displays -> no flickering
- 1 to 2 mirrored to 2 not mirrored -> flickering
- 1 to 3 to 2 mirrored to 2 not mirrored -> no flickering
- 2 to 3 to 4 -> no flickering
- 4 to 3 to 2 -> no flickering
This seems to confirm the flickering effects only occur when a second display is added and clear after adding a 3rd or more displays until the number of active displays falls back to 1 and rises to 2 again.
from hac-mini.
I've now done some additional testing with 4 displays. The displays I'm using are:
- LG 4K via miniDP
- Samsung 2K via miniDP
- 720p MPi3508 Raspberry Pi Display (3.5") via HDMI
- SyncMaster 206 (1680x1050 res) via HDMI
- Mirroring w/ 2 Displays -> no flickering
- 1 to 2 mirrored to 2 not mirrored -> flickering
- 1 to 3 to 2 mirrored to 2 not mirrored -> no flickering
- 2 to 3 to 4 -> no flickering
- 4 to 3 to 2 -> no flickering
This seems to confirm the flickering effects only occur when a second display is added and clear after adding a 3rd or more displays until the number of active displays falls back to 1 and rises to 2 again.
In my case, mirroring displays can cause consistent flickering...
(4K+2K)
from hac-mini.
@KrisCris interesting... My 2K display is rotated 90 degrees. I wonder if that has an effect (certainly the mirrored resolution is lower)
from hac-mini.
I have noticed with single 4k monitor usage, I see sometimes see very occasional glitches like once every minute or two, this isn't consistent. I tend to notice it when I have google chrome up with something with a white background; I think because it's most obvious to my eyes.
I usually power up my other two displays to workaround the issue.
On a side note, I was also able to observe a strange occurrence where by my primary 4k display and tertiary 720p displays would not wake up... This was after 5 days + 20 hours of uptime... Rather, when I had them powered on my secondary display would glitch out hard until I shut the other two displays off. The machine eventually kernel panic'd (your machine has crashed OSX screen). Prior to it's crashing I was able to capture the Console
log for a few seconds during which I powered up the other screens to induce the flickering on the secondary display, then shut them off and save the log. I'm attaching that here in case it is helpful.
from hac-mini.
I suspect it's a Metal issue. I found that if a complex Metal app is running in the foreground (e.g: https://developer.apple.com/documentation/metal/rendering_a_scene_with_deferred_lighting?language=objc) then the flickers disappear.
Maybe there's some buffer that gets freed too early?
Does anyone know if the flicker issue is better or worse without Polaris22Fixup
?
Also do they appear when running a full screen game?
from hac-mini.
I'm inclined to agree it's something to do with Metal...
With 2-displays (4k + 90 rotated 2K), Google chrome open to this stacktrace answer (https://stackoverflow.com/a/39524311) which is an animated gif on a white background...
Oddly enough when I run the scene the flicker stops for as long as the scene is running. However, unlike connecting a 3rd display, the flickering resumes when the scene is stopped.
Its almost as if the OS is treating the scene as a new display device in the sense it is causing flickering for you the same way it does for me when I add my 2nd display by itself. While when I do it with 2 active displays, it stops the flickering like I turned on my 3rd display (even though I didn't).
I believe the issue was the same prior to the Polaris22Fixup
. The screen flickering with secondary display was what drove me to go back to linux in Feb 2019, before I ever knew about your project.
I'm attaching a mov of the scene rendering with both displays visible:
2nd-display-low-quality.mov.zip
(rename off the .zip extension which was needed so github would accept it)
Some things to try on your system:
- Run 2 metal applications and see if the flickering stops (~ +2 display devices?)
- Try capturing the screen with QuickTime Player's screen recording... when I tried this 2 displays all flickering stopped for as long as the capture was running. (~ +1 display device?), I wonder if it would induce the flicking with only a single display active.
If the running 2 metal apps solves it, maybe we need to write a couple of metal "dead pixel" apps to sit in one of the corners and just stop flickering 😄
from hac-mini.
Has anyone tried to run OSX before they moved the Window manager to Metal?
from hac-mini.
So more testing with Quartz Debug makes me think it's not really a Metal issue. When I enable the FPS counter, it seems like the stuttering happen whenever it's < 60 FPS and it seems to happen more whenever the FPS is changing. I also notice in verbose logging: CRITICAL ERROR : VBLANK interrupt has not been generated in time!
so it could be that whenever the refresh rate changes something on the hardware or software side is broken and the VBlank interrupt isn't happening on time. If you run anything to force the FPS to 60 then you don't see the flickering.
from hac-mini.
2560x1440 in 60Hz flickering, 2560x1440 in 30Hz all good.
from hac-mini.
I wrote an app to force the FPS to 30fps, 60fps, 120fps. I tried with both vsync off and on and nothing solved the flickering 100% of the time. So I guess my hypothesis that it has to do with frame rate changes is wrong.
from hac-mini.
Another observation: flickering doesn't happen if the GPU is disabled. More evidence that it's Metal related?
from hac-mini.
Sadly, I don't think it helps my case... And in my case, the flickering does not require any sleep/wake to trigger.
https://youtu.be/0VG2d7WaEjE
from hac-mini.
After installing the new pkg can you run SLForceFPS -r xx
with different frame rates like 30, 60, 120, etc and see if any works? The effect should be immediate.
from hac-mini.
I didn't notice any difference in frame rate tho..
from hac-mini.
The “killed” message means that AMFIExemption.kext isn’t loaded properly. Can you try to manually load it and see if there’s any error message?
Alternatively try the steps above to disable amfi and see if that works. Then getting the kext to load is a separate issue.
from hac-mini.
from hac-mini.
Hmm I think Lilu plugins can’t be loaded that way so nvm. I’ll have to test it myself, meanwhile try the amfi disable instructions.
from hac-mini.
try the amfi disable instructions.
I am not sure what is that..
from hac-mini.
from hac-mini.
Ah, did you mean appending amfi_get_out_of_my_way=1
to boot-args?
from hac-mini.
OK, after adding amfi_get_out_of_my_way=1
it works, and no flickering observed.
But I noticed that there are more image tearing when constant refresh is enabled.
from hac-mini.
Try setting it lower and see if you still see image tearing. I have it at 20
from hac-mini.
Still tearing, especially when something moves fast, like switching pages in LaunchPad.
from hac-mini.
Hmm I don’t see this on my end. Do you have access to a MacBook you can test with your monitor? Want to make sure it’s not an OS X issue.
from hac-mini.
Okay there was an issue in AMFIExemption that prevented it from working on Catalina. Try the build in #250 again.
from hac-mini.
Do you have access to a MacBook you can test with your monitor? Want to make sure it’s not an OS X issue.
Currently I have no MacBook to test with, but at least after I disabled the SLForceFPS, no tearing anymore...
Edit: I've uploaded a video. https://youtu.be/4k3ZOmP32to
from hac-mini.
Okay there was an issue in AMFIExemption that prevented it from working on Catalina. Try the build in #250 again.
With the latest installer in Action, it works without that boot-args.
Edit:
I think it moderates the flickering to like 2 or 3 minutes per one.
from hac-mini.
I don’t have that but it seems like maybe you’ve had hardware rendering disabled or something? Are you using the AMD or Intel video encoder options? Any other modifications to BIOS settings or anything?
from hac-mini.
I don’t have that but it seems like maybe you’ve had hardware rendering disabled or something? Are you using the AMD or Intel video encoder options? Any other modifications to BIOS settings or anything?
Hmm, I am using Intel encoder and I don't think I had done any modification to bios than what you recommended in that guide.
from hac-mini.
Ah, should I set this FPS as low as possible? Cuz I observed some lag when I typing with those input sources that come with a words picker. And the picker updates way slower than I type.
from hac-mini.
Can you check activity monitor and see if anything is using up the CPU? I don’t get any of this on my machine. But I’ve experienced similar behavior before when I disable GPU acceleration.
from hac-mini.
Can you check activity monitor and see if anything is using up the CPU? I don’t get any of this on my machine.
Hmm, I think it's the WindowServer?
But I’ve experienced similar behavior before when I disable GPU acceleration.
Frankly I have no idea how to disable GPU acceleration in macOS, is there a way to check?
from hac-mini.
That’s weird mine is near 0% as expected. Can you download Additional Tools for Xcode 11.4 from https://developer.apple.com/downloads/index.action and launch Quartz Debug.app then in View turn on the FPS counter and see what it points to when idle.
from hac-mini.
Also what monitor(s) are you using? What resolutions? What connection? And the max refresh rate? And does it support FreeSync?
from hac-mini.
I can't find the option to show fps...in View turn on the FPS counter and see what it points to when idle.
Also what monitor(s) are you using? What resolutions? What connection? And the max refresh rate? And does it support FreeSync?
My main display is DELL U2518D, 2K, DisplayPort, 60Hz, I searched on the internet and found out it doesn't support FreeSync.
from hac-mini.
in View turn on the FPS counter and see what it points to when idle.
from hac-mini.
And what does it show with SLForceFPS -r 0? Mine is around 0 and for 20 it’s around 20. Definitely strange for it to be at 80.
from hac-mini.
So I checked mine again and it is normal for WindowServer to be at 20%. But my FPS is not that high.
EDIT: I do see the screen tearing on mine as well.
from hac-mini.
So I checked mine again and it is normal for WindowServer to be at 20%. But my FPS is not that high.
EDIT: I do see the screen tearing on mine as well.
My FPS fluctuates: with SLForceFPS enabled, sometimes it can bump to 100+FPS... After disabled, the FPS is kinda back to normal (below 60) but still unstable.
from hac-mini.
BTW, do you think "iStat Menus" is correctly monitoring VEGA M? Cuz when I launch Adobe Premiere, it shows the GPU Memory usage surged to nearly 100% and never goes down unless I reboot the system. (NVM if you don't have that App.)
from hac-mini.
Is this only with SLForceFPS?
from hac-mini.
Is this only with SLForceFPS?
Which one?
If you mean the FPS, then yes. (I turned on HiDPI for my 2K display, but I don't think it's related..)
from hac-mini.
I’m talking about the 100% GPU usage. Do you only see it with SLForceFPS enabled?
from hac-mini.
I’m talking about the 100% GPU usage. Do you only see it with SLForceFPS enabled?
Sorry, perhaps not. Later I found that after I opened the Launchpad and some folders in it, the memory usage surged, no matter SLForceFPS is enabled or not. But it back to normal after I switched screen resolution or had the NUC wake up from sleep. (I opened launchpad testing tearing... So.. )
But how could it consume 4GB memory..LOL
Edit: NVM, I think it's just that software's problem.
from hac-mini.
@KrisCris I ran some benchmarks before and after SLForceFPS. Both geekbench 4 and 5. CPU and OpenCL benchmarks. I computed the percent difference between before and after.
GB4 GPU: 2.25808601 %
GB4 CPU Single: -3.8524256 %
GB4 CPU Multi: -1.89718865 %
GB5 GPU: 5.18569413 %
GB5 CPU Single: -4.84460694 %
GB5 CPU Multi: 3.08264682 %
The fact that some of the results show a gain in performance after enabling SLForceFPS means that it's probably within the margin of error. I think running two benchmarks one after the other will result in something like that. Anyways, on my machine it doesn't seem like SLForceFPS has any real performance impact. Do you see the same results?
from hac-mini.
That's good news! Does it work with all scaling options?
from hac-mini.
I haven’t tested all of them but the ones that gave me issues before no longer had issues.
from hac-mini.
OK, can't wait to test it out after its release!
Btw, is there a guide for installing Big Sur for HacMini? I heard it's kinda troublesome right now.
from hac-mini.
Not yet but the easiest way is to install Mojave on a new partition and upgrade to Big Sur.
from hac-mini.
Thanks for the information! I'll give it a try after I finished my work :)
from hac-mini.
After booting 10.15.6 with Hacmini 2.10, changing the model to imac19, 2 can solve the problem of flickering after sleep.
from hac-mini.
I'm on Catalina, Macmini8,1 with a 4k monitor and it started after the monitor awakes from sleep.
My workaround was to change down the Hertz on the same resolution and that seem to stop Chrome from flickering the screen - it was driving me crazy.
from hac-mini.
Plug the wireless keyboard receiver into the front blue USB port, which seems to reduce the flickering.
from hac-mini.
@bughunt8 could you explain what you did in more details?
from hac-mini.
After booting 10.15.6 with Hacmini 2.10, changing the model to imac19, 2 can solve the problem of flickering after sleep.
My Environment 2k Dell U2515H + 4k Dell U2720QM
My situation.
Upgraded to the latest 2.13, 2k normal 4k blinky.
Then install 2.10 and everything is fine.
I hope my way works for you.
from hac-mini.
Big Sur is still flickering
from hac-mini.
@9ft did you install the screen flickering workaround? I'm on OSX 11.0.1 w/ Intel iGPU drivers and screen flicker workaround and the flickering problem is gone for me (4k and 2k dual screen); I was able to shutoff my 3rd 720p screen that I needed to stop the flickering before.
The only thing I would say is video performance sucks a little bit, twitch streams and youtube videos experience a little bit of tearing sometimes; 4k/60 HEVC video I recorded stalls out during playback (same video works fine on an iGPU MBP2020)...
I'm thinking to try switching to the AMD drivers to see if they help with that.
Oh and left side window edge has a line 10 px in, but it doesn't bother me.
from hac-mini.
I'll have to eat my words, seems the problem has returned for me. I got it after wake up after trying to install 2.14. I don't know if 2.14 actually applied or not, I turned on the verbose boot setting, but I got the usual status bar on boot; so I'm not really sure. 😢
from hac-mini.
Thanks to you all for all the discussion above, me myself ran into the same problem recently, unfortunately the work around provided by dear osy caused severe performance suffering on my HaCMini.
Luckily, I happened to notice that if I plugin three or more screens, and then unplug them all except two(4K&1080P), both left two screens stop flickering.
Is it possible that we fake one or more visual screen every time macOS boots and then remove the visual ones to fix flickering problem? @osy Thanks for your noticing and looking forward to your words, wish you happy day😁
from hac-mini.
I tried that before (make a fake disconnect and reconnect) and it wasn’t reliable.
from hac-mini.
I tried that before (make a fake disconnect and reconnect) and it wasn’t reliable.
Well, that is a sad news for me, thank u all the same~
Just out of curiosity, does fake connection relate with port type? Is it possible that fake HDMI connection differs from fake mini-DP connection?
from hac-mini.
Running Monterey, 4k display HDMI output and also flickers after resume from display sleep. Changing resolution fixes the issue so also @osy's workaround works.
from hac-mini.
A type-c to hdmi cable will work.
from hac-mini.
Using Hackintool to customize the resolution can solve the problem of screen flickering when using dual screens. Customize the resolution you want to use by multiplying by 0.9
from hac-mini.
Related Issues (20)
- Create DMAR table HOT 1
- Some bug on ventrua 13.3 HOT 31
- macOS 12.6.4 Airplay and sidecar not showing up HOT 5
- Description of packages in installer not working HOT 13
- Screen flickering issue is back. HOT 8
- Ventura 13.3.1 Opencore USB won't boot.
- Cannot update Catalina using v3.3.1 installer. HOT 6
- macOS 13.4。Boot failure in some cases and bluetooth does not work [NUC8i7HVK、HaC Mini version : 3.3.1] HOT 6
- Graphic Acceleration is lacky under 13.4
- SDXC Card Reader only recognize 32GB HC Cards no 64 or 128 GB SDXC Cards HOT 4
- MacOs 13.4.1 Patch OSX installer is disabled HOT 1
- Unexpected error using usb installer over&over HOT 1
- Wake up by itself right after going to sleep HOT 3
- macOS Sonoma HOT 1
- Is macOS Sonoma supported? HOT 1
- Corrupted boot entries HOT 1
- Disable SIP HOT 1
- that's all right, only bluetooth is not working HOT 2
- NEWS: Layout 22 ALC700 TEST HOT 4
- Sequoia SUPPORT HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hac-mini.