- Joined
- Jan 16, 2014
- Messages
- 25
- Motherboard
- LG GRAM 17Z990
- CPU
- i7-8565U
- Graphics
- UHD 620
- Mobile Phone
I checked the order of the kexts and moved them acordingly to your proposal. No help in making the touchpad work.
And I removed most of the efi drivers (I let nvme, because i have an nvm drive Samsung 850 pro, apfs and the fs is apfs so i quess I need booth). I had to keep aptioinputfix also because I couldn't choose in opencanopy without it. Removed the rest.
Today I removed an SSDT (SSDT-ELAN-POLLIN.aml).
That did not solve the touchpad problem but It seems to have helped in backlight at boot up.
I chose to use DSDT that only has battery patches. Did not help in touchscreen.
Here you have the patches I apply:
What i cannot figure out is... how do you create the hot patches that make direct substitutions to DSDT.aml in opencore? I don't know how can I, for example, patch hot DSDT to change _CRS to XCRS ONLY for HPET (or any ther device). Don't know how do I have to find it in my DSDT.
And I removed most of the efi drivers (I let nvme, because i have an nvm drive Samsung 850 pro, apfs and the fs is apfs so i quess I need booth). I had to keep aptioinputfix also because I couldn't choose in opencanopy without it. Removed the rest.
Today I removed an SSDT (SSDT-ELAN-POLLIN.aml).
That did not solve the touchpad problem but It seems to have helped in backlight at boot up.
I chose to use DSDT that only has battery patches. Did not help in touchscreen.
Here you have the patches I apply:
// Aquests són els registres que modifiquem perquè sono de més de 8 bits i es fan servir al codi.
SMD0, 256,
BMFG, 72,
BDC, 16,
BFC, 16,
BDV, 16,
BSN, 16,
BPR, 16,
BRC, 16,
BPV, 16,
CYC1, 16,
// Apuesta la funció que fem servir per reconstruir el registre de 16 bits.
into method label B1B2 remove_entry;
into definitionblock code_regex . insert
begin
Method (B1B2, 2, NotSerialized) { Return(Or(Arg0, ShiftLeft(Arg1, 8))) }\n
end;
// Aquestes regles dividiesen del registres
into device label H_EC code_regex BDC,\s+16, replace_matched begin DC00,8,DC01,8, end;
into device label H_EC code_regex BFC,\s+16, replace_matched begin FC00,8,FC01,8, end;
into device label H_EC code_regex BDV,\s+16, replace_matched begin DV00,8,DV01,8, end;
into device label H_EC code_regex BSN,\s+16, replace_matched begin SN00,8,SN01,8, end;
into device label H_EC code_regex BPR,\s+16, replace_matched begin PR00,8,PR01,8, end;
into device label H_EC code_regex BRC,\s+16, replace_matched begin RC00,8,RC01,8, end;
into device label H_EC code_regex BPV,\s+16, replace_matched begin PV00,8,PV01,8, end;
into device label H_EC code_regex CYC1,\s+16, replace_matched begin YC00,8,YC01,8, end;
// Aquestes regles substitueixen les cries als registres per crises a les foncions
into method label XBIF code_regex \=\sBDC replaceall_matched begin = B1B2(DC00,DC01) end;
into method label XBIF code_regex \=\sBFC replaceall_matched begin = B1B2(FC00,FC01) end;
into method label XBIF code_regex \=\sBDV replaceall_matched begin = B1B2(DV00,DV01) end;
into method label XBIF code_regex \=\sBSN replaceall_matched begin = B1B2(SN00,SN01) end;
into method label XBIX code_regex \=\sCYC1 replaceall_matched begin = B1B2(YC00,YC01) end;
into method label XBST code_regex \=\sBPR replaceall_matched begin = B1B2(PR00,PR01) end;
into method label XBST code_regex \=\sBRC replaceall_matched begin = B1B2(RC00,RC01) end;
into method label XBST code_regex \=\sBPV replaceall_matched begin = B1B2(PV00,PV01) end;
into method label XBST code_regex \=\sBFC replaceall_matched begin = B1B2(FC00,FC01) end;
# Els registres de més de 32 els tractem diferent.
into device label H_EC code_regex (SMD0,)\s+(256) replace_matched begin SMDX,%2,//%1%2 end;
into device label H_EC code_regex (BMFG,)\s+(72) replace_matched begin BMFX,%2,//%1%2 end;
# utility methods to read/write buffers from/to EC
into method label RE1B parent_label H_EC remove_entry;
into method label RECB parent_label H_EC remove_entry;
into device label H_EC insert
begin
Method (RE1B, 1, NotSerialized)\n
{\n
OperationRegion(ERAM, EmbeddedControl, Arg0, 1)\n
Field(ERAM, ByteAcc, NoLock, Preserve) { BYTE, 8 }\n
Return(BYTE)\n
}\n
Method (RECB, 2, Serialized)\n
// Arg0 - offset in bytes from zero-based EC\n
// Arg1 - size of buffer in bits\n
{\n
ShiftRight(Add(Arg1,7), 3, Arg1)\n
Name(TEMP, Buffer(Arg1) { })\n
Add(Arg0, Arg1, Arg1)\n
Store(0, Local0)\n
While (LLess(Arg0, Arg1))\n
{\n
Store(RE1B(Arg0), Index(TEMP, Local0))\n
Increment(Arg0)\n
Increment(Local0)\n
}\n
Return(TEMP)\n
}\n
end;
into method label XBIF code_regex \(BMFG, replaceall_matched begin (RECB(0x9D,9), end;
What i cannot figure out is... how do you create the hot patches that make direct substitutions to DSDT.aml in opencore? I don't know how can I, for example, patch hot DSDT to change _CRS to XCRS ONLY for HPET (or any ther device). Don't know how do I have to find it in my DSDT.