Intereting Posts
как я могу сбросить статистику батареи для powermanager? Различия между GNOME 2 и GNOME 3 rEFInd показывает несколько Ubuntu после обновления как запустить диспетчер пакетов, поскольку я не могу его запустить, и отображается ошибка. Как создать домашнюю папку для песочницы с AuFS Попытка установить tp-link лучник T2U на ubuntu Почему при установке Ubuntu существует опция пропуска? Как сделать графические изображения на моем терминале? Лучший способ выбрать окно из GNOME-3? g ++ скомпилированное приложение не работает Ни приостановить, ни спящий режим в 12.10 lubuntu – есть ли временное решение по сценариям? Как просматривать текстовые файлы на Launchpad raw? sudo: невозможно установить stat / etc / sudoers: нет такого файла или каталога – Файл существует Что делать, если я устанавливаю Ubuntu на ноутбуке с разделом восстановления? Переместить окно с дисплея: 0.0 до отображения: 10.0?

Нет vga / vgaswitcheroo in / sys / kernel / debug (Ubuntu 13.10)

Я знаю некоторые из других тем по этой проблеме, но я пробовал варианты, найденные в них без успеха:

sudo su cat /sys/kernel/debug/vgaswitcheroo/switch 

дает

 cat: /sys/kernel/debug/vgaswitcheroo/switch: No such file or directory 

Может быть, потому, что мой xorg.conf настраивает только устройство Intel?

/sys/kernel/debug похоже, монтируется, и у меня нет каких-либо причудливых параметров загрузки:

 cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-3.11.0-15-generic.efi.signed root=UUID=8a15962e- ad4d-4eb0-96af-37d167313e92 ro quiet splash vt.handoff=7 

Для режимов я имею:

 cat /sys/module/i915/parameters/modeset -1 

Не совсем уверен, что это проблема или нет? Но я также попробовал загрузиться с параметрами i915.modeset=1 radeon.modeset=1 и проверял, что в этом режиме действительно 1. Я также проверил mount | grep /sys/kernel/debug mount | grep /sys/kernel/debug показано, как mount | grep /sys/kernel/debug

 none on /sys/kernel/debug type debugfs (rw) 

так что это правильно установлено.

lshw -C display показывает:

  *-display description: VGA compatible controller product: Haswell-ULT Integrated Graphics Controller vendor: Intel Corporation physical id: 2 bus info: pci@0000:00:02.0 version: 09 width: 64 bits clock: 33MHz capabilities: msi pm vga_controller bus_master cap_list rom configuration: driver=i915 latency=0 resources: irq:60 memory:f0000000-f03fffff memory:e0000000-efffffff ioport:5000(size=64) *-display description: Display controller product: Sun XT [Radeon HD 8670A/8670M/8690M] vendor: Advanced Micro Devices, Inc. [AMD/ATI] physical id: 0 bus info: pci@0000:06:00.0 version: 00 width: 64 bits clock: 33MHz capabilities: pm pciexpress msi bus_master cap_list rom configuration: driver=radeon latency=0 resources: irq:65 memory:d0000000-dfffffff memory:f0400000-f043ffff ioport:3000(size=256) memory:f0440000-f045ffff 

Мое ядро, похоже, скомпилировано с правильными параметрами:

 grep -i switcheroo /boot/config-* /boot/config-3.11.0-12-generic:CONFIG_VGA_SWITCHEROO=y /boot/config-3.11.0-15-generic:CONFIG_VGA_SWITCHEROO=y 

Так почему vgaswitcheroo нужно vgaswitcheroo ?

Я нашел это

 There are two versions of hybrd graphics: MUXed and MUX-less. MUXed have a display MUX to switch the displays between the discrete and integrated cards. MUXed systems can be switched using vgaswitcheroo. MUX-less do not have a display MUX and the displays are only connected to the integrated card. On MUX-less systems, the discrete card is solely for rendering, not display. X Server 1.14 is required to support rendering and display from different cards. Most new laptops (2011+) are MUX-less. 

Поэтому я думаю, что очень вероятно, что моя система (будучи совсем недавно ноутбуком) MUX-less (т. Е. Только карта Intel фактически подключена к дисплею), и хотя я могу «переключиться» через AMD Catalyst Control Centre (должен ли я быть достаточно храбрым / глупым, чтобы установить fglrx ), это на самом деле просто: «Высокая производительность» -> аутсорсинг жестких графических вычислений для dGPU, затем перенаправить их обратно через iGPU для отображения, «Низкая производительность / хорошая батарея» -> делать вычисления на iGPU , затем отправьте его прямо на дисплей. У меня также нет возможности переключать GPU в BIOS, что также предлагает MUX-less .

Таким образом, я, вероятно, никогда не смогу использовать VGA switcheroo.

Еще одно соображение заключается в том, что драйвер radeon официально не поддерживает мою карту (кодовое название 8670M «Солнечная система серии Mars XT», чтобы не путать с OLAND). Таким образом, когда я загружаюсь с драйверами с открытым исходным кодом, я получаю такие сообщения, как « No screens found для radeon. Учитывая, что switcheroo нуждается в Radeon и Intel, как там, это может быть как-то неудачно, потому что драйвер Radeon не поддерживает мою карту.

Если это так, это приводит к вопросу о том, как переключаться между картами ATI / Intel (без fglrx ) в системе без MUX-less .


Согласно этому


БЕСПРОВОДНЫЕ СИСТЕМЫ

Первое, что вам нужно сделать, это включить ваш дискретный графический процессор, если он не включен:

 # echo ON > /sys/kernel/debug/vgaswitcheroo/switch 

Убедитесь, что это сработало, снова выпустив эту команду:

 # cat /sys/kernel/debug/vgaswitcheroo/switch 

Теперь нам нужно знать идентификаторы, назначенные xrandr на ваши карты. Повторите это как обычный пользователь, а не root:

 $ xrandr --listproviders Providers: number : 3 Provider 0: id: 108 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs: 4 associated providers: 2 name:Intel Provider 1: id: 69 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 0 associated providers: 2 name:radeon Provider 2: id: 69 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 0 associated providers: 2 name:radeon 

В моем случае 3 карты попадают в список. Обратите внимание, что оба варианта 1 и 2 имеют одинаковый идентификатор. В этом случае моя дискретная карта имеет идентификатор 69, а моя встроенная карта имеет идентификатор 108.

Последнее, что нам нужно, чтобы сказать X, использовать ваш дискретный графический процессор для рендеринга:

 $ xrandr --setprovideroffloadsink 69 108 

Если первым номером является ваша дискретная карта, а вторая – ваша интегрированная карта. Чтобы убедиться, что это сработало:

 $ DRI_PRIME=1 glxinfo | grep renderer OpenGL renderer string: Gallium 0.4 on AMD TURKS 

Вы должны получить Gallium 0.4 в качестве рендерера. С этого момента все ваши 3D-приложения будут отображаться на вашей карте ATI, не нужно перезапускать X.

Работал в моем lenovo u400 с kubuntu 13.10.