Openai/69492970-fd84-8012-81ad-fad51507b9fe
This conversation was exported from ChatGPT[1]
gpt-5-2 edit
User: Hi there, edit
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! edit
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.
### edit
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. edit
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. edit
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. edit
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. edit
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) edit
- eGPU enclosure firmware
- Try a different Thunderbolt cable (seriously — reboot failures are often cable-related)
If I had to bet: edit
- 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 edit
Just to specify I am on steamOS
Assistant: Ahhh got it — SteamOS changes the picture a lot. edit
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: edit
- 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.
### edit
After a reboot when it’s broken, open a terminal and run:
lspci | grep -i vga
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).
### edit
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: edit
echo 1 | sudo tee /sys/bus/pci/rescan
Then check again:
lspci | grep -i vga
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: edit
boltctl
If your eGPU shows up as:
- unauthorized → that’s the problem
- authorized → good
To authorize:
sudo boltctl enroll <UUID>
Or:
sudo boltctl authorize <UUID>
SteamOS sometimes forgets authorization on reboot.
SteamOS uses Valve’s kernel + Mesa. edit
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. edit
Temporary test:
sudo kernelstub -a "pcie_aspm=off"
Reboot with eGPU connected.
This is a very common fix for AMD eGPU flakiness on Linux.
Just so expectations are set: edit
- 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: edit
- 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 edit
- 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 edit
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: edit
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.
### edit
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: edit
- “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. edit
SteamOS uses Vulkan/DRI device selection. edit
You can force a game to use the eGPU by setting launch options:
DRI_PRIME=1 %command%
If you have more than one external GPU:
DRI_PRIME=pci-0000_XX_00_0 %command%
You can check available devices with:
ls /dev/dri/
Even though the display is driven by the iGPU: edit
- 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: edit
- 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: edit
- ❌ 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: edit
- 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 edit
- 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 edit
It was working before with the discrete card tho
Assistant: Totally hear you — and you’re not wrong. edit
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: edit
- 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.
### edit
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. edit
Run:
boltctl
If you see your eGPU as:
- unauthorized
- stored: no
That alone explains everything.
This is the key test. edit
When it’s “broken”, run:
lspci | grep -i amd
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: edit
=====
echo 1 | sudo tee /sys/bus/pci/rescan =====
=====
lspci | grep -i amd =====
- 🟢 eGPU appears after rescan → SteamOS regression, fixable with a boot script edit
- 🔴 Still missing → Thunderbolt authorization or firmware issue
A couple reasons: edit
- 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: edit
- Disabling the iGPU ❌ (black screen)
- BIOS mods ❌
- GRUB primary GPU hacks ❌
Based on your description: edit
- 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: edit
👉 When it’s broken, does lspci 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 edit
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. edit
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: edit
- 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: edit
xrandr --listproviders
If you see:
- Provider 0: AMD iGPU
- Provider 1: AMD eGPU
👉 The eGPU exists, but its outputs aren’t enabled
### edit
Run:
xrandr --auto
or more aggressively:
xrandr --output HDMI-1 --auto
(HDMI-1 / HDMI-A-1 may vary)
You can list outputs with:
xrandr
If the TV lights up → this confirms it’s a display init bug.
I know it sounds dumb, but: edit
- 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. edit
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): edit
xrandr --output HDMI-1 --primary
Then reboot. Sometimes this “sticks” across boots.
Likely causes: edit
- 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: edit
- BIOS changes ❌
- GPU priority ❌
- Reinstalling SteamOS ❌ (usually)
- Different HDMI cable (rarely helps)
If you want console-like reliability on TV: edit
- 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: edit
👉 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. edit
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. edit
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 edit
- ✅ 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: edit
- 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
### edit
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:
sudo steamos-readonly disable
sudo nano /etc/default/grub
Find:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"Change to:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.dc=1 amdgpu.dpm=1"Then:
sudo update-grub
sudo steamos-readonly enable
sudo reboot
Boot with eGPU + HDMI already connected.
Create a modprobe override: edit
sudo steamos-readonly disable
sudo nano /etc/modprobe.d/amdgpu-egpu.conf
Add:
options amdgpu dc=1Save, then:
sudo steamos-readonly enable
sudo reboot
This forces the display core to initialize outputs.
After reboot (even if TV is black): edit
ls /sys/class/drm/
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: edit
- 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: edit
- 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): edit
- What SteamOS branch and version are you on?
- Output of: ``
bash ls /sys/class/drm/``
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… edit
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. edit
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) edit
- ✅ 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) edit
SteamOS has two completely different graphics stacks: edit
Desktop Mode edit
- KDE Plasma
- Normal Linux DRM/KMS
- xrandr, multiple GPUs, external displays
- eGPU works 👍
Game Mode edit
- 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) edit
- 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) edit
✅ OPTION 1 (Most reliable): Use Desktop Mode for TV gaming edit
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) edit
This is the only semi-reliable trick:
- Boot into Desktop Mode
- Make the TV the primary display ``
bash xrandr --output HDMI-1 --primarybash xrandr --output eDP-1 --off3. Disable the internal display (optional but helps)
bash4. 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:
DRI_PRIME=1 %command%
``
This does not fix HDMI output, but confirms the GPU is usable.
What does NOT work (so you don’t waste time) edit
- ❌ 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) edit
- 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) edit
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: edit
- 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 edit
- ↑ "eGPU reboot issue". ChatGPT. Retrieved 2025-12-23.