Skip to content
Sparronator9999 edited this page Feb 11, 2025 · 5 revisions

Table of contents

What versions of Windows do you support?

Windows 10 and 11 (64-bit).

32-bit Windows 10 should also work, but you really should be using 64-bit Windows in 2024.

Older versions of Windows that support .NET Framework 4.8 may also work, but with no support from me.

Can you please make a Linux version?

Soon™.

Use one of the many other projects on GitHub instead while you wait.

How does this program work?

YAMDCC works by accessing your laptop's embedded controller (aka, the EC). Many settings that can be configured with MSI Center are stored here, including fan curve, performance mode, and the Win/Fn key swap setting.

Why do I need administrator privileges to run this program?

  1. Because admin privileges are required to install kernel drivers, and...

  2. For security reasons, only programs with admin privileges are allowed to communicate with the YAMDCC service once it's running.

Why does this program need a kernel driver?

Because communicating with the EC requires low-level hardware access, something only possible from within the kernel. This program achieves this with WinRing0.

Doesn't WinRing0 have security issues?

Yes, however YAMDCC mitigates this by installing the driver such that only programs run with administrator privileges can communicate with the driver.

Why wasn't this done by the driver itself in the first place, you might ask? Honestly, I don't know how this slipped through during development, but here we are. Unfortunately the updated fork of WinRing0 that does fix this vulnerability driver-side doesn't have a binary release due to Microsoft's strict driver signing requirements.

NOTE: If YAMDCC finds the driver already installed, it may try to use that (potentially vulnerable) driver instead. If it was installed with, e.g. LibreHardwareMonitor, you should be fine, as they implement the same workaround that YAMDCC does.

Please read the disclaimer, especially the bold text, if you haven't already.

How do I fix a "The YAMDCC service failed to start" error?

There are currently two known reasons for this error to appear:

  1. The YAMDCC service executable (yamdccsvc) has been moved or deleted since it was installed, or
  2. The YAMDCC service crashed during startup.

You can fix the first error reason by moving YAMDCC back to its original location when the service was last installed, or by manually uninstalling it.

The second reason for the error is a bit harder to diagnose. If you're sure the YAMDCC service hasn't been moved, open a new issue with the latest service log (located at C:\ProgramData\Sparronator9999\YAMDCC\Logs\yamdccsvc.log).

How do I manually uninstall the YAMDCC service?

If you can't get the YAMDCC service to start (which is needed to get to the config editor's Uninstall service option), try the following steps to manually uninstall the YAMDCC service:

  1. Open an Administrator Command Prompt and cd to the following folder: C:\Windows\Microsoft.NET\Framework64\v4.0.30319.
  2. Locate your copy of yamdccsvc.exe, hold Shift, and right-click it, then select Copy as path.
  3. Run the following command in the Command Prompt you opened earlier: installutil /u "C:\path\to\yamdccsvc", replacing the path with the one you copied.
  4. Verify that YAMDCC Service no longer appears in the list of services in services.msc.
  5. If the installutil command failed, you can also try sc delete yamdccsvc in an admin Command Prompt to force-delete the service.

(answer copied from this issue comment)

You should now be able to launch the Config Editor to re-install the YAMDCC service.

Help! My fan profiles aren't being applied!

You may need to disable virtualisation-based security (VBS). See this page for more info, but generally this boils down to disabling a Windows Defender feature (Memory integrity), and/or uninstalling virtualisation features (Hyper-V, WSL, etc.)

A warning may be added in the future to YAMDCC if VBS is enabled once more information is available on what settings break YAMDCC (and related software, e.g. ThrottleStop)

If the above steps don't fix your problem, search the issue tracker for similar issues, or open a new issue if a similar issue doesn't already exist (see the Issues section of the README).

My laptop isn't supported! What do I do?

Try following the config tutorial.

If you're having trouble, and have an MSI laptop, you may ask in the issue tracker for help, otherwise you're on your own.

Can you write a config for my laptop?

If it's an MSI laptop, maybe. All MSI laptops (or at least those I've come across in bug reports) share the same (or very similar) EC register layout, and are documented to varying degrees in similar open-source projects. I may be able to assist you if the generic configs aren't working as expected.

For other laptop brands, you're on your own.

Help! My laptop stopped booting/is doing weird stuff!

If you are an MSI laptop user, try resetting the EC:

  1. Shut down the laptop if it's on (force shut down if needed).
  2. Try to find the EC reset button (it should be one of those "hole" buttons. On the GF63 Thin 11SC, it's on the bottom of the laptop next to the charging port).
  3. If you found the button, press it with the end of a paperclip, SIM ejector, or similarly small tool for a few seconds. Otherwise try holding the power button for 60 seconds (until the power light flashes).

After doing either of the above, try rebooting. If the issue persists, you can try resetting your BIOS settings (laptop disassembly required):

  1. Open your laptop (your search engine is your best friend for finding disassembly guides).
  2. Disconnect all power sources, including both the "main" battery and CMOS/clock battery (small button cell, may be connected to motherboard with a small cable).
  3. Leave disconnected for a few seconds.
  4. Re-connect everything, re-assemble the laptop and reboot.

Users of other laptop brands will need to look up instructions for their laptop to reset BIOS settings.

Dark mode?

Due to WinForms limitations, no.

Technical explanation: A few specific WinForms controls used by YAMDCC look really bad when trying to recolour them to be dark themed. Also, built-in dialog boxes (for C# programmers, think MessageBox.Show) cannot be recoloured from their default white theme. Also, I have little to no experience with other UI kits (e.g. WPF).

Why are you still using WinForms in 2024?

Because it's what I know (thanks, my high school programming classes).

I've tried WPF before, but without much success (although I might look into it more once I find a suitable replacement for some WinForms controls missing in WPF, and get some more WPF experience).

.NET (Core) 5/6/8/<insert latest .NET version>!

Probably not for Windows (unless it goes EOL, which I doubt will happen for a while).

If Linux support ever comes, it will be using .NET (since .NET Framework isn't supported on Linux).