Linux гибридная графика amd nvidia

Linux гибридная графика amd nvidia

A subreddit for discussions and news about gaming on the GNU/Linux family of operating systems (including the Steam Deck).

Hi , i thought there is a need for a guide on that topic. So i will try my best to explain how to properly use dedicated gpu’s for avoiding performance issues. I’m not a native speaker , so bare with my somewhat broken English. Guide will be centric to Ubuntu 18.04 base ( since i’m on Mint 19.1 ) , especially for Nvidia Prime.

First things first ; if you want to do proper gaming with Optimus laptops ; avoid Bumblebee. Web is entirely filled with Bumblebee related topics but it’s outdated , has overhead compared to Prime and most importantly it doesn’t support Vulkan. There are some people who got it working with Vulkan but that guide will be newcomer friendly as possible. So there is no Bumblebee for you 🙂

That guide will assume you are on a clean install due to having more straightforward steps.

Code blocks in that guide will automatically mean usage of terminal.

1-) Check if you have an Optimus laptop or not since some old laptops indeed only have an Nvidia GPU.

lspci | egrep ‘VGA|3D|Display’

That command should return something like this :

00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04) 01:00.0 3D controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] (rev a1)

Congrats , you have an Optimus laptop.

2-) Add this PPA to your system via terminal since that is the easiest way to get latest stable drivers.

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

3-) On Ubuntu you can install Nvidia proprietary driver via » Additional Drivers » section , on Mint you can do that via » Driver Manager» section.

Do note there is no support for some older gpu’s in new driver branches. PPA link has additional infos about it. Refer to that page.

Latest one is 415.27 as the time preparing this guide , let’s go with that.

Don’t forget to install Vulkan:

Enable 32-bit architecture

sudo dpkg —add-architecture i386

sudo apt install libvulkan1 libvulkan1:i386

After installing the driver , you will need to restart your laptop.

Читайте также:  Команда удаления приложения linux

4-) After restart , you should see an Nvidia or Intel icon at your taskbar. If you can’t see it anywhere , install this.

sudo apt-get install nvidia-prime-applet

Click to that icon. You will be greeted with «Nvidia X-server Settings» .

In the » PRIME Profiles » section you will see Nvidia and Intel listed , but one of them selected. Here is the caveat of Prime ( not for me ) , you will need to log out from current session and log in back if you want to switch gpu’s.

If you want to be sure which card is active :

OpenGL renderer string will you give the answer:

direct rendering: Yes OpenGL renderer string: GeForce GTX 1050/PCIe/SSE2

There is a work going on from Nvidia in order to provide proper gpu offloading but until that , Prime is your best bet.

5-) You will see massive tearing everywhere but it has a solution called PrimeSync. In that part ; you will need to change «xed» part to whatever text editor you have.

sudo xed /etc/modprobe.d/zz-nvidia-modeset.conf

Add this line into that file:

options nvidia-drm modeset=1

After applying that modeset change ; run this command:

After restart we need to check if modeset change took effect or not:

sudo cat /sys/module/nvidia_drm/parameters/modeset

If the output is » Y » that means modeset is active for Nvidia driver.

Now we need to learn which connection interface is being used by our laptop screen. That is usually eDP-1-1 but you may never know.

After learning our connection interface , let’s active PrimeSync to get rid of tearing forever.

xrandr —output eDP-1-1 —set ‘PRIME Synchronization’ ‘1’

Boom , there is no tearing.

If you want to compare how it looks like without it :

xrandr —output eDP-1-1 —set ‘PRIME Synchronization’ ‘0’

Let’s add it to our system startup for ease of use.

Search » Startup Applications» on your system. Same on Mint and Ubuntu.

Click » Add » and name it as » PrimeSync» ( or whatever you like ).

Paste this into command section:

«xrandr —output eDP-1-1 —set ‘PRIME Synchronization’ ‘1’»

Set startup delay to «0» ( zero ).

That’s it , you can enjoy tear free gaming with maximum possible performance.

PS: On Arch based distros you can use optimus-manager for Prime.

Intel/AMD systems:

You will need Mesa drivers which they come preinstalled by default.

Читайте также:  Linux запуск terminal от имени администратора

1-) Be sure to use a recent version of Mesa , by adding this PPA to your system. This PPA contains stable Mesa releases.

sudo add-apt-repository ppa:paulo-miguel-dias/pkppa sudo apt-get update

If there will be any updates , update manager of your distro will list them.

Don’t forget to install Vulkan:

Enable 32-bit architecture

sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386

2-) By default , Intel gpu will be responsible for everything unless you say otherwise with that little command:

Go to your library — Right click to any game that you want to run with AMD gpu — Properties — Launch options:

Other apps : Put DRI_PRIME=1 without %command% argument on your executables path , shortcut etc.

3-) Activating experimental AMDGPU support on Southern Islands and Sea Islands gpu’s:

AMDGPU kernel driver is needed to use Vulkan. On Polaris and newer gpu’s it is on by default.

DRI_PRIME=1 glxinfo | grep «OpenGL renderer»

