LINUX.ORG.RU

Какая видяха работает

 , , , ,


0

2

В ноуте 2 видюхи - Radeon HD 6320 и HD 7470M. Дрова 13.35

Как понять какая в какой момент какая работает? В ССС показывается только 6320, о 7470 даже упломинания нет.

~$ lspci
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 14h Processor Root Complex
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Wrestler [Radeon HD 6320]
00:01.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Wrestler HDMI Audio
00:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 14h Processor Root Port
00:11.0 SATA controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (rev 40)
00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:12.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:13.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 SMBus Controller (rev 42)
00:14.1 IDE interface: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 IDE Controller (rev 40)
00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 Azalia (Intel HDA) (rev 40)
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 LPC host controller (rev 40)
00:14.4 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 PCI to PCI Bridge (rev 40)
00:14.5 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
00:15.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0)
00:15.1 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] SB700/SB800/SB900 PCI to PCI bridge (PCIE port 1)
00:16.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:16.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 12h/14h Processor Function 0 (rev 43)
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 12h/14h Processor Function 1
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 12h/14h Processor Function 2
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 12h/14h Processor Function 3
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 12h/14h Processor Function 4
00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 12h/14h Processor Function 6
00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 12h/14h Processor Function 5
00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 12h/14h Processor Function 7
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Seymour [Radeon HD 6400M/7400M Series]
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
04:00.0 Network controller: Qualcomm Atheros AR9485 Wireless Network Adapter (rev 01)

убрать CCC, поставить опенсорсные дровишки и использовать DRM_PRIME

daemonpnz ★★★★★ ()
Ответ на: комментарий от daemonpnz

Я не могу ждать по 2 минуты открытия каждого окошка, поэтому опенсорсные дровишки мне не подходят.

Suntechnic ★★★★★ ()

Как понять какая в какой момент какая работает?

На какой иксы запустил такая и будет «работать». glxinfo в помощь.

qiomi ()
Ответ на: комментарий от qiomi

Я правильно понял что 6320 http://pastebin.com/7Vnbve1p ?

Т.е. AMD тоже не придумала как их на лету переключать? Ок. А как тогда вообще отрубить 6320 и чтобы все время работала 7470?

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

Я правильно понял что 6320 http://pastebin.com/7Vnbve1p ?

Правильно.

Т.е. AMD тоже не придумала как их на лету переключать?

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

На говноблобе amd вроде костыля нет, только переключалка

Ок. А как тогда вообще отрубить 6320 и чтобы все время работала 7470?

В Catalyst должна быть переключалка (с перезагрузкой иксов), но что делать чтобы этот кусок говна работал я не знаю. Удачи тебе, она тебе пригодится.

qiomi ()
Ответ на: комментарий от qiomi

Ну и нга блобах вроде как иксы вообще вроде как могут работать только с одним драйвером одновременно.

Тут пояснение: речь идет о том, что если есть два монитора и один подключен к дискретке а другой к интеграшке (не ноутбучная конфигурация конечно), то с блобами это не работает никак.

qiomi ()
Ответ на: комментарий от qiomi

Да... походу это вторая и последняя моя AMD. Зря попробовал даже ((( В ноуте должен быть Intel, на десктопе nvidia.

У меня даже нет этого переключателя карт в каталисте (((

Suntechnic ★★★★★ ()
Ответ на: комментарий от qiomi

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

Suntechnic ★★★★★ ()
Ответ на: комментарий от qiomi

Сюрприз в том, что я переключился сейчас на свободные и ничего не тормозит. А как понять сейчас какая карта работает и как переключать их на свободных?

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

Понять, что работает — glxinfo.

Переключиться примерно так (я рассказываю как у меня на оптимусе).

  • xrandr --listproviders покажет две видеокарты. У обоих, наверное, будет «name:radeon».
  • На одной из строк будет упоминание «Sink Offload» (это интеграшка), у другой — «Source Offload» (это дискретка).
  • Запоминаешь ID каждой (шестнадцатиричное число).
  • Потом — xrandr --setprovideroffloadsink <ID дискретки> <ID интеграшки>.

Это настройка, её нужно делать на каждом старте иксов.

Потом запускаешь ресурсоёмкое приложение как DRI_PRIME=1 <приложение, аргументы, ...> (т. е. с DRI_PRIME=1 в переменных окружения).

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

xrandr --listproviders покажет две видеокарты. У обоих, наверное, будет «name:radeon».

$ xrandr --listproviders
Providers: number : 3
Provider 0: id: 0x78 cap: 0x9, Source Output, Sink Offload crtcs: 2 outputs: 3 associated providers: 2 name:radeon
Provider 1: id: 0x43 cap: 0x6, Sink Output, Source Offload crtcs: 4 outputs: 0 associated providers: 2 name:radeon
Provider 2: id: 0x43 cap: 0x6, Sink Output, Source Offload crtcs: 4 outputs: 0 associated providers: 2 name:radeon
Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

Почему у тебя три строки, я не знаю, но ID в последних двух один и тот же. Интеграшка — 0x78, дискретка — 0x43.

Пишешь xrandr --setprovideroffloadsink 0x43 0x78, потом DRI_PRIME=1 glxinfo и радуешьсяматеришься, потому что что-то пошло не так.

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

Если честно, я теперь не пойму как увидеть какая карточка юзается в glxinfo. Теперь там ничего о ней нет...

А вообще вырубить интеграшку нельзя?

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

Ну скинь вывод, на pastebin куда-нибудь.

А вообще вырубить интеграшку нельзя?

Нет. Смотри — «Source Offload crtcs: 4 outputs: 0». Это означает, что дискретка физически не подключена к видеовыходам. Она может работать только в паре, получая из системы данные и рендеря фреймы в видеопамять интеграшки.

intelfx ★★★★★ ()
Ответ на: комментарий от intelfx

Вот http://pastebin.com/Tp6rUM9Q

Нет. Смотри — «Source Offload crtcs: 4 outputs: 0». Это означает, что дискретка физически не подключена к видеовыходам. Она может работать только в паре, получая из системы данные и рендеря фреймы в видеопамять интеграшки.

Ясно...

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

Собственно:

OpenGL renderer string: Gallium 0.4 on AMD PALM

PALM — это кодовое название текущего GPU. Правда, википедия о нём не знает.

А сделай glxinfo | grep renderer, без DRI_PRIME.

intelfx ★★★★★ ()
Ответ на: комментарий от Suntechnic

Впрочем...

Судя по lspci, у тебя

  • интеграшка — Wrestler
  • дискретка — Seymour

Судя по словам разработчика radeon, PALM == Wrestler. Так что пора материться, что-то сработало не так. Или ты запустил glxinfo без DRI_PRIME=1.

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

Да, последний раз так и запустил! Так что ругаться еще рано. Буду разбираться пока...

Спасибо за помощь!

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

Значит, PRIME работает корректно.

Тогда добавляй xrandr --setprovideroffloadsink в автозагрузку (у меня на арче — /etc/X11/xinit/xinitrc.d) и, наверное, всё заработает...

intelfx ★★★★★ ()
Ответ на: комментарий от intelfx

А id же не меняются при перезагрузке? У меня не меняются.

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

А х его з. Вроде не должны. Кстати, попробуй xrandr --setprovideroffloadsink radeon radeon — может, он сам поймёт, какой из радеонов имеется в виду в каждом случае :)

(т. е. перегрузись, выставь оффлоад-синк этим способом и проверь через glxinfo)

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

Cюрприз в том, что я переключился сейчас на свободные и ничего не тормозит.

А если ты ещё и свежее ядро с месой накатишь и пропишешь R600_DEBUG=hyperz (вроде как может бажить на некоторых картах, увы) в /etc/environment и помониторишь содержание «power_dpm_state» то вообще ничего никогда тормозить не будет.

qiomi ()
Ответ на: комментарий от qiomi

А если ты ещё и свежее ядро

Уже.

с месой

Завтра посмотрю какая, но у меня на десктопе последняя - она обновляется бажно. Приходится руками в два этапа апдейтить пакеты.

пропишешь R600_DEBUG=hyperz

А это чего за зверь?

Suntechnic ★★★★★ ()

Кстати, почему-то память кушается как за здрасти. Еще не разбирался, но почти вся занята уже после входа в сеанс и запуска пары приложений, это при том что там 2Гб. Там под гекртар забито сразу после загрузки...

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

Уже.

Ну тогда убедись, что DPM работает и power_dpm_state для нужной карты выставлена в «performance» (ну или там battery/balanced в зависимости от твоих потребностей).

А это чего за зверь?

Фитча увеличивает производительность 3D, но из-за редких багов на некоторых GPU выключена везде.

qiomi ()
Ответ на: комментарий от qiomi

Ну тогда убедись, что DPM работает

Чо-то не могу догнать как.

А power_dpm_state не могу понять како от нужной карточки:

~$ ls /sys/class/drm
card0           card0-LVDS-1  card1       controlD65  version
card0-HDMI-A-1  card0-VGA-1   controlD64  ttm

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

Чо-то не могу догнать как.

Ну если power_dpm_state у тебя есть значит работает.

А power_dpm_state не могу понять како от нужной карточки:

Скорее всего: card0 это интеграшка card1 это дискретка

Какой state ты хочешь ставить зависит конечно от твоих потребностей, но для большей производительности нужен «performance».

Если нужно лучшее энергосбережение можешь посмотреть в сторону «radeon.runpm=1», если эта фитча у тебя поддерживается и заработает, то дискретка будет обесточиваться пока она не используется через DRI_PRIME=1

qiomi ()
Ответ на: комментарий от qiomi

Не - энергосбережение по барабану как-то. Только вот перестало переключаться, а пару раз вообще не загрузился. Пока не перезагрузился с nomodeset и не «перевыбрал» драйвер в менеджере драйверов.

Меса кстати последняя - 10.3 Обновление из реп прилетело кстати. Может после его установки такая фигня?

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

Точнее как «не переключается» - вообще не запускается ничего. Вот запустить glxgears можно и оно работает. Но стоит его попытаться запустить на дискретке и адью. Оно не только молча не запутится. Оно в соседней консоле теперь тоже не будет запускатся и даже огнелис запускаться перестанет пока не перезагрузишься. Хотя терминал и gedit будут продолжать работать. Вот так вот странно...

Suntechnic ★★★★★ ()
Ответ на: комментарий от qiomi

Ubuntu 14.04 - это родительский ноут, что еще я им туда могу поставить?

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

Тогда даж не знаю что у тебя там могло случится. xorg.conf случайно не залежался от блоба?

qiomi ()
Ответ на: комментарий от qiomi

Короче обновил сегодня mesa - все заработало. Ура!

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

Ну я не стал в этот раз презагружаться, а занялся своими делами... Короче оно не незапускается. Оно запускается очень долго. Т.е. минут по 20-30. И потом как только одна прога с DRI_PRIME=1 запустится - всё - дальше всё пашет нормально.

Suntechnic ★★★★★ ()
Ответ на: комментарий от qiomi

Не знаю поддерживается ли у мея radeon.runpm=1, но очень похоже что radeon.runpm=0 решает проблему с длительным запуском с DRI_PRIME=1

По крайней мере каждый раз когда я гружусь с radeon.runpm=0 этой проблемы еще ни разу не возникло.

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

Не знаю поддерживается ли у мея radeon.runpm=1, но очень похоже что radeon.runpm=0 решает проблему с длительным запуском с DRI_PRIME=1

Ну оно очень недавно появилось ядре, видимо бажное. Если бы это не был «родительский ноут» яб порекомендовал самое последнее ядро отсюда: http://kernel.ubuntu.com/~kernel-ppa/mainline/

Но раз тебе энергосбережение не очень важно можешь просто юзать что работает. :)

qiomi ()
Ответ на: комментарий от qiomi

Да ядро оттуда и стоит. С этим вроде проблем нет. А вот fps в майнкрафте что так, что с DRI_PRIME=1 одинаковый - между 20 и 30.

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

Ну не факт что он и должен быть сильно выше. Главное приимущество дискретки в том что она не жрет оперативку.

qiomi ()
Ответ на: комментарий от qiomi

А как-то compiz можно запустить с DRI_PRIME? В смысле unity. В смысле compiz с unity.

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

По идее «DRI_PRIME=1 compiz --replace» должно сработать.

А вообще можешь в /etc/environment прописать DRI_PRIME=1 и вообще все будет запускаться на дискретке.

qiomi ()

Какая видяха работает

nvidia

anonymous ()
Ответ на: комментарий от qiomi

Тогда уже DRI_PRIME=1 unity --replace

Но мама же моя не будет такого делать. Нужно авто-решение.

А вообще можешь в /etc/environment прописать DRI_PRIME=1 и вообще все будет запускаться на дискретке.

Логично. Но так запустится действительно все. Это не будет хуже чем некоторые приложения на дискретке, а некоторые на встроенной? Ну кроме энергопотребления, понятно. Хотя тоже - греется он зараза.

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic
viktor@parents-laptop:~$ sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +77.0°C  (crit = +99.0°C)

k10temp-pci-00c3
Adapter: PCI adapter
temp1:        +77.4°C  (high = +70.0°C)
                       (crit = +100.0°C, hyst = +97.0°C)

radeon-pci-0008
Adapter: PCI adapter
temp1:        +77.0°C  (crit = +120.0°C, hyst = +90.0°C)

radeon-pci-0100
Adapter: PCI adapter
temp1:        +75.5°C
Suntechnic ★★★★★ ()
Ответ на: комментарий от qiomi

А вообще можешь в /etc/environment прописать DRI_PRIME=1 и вообще все будет запускаться на дискретке.

Не - не получается. Точнее получается но не отрисовывается сеанс пользователя. Входишь через экран входа и все - ничего не прорисовывается. Хотя сеанс стартанул и запустились приложения из автозапуска...

В dmesg ничего нет.

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

Тогда уже DRI_PRIME=1 unity --replace

Unity все ещё плагин компиза, что они внезапно сменили название бинарника?

Но мама же моя не будет такого делать. Нужно авто-решение.

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

qiomi ()
Ответ на: комментарий от qiomi

Unity все ещё плагин компиза, что они внезапно сменили название бинарника?

Хз. Знаю что и так и так можно.

Но это не помогает - эффект тот же - ничего не отрисовывается. Если в ~/.profile добалять - все тоже самое.

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

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