Hi, Interesting results for sure.
It's probably important to note that I actually performed the dump while the laptop was running on a half-charged battery or somewhere in that ballpark. (and a really rather annoying Void Linux live-cd) It seems counter-intuitive that the system would raise voltages under this scenario. I'll try dumping the rom again multiple times under various load/power conditions. I can probably accomplish this by the end of the day. I'll look into seeing if I can get the model number of my panel too. At the same time, it would be good if there were a way to ask it about itself. Sincerely, -Matt On Wed, May 8, 2019 at 1:10 PM Mike Banon <mikeb...@gmail.com> wrote: > Hi Matt, so I compared the AtomDis dumps for iGPU ROMs ( yours vs mine > ). There are some differences at " data_table 0000aae6 #06 > (LVDS_Info): ", sLCDTiming structure: usPixClk ( 0x1b12 vs 0x1c41 ), > usHBlanking_Time ( 0x0070 vs 0x00a0 ), usVBlanking_Time ( 0x000e vs > 0x0016 ), usHSyncOffset ( 0x0020 vs 0x0030 ), usVSyncWidth ( 0x0004 vs > 0x0005 ), usImageHSize ( 0x0159 vs 0x0158 ). Also, some differences at > " data_table 0000b1b8 #1e (IntegratedSystemInfo): " : usNBP0Voltage > ( 0x4c vs 0x4a ) and usNBP1Voltage ( 0x4e vs 0x4c ) - your values are > slightly higher, and some of your usVoltageID values are also slightly > higher (0x72 vs 0x70, 0x4e vs 0x4c, 0x48 vs 0x46, 0x42 vs 0x40, 0x42 > vs 0x40). Finally, nearby there is also one different ulReserved3 ( > 0x00760050 vs 0x0074004e ) - I don't know what this reserved value > means, but perhaps it's also related to the voltages or power control. > > What is interesting, at our messages [*] there also was a difference > at usNBP0Voltage and usNBP1Voltage values: 0x4a vs 0x48 and 0x4c vs > 0x4a , but these and your other voltage values are even slightly more > higher than this, 2 points higher. Now I think that maybe these values > are changing in runtime: while there is a higher CPU load (e.g. while > I was reading a lot of RAM with Belkasoft RAM capturer to later > extract the AtomBIOS ROMs from it), the performance of GPU could > automatically decrease by slightly lowering the voltage, in order to > fit the whole APU into 35 Watts TDP. > > 1) It will be great if you could test this theory by running some > CPU-intensive program and dumping the AtomBIOS ROM while it's running. > > I still don't know why your sLCDTiming structure is different. Is it > also a variable value not tied to the specific hardware, or maybe you > have a slightly different LCD panel - which I have never encountered > before - and it has a slightly different settings? > > 2) It will be interesting if you could build a coreboot with my > version of iGPU ROM, to see if there are any problems with your screen > image. > > Hope you could complete "1)" and "2)" quests when you have some free time > ;-) > > Best regards, > Mike Banon > > P.S. It could be that a few diffs, e.g. a couple of tiny diffs at the > beginning, may have gone unnoticed while using AtomDis :P > > [*] > https://mail.coreboot.org/hyperkitty/list/coreboot@coreboot.org/thread/GZNWISLFHUTYN6C7RTWSQUMJIFOUHMED/ > > On Mon, May 6, 2019 at 8:49 PM Mike Banon <mikeb...@gmail.com> wrote: > > > > Hi, Matt! Thank you very much for your research. Yes, I confirm that > > the ROMs provided my patch [1] ( installed by ./atombios.sh from this > > wiki [3] ) have been obtained from two G505S: one with HD 8570M dGPU > > and another with R5 M230 dGPU ; and the iGPU ROM of this patch is > > "from G505S with R5 M230", with the differences outlined in our > > messages [4] . I don't have a G505S without a discrete GPU - so > > couldn't get its' iGPU ROM version from it by myself. However: the > > build with my ("from G505S with R5 M230") integrated GPU ROM version, > > discrete GPU ROMs and also the dGPU patches - has been tested by > > /u/QubesN00b at [2] thread - and no problems observed. > > > > Maybe these differences at iGPU are related to dGPU, since these GPUs > > were meant to be working together in a Crossfire? Thank you for > > submitting your ROM, a bit later I'm going to use AtomDis to try to > > figure out what are these differences and report back. Hopefully these > > differences aren't significant and this iGPU ROM "from G505S with R5 > > M230" really could be used by everyone without any downsides (also > > because I don't want to overcomplicate my patches with multiple ROM > > versions for the same iGPU) > > > > Best regards, > > Mike Banon > > > > [1] https://review.coreboot.org/c/coreboot/+/31944 > > [2] > https://www.reddit.com/r/coreboot/comments/ar8v7d/if_your_g505s_does_not_have_a_discrete_gpu/ > > [3] http://dangerousprototypes.com/docs/Lenovo_G505S_hacking > > [4] > https://mail.coreboot.org/hyperkitty/list/coreboot@coreboot.org/thread/GZNWISLFHUTYN6C7RTWSQUMJIFOUHMED/ > > > > > > > > On Sun, May 5, 2019 at 11:34 PM Matt B <matthewwbradl...@gmail.com> > wrote: > > > > > > 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-new-working-way-for-amd-laptop-s-discrete-gpu > > > [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/GZNWISLFHUTYN6C7RTWSQUMJIFOUHMED/ > > > > > > 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.| > > > > > > _______________________________________________ > > > coreboot mailing list -- coreboot@coreboot.org > > > To unsubscribe send an email to coreboot-le...@coreboot.org >
_______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-le...@coreboot.org