So output of that line will tell us a crucial info.

Southern Islands series: CAPE VERDE, PITCAIRN, TAHITI, OLAND, HAINAN Sea Islands series: BONAIRE, KABINI, KAVERI, HAWAII, MULLINS

If you have a Southern Islands Gpu do the following:

echo ‘GRUB_CMDLINE_LINUX=»$GRUB_CMDLINE_LINUX radeon.si_support=0 amdgpu.si_support=1″‘ | sudo tee /etc/default/grub.d/amdgpu.cfg

If you have a Sea Islands Gpu do the following:

echo ‘GRUB_CMDLINE_LINUX=»$GRUB_CMDLINE_LINUX radeon.cik_support=0 amdgpu.cik_support=1″‘ | sudo tee /etc/default/grub.d/amdgpu.cfg

If you have an AMD + AMD gpu config and one of them belongs to Sea Islands and one of them belongs to Southern Islands:

echo ‘GRUB_CMDLINE_LINUX=»$GRUB_CMDLINE_LINUX radeon.si_support=0 amdgpu.si_support=1 radeon.cik_support=0 amdgpu.cik_support=1″‘ | sudo tee /etc/default/grub.d/amdgpu.cfg

After these changes , restart your system and check if amdgpu is activated or not with this:

Output should look like this:

drivers: modesetting,ati,amdgpu (unloaded: fbdev,vesa)

If something goes wrong ( boot problems , stability problems etc ) boot with recovery mode and do the following:

sudo rm -f /etc/default/grub.d/amdgpu.cfg

Источник

Amd Cpu + Nvidia Gpu hybrid graphics

Всем привет! Приобрел ноутбук ASUS TUF Gaming FX505DT, в нём установлены Ryzen 3750H с графикой RX Vega 10 Graphics и дискретная видеокарта Nvidia Geforce 1650. Можно ли как-то заставить адекватно работать переключение видеокарт? Работает ли сейчас хоть где-то связка встроенной карты от Amd и дискретки от Nvidia? Сейчас установлена Ubuntu 19.10 Beta, вместе с ней ставится драйвер от Nvidia 435.21 (его так же ставил и вручную), но видеокарта от Nvidia не запускается. Nvidia-settings при запуске выводит белое окно с кнопкой Quit, в терминале:

Читайте также:  Chrome os linux window

nvidia-settings:10793): GLib-GObject-CRITICAL **: 13:56:15.077: g_object_unref: assertion ‘G_IS_OBJECT (object)’ failed **

Message: 13:56:15.081: PRIME: No offloading required. Abort **

Message: 13:56:15.081: PRIME: is it supported? no

Чтож.. На просторах интернет нашел одно из решений, привел /usr/share/X11/xorg.conf.d/10-nvidia.conf к такому виду:

тогда начинает работать карта от Nvidia но переключение обратно на Amd возможно только обратным редактированием конфига. При этом производительность в 3D становится нормальной (по счетчику FPS), но постоянно появляются фризы, подлагивание и тд. Так же получаю темный экран на этапе логина, то есть пароль ввожу вслепую, после этого экран загорается. Получается номинально работает, но по факту работа совсем далека от идеала. Что-нибудь с этим можно сделать?

ЗЫ Вариант вернуться в прошлое и купить другой ноутбук не подходит.

Ахах, два стула: встройка амуде с гпу локапами или дискретка с оптимусом.

Когда выбрал и точены, и дрочены.

Тут и Intel/NVIDIA ещё не очень адекватно работают.

Кажется, эти ребята очень любят нетрадиционные конфигурации. Видел у них странное сочетание гиперпня и GeForce MX.

Ну я думал итак понятно, что всё это установлено. Проблема в том, что prime не работает. При nvidia-select query всегда показывается что в работе карта от Nvidia, но по факту работает только встроенная в AMD.

А поставить мало. Надо матчасть почитать.

Прочитал

Матчасть я прочитал. Занимательное чтиво.

Через prime-select видеокарты меняются:

$ glxinfo | grep «OpenGL renderer» OpenGL renderer string: GeForce GTX 1650/PCIe/SSE2

Но дальше происходит самое интересное. Если я через prime-select выставляю профиль intel (очевидно для работы карты AMD), то карта от AMD начинает снова работать, НО, ноутбук начинает шуметь вентиляторами так, словно в душе он маленький боинг. При работе дискретной карты от Nvidia такого нет, но заряд батареи улетает естественно быстрее. То есть парадокс: включаешь дискретку, вентили не крутятся, но ноутбук живет меньше от зарядки. Включаешь встроенную — вентили орут, но ноут живет дольше. Херня смешная, ситуация страшная, как говорится. Чтобы на AMD вентили не шумели, нужно приводить /usr/share/X11/xorg.conf.d/10-nvidia.conf к дефолтному виду, но тогда нельзя переключиться на дискретку.

Попался на те же грабли

К сожалению то же взял такой ноут не подумав что гибрид amd\nvidia в линуксе не сработаются. Надеюсь когда нибудь решение найдется или ноут удастся продать

Источник

Оцените статью
Adblock
detector