Вопрос или проблема
Итак, я решил использовать FreeBSD как свою основную операционную систему, но Xorg, похоже, не работает. Сначала, когда я попытался запустить startx в первый раз (я установил драйверы NVIDIA), он выдал
(EE) Невозможно запустить в режиме framebuffer. Пожалуйста, укажите busIDs для всех режимов framebuffer
Вот полный лог-файл – https://pastebin.com/sKCsm2Nn
Затем я попробовал nvidia-xconfig
, и он выдал мне это-
(EE) Экранов не найдено (EE)
Вот полный лог – https://pastebin.com/5kXndP8J
У меня Lenovo Flex 2-14, вот характеристики моего GPU-
vgapci0@pci0:0:2:0: class=0x030000 card=0x397817aa chip=0x0a168086 rev=0x0b hdr=0x00
vendor=”Intel Corporation”
device=”Haswell-ULT Integrated Graphics Controller”
class = display
—
vgapci1@pci0:4:0:0: class=0x030200 card=0x381717aa chip=0x114010de rev=0xa1 hdr=0x00
vendor=”NVIDIA Corporation”
device=”GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M]”
class = display
Я установил nvidia-driver-390-390.138_1, drm-kmod(i915kms.ko)
.
Я предполагаю, что вы используете 12.2-RELEASE. Есть много вопросов в контрольном списке.
- drm-kmod сломан https://twitter.com/vermaden/status/1321375859429773312, вам нужно собрать его из порта
- вам нужно добавить пользователя в группу video с помощью
# pw group mod video -m ваше_имя_пользователя
- также есть возможность переключиться на 12.1-RELEASE или CURRENT
- добавление
# sysrc kld_list+="/boot/modules/i915kms.ko"
- конечно, после правильной установки nvidia-driver используйте kldload nvidia-modeset, а затем перезагрузитесь
Надеюсь, что что-то из этого поможет
Вам нужно использовать xorg.conf для NVIDIA
Просто возьмите “BusID”, сгенерированный X -configure из /root/xorg.conf для вашего устройства и используйте его с /etc/X11/xorg.conf
где BusID является вашим BusID, если нет, то устройство 5:0:0
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BusID "PCI:5:0:0"
EndSection
Ваш /etc/rc.conf должен выглядеть так: “если вы используете lightdm, в противном случае игнорируйте строку lightdm”
linux_enable="YES"
dbus_enable="YES"
hald_enable="YES"
lightdm_enable="YES"
kld_list="nvidia nvidia-modeset linux"
.
Ответ или решение
Если у вас возникают проблемы с запуском Xorg на FreeBSD после установки драйверов NVIDIA и drm-kmod, стоит пройтись по ряду шагов и рекомендаций, чтобы решить эту проблему. Данная инструкция поможет вам в устранении неполадок, основываясь на описанных вами ошибках.
1. Убедитесь в Совместимости Драйверов
Во-первых, важно убедиться, что вы используете совместимую версию FreeBSD и драйверов NVIDIA. Вы упомянули, что скорее всего используете FreeBSD 12.2-RELEASE. Чтобы избежать возможных проблем, можете рассмотреть возможность использования другой версии, например, 12.1-RELEASE или даже CURRENT.
2. Установка и Конфигурация drmk-kmod
Вы упомянули о проблемах с drm-kmod. В некоторых случаях drm-коды могут быть не до конца исправны, что может приводить к сбоям при загрузке Xorg. Рекомендуется собрать drm-kmod из портов:
cd /usr/ports/graphics/drm-kmod
make install clean
3. Добавление Пользователя в Группу Видео
Убедитесь, что ваш пользователь добавлен в группу video
. Это можно сделать с помощью следующей команды:
# pw group mod video -m your_username
Замените your_username
на ваше имя пользователя.
4. Настройка /etc/rc.conf
В файле конфигурации /etc/rc.conf
необходимо добавить нужные параметры:
kld_list="nvidia nvidia-modeset i915kms"
dbus_enable="YES"
hald_enable="YES"
Если вы используете LightDM, не забудьте добавить:
lightdm_enable="YES"
5. Создание Конфигурационного файла Xorg
Вы упомянули, что команда nvidia-xconfig
вернула ошибку «no screens found». Попробуйте создать конфигурационный файл вручную, так как это может помочь Xorg корректно определять видеоустройства. Например:
- Сначала выполните команду для получения базового файла конфигурации:
X -configure
- Затем откройте файл
/root/xorg.conf
и внесите данные в/etc/X11/xorg.conf
, добавив раздел с данными оBusID
. Пример:
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BusID "PCI:4:0:0" # Используйте правильный BusID из вашего вывода
EndSection
6. Загрузка Модулей
После всех изменений попытайтесь загрузить необходимые модули и перезагрузить систему:
kldload nvidia-modeset
Затем перезагрузите FreeBSD:
reboot
7. Проверка Логов
Если Xorg все еще не запускается, внимательно изучите логи, находящиеся в /var/log/Xorg.0.log
, на предмет других ошибок и предупреждений. Это может дать вам дополнительную информацию о том, что происходит не так.
Заключение
Следуя этим шагам, вы должны устранить основные проблемы, связанные с запуском Xorg на FreeBSD с использованием драйвера NVIDIA. Убедитесь, что все модули загружаются корректно, а ваш пользователь имеет все необходимые права для работы с графической подсистемой. Если проблемы сохраняются, может потребоваться более детальная диагностика с помощью сообществ FreeBSD и NVIDIA для выявления специфических ошибок.