У меня есть ноутбук Lenovo E450 с переключаемой графикой. Тот ноутбук является сертифицированным ноутбуком Ubuntu согласно этому сайту, таким образом, я думал, что он будет работать, и в целом он делает.
Однако ноутбук имеет переключаемую графику (AMD+intel), и я не могу заставить переключение работать.
Я нахожу некоторые устаревшие руководства с 2012 и т.д., но я не хочу пробовать их (новая Ubuntu не работает с собственными драйверами AMD так или иначе).
Я попробовал DRI_PRIME
метод. Это:
$ lspci -nn | grep 'VGA\|ATI'
00:02.0 VGA compatible controller [0300]: Intel Corporation Broadwell-U Integrated Graphics [8086:1616] (rev 09)
05:00.0 Display controller [0380]: Advanced Micro Devices, Inc. [AMD/ATI] Topaz XT [Radeon R7 M260/M265] [1002:6900]
$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x67 cap: 0x9, Source Output, Sink Offload crtcs: 3 outputs: 5 associated providers: 1 name:modesetting
Provider 1: id: 0x3f cap: 0x4, Source Offload crtcs: 0 outputs: 0 associated providers: 1 name:TOPAZ @ pci:0000:05:00.0
$ xrandr --setprovideroffloadsink 0 1
$ glxinfo | grep "OpenGL renderer"
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2)
$ DRI_PRIME=1 glxinfo | grep "OpenGL renderer"
# ...nothing happens...
Когда я выполняю последнюю команду, команда никогда не заканчивалась. Это, кажется, является неубиваемым; ctrl-c, sigterm, sigkill, кажется, не уничтожает процесс, он задерживается в htop
с Z
состояние. Интересно, иногда, компьютерные катастрофические отказы через некоторое время (но это произошло только однажды).
Когда я пытаюсь закрыть компьютер (после выполнения glxinfo с DRI_PRIME), завершение работы никогда не заканчивается, и я должен выключить компьютер "твердый путь" путем содержания кнопки питания.
Когда я пробую glxinfo DRI_PRIME, это сразу отображено в dmesg
[11966.544102] [drm] PCIE GART of 2048M enabled (table at 0x0000000000040000).
[11966.780647] [drm] ring test on 0 succeeded in 14 usecs
[11968.629805] [drm:gfx_v8_0_ring_test_ring [amdgpu]] *ERROR* amdgpu: ring 1 test failed (scratch(0xC040)=0xCAFEDEAD)
[11968.835788] [drm:gfx_v8_0_ring_test_ring [amdgpu]] *ERROR* amdgpu: ring 2 test failed (scratch(0xC040)=0xCAFEDEAD)
[11969.040749] [drm:gfx_v8_0_ring_test_ring [amdgpu]] *ERROR* amdgpu: ring 3 test failed (scratch(0xC040)=0xCAFEDEAD)
[11969.246077] [drm:gfx_v8_0_ring_test_ring [amdgpu]] *ERROR* amdgpu: ring 4 test failed (scratch(0xC040)=0xCAFEDEAD)
[11969.451829] [drm:gfx_v8_0_ring_test_ring [amdgpu]] *ERROR* amdgpu: ring 5 test failed (scratch(0xC040)=0xCAFEDEAD)
[11969.656722] [drm:gfx_v8_0_ring_test_ring [amdgpu]] *ERROR* amdgpu: ring 6 test failed (scratch(0xC040)=0xCAFEDEAD)
[11969.863568] [drm:gfx_v8_0_ring_test_ring [amdgpu]] *ERROR* amdgpu: ring 7 test failed (scratch(0xC040)=0xCAFEDEAD)
[11970.068579] [drm:gfx_v8_0_ring_test_ring [amdgpu]] *ERROR* amdgpu: ring 8 test failed (scratch(0xC040)=0xCAFEDEAD)
[11970.170712] [drm:sdma_v2_4_ring_test_ring [amdgpu]] *ERROR* amdgpu: ring 9 test failed (0xCAFEDEAD)
[11970.170722] [drm:amdgpu_resume [amdgpu]] *ERROR* resume of IP block <sdma_v2_4> failed -22
[11970.170730] [drm:amdgpu_resume_kms [amdgpu]] *ERROR* amdgpu_resume failed (-22).
Когда я загружаюсь в окна, графика работает отлично, и я могу легко переключиться.
Где проблема?
Для полноты это - моя версия ядра
$ uname -a
Linux karelb 4.8.0-36-generic #36~16.04.1-Ubuntu SMP Sun Feb 5 09:39:57 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Edit2: Установка нового ядра, 4.10, устранила проблему!
<час>Старый ответ (с большим количеством экспериментов)
Установка LXLE - дистрибутив, на основе Lubuntu, на основе Ubuntu - кажется, устраняет проблему. Я все еще вижу ошибки DRM, но работу установки графики.
я не уверен, однако, как хорошо делают другую игру программ с тайными дистрибутивами как LXLE.
(установка amdgpu про не работала на меня; как раз наоборот это заставило человечность прекратить отображать что-либо)
Редактирование: Я забираю его. После того, как я сделал apt-get update
и т.д., проблема возвращается назад, с точно теми же признаками, с LXLE. Таким образом, это не проблема Единицы, это - что-то с, возможно, драйверами.