LINUX.ORG.RU

Гибридная графика amd и внешний монитор

 , , ,


0

1

Ноутбук HP pavilion dv6 3080-er с гибридной графикой amd. Установлена Ubuntu 18.04 (на 16.04 проблема аналогична). Подключен репозиторий ppa:oibaf/graphics-drivers

dv6@home:~$ lspci | grep VGA
01:05.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RS880M [Mobility Radeon HD 4225/4250]
02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M]
dv6@home:~$ xrandr --listproviders 
Providers: number : 2
Provider 0: id: 0xa5 cap: 0x9, Source Output, Sink Offload crtcs: 2 outputs: 2 associated providers: 1 name:ATI Mobility Radeon HD 4200 @ pci:0000:01:05.0
Provider 1: id: 0x48 cap: 0x6, Sink Output, Source Offload crtcs: 6 outputs: 3 associated providers: 1 name:ATI Mobility Radeon HD 5000 Series @ pci:0000:02:00.0
Через HDMI подключаю внешний монитор в режиме «Объединить дисплеи». Соответственно экран ноутбука в настройках ubuntu установлен как основной. Для удобства работы в настройках делаю основным внешний монитор. Теперь при запуске видео на внешнем мониторе (в браузере, в smplayer) ужасно падает fps, видео показывается отрывисто как «слайдшоу». При этом если окно не закрывая перенести на монитор ноутбука — все работает хорошо.

Окно терминала расположено на внешнем мониторе:

dv6@home:~$ glxgears
1080 frames in 5.9 seconds = 183.815 FPS
6 frames in 6.0 seconds =  1.000 FPS
6 frames in 6.0 seconds =  1.000 FPS
5 frames in 5.0 seconds =  1.000 FPS
6 frames in 6.0 seconds =  1.000 FPS

Окно терминала расположено на мониторе ноутбука:

dv6@home:~$ glxgears
1527 frames in 5.3 seconds = 289.936 FPS
240 frames in 5.0 seconds = 47.845 FPS
300 frames in 5.0 seconds = 59.817 FPS
300 frames in 5.0 seconds = 59.847 FPS
300 frames in 5.0 seconds = 59.836 FPS

При отключенном мониторе ноутбука (режим только внешний монитор) проблема та же. Мне для работы нужно, чтобы работал только внешний монитор. Пытался разбираться сам, запускал программы через DRI_PRIME=1 не помогло. По форуму искал, есть похожие темы, но не нашел нигде решения. Помогите разобраться!



Последнее исправление: sibakt (всего исправлений: 2)
Ответ на: комментарий от Behem0th

Вот результат

dv6@home:~$ glxinfo | grep Open
OpenGL vendor string: X.Org
OpenGL renderer string: AMD RS880 (DRM 2.50.0 / 4.15.0-20-generic, LLVM 6.0.0)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.2.0-devel
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 18.2.0-devel
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 18.2.0-devel
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

dv6@home:~$ DRI_PRIME=1 glxinfo | grep Open
OpenGL vendor string: X.Org
OpenGL renderer string: AMD REDWOOD (DRM 2.50.0 / 4.15.0-20-generic, LLVM 6.0.0)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.2.0-devel
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.1 Mesa 18.2.0-devel
OpenGL shading language version string: 1.40
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.2.0-devel
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
sibakt
() автор топика
Ответ на: комментарий от sibakt

Ну 3д вроде работает. А декодирование видео в smplayer через что идет? Может попереключать и посмотреть что будет. По выставлять там X11, OpenGL, vdpau, vaapi(не помню умеет или нет).

Попробуй DRI_PRIME=1 прописать в глобальные переменные чтоб ДЕ стартовал на дискретной видюхе.

Behem0th ★★★★★
()
Последнее исправление: Behem0th (всего исправлений: 1)
Ответ на: комментарий от Behem0th

Попробуй DRI_PRIME=1 прописать в глобальные переменные чтоб ДЕ стартовал на дискретной видюхе.

Подскажите как это сделать?

sibakt
() автор топика
Ответ на: комментарий от Behem0th

А декодирование видео в smplayer через что идет? Может попереключать и посмотреть что будет. По выставлять там X11, OpenGL, vdpau, vaapi(не помню умеет или нет)

Устройство вывода в smplayer было выставлено «По умолчанию». Попробовал, помогло, видео не лагает только с параметрами «X11» и «xv»

sibakt
() автор топика

Наткнулся на вот этот комментарий Перейти на полную работу через дискретную видеокарту Radeon (комментарий)

Потом почитал еще вот тут: http://forum.ubuntu.ru/index.php?topic=233561.msg1827423#msg1827423

В итоге в файле /etc/environment добавил строку vblank_mode=0, перезагрузился и внешний монитор заработал как нужно, даже при отключенном встроенном.

sibakt
() автор топика

У тебя там не гибридная графика, никакой DRI_PRIME=1 не нужен, и гугли насчёт Legacy-драйверов, ибо железу уже лет восемь.

djambeyshik ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.