libreboot / lbwww (public) (License: Unspecified) (since 2023-04-11) (hash sha1)
libreboot website (markdown files). https://libreboot.org/
List of commits:
Subject Hash Author Date (UTC)
Tidy up the T480 page 762f1516fe6ca5fe492d702afdcc585e7dc07e84 Leah Rowe 2024-12-10 23:27:51
uboot x86 page: write about thinkpad x60/t60 a2cace6ea0489b96b5c6b08102969ae5c8a1d2e4 Leah Rowe 2024-12-10 11:08:57
resize the t1650 images e8c2795b6a59e53c7d2bb97f8c07752f755b2eba Leah Rowe 2024-12-10 01:34:15
updated t1650 internal flashing instructions a776d13bc4c70a288d35b32769298233dbda3294 Leah Rowe 2024-12-09 16:52:29
made the new pico soic8 image inline 8d40609ed7cf38ad8400eafd699ab68b11334849 Leah Rowe 2024-12-09 16:43:55
fix links in recent commits b29821a4b382b4e999e9cf7785fc77006dca8a5f Leah Rowe 2024-12-09 16:38:32
make thinkpad_acpi modprobe error clearer, fix minor typos in T480 page 91f61408638ca90b42d7f1ac702c99c5683b70f1 ezntek 2024-12-09 11:18:26
add raspi pico to SOIC-8 diagram 30387872fa07d6df25e7d50d98ed0e75c7d72d04 ezntek 2024-12-09 11:05:54
add thinkpad_acpi notices for the T440p, W541 and T480/T480s da5734ac3426a2a690a56bce0d3a8693f62eca26 ezntek 2024-12-09 11:05:02
add release errata/revisions 0eb22b1fa8d8d0c84372fb91f0d9000e5f1966e7 Leah Rowe 2024-12-09 02:23:17
remove a fact that is no longer a fact 0cd6d8de10b3a5cd3f9024117490635cb19943d3 Leah Rowe 2024-12-08 19:58:26
t480 verb 670df4e5e3e034068497698e39764160059004fd Leah Rowe 2024-12-08 17:17:43
uboot errors 7c0d9349ed8871fa7c01e5861fc9dcc218ca3045 Leah Rowe 2024-12-08 16:41:23
move qemu pic further up on the uboot page 66a862b10a1cec24160c67633e83dcc377226edd Leah Rowe 2024-12-08 03:40:39
add x200 u-boot pic 4fa9b69411e578c90c5d33b2c52fa66a8873c99b Leah Rowe 2024-12-08 03:37:12
Sex up the release announcement title a bit 853f2db51d6c6bab5f327f725e31c2ffd2cf4de2 Leah Rowe 2024-12-08 02:06:17
swap f191930c1fed1c917c2cbdaf341e8f9949d86906 Leah Rowe 2024-12-08 02:01:27
also add u-boot pic on u-boot page 1a5937905b359fff8925cd784bee54952647afaf Leah Rowe 2024-12-06 22:57:56
move the pics a bit c372dde2d56f234c0072583eecb16ae622e6f254 Leah Rowe 2024-12-06 22:53:37
also add uboot screenshot 3f41235319df361429b097b8f409f378e328fee8 Leah Rowe 2024-12-06 22:52:26
Commit 762f1516fe6ca5fe492d702afdcc585e7dc07e84 - Tidy up the T480 page
Also add instructions for testing the ThunderBolt
patch that Mate Kukri wrote (currently unstable).

Signed-off-by: Leah Rowe <info@minifree.org>
Author: Leah Rowe
Author date (UTC): 2024-12-10 23:27
Committer name: Leah Rowe
Committer date (UTC): 2024-12-10 23:27
Parent(s): a2cace6ea0489b96b5c6b08102969ae5c8a1d2e4
Signer:
Signing key:
Signing status: N
Tree: 4c1bf1eeb02ac0d38705d97e6348c6f2139e99e3
File Lines added Lines deleted
site/docs/install/t480-thunderbolt-20241206-unstable.patch 136 0
site/docs/install/t480.md 158 87
File site/docs/install/t480-thunderbolt-20241206-unstable.patch added (mode: 100644) (index 0000000..d69c343)
1 From 67b0219a665462ae71f6ba5104edc55ad6245ca7 Mon Sep 17 00:00:00 2001
2 From: Mate Kukri <km@mkukri.xyz>
3 Date: Thu, 5 Dec 2024 20:42:40 +0000
4 Subject: [PATCH] thunderbolt fix-ish
5
6 it shows up, but resume is no dice.
7
8 Change-Id: I2d91a1d290b35e7ea3a1193b4be7b4ba936e4a15
9 ---
10 src/mainboard/lenovo/sklkbl_thinkpad/Kconfig | 1 +
11 src/mainboard/lenovo/sklkbl_thinkpad/dsdt.asl | 13 +++++++++++++
12 .../lenovo/sklkbl_thinkpad/variants/t480/gpio.c | 8 ++++----
13 .../sklkbl_thinkpad/variants/t480/overridetree.cb | 4 ++++
14 .../lenovo/sklkbl_thinkpad/variants/t480s/gpio.c | 8 ++++----
15 .../sklkbl_thinkpad/variants/t480s/overridetree.cb | 4 ++++
16 6 files changed, 30 insertions(+), 8 deletions(-)
17
18 diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig b/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig
19 index 21076315ab..0766c03716 100644
20 --- a/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig
21 +++ b/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig
22 @@ -19,6 +19,7 @@ config BOARD_LENOVO_SKLKBL_THINKPAD_COMMON
23 select SOC_INTEL_COMMON_BLOCK_HDA_VERB
24 select SPD_READ_BY_WORD
25 select SYSTEM_TYPE_LAPTOP
26 + select DRIVERS_INTEL_DTBT
27
28 config BOARD_LENOVO_E460
29 bool
30 diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/dsdt.asl b/src/mainboard/lenovo/sklkbl_thinkpad/dsdt.asl
31 index 237500775f..849540d32d 100644
32 --- a/src/mainboard/lenovo/sklkbl_thinkpad/dsdt.asl
33 +++ b/src/mainboard/lenovo/sklkbl_thinkpad/dsdt.asl
34 @@ -35,4 +35,17 @@ DefinitionBlock(
35 }
36
37 #include <southbridge/intel/common/acpi/sleepstates.asl>
38 +
39 + Scope (\_SB)
40 + {
41 + External (\TBTS, MethodObj)
42 +
43 + Method (MPTS, 1, Serialized)
44 + {
45 + If (CondRefOf (\TBTS))
46 + {
47 + \TBTS()
48 + }
49 + }
50 + }
51 }
52 diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/gpio.c b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/gpio.c
53 index f7c29e1f39..edfa09fbb7 100644
54 --- a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/gpio.c
55 +++ b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/gpio.c
56 @@ -86,7 +86,7 @@ static const struct pad_config gpio_table[] = {
57 PAD_NC(GPP_C18, NONE),
58 PAD_NC(GPP_C19, NONE),
59 PAD_CFG_GPO(GPP_C20, 0, DEEP), /* EPRIVACY_ON */
60 - PAD_CFG_GPO(GPP_C21, 0, DEEP), /* TBT_FORCE_PWR */
61 + PAD_CFG_GPO(GPP_C21, 1, DEEP), /* TBT_FORCE_PWR */
62 PAD_CFG_GPI_SCI(GPP_C22, NONE, DEEP, EDGE_SINGLE, INVERT), /* -EC_SCI */
63 PAD_CFG_GPI_SCI(GPP_C23, NONE, DEEP, EDGE_SINGLE, INVERT), /* -EC_WAKE */
64
65 @@ -191,9 +191,9 @@ static const struct pad_config gpio_table[] = {
66 PAD_NC(GPP_G1, NONE),
67 PAD_NC(GPP_G2, NONE),
68 PAD_NC(GPP_G3, NONE),
69 - PAD_CFG_GPO(GPP_G4, 0, DEEP), /* TBT_RTD3_PWR_EN */
70 - PAD_CFG_GPO(GPP_G5, 0, DEEP), /* TBT_FORCE_USB_PWR */
71 - PAD_CFG_GPO(GPP_G6, 0, DEEP), /* -TBT_PERST */
72 + PAD_CFG_GPO(GPP_G4, 1, DEEP), /* TBT_RTD3_PWR_EN */
73 + PAD_CFG_GPO(GPP_G5, 1, DEEP), /* TBT_FORCE_USB_PWR (TBT_RTD3_USB_PWR_EN) */
74 + PAD_CFG_GPO(GPP_G6, 1, DEEP), /* -TBT_PERST */
75 PAD_CFG_GPI_SCI(GPP_G7, NONE, DEEP, LEVEL, INVERT), /* -TBT_PCIE_WAKE */
76 };
77
78 diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/overridetree.cb b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/overridetree.cb
79 index 2f0b20d91a..6d8725ad5a 100644
80 --- a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/overridetree.cb
81 +++ b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/overridetree.cb
82 @@ -106,6 +106,10 @@ chip soc/intel/skylake
83 register "PcieRpAdvancedErrorReporting[8]" = "1"
84 register "PcieRpLtrEnable[8]" = "1"
85 register "PcieRpHotPlug[8]" = "1"
86 +
87 + chip drivers/intel/dtbt
88 + device pci 0.0 on end
89 + end
90 end
91
92 # M.2 2280 caddy - x2
93 diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/gpio.c b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/gpio.c
94 index a98dd2bc4e..732917ebfa 100644
95 --- a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/gpio.c
96 +++ b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/gpio.c
97 @@ -82,7 +82,7 @@ static const struct pad_config gpio_table[] = {
98 PAD_NC(GPP_C18, NONE),
99 PAD_NC(GPP_C19, NONE),
100 PAD_CFG_GPO(GPP_C20, 0, DEEP), /* EPRIVACY_ON */
101 - PAD_CFG_GPO(GPP_C21, 0, DEEP), /* TBT_FORCE_PWR */
102 + PAD_CFG_GPO(GPP_C21, 1, DEEP), /* TBT_FORCE_PWR */
103 PAD_CFG_GPI_SCI(GPP_C22, NONE, DEEP, EDGE_SINGLE, INVERT), /* -EC_SCI */
104 PAD_CFG_GPI_SCI(GPP_C23, NONE, DEEP, EDGE_SINGLE, INVERT), /* -EC_WAKE */
105
106 @@ -187,9 +187,9 @@ static const struct pad_config gpio_table[] = {
107 PAD_NC(GPP_G1, NONE),
108 PAD_NC(GPP_G2, NONE),
109 PAD_NC(GPP_G3, NONE),
110 - PAD_CFG_GPO(GPP_G4, 0, DEEP), /* TBT_RTD3_PWR_EN */
111 - PAD_CFG_GPO(GPP_G5, 0, DEEP), /* TBT_FORCE_USB_PWR */
112 - PAD_CFG_GPO(GPP_G6, 0, DEEP), /* -TBT_PERST */
113 + PAD_CFG_GPO(GPP_G4, 1, DEEP), /* TBT_RTD3_PWR_EN */
114 + PAD_CFG_GPO(GPP_G5, 1, DEEP), /* TBT_FORCE_USB_PWR (TBT_RTD3_USB_PWR_EN) */
115 + PAD_CFG_GPO(GPP_G6, 1, DEEP), /* -TBT_PERST */
116 PAD_CFG_GPI_SCI(GPP_G7, NONE, DEEP, LEVEL, INVERT), /* -TBT_PCIE_WAKE */
117 };
118
119 diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/overridetree.cb b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/overridetree.cb
120 index cea5e485d2..9b952215c5 100644
121 --- a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/overridetree.cb
122 +++ b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/overridetree.cb
123 @@ -106,6 +106,10 @@ chip soc/intel/skylake
124 register "PcieRpAdvancedErrorReporting[4]" = "1"
125 register "PcieRpLtrEnable[4]" = "1"
126 register "PcieRpHotPlug[4]" = "1"
127 +
128 + chip drivers/intel/dtbt
129 + device pci 0.0 on end
130 + end
131 end
132
133 # M.2 2280 SSD - x2
134 --
135 2.39.5
136
File site/docs/install/t480.md changed (mode: 100644) (index fc6fa2f..e76ecc6)
... ... This port is implemented in Libreboot by merging Mate Kukri's T480/T480s
81 81 patchset. See: <https://review.coreboot.org/c/coreboot/+/83274> - as of 5 patchset. See: <https://review.coreboot.org/c/coreboot/+/83274> - as of 5
82 82 December 2024, Libreboot's code matches that of patchset 22. December 2024, Libreboot's code matches that of patchset 22.
83 83
84 Absolutely unsigned Intel ME!
85 -----------------------------
86
87 Libreboot already disables the Intel ME by default, using `me_cleaner`, but
88 the T480/T480s specifically have an additional quirk:
89
90 One of the benefits of [deguard](deguard.md) for Intel MEv11 is that it sets
91 the ME in such a state where you can run unsigned code in there. This is how
92 the Intel Boot Guard was disabled, because it is the ME that enforces such
93 restrictions; more information about deguard is available on a dedicated page.
94
95 The deguard utility could also be used to enable the red-unlock hack, which
96 would permit unsigned execution of new CPU microcode, though much more
97 research is needed. Because of these two facts, this makes the T480/T480s the
98 most freedom-feasible of all relatively modern x86 laptops.
99
100 With deguard, you have complete control of the flash. This is unprecedented on
101 recent Intel systems in Libreboot, so it's certainly a very interesting port!
102
103 Libreboot uses both `me_cleaner` *and* `deguard` on the T480/T480s.
104
84 105 What works in this port: What works in this port:
85 106 ----------------------- -----------------------
86 107
 
... ... External video outputs and webcam also work. Microphone works, line-out works...
90 111 everything works. UART also available via line-out jack (jumpers required on everything works. UART also available via line-out jack (jumpers required on
91 112 the mainboard). the mainboard).
92 113
93 The thunderbolt controller is currently unconfigured, so you can't use
94 Thunderbolt, but the thunderbolt and regular USB-C connector can both be
95 used for charging, and both can be used for video output (it shows up in xrandr
96 as a DisplayPort). NOTE:
97 <https://review.coreboot.org/c/coreboot/+/83274> is the patchset enabling
98 Thunderbolt, but it currently breaks on S3 resume from sleep, so it's not
99 included yet. This will be added to the Libreboot 20241206 release as a hotpatch
100 when it's ready, and in the next testing release after Libreboot 20241206. This
101 is true as of 6 December 2024.
114 There *are* a few minor exceptions as to what works; this will be covered in
115 other sections of this page. This port is *almost* perfect, but with some caveats.
102 116
103 Backlight controls work, via software control (e.g. `xbacklight` utility), but
104 the Fn keys for it don't currently work, as of 6 December 2024.
117 Build images from source
118 ========================
105 119
106 Nvidia dGPU doesn't work and is disabled as of 6 December 2024; the Intel graphics
107 are still available even on Nvidia models, so Intel graphics are used.
108
109 WWAN slot untested.
110
111 Headphone jack
112 --------------
113
114 Sometimes the headphone jack might not work automatically. Simply install
115 the `pavucontrol` program. Under Output Devices, you can select the headphones
116 you've inserted manually.
117
118 If it says "Unplugged", try it anyway. The HDA Verb may be incorrect. This
119 will be investigated and a hotfix patch made to the Libreboot 20241206 images.
120
121 `thinkpad_acpi` issues {#thinkpad-acpi}
122 ---------------------------------------
123
124 It has been reported that `thinkpad_acpi` does not load correctly on the T480.
125 This should also be the case for the T480s.
126
127 If you encounter this issue, check\
128 [this page](../../faq.md#thinkpad-acpi)
129 for details as to how to fix this.
130
131 Build ROM image from source
132 ---------------------------
120 Please refer to the standard [build instructions](../build/) first.
133 121
134 122 The build target, when building from source, is thus: The build target, when building from source, is thus:
135 123
 
... ... If you're [building from source](../build/) via Libreboot's build system, these
167 155 files are inserted during build. You only need to manually insert them, using files are inserted during build. You only need to manually insert them, using
168 156 the above linked guide, on the pre-compiled release images! the above linked guide, on the pre-compiled release images!
169 157
170 Absolutely unsigned Intel ME!
171 -----------------------------
172
173 Libreboot already disables the Intel ME by default, using `me_cleaner`, but
174 the T480/T480s specifically have an additional quirk:
175
176 One of the benefits of [deguard](deguard.md) for Intel MEv11 is that it sets
177 the ME in such a state where you can run unsigned code in there. This is how
178 the Intel Boot Guard was disabled, because it is the ME that enforces such
179 restrictions; more information about deguard is available on a dedicated page.
180
181 The deguard utility could also be used to enable the red-unlock hack, which
182 would permit unsigned execution of new CPU microcode, though much more
183 research is needed. Because of these two facts, this makes the T480/T480s the
184 most freedom-feasible of all relatively modern x86 laptops.
185
186 With deguard, you have complete control of the flash. This is unprecedented on
187 recent Intel systems in Libreboot, so it's certainly a very interesting port!
188
189 158 Set MAC address Set MAC address
190 159 --------------- ---------------
191 160
 
... ... change the MAC address, please read [nvmutil documentation](../install/nvmutil.m
197 166 argument when using it: `--platform sklkbl`** - otherwise, ifdtool will argument when using it: `--platform sklkbl`** - otherwise, ifdtool will
198 167 handle the IFD incorrectly! handle the IFD incorrectly!
199 168
200 WARNING about GPU compatibility
201 -------------------------------
202
203 The Nvidia GPUs were tested, on models that have them. It is completely
204 dysfunctional and currently disabled in Libreboot. On models that have Nvidia,
205 the Intel graphics is still available so Libreboot uses Intel graphics
206 exclusively.
207
208 The Intel GPU is fully supported with native source code (libgfxinit) in
209 coreboot, which Libreboot uses for initialisation.
210
211 Use of Intel graphics is recommended, because it has much better (and libre)
212 driver support in Linux, and free initialisation code in coreboot, whereas
213 Nvidia is mostly all binary blobs (unless perhaps you use the nouveau driver in
214 Linux).
215
216 169 Thunderbolt issue (READ THIS BEFORE FLASHING) Thunderbolt issue (READ THIS BEFORE FLASHING)
217 170 ------------------ ------------------
218 171
 
... ... On the T480s (S model), the flashes are in slightly different places but in
316 269 both machines, the system flash (for Libreboot) is toward the centre, near both machines, the system flash (for Libreboot) is toward the centre, near
317 270 the memory. the memory.
318 271
319 Backlight controls
320 -------------------
272 Post-installation
273 =================
274
275 These next sections will tell you how to use certain hardware features, which
276 work a little bit differently due to idiosyncrasies of coreboot.
277
278 How to use the headphone jack
279 --------------
280
281 Sometimes the headphone jack might not work automatically. Simply install
282 the `pavucontrol` program. Under Output Devices, you can select the headphones
283 you've inserted manually.
284
285 If it says "Unplugged", try it anyway. The HDA Verb may be incorrect. This
286 will be investigated and a hotfix patch made to the Libreboot 20241206 images.
287
288 How to use HDMI audio
289 ------------------
290
291 You can get audio from Displayport/HDMI, but you must select it manually.
292 For example, you can select it in `pavucontrol` if you're using PulseAudio or
293 PipeWire.
321 294
322 The `xbacklight` (or equivalent in Wayland) can be used to manually control
323 the backlight; the buttons on the keyboard do not currently work, at least as
324 of 6 December 2024.
295 How to use backlight controls
296 -----------------------------
325 297
326 You could map the appropriate xbacklight command in Linux to a hotkey combo,
327 depending on your window manager or desktop environment.
298 Backlight controls work, via software control (e.g. `xbacklight` utility), but
299 the Fn keys for it don't currently work, as of 6 December 2024.
300
301 You can set the backlight manually, or use a hotkey, depending on your window
302 manager or desktop environment.
328 303
329 304 UART UART
330 305 ---- ----
331 306
307 To our knowledge, this functionality is *only* available in coreboot-based
308 firmware such as Libreboot. It is completely unsupported on the original
309 firmware!
310
332 311 A serial console is possible via the line-out (headphone jack). Not yet tested A serial console is possible via the line-out (headphone jack). Not yet tested
333 312 on the T480s (S model), nor implemented, but it is working on the regular on the T480s (S model), nor implemented, but it is working on the regular
334 313 T480 (non-S model). T480 (non-S model).
 
... ... regular T480, the existing caddy area could easily fit two NVMe drives.
377 356 Errata Errata
378 357 ====== ======
379 358
380 On ThinkPad T480/T480s, headphone output works; the internal speaker is disabled
381 but audio is not automatically redirected to the headphone jack. This switching
382 can be done manually, for example in the `pavucontrol` utility:
359 Some features either don't work, or are untested, when running Libreboot on
360 the ThinkPad T480 or T480s.
361
362 NFC support in T480
363 -------------------
364
365 Some T480 models might have NFC support but this is untested in Libreboot, and
366 probably dosen't work in current Libreboot releases.
367
368 The PCH's NFC device is unsupported in Linux anyway.
369
370 Touchscreen on T480
371 -------------------
372
373 Some T480 machines have touchscreens. These are untested; the touch functionality
374 probably doesn't work yet, in Libreboot.
375
376 The digitizer is simply a USB device, which *is* enabled, but it's just untested.
377
378 Smartcard reader
379 ----------------
380
381 The smartcard reader is enabled but it is still untested. If you have one,
382 please test it and report back to the Libreboot project.
383
384 Thunderbolt not supported yet
385 -----------------------------
386
387 Thunderbolt is a way to get PCI-E on a USB port. With it, you can use
388 high-bandwidth devices such as 10Gbps network interfaces.
389
390 The thunderbolt controller is currently unconfigured, so you can't use
391 Thunderbolt, but the thunderbolt and regular USB-C connector can both be
392 used for charging, and both can be used for video output (it shows up in xrandr
393 as a DisplayPort).
394
395 [t480-thunderbolt-20241206-unstable.patch](This patch) can be added, enabling
396 Thunderbolt, but be warned: it is completely untested, as of Libreboot 20241206.
397 This patch is *NOT* included in the release, because it breaks on S3 resume,
398 and may cause a kernel panic. Also: currently testing only reveals that the
399 ThunderBolt controller shows up, and it was confirmed that USB devices do
400 work on the port, but everything else is UNTESTED.
401
402 You also need the [gerrit patch](https://review.coreboot.org/c/coreboot/+/75286)
403 adding a Thunderbolt driver to coreboot.
404
405 To apply these patches, do the following in a fresh clone of `lbmk.git`:
406
407 ```
408 git reset --hard b910424b5df8ed7c931a7b8f5cc8e34eacf0ca3e # 20241206rev2
409 ./mk -f coreboot next
410 cd src/coreboot/next
411 wget https://libreboot.org/docs/install/t480-thunderbolt-20241206-unstable.patch
412 git fetch https://review.coreboot.org/coreboot refs/changes/86/75286/12 && git cherry-pick FETCH_HEAD
413 git am t480-thunderbolt-20241206-unstable.patch
414 cd -
415 ./mk -u coreboot t480s_fsp_16mb
416 ./mk -u coreboot t480_fsp_16mb
417 ```
418
419 You can now follow standard [build instructions](../build/).
420
421 NOTE: If you remove src/coreboot/next, you must apply the patches again.
422 To make it easier, you can instead do this from a fresh `lbmk.git` (do this
423 instead of running the commands above):
424
425 ```
426 git checkout 20241206-t480-thunderbolt-unstable
427 ```
428
429 The branch named `20241206-t480-thunderbolt-unstable` already has the above
430 patches applied, including the configuration changes made by `./mk -u`, and
431 you can follow the same build instructions. In this lbmk branch, that
432 gerrit patch above (`refs/changes/86/75286/12`) is already included.
383 433
384 Output Devices -> Select Headphones on the built-in audio.
434 Whether you use the lbmk branch, or you add the patches manually as above,
435 you can then flash the resulting image and boot it.
436
437 **AGAIN: This will likely cause kernel panics, and it will break on resume
438 from S3 (resume from sleep). If you do test this, please report whether
439 the Thunderbolt devices actually work, but remember that you must NOT suspend
440 or put your machine to sleep.**
441
442 Nvidia dGPU not supported
443 -------------------------
444
445 Nvidia dGPU doesn't work and is disabled as of 6 December 2024; the Intel graphics
446 are still available even on Nvidia models, so Intel graphics are used.
447
448 WWAN slot untested.
449
450 `thinkpad_acpi` issues {#thinkpad-acpi}
451 ---------------------------------------
452
453 It has been reported that `thinkpad_acpi` does not load correctly on the T480.
454 This should also be the case for the T480s.
455
456 If you encounter this issue, check\
457 [this page](../../faq.md#thinkpad-acpi)
458 for details as to how to fix this.
385 459
386 Pavucontrol will specify that the headphones are not connected, but you can
387 select it anyway and it will work. This will be fixed in a subsequent revision,
388 and the corrected images re-uploaded to the existing Libreboot 20241206 release.
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/libreboot/lbwww

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/libreboot/lbwww

Clone this repository using git:
git clone git://git.rocketgit.com/user/libreboot/lbwww

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main