I've replaced my ageing Nvidia card with a more recent and much faster
AMD GPU. However when I boot the system, the default display still
shows as the built-in Intel chip, even though AMD modules are loaded:
$ sudo lsmod|grep -i amd
amdgpu 10153984 1
iommu_v2 24576 1 amdgpu
gpu_sched 49152 1 amdgpu
drm_ttm_helper 16384 1 amdgpu
drm_buddy 20480 2 amdgpu,i915
drm_display_helper 180224 2 amdgpu,i915
ttm 94208 3 amdgpu,drm_ttm_helper,i915
(Nvidia modules are not loaded).
Inxi shows:
$ inxi -G
Graphics:
Device-1: Intel IvyBridge GT2 [HD Graphics 4000] driver: i915 v: kernel
Device-2: AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
driver: amdgpu v: kernel
Display: x11 server: X.Org v: 1.20.14 with: Xwayland v: 22.1.3 driver: X:
loaded: amdgpu,modesetting unloaded: fbdev,vesa dri: crocus gpu: i915
resolution: 1920x1080~60Hz
OpenGL: renderer: Mesa Intel HD Graphics 4000 (IVB GT2) v: 4.2 Mesa
22.1.7
Switcherooctl shows both GPUs:
$ switcherooctl list
Device: 0
Name: Intel® HD Graphics 4000
Default: yes
Environment: DRI_PRIME=pci-0000_00_02_0
Device: 1
Name: Advanced Micro Devices, Inc. [AMD®/ATI] Ellesmere
[Radeon RX 470/480/570/570X/580/580X/590] (Radeon RX 580)
Default: no
Environment: DRI_PRIME=pci-0000_01_00_0
I should mention that both GPUs are connected through an HDMI switch to
a single monitor. I've used this successfully in the past to get PCI
passthrough on Windows VMs for gaming.
I haven't touched anything else. I tried unplugging the i915 and
rebooting (after removing the HDMI switch and connecting the monitor
directly), but simply got a blank screen (in fact three dots at the top
left).
Is there some grub magic I need to do? I assumed this would be
automatic but it seems not.
poc