Вопрос или проблема
Мне нужно настроить GPU PCI passthrough, поэтому я отключил свой GPU в grub и ожидал использовать свой IGP. Я протестировал свой IGP отдельно. Он работал нормально, но похоже, что SDDM все равно пытается использовать мой удаленный GPU, и я не знаю, как его перенастроить.
dmesg
здесь:
Xorg.log здесь:
[ 26.605] (--) Log file renamed from "/var/log/Xorg.pid-1476.log" to "/var/log/Xorg.0.log"
[ 26.605]
X.Org X Server 1.21.1.13
X Protocol Version 11, Revision 0
[ 26.605] Current Operating System: Linux seb-desktop 6.11.0-14-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Fri Jan 10 23:48:25 UTC 2025 x86_64
[ 26.605] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.11.0-14-generic root=UUID=579a6b1e-e673-4c7a-8fe8-8af6c965d8ef ro vfio-pci.ids=10de:1c82,10de:0fb9
[ 26.605] xorg-server 2:21.1.13-2ubuntu1.1 (For technical support please see http://www.ubuntu.com/support)
[ 26.605] Current version of pixman: 0.42.2
[ 26.605] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 26.605] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 26.605] (==) Log file: "/var/log/Xorg.0.log", Time: Fri Jan 31 16:48:03 2025
[ 26.605] (==) Using config directory: "/etc/X11/xorg.conf.d"
[ 26.605] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 26.606] (==) No Layout section. Using the first Screen section.
[ 26.606] (==) No screen section available. Using defaults.
[ 26.606] (**) |-->Screen "Default Screen Section" (0)
[ 26.606] (**) | |-->Monitor "<default monitor>"
[ 26.606] (==) No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
[ 26.606] (**) Allowing byte-swapped clients
[ 26.606] (==) Automatically adding devices
[ 26.606] (==) Automatically enabling devices
[ 26.606] (==) Automatically adding GPU devices
[ 26.606] (==) Automatically binding GPU devices
[ 26.606] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 26.606] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[ 26.606] Entry deleted from font path.
[ 26.606] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[ 26.606] Entry deleted from font path.
[ 26.606] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[ 26.606] Entry deleted from font path.
[ 26.606] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[ 26.606] Entry deleted from font path.
[ 26.606] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[ 26.606] Entry deleted from font path.
[ 26.606] (==) FontPath set to:
/usr/share/fonts/X11/misc,
/usr/share/fonts/X11/Type1,
built-ins
[ 26.606] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 26.606] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 26.606] (II) Loader magic: 0x623cf26df020
[ 26.606] (II) Module ABI versions:
[ 26.606] X.Org ANSI C Emulation: 0.4
[ 26.606] X.Org Video Driver: 25.2
[ 26.606] X.Org XInput driver : 24.4
[ 26.606] X.Org Server Extension : 10.0
[ 26.607] (++) using VT number 2
[ 26.607] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[ 26.607] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 26.607] (II) Platform probe for /sys/devices/pci0000:00/0000:00:08.1/0000:11:00.0/drm/card0
[ 26.681] (--) PCI:*(1@0:0:0) 10de:1c82:1462:3351 rev 161, Mem @ 0xf5000000/16777216, 0xfcd0000000/268435456, 0xfce0000000/33554432, I/O @ 0x0000f000/128, BIOS @ 0x????????/524288
[ 26.682] (--) PCI: (17@0:0:0) 1002:13c0:1458:d000 rev 198, Mem @ 0xfcf0000000/268435456, 0xf6200000/2097152, 0xf6700000/524288, I/O @ 0x0000e000/256
[ 26.682] (II) LoadModule: "glx"
[ 26.682] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 26.682] (II) Module glx: vendor="X.Org Foundation"
[ 26.682] compiled for 1.21.1.13, module version = 1.0.0
[ 26.682] ABI class: X.Org Server Extension, version 10.0
[ 26.682] (II) Applying OutputClass "AMDgpu" to /dev/dri/card0
[ 26.682] loading driver: amdgpu
[ 27.179] (==) Matched amdgpu as autoconfigured driver 0
[ 27.179] (==) Matched ati as autoconfigured driver 1
[ 27.179] (==) Matched nouveau as autoconfigured driver 2
[ 27.179] (==) Matched modesetting as autoconfigured driver 3
[ 27.179] (==) Matched fbdev as autoconfigured driver 4
[ 27.179] (==) Matched vesa as autoconfigured driver 5
[ 27.179] (==) Assigned the driver to the xf86ConfigLayout
[ 27.179] (II) LoadModule: "amdgpu"
[ 27.179] (II) Loading /usr/lib/xorg/modules/drivers/amdgpu_drv.so
[ 27.189] (II) Module amdgpu: vendor="X.Org Foundation"
[ 27.189] compiled for 1.21.1.11, module version = 23.0.0
[ 27.189] Module class: X.Org Video Driver
[ 27.189] ABI class: X.Org Video Driver, version 25.2
[ 27.189] (II) LoadModule: "ati"
[ 27.189] (II) Loading /usr/lib/xorg/modules/drivers/ati_drv.so
[ 27.189] (II) Module ati: vendor="X.Org Foundation"
[ 27.189] compiled for 1.21.1.11, module version = 22.0.0
[ 27.189] Module class: X.Org Video Driver
[ 27.189] ABI class: X.Org Video Driver, version 25.2
[ 27.221] (II) LoadModule: "nouveau"
[ 27.221] (II) Loading /usr/lib/xorg/modules/drivers/nouveau_drv.so
[ 27.221] (II) Module nouveau: vendor="X.Org Foundation"
[ 27.221] compiled for 1.21.1.11, module version = 1.0.17
[ 27.221] Module class: X.Org Video Driver
[ 27.221] ABI class: X.Org Video Driver, version 25.2
[ 27.221] (II) LoadModule: "modesetting"
[ 27.221] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[ 27.221] (II) Module modesetting: vendor="X.Org Foundation"
[ 27.221] compiled for 1.21.1.13, module version = 1.21.1
[ 27.221] Module class: X.Org Video Driver
[ 27.221] ABI class: X.Org Video Driver, version 25.2
[ 27.221] (II) LoadModule: "fbdev"
[ 27.221] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[ 27.221] (II) Module fbdev: vendor="X.Org Foundation"
[ 27.221] compiled for 1.21.1.11, module version = 0.5.0
[ 27.221] Module class: X.Org Video Driver
[ 27.221] ABI class: X.Org Video Driver, version 25.2
[ 27.221] (II) LoadModule: "vesa"
[ 27.221] (II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so
[ 27.221] (II) Module vesa: vendor="X.Org Foundation"
[ 27.221] compiled for 1.21.1.11, module version = 2.6.0
[ 27.221] Module class: X.Org Video Driver
[ 27.221] ABI class: X.Org Video Driver, version 25.2
[ 27.221] (II) AMDGPU: Driver for AMD Radeon:
All GPUs supported by the amdgpu kernel driver
[ 27.221] (II) NOUVEAU driver Date: Sat Jan 23 12:24:42 2021 -0500
[ 27.221] (II) NOUVEAU driver for NVIDIA chipset families :
[ 27.221] RIVA TNT (NV04)
[ 27.221] RIVA TNT2 (NV05)
[ 27.221] GeForce 256 (NV10)
[ 27.221] GeForce 2 (NV11, NV15)
[ 27.221] GeForce 4MX (NV17, NV18)
[ 27.221] GeForce 3 (NV20)
[ 27.221] GeForce 4Ti (NV25, NV28)
[ 27.221] GeForce FX (NV3x)
[ 27.221] GeForce 6 (NV4x)
[ 27.221] GeForce 7 (G7x)
[ 27.221] GeForce 8 (G8x)
[ 27.221] GeForce 9 (G9x)
[ 27.221] GeForce GTX 2xx/3xx (GT2xx)
[ 27.221] GeForce GTX 4xx/5xx (GFxxx)
[ 27.221] GeForce GTX 6xx/7xx (GKxxx)
[ 27.221] GeForce GTX 9xx (GMxxx)
[ 27.221] GeForce GTX 10xx (GPxxx)
[ 27.221] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[ 27.221] (II) FBDEV: driver for framebuffer: fbdev
[ 27.221] (II) VESA: driver for VESA chipsets: vesa
[ 27.763] (EE) [drm] Failed to open DRM device for pci:0000:01:00.0: -19
[ 27.789] (WW) Falling back to old probe method for modesetting
[ 27.822] (II) modeset(1): using default device
[ 27.822] (II) Loading sub module "fbdevhw"
[ 27.822] (II) LoadModule: "fbdevhw"
[ 27.822] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 27.822] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 27.822] compiled for 1.21.1.13, module version = 0.0.2
[ 27.822] ABI class: X.Org Video Driver, version 25.2
[ 27.822] (EE) Unable to find a valid framebuffer device
[ 27.822] (WW) Falling back to old probe method for fbdev
[ 27.822] (II) Loading sub module "fbdevhw"
[ 27.822] (II) LoadModule: "fbdevhw"
[ 27.822] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 27.822] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 27.822] compiled for 1.21.1.13, module version = 0.0.2
[ 27.822] ABI class: X.Org Video Driver, version 25.2
[ 27.822] vesa: Refusing to run, Framebuffer or dri device present
[ 27.822] (EE) Screen 0 deleted because of no matching config section.
[ 27.822] (II) UnloadModule: "modesetting"
[ 27.822] (EE) Screen 1 deleted because of no matching config section.
[ 27.822] (II) UnloadModule: "fbdev"
[ 27.822] (II) UnloadSubModule: "fbdevhw"
[ 27.822] (EE)
Fatal server error:
[ 27.822] (EE) Cannot run in framebuffer mode. Please specify busIDs for all framebuffer devices
[ 27.822] (EE)
[ 27.822] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 27.822] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 27.822] (EE)
[ 27.840] (EE) Server terminated with error (1). Closing log file.
интересная часть:
[ 27.763] (EE) [drm] Failed to open DRM device for pci:0000:01:00.0: -19
pci:0000:01:00.0 — это графический процессор, который я удалил в grub
Вместо этого я бы хотел использовать: 11:00.0 VGA совместимый контроллер: Advanced Micro Devices, Inc.
[AMD/ATI] Granite Ridge [Radeon Graphics] (rev c6)
Ответ или решение
Когда Kubuntu не запускает SDDM после модификации графического процессора (GPU), это обычно связано с конфигурацией системы X11, которая, несмотря на изменения, все еще пытается использовать старую видеокарту. В вашем случае причиной может быть то, что система не перенастроилась на использование встроенного графического процессора (IGP) после отключения дискретной видеокарты в конфигурации GRUB. Давайте подробно разберем, как можно решить эту проблему с точки зрения теории, примера и приложения.
Теория (Theory)
Конфигурация X11 управляет тем, какие графические устройства должны использоваться для отображения графического интерфейса. Когда вы вносите изменения в оборудование, такие как отключение одной графической карты и переход на другую, X11 может не автоматически адаптироваться к этим изменениям, особенно если установки по умолчанию были настроены под конкретное устройство.
В данном случае проблема заключается в том, что X11 пытается использовать графический процессор, который сейчас отключен как часть вашего настроенного пасс-тру для PCI. Это может произойти из-за того, что устройства указаны в конфигурации, и X11 продолжает поиск по старым спискам устройств. Отсутствие валидной конфигурации может также вызвать неудачное использование подкрепляющих драйверов, таких как "modesetting" или "fbdev", которые не могут корректно запуститься по причине модуля с ошибкой.
Пример (Example)
Исходя из логов Xorg, можно видеть, что система пытается загрузить драйверы для различных графических чипов, включая ваш отключенный NVIDIA GPU и потенциально активный AMD IGP:
[ 27.763] (EE) [drm] Failed to open DRM device for pci:0000:01:00.0: -19
Далее можно заметить ошибки, которые указывают на недоступность кадра буфера (framebuffer) и на отсутствие валидного устройства для отображения:
[ 27.822] (EE) Screen 0 deleted because of no matching config section.
[ 27.822] (EE) Cannot run in framebuffer mode. Please specify busIDs for all framebuffer devices
Применение (Application)
Чтобы исправить эту проблему, нужно определить и настроить используемые графические устройства в конфигурации X11.
-
Измените конфигурацию GRUB и проверьте настройки: Убедитесь, что в загрузочном списке GRUB правильно указан пасс-тру, и IGP не заблокирован.
-
Обновите
xorg.conf
или создайте новый файл конфигурации:- Перейдите в каталог
/etc/X11/xorg.conf.d/
и создайте файл, например20-amdgpu.conf
, если его там еще нет. - Добавьте в него следующую конфигурацию, чтобы указать серверу X использовать ваш IGP:
Section "Device" Identifier "AMD GPU" Driver "amdgpu" BusID "PCI:11:0:0" EndSection
Приведенный выше пример предполагает, что ваш AMD IGP использует драйвер "amdgpu" и находится по адресу PCI "11:0:0".
- Перейдите в каталог
-
Проверьте и переустановите драйверы: Если драйверы были повреждены или неправильно установлены, они могут вызвать проблемы. Переустановите драйверы для IGP и убедитесь, что они обновлены.
-
Сбросьте конфигурации SDDM и кэш: Иногда SDDM может кэшировать старые настройки. Вы можете сбросить этот кэш:
- Выполните команду:
sudo rm -rf /var/lib/sddm/.cache/*
и перезапустите систему.
- Выполните команду:
-
Проверьте наличие изменений в UEFI/BIOS: Убедитесь, что в BIOS активирована поддержка интегрированной графики, и загружайтесь с IGP по умолчанию.
-
Убедитесь в корректности установки пакета udev: Udev отвечает за управление устройствами в Linux, поэтому возможно игнорирование изменений из-за его неверной конфигурации.
Убедившись в правильной настройке всех вышеупомянутых пунктов, перезагрузите систему и проверьте, запускается ли SDDM корректно. Если проблема сохраняется, стоит тщательно просмотреть все логи Xorg и dmesg
на предмет новых ошибок или предупреждений и устранить их согласно предоставленным рекомендациям от сообщества Ubuntu или X.org.