Привет! Я понимаю, что это не форум поддержки Hackintosh, но думаю, что моя проблема не обязательно связана с MacOS, поэтому я все же спрошу здесь. В общем, у меня есть Radeon W5500, который передается в MacOS VM. MacOS VM распознает GPU (он отображается в списке устройств, загружены kext Radeon, и он также указан system_profile и любым другим методом, который я смог найти). Однако, если я попытаюсь использовать GPU для вывода сигнала (например, отключу виртуальный дисплей), я попадаю только в загрузчик (я могу видеть и взаимодействовать с загрузчиком opencore, используя GPU). Как только MacOS начинает загружаться, видеосигнал застывает на экране загрузки MacOS. Однако я могу подключиться к VM по SSH, чтобы подтвердить, что ОС успешно запустилась и что GPU *все еще распознается*, но без активных видеовыходов. Что я выяснил на данный момент:
- Та же конфигурация работает с Linux VM без проблем (т.е. передача работает с полной акселерацией GPU).
- Я могу подделать ID устройства GPU, чтобы он соответствовал RX5500 вместо W5500, но это, похоже, не влияет ни на что.
- Я могу попытаться заставить MacOS протестировать все три поддерживаемых буфера кадров для этой семьи GPU, но ни один из них не дает мне сигнала.
- Я пробовал использовать правильный файл ROM.
- Я пробовал и pcie=1, и x-vga=1 опции.
- Я пробовал несколько версий машины q35.
- Я пробовал загружаться без подключенного дисплея, а затем подключать его только после загрузки VM.
Может ли это быть связано с передачей GPU? Кто-нибудь сталкивался с подобным поведением раньше?
Конфиг GRUB:
```
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt video=vesafb:off video=efifb:off initcall_blacklist=sysfb_init"
#GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
```
Конфиг VM:
```
#hostpci0%3A 0000%3A57%3A00,pcie=1,romfile=w5500.rom,x-vga=1
agent: 1
args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal©AppleComputerInc" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2 -global nec-usb-xhci.msi=off -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off -cpu Haswell-noTSX,vendor=GenuineIntel,+invtsc,+hypervisor,kvm=on,vmware-cpuid-freq=on
balloon: 0
bios: ovmf
boot: order=virtio0;net0
cores: 4
cpu: Haswell
efidisk0: local-lvm:vm-100-disk-0,efitype=4m,size=4M
hostpci0: 0000:57:00,pcie=1
machine: q35
memory: 16384
meta: creation-qemu=7.2.0,ctime=1686688870
name: macos-ventura
net0: virtio=DE:F9:AD:E9:DE:1F,bridge=vmbr0,firewall=1
numa: 0
ostype: other
scsihw: virtio-scsi-pci
smbios1: uuid=4a9bed52-ff78-41c7-8df2-d8ffec15d86a
sockets: 1
usb0: host=05ac:024f,usb3=1
usb1: host=17ef:60e5,usb3=1
vga: vmware
virtio0: local-lvm:vm-100-disk-1,cache=unsafe,discard=on,iothread=1,size=128G
vmgenid: 11726e84-c32e-42e3-bde6-d6000f26e7f8
```
Конфиг blacklist.conf:
```
blacklist radeon
blacklist nouveau
blacklist nvidia
```
- Та же конфигурация работает с Linux VM без проблем (т.е. передача работает с полной акселерацией GPU).
- Я могу подделать ID устройства GPU, чтобы он соответствовал RX5500 вместо W5500, но это, похоже, не влияет ни на что.
- Я могу попытаться заставить MacOS протестировать все три поддерживаемых буфера кадров для этой семьи GPU, но ни один из них не дает мне сигнала.
- Я пробовал использовать правильный файл ROM.
- Я пробовал и pcie=1, и x-vga=1 опции.
- Я пробовал несколько версий машины q35.
- Я пробовал загружаться без подключенного дисплея, а затем подключать его только после загрузки VM.
Может ли это быть связано с передачей GPU? Кто-нибудь сталкивался с подобным поведением раньше?
Конфиг GRUB:
```
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt video=vesafb:off video=efifb:off initcall_blacklist=sysfb_init"
#GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
```
Конфиг VM:
```
#hostpci0%3A 0000%3A57%3A00,pcie=1,romfile=w5500.rom,x-vga=1
agent: 1
args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal©AppleComputerInc" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2 -global nec-usb-xhci.msi=off -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off -cpu Haswell-noTSX,vendor=GenuineIntel,+invtsc,+hypervisor,kvm=on,vmware-cpuid-freq=on
balloon: 0
bios: ovmf
boot: order=virtio0;net0
cores: 4
cpu: Haswell
efidisk0: local-lvm:vm-100-disk-0,efitype=4m,size=4M
hostpci0: 0000:57:00,pcie=1
machine: q35
memory: 16384
meta: creation-qemu=7.2.0,ctime=1686688870
name: macos-ventura
net0: virtio=DE:F9:AD:E9:DE:1F,bridge=vmbr0,firewall=1
numa: 0
ostype: other
scsihw: virtio-scsi-pci
smbios1: uuid=4a9bed52-ff78-41c7-8df2-d8ffec15d86a
sockets: 1
usb0: host=05ac:024f,usb3=1
usb1: host=17ef:60e5,usb3=1
vga: vmware
virtio0: local-lvm:vm-100-disk-1,cache=unsafe,discard=on,iothread=1,size=128G
vmgenid: 11726e84-c32e-42e3-bde6-d6000f26e7f8
```
Конфиг blacklist.conf:
```
blacklist radeon
blacklist nouveau
blacklist nvidia
```
