Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
freem
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Openai/69492970-fd84-8012-81ad-fad51507b9fe
Add languages
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{DISPLAYTITLE:eGPU reboot issue}} ''This conversation was exported from ChatGPT''<ref>{{cite web|title=eGPU reboot issue|url=https://chatgpt.com/share/69492970-fd84-8012-81ad-fad51507b9fe|publisher=ChatGPT|access-date=2025-12-23}}</ref> == gpt-5-2 == === User: Hi there, === Hi there, So I have an eGPU with a Lenovo Legion Go S 32gb Z1 extreme connected via thunderbolt 4 port. The graphics card is a 9070xt. However for some reason when rebooting the device it doesn’t work anymore. I’ve checked on stable and beta of the main branch and neither are working, any ideas? === Assistant: Hey! === Hey! Yeah, eGPU + handhelds can be finicky, so you’re not crazy. Let’s break this down calmly. First, a quick sanity check, because this matters a lot: * When you say “9070 XT”, do you mean RX 7900 XT (or 7900 XTX)? There isn’t an AMD GPU officially called 9070 XT yet. If it is something newer or custom, that could change the diagnosis a bit. That said, based on what you’re describing — works initially, breaks after reboot — this is a very common Thunderbolt + AMD driver behavior, especially on AMD iGPU systems like the Z1 Extreme. ==== ### ==== Windows “Fast Startup” basically half-hibernates the system, and Thunderbolt devices hate that. Fix: # Control Panel → Power Options # “Choose what the power buttons do” # Click Change settings that are currently unavailable # Disable “Turn on fast startup” # Full shutdown → cold boot (not restart) A restart is often worse than a full shutdown for eGPUs. ===== On reboot, the TB controller sometimes doesn’t re-enumerate the eGPU. ===== Things to try: * Boot with the eGPU already connected and powered on * If that fails, try: - Boot without eGPU → log into Windows → then plug it in * Check Thunderbolt Control Center: - Make sure the eGPU is listed and marked as “Always Connect” or Authorized ===== The Legion Go’s Z1 Extreme iGPU + AMD desktop GPU is a known pain point. ===== Symptoms match what you’re seeing: works once, reboot breaks it. Try this: # Use DDU (Display Driver Uninstaller) in Safe Mode # Install ONE unified AMD driver, not separate iGPU/eGPU drivers - Usually the Adrenalin WHQL, not beta # After install: - Plug in eGPU - Let Windows finish detecting before rebooting If Windows Update sneaks in a driver afterward, it can silently break this again. ===== Windows loves to overwrite AMD drivers after reboot. ===== Check: * Device Manager → Display Adapters - If you see Microsoft Basic Display Adapter or a mismatched driver version, that’s your smoking gun. You may need to: * Disable automatic driver updates (at least temporarily) ===== This happens with some enclosures + TB4. ===== Quick test: * After reboot (when it “doesn’t work”): - Is the GPU still visible in Device Manager? - Yes, but error code (like Code 43)? → driver issue - No at all? → Thunderbolt enumeration / firmware issue ==== - BIOS update for the Legion Go S (Lenovo has fixed TB quirks in past updates) ==== * eGPU enclosure firmware * Try a different Thunderbolt cable (seriously — reboot failures are often cable-related) ==== If I had to bet: ==== # Disable Fast Startup # Cold boot only (no restart) # Clean AMD driver install (DDU) # Make sure Thunderbolt device is authorized If you can tell me: * Exact GPU model * Windows 10 or 11 * Does the GPU show up in Device Manager after reboot? * Any error codes? …I can zero in on this pretty fast. You’re definitely not alone with this setup 😅 === User: Just to specify I am on steamOS === Just to specify I am on steamOS === Assistant: Ahhh got it — SteamOS changes the picture a lot. === Ahhh got it — SteamOS changes the picture a lot. Thanks for clarifying 👍 (And yeah, this explains the “works until reboot” behavior almost perfectly.) You’re running into a known AMD + Thunderbolt + Linux hot-plug issue, especially on Arch-based systems like SteamOS. Let’s walk through what’s actually happening and what you can do. ==== On SteamOS: ==== * The AMD iGPU (Z1 Extreme) initializes first * The eGPU over Thunderbolt often fails to re-initialize after reboot * SteamOS does not always rescan PCIe/TB devices automatically * Result: eGPU works once → reboot → disappears or is ignored This is very common and not specific to your hardware. ==== ### ==== After a reboot when it’s broken, open a terminal and run: <syntaxhighlight lang="bash">lspci | grep -i vga </syntaxhighlight> You should see: * AMD iGPU * AMD dGPU (your 7900 XT / “9070 XT”) If you don’t see the eGPU at all, this is a Thunderbolt enumeration issue (most likely). ==== ### ==== On SteamOS, do this exactly: # Power off the Legion Go completely # Make sure: - eGPU is powered on - Thunderbolt cable is already connected # Power on the Legion Go 👉 Hot-plugging after boot is unreliable on SteamOS. ===== When the eGPU doesn’t show up after reboot: ===== <syntaxhighlight lang="bash">echo 1 | sudo tee /sys/bus/pci/rescan </syntaxhighlight> Then check again: <syntaxhighlight lang="bash">lspci | grep -i vga </syntaxhighlight> If the GPU appears after this → congrats, you’ve confirmed it’s a PCIe rescan bug, not a hardware problem. You can even script this to run on boot if needed. ===== Check Thunderbolt status: ===== <syntaxhighlight lang="bash">boltctl </syntaxhighlight> If your eGPU shows up as: * unauthorized → that’s the problem * authorized → good To authorize: <syntaxhighlight lang="bash">sudo boltctl enroll <UUID> </syntaxhighlight> Or: <syntaxhighlight lang="bash">sudo boltctl authorize <UUID> </syntaxhighlight> SteamOS sometimes forgets authorization on reboot. ===== SteamOS uses Valve’s kernel + Mesa. ===== Key points: * Beta / Main branches can break eGPU support temporarily * RDNA3 cards are especially sensitive If you’re on Main or Beta: 👉 Try reverting to Stable, fully power off, then cold boot with eGPU attached. Many users report: * Stable = works * Beta/Main = breaks eGPU after reboot ===== ASPM power saving can kill Thunderbolt GPUs after reboot. ===== Temporary test: <syntaxhighlight lang="bash">sudo kernelstub -a "pcie_aspm=off" </syntaxhighlight> Reboot with eGPU connected. This is a very common fix for AMD eGPU flakiness on Linux. ==== Just so expectations are set: ==== * Hot-plugging eGPU like Windows ❌ * Switching between handheld mode and eGPU seamlessly ❌ * Sleep / suspend with eGPU ❌ (almost always breaks it) Cold boot is king 👑 ==== For daily sanity: ==== * Stable branch * eGPU connected before boot * No sleep — shut down instead * PCI rescan script if needed ==== - Help you make a boot-time PCI rescan script ==== * Check if your kernel version has a known TB bug * Confirm whether your GPU is RDNA3 and needs a Mesa override Just tell me: # Does lspci show the eGPU after reboot? # Does echo 1 > /sys/bus/pci/rescan bring it back? # Stable / Beta / Main right now? You’re very close — this is a software fight, not a hardware one 💪 === User: How to in bios of Lenovo legion go s to prioritise the discrete card as the graphics instead of igpu === How to in bios of Lenovo legion go s to prioritise the discrete card as the graphics instead of igpu === Assistant: Short answer first so you don’t chase ghosts: === Short answer first (so you don’t chase ghosts): You can’t. On the Lenovo Legion Go / Go S, the BIOS does not provide any option to prioritize a discrete GPU (including an eGPU) over the Z1 Extreme iGPU. And on SteamOS/Linux, it wouldn’t help even if it existed. Now let me explain why, and what you can actually do instead. ==== ### ==== The Legion Go S is designed like this: * Internal screen → Z1 Extreme iGPU only * No MUX switch * No dGPU lane routing So even if an eGPU is connected: * The iGPU must initialize first * The system cannot POST without it * BIOS-level “dGPU first” is impossible This is very different from gaming laptops that have: * A dGPU on the motherboard * A hardware MUX switch The Legion Go simply doesn’t have that hardware. ===== BIOS options like: ===== * “Primary Display” * “Discrete graphics first” only apply to: * GPUs soldered to the motherboard * PCIe devices present during POST Thunderbolt eGPUs: * Initialize after BIOS handoff * Are handled by the OS, not firmware * Cannot be selected as “primary” in BIOS So there is no hidden setting you’re missing. ==== Since BIOS control isn’t possible, you control GPU usage at the OS and application level. ==== ===== SteamOS uses Vulkan/DRI device selection. ===== You can force a game to use the eGPU by setting launch options: <syntaxhighlight lang="bash">DRI_PRIME=1 %command% </syntaxhighlight> If you have more than one external GPU: <syntaxhighlight lang="bash">DRI_PRIME=pci-0000_XX_00_0 %command% </syntaxhighlight> You can check available devices with: <syntaxhighlight lang="bash">ls /dev/dri/ </syntaxhighlight> ===== Even though the display is driven by the iGPU: ===== * Rendering can happen on the eGPU * Frames are copied back over PCIe/TB This is expected behavior and works fine for gaming. You can confirm the active GPU in-game with: * Mangohud * vulkaninfo ===== In Desktop Mode: ===== * System Settings → Display and Monitor → Compositor * Keep iGPU as display controller * Let apps choose render device SteamOS does not support a global “use eGPU for everything” toggle. ==== Save yourself hours: ==== * ❌ Hidden BIOS menus * ❌ Lenovo BIOS mods * ❌ GRUB “set primary GPU” hacks * ❌ Disabling the iGPU (will black-screen) None of these work on this device. ==== This is what actually gives stable results: ==== * Stable SteamOS branch * Cold boot with eGPU connected * iGPU handles display * eGPU handles rendering (DRI_PRIME=1) * No suspend / resume with eGPU attached ==== - Identify your exact eGPU device path for DRI_PRIME ==== * Set up Mangohud to confirm GPU usage * Create per-game Steam launch presets * Automate PCI rescan on boot Just tell me 👍 === User: It was working before with the discrete card tho === It was working before with the discrete card tho === Assistant: Totally hear you — and you’re not wrong. === Totally hear you — and you’re not wrong. If it was working before, that actually tells us something important 👀 Let me be very clear first: : So this isn’t you misremembering or misunderstanding — something changed. ==== When it was working, the system was doing this: ==== * iGPU = display controller (always) * eGPU = render device (games + Vulkan) * SteamOS/Mesa correctly selected the eGPU * Thunderbolt enumerated cleanly at boot That’s the best and only supported configuration on this hardware. ==== ### ==== This is by far the #1 cause. Even a small update can: * Change PCIe enumeration order * Break Thunderbolt authorization * Regress RDNA3 eGPU support Especially if you moved: * Stable → Main * Stable → Beta or even just updated Stable recently. ===== SteamOS can silently forget your eGPU. ===== Run: <syntaxhighlight lang="bash">boltctl </syntaxhighlight> If you see your eGPU as: * unauthorized * stored: no That alone explains everything. ===== This is the key test. ===== When it’s “broken”, run: <syntaxhighlight lang="bash">lspci | grep -i amd </syntaxhighlight> Outcomes: * ✅ You see two AMD GPUs → driver/device selection issue * ❌ You only see one → Thunderbolt / PCIe enumeration issue ==== Please try this when it’s not working: ==== ===== <syntaxhighlight lang="bash">echo 1 | sudo tee /sys/bus/pci/rescan ===== </syntaxhighlight> ===== <syntaxhighlight lang="bash">lspci | grep -i amd ===== </syntaxhighlight> ===== - 🟢 eGPU appears after rescan → SteamOS regression, fixable with a boot script ===== * 🔴 Still missing → Thunderbolt authorization or firmware issue ==== A couple reasons: ==== * Games defaulted to the eGPU automatically * Performance jump was obvious * Mangohud probably showed the dGPU * Everything “just worked” But under the hood: * iGPU was always first * You just didn’t need to think about it ==== These will make things worse: ==== * Disabling the iGPU ❌ (black screen) * BIOS mods ❌ * GRUB primary GPU hacks ❌ ==== Based on your description: ==== # Go back to Stable SteamOS # Cold boot with eGPU connected # Authorize Thunderbolt (boltctl) # Force a PCI rescan if needed # Use DRI_PRIME=1 to confirm rendering ==== Answer this one thing: ==== 👉 When it’s broken, does <code>lspci</code> show the eGPU at all? That single answer tells me exactly which path we’re on, and we’ll get you back to where it was before 💪 === User: So the issue I have is the hdmi on reboot won’t display to the tv === So the issue I have is the hdmi on reboot won’t display to the tv === Assistant: Ahh — that detail changes everything, and yeah, this makes total sense now. === Ahh — that detail changes everything, and yeah, this makes total sense now. You’re not fighting “GPU priority” at all — you’re hitting a display routing problem on reboot. Let’s pin this down cleanly. ==== On the Legion Go S + SteamOS + eGPU: ==== * The HDMI port on the eGPU is wired only to the eGPU * On reboot, SteamOS: - Initializes the iGPU first - Sometimes fails to activate the eGPU display outputs * Result: - Internal screen works (iGPU) - TV stays black on HDMI - eGPU may still exist, but its outputs never light up This is a known Linux + AMD eGPU + external display-on-boot issue. So when you say “it worked before” — yeah: * The eGPU HDMI was being activated automatically * A SteamOS update likely broke that behavior ==== When HDMI is black after reboot, do this on the Legion’s internal screen: ==== <syntaxhighlight lang="bash">xrandr --listproviders </syntaxhighlight> If you see: * Provider 0: AMD iGPU * Provider 1: AMD eGPU 👉 The eGPU exists, but its outputs aren’t enabled ==== ### ==== Run: <syntaxhighlight lang="bash">xrandr --auto </syntaxhighlight> or more aggressively: <syntaxhighlight lang="bash">xrandr --output HDMI-1 --auto </syntaxhighlight> (HDMI-1 / HDMI-A-1 may vary) You can list outputs with: <syntaxhighlight lang="bash">xrandr </syntaxhighlight> If the TV lights up → this confirms it’s a display init bug. ===== I know it sounds dumb, but: ===== * Boot with eGPU connected * Once SteamOS is fully loaded: - Unplug HDMI from the eGPU - Plug it back in This forces a modeset and often wakes the display. ===== SteamOS now defaults to Wayland, which is not great with AMD eGPU displays. ===== Switch to X11 in Desktop Mode: # Desktop Mode # Log out # Click the ⚙️ icon on the login screen # Select Plasma (X11) instead of Wayland # Log back in # Reboot with eGPU + HDMI connected This alone fixes HDMI-on-boot for a lot of people. ===== After you get HDMI working (even temporarily): ===== <syntaxhighlight lang="bash">xrandr --output HDMI-1 --primary </syntaxhighlight> Then reboot. Sometimes this “sticks” across boots. ==== Likely causes: ==== * Mesa update changed connector naming * Kernel update changed DRM init order * Wayland session regression * AMD DC bug with hotplug detection None of this is your hardware failing. ==== Just so you don’t waste time: ==== * BIOS changes ❌ * GPU priority ❌ * Reinstalling SteamOS ❌ (usually) * Different HDMI cable (rarely helps) ==== If you want console-like reliability on TV: ==== * Use X11 * Cold boot with: - eGPU powered - HDMI already plugged in * If black screen: - Replug HDMI once Annoying, but stable. ==== When the TV is black after reboot: ==== 👉 Does the eGPU fan spin and LED stay on? And if you can, tell me: * Are you in Gaming Mode or Desktop Mode when testing HDMI? * Wayland or X11 right now? We’re very close — this is a known, fixable Linux display-init edge case, not a dead port 🙂 === User: Desktop when testing. === Desktop when testing. The results were it saw the 9070xt graphics card. I tried the command lines and restarted however it still shows as not recognising the eGPU === Assistant: Got it — thanks, that helps a lot. === Got it — thanks, that helps a lot. Based on what you’re seeing, here’s the key conclusion first, then the fix path. ==== - ✅ Desktop Mode ==== * ✅ lspci does see the 9070 XT * ❌ HDMI on the eGPU is not detected at all * ❌ xrandr commands don’t bring it back * ❌ After reboot it “looks like the eGPU isn’t recognised” from a display point of view This means: : So this is not Thunderbolt, not BIOS, not cabling. It’s a kernel/Mesa regression in SteamOS affecting AMD eGPU display outputs. This lines up exactly with recent SteamOS behavior. ==== Previously: ==== * Kernel initialized the eGPU early enough * DRM/KMS enabled HDMI during boot * Desktop manager saw the output After an update: * iGPU claims primary DRM master * eGPU becomes “render-only” * Its HDMI never gets modeset That’s why: * GPU shows up * But TV stays black forever ==== ### ==== Even if you think you’re on X11, make sure. # Desktop Mode → Log out # On login screen: - Click ⚙️ - Select Plasma (X11) # Log in Now edit kernel params: <syntaxhighlight lang="bash">sudo steamos-readonly disable sudo nano /etc/default/grub </syntaxhighlight> Find: <syntaxhighlight>GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" </syntaxhighlight> Change to: <syntaxhighlight>GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.dc=1 amdgpu.dpm=1" </syntaxhighlight> Then: <syntaxhighlight lang="bash">sudo update-grub sudo steamos-readonly enable sudo reboot </syntaxhighlight> Boot with eGPU + HDMI already connected. ===== Create a modprobe override: ===== <syntaxhighlight lang="bash">sudo steamos-readonly disable sudo nano /etc/modprobe.d/amdgpu-egpu.conf </syntaxhighlight> Add: <syntaxhighlight>options amdgpu dc=1 </syntaxhighlight> Save, then: <syntaxhighlight lang="bash">sudo steamos-readonly enable sudo reboot </syntaxhighlight> This forces the display core to initialize outputs. ===== After reboot (even if TV is black): ===== <syntaxhighlight lang="bash">ls /sys/class/drm/ </syntaxhighlight> You should see something like: * card1-HDMI-A-1 If no HDMI entries exist for card1, the bug is 100% driver-side. ==== If you need the TV now: ==== * Boot without HDMI * Log into Desktop Mode * Plug HDMI in after login * Sometimes xrandr will then see it Not great, but functional. ==== This is a known SteamOS regression: ==== * AMD RDNA3 eGPUs * External displays * After recent kernel/Mesa updates You didn’t break anything. ==== Just answer these and I’ll give you the final best path (including rollback if needed): ==== # What SteamOS branch and version are you on? # Output of: ``<code>bash ls /sys/class/drm/ </code>`` We’re past guessing now — this is a driver initialization issue, and you’re very close to a stable workaround. === User: Before I do this I would also like to mention when switching to desktop mode the discrete card is recognised and displa… === Before I do this I would also like to mention when switching to desktop mode the discrete card is recognised and displays via hdmi. Secondly the device boots, then launches in game mode. In game mode it doesn’t seem to see the graphics card. I hope this helps === Assistant: YES — that helps a lot. === YES — that helps a lot. This actually nails the root cause. You’ve basically described a known SteamOS Game Mode limitation/bug, not a broken eGPU. Let me summarize what’s happening in plain terms, then give you the correct fix (and the limits you can’t bypass). ==== What your new info confirms (this is the key) ==== * ✅ Desktop Mode - eGPU is detected - HDMI on the eGPU works - Display shows on the TV * ❌ Game Mode - Boots fine - Does not see or use the eGPU - HDMI on the eGPU stays black 👉 This means: : Your eGPU is working perfectly — Game Mode just isn’t initializing it. This is not Thunderbolt, not BIOS, not drivers missing. ==== Why this happens (important) ==== ===== SteamOS has two completely different graphics stacks: ===== ===== Desktop Mode ===== * KDE Plasma * Normal Linux DRM/KMS * xrandr, multiple GPUs, external displays * eGPU works 👍 ===== Game Mode ===== * Gamescope * Wayland-only * Single-GPU–first design * Aggressively locks onto the iGPU * Very limited multi-GPU / eGPU display support Right now, Gamescope often treats AMD eGPUs as “render-only” or ignores them entirely, especially for external displays. That’s why: * Desktop Mode = fine * Game Mode = nope You didn’t do anything wrong. ==== The critical thing to understand (no sugarcoating) ==== : SteamOS Game Mode does NOT reliably support AMD eGPUs driving external displays. Sometimes it works. Updates break it. Valve fixes it. Next update breaks it again. What you’re seeing is a regression in Game Mode, not Desktop Mode. ==== What does work (reliable paths) ==== ===== ✅ OPTION 1 (Most reliable): Use Desktop Mode for TV gaming ===== This is what many eGPU users end up doing. * Stay in Desktop Mode * Launch Steam from there * Use Big Picture if you want the console feel * HDMI + eGPU works consistently This avoids Gamescope entirely. ===== ✅ OPTION 2: Force Game Mode to “see” the external display (sometimes works) ===== This is the only semi-reliable trick: # Boot into Desktop Mode # Make the TV the primary display ``<code>bash xrandr --output HDMI-1 --primary <syntaxhighlight>3. Disable the internal display (optional but helps) </syntaxhighlight>bash xrandr --output eDP-1 --off <syntaxhighlight>4. Without rebooting, switch to Game Mode If you’re lucky: * Game Mode will inherit the display state * HDMI will work If you reboot after this, it usually breaks again. ===== ✅ OPTION 3: Force eGPU rendering per-game (render only) ===== Even if HDMI doesn’t light up, you can still make games render on the eGPU (internal screen only): Steam launch options: </syntaxhighlight>bash DRI_PRIME=1 %command% </code>`` This does not fix HDMI output, but confirms the GPU is usable. ==== What does NOT work (so you don’t waste time) ==== * ❌ BIOS changes * ❌ GRUB “primary GPU” hacks * ❌ Disabling the iGPU * ❌ Wayland tweaks inside Game Mode * ❌ Reinstalling SteamOS Game Mode is hard-coded around Gamescope behavior. ==== The honest current state (as of now) ==== * Desktop Mode + eGPU + HDMI → ✅ supported * Game Mode + AMD eGPU + HDMI → ❌ unreliable / broken * NVIDIA eGPU → works more often (sad but true) * Internal screen + eGPU rendering → ✅ This matches exactly what you’re seeing. ==== My recommendation (real talk) ==== If your goal is TV + couch gaming with an eGPU: 👉 Use Desktop Mode + Steam Big Picture If your goal is handheld + dock switching: 👉 eGPU on SteamOS is still rough, especially in Game Mode. ==== If you want, I can: ==== * Help you make Desktop Mode boot straight into Steam Big Picture * Show how to make it feel identical to Game Mode * Track the exact SteamOS update where this regressed * Give you a “least pain” setup for your use case Just tell me how you want to use it day-to-day, and I’ll tailor the setup 👌 == References == <references /> [[Category:ChatGPT Shares]] [[Category:openai]]
Summary:
Please note that all contributions to freem are considered to be released under the Creative Commons Attribution-ShareAlike 4.0 (see
Freem:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Cite web
(
edit
)
Module:Citation/CS1
(
edit
)
Module:Citation/CS1/COinS
(
edit
)
Module:Citation/CS1/Configuration
(
edit
)
Module:Citation/CS1/Date validation
(
edit
)
Module:Citation/CS1/Identifiers
(
edit
)
Module:Citation/CS1/Utilities
(
edit
)
Module:Citation/CS1/Whitelist
(
edit
)
Module:Citation/CS1/styles.css
(
edit
)