Mam dwie karty Radeon w tym urządzeniu, Radeon HD 6570 i Radeon HD 6950 :
lspci | grep VGA
01: 00.0 Kontroler zgodny z VGA: zaawansowane urządzenia Micro [AMD] z ATI Turks [Radeon HD 6570]
02: 00.0 Kontroler zgodny z VGA: zaawansowane urządzenia Micro [AMD] z ATI Cayman PRO [Radeon HD 6950]
Próbuję przekonać VGA do współpracy z KVM na Debianie 7 (Wheezy), przekazując 6950 jako dodatkową kartę graficzną gościowi Windows 7. Działa to dobrze, jeśli umieszczę radeon
moduł jądra na czarnej liście /etc/modprobe.d/
.
Jeśli usunę czarną listę, aby uruchomić X11 (lub nawet konsolę KMS ) na 6570, radeon
moduł wydaje się dołączać do obu kart:
dmesg | egrep "01: 00.0 | 02: 00.0 | radeon"
pci 0000: 01: 00.0: [1002: 6759] typ 0 klasa 0x000300
pci 0000: 01: 00.0: reg 10: [mem 0xe0000000-0xefffffff 64bit pref]
pci 0000: 01: 00.0: reg 18: [mem 0xf7e20000-0xf7e3ffff 64bit ]
pci 0000: 01: 00.0: reg 20: [io 0xe000-0xe0ff]
pci 0000: 01: 00.0: reg 30: [mem 0xf7e00000-0xf7e1ffff pref]
pci 0000: 01: 00.0: obsługuje D1 D2
pci 0000: 02: 00.0 : [1002: 6719] typ 0 klasa 0x000300
pci 0000: 02: 00.0: reg 10: [mem 0xd0000000-0xdfffffff 64bit pref]
pci 0000: 02: 00.0: reg 18: [mem 0xf7d20000-0xf7d3ffff 64bit]
pci 0000: 02: 00.0: reg 20: [io 0xd000-0xd0ff]
pci 0000: 02: 00.0: reg 30: [mem 0xf7d00000-0xf7d1ffff pref]
pci 0000: 02: 00.0: obsługuje D1 D2
vgaarb: dodane urządzenie: PCI: 0000: 01: 00.0, dekoduje = io + mem, posiada = io + mem, blokuje = brak
vgaarb: dodano urządzenie: PCI: 0000: 02: 00.0, dekoduje = io + mem, posiada = brak , locks = none
vgaarb: możliwa kontrola mostu 0000: 02: 00.0
vgaarb: możliwa kontrola mostu 0000: 01: 00.0
pci 0000: 01: 00.0:
Włączone ustawienie trybu rozruchowego urządzenia wideo [drm] radeon jądra.
radeon 0000: 01: 00.0: ustawienie timera opóźnienia na 64
radeon 0000: 01: 00.0: VRAM: 1024M 0x0000000000000000 - 0x000000003FFFFFFF (używane 1024M)
radeon 0000: 01: 00.0: GTT: 512M 0x0000000040000000 - 0x000000005FFFFFFF
[drM] gotowe do pamięci
[drm] radeon: 512 MB gotowej pamięci GTT.
radeon 0000: 01: 00.0: irq 46 dla MSI / MSI-X
radeon 0000: 01: 00.0: radeon: using MSI.
[drm] radeon: zainicjowano irq.
radeon 0000: 01: 00.0: WB włączony
[drm] radeon: ib pool gotowy.
[drm] radeon: zainicjowane zarządzanie energią
fbcon: radeondrmfb (fb0) jest urządzeniem podstawowym
fb0: urządzenie buforujące ramkę radeondrmfb
[drm] Zainicjowany radeon 2.12.0 20080528 dla 0000: 01: 00.0 na mniejszym 0
radeon 0000: 02: 00.0: urządzenie umożliwiające (0000 -> 0003)
radeon 0000: 02: 00,0: ustawianie ukrytego zegara 64
radeon 0000: 02: 00,0: VRAM: 2048M 0x0000000000000000 - 0x000000007FFFFFFF (2048M używany)
radeon 0000: 02: 00.0: GTT: 512M 0x0000000080000000 - 0x000000009FFFFFFF
[DRM ] radeon: gotowe 2048 MB pamięci VRAM
[drm] radeon: gotowe 512 MB pamięci GTT.
radeon 0000: 02: 00.0: irq 49 dla MSI / MSI-X
radeon 0000: 02: 00.0: radeon: przy użyciu MSI.
[drm] radeon: zainicjowano irq.
radeon 0000: 02: 00.0: WB włączone
[drm] radeon: ib pula gotowa.
[drm] radeon: zainicjowane zarządzanie energią
fb1: urządzenie buforujące ramkę radeondrmfb
[drm] Zainicjowany radeon 2.12.0 20080528 dla 0000: 02: 00.0 na mniejszym 1
[drm] radeon: urządzenie wykończeniowe.
radeon 0000: 02: 00.0: ffff88041a941800 odpinanie nie jest konieczne
[drm] radeon: tm sfinalizowany
pci-stub 0000: 02: 00.0: zgłoszony przez stub
pci-stub 0000: 02: 00.0: irq 49 dla MSI / MSI-X
Powoduje to, że maszyna wirtualna z systemem Windows 7 uruchamia się na niebiesko podczas uruchamiania.
Jak mogę skonfigurować rzeczy, aby moduł radeon
podłączał się tylko do 6570, a nie do 6950?
źródło
pci_stub.ids=1002:6719,1002:aa80
na końcu wiersza polecenia jądra w pliku konfiguracyjnym grub. Podejrzewam, że powodem jest to, żepci-stub
moduł jest wbudowany w jądro mojej instalacji.Wykorzystując odpowiedź genpfault jako odniesienie, stworzyłem inną odpowiedź, myślę, że jest prostsza.
Pierwszy krok jest taki sam jak powyżej:
Następnie stworzyłem plik o nazwie /lib/modprobe.d/pci-stub.conf, z tymi znalezionymi przeze mnie argumentami:
Następnie utworzyłem plik o nazwie /lib/modprobe.d/drm.conf z softdep:
W ten sposób, gdy proces rozruchu próbuje załadować drm, najpierw ładuje pci-stub, który rezerwuje sprzęt jednej karty wideo i zapobiega podłączaniu drm do jakiegoś urządzenia.
Później można usunąć zastrzeżenie rc.local,
modprobe -r pci-stub
.Opcjonalnie możesz załadować inny moduł
modprobe another-module
dla tej karty.źródło