Как настроить графику на линукс

Обновлено: 04.07.2024

При использовании домашнего или офисного компьютера под управлением Linux-системы часто хочется получить от него максимальную отдачу, повысив производительность. Это особенно важно для тех компьютеров, которые одновременно используются для майнинга. Чтобы увеличить производительность системы, нужно устанавливать более мощные компоненты, отвечающие за проведение вычислений, а также уменьшать нагрузку за счет отключения/уменьшения нагрузки за счет ненужных и второстепенных приложений/служб.

Одним из элементов, потребляющим значительную часть ресурсов компьютера, является его графическое окружение (если оно используется). В связи с этим стоит уделить внимание максимальному увеличению его быстродействия, которое прямо связано с количеством задействованных для его работы служб и приложений. Для этого нужно хорошо понимать,как работает отображение графики в операционной системе — дистрибутиве Linux.

Программные компоненты, обеспечивающие работу графического окружения в Linux

Для работы с графическим окружением компьютера под управлением linux, используется модульный принцип совместного использования программ, что дает пользователю гибкость в выборе компонентов и их настройке. Для обеспечения функционирования графической среды (или DE, сокращение от Desktop Environment) в операционных системах семейства Linux обычно используется три основных компонента:

Компоненты графической системы linux (слайд с Youtube-канала AcademyOfNetworking):


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

Механизм функционирования графической системы в Linux на основе X-Window (источник: сайт itproffi):


Работа дисплейного менеджера в операционных системах на основе ядра Linux

Основными задачами, которые выполняет дисплейный менеджер (менеджер доступа/экрана, диспетчер отображения), являются:

  • запуск окна приветствия (greeter) чтобы пользователь смог выбрать аккаунт и выбрать тип сессии, которую он желает использовать;
  • предоставление возможности выполнить аутентификацию (ввод логина для учетной записи и пароля) с помощью подключаемых модулей (PAM). Фактически это оконный аналог приглашения командной строки getty, которая используется в Linux при работе в консольном режиме;
  • запуск оконных процессов для сессии пользователя после прохождения им аутентификации (запуск сервера экрана и загрузка рабочего стола);
  • предоставление опций удаленного ввода логина и пароля.

Дисплейный менеджер создает интерфейс (кнопки и поля) для последующего запуска оконного менеджера, а также обеспечивает возможность выключения компьютера, выводит информацию о версии дистрибутива linux, текущем времени, предоставляет другие опции и возможности. Проще говоря, менеджер дисплеев — это контролер сеансов пользователя, проверяющий их на знание логина.

Исходя из задач, которые выполняет Display Manager, его основными качествами должны быть:

  • поддержка разных оконных менеджеров (рабочих столов) и технологий работы с дисплеями (например, X, Mir, Wayland и другие);
  • удобство и простота пользования;
  • малое количество потребляемых ресурсов;
  • предоставление возможности работы в гостевой сессии (при необходимости);
  • поддержка работы с удаленным подключением (например, по протоколу VNC, XDCMP и другими).

Существует множество менеджеров дисплея, одним из лучших является LightDM (сокращение от английского словосочетания Light Display Manager — легкий менеджер дисплея):


lightDM используется по умолчанию в качестве дисплейного менеджера в таких Linux-дистрибутивах, как Xubuntu, Ubuntu 11.10+, Kubuntu, Edubuntu, Fedora, Xubuntu, LinuxMint и других.

LightDM поддерживает работу с несколькими рабочими столами и многими надстройками (легко расширяем). Он работает на основе движка с открытым исходным кодом WebKit, поэтому отображает интерфейс входа в систему как HTML-страницу, что не требует много ресурсов. Развитие lightdm ведется усилиями сообщества на Github.

Окна приветствия (greeters) для LightDM разрабатываются на альтернативной основе. В xubuntu это приложение GTK+ Greeter, которое отличается скромными требованиями к потреблению ресурсов. Если в системе используется автоматический логин, то Greeter не нужен.

Установка LightDM (в случае его отсутствия в системе) производится командой:

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

Остановка работающего менеджера X с помощью lightdm делается командой

запуск lightdm производится командой

Файлы конфигурации lightdm находятся в каталогах

В xubuntu он работает в паре с сервером X и оконным менеджером xfwm4.

Работа оконного менеджера в дистрибутивах Linux

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

Кроме тройки часто использющихся компонентов (дисплейный и оконный менеджер, сервер X), для работы в графическом окружении Linux используются дополнительные программы, обеспечивающие функционал рабочего стола, например, кнопки пуска (стартового меню), панели, виджетов, программного обеспечения, эмулятора терминала (xfce4-terminal), файловый менеджер и другие программы.

Как работает сервер X Window

Система X Window (X11 или просто X) предназначена для отображения базовой графики. Более продвинутые графические возможности для пользователя создаются приложениями графического окружения DE (в xubuntu это среда xfce4) .

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

X-Window отвечает за базовый функционал графической среды на низком уровне. Для работы графического окружения в Linux еще нужны оконный и дисплейный менеджеры плюс (при необходимости) другие программы.

Взаимодействие X-сервера и клиентских приложений осуществляется с помощью протокола X через драйвера, которые обеспечивают непосредственную работу с устройствами ввода-вывода. К устройствам ввода относятся клавиатура, мышь и другие, а к устройствам вывода — видеокарты, монитор и т. д.

Посмотреть, какие компоненты на компьютере связаны с сервером X можно командой

Установка xorg при его отсутствии делается командой

Конфигурирование сервера X в консольном окружении делается командой

В результате в директории /etc/X11/ появится конфигурационный файл xorg.conf.

В системе, уже работающей в графическом окружении, при попытке выполнить эту команду появится ошибка Fatal server error: (EE) Server is already active for display 0. If this server is no longer running, remove /tmp/.X0-lock and start again.

Запуск X-сервера делается командой

можно вывести информацию об окне, с которым работает сервер X:


можно посмотреть информацию о версии x-сервера,и его возможностям.

Если на компьютере, работающей в консольном режиме запустить сервер X, то уже можно ограниченно работать с оконными программами, использовать мышь и клавиатуру.

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

Это связано с тем, что для видеокарт Nvidia для включения опций разгона и управления температурным режимом используются настройки файла xorg.conf из директории /etc/X11/, в то время как Ubuntu-подобные системы для этого используют конфигурационные файлы, находящиеся в каталоге /usr/share/X11/xorg.conf.d/


Продвинутая настройка требуется, если нужно использовать нестандартную конфигруацию, например, Internal GPU или видеокарту AMD для работы xserver (вывода видео), а GPU Nvidia — задействовать для CUDA-вычислений с включенными опциями разгона.

Разные способы настройки видеокарт nvidia, AMD и Intel осложняют их совместное использование в Linux. При работе в сложной конфигурации необходимо работать с конфигурационными файлами X-сервера, точно указывая параметры работы видеокарт, прописывая мониторы к которым они подключены, даже если они виртуальные.

Структура конфигурационного файла xorg.conf

xorg.conf состоит из нескольких секций, разделенных словами section и end section, которые определяют порядок взаимодействия с устройствами ввода-вывода:мышью, клавиатурой и дисплеем, например:

  • Module — отвечает за подключение/загрузку модулей вместе с x-сервером, которые расширяют функциональность драйверов видеокарты;
  • ServerLayout — определяет имена устройств ввода и вывода информации для рабочей сессии сервера Xorg (мыши, клавиатуры и экрана);
  • InputDevice — разделы, необходимые для работы с мышью и клавиатурой. Для каждого устройства создается свой раздел;
  • Device — раздел, касающийся установленного на компьютере графического оборудования, драйверов;

Вид секции Device для видеокарты GeForce GTX 1060 3GB:

  • Monitor — определяет настройки экрана мониторов, в частности, частоты горизонтальной развертки (HorizSync) и вертикального обновления (VertRefresh), разрешение экрана. Для корректной работы X-сервера обязательно должна указываться информация об идентификаторе монитора, опции его работы, например, DPMS для автоматического отключения монитора для энергосбережения;

Пример автоматически сгенерированной секции Monitor при отсутствии монитора, подключенного к видеокарте:

  • Screen — определяет настройки дисплея как аппаратной связки монитора и графического адаптера, описанных в разделах более низкого уровня (Device и Monitor). Указанные в этом разделе настройки в процессе работы используются менеджером дисплеев;

Как видно из примера, в секции Screen для видеокарты, соответствующей номеру Screen0, прописаны ссылки на разделы Device0 и Monitor0, которые стоят ниже по иерархии, чем раздел Screen. Драйвер видеокарты будет работать корректно, если информация, указанная во всех этих разделах будет коррелировать.

Изменения, внесенные в автоматическом режиме командой nvidia-xconfig в файл xorg.conf, вступают в силу после перезапуска X-сервера. Как уже упоминалось ранее, в сложных аппаратных конфигурациях необходимо вручную корректировать xorg.conf, в противном случае графическое окружение не запустится, или будет работать некорректно. Эта тема будет рассматриваться в отдельной статье.

Вам также может понравиться


Майнинг в Китае и его влияние на крипторынок

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

Самый популярный PPA-репозиторий со свежайшим графическим стеком. Соответственно, используете вы его на свой страх и риск, так как в нём нет ничего стабильного. В этом репозитории находятся свежие версии Xorg, Mesa, свободных графических драйверов и так далее. Подключение:

sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update && sudo apt-get upgrade

В этом репозитории находятся более стабильные, но одновременно свежие версии свободных графических драйверов, которые также имеют поддержку Wine Gallium-Nine и многое многое другое. Подключение:

sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt-get update && sudo apt-get upgrade

Proprietary GPU Drivers

Данный репозиторий - новичок, но настоящий must have для всех, у кого видеокарта Nvidia. Здесь находятся самые свежие версии проприетарного драйвера для этих видеокарт. Подключение:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

Далее откройте менеджер драйверов, и там выберите желаемую версию драйвера


2) Установка патченого ядра.

В некоторых ситуациях, увеличить производительность игр, помогает установка модифицированного ядра. К примеру ядро Linux-RT (ядро реального времени), на моей конфигурации. дало мне прибавку в 12 FPS в некоторых играх. Данное ядро есть в стандартных репозиториях Ubuntu, и ставится командой:

sudo apt install linux-image-rt

Также положительный эффект могут дать ядра PF-Kernel и Zen-Kernel, о которых я говорил в недавней заметке.

3) Потоковая оптимизация (только для Nvidia с проприетарным драйвером).

Nvidia - лучший друг Линуксоида, когда речь заходит о 3D и играх. И начиная с драйвера версии 310, в нём появилась возможность серьёзно увеличить производительность, включив многопоточный рендеринг. По умолчанию данная опция не включена, так как есть приложения, которые не работают с ней (например игра Metro Last Light). Включить эту опцию можно следующими способами:

  • Вручную: в терминале командой export __GL_THREADED_OPTIMIZATIONS=1 ;
  • Автоматически при запуске системы: открыть файл /etc/profile и в конец вставить строку __GL_THREADED_OPTIMIZATIONS=1 ;
  • Запускать приложение с этим параметром: например __GL_THREADED_OPTIMIZATIONS=1 steam , либо в самом Steam указать данную опцию в параметрах запуска игры: __GL_THREADED_OPIMIZATIONS=1 %command%

4) Запуск в отдельном X-сервере (или в отдельных иксах).

Это давний способ увеличить производительность игры, а также решить проблему со сворачиванием игры (не все они нормально сворачиваются, некоторые перестают работать. В прочем, для Windows проблема также актуальна). Для этого:

sudo nano /etc/X11/Xwrapper.config

Меняем параметр allowed_users=console на allowed_users=anybody и сохраняем. Это нужно для того, чтобы можно было запускать X-сервер от пользователя, а не root. Далее необходимо добавить себя в группу audio, иначе звука в отдельных иксах не будет:

usermod -G audio -a имяпользователя

Далее редактируем файл

/.Xauthority, для этого в консоли:
xauth
list

Увидим что-то вроде

blind.local:0 MIT-MAGIC-COOKIE-1 e087ead1f80cd5d35b6bd273222d1feb
[fe80::204:61ff:fe9e:c083]:0 MIT-MAGIC-COOKIE-1 e087ead1f80cd5d35b6bd273222d1feb
blind/unix:0 MIT-MAGIC-COOKIE-1 e087ead1f80cd5d35b6bd273222d1feb

Буквенно-цифровое окончание будет другим.
Пишем там же, вставив своё значение:

add :1.0 MIT-MAGIC-COOKIE-1 e087ead1f80cd5d35b6bd273222d1feb

Запуск производится следующей командой:

xinit /путь/до/исполняемого/файла/игры $* -- :1

Например: xinit /usr/games/steam $* -- :1

Запустится отдельная сессия X, и запустится указанное приложение. Переключение обратно в режим рабочего стола производится комбинацией Ctrl+Alt+F7, вторые иксы будут (в моём случае) на F2. Альтернативный вариант: переключиться на любую свободную консоль (F1-F6), залогиниться, и запустить приложение командой:

startx /путь/до/исполняемого/файла/игры -- :1

sudo apt install openbox

Теперь создаём файл:

и туда записываем:

у вас запустится оконный менеджер Openbox, из которого вы уже можете запустить любое приложение. Если вы хотите, чтобы например Steam стартовал автоматически при запуске Openbox, сделайте так:

Сохраните. Теперь Стим будет запускаться автоматически, а вы можете легко перключаться между сеансами. ВНИМАНИЕ: у себя в KDE на Debian 8, я обнаружил баг, при котором после перехода в основные иксы и обратно на дополнительные, появлялись сильнешие графические артефакты в некоторых играх, а сам Стим отрисовывался кусками. Способа решения проблемы я не нашёл. Если вы знаете - напишите в комментариях, я добавлю в статью.

Соответственно, вместо Steam, вы можете добавить PlayOnLinux, если запускаете виндовые игры через него

5) Отключение графических эффектов (композитинга) для полноэкранных приложений.

Если вы используете KDE или Cinnamon, рекомендую отключить полноэкранный композитинг. В KDE: Параметры системы - Эффекты - Дополнительно - Поставить галочку на "Отключить графические эффекты для полноэкранных окон"


Для Cinnamon: Настройки - Общие - Отключить композитинг для полноэкранных окон


Вот и всё. Конечно это не избавит от проблемы кривых портов игр. Там уже вина разработчика игры. Но тем не менее, всё описанное здесь, неоднократно проверено и даёт весьма нехилый прирост производительности. Приятных игр!

Здравствуйте. Купил системник. Поставил дебиан. А графика никакущаяя. Графика встроеная Gallium 0.4 on llvmpipe (LLVM 3.9, 128 bits). Где мне взять дрова?


VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:15dd] (rev c8) Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:15dd] 08:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:15de]


Просто дрова у тебя уже и так должны быть.

Vsevolod-linuxoid ★★★★★ ( 21.06.18 02:21:05 )
Последнее исправление: Vsevolod-linuxoid 21.06.18 02:25:08 (всего исправлений: 1)

У тебя Raven Ridge? Если да, то ставь ядро из backports и linux-firmware-nonfree.

Да Raven Ridge. А какое ядро? (Я новичёк в linux).

Эффект стекла. Крупные значки. Ну это как винду без дров использовать)

linux-image-amd64 linux-image-amd64-dbg Эти пакеты надо ставить? Я оба их поставил)

Добавляешь бэкпорты:
в /etc/apt/sources.list добавь строку

в другие строки желаетльно дописать contrib non-free, если там не указано.
Создай файл /etc/apt/preferences.d/prefs , если не хочешь чтоб весь софт обновился до версий из бэкпортов, с таким содержимым:

apt update
apt install
apt install linux-image-amd64 linux-headers-amd64 firmware-amd-graphics firmware-linux-nonfree -t stretch-backports


Первый и так стоит по умолчанию (это ядро), а второй — это отладчик для ядра.


Я не понял, что ты имеешь в виду. Выложи куда-нибудь скриншот. И сообщи свое разрешение монитора.

Скриншот не выйдет, этот эффект при скроле.

Кстати, сначало было 1980 на 1080 после обновления биоса стало 1024 на 768

Что вообще должно было произойти?

У меня в GRUB лучше графика!))) А в оси кал(


Должно было произойти чудо и все бы стало норм. Но тут ты опять попал.

Мне, кстати, так же интересно увидеть ЧТО ты имеешь ввиду под хреновой графой. Сними видос с тлф, выложи на dropmefiles, глянем.


И, почему именно дебиан и именно девятый? Для новых железок, да еще и без опыта — лучше воткнуть последнюю убунту, какой бы она глючной не была. Это, например и мой путь. Сначала была убунта, а затем, уже с болемене пониманием вопроса, дебианчик.

Покажи свой /etc/apt/sources.list

Должны были поставиться новое ядро и фирмварь.

Блин вы когда-нибудь смотрели через стекло?) Если по приседать ту можно увидеть небольшое искажение. Это было на советских стёклах точно)))Ща попробую.


Поприседать? Не надо, лучше видос запиши с тлф ))

GNU nano 2.7.4 Файл: sources.list

deb cdrom:[Debian GNU/Linux 9.3.0 _Stretch_ - Official amd64 xfce-CD Binary-1 20171209-12:11]/ stretch main

Переходим на Ubuntu


Как настроить Ubuntu для игр

Как настроить Ubuntu для игр

С ростом популярности Ubuntu в частности и Linux в целом всё более доступными становятся игры на Linux, даже те, которые официально поддерживаются только на Windows. Сегодня мы расскажем, как превратить машину с Ubuntu 20.04 в игровую станцию.

Перед началом необходимо выполнить обновление всех компонентов системы, для этого выполните:

При необходимости (если попросит система), перезагрузите компьютер по завершении выполнения этих команд.

Шаг 1. Установка драйверов видеокарты

Сначала нужно установить проприетарные драйвера видеокарты с поддержкой GPU. Тип драйвера будет зависеть от установленной видеокарты.

Для видеокарт nVidia:

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

По завершении работы команд перезагрузите компьютер.

Добавьте возможность устанавливать 32-разрядные приложения и установите драйвера видеокарты и библиотеку Vulkan для них:

По завершении работы команд перезагрузите компьютер.

Шаг 2. Установка последней версии Wine

Поскольку большинство игр, к сожалению, продолжают выпускаться только на Windows, необходимо установить эмулятор Wine. Для этого выполняем следующие команды:

После установки Wine перезагрузка не требуется.

Шаг 3. Установка последней версии Lutris

Игровой клиент Lutris позволяет автоматизировать сценарии установки игр под Linux. Для его установки выполните следующие команды:

Шаг 4. Установка и настройка Steam

Если вы игрок, вам не нужно объяснять, что такое Steam и зачем он нужен. Установить Steam в Ubuntu проще простого, для этого выполните команду:


После этого нужно будет перезапустить Steam.

Шаг 5. Включение игрового режима

В Ubuntu 20.04 появился игровой режим. Запущенное в этом режиме приложение позволяет переводить процессоры CPU и GPU в режим повышенной производительности (т.е. фактически отключает режим экономии энергии).

По умолчанию gamemode установлен в Ubuntu 20.04, но если этого пакета нет, его можно установить командой:


Игровой режим в Lutris

В открывшемся окне перейдите на вкладку System options, установите флажок Show advanced options в нижней части, а затем введите gamemoderun в поле Command prefix.

Читайте также: