Greetings,
Because it's always good to check, I extracted the discrete GPU's vgabios rom from my G505s following method 3 ("Retrieval via Linux kernel") listed here: [1] I have no dGPU, and I assume that it was discovered that this produces a clean (correct) iGPU rom blob. Not that I wrote a '1' to the file first to enable reading, as noted here: [2] I compared the files using tkdiff in hexdump format. See attachments for the files.
Comparing the file that I extracted and pci1002,990b.rom from [3] (obtained via "./atombios.sh") they are definitely very similar, but there are many spots with discrepancies. The diff output is at the end of this email. Along the way I had to take the file from the patch and turn it back into a binary and then hexdump it with the same options to make sure they had the same formatting.
It was noted in [4] that there were some differences between the vgabios roms used for integrated GPUs in laptops with and without discrete ones, specifically with regard to supply voltage. Can anyone confirm that the version supplied via the patch is the one from laptops with a discrete GPU, and that what I have matches what would be expected for a dGPU-less laptop? Is there a hash of the rom itself somewhere to point to?
Sincerely, -Matt
Attachments: extracted_vgabios.rom => the rom I extracted myself extracted_vgabios.rom.txt => the result of "hexdump -C extracted_vgabios.rom" pci1002,990b.rom.txt => the rom from the patch (received along with 6663 and 6665) pci1002,990b.rom.txt.rom => the result of "cat pci1002,990b.rom.txt | xxd -r" pci1002,990b.rom.txt.rom.txt => the result of hexdumping pci1002,990b.rom.txt.rom as above
Checksums: 0c0543a28677baa75c49616e5fe326a413f779e77764f8a6dd13c798d3b076ee extracted_vgabios.rom 0515b8cbf184fbfba13ae48d70b1c5ae05405dd709e0eef2291c6d8a4a587287 pci1002,6663.rom.txt 416c748e5ad538593003e47a484067d7cbb509ddff7de079f5603b6d135898bf pci1002,6665.rom.txt c35f469b56c41385b0196c0c9df6599ef9e81e32078da2dd3cf81760c9bd3365 pci1002,990b.rom.txt
References: [1] https://coreboot.coreboot.narkive.com/zEkIcuSS/ultimate-vgabios-extraction-n... [2] https://www.coreboot.org/VGA_support [3] http://dangerousprototypes.com/docs/Lenovo_G505S_hacking [4] https://mail.coreboot.org/hyperkitty/list/coreboot@coreboot.org/thread/GZNWI...
Diff results: $ diff extracted_vgabios.rom.txt pci1002,990b.rom.txt.rom.txt 3c3 < 00000020 4d 49 00 00 00 00 00 00 00 00 00 00 00 00 00 04 |MI..............| ---
00000020 4d d3 00 00 00 00 00 00 00 00 00 00 00 00 00 04
|M...............| 27c27 < 000001a0 34 03 08 00 00 30 02 10 0b 99 b4 01 a4 a5 4a a6 |4....0........J.| ---
000001a0 34 03 08 00 00 40 02 10 0b 99 b4 01 a4 a5 4a a6 |4....@
........J.| 2735,2736c2735,2736 < 0000aae0 00 00 00 00 00 00 d1 00 01 03 12 1b 56 05 70 00 |............V.p.| < 0000aaf0 00 03 0e 00 20 00 20 00 02 00 04 00 59 01 c2 00 |.... . .....Y...| ---
0000aae0 00 00 00 00 00 00 d1 00 01 03 41 1c 56 05 a0 00
|..........A.V...|
0000aaf0 00 03 16 00 30 00 20 00 02 00 05 00 58 01 c2 00 |....0.
.....X...| 2841c2841 < 0000b200 06 00 00 00 00 00 00 00 4c 00 4e 00 03 00 74 01 |........L.N...t.| ---
0000b200 06 00 00 00 00 00 00 00 4a 00 4c 00 03 00 74 01
|........J.L...t.| 2848,2850c2848,2850 < 0000b290 00 00 72 00 32 89 00 00 01 00 4e 00 56 d0 00 00 |..r.2.....N.V...| < 0000b2a0 02 00 48 00 40 19 01 00 03 00 42 00 40 19 01 00 |..H.@.....B.@ ...| < 0000b2b0 03 00 42 00 8b 1e 00 00 70 11 01 00 00 00 00 00 |..B.....p.......| ---
0000b290 00 00 70 00 32 89 00 00 01 00 4c 00 56 d0 00 00
|..p.2.....L.V...|
0000b2a0 02 00 46 00 40 19 01 00 03 00 40 00 40 19 01 00 |..F.@
.....@.@...|
0000b2b0 03 00 40 00 8b 1e 00 00 70 11 01 00 00 00 00 00
|..@.....p.......| 2855c2855 < 0000b300 80 38 01 00 80 38 01 00 14 82 00 00 50 00 76 00 |.8...8......P.v.| ---
0000b300 80 38 01 00 80 38 01 00 14 82 00 00 4e 00 74 00
|.8...8......N.t.|