-
-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
X11 not starting properly with no monitor connected to the eGPU #106
Comments
Thanks for the report, unfortunately I'm not really familiar with that particular issue (how to handle the situation of using a non NVIDIA GPU with no monitors attached). The original @ewagner12 just a sidenote, I have rewritten The source code for the Lines 127 to 143 in 13b8a06
|
Hi @T-X I actually have the same laptop as you, nice. For this hardware switching to the eGPU with the script is only the best when using an external display connected to the eGPU. The DRI_PRIME=1 environment variable is the preferred method for using the eGPU on the laptop's internal display. For this combination of using the eGPU with open source drivers (amdgpu, i915 or nouveau), but with no display connected to the eGPU you should not switch to the "eGPU mode" of the script. Instead let it use the "internal mode" and use the environment variable If you force Xorg to run on the eGPU with the --override command, with an AMD card I find that even if you get an X session running (I'm able to switch to a TTY and use @hertg I've used the new golang version of the script and it works well and as expected for me. For the remove command, I wouldn't worry about adding it unless there's a lot of people asking for it. Since I originally added that part of the script things have changed on the driver side and now it's unnecessary for me. With an AMD card on the latest kernel and GNOME desktops I can simply log out, turn off any displays connected to the eGPU and unplug the eGPU. So unless there's someone that needs it, I don't think it's necessary to add that functionality to the script anymore. |
Ha! I found a solution / workaround:
After that
I don't know why the LightDM greeter and Xmonad won't enable and use eDP-1-1 by default in such a case. But this workaround is good enough for me now. |
Hi @hertg I tested this more on my system and I found one bug potentially causing unintended behavior in the script related to this issue. If I believe that at line 139 in Lines 137 to 153 in 13b8a06
I can't speak to behavior in Xmonad as I don't use it, but I believe this should avoid a black screen unless the --override command is used |
@ewagner12 Thanks for your report, that indeed makes sense. I created a new issue #107 for this |
I've also opened a ticket on LightDM here. As I noticed that with just a docking station and no eGPU the LightDM greeter uses all available monitors that are routed through the iGPU. However when the eGPU is enabled through the egpu-switcher then LightDM only uses any monitors connected to the eGPU but not the eDP display anymore, as originally reported. And also as after login configuring the eDP display via xrandr works. And when I use KDE (instead of xmonad, my prefered window manager) with an eGPU enabled then KDE also enables all connected displays by default, including the eDP-1-1 display. Which made me think that maybe LightDM should/could do something different when eGPUs are used. |
Generally the eGPU switcher works great. I have a Razer Core X Chroma eGPU with an HDMI monitor and a VR headset via DisplayPort and both work fine (as long as my GPU does not run out of VRAM and there are still several issues with Monado + SteamVR with the HP Reverb G2). I can also reenable the laptop screen fine with the eGPU enabled via xrandr/arandr in this case (it's just named differently, eDP-1 instead of eDP and not enabled by default when the eGPU is enabled). Thanks a lot for this very useful tool!
What does not work for me yet is starting X11/lightdm with no screen connected to the eGPU, so using just the laptop screen but with the eGPU enabled. The eGPU switcher correctly notices that no monitor is connected to the eGPU and that it has four HDMI+DisplayPort ports available. And suggest to use the "--override" flag.
Running the following leaves me with a black laptop screen:
On a non-X11 TTY xrandr shows the following error message:
Where I would have expected to see at least eDP-1.
Xorg log:
Xorg.0.log
lspci:
lspci.txt
egpu-switcher
via ppa or via git + makeThe text was updated successfully, but these errors were encountered: