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

Add dGPU support (t530 & w530) #1080

Closed
wants to merge 18 commits into from
Closed

Conversation

eganonoa
Copy link
Contributor

Republishing #1079 with a cleaner PR.

This PR adds support for dGPU's for the t530 and w530. In doing so, it includes scripts that do for the vbios was the Intel ME script does, installing the VBiosFinder tool and extracting the relevant roms from the latest lenovo bios update for each board. This allows the process to be automated (with one exception, see below).

Adding the dGPU support is necessary to:

Have an external display via the DisplayPort for the T530 dGPU (VGA works fine irrespective);
Have an external display via either the VGA or DisplayPort for the W530.

Beyond this, enabling the dGPU for those boards is not needed, and indeed might be preferable depending on use-case as you get better thermals and battery life with the dGPU not initialized.

After building, the dGPU is not completely initialized. It is still necessary to take the resulting 12MB rom and run nvramtool on it to change the default option from Integrated Graphics to Dual Graphic or Discrete Graphics. This is documented in the README_vbios file in the blobs directory, with the board config files pointing towards this file.

Because the roms are different for each board, it isn't possible to use just one bios update as with the ME. You can use any update from the same series to get the integrated rom for all boards in the same series. But different boards have different NVIDIA cards, and thus different roms. Nonetheless, the script is simple and the process of adding additional boards will be fairly trivial.

These boards have been tested on T530 (no-dGPU), T530 with dGPU and W530 with K1000m dGPU and are working. The scripts have been successfully run on Debian 10 and Ubuntu 21.04.

Tested on t530's with and without the dGPU and the w530 with K1000M Nvidia Quadro dGPU.   The rom extraction script has been tested in Debian 10 and Ubuntu 21.04
Adding generic framebuffer and ps2 keyboard. Tested and working on w530 with Nvidia K1000M dgpu.
Adding generic framebuffer and ps2 keyboard. Tested and working on w530 with Nvidia K1000M dgpu
sudo required for vbios extraction scripts.
sudo required for vbios extraction scripts.
Copy link
Collaborator

@tlaurion tlaurion left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@eganonoa please fix!

@eganonoa
Copy link
Contributor Author

@tlaurion Awesome. Thanks. A cool trick. See the following changes in my repo:

Note the fixed release UEFIExtract_NE_A58_linux_x86_64.zip was already being measured in the existing scripts.

All tested and working. Would like to add into this PR and to my dGPU board but am afraid of triggering yet another round on this CircleCI drama. So let me know.

These have been run successfully on Debian 10 and Ubuntu 21.04 containers and in CircleCI (from eganonoa:master).
@eganonoa
Copy link
Contributor Author

Scripts updated as requested, including edit provided on the scripts on eganonoa:master. Everything has been run on CircleCI on my fork as well as successfully in Debian 10 and Ubuntu 21.04 docker containers.

Scripts now easier to maintain and add new boards by removing duplication related to downloaded files.
@eganonoa
Copy link
Contributor Author

@tlaurion As discussed offline, scripts have been updated to remove duplication and in doing so make easier to maintain and use as the basis for other boards with dgpu. Thanks for the guidance. I think these scripts are now massively improved over the ones I initially submitted with sha256sum verification, downloads from fixed releases, and a more efficient structure.

@eganonoa eganonoa closed this Dec 19, 2021
@eganonoa eganonoa deleted the dgpu branch December 19, 2021 20:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants