Contribute
Register

[Guide] Broadwell HD5500 Setting DVMT in InsydeH20 BIOS Laptops

Status
Not open for further replies.
@Kinutsk - thanks for the great thread! Unfortunately I am encountering an error when inputting the setup_var command: cannot set value using efi (error: 0x0000000000001a).

I'm on a Lenovo Yoga 3 Pro which uses a Core M-5Y71 processor. It seems a few other people have experienced this on the same machine: http://www.insanelymac.com/forum/topic/304973-new-macbook-yoga-3-pro-hackintosh/page-3.

Is there a way to work around this via efi shell? If not, can you point me in a direction to change my bios via Ubuntu? Again, thanks for the great guide!

 
@Kinutsk - thanks for the great thread! Unfortunately I am encountering an error when inputting the setup_var command: cannot set value using efi (error: 0x0000000000001a).

I'm on a Lenovo Yoga 3 Pro which uses a Core M-5Y71 processor. It seems a few other people have experienced this on the same machine: http://www.insanelymac.com/forum/topic/304973-new-macbook-yoga-3-pro-hackintosh/page-3.

Is there a way to work around this via efi shell? If not, can you point me in a direction to change my bios via Ubuntu? Again, thanks for the great guide!


Is there an older version of BIOS you can flash?

If you can't set the variable, you can enable the DVMT-assertion masking patch and hope for the best.

It is best to purchase a laptop that has the setting available in BIOS.
 
@rehabman - there is no archive of old Yoga 3 Pro BIOS on Lenovo's website. However there is a download for the current BIOS: http://support.lenovo.com/us/en/downloads/ds101338. Here are the relevant DVMT settings - I've bolded the ideal setting based on what Windows shows it as and I've underlined the current setting. I know you said that this setting can't be edited with some BIOS but considering that there are multiple values for it do you still think this is the case?

Setting: IGD - DVMT Pre-Allocated, Variable: 0x18C {05 91 1C 02 1D 02 00 0A 34 12 8C 01 04 10 00 3F 00}
0x546DB Option: 0 MB, Value: 0x0 {09 07 4A 01 00 00 00}
0x546E2 Option: 32 MB, Value: 0x1 (default) {09 07 4F 01 10 00 01}
0x546E9 Option: 64 MB, Value: 0x2 {09 07 50 01 00 00 02}
0x546F0 Option: 96 MB, Value: 0x3 {09 07 53 01 00 00 03}
0x546F7 Option: 128 MB, Value: 0x4 {09 07 51 01 00 00 04}

0x5477D Setting: IGD - DVMT Size, Variable: 0x18D {05 91 1E 02 1F 02 B8 00 34 12 8D 01 00 10 01 FF 00}
0x5478E Option: 128 MB, Value: 0x1 {09 07 51 01 00 00 01}
0x54795 Option: 256 MB, Value: 0x2 {09 07 52 01 00 00 02}
0x5479C Option: MAX, Value: 0xFF (default) {09 07 49 01 10 00 FF}

I saw that you posted on a previous thread that there can be multiple DVMT settings - is DVMT size what you were alluding to? Also, I noticed I can edit some EFI variables via Ubuntu - do you think that this is one of them?
 
@rehabman - there is no archive of old Yoga 3 Pro BIOS on Lenovo's website. However there is a download for the current BIOS: http://support.lenovo.com/us/en/downloads/ds101338. Here are the relevant DVMT settings - I've bolded the ideal setting based on what Windows shows it as and I've underlined the current setting. I know you said that this setting can't be edited with some BIOS but considering that there are multiple values for it do you still think this is the case?

Setting: IGD - DVMT Pre-Allocated, Variable: 0x18C {05 91 1C 02 1D 02 00 0A 34 12 8C 01 04 10 00 3F 00}
0x546DB Option: 0 MB, Value: 0x0 {09 07 4A 01 00 00 00}
0x546E2 Option: 32 MB, Value: 0x1 (default) {09 07 4F 01 10 00 01}
0x546E9 Option: 64 MB, Value: 0x2 {09 07 50 01 00 00 02}
0x546F0 Option: 96 MB, Value: 0x3 {09 07 53 01 00 00 03}
0x546F7 Option: 128 MB, Value: 0x4 {09 07 51 01 00 00 04}

0x5477D Setting: IGD - DVMT Size, Variable: 0x18D {05 91 1E 02 1F 02 B8 00 34 12 8D 01 00 10 01 FF 00}
0x5478E Option: 128 MB, Value: 0x1 {09 07 51 01 00 00 01}
0x54795 Option: 256 MB, Value: 0x2 {09 07 52 01 00 00 02}
0x5479C Option: MAX, Value: 0xFF (default) {09 07 49 01 10 00 FF}

I saw that you posted on a previous thread that there can be multiple DVMT settings - is DVMT size what you were alluding to? Also, I noticed I can edit some EFI variables via Ubuntu - do you think that this is one of them?

BIOS with encrypted options still show the option, but they are not settable with the UEFI shell.

DVMT-size is not involved here... We are interested only in DVMT-prealloc.
 
@RehabMan I see, thanks. I'm planning on modding the BIOS some other way. Do you think this is possible / have any suggestions? I noticed on Ubuntu that computer/sys/firmware/efi/efivariables the binary files can be edited - do you think DVMT prealloc can be edited there?
 
@RehabMan I see, thanks. I'm planning on modding the BIOS some other way. Do you think this is possible / have any suggestions? I noticed on Ubuntu that computer/sys/firmware/efi/efivariables the binary files can be edited - do you think DVMT prealloc can be edited there?

I think Linux efivariables goes through the same UEFI interface that the UEFI shell is using.
 
@RehabMan - ok thanks for the insight.

I'm trying to figure out exactly where to modify the DXE Driver for the setup utility that contains the DVMT settings for my EFI BIOS. I searched through the .ROM file and found these hex values in it, (they are bolded):

0x546CA Setting: IGD - DVMT Pre-Allocated, Variable: 0x18C {05 91 1C 02 1D 02 00 0A 34 12 8C 01 04 10 00 3F 00}
0x546DB Option: 0 MB, Value: 0x0 {09 07 4A 01 00 00 00}
0x546E2 Option: 32 MB, Value: 0x1 (default) {09 07 4F 01 10 00 01}
0x546E9 Option: 64 MB, Value: 0x2 {09 07 50 01 00 00 02}
0x546F0 Option: 96 MB, Value: 0x3 {09 07 53 01 00 00 03}
0x546F7 Option: 128 MB, Value: 0x4 {09 07 51 01 00 00 04}

I know that with PhoenixTool I can modify this DXE Driver - since option 1 is the default option, if I change the hex values where option 1 is stored to match the hex values of option 4, will that work?

So in the DXE Driver I would change these values:

09 07 4F 01 10 00 01

To these values:

09 07 51 01 00 00 04
 
@RehabMan - ok thanks for the insight.

I'm trying to figure out exactly where to modify the DXE Driver for the setup utility that contains the DVMT settings for my EFI BIOS. I searched through the .ROM file and found these hex values in it, (they are bolded):

0x546CA Setting: IGD - DVMT Pre-Allocated, Variable: 0x18C {05 91 1C 02 1D 02 00 0A 34 12 8C 01 04 10 00 3F 00}
0x546DB Option: 0 MB, Value: 0x0 {09 07 4A 01 00 00 00}
0x546E2 Option: 32 MB, Value: 0x1 (default) {09 07 4F 01 10 00 01}
0x546E9 Option: 64 MB, Value: 0x2 {09 07 50 01 00 00 02}
0x546F0 Option: 96 MB, Value: 0x3 {09 07 53 01 00 00 03}
0x546F7 Option: 128 MB, Value: 0x4 {09 07 51 01 00 00 04}

I know that with PhoenixTool I can modify this DXE Driver - since option 1 is the default option, if I change the hex values where option 1 is stored to match the hex values of option 4, will that work?

So in the DXE Driver I would change these values:

09 07 4F 01 10 00 01

To these values:

09 07 51 01 00 00 04

Not changing hex values. Use UEFI shell to set 0x18C to different value (eg. 0x2, 0x3, 0x4).
 
@RehabMan - unfortunately with EFI Shell I get an error when I enter setup_var 0x18C 0x4:

cannot set value using efi (error: 0x0000000000001a)


As a result I'm trying to modify the DXE Driver that contains the DVMT setting using PhoenixTool. Do you think this is viable? And if so, what part of the driver should I modify?
 
@RehabMan - unfortunately with EFI Shell I get an error when I enter setup_var 0x18C 0x4:

cannot set value using efi (error: 0x0000000000001a)


As a result I'm trying to modify the DXE Driver that contains the DVMT setting using PhoenixTool. Do you think this is viable? And if so, what part of the driver should I modify?

Are you certain you can flash a patched BIOS? If your variables are locked down, chances are the BIOS is encrypted too. Planning to use a hardware programmer?

Keep in mind that guessing about things can result in a brick, unless you can use a hardware programmer to return it to original.
 
Status
Not open for further replies.
Back
Top