ChimeraOS / chimeraos

A Steam Big Picture based couch gaming OS
MIT License
1.67k stars 116 forks source link

eGPU card set as default video adapter issue #887

Closed WeslyG closed 8 months ago

WeslyG commented 8 months ago

I have an intel nuc 12 (mini pc) with a tunderbolt4 port, and a docking station for an external gpu I connect the rx 7800xt as an external card, to the mini pc, and want it to be the main video card in chimeraos and everything rendered on it. However intel has an integrated graphics card that I cannot turn off from bios (I have installed all bios updates), all rendering happens on the weak graphics card, both in desktop mode and in games. This can be seen through the intel_gpu_top command line utility and through glxinfo. My monitor is connected via the display port to the amd video card and chimeraos won't let me load game mode but automatically loads in desktop mode, the video card shows up in devs lspci | grep VGA and lshw -numeric -C display it is fine, however, rendering doesn't switch to it. I realize this is more of a question for Arch linux and x11/wayland (I'm not good at that part) but maybe someone here knows how to switch this?

On windows 11 (with the same equipment) I was able to do this by disabling the integrated graphics monitor through the device manager and everything started working as expected.

On linux, I haven't figured out exactly how to turn off the graphics yet. I tried disabling the pci device with the command echo 1 > /sys/bus/pci/devices/0000:00:03.0/remove with id of my integrated graphics card, but that turned off my external graphics card ¯_(ツ)_/¯ time after time.

I also tried doing this via xrandr --setprovideroffloadsink id id or the global variable DRI_PRIME=1 but that still didn't provide a solution either.

I realize that my problem is very specific, and not directly related to chimeraos, but would be very grateful if someone could help me with this.

WeslyG commented 8 months ago

I managed to start the gpu using this script, it seems the issue can be considered closed.

https://github.com/ewagner12/all-ways-egpu

WeslyG commented 8 months ago

i use method 1

pastaq commented 8 months ago

For yourself, and anyone else who finds this issue later, we have a built in utility for this, detailed here in the wiki: https://github.com/ChimeraOS/chimeraos/wiki/General-Configuration#multi-gpu-management-utility-egpu-and-igpu--dedicated-gpu-configurations

You can use this to select which GPU renders games and the gamescope overlay. This is especially useful for systems with an iGPU as you can use that to render the entire overlay and leave the other GPU to render games with no overhead. YOu can also set it to prefer the eGPU when it is available.