Вопросы, связанные с использованием различного оборудования

На что в первую очередь следует обратить внимание при выборе ноутбука для Linux?

  1. Следует обратить внимание на производителя установленного Wi-Fi модуля.
  2. Не рекомендуется приобретать устройства с гибридной графикой ибо технология NVIDIA Optimus в настоящее время не поддерживается под GNU/Linux официально и работает исключительно посредством Bumblebee от сторонних разработчиков, который часто работает нестабильно.
  3. Ни при каком условии не приобретать ноутбук с видеокартой NVIDIA GeForce GTX 1050.
  4. Перед покупкой рекомендуется исследовать работу свежего Fedora Live USB непосредственно на данном устройстве, а также проверить вывод dmesg на наличие ошибок ACPI.

Как обновить прошивку UEFI BIOS и других устройств непосредственно из Fedora?

Для оперативного обновления микропрограмм (прошивок) существует утилита fwupd:

sudo dnf install fwupd

Внимание! Для работы fwupd система должна быть установлена строго в UEFI режиме.

Обновление базы данных программы:

fwupdmgr refresh

Вывод списка устройств, микропрограмма которых может быть обновлена:

fwupdmgr get-devices

Проверка наличия обновлений с выводом подробной информации о каждом из них:

fwupdmgr get-updates

Установка обнаруженных обновлений микропрограмм:

fwupdmgr update

Некоторые устройства могут быть обновлены лишь при следующей загрузке системы, поэтому выполним перезагрузку:

sudo systemctl reboot

Какие модули Wi-Fi корректно работают в Linux?

Без проблем работают Wi-Fi модули следующих производителей:

  • Qualcomm Atheros (однако ath10k требуют загрузки прошивок из комплекта поставки ядра);
  • Intel Wireless (требуют загрузки индивидуальных прошивок iwl из поставки ядра).

Работают 50/50:

  • Realtek (широко известны проблемы с чипами серий rtl8192cu и rtl8812au);
  • MediaTek (ранее назывался Ralink).

Не работают:

  • Broadcom (для их работы необходима установка проприетарных драйверов, которые часто ведут себя непредсказуемо и могут вызывать сбои в работе ядра системы).

В моём ноутбуке установлена видеокарта NVIDIA GeForce GTX 1050 и после запуска система зависает. Что делать?

Случайные зависания системы, неработоспособность тачпада и других USB устройств - это следствие сбоев при работе свободного драйвера nouveau на данной видеокарте.

В качестве решения необходимо установить проприетарные драйверы по такому алгоритму:

  1. произвести чистую установку систему со свежего Fedora Live USB (respin);
  2. войти в систему, установить все обновления и, не перезагружаясь, выполнить установку проприетарных драйверов Optimus по альтернативному варианту.
  3. выполнить перезагрузку системы.

Если всё сделано верно, то система начнёт функционировать в штатном режиме. В противном случае следует повторить с самого начала.

Как можно навсегда отключить определённый драйвер устройства?

Чтобы навсегда отключить какой-то драйвер в Linux, необходимо создать файл в каталоге /etc/modprobe.d с любым именем, например disable-nv.conf, и примерно таким содержанием:

install nouveau /bin/false

Здесь вместо nouveau нужно указать реально используемые устройством драйверы.

Полный список загруженных драйверов можно получить так:

lspci -nnk

Теперь необходимо пересобрать inird образ:

sudo dracut --force

Чтобы отменить действие, достаточно удалить созданный файл и снова пересобрать initrd.

Модуль настройки сети не отображает беспроводных устройств. Что делать?

Для начала воспользуемся утилитой rfkill для того, чтобы определить состояние беспроводных модулей:

rfkill

Статус hard blocked означает, что устройство отключено аппаратно и требуется включить его определённой последовательностью Fn + Fx (см. руководство ноутбука).

Статус soft blocked означает, что устройство отключено программно, например режимом В самолёте.

Как программно включить или отключить беспроводной модуль Wi-Fi?

Снимем программную блокировку Wi-Fi и активируем модуль:

rfkill unblock wlan

Установим программную блокировку Wi-Fi и отключим модуль:

rfkill block wlan

Как программно включить или отключить беспроводной модуль Bluetooth?

Снимем программную блокировку Bluetooth и активируем модуль:

rfkill unblock bluetooth

Установим программную блокировку Bluetooth и отключим модуль:

rfkill block bluetooth

Как программно включить или отключить беспроводной модуль LTE (4G)?

Снимем программную блокировку LTE (4G) и активируем модуль:

rfkill unblock wwan

Установим программную блокировку LTE (4G) и отключим модуль:

rfkill block wwan

Как правильно работать с COM портами (RS-232)?

Для работы с COM портами (RS-232) можно применять следующие утилиты:

  • screen;
  • putty.

Воспользуемся утилитой screen для подключения к последовательному порту:

screen /dev/ttyS0 115200

Здесь /dev/ttyS0 - путь к первому COM порту в системе, а 115200 - скорость работы в бодах.

Если при подключении вместо текста отображается различный мусор, значит скорость указана не правильно и её следует либо подбирать экспериментально, либо получить из руководства.

Для завершения сессии следует нажать Ctrl + A и k.

При подключении монитора через переходник отображается неправильное разрешение. Как исправить?

Большинство «переходников» из цифры в аналог (DVI-D -> D-SUB, HDMI -> D-SUB и т.д.) не передают данные с монитора о поддерживаемых им разрешениях экрана системе посредством протокола Display Data Channel (DDC), поэтому существует два решения:

Как прописать список поддерживаемых монитором разрешений?

Создадим отдельный файл конфигурации для монитора 10-monitor.conf в каталоге /etc/X11/xorg.conf.d и пропишем доступные разрешения и используемый драйвер.

Сначала посредством запуска утилиты cvt вычислим значение строки Modeline для требуемого разрешения:

cvt 1920 1080 60

Здесь 1920 - разрешение по горизонтали, 1080 - по вертикали, а 60 - частота регенерации.

Теперь создадим конфиг следующего содержания:

Section "Monitor"
    Identifier "VGA1"
    Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
    Option "PreferredMode" "1920x1080_60.00"
EndSection

Section "Screen"
    Identifier "Screen0"
    Monitor "VGA1"
    DefaultDepth 24
    SubSection "Display"
        Modes "1920x1080_60.00"
    EndSubSection
EndSection

Section "Device"
    Identifier "Device0"
    Driver "intel"
EndSection

Вместо intel укажем реально используемый драйвер видеокарты. Изменения вступят в силу при следующей загрузке системы.

Какой бенчмарк можно использовать для оценки производительности системы?

В качестве CPU бенчмарка рекомендуется использовать sysbench, либо stress-ng:

Установим sysbench:

sudo dnf install sysbench

Установим stress-ng:

sudo dnf install stress-ng

Какой бенчмарк можно использовать для оценки производительности видеокарты?

В настоящее время существует несколько бенчмарков:

Glxgears

Установка:

sudo dnf install glx-utils

Запуск:

glxgears

Выводит информацию о кадровой частоте в терминал каждые 5 секунд.

GL Mark 2

Установка:

sudo dnf install glmark2

Запуск:

glmark2

Выводит информацию о кадровой частоте и финальный результат в терминал.

Unigine Benchmark

Установка:

wget https://assets.unigine.com/d/Unigine_Superposition-1.0.run
chmod +x Unigine_Superposition-1.0.run
./Unigine_Superposition-1.0.run

Запускать бенчмарк следует при помощи созданного ярлыка в меню приложений.

Что такое firmware и для чего она необходима?

Firmware - это бинарный проприетарный блоб, содержащий образ прошивки, который загружается и используется определённым устройством.

В большинстве случаев, соответствующее устройство не будет функционировать без наличия данной прошивки в каталоге прошивок ядра Linux.

Где взять бинарные прошивки для устройств и как их установить?

Бинарные прошивки для большей части устройств уже находятся в пакете linux-firmware, но некоторые (например часть принтеров HP), загружают их самостоятельно, либо поставляют внутри отдельных firmware-пакетов.

Как проверить используются ли в моём устройстве бинарные прошивки?

При загрузке бинарных прошивок ядро обязательно сохраняет информацию об этом в системный журнал, поэтому достаточно лишь отфильтровать его по ключевому слову firmware:

journalctl -b | grep firmware