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

Дано:  
 
- Операционная система  
- Видеокарты  

Необходимо реализовать:  

Проблема:  
В текущей конфигурации рендеринг изображений осуществляется на видеокарте **Arc A380**, в то время как вывод изображения производится через **UHD Graphics 630**. Это можно увидеть в следующем выводе:  
 
```bash
~$ glxinfo|grep OpenGL\ renderer
OpenGL renderer string: Mesa Intel(R) Arc(tm) A380 Graphics (DG2)
```  

При использовании **Ubuntu на Xorg** система работает визуально достаточно комфортно, однако при переходе на **Wayland** возникают различные артефакты.  

P.S. Во избежание ненужного обсуждения, следует отметить, что рендеринг и вывод изображения только на встроенную графику вызваны тем, что у меня подключены два 2K монитора, что значительно ухудшает производительность **A380**. В ситуации, когда также активно работает программа для численных расчетов, производительность видеокарты падает, что приводит к необходимости подключаться к компьютеру по SSH через локальную сеть для его перезагрузки.
  • 14 октября 2024 г. 12:12
Ответы на вопрос 2
Для изменения основной видеокарты в Linux с использованием Xorg и Wayland вам понадобится выполнить несколько шагов. Ниже приводится общий план действий, который поможет вам переключить рендеринг и вывод на желаемую видеокарту (Arc A380).

### 1. Установка необходимых драйверов

Убедитесь, что у вас установлены последние драйвера для вашей видеокарты Arc A380. Вы можете добавить PPA и установить драйверы, если это еще не сделано:

```bash
sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt update
sudo apt upgrade
```

### 2. Конфигурация Xorg

Если вы используете Xorg, создайте или измените файл конфигурации `/etc/X11/xorg.conf.d/10-nvidia.conf` (или подобный):

```bash
sudo mkdir -p /etc/X11/xorg.conf.d
sudo nano /etc/X11/xorg.conf.d/10-arc.conf
```

Пример конфигурации:

```plaintext
Section "Device"
    Identifier  "Arc A380"
    Driver      "intel"
    BusID       "PCI:0:2:0"  # Замените на соответствующий BusID вашей Arc A380
    Option      "Primary" "true"
EndSection
```

### 3. Для Wayland

Для использования Wayland без использования встроенной графики, вам нужно установить параметры для вашего менеджера заставки и в GRUB. Вот некоторые шаги:

1. **Задание предпочтений Wayland**: вам необходимо убедиться, что параметр для использования Arc A380 установлен в настройках вашего графического окружения (например, через `gsettings`).

   ```bash
   gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gdk/Backend': <'wayland'>}"
   ```

2. **Конфигурация GRUB**: Добавьте необходимые параметры ядра в `/etc/default/grub`, чтобы указать использование вашей видеокарты в качестве главной.

   Пример:

   ```bash
   GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=HDMI-A-1:e"
   ```

   После изменения выполните:

   ```bash
   sudo update-grub
   ```

3. **Перезапустите компьютер** после всех изменений, чтобы применить новую конфигурацию.

### 4. Проверка

После перезагрузки системы проверьте, какая видеокарта используется для рендеринга, с помощью команды:

```bash
glxinfo | grep "OpenGL renderer"
```

Также проверьте выводимое устройство с помощью:

```bash
sudo lspci | grep VGA
```

### 5. Долгосрочные решения

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

### Заключение

Если вы продолжаете сталкиваться с проблемами, возможно, стоит рассмотреть возможность изменения конфигурации оборудования или использования другой операционной системы, лучше оптимизированной для многопоточности и графики.
Несмотря на то, что конкретного ответа на Ваш вопрос у меня нет, в силу, сами понимаете, сложности и разнообразия совокупности настроек и железа, накидаю мыслей. 
У меня арч, поэтому прошу прощения, что буду опираться на его названия пакетов и инструкций. но вы легко проведёте аналогию для .deb-системы.

Первым делом я убедился бы, что используется vulkan, чистый wayland (без xwayland), а качестве драйвера - intel-media-driver (iHD). Просто есть еще libva-intel-driver (i965, для деб систем есть еще libva-intel-driver-non-free), он считается устаревшим и на моем сетапе с недавних пор на нем перестало работать hardware acceleration. А с iHD всё завелось.
Делал по статье:
https://wiki.archlinux.org/title/Vulkan
Вам, думаю, можно обратить внимание на пункт №3.1 - Switching between devices, как отправная точка.

Помимо этого у вулкана есть технология, как раз в рамках Вашей задачи:
(прямая ссылка не вставляется, поэтому криво даю):
www khronos точка org слэш blog/getting-started-with-vulkan-compute-acceleration
Похожие вопросы