It looks like MSI has done a really good job preventing us from getting the max performance when the LID is close.
After try:
- Disabling thermald.
- Disabling acpi (which should prevent LID button from working at all).
- Disabling intel_pstates module and use acpi-cpufreq instead.
- Installing Windows and confirm that behaves the same way.
I would say that the issue is not related to Linux, perhaps there is anything on the ucode or UEFI that causes this issue.
Since getting the maximum performance when the lid is close was something mandatory for me, I decided to perform a hardware hack to disable LID sensor for good. (Perhaps this could have been done via software, playing with the BIOS, but I consider this even more dangerous than desoldering)
MSI designed this product this way for a good reason, but I really don't care. It was already in my plans to add some additional external FANs to the vertical support that I am using, so probably I should be fine with the temperature.
Be aware that what I have done invalidates your warranty and that requires some knowledge of electronics. If you decide to do the same, I will not take any responsibility on any damage you could cause.
First I had to disassembly the laptop (really carefully because mobo PCB is very thing an can get broken really easy).
Till I mange to see the motherboard from the keyboard side
Then I removed the SOT packaged IC label as U42 (hall sensor) that is on the Top-Right corner and joined together the pads that are NOT connected to GND
Edit: An even easier hardmod that can be done to acknowledged the same result is to remove the magnet that is on the screen bottom left corner.
The magnet is located under the plastic that surrounds the LCD on that corner. The plastic is glued but with your finger nails (it is better not to use anything else) you should be able to remove it (you don't need to remove all just that corner), then you can take the magnet with a small needle.