For machines have two AMD graphic cards, and the first graphic card's kernel driver is radeon, the second graphic card belongs SI/CIK chipset which could use both radeon and amdgpu for kernel driver. When using kernel command line "radeon.si_support=0 amdgpu.si_support=1" to switch the second card's kernel driver to be amdgpu, as xserver probing DDX driver for the second graphic card, radeon_platform_probe will returned ture while kernel driver is amdgpu, that will cause xserver terminated with error In the following process of AddScreen/ScreenInit.
This can be fixed by adding driver name compare to radeon_platform_probe. This fixes #181 Signed-off-by: hongao <hon...@uniontech.com> diff --git a/src/radeon_probe.c b/src/radeon_probe.c index 04f9e559..3b0b031f 100644 --- a/src/radeon_probe.c +++ b/src/radeon_probe.c @@ -228,6 +228,11 @@ radeon_platform_probe(DriverPtr pDriver, xf86SetEntityShared(entity_num); xf86AddEntityToScreen(pScrn, entity_num); +#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1, 16, 99, 901, 0) + if(xf86NameCmp(dev->attribs->driver, RADEON_DRIVER_NAME)) + return FALSE; +#endif + if (!radeon_kernel_mode_enabled(pScrn, dev->pdev)) return FALSE; -- 2.20.1