Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MSI Vector GP68HX 12VH Support #189

Closed
CemCanplt opened this issue Jan 12, 2025 · 94 comments
Closed

MSI Vector GP68HX 12VH Support #189

CemCanplt opened this issue Jan 12, 2025 · 94 comments
Labels
New firmware Request for a new firmware

Comments

@CemCanplt
Copy link
Contributor

CemCanplt commented Jan 12, 2025

Laptop model

MSI Vector GP68HX 12VH

EC firmware version

15M1IMS1.113-11272023-16:18:59

EC memory dump

Type:Embedded Controller: 0066,0062
Width:01
00=00 01=80 02=00 03=00 04=00 05=00 06=00 07=00 
08=00 09=00 0A=00 0B=00 0C=00 0D=00 0E=00 0F=00 
10=00 11=00 12=00 13=00 14=00 15=00 16=00 17=00 
18=00 19=00 1A=00 1B=00 1C=00 1D=00 1E=00 1F=00 
20=00 21=00 22=00 23=00 24=00 25=00 26=00 27=00 
28=0A 29=05 2A=00 2B=00 2C=00 2D=00 2E=0B 2F=5B 
30=03 31=01 32=00 33=0D 34=01 35=00 36=50 37=81 
38=2B 39=16 3A=28 3B=3C 3C=37 3D=02 3E=C0 3F=00 
40=2B 41=16 42=3C 43=00 44=2A 45=15 46=00 47=00 
48=A7 49=0C 4A=D3 4B=3D 4C=F9 4D=0B 4E=C0 4F=44 
50=00 51=00 52=00 53=00 54=00 55=00 56=00 57=00 
58=00 59=00 5A=00 5B=00 5C=00 5D=00 5E=00 5F=00 
60=00 61=00 62=00 63=00 64=00 65=00 66=00 67=00 
68=2F 69=00 6A=32 6B=39 6C=40 6D=46 6E=4C 6F=52 
70=64 71=28 72=00 73=28 74=30 75=3C 76=4B 77=59 
78=67 79=00 7A=0A 7B=08 7C=08 7D=08 7E=08 7F=08 
80=30 81=00 82=32 83=37 84=3C 85=41 86=46 87=4B 
88=64 89=30 8A=00 8B=30 8C=3C 8D=46 8E=52 8F=5D 
90=68 91=5F 92=07 93=07 94=07 95=07 96=07 97=07 
98=02 99=00 9A=00 9B=02 9C=00 9D=00 9E=00 9F=00 
A0=31 A1=35 A2=4D A3=31 A4=49 A5=4D A6=53 A7=31 
A8=2E A9=31 AA=31 AB=33 AC=31 AD=31 AE=32 AF=37 
B0=32 B1=30 B2=32 B3=33 B4=31 B5=36 B6=3A B7=31 
B8=38 B9=3A BA=35 BB=39 BC=00 BD=00 BE=00 BF=08 
C0=00 C1=00 C2=06 C3=2F C4=00 C5=00 C6=00 C7=00 
C8=00 C9=CD CA=00 CB=AA CC=00 CD=00 CE=00 CF=00 
D0=00 D1=00 D2=C1 D3=00 D4=0D D5=00 D6=04 D7=BC 
D8=00 D9=01 DA=00 DB=00 DC=00 DD=03 DE=00 DF=00 
E0=E2 E1=00 E2=00 E3=2A E4=15 E5=00 E6=00 E7=C1 
E8=11 E9=00 EA=00 EB=00 EC=00 ED=C2 EE=00 EF=00 
F0=00 F1=00 F2=70 F3=00 F4=31 F5=7F F6=05 F7=00 
F8=7F F9=05 FA=00 FB=00 FC=00 FD=00 FE=00 FF=00 

GPU

Nvidia

Is your keyboard RGB?

Yes (multi color RGB)

Additional context

Hello, is there an easy way for me to record the changes that happens on RW app or do I have to take notes?

@CemCanplt CemCanplt added the New firmware Request for a new firmware label Jan 12, 2025
@CemCanplt
Copy link
Contributor Author

CemCanplt commented Jan 12, 2025

@mutchiko Hello, since the program is working, as far as I understand I need to note the changes that is happening when I switch between modes, right? Is there an easy way to do that?

@CemCanplt CemCanplt changed the title MSI Vector GP68HX 12VH MSI Vector GP68HX 12VH Support Jan 12, 2025
@CemCanplt
Copy link
Contributor Author

@mutchiko If I do it manually one by one by wiriting, I am %100 miss at least some of the values, is there a way for not missing values?

@glpnk
Copy link
Contributor

glpnk commented Jan 12, 2025

Just share your dump first

@CemCanplt
Copy link
Contributor Author

@glpnk Alright by dump you mean all those hex numbers, right? If not, how do I create and share my dump file? I apologize for being a noob.

@CemCanplt
Copy link
Contributor Author

@glpnk Should I click save as binary option?

@CemCanplt
Copy link
Contributor Author

@glpnk I have never used the RWEverything app and I am in a great fear that one wrong click might break things, do you mind helping me so I don't screw things up :(

@CemCanplt
Copy link
Contributor Author

I would welcome any help and information I can get by anyone at this point.

@mutchiko
Copy link
Contributor

Should I click save as binary option?

that should do the trick

if not, you can follow the readme for the msi-ec driver to load it in debug mode

@CemCanplt
Copy link
Contributor Author

CemCanplt commented Jan 12, 2025

@mutchiko It's giving me a bin file which github says they don't support, yet I've also saved as normal, updated my post just now

Type:Embedded Controller: 0066,0062
Width:01
00=00 01=80 02=00 03=00 04=00 05=00 06=00 07=00 
08=00 09=00 0A=00 0B=00 0C=00 0D=00 0E=00 0F=00 
10=00 11=00 12=00 13=00 14=00 15=00 16=00 17=00 
18=00 19=00 1A=00 1B=00 1C=00 1D=00 1E=00 1F=00 
20=00 21=00 22=00 23=00 24=00 25=00 26=00 27=00 
28=0A 29=05 2A=00 2B=00 2C=00 2D=00 2E=0B 2F=5B 
30=03 31=01 32=00 33=0D 34=01 35=00 36=50 37=81 
38=2B 39=16 3A=28 3B=3C 3C=37 3D=02 3E=C0 3F=00 
40=2B 41=16 42=3C 43=00 44=2A 45=15 46=00 47=00 
48=A7 49=0C 4A=D3 4B=3D 4C=F9 4D=0B 4E=C0 4F=44 
50=00 51=00 52=00 53=00 54=00 55=00 56=00 57=00 
58=00 59=00 5A=00 5B=00 5C=00 5D=00 5E=00 5F=00 
60=00 61=00 62=00 63=00 64=00 65=00 66=00 67=00 
68=2F 69=00 6A=32 6B=39 6C=40 6D=46 6E=4C 6F=52 
70=64 71=28 72=00 73=28 74=30 75=3C 76=4B 77=59 
78=67 79=00 7A=0A 7B=08 7C=08 7D=08 7E=08 7F=08 
80=30 81=00 82=32 83=37 84=3C 85=41 86=46 87=4B 
88=64 89=30 8A=00 8B=30 8C=3C 8D=46 8E=52 8F=5D 
90=68 91=5F 92=07 93=07 94=07 95=07 96=07 97=07 
98=02 99=00 9A=00 9B=02 9C=00 9D=00 9E=00 9F=00 
A0=31 A1=35 A2=4D A3=31 A4=49 A5=4D A6=53 A7=31 
A8=2E A9=31 AA=31 AB=33 AC=31 AD=31 AE=32 AF=37 
B0=32 B1=30 B2=32 B3=33 B4=31 B5=36 B6=3A B7=31 
B8=38 B9=3A BA=35 BB=39 BC=00 BD=00 BE=00 BF=08 
C0=00 C1=00 C2=06 C3=2F C4=00 C5=00 C6=00 C7=00 
C8=00 C9=CD CA=00 CB=AA CC=00 CD=00 CE=00 CF=00 
D0=00 D1=00 D2=C1 D3=00 D4=0D D5=00 D6=04 D7=BC 
D8=00 D9=01 DA=00 DB=00 DC=00 DD=03 DE=00 DF=00 
E0=E2 E1=00 E2=00 E3=2A E4=15 E5=00 E6=00 E7=C1 
E8=11 E9=00 EA=00 EB=00 EC=00 ED=C2 EE=00 EF=00 
F0=00 F1=00 F2=70 F3=00 F4=31 F5=7F F6=05 F7=00 
F8=7F F9=05 FA=00 FB=00 FC=00 FD=00 FE=00 FF=00 

@CemCanplt
Copy link
Contributor Author

@mutchiko Now I have a rw file and a bin file, I cannot upload the bin file, if I try to open it there is just nosense junk in it
Ekran görüntüsü 2025-01-12 233302
Inside of the bin file

But I've pasted the what is inside of the rw file.

@mutchiko
Copy link
Contributor

okay that should be good enough

@CemCanplt
Copy link
Contributor Author

Yay @mutchiko Nice to hear that, but I am not sure how to write down every change that happens when I switch between futures and modes. Too much human factor, I think I might make mistakes, not even mentioning this probably will take hours. Is there a better way to spot the changes?

@mutchiko
Copy link
Contributor

when you have the time, just continue following the guide as written, make a list of addresses that seem to react to the features on the official msi apps, and report it here.

take for example: #180 (comment)

@CemCanplt
Copy link
Contributor Author

@mutchiko Well, I am not good with hex numbers at all, would it be okay if I just write down cortinates on the software, like:

Top: T
Left: L
Value: V

// I think this values remains still on balanced mode
T: 01
L: 90
V: 5F

T: 04
L: D0
V: 0D

// I think this values remains still on slient mode
T: 01
L: 90
V: 50

T: 04
L: D0
V: 1D

// I think this values remains still on super battery mode
T: 01
L: 90
V: 5F

T: 04
L: D0
V: 0D

@mutchiko
Copy link
Contributor

@CemCanplt that was fast, and yes you are on the right track

@CemCanplt
Copy link
Contributor Author

@mutchiko If you guys can figure it out the hex code by Top and Left cordinates I give, that would make my job easier. I'll write down some more if I can find any.

@mutchiko
Copy link
Contributor

alright thats good,

Address = Value

lets say T: 04 L: D0 is the address

we write it like this D4 = Value

we remove the zeros in Top and Left, then we put left and top together
consider the zeros as a connection point between them

@CemCanplt
Copy link
Contributor Author

CemCanplt commented Jan 13, 2025

@mutchiko I think I am done, I have written down the changes like the comment you've refered to, I believe I did everything right.

There is the results of my EC research.
Specs

Laptop Model: MSI Vector GP68 HX 12V
EC: 15M1IMS1.113
Functions

Windows Key Activation
- No Reaction, pretty sure on that one 

Fn-Win Swap
Address: E8
Values:
- 01 - default (Win on left side)
- 11 - swapped (Fn on left side)

Microphone mute (Fn+F5), with LED
Address: 2C
Values:
- 00 - mic enabled (no mute, LED disabled)
- 02 - mic disabled (mute, LED enabled)

Audio mute (Fn+F1), with LED
Address: 2D
Values:
- 00 - sound enabled (no mute, LED disabled)
- 02 - sound disabled (mute, LED enabled)

Fn-lock (Fn+Esc), with LED
Address: D9
Values:
- 01 - Buttons like F1, F2, F3 work... functions mode (F5 itself working, for example F5 refreshes the web page) (LED disabled)
- 03 - custom button mode (F5 itself doesn't work, for example F5 mutes/unmutes my mic) (LED enabled)

Camera Toggle (Fn+F6)
Address: 2E
Values:
- 0B - Camera Enabled
- 09 - Camera Disabled

Battery Thresholds
Address: D7
Values:
- E4 - ? - AI Charger (I think values will change by software)
- E4 - Best for Mobility (100%)
- D0 - Balanced (70%-80%)
- BC - Best for Battery (50%-60%)

Screen Battery Saver 
A future that automatically drops refresh rate (Hz) to 60 if the laptop's unplugged from charger. 
Then puts it back once the laptop's plugged again.
- No Reaction, pretty sure on that one 

Keyboard Backlight Brightness (Fn+F8)
- No Reaction, pretty sure on that one 

USB Power Share
Address: BF
Values:
- 08 - USB Power Share Disabled
- 28 - USB Power Share Enabled

Crosshair Option
A future that puts a crosshair at the middle of the screen. 
Probably to create a way to cheat legally, well done MSI. 
- No Reaction, pretty sure on that one 

User Scenario
Address: D2, D4, EB, 91 (I checked it a few times, and I don't understand their exact functions, 
D2 looks like performance mode, D4 looks like fan mode)
Values:
- C1, 0D, 00, 5F - ? - AI Smart Auto (I think values will change by software)
- C4, 0D, 00, 5F - Hight Performance, Fan auto
- C1, 0D, 00, 5F - Balanced
- C1, 1D, 00, 50 - Silent
- C2, 0D, 0F, 5F - Battery Safe

Touchpad Toggle
- No Reaction, pretty sure on that one 

Related With Charging Cable
Address: 30, 31
Values:
- 03, 01 - Plugged
- 02, 05 - Unplugged

Fan mode (allowed only in Hight Performance mode)
Address: D4, 98
Values:
- 0D, 02 - Auto
- (0D or 8D seems like it keeps the previous setting's value), 82 - Cooler Boost
- 8D, 02 - Advanced
- - Addresses of CPU fan speeds for thresholds: 72,73,74,75,76,77
- - Address of current target CPU fan speed: 71 (value is one from 72,73,74,75,76,77)
(Seems like it shows the percentage if my fan threshold is %40 it shows 28 as a hex number, which is equlivent of 40)
- - Addresses of GPU fan speeds for thresholds: 8A,8B,8C,8D,8E,8F
- - Address of current target GPU fan speed: 89 (value is one from 8A,8B,8C,8D,8E,8F)
(The threshold value is the same as the percentage rate I set in MSI Center. 
For example, if I set an equal value of 40% in base 10, its equivalent in the RWEverything program is 28 in base 16. 
When the mathematical calculation is done, in real life, the number 40 in base 10 and the number 28 in base 16 are equal.)
- - - 96 - 150%
- - - 64 - 100%
- - - 32 - 50%
- - - 28 - 40%
- - - 19 - 25%
- - - 14 - 20%
- - - 0A - 10%
- - - 00 - 0%

@CemCanplt
Copy link
Contributor Author

CemCanplt commented Jan 13, 2025

@glpnk Hello, I've actually finished recording changes.

@glpnk
Copy link
Contributor

glpnk commented Jan 13, 2025

@CemCanplt Thanks, can you submit pull request? You can use any WMI2 device as template. Some observation from your research might be useful in the future. Can you tell name of MSI app?

Ignore any AI modes, they controlled from app side.

Address 0x98 bit 7 is cooler boost

Addresses 0x91 and 0xEB looks interesting, they may be related to GPU switching or other limiting

@CemCanplt
Copy link
Contributor Author

CemCanplt commented Jan 13, 2025

My laptop is "MSI Vector GP68HX 12VH" as the title says. I have never submit a pull request before but there is first time for everything I suppose. That's an honor. @glpnk

@CemCanplt
Copy link
Contributor Author

@glpnk Okay I've seem to figure it out how to submit a pull request, what updates should I make, can you give me some directions, this is my first time.

@glpnk
Copy link
Contributor

glpnk commented Jan 13, 2025

Do you know some C-like programming languages?

@CemCanplt
Copy link
Contributor Author

@glpnk I know React, HTML, and CSS

@glpnk
Copy link
Contributor

glpnk commented Jan 13, 2025

okay, it in this part it may look like json, kinda, you need to change values to your ones, which is probably same, check this PR #192

@CemCanplt
Copy link
Contributor Author

@glpnk Okay, let me try

@CemCanplt
Copy link
Contributor Author

@glpnk By the way whatsapp with bits how do I understand how much bit should I write?

@glpnk
Copy link
Contributor

glpnk commented Jan 13, 2025

Where your FN and WIN key located? You should care about User Scenario and fan mode basically, but you have a bit different settings, so I can open PR, because finding reference will take same time as PRing

@CemCanplt
Copy link
Contributor Author

@mutchiko It disables my rgb on my keyboard and disables the fan after couple of seconds. But since my computer is not doing a heavy task right now, my fans get disabled when it's on balanced mode too, so I can say it's hard to spot. Yet if I put my hand on the fans, yes both are not turning on super battery performance mode.

@CemCanplt
Copy link
Contributor Author

Just to make sure, when you update the branch I assume the msi-ec on my pc will be updated too right, or do I need to follow the updates?

@CemCanplt
Copy link
Contributor Author

@glpnk The leds on caps lock, num lock and the function lock (on esc) are working, but leds on mute mice and kill speakers are not working when they are suppose to

@CemCanplt
Copy link
Contributor Author

@glpnk if I change the "/sys/devices/platform/msi-ec/leds/platform::micmute/brightness" file from 0 to 1 manually, the led works, so I assume it's something about miss written config?

@mutchiko
Copy link
Contributor

if I put my hand on the fans, yes both are not turning on super battery performance mode.

compare this to what happens on windows, but i guess if it disables RGB, then msi-ec is working

leds on mute mice and kill speakers are not working

they work, but the system doesn't have the right trigger, thats normal, its the case for almost everyone here, check #130 (comment)

@CemCanplt
Copy link
Contributor Author

CemCanplt commented Jan 15, 2025

@mutchiko Sadly the fix didn't work for me (Yes, I have rebooted)

@CemCanplt
Copy link
Contributor Author

echo 'Master Playback Switch' | sudo tee /sys/class/sound/ctl-led/speaker/card3/attach

respond: "Master Playback Switch"

and yet leds are not functional, but like I said if I change the "/sys/devices/platform/msi-ec/leds/platform::micmute/brightness" file from 0 to 1 manually they work @mutchiko

@CemCanplt
Copy link
Contributor Author

@mutchiko Oh wait, the led on my speaker works fine, but the led on my mic still needs a fix

@mutchiko
Copy link
Contributor

you'll have to wait until we find a solution for this, in the mean time, you can rest assured that the driver is working, and no hardware problems are present, we just need to find the right config to change at install time

@CemCanplt
Copy link
Contributor Author

CemCanplt commented Jan 15, 2025

@mutchiko

  1. Okay, when you update the msi-ec, will my msi-ec be updated too? (like, from software center)
  2. By the way @glpnk commented out my usb power share bits, I am sure he knows what he is doing (more than me Lol), I assume you guys will take care of that too.
  3. If everything is looking fine I assume my work is done? (Yet again, it was a nice experience 🥹)

@glpnk
Copy link
Contributor

glpnk commented Jan 15, 2025

None of the command's effected the led status

It's fine, it's means that ALSA led events is misconfigured, try this, should work for mute led #130 (comment)

Just to make sure, when you update the branch I assume the msi-ec on my pc will be updated too right, or do I need to follow the updates?

Wrong, when you'll get new kernel it will rebuild module with same version as was at the moment of installation.

The leds on caps lock, num lock and the function lock (on esc) are working, but leds on mute mice and kill speakers are not working when they are suppose to

Works as intended, because they are "different devices" for Linux

if I change the "/sys/devices/platform/msi-ec/leds/platform::micmute/brightness" file from 0 to 1 manually, the led works, so I assume it's something about miss written config?

Works as intended, but broken in a different place. On many devices, mic mute led is working, while speaker mute not.

when you select super battery performance mode in MCC

It disables my rgb on my keyboard

Interesting behavior, sadly, keyboard brightness not accessible from EC

usb power share bits

It's not supported yet, but someone made a template, so people use it

@CemCanplt
Copy link
Contributor Author

@glpnk Thank you, super battery performance mode disables my keyboard rgb on Windows too, I assume this the accurate behavior.

@CemCanplt
Copy link
Contributor Author

@glpnk Is it safe to say my PR is ready, or do I need to do more testing, even tho it's a nice experience it's a tiring process 🥹, is everything done?

@glpnk
Copy link
Contributor

glpnk commented Jan 15, 2025

I think it's done

@CemCanplt
Copy link
Contributor Author

CemCanplt commented Jan 15, 2025

@glpnk @mutchiko I admire you guys, thanks to guys like you people can use their devices functional. Thank you once again 🥹

@CemCanplt
Copy link
Contributor Author

CemCanplt commented Jan 15, 2025

Okay, maybe I've talked too soon, I am facing an issue, it wasn't happening before, so I assume it's because of the modification. Whenever I watch video after 15 seconds my screen freezes, my fans start turning fast, after couple of second of freezing everything backs to normal. It keeps happining if I am watching a video with Brave Browser, I can also move my mouse when it's frozen, yet I cannot click anything, it's kinda random but it's interesting that it's not happening normaly if I am not watching a video @glpnk @mutchiko Any idea?

@CemCanplt
Copy link
Contributor Author

It's only happening when I am using Brave, Firefox seems to be working just fine

@mutchiko
Copy link
Contributor

i don't see how it can be related; maybe its because of that led trigger solution.

do a restart, then try recreate the issue, if it still happens, do journalctl -f in the terminal (keep it open) then recreate the issue on brave and see what the terminal says

@CemCanplt
Copy link
Contributor Author

CemCanplt commented Jan 15, 2025

This the output

Oca 15 16:14:54 cem-Vector-GP68HX-12VH xdg-desktop-por[1936]: Failed to get application states: GDBus.Error:org.freedesktop.portal.Error.Failed: Could not get window list
Oca 15 16:15:43 cem-Vector-GP68HX-12VH dbus-daemon[1768]: [session uid=1000 pid=1768] Activating service name='org.mpris.MediaPlayer2.playerctld' requested by ':1.249' (uid=1000 pid=8330 comm="playerctld daemon" label="unconfined")
Oca 15 16:15:43 cem-Vector-GP68HX-12VH playerctld[8335]: could not get tracklist properties for player: org.mpris.MediaPlayer2.brave.instance2
Oca 15 16:15:43 cem-Vector-GP68HX-12VH playerctld[8335]: could not get playlists properties for player: org.mpris.MediaPlayer2.brave.instance2
Oca 15 16:15:43 cem-Vector-GP68HX-12VH playerctld[8335]: could not get tracklist properties for player: org.mpris.MediaPlayer2.firefox.instance_1_113
Oca 15 16:15:43 cem-Vector-GP68HX-12VH playerctld[8335]: could not get playlists properties for player: org.mpris.MediaPlayer2.firefox.instance_1_113
Oca 15 16:15:43 cem-Vector-GP68HX-12VH dbus-daemon[1768]: [session uid=1000 pid=1768] Successfully activated service 'org.mpris.MediaPlayer2.playerctld'

@CemCanplt
Copy link
Contributor Author

@mutchiko It keeps happening even after the reboot

@glpnk
Copy link
Contributor

glpnk commented Jan 15, 2025

Seems like issues with hardware decoding, in firefox it's disabled by default

@CemCanplt
Copy link
Contributor Author

CemCanplt commented Jan 15, 2025

@glpnk So is it something about my Nvidia Linux drivers? Because I have been facing some problems with Nvidia lately. Is it possible that kernel update might get things up and running and but since my drivers were messy that cause the problem?

@CemCanplt
Copy link
Contributor Author

@glpnk I have just disabled hardware acceleration option, Brave seems to be working fine now. Thanks.

@glpnk
Copy link
Contributor

glpnk commented Jan 15, 2025

Anything might be possible, maybe you power limited GPU with Super Battery or Battery Economy mode, or doesn't have some component for HW acceleration, but IDK and can't help you

@CemCanplt
Copy link
Contributor Author

@glpnk My best guess is Nvidia. I was in balanced mode so I don't think this happened because of an limitation, thank you, you've helped a lot already, let's see if I can fix this issue

@glpnk
Copy link
Contributor

glpnk commented Jan 15, 2025

Try proprietary drivers if you're not using them now

@CemCanplt
Copy link
Contributor Author

@glpnk I was using proprietary dirvers, I'll try a fresh install of linux today.

@CemCanplt
Copy link
Contributor Author

CemCanplt commented Jan 18, 2025

@glpnk Looks like the issue was about Nvidia, everything seems working fine right now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
New firmware Request for a new firmware
Projects
None yet
Development

No branches or pull requests

4 participants