Оборудование

Какие видеокарты лучше всего работают на Linux?

Лучше всего "из коробки" работают драйверы интегрированных видеокарт Intel. На втором месте дискретные видеоадаптеры AMD актуальных поколений.

Как правильно установить драйверы для видеокарт NVIDIA?

Существует несколько вариантов проприетарных драйверов NVIDIA:

Как правильно установить драйвер CUDA для видеокарт NVIDIA?

Драйверы CUDA входят в комплект основных проприетарных драйверов, хотя и не устанавливаются по умолчанию:

Как установить стандартный драйвер видеокарт NVIDIA?

Подключим репозитории RPM Fusion.

Загрузим все обновления системы:

sudo dnf upgrade --refresh

Установим стандартные драйверы:

sudo dnf install gcc kernel-headers kernel-devel akmod-nvidia xorg-x11-drv-nvidia xorg-x11-drv-nvidia-libs xorg-x11-drv-nvidia-power nvidia-settings

Если используется 64-битная ОС, но требуется запускать ещё и Steam и 32-битные версии игр, установим также 32-битный драйвер:

sudo dnf install xorg-x11-drv-nvidia-libs.i686

Подождём 3-5 минут и убедимся, что модули были успешно собраны:

sudo akmods --force

Пересоберём образ initrd:

sudo dracut --force

Активируем systemd-юниты для корректной работы спящего режима и гибернации:

sudo systemctl enable nvidia-{suspend,resume,hibernate}

Произведём перезагрузку системы для вступления изменений в силу:

sudo systemctl reboot

Более подробная информация доступна здесь.

Как установить стандартный драйвер видеокарт NVIDIA для более старых видеокарт?

Подключим репозитории RPM Fusion.

Загрузим все обновления системы:

sudo dnf upgrade --refresh

Установим стандартные драйверы из LTS ветки 470.xx для более старых видеокарт:

sudo dnf install gcc kernel-headers kernel-devel akmod-nvidia-470xx xorg-x11-drv-nvidia-470xx xorg-x11-drv-nvidia-470xx-libs xorg-x11-drv-nvidia-470xx-power nvidia-settings-470xx

Если используется 64-битная ОС, но требуется запускать ещё и Steam и 32-битные версии игр, установим также 32-битный драйвер:

sudo dnf install xorg-x11-drv-nvidia-470xx-libs.i686

Подождём 3-5 минут и убедимся, что модули были успешно собраны:

sudo akmods --force

Пересоберём образ initrd:

sudo dracut --force

Активируем systemd-юниты для корректной работы спящего режима и гибернации:

sudo systemctl enable nvidia-{suspend,resume,hibernate}

Произведём перезагрузку системы для вступления изменений в силу:

sudo systemctl reboot

Более подробная информация доступна здесь.

Как установить стандартный драйвер видеокарт NVIDIA для устаревших видеокарт?

Подключим репозитории RPM Fusion.

Загрузим все обновления системы:

sudo dnf upgrade --refresh

Установим стандартные драйверы из LTS ветки 390.xx для устаревших видеокарт:

sudo dnf install gcc kernel-headers kernel-devel akmod-nvidia-390xx xorg-x11-drv-nvidia-390xx xorg-x11-drv-nvidia-390xx-libs nvidia-settings-390xx

Если используется 64-битная ОС, но требуется запускать ещё и Steam и 32-битные версии игр, установим также 32-битный драйвер:

sudo dnf install xorg-x11-drv-nvidia-390xx-libs.i686

Подождём 3-5 минут и убедимся, что модули были успешно собраны:

sudo akmods --force

Пересоберём образ initrd:

sudo dracut --force

Произведём перезагрузку системы для вступления изменений в силу:

sudo systemctl reboot

Более подробная информация доступна здесь.

Как установить драйвер видеокарт NVIDIA для ноутбуков?

Начиная с Fedora 31 и версии проприетарного драйвера 435.xx, технология NVIDIA Optimus поддерживается в полной мере "из коробки". Устаревшие поколения видеокарт (ниже серии 700) работать не будут.

Подключим репозитории RPM Fusion и установим стандартный драйвер NVIDIA.

Для запуска приложения на дискретном видеоадаптере передадим ему следующие переменные окружения __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia:

__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia /path/to/game/launcher

Здесь вместо /path/to/game/launcher укажем путь к бинарнику, который требуется запустить.

Более подробная информация доступна здесь.

Как установить драйвер CUDA для современных видеокарт NVIDIA?

Установим проприетарные драйверы NVIDIA для современных поколений видеокарт.

Установим пакеты с набором библиотек CUDA:

sudo dnf install xorg-x11-drv-nvidia-cuda xorg-x11-drv-nvidia-cuda-libs

Если используется 64-битная ОС, но требуется запускать ещё и 32-битные версии ПО, использующие CUDA для работы, установим также 32-битный драйвер:

sudo dnf install xorg-x11-drv-nvidia-cuda-libs.i686

Как установить драйвер CUDA для более старых видеокарт NVIDIA?

Установим проприетарные драйверы NVIDIA для более старых поколений видеокарт.

sudo dnf install xorg-x11-drv-nvidia-470xx-cuda xorg-x11-drv-nvidia-470xx-cuda-libs

Если используется 64-битная ОС, но требуется запускать ещё и 32-битные версии ПО, использующие CUDA для работы, установим также 32-битный драйвер:

sudo dnf install xorg-x11-drv-nvidia-470xx-cuda-libs.i686

Как установить драйвер CUDA для устаревших видеокарт NVIDIA?

Установим проприетарные драйверы NVIDIA для устаревших поколений видеокарт.

sudo dnf install xorg-x11-drv-nvidia-390xx-cuda xorg-x11-drv-nvidia-390xx-cuda-libs

Если используется 64-битная ОС, но требуется запускать ещё и 32-битные версии ПО, использующие CUDA для работы, установим также 32-битный драйвер:

sudo dnf install xorg-x11-drv-nvidia-390xx-cuda-libs.i686

После установки драйверов NVIDIA возникает чёрный экран. Что делать?

Если по окончании установки и перезагрузки вместо окна входа в систему появится чёрный экран, то в загрузчике добавим через пробел следующие параметры ядра:

rd.drivers.blacklist=nouveau nouveau.modeset=0

Также необходимо зайти в модуль настройки UEFI BIOS компьютера или ноутбука и либо отключить, либо настроить функцию Secure Boot, т.к. при обычной установке модули ядра проприетарного драйвера не имеют цифровой подписи, поэтому не могут быть загружены в данном режиме и, как следствие, возникнет чёрный экран.

Как удалить проприетарные драйверы NVIDIA?

Удалим стандартные драйверы всех типов:

sudo dnf remove \*nvidia\*

Пересоберём образ initrd, а также конфиг Grub 2.

Как настроить проприетарные драйверы NVIDIA для работы с Secure Boot?

См. здесь.

Как правильно установить драйверы для видеокарт AMD?

Установка драйверов для видеокарт AMD (ATI) не требуется, т.к. и amdgpu (современные видеокарты), и radeon (устаревшие модели) входят в состав ядра Linux.

Как активировать OpenCL на видеокартах AMD из состава AMDGPU-Pro драйвера?

AMD предоставляет поддержку OpenCL на своих видеокартах в проприетарных драйверах AMDGPU-Pro, которые выпускаются только для Ubuntu LTS, RHEL/CentOS, а также SLED/SLED, поэтому на Fedora работать не будут.

Вместо OpenCL для кодирования и декодирования мультимедиа можно использовать VA-API, который работает "из коробки".

Как установить ROCm -- открытую реализацию OpenCL на видеокартах AMD?

Установим пакеты ROCm из главного репозитория Fedora:

sudo dnf install rocminfo rocm-opencl

Установим утилиту hashcat, которую будем использовать для проверки работоспособности OpenCL-стека:

sudo dnf install hashcat

Запустим hashcat в режиме теста производительности:

hashcat -b

Если тест прошёл успешно, всё было успешно установлено и настроено.

Внимание! На данный момент ROCm не поддерживает работу с графическими приложениями, такими как рендер Cycles в Blender, однако работа в этой области ведется.

Работа данного открытого OpenCL-стека не гарантируется на всех моделях видеокарт AMD Radeon.

На что в первую очередь следует обратить внимание при выборе ноутбука для 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, rtl8821ce и 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;

  • picocom;

  • minicom.

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

screen /dev/ttyS0 115200

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

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

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

Если при попытке подключения появляется сообщение об ошибке access denied, необходимо добавить аккаунт в группу dialout.

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

Большинство "переходников" из цифры в аналог (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

Запустим тест CPU из состава sysbench:

sysbench --test=cpu --cpu-max-prime=20000 --num-threads=$(nproc) run

Запустим тест CPU из состава stress-ng:

stress-ng --cpu $(nproc) --cpu-method matrixprod --metrics --timeout 60

Запустим тест CPU из состава openssl:

openssl speed -multi $(nproc)

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

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

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.1.run
chmod +x Unigine_Superposition-1.1.run
./Unigine_Superposition-1.1.run

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

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

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

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

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

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

Осуществим установку группы @hardware-support, содержащей весь необходимый набор:

sudo dnf install @hardware-support

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

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

journalctl -b | grep firmware

Можно ли использовать несколько дисплеев с разным разрешением?

Да. Дисплеи с разным разрешением поддерживаются как X11, так и Wayland в полной мере и настраиваются либо в графическом режиме средствами установленной графической среды, либо через xrandr.

Можно ли использовать несколько дисплеев с разным значением DPI?

Дисплеи с разным значением DPI (PPI) не поддерживаются в X11 (но будут в будущем полноценно поддерживаться в Wayland), поэтому для вывода изображения на таких конфигурациях применяется одна из двух конфигураций:

  • upscale (базовым выставляется наиболее низкое значение DPI);

  • downscale (базовым выставляется наиболее высокое значение DPI).

Оба этих метода далеки от совершенства, что сильно портит качество изображения. Таким образом, при выборе нескольких мониторов следует убедиться в том, чтобы их DPI были одинаковыми.

Как настроить сканер?

Установим пакет sane-backends, содержащий драйверы поддерживаемых сканеров:

sudo dnf install sane-backends sane-backends-drivers-scanners

Перезапустим приложения, поддерживающие работу со сканерами, для вступления изменений в силу.

При помощи какого приложения можно осуществлять сканирование документов?

Для работы со сканерами существует приложение XSane. Установим его:

sudo dnf install xsane

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

Как получить информацию о состоянии HDD или SSD накопителя?

Подробную информацию о состоянии накопителя можно получить из вывода системы самодиагностики S.M.A.R.T. при помощи утилиты smartctl.

Установим её:

sudo dnf install smartmontools

Запустим утилиту:

sudo smartctl -a /dev/sda

Здесь вместо /dev/sda следует указать устройство, информацию по состоянию которого требуется вывести.

Как улучшить цветопередачу монитора, либо дисплея ноутбука?

Для улучшения цветопередачи рекомендуется загрузить и установить соответствующий данной ЖК матрице цветовой профиль (ICC profile).

Где найти ICC профиль для установленного в моём мониторе или ноутбуке дисплея?

ICC профиль можно получить либо на сайте производителя устройства, либо извлечь из набора драйверов дисплея для Windows, либо найти готовый, созданный на специальном оборудовании.

Большое количество готовых цветовых профилей для ноутбуков, созданных на специальном калибровочном оборудовании, можно найти на сайте Notebook Check.

Я нашёл цветовой профиль для дисплея. Как мне его установить в систему?

Пользователям KDE необходимо открыть Параметры системы -- Оборудование -- Цветовая коррекция, перейти на вкладку Профили, нажать кнопку Добавить профиль, указать ICC-файл на диске, после чего подвердить установку. Теперь на вкладке Устройства можно заменить стандартный цветовой профиль на только что установленный. Также его можно назначить по умолчанию для всех пользователей системы (потребуется доступ к sudo).

Пользователи Gnome должны установить утилиту Gnome Color Manager, после чего импортировать и применить загруженный ICC-файл.

Изменения вступают в силу немедленно.

Нужно ли использовать TLP для оптимизации работы батареи?

На современных поколениях ноутбуков использовать TLP не следует, т.к. контроллеры аккумуляторных батарей способны самостоятельно контролировать уровень заряда и балансировать износ ячеек.

Если всё же требуется установить предел заряда например от 70% до 90%, вместо TLP лучше один раз воспользоваться фирменной утилитой производителя устройства, задать необходимые настройки и сохранить изменения в NVRAM материнской платы. В таком случае они будут работать в любой ОС.

Как определить какой движок используется для вывода трёхмерной графики?

Воспользуемся утилитой glxinfo для вывода информации об используемом OpenGL движке:

glxinfo | grep -E 'OpenGL version|OpenGL renderer'

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

Получим версию микрокода из вывода /proc/cpuinfo:

cat /proc/cpuinfo | grep microcode | uniq

Как отключить вертикальную синхронизацию для одного приложения?

На видеокартах NVIDIA с установленным проприетарным драйвером отключить вертикальную синхронизацию для одного приложения можно посредством установки переменной окружения __GL_SYNC_TO_VBLANK значения 0:

__GL_SYNC_TO_VBLANK=0 /usr/bin/foo-bar

Как сбросить настройки экрана в KDE?

Настройки экрана хранятся внутри JSON файлов в каталоге ~/.local/share/kscreen, поэтому для того, чтобы их сбросить, достаточно очистить его:

rm -f ~/.local/share/kscreen/*

Изменения вступят в силу при следующем входе в систему.

Как сбросить настройки звука?

В Fedora настройками звука управляет PulseAudio, поэтому для того, чтобы сбросить его настройки, удалим всё содержимое каталога ~/.config/pulse:

rm -f ~/.config/pulse/*

Для вступления изменений в силу перезапустим PulseAudio:

systemctl --user restart pulseaudio.service

Сразу после этого все настройки звука будут сброшены на установленные по умолчанию.

Как ускорить кодирование видео с использованием видеокарт NVIDIA?

Для этого нужно установить ffmpeg, а также проприетарные драйверы NVIDIA из репозиториев RPM Fusion.

Использование NVENC:

ffmpeg -i input.mp4 -acodec aac -ac 2 -ab 128k -vcodec h264_nvenc -profile high444p -pixel_format yuv444p -preset default output.mp4

Использование CUDA/CUVID:

ffmpeg -c:v h264_cuvid -i input.mp4 -c:v h264_nvenc -preset slow output.mkv

Здесь input.mp4 — имя оригинального файла, который требуется перекодировать, а в output.mp4 будет сохранён результат.

Больше информации можно найти здесь.

Как запустить игру из Steam на дискретной видеокарте с поддержкой Optimus?

Актуальные версии клиента Steam поддерживают технологию NVIDIA Optimus "из коробки" если установлен проприетарный драйвер Bumblebee.

Чтобы запустить игру на дискретной видеокарте, нажмём правой кнопкой мыши по нужной игре в Библиотеке, выберем пункт контекстного меню Свойства, нажмём кнопку Установить параметры запуска и в открывшемся окне введём команду.

Для современных драйверов Optimus:

__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia %command%

Сохраним изменения, нажав OK и Закрыть.

Теперь данная игра будет всегда запускаться на дискретном видеоадаптере ноутбука.

Корректно ли работает Wayland на видеокартах NVIDIA?

Из-за того, что NVIDIA отказывается поддержать существующие технологии вывода в Wayland, на видеокартах этого производителя базовая поддержка появилась лишь в проприетарных драйверах версии 470.xx и выше.

Так как с данной реализацией до сих пор наблюдаются проблемы у многих пользователей, для активации поддержки сеанса на базе Wayland в GDM добавим символ комментария (#) перед строкой WaylandEnable=false в файле /etc/gdm/custom.conf и произведём перезагрузку.

Как правильно установить драйверы Wi-Fi модулей Broadcom?

Подключим репозитории RPM Fusion, затем произведём установку драйвера:

sudo dnf upgrade --refresh
sudo dnf install gcc kernel-devel kernel-headers akmod-wl

Убедимся, что драйверы установились корректно:

sudo akmods --force

Перезагрузим систему:

sudo systemctl reboot

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

Включим автоматический запуск systemd-юнита:

sudo systemctl enable --now bluetooth.service

Отредактируем файл конфигурации /etc/bluetooth/main.conf:

sudoedit /etc/bluetooth/main.conf

Активируем автоматическое подключение доверенных устройств при запуске:

[Policy]
AutoEnable=true

Любым способом определим HW-адрес устройства (отображается как при поиске, так и в списке подключённых), затем войдём в консоль настройки Blueooth сервера:

bluetoothctl

Получим список сопряжённых устройств:

paired-devices

Если нужное нам оборудование c HW AA:BB:CC:DD:EE:FF уже числится в списке, удалим его:

remove AA:BB:CC:DD:EE:FF

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

scan on
scan off

Назначим доверенным:

trust AA:BB:CC:DD:EE:FF

Произведём сопряжение и осуществим подключение:

pair AA:BB:CC:DD:EE:FF
connect AA:BB:CC:DD:EE:FF

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

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

Для принудительной остановки накопителя на жёстких магнитных дисках воспользуемся утилитой hdparam:

sudo hdparam -y /dev/sda

Здесь /dev/sda -- устройство диска, который требуется остановить. Перед выполнением команды необходимо размонтировать все разделы, расположенные на нём.

Внимание! Внезапная остановка HDD может привести к выходу его из строя. Следует использовать её на свой страх и риск.

Как установить таймаут остановки жёсткого диска?

Воспользуемся утилитой hdparam для установки таймаута бездействия, по истечении которого накопитель будет автоматически остановлен:

sudo hdparam -S 300 /dev/sda

Здесь 300 -- интервал неактивности в секундах, а /dev/sda -- устройство диска, который будет остановлен.

На мониторе отображаются артефакты уже закрытых окон. Как исправить?

Остаточное отображение элементов уже закрытых окон является вполне нормальным явлением для большинства IPS матриц. Этот эффект называется "послесвечением" или "ghosting".

Некоторые матрицы могут программно подавлять его за счёт постоянной внутренней перерисовки, но большинство не предпринимают ничего.

Послесвечение не является гарантийным случаем, поэтому перед покупкой рекомендуется проверять матрицу монитора на наличие этого эффекта.

Как проверить оперативную память компьютера?

Каждый Live образ Fedora содержит специальную утилиту memtest86+, однако она требует загрузки в Legacy режиме (UEFI не поддерживается).

Для проверки выполним следующее:

  1. осуществим загрузку с DVD/USB в Legacy режиме;

  2. в меню выберем вариант Memory test;

  3. выберем однопоточный, либо многопоточный режим (на многих процессорах многопоточный приводит к зависаниям системы, поэтому лучше выбирать однопоточный);

  4. запустим тест и подождём несколько часов (рекомендуется выполнять тестирование в течение как минимум 8-12 часов для выявления всех возможных дефектов памяти);

  5. по окончании нажмём Esc для выхода и перезагрузки компьютера.

Как войти в веб-интерфейс CUPS?

Система печати CUPS предоставляет возможность входа через веб-интерфейс, который запущен локально на 127.0.0.1:631.

Для административных операций в качестве логина и пароля используется данные либо учётной записи любого пользователя с правом доступа к sudo, либо суперпользователя.

Можно ли заставить принтер HP P1102 работать на свободных драйверах?

Да, это возможно.

Удалим hplip:

sudo dnf remove hplip\*

Установим стандартные драйверы принтеров:

sudo dnf install foomatic-db foomatic-db-ppds

Установим пакет с необходимыми утилитами:

sudo dnf install foo2zjs foo2xqx

Запустим модуль настройки CUPS (графический из используемой DE, либо веб-интерфейс), выберем из списка наше устройство с суффиксом driverless, осуществим стандартные настройки и завершим процедуру.

Теперь принтер сможет работать без использования проприетарных плагинов и прошивок.

Можно ли исправить проблему с троттлингом ноутбуков ThinkPad?

См. здесь и здесь.

Как установить драйвер сетевой карты на чипе rtl8821ce?

К сожалению, Wi-Fi модули на базе чипа rtl8821ce входят в число проблемных, поэтому для их корректной работы необходимо установить сторонний драйвер при помощи dkms.

Отключим технологию UEFI Secure Boot, т.к. она полностью блокирует возможность загрузки неподписанных модулей.

Произведём полное обновление системы до актуальной версии:

sudo dnf upgrade --refresh

Установим пакеты git, dkms, компилятор GCC, а также исходники и заголовочные файлы ядра Linux:

sudo dnf install git gcc dkms kernel-devel kernel-headers

Загрузим rtl8821ce с GitHub:

git clone --depth=1 https://github.com/tomaspinho/rtl8821ce.git rtl8821ce

Скопируем содержимое rtl8821ce в общий каталог хранения исходников, где они будут доступны для dkms:

sudo cp -r rtl8821ce /usr/src/rtl8821ce-v5.5.2_34066.20200325

Запустим сборку модуля ядра и установим его:

sudo dkms add -m rtl8821ce -v v5.5.2_34066.20200325
sudo dkms build -m rtl8821ce -v v5.5.2_34066.20200325
sudo dkms install -m rtl8821ce -v v5.5.2_34066.20200325

Здесь v5.5.2_34066.20200325 -- версия модуля rtl8821ce, которая может быть получена из файла rtl8821ce/include/rtw_version.h (без учёта суффикса BTCOEXVERSION).

Перезагрузим систему для вступления изменений в силу:

sudo systemctl reboot

Теперь Wi-Fi адаптер должен появиться в системе и начать корректно функционировать.

Как обновить или удалить драйвер сетевой карты на чипе rtl8821ce?

При выходе новой версии драйвера rtl8821ce рекомендуется сначала удалить старый, затем с нуля установить новую версию.

Удалим старый драйвер при помощи dkms:

sudo dkms remove rtl8821ce/v5.5.2_34066.20200325 --all

Удалим старые исходники:

sudo rm -rf /usr/src/rtl8821ce-v5.5.2_34066.20200325

Здесь v5.5.2_34066.20200325 -- версия установленного в системе модуля rtl8821ce.

Загрузим и установим новую версию по стандартной инструкции.

Как установить драйвер сетевой карты на чипе rtl8812au?

К сожалению, Wi-Fi модули на базе чипа rtl8812au входят в число проблемных, поэтому для их корректной работы необходимо установить сторонний драйвер при помощи dkms.

Отключим технологию UEFI Secure Boot, т.к. она полностью блокирует возможность загрузки неподписанных модулей.

Произведём полное обновление системы до актуальной версии:

sudo dnf upgrade --refresh

Установим пакеты git, dkms, компилятор GCC, а также исходники и заголовочные файлы ядра Linux:

sudo dnf install git gcc dkms kernel-devel kernel-headers

Загрузим rtl8812au с GitHub:

git clone --depth=1 https://github.com/gnab/rtl8812au.git rtl8812au

Скопируем содержимое rtl8812au в общий каталог хранения исходников, где они будут доступны для dkms:

sudo cp -r rtl8812au /usr/src/rtl8812au-v4.2.3

Запустим сборку модуля ядра и установим его:

sudo dkms add -m rtl8812au -v v4.2.3
sudo dkms build -m rtl8812au -v v4.2.3
sudo dkms install -m rtl8812au -v v4.2.3

Здесь v4.2.3 -- версия модуля rtl8812au, которая может быть получена из файла rtl8812au/include/rtw_version.h.

Перезагрузим систему для вступления изменений в силу:

sudo systemctl reboot

Теперь Wi-Fi адаптер должен появиться в системе и начать корректно функционировать.

Как обновить или удалить драйвер сетевой карты на чипе rtl8812au?

При выходе новой версии драйвера rtl8812au рекомендуется сначала удалить старый, затем с нуля установить новую версию.

Удалим старый драйвер при помощи dkms:

sudo dkms remove rtl8812au/v4.2.3 --all

Удалим старые исходники:

sudo rm -rf /usr/src/rtl8812au-v4.2.3

Здесь v4.2.3 -- версия установленного в системе модуля rtl8812au.

Загрузим и установим новую версию по стандартной инструкции.

Как получить информацию об установленной оперативной памяти?

Установим утилиту dmidecode:

sudo dnf install dmidecode

Выведем информацию об установленной оперативной памяти:

sudo dmidecode -t memory

Какие драйверы необходимы для работы аппаратного ускорения декодирования мультимедиа?

Реализация аппаратного ускорения декодирования мультимедиа доступна на следующих видеокартах:

Как активировать VA-API на видеокартах AMD?

Начиная с версии 22.2.0, поддержка аппаратного декодирования патентованных форматов видео (H.264, H.265 и т.д.) была удалена из mesa в Fedora 37 и выше из-за патентных ограничений.

Для повторной активации вырезанных функций произведём замену базовых драйверов полными версиями.

Как активировать VA-API на видеокартах Intel?

Для полноценной работы модуля аппаратного декодирования мультимедиа подключим репозитории RPM Fusion и установим драйверы libva-intel-driver (i915) и intel-media-driver (iHD):

sudo dnf install libva-intel-driver intel-media-driver

Как активировать VA-API на видеокартах NVIDIA?

Т.к. NVIDIA использует VDPAU для аппаратного декодирования мультимедиа, для активации VA-API, установим особый драйвер-конвертер libva-vdpau-driver:

sudo dnf install libva-vdpau-driver

В случае использования свободного драйвера nouveau, включим также поддержку декодирования патентованных форматов в mesa.

Как активировать декодирование патентованных форматов в mesa?

Подключим репозитории RPM Fusion и произведём замену стандартных пакетов mesa с драйверами их полными версиями:

sudo dnf swap mesa-va-drivers mesa-va-drivers-freeworld --allowerasing
sudo dnf swap mesa-vdpau-drivers mesa-vdpau-drivers-freeworld --allowerasing

Перезагрузим систему для вступления изменений в силу:

systemctl reboot

Как вывести информацию о состоянии батареи ноутбука?

Для вывода информации об используемых аккумуляторных батареях, воспользуемся утилитой upower:

upower -i /org/freedesktop/UPower/devices/battery_BAT0

Если в устройстве их более одной, вместо BAT0 укажем следующую по порядку.

Как включить управление воспроизведением с Bluetooth-наушников?

За управление воспроизведением при помощи D-Bus событий отвечает служба MPRIS.

В первую очередь убедимся, что используемый медиа-проигрыватель его поддерживает. В большинстве случаев необходимо и достаточно просто включить модуль MPRIS в настройках. В VLC например включён "из коробки".

Установим утилиту mpris-proxy из пакета bluez.

sudo dnf install bluez

В случае необходимости провести отладку подключения, запустим mpris-proxy вручную:

mpris-proxy

Для того, чтобы сервис запускался автоматически при старте системы, создадим systemd-юнит:

mkdir -p ~/.config/systemd/user
touch ~/.config/systemd/user/mpris-proxy.service

Откроем файл ~/.config/systemd/user/mpris-proxy.service в любом текстовом редакторе и добавим следующее содержимое:

[Unit]
Description=Forward bluetooth midi controls via mpris2 so they are picked up by supporting media players

[Service]
Type=simple
ExecStart=/usr/bin/mpris-proxy

[Install]
WantedBy=multi-user.target

Установим правильный контекст безопасности SELinux:

restorecon -Rv ~/.config/systemd/user

Обновим список доступных пользовательских юнитов systemd:

systemctl --user daemon-reload

Активируем сервис mpris-proxy и настроим его автоматический запуск:

systemctl --user enable --now mpris-proxy.service

Как включить поддержку Bluetooth-кодеков высокого качества в PulseAudio?

В репозиториях Fedora модули звукового сервера PulseAudio для работы с Bluetooth собраны без поддержки AAC, aptX, aptX HD и LDAC ввиду патентных ограничений.

Однако существует форк, в котором добавлена полная поддержка данных кодеков, а также расширены возможности по настройке SBC:

a2dp_sink_sbc: High Fidelity Playback (A2DP Sink: SBC)
a2dp_sink_aac: High Fidelity Playback (A2DP Sink: AAC)
a2dp_sink_aptx: High Fidelity Playback (A2DP Sink: aptX)
a2dp_sink_aptx_hd: High Fidelity Playback (A2DP Sink: aptX HD)
a2dp_sink_ldac: High Fidelity Playback (A2DP Sink: LDAC)
headset_head_unit: Headset Head Unit (HSP/HFP)

Подключим репозиторий RPM Fusion и заменим обычный пакет pulseaudio-module-bluetooth на версию с суффиксом -freeworld:

sudo dnf swap pulseaudio-module-bluetooth pulseaudio-module-bluetooth-freeworld --allowerasing

Перезапустим сервер PulseAudio:

systemctl --user restart pulseaudio.service

Теперь в настройках используемой графической среды, после подключения наушников, выберем необходимый кодек.

Внимание! Выбранный кодек должен поддерживаться наушниками аппаратно.

Как включить поддержку Bluetooth-кодеков высокого качества в PipeWire?

В репозиториях Fedora модули звукового сервера PipeWire для работы с Bluetooth собраны без поддержки AAC, aptX, aptX HD и LDAC ввиду патентных ограничений.

Подключим репозиторий RPM Fusion и установим пакет pipewire-codec-aptx:

sudo dnf install pipewire-codec-aptx

Перезапустим сервер PipeWire:

systemctl --user restart pipewire.service pipewire-pulse.service pipewire-media-session.service

Как настроить многоканальный аналоговый аудиовыход?

В простейшем случае просто выберем в настройках звука используемой рабочей среды профиль Аналоговый объёмный 5.1 выход (2.1, 4.0, 4.1, 5.0, 7.1).

Если же доступен только профиль Cтерео, то, возможно, некоторые выходы звуковой карты зарезервированы для микрофона и линейного входа.

В этом случае запустим утилиту hdajackretask из пакета alsa-tools (при отсутствии установим его -- sudo dnf install alsa-tools), которая позволит нам легко и быстро переназначить выходы звуковой карты в соответствии с текущим подключением устройств вывода звука.

Интерфейс программы прост и интуитивно понятен: выходы определяются по цвету (Green, Pink, Blue и т.д.) и расположению (Rear Side, Front Side и т.д.). Здесь же можно назначить функции разъёмов на передней панели системного блока.

После внесения необходимых изменений нажмём кнопку Install boot override и произведём перезагрузку системы:

sudo systemctl reboot

Теперь в настройках звуковой карты появятся требуемые профили объёмного вывода.

Как проверить дисплей на дефектные пиксели?

Установим утилиту lcdtest из репозиториев Fedora:

sudo dnf install lcdtest

Запустим её из меню приложений на том дисплее, который требуется проверить на дефектные ("битые") пиксели.

Управление программой осуществляется исключительно при помощи клавиатуры.

Нажмём клавишу S, чтобы перейти в режим заливки всего экрана, а затем по очереди произведём переключение основных цветов (в любом порядке):

  • W - заливка белым цветом;

  • R - заливка красным цветом;

  • G - заливка зелёным цветом;

  • B - заливка синим цветом;

  • K - заливка чёрным цветом.

По окончании проверки нажмём клавишу Q для выхода.

Как переключиться с PipeWire на PulseAudio?

Удалим пакет pipewire-pulseaudio и сразу же установим pulseaudio:

sudo dnf swap pipewire-pulseaudio pulseaudio --allowerasing

Для полного вступления в силу изменений осуществим перезагрузку:

sudo systemctl reboot

Как увеличить производительность системы?

См. здесь.

Как включить поддержку TRIM на USB устройствах?

По умолчанию поддержка процедуры TRIM для USB SSD, а также USB HDD с технологией SMR, недоступна, поэтому любые попытки вручную запустить утилиту fstrim приведут к возникновению ошибки fstrim: /media/foo-bar/: the discard operation is not supported.

Чтобы это исправить, создадим специальный файл конфигурации udev, который разрешит использование данной функции для USB-устройств с указанными VID:PID.

Получим значения VID:PID для нужного USB-устройства:

lsusb

Создадим файл конфигурации /etc/udev/50-usb-trim.rules и установим для него корректные права доступа:

sudo touch /etc/udev/50-usb-trim.rules
sudo chown root:root /etc/udev/50-usb-trim.rules
sudo chmod 0644 /etc/udev/50-usb-trim.rules

Откроем данный файл в текстовом редакторе:

sudoedit /etc/udev/50-usb-trim.rules

Добавим по одной строке для каждого USB-устройства, для которого требуется разрешить TRIM:

ACTION=="add|change", ATTRS{idVendor}=="1234", ATTRS{idProduct}=="5678", SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap"

Здесь вместо 1234 укажем VID, а 5678 -- PID, полученные ранее.

Сохраним изменения и перезагрузим правила udev:

sudo udevadm control --reload

Изменения вступят в силу при следующем подключении накопителя.

Как вручную выполнить TRIM на USB устройстве?

Убедимся, что поддержка TRIM на USB устройстве активирована.

Запустим данную процедуру вручную при помощи утилиты fstrim:

sudo fstrim -v /media/foo-bar

Здесь /media/foo-bar -- это точка монтирования.

Как заменить менеджер сессий PipeWire с WirePlumber на альтернативный?

Начиная с Fedora 35, в качестве менеджера сессий PipeWire используется WirePlumber.

При необходимости заменим его любой другой совместимой реализацией, например стандартным pipewire-media-session:

sudo dnf swap wireplumber pipewire-media-session --allowerasing

Произведём перезагрузку для вступления изменений в силу:

sudo systemctl reboot

Как улучшить энергосбережение процессоров AMD?

Многие процессоры AMD с архитектурами Zen2, Zen3 и более новые поддерживают улучшенный механизм переключения тактовой частоты amd-pstate, позволяющий уменьшить энергопотребление за счёт снижения тактовой частоты в простое.

Для его активации пропишем следующий параметр ядра:

amd_pstate=passive

Произведём перезагрузку системы:

systemctl reboot

Для проверки работоспособности воспользуемся утилитой frequency-info из пакета kernel-tools:

sudo dnf install kernel-tools

Выведем подробные сведения о текущем режиме энергосбережения:

cpupower frequency-info

В случае если процессор не поддерживает amd-pstate, будет использован традиционный механизм acpi-cpufreq.