123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <style type="text/css">
- @import url('../css/main.css');
- </style>
- <title>LCD compatibility on GM45 laptops</title>
- </head>
- <body>
- <div class="section">
- <h1 id="pagetop">LCD compatibility on GM45 laptops</h1>
-
- <p>
- On the T400 and T500 (maybe others), some of the higher resolution panels
- (e.g. 1440x900, 1680x1050, 1920x1200) fail in libreboot.
- </p>
- <p>
- It is currently unknown, whether there exist any compatibility issues on the ThinkPad R500.
- </p>
- <p>
- <b>All X200/X200S/X200T LCD panels are believed to be compatible.</b>
- </p>
-
- <p>
- <a href="index.html">Back to previous index</a>.
- </p>
- </div>
- <div class="section">
- <h1>The problem</h1>
- <p>
- In some cases, backlight turns on during boot, sometimes not. In all cases,
- no display is shown in GRUB, nor in GNU/Linux.
- </p>
- <h1>
- Current workaround:
- </h1>
- <p>
- T500/R400 are clones of the T400. See <b>coreboot/src/mainboard/lenovo/t400/devicetree.cb</b> in libreboot,
- and note that <b>register "gfx.lvds_dual_channel" = "0"</b> - in other words, single channel LVDS mode is
- enforced. This works on the lower resolution panels (1280x800), but not on the higher ones.
- </p>
- <p>
- For the high-res panels, re-compiling with <b>register "gfx.lvds_dual_channel" = "1"</b> partially solves
- the problem for those displays; there is still no display in GRUB, but once the kernel takes over, there
- is a display.
- </p>
- <p>
- Linux (kernel) has its own init code (including EDID parsing). The current suspicion is that coreboot's
- own initialization code has buggy EDID parsing in some way, such that the proper settings for the panel
- are not used, leading to the failure. The actual graphics initialization does work.
- </p>
- <p>
- The i915 module in the Linux kernel also provides an option to set the LVDS link configuration.
- lvds_channel_mode:Specify LVDS channel mode (0=probe BIOS [default], 1=single-channel, 2=dual-channel) (int)
- - from /sbin/modinfo i915
- </p>
- </div>
- <div class="section">
- <h1>Differences in dmesg (kernel parameter added: )</h1>
- <p>
- <a href="https://01.org/linuxgraphics/documentation/how-report-bugs">https://01.org/linuxgraphics/documentation/how-report-bugs</a>
- </p>
- <p>
- These panels all work in the original firmware, so the idea is to see what differences there are in how coreboot handles them.
- </p>
- <p>
- <a href="http://www.coreboot.org/pipermail/coreboot/attachments/20150712/d2e214bb/attachment-0002.txt">dmesg with coreboot-libre</a> (coreboot) -
- See: <i>[drm:intel_lvds_init] detected single-link lvds configuration</i>
- </p>
- <p>
- <a href="http://www.coreboot.org/pipermail/coreboot/attachments/20150712/d2e214bb/attachment-0003.txt">dmesg with lenovobios</a> (lenovobios) -
- For the same line, it says dual-channel lvds configuration.
- </p>
- </div>
-
- <div class="section">
- <h2 id="edid">EDID</h2>
- <p>
- One T500 had a screen (1920x1200) that is currently incompatible. Working to fix it. EDID:
- </p>
- <pre>
- user@user-ThinkPad-T500:~/Desktop$ sudo i2cdump -y 2 0x50
- No size specified (using byte-data access)
- 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
- 00: XX ff ff ff ff ff ff 00 30 ae 55 40 00 00 00 00 X.......0?U@....
- 10: 00 11 01 03 80 21 15 78 ea ba 70 98 59 52 8c 28 .????!?x??p?YR?(
- 20: 25 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 %PT...??????????
- 30: 01 01 01 01 01 01 e7 3a 80 8c 70 b0 14 40 1e 50 ???????:??p??@?P
- 40: 24 00 4b cf 10 00 00 19 16 31 80 8c 70 b0 14 40 $.K??..??1??p??@
- 50: 1e 50 24 00 4b cf 10 00 00 19 00 00 00 0f 00 d1 ?P$.K??..?...?.?
- 60: 0a 32 d1 0a 28 11 01 00 32 0c 00 00 00 00 00 fe ?2??(??.2?.....?
- 70: 00 4c 50 31 35 34 57 55 31 2d 54 4c 42 31 00 9a .LP154WU1-TLB1.?
- 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- </pre>
- <p>
- What happens: backlight turns on at boot, then turns off. At no point is there
- a working visual display.
- </p>
- <p>
- Another incompatible screen (EDID) 1680 x 1050 with the same issue:
- </p>
- <pre>
- EDID:
- 00 ff ff ff ff ff ff 00 30 ae 53 40 00 00 00 00
- 00 11 01 03 80 21 15 78 ea cd 75 91 55 4f 8b 26
- 21 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
- 01 01 01 01 01 01 a8 2f 90 e0 60 1a 10 40 20 40
- 13 00 4b cf 10 00 00 19 b7 27 90 e0 60 1a 10 40
- 20 40 13 00 4b cf 10 00 00 19 00 00 00 0f 00 b3
- 0a 32 b3 0a 28 14 01 00 4c a3 50 33 00 00 00 fe
- 00 4c 54 4e 31 35 34 50 33 2d 4c 30 32 0a 00 7e
- Extracted contents:
- header: 00 ff ff ff ff ff ff 00
- serial number: 30 ae 53 40 00 00 00 00 00 11
- version: 01 03
- basic params: 80 21 15 78 ea
- chroma info: cd 75 91 55 4f 8b 26 21 50 54
- established: 00 00 00
- standard: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
- descriptor 1: a8 2f 90 e0 60 1a 10 40 20 40 13 00 4b cf 10 00 00 19
- descriptor 2: b7 27 90 e0 60 1a 10 40 20 40 13 00 4b cf 10 00 00 19
- descriptor 3: 00 00 00 0f 00 b3 0a 32 b3 0a 28 14 01 00 4c a3 50 33
- descriptor 4: 00 00 00 fe 00 4c 54 4e 31 35 34 50 33 2d 4c 30 32 0a
- extensions: 00
- checksum: 7e
- Manufacturer: LEN Model 4053 Serial Number 0
- Made week 0 of 2007
- EDID version: 1.3
- Digital display
- Maximum image size: 33 cm x 21 cm
- Gamma: 220%
- Check DPMS levels
- DPMS levels: Standby Suspend Off
- Supported color formats: RGB 4:4:4, YCrCb 4:2:2
- First detailed timing is preferred timing
- Established timings supported:
- Standard timings supported:
- Detailed timings
- Hex of detail: a82f90e0601a1040204013004bcf10000019
- Did detailed timing
- Detailed mode (IN HEX): Clock 122000 KHz, 14b mm x cf mm
- 0690 06b0 06f0 0770 hborder 0
- 041a 041b 041e 042a vborder 0
- -hsync -vsync
- Hex of detail: b72790e0601a1040204013004bcf10000019
- Detailed mode (IN HEX): Clock 122000 KHz, 14b mm x cf mm
- 0690 06b0 06f0 0770 hborder 0
- 041a 041b 041e 042a vborder 0
- -hsync -vsync
- Hex of detail: 0000000f00b30a32b30a281401004ca35033
- Manufacturer-specified data, tag 15
- Hex of detail: 000000fe004c544e31353450332d4c30320a
- ASCII string: LTN154P3-L02
- Checksum
- Checksum: 0x7e (valid)
- WARNING: EDID block does NOT fully conform to EDID 1.3.
- Missing name descriptor
- Missing monitor ranges
- bringing up panel at resolution 1680 x 1050
- Borders 0 x 0
- Blank 224 x 16
- Sync 64 x 3
- Front porch 32 x 1
- Spread spectrum clock
- Single channel
- Polarities 1, 1
- Data M1=2132104, N1=8388608
- Link frequency 270000 kHz
- Link M1=236900, N1=524288
- Pixel N=9, M1=24, M2=8, P1=1
- Pixel clock 243809 kHz
- waiting for panel powerup
- panel powered up
- </pre>
- <p>
- Another incompatible (T400) screen:
- </p>
- <pre>
- No size specified (using byte-data access)
- 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
- 00: XX ff ff ff ff ff ff 00 30 ae 33 40 00 00 00 00 X.......0?3@....
- 10: 00 0f 01 03 80 1e 13 78 ea cd 75 91 55 4f 8b 26 .??????x??u?UO?&
- 20: 21 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 !PT...??????????
- 30: 01 01 01 01 01 01 b0 27 a0 60 51 84 2d 30 30 20 ???????'?`Q?-00
- 40: 36 00 2f be 10 00 00 19 d5 1f a0 40 51 84 1a 30 6./??..????@Q??0
- 50: 30 20 36 00 2f be 10 00 00 19 00 00 00 0f 00 90 0 6./??..?...?.?
- 60: 0a 32 90 0a 28 14 01 00 4c a3 42 44 00 00 00 fe ?2??(??.L?BD...?
- 70: 00 4c 54 4e 31 34 31 57 44 2d 4c 30 35 0a 00 32 .LTN141WD-L05?.2
- 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- </pre>
- <p>
- For comparison, here is a working display (T400 screen, but was
- connected to a T500. Some T500 displays also work, but no EDID
- available on this page yet):
- </p>
- <pre>
- EDID:
- 00 ff ff ff ff ff ff 00 30 ae 31 40 00 00 00 00
- 00 12 01 03 80 1e 13 78 ea b3 85 95 58 53 8a 28
- 25 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
- 01 01 01 01 01 01 26 1b 00 7d 50 20 16 30 30 20
- 36 00 30 be 10 00 00 18 8b 16 00 7d 50 20 16 30
- 30 20 36 00 30 be 10 00 00 18 00 00 00 0f 00 81
- 0a 32 81 0a 28 14 01 00 30 e4 28 01 00 00 00 fe
- 00 4c 50 31 34 31 57 58 33 2d 54 4c 52 31 00 d8
- Extracted contents:
- header: 00 ff ff ff ff ff ff 00
- serial number: 30 ae 31 40 00 00 00 00 00 12
- version: 01 03
- basic params: 80 1e 13 78 ea
- chroma info: b3 85 95 58 53 8a 28 25 50 54
- established: 00 00 00
- standard: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
- descriptor 1: 26 1b 00 7d 50 20 16 30 30 20 36 00 30 be 10 00 00 18
- descriptor 2: 8b 16 00 7d 50 20 16 30 30 20 36 00 30 be 10 00 00 18
- descriptor 3: 00 00 00 0f 00 81 0a 32 81 0a 28 14 01 00 30 e4 28 01
- descriptor 4: 00 00 00 fe 00 4c 50 31 34 31 57 58 33 2d 54 4c 52 31
- extensions: 00
- checksum: d8
- Manufacturer: LEN Model 4031 Serial Number 0
- Made week 0 of 2008
- EDID version: 1.3
- Digital display
- Maximum image size: 30 cm x 19 cm
- Gamma: 220%
- Check DPMS levels
- DPMS levels: Standby Suspend Off
- Supported color formats: RGB 4:4:4, YCrCb 4:2:2
- First detailed timing is preferred timing
- Established timings supported:
- Standard timings supported:
- Detailed timings
- Hex of detail: 261b007d502016303020360030be10000018
- Did detailed timing
- Detailed mode (IN HEX): Clock 69500 KHz, 130 mm x be mm
- 0500 0530 0550 057d hborder 0
- 0320 0323 0329 0336 vborder 0
- -hsync -vsync
- Hex of detail: 8b16007d502016303020360030be10000018
- Detailed mode (IN HEX): Clock 69500 KHz, 130 mm x be mm
- 0500 0530 0550 057d hborder 0
- 0320 0323 0329 0336 vborder 0
- -hsync -vsync
- Hex of detail: 0000000f00810a32810a2814010030e42801
- Manufacturer-specified data, tag 15
- Hex of detail: 000000fe004c503134315758332d544c5231
- ASCII string: LP141WX3-TLR1
- Checksum
- Checksum: 0xd8 (valid)
- WARNING: EDID block does NOT fully conform to EDID 1.3.
- Missing name descriptor
- Missing monitor ranges
- bringing up panel at resolution 1280 x 800
- Borders 0 x 0
- Blank 125 x 22
- Sync 32 x 6
- Front porch 48 x 3
- Spread spectrum clock
- Single channel
- Polarities 1, 1
- Data M1=1214600, N1=8388608
- Link frequency 270000 kHz
- Link M1=134955, N1=524288
- Pixel N=10, M1=14, M2=11, P1=1
- Pixel clock 138857 kHz
- waiting for panel powerup
- panel powered up
- </pre>
- <p>
- Another compatible T400 screen:
- </p>
- <pre>
- trisquel@trisquel:~$ sudo i2cdump -y 2 0x50
- No size specified (using byte-data access)
- 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
- 00: 00 ff ff ff ff ff ff 00 30 ae 31 40 00 00 00 00 ........0?1@....
- 10: 00 12 01 03 80 1e 13 78 ea b3 85 95 58 53 8a 28 .??????x????XS?(
- 20: 25 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 %PT...??????????
- 30: 01 01 01 01 01 01 26 1b 00 7d 50 20 16 30 30 20 ??????&?.}P ?00
- 40: 36 00 30 be 10 00 00 18 8b 16 00 7d 50 20 16 30 6.0??..???.}P ?0
- 50: 30 20 36 00 30 be 10 00 00 18 00 00 00 0f 00 81 0 6.0??..?...?.?
- 60: 0a 32 81 0a 28 14 01 00 30 e4 28 01 00 00 00 fe ?2??(??.0?(?...?
- 70: 00 4c 50 31 34 31 57 58 33 2d 54 4c 52 31 00 d8 .LP141WX3-TLR1.?
- 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
- </pre>
- </div>
- <div class="section">
- <p>
- Copyright © 2015 Francis Rowe <info@gluglug.org.uk><br/>
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.3
- or any later version published by the Free Software Foundation;
- with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
- A copy of the license can be found at <a href="../gfdl-1.3.txt">../gfdl-1.3.txt</a>
- </p>
- <p>
- Updated versions of the license (when available) can be found at
- <a href="https://www.gnu.org/licenses/licenses.html">https://www.gnu.org/licenses/licenses.html</a>
- </p>
- <p>
- UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
- EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
- AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
- ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
- IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
- WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
- PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
- ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
- KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
- ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
- </p>
- <p>
- TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
- TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
- NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
- INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
- COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
- USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
- ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
- DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
- IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
- </p>
- <p>
- The disclaimer of warranties and limitation of liability provided
- above shall be interpreted in a manner that, to the extent
- possible, most closely approximates an absolute disclaimer and
- waiver of all liability.
- </p>
-
- </div>
- </body>
- </html>
|