Я искал по всей сети несколько прошлых дней, пытаясь получить интегрированную графику на моей работе Intel i5-6400, но никакую удачу до сих пор.
Я запускаю новую Ubuntu 15.10 и установил 4.3.4 ядра. Мой AMD R9 380 хорошо работает (использование драйверов с открытым исходным кодом), но я хочу передачу, что до виртуальной машины, таким образом, я должен получить интегрированную работу i915 GPU.
У меня есть единственный дисплей, подключенный с DVI к R9 380 и с кабелем VGA на интегрированную видеокарту. В панели настроек "Display" обнаруживается только один дисплей, где должно быть два.
Кто-либо знает как к зафиксировать это?
Текущее ядро:
$ uname -r
4.3.4-040304-generic
Интегрированный GPU распознал:
$ dmesg | grep -i i915
5:[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-4.3.4-040304-generic root=/dev/mapper/vg--raid-lv--linux ro nomdmonddf nomdmonisw i915.preliminary_hw_support=1 intel_iommu=on
197:[ 0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-4.3.4-040304-generic root=/dev/mapper/vg--raid-lv--linux ro nomdmonddf nomdmonisw i915.preliminary_hw_support=1 intel_iommu=on
748:[ 0.869204] i915 0000:00:02.0: enabling device (0000 -> 0003)
902:[ 1.485539] [drm] Initialized i915 1.6.0 20150731 for 0000:00:02.0 on minor 1
903:[ 1.524441] i915 0000:00:02.0: fb1: inteldrmfb frame buffer device
1063:[ 119.646979] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
$ sudo lshw -enable pci -class display
*-display
description: VGA compatible controller
product: Tonga PRO [Radeon R9 285/380]
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
physical id: 0
bus info: pci@0000:01:00.0
version: f1
width: 64 bits
clock: 33MHz
capabilities: pm pciexpress msi vga_controller bus_master cap_list rom
configuration: driver=amdgpu latency=0
resources: irq:128 memory:c0000000-cfffffff memory:d0000000-d01fffff ioport:e000(size=256) memory:df100000-df13ffff memory:df140000-df15ffff
*-display
description: Display controller
product: Sky Lake Integrated Graphics
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 06
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm bus_master cap_list
configuration: driver=i915 latency=0
resources: irq:129 memory:de000000-deffffff memory:b0000000-bfffffff ioport:f000(size=64)
Прежде всего, выглядит хорошо мне. Однако следующая команда показывает, что что-то действительно неправильно. Отметьте строку, которая запускается с Display Server: X.Org
говорит FAILED: intel
.
$ inxi -b
System: Host: anthony-linux Kernel: 4.3.4-040304-generic x86_64 (64 bit) Desktop: Xfce 4.12.3
Distro: Ubuntu 15.10 wily
Machine: System: Gigabyte product: N/A
Mobo: Gigabyte model: H110M-S2H-CF v: x.x Bios: American Megatrends v: F1 date: 09/08/2015
CPU: Quad core Intel Core i5-6400 (-MCP-) speed/max: 799/3300 MHz
Graphics: Card-1: Intel Sky Lake Integrated Graphics
Card-2: Advanced Micro Devices [AMD/ATI] Tonga PRO [Radeon R9 285/380]
Display Server: X.Org 1.17.2 drivers: ati (unloaded: fbdev,vesa,radeon) FAILED: intel
Resolution: 1680x1050@59.88hz
GLX Renderer: Gallium 0.4 on AMD TONGA (DRM 3.1.0, LLVM 3.6.2) GLX Version: 3.0 Mesa 11.0.2
Network: Card: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller driver: r8169
Drives: HDD Total Size: 2060.4GB (22.5% used)
RAID: Devices: 1: /dev/md1 2: /dev/md0
Info: Processes: 247 Uptime: 41 min Memory: 1223.8/15993.4MB Client: Shell (bash) inxi: 2.2.16
Редактирование 1: вот еще некоторые люди деталей, которых требуют:
$ dpkg -l xserver-xorg-video-intel
ii xserver-xorg-video-intel 2:2.99.917+git20150808-0ubuntu4 amd64 X.Org X server -- Intel i8xx, i9xx display driver
Редактирование 2: вот вывод xrandr. Обратите внимание, что AMD R9 380 имеет 1 DisplayPort, 1 HDMI и 2 вывода DVI. iGPU имеет 1 VGA, 1 DVI и 1 HDMI. Не уверенный, почему только единственный вывод DVI перечислен здесь, но ясно, что iGPU выводы не там, потому что затем VGA был бы в списке.
$ xrandr | grep connected
2:DisplayPort-1 disconnected (normal left inverted right x axis y axis)
3:HDMI-3 disconnected (normal left inverted right x axis y axis)
4:DVI-0 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 474mm x 296mm
Редактирование 3: система, действительно кажется, знает о выводах хотя:
$ ls -l /sys/class/drm
total 0
lrwxrwxrwx 1 root root 0 Jan 24 18:51 card0 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0
lrwxrwxrwx 1 root root 0 Jan 24 18:53 card0-DP-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1
lrwxrwxrwx 1 root root 0 Jan 24 18:53 card0-HDMI-A-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1
lrwxrwxrwx 1 root root 0 Jan 24 18:53 card0-HDMI-A-2 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-2
lrwxrwxrwx 1 root root 0 Jan 24 18:53 card0-HDMI-A-3 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-3
lrwxrwxrwx 1 root root 0 Jan 24 18:53 card1 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1
lrwxrwxrwx 1 root root 0 Jan 24 18:53 card1-DP-2 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-DP-2
lrwxrwxrwx 1 root root 0 Jan 24 18:53 card1-DVI-D-1 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-DVI-D-1
lrwxrwxrwx 1 root root 0 Jan 24 18:53 card1-DVI-I-1 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-DVI-I-1
lrwxrwxrwx 1 root root 0 Jan 24 18:53 card1-HDMI-A-4 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-HDMI-A-4
lrwxrwxrwx 1 root root 0 Jan 24 18:53 controlD64 -> ../../devices/pci0000:00/0000:00:02.0/drm/controlD64
lrwxrwxrwx 1 root root 0 Jan 24 18:53 controlD65 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/controlD65
lrwxrwxrwx 1 root root 0 Jan 24 18:53 renderD128 -> ../../devices/pci0000:00/0000:00:02.0/drm/renderD128
lrwxrwxrwx 1 root root 0 Jan 24 18:53 renderD129 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/renderD129
lrwxrwxrwx 1 root root 0 Jan 24 18:53 ttm -> ../../devices/virtual/drm/ttm
-r--r--r-- 1 root root 4.0K Jan 24 18:53 version
Редактирование 4: Во время начальной загрузки вывод iGPU, кажется, работает. Я добираюсь dmesg
вывод на нем во время начальной загрузки, но он останавливается в какой-то момент. Вывод от остановок iGPU после строк, запускающихся с [dmr]
ниже. Те запускающиеся с fbcon
не видимы на нем:
$ dmesg | grep -A3 "\[drm\] fb"
[ 1.357205] [drm] fb mappable at 0xC0C73000
[ 1.357810] [drm] vram apper at 0xC0000000
[ 1.358418] [drm] size 7299072
[ 1.359027] [drm] fb depth is 24
[ 1.359653] [drm] pitch is 6912
[ 1.360531] fbcon: amdgpudrmfb (fb1) is primary device
[ 1.360532] fbcon: Remapping primary device, fb1, to tty 1-63
Вот целое содержание Xorg.0.log: http://pastebin.com/BprgEdSj. Некоторые отрывки ниже. Первое все, кажется, делают с GPU AMD:
$ grep '(EE)' /var/log/Xorg.0.log
15: (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
73:[ 26.937] (EE) Failed to load module "fglrx" (module does not exist, 0)
123:[ 27.200] (EE) Failed to load module "fglrx" (module does not exist, 0)
751:[ 29.273] (EE) modeset(0): [DRI2] No driver mapping found for PCI device 0x1002 / 0x6939
752:[ 29.273] (EE) modeset(0): Failed to initialize the DRI2 extension.
756:[ 29.277] (EE) AIGLX: reverting to software rendering
Вот некоторые разделы, которые я выбрал вручную:
$ less /var/log/Xorg.0.log (then manual copy/paste)
[ 27.200] (II) LoadModule: "intel"
[ 27.201] (II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so
[ 27.201] (II) Module intel: vendor="X.Org Foundation"
[ 27.201] compiled for 1.17.2, module version = 2.99.917
[ 27.201] Module class: X.Org Video Driver
[ 27.201] ABI class: X.Org Video Driver, version 19.0
[ 27.201] (II) UnloadModule: "intel"
[ 27.201] (II) Unloading intel
[ 27.201] (II) Failed to load module "intel" (already loaded, 0)
...
[ 27.210] (II) intel: Driver for Intel(R) Integrated Graphics Chipsets:
i810, i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G,
915G, E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM,
Pineview G, 965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33,
GM45, 4 Series, G45/G43, Q45/Q43, G41, B43
...
[ 27.211] (II) intel(G0): Using Kernel Mode Setting driver: i915, version 1.6.0 20150731
[ 27.211] (II) intel(G0): SNA compiled: xserver-xorg-video-intel 2:2.99.917+git20150808-0ubuntu4 (Robert Ancell <robert.ancell@canonical.com>)
[ 27.211] (II) intel(G0): SNA compiled for use with valgrind
$ xrandr | grep connected
2:DisplayPort-1 disconnected (normal left inverted right x axis y axis)
3:HDMI-3 disconnected (normal left inverted right x axis y axis)
4:DVI-0 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 474mm x 296mm
Xorg только знает приблизительно 3 видеовыхода.
$ ls -l /sys/class/drm
total 0
lrwxrwxrwx 1 root root 0 Jan 24 18:51 card0 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0
lrwxrwxrwx 1 root root 0 Jan 24 18:53 card0-DP-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1
lrwxrwxrwx 1 root root 0 Jan 24 18:53 card0-HDMI-A-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1
lrwxrwxrwx 1 root root 0 Jan 24 18:53 card0-HDMI-A-2 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-2
lrwxrwxrwx 1 root root 0 Jan 24 18:53 card0-HDMI-A-3 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-3
lrwxrwxrwx 1 root root 0 Jan 24 18:53 card1 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1
lrwxrwxrwx 1 root root 0 Jan 24 18:53 card1-DP-2 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-DP-2
lrwxrwxrwx 1 root root 0 Jan 24 18:53 card1-DVI-D-1 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-DVI-D-1
lrwxrwxrwx 1 root root 0 Jan 24 18:53 card1-DVI-I-1 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-DVI-I-1
lrwxrwxrwx 1 root root 0 Jan 24 18:53 card1-HDMI-A-4 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-HDMI-A-4
ядро обнаружило 2 видеокарты с несколькими выводами на обоих.
$ grep '(EE)' /var/log/Xorg.0.log
751:[ 29.273] (EE) modeset(0): [DRI2] No driver mapping found for PCI device 0x1002 / 0x6939
752:[ 29.273] (EE) modeset(0): Failed to initialize the DRI2 extension.
756:[ 29.277] (EE) AIGLX: reverting to software rendering
карта AMD R9 285 отступила к рендерингу программного обеспечения, потому что идентификатор 1002:6939 PCI не распознан. Вы могли потенциально зафиксировать это путем обновления драйвера Radeon, но для передачи VGA Вам на самом деле не нужен Xorg для работы.
$ `grep 'Monitor name' /var/log/Xorg.0.log
[ 29.080] (II) modeset(0): Monitor name: W2252
[ 29.173] (II) intel(G0): Monitor name: W2252
монитор обнаруживается обоими драйверами.
Для передачи VGA GPU AMD, Вам нужен Xorg, чтобы только использовать Intel GPU. Вы могли создать xorg.conf
только с настроенным устройством Intel (Xorg :0 -configure
затем редактирование и удалить ссылки на устройство AMD). С другой стороны, просто удалите драйвер не-Intel, который используется (apt-get purge xserver-xorg-video-modesetting
в этом случае) - но быть предупрежденными Вам, вероятно, придется загрузиться от USB для переустановки этого пакета, если у Вас затем нет видео.
, Но в этом случае проблема была решена путем конфигурирования BIOS/UEFI для использования Intel iGPU в качестве по умолчанию для использования для POST. Это могло указать, что проблема была вызвана ошибкой в коде Skylake init Linux, где это настраивает дисплей правильно, если BIOS уже инициализировал его, но перестал работать иначе.