Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
112 user(s) are online (72 user(s) are browsing Forums)

Members: 3
Guests: 109

eliyahu, MartinW, K-L, more...

Support us!

Headlines

 
  Register To Post  

(1) 2 3 4 5 »
Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Just popping in
Just popping in


See User information
Hello all,

CC: @Hans @balaton

RadeonRX 550 (my secondary GPU) is recognized by Qemu 9.0.50, PegasosII & AmigaOS4.1 FE Upd 2.
To make RadeonRX 550 work, I had to go to host's BIOS and disable the "Resize BAR" setting.
In AmigaOS4, RadeonRX 550 seems to work, and two new processes appeared: rx_gc, rx_pm.

The problem is that AmigaOS is extremely slow - while without VFIO, using only SM501, it's much much faster.
During the guest BIOS boot I get the message:
System doesn't have full memory coherence. Compensating...

But the lowest CPU consumption is 61%, and this only when it is idle.
When I move the cursor or open a folder, CPU is always 100%.


Some images from Ranger:
https://ibb.co/dpMRtp1
https://ibb.co/wCqnXH2
https://ibb.co/qnhWZ23
https://ibb.co/F8NP25b


Is there a way to fix this performance issue?


Below, you can see the specifications of my systems (host, guest, emulator) and the corresponding configurations.


Host System:
CPU: Intel Raptor Lake-S (Core i5) 13th Gen Intel(R) Core(TM) i5-13400
CPU Instructions: HT, MMX, SSE(1, 2, 3, 3S, 4.1, 4.2), AVX(1, 2), FMA(3), AES, CLMUL, RdRand, SHA, VT-x, x86-64

Motherboard: ASUSTeK COMPUTER INC. PRIME Z790-P D4 Rev 1.xx
BIOS Version: American Megatrends Inc. 1656 04/18/2024

Operating System: Ubuntu 24.04 LTS
Linux Kernel: Linux 6.8.0-31-generic

Graphics Card Driver: vfio-pci
Graphics Card Model: PCIe Sapphire RadeonRX 550 --> Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X]


lspci -nnk Results:
0000:04:00.0 VGA compatible controller [0300]: Advanced Micro DevicesInc. [AMD/ATILexa PRO [Radeon 540/540X/550/550X RX 540X/550/550X] [1002:699f] (rev c7)
    
SubsystemSapphire Technology Limited Lexa PRO [Radeon 540/540X/550/550X RX 540X/550/550X] [1da2:e468]
    
Kernel driver in use: vfio-pci
    Kernel modules
amdgpu
0000
:04:00.1 Audio device [0403]: Advanced Micro DevicesInc. [AMD/ATIBaffin HDMI/DP Audio [Radeon RX 550 640SP RX 560/560X] [1002:aae0]
    
SubsystemSapphire Technology Limited Baffin HDMI/DP Audio [Radeon RX 550 640SP RX 560/560X] [1da2:aae0]
    
Kernel driver in use: vfio-pci
    Kernel modules
snd_hda_intel



Emulation System & Configuration:
- QEMU emulator version 9.0.50
- Bboot v0.7

Qemu command:
taskset -c 1 qemu-system-ppc \
-machine pegasos2 \
-m 2G \
-kernel bboot -initrd Kickstart.zip \
-rtc base=localtime \
-drive if=none,id=DH0,file=amigahdd-System.img,format=raw -device ide-hd,drive=DH0 \
-drive if=none,id=DH1,file=amigahdd-Work.img,format=raw  -device ide-hd,drive=DH1 \
-device rtl8139,netdev=ETH0 -netdev user,id=ETH0 \
-device vfio-pci,host=04:00.0,bus=pci.0,x-vga=on \
-device vfio-pci,host=04:00.1,bus=pci.0 \
-device bochs-display \
-vga none \
-serial stdio


Guest System:
- AmigaOS4.1 FE Update 2
- Enchanched Software v2.2
- RadeonRX.chip v2.12


Kickstart Layout with RadeonRX enabled:
MODULE Kickstart/timer.device.kmod
MODULE Kickstart
/PCIGraphics.card
MODULE Kickstart
/ATIRadeon.chip
MODULE Kickstart
/RadeonRX.chip
MODULE Kickstart
/siliconmotion502.chip
;MODULE Kickstart/3dfxVoodoo.chip
MODULE Kickstart
/petunia.library.kmod
MODULE Kickstart
/usbresource.library




Boot logs with RadeonRX.chip.debug enabled:

BBoot 0.7 (15.4.2024)
/
pci@80000000io fe000000/10000 mem 80000000/40000000
/pci@80000000/host:    0:0.0     11ab:6460 60000 646011ab 0000 7
Added assigned
-addresses
/pci@80000000/ethernet:    0:1.0     10ec:8139 20000 813910ec 0100 0
Added assigned
-addressesset interrupt 0109
  
1000810        0 fe001200         0      100  00000001 00001201
  2000814        0 80000000         0      100  
00000000 80000000
  2000830        0 80040000         0    40000  
00000000 80040000
/pci@80000000/display:    0:2.0     1234:1111 38000 11111234 0000 0
Added assigned
-addressesset interrupt 0009
 
42001010        0 81000000         0  1000000  | 00000008 ! 81000008
  2001018        0 82000000         0     1000  
00000000 82000000
  2001030        0 82008000         0     8000  
00000000 82008000
/pci@80000000/isa:    0:c.0     1106:8231 60100 82311106 0000 8
Added assigned
-addresses
/pci@80000000/ide:    0:c.1     1106:0571 1018f 05711106 010e 87
Added assigned
-addresses
  1006110        0 fe001000         0        8  
00000001 00001001
  1006114        0 fe001008         0        4  
00000001 ! 00001009
  
1006118        0 fe001010         0        8  00000001 00001011
  100611c        0 fe001018         0        4  
00000001 ! 00001019
  
1006120        0 fe001020         0       10  00000001 00001021
/pci@80000000/usb:    0:c.2     1106:3038 c0300 30381106 0409 7
Added assigned
-addresses
  1006220        0 fe001040         0       20  
00000001 00001041
/pci@80000000/usb:    0:c.3     1106:3038 c0300 30381106 0409 7
Added assigned
-addresses
  1006320        0 fe001060         0       20  
00000001 00001061
/pci@80000000/other:    0:c.4     1106:8235 68000 82351106 0009 0
Added assigned
-addresses
/pci@80000000/sound:    0:c.5     1106:3058 40100 30581106 0309 4
Added assigned
-addresses
  1006510        0 fe001100         0      100  
00000001 00001101
  1006514        0 fe001030         0        4  
00000001 00001031
  1006518        0 fe001034         0        4  
00000001 00001035
/pci@80000000/pci1106,3068:    0:c.6     1106:3068 78000 30681106 0309 30
Added assigned
-addresses
/pci@c0000000io f8000000/10000 mem c0000000/20000000
/pci@c0000000/host:    0:0.0     11ab:6460 60000 646011ab 0000 7
Added assigned
-addresses
/pci@c0000000/display:    0:1.0     1002:699f 30000 699f1002 01ff 0
Truncated 64 bit BAR 43000810
Truncated 64 bit BAR 43000818
Added assigned
-addressesset interrupt 0109
 
42000810        0 c0000000         0 10000000  0000000c c000000c
 42000818        0 d0000000         0   200000  
0000000c d000000c
  1000820        0 f8001000         0      100  
00000001 00001001
  2000824        0 d0200000         0    40000  
00000000 d0200000
  2000830        0 d0240000         0    20000  
00000000 d0240000
/pci@c0000000/pci1002,aae0:    0:2.0     1002:aae0 40300 aae01002 02ff 0
Truncated 64 bit BAR 03001010
Added assigned
-addressesset interrupt 0209
  
2001010        0 d0260000         0     4000  00000004 d0260004
Checking initrd at 0x600000
-0xc4c77e (6604670 bytes)
Found zip with 70 entries
Parsing Kicklayout at 0xc4c77e 
(3398 bytes)
Booting config 1AmigaOS_4.1_Final_Edition
Loading loader
.of
Loading kernel
Loading FastFileSystem
Loading SmartFileSystem
Loading JXFileSystem
Loading peg2ide
.device.kmod
Loading battclock
.resource.kmod
Loading bootmenu
.kmod
Loading bootimage
Loading CDFileSystem
Loading con
-handler.kmod
Loading console
.device.kmod
Loading diskboot
.kmod
Loading diskboot
.config
Loading diskcache
.library.kmod
Loading dos
.library.kmod
Loading elf
.library.kmod
Loading env
-handler.kmod
Loading FileSystem
.resource.kmod
Loading gadtools
.library.kmod
Loading gameport
.device.kmod
Loading graphics
.library.kmod
Loading hunk
.library.kmod
Loading input
.device.kmod
Loading intuition
.library.kmod
Loading it8212ide
.device.kmod
Loading keyboard
.device.kmod
Loading keymap
.library.kmod
Loading lsi53c8xx
.device.kmod
Loading newlib
.library.kmod
Loading nonvolatile
.library.kmod
Loading nvram
.config
Loading ps2
.resource.kmod
Loading ram
-handler.kmod
Loading ramdrive
.device.kmod
Loading ramlib
.kmod
Loading shell
.kmod
Loading strap
.kmod
Loading timer
.device.kmod
Loading PCIGraphics
.card
Loading RadeonRX
.chip.debug
Loading petunia
.library.kmod
Loading usbresource
.library
Loading usbsys
.device
Loading hub
.usbfd
Loading bootmouse
.usbfd
Loading bootkeyboard
.usbfd
Loading massstorage
.usbfd
Loading uhci
.usbhcd
Loading ohci
.usbhcd
Loading ehci
.usbhcd
Loading mounter
.library
Starting exec
RadeonRX 
(2): Identified the chipset as: POLARIS12
RadeonRX 
(2): Graphics card name isRadeon RX Polaris12
RadeonRX 
(2):     If - and only if - your card does not work or does not work optimally
    please submit a bug report at
:
    
http://www.amiga.org/developer/bugreports 
    
Remember to include the driver version, and the following card details:
    
0x699F:0x1DA2:0xE468
    and *
pleasedescribe the problems you are seeing in detail.
graphics.library AltiVec/VMX enabled
graphics
.library PPC74xx optimizations enabled
RadeonRX 
(5): findRXCard called
RadeonRX 
(5): Card 0 (0): 0x12340x1111unknownother driverinactive
RadeonRX 
(5): Calling original FindCard()
RadeonRX (5): Card 1 (1): 0x10020x699FRadeon RX Polaris12supportedinactive
RadeonRX 
(5): Found supported card
RadeonRX 
(5): initRXCard called
RadeonRX 
(5): Initializing card
RadeonRX 
(2): Obtaining ITimer interface
RadeonRX (2): Got ITimer interface
RadeonRX (2): Returning from LibOpen().
RadeonRX (0): RadeonRX.chip 2.12 (24.8.2022)

RadeonRX (6): #[1m
#[mRadeonRX (4): Have altivec.
RadeonRX (4): CPU cache line length32
RadeonRX 
(4): PCI device is a graphics card.
RadeonRX (2): Identified the chipset as: POLARIS12
RadeonRX 
(2): Graphics card name isRadeon RX Polaris12
RadeonRX 
(2):     If - and only if - your card does not work or does not work optimally
    please submit a bug report at
:
    
http://www.amiga.org/developer/bugreports 
    
Remember to include the driver version, and the following card details:
    
0x699F:0x1DA2:0xE468
    and *
pleasedescribe the problems you are seeing in detail.
RadeonRX (4): Obtaining memory and I/O addresses and sizes
RadeonRX 
(4): Video RAM at0xC0000000size is 268435456 bytes
RadeonRX 
(4): Graphics card MMIO range at0x0xD0200000size is 262144 bytes
RadeonRX 
(4): Graphics card doorbell range at0x0xD0000000size is 2097152 bytes
RadeonRX 
(1): drm_mode_create_standard_properties unimplemented
RadeonRX 
(0): System doesn't have full memory coherence. Compensating...
RadeonRX (6): #[1m
#[mRadeonRX (6): add ip block number 0 
RadeonRX (6): add ip block number 1 
RadeonRX (6): add ip block number 2 
RadeonRX (6): add ip block number 3 
RadeonRX (6): add ip block number 4 
RadeonRX (6): add ip block number 5 
RadeonRX (6): add ip block number 6 
RadeonRX (6): #[1m
#[mRadeonRX (6): Early init of block 
RadeonRX (4): Couldn'
t find root PCIe busassuming existing link is gen 1
RadeonRX 
(4): Couldn't find root PCIe bus; assuming PCIe max link width is current link width
RadeonRX (4): Current link width is: 4
RadeonRX (6): Early init of block  done
RadeonRX (6): Early init of block 
RadeonRX (6): Early init of block  done
RadeonRX (6): Early init of block 
RadeonRX (6): Early init of block  done
RadeonRX (6): Early init of block 
RadeonRX (6): Early init of block  done
RadeonRX (6): Early init of block 
RadeonRX (6): Early init of block  done
RadeonRX (6): Early init of block 
RadeonRX (6): #[1m
#[mRadeonRX (6): #[1m
#[mRadeonRX (6): Early init of block  done
RadeonRX (6): #[1m
#[mRadeonRX (4): No resident copy of the AtomBIOS found for PCI:1.1.0. Copying the ROM from the graphics card.
RadeonRX (4): Obtaining a copy of the AtomBIOS from the graphics card.
RadeonRX (4): Rom Address:0xC0000000, ROM Physical Address: 0xC0000000, ROM BAR Address: 0x0000000C
RadeonRX (4): The ROM is 131072 bytes in size.
RadeonRX (4): ATOMBIOS detected
RadeonRX (4): The BIOS image is 59392 bytes in size.
RadeonRX (4): Resident AtomBIOS copy created at: 0x6FEDE018
RadeonRX (4): ATOMBIOS detected
RadeonRX (5): 0x6FEDE01C: 0x55AA74E9
RadeonRX (5): 0x6FEDE020: 0xA5020000
RadeonRX (5): 0x6FEDE024: 0x       0
RadeonRX (5): 0x6FEDE028: 0x       0
RadeonRX (5): 0x6FEDE02C: 0x       0
RadeonRX (5): 0x6FEDE030: 0x       0
RadeonRX (5): 0x6FEDE034: 0x48020000
RadeonRX (5): 0x6FEDE038: 0x    4942
RadeonRX (5): 0x6FEDE03C: 0x4D2F7C92
RadeonRX (5): 0x6FEDE040: 0x       0
RadeonRX (4): ATOM BIOS: 113-2468PSC-U03
RadeonRX (9): atombios requested 00000000 0kb
RadeonRX (4): GPU post is not needed
RadeonRX (4): Default clocks: SCLK: 214MHz, MCLK: 300MHz
RadeonRX (1): i2c_add_adapter unimplemented
RadeonRX (1): i2c_add_adapter unimplemented
RadeonRX (1): i2c_add_adapter unimplemented
RadeonRX (1): i2c_add_adapter unimplemented
RadeonRX (1): i2c_add_adapter unimplemented
RadeonRX (1): i2c_add_adapter unimplemented
RadeonRX (1): i2c_add_adapter unimplemented
RadeonRX (1): i2c_add_adapter unimplemented
RadeonRX (6): SW init of block 
RadeonRX (6): SW init of block  done
RadeonRX (6): SW init of block 
RadeonRX (4): vm size is 64 GB, block size is 13-bit
RadeonRX (9): 
RadeonRX (6): #[1m
#[mRadeonRX (6): Looking up firmware amdgpu/polaris12_mc.bin
RadeonRX (8): Firmware file: polaris12_mc.bin
RadeonRX (6): #[1m
#[mRadeonRX (6): polaris12_ firmware of type mc.bin
RadeonRX (6): #[1m
#[mRadeonRX (6): Firmware amdgpu/polaris12_mc.bin found. Has size of 14847 bytes (which will be decompressed to 32608 bytes
RadeonRX (6): #[1m
#[mRadeonRX (4): VRAM: 4096M 0x0000000000000000 - 0x00000000FFFFFFFF (4096M used)
RadeonRX (4): GTT: 4096M 0x0000000100000000 - 0x00000001FFFFFFFF
RadeonRX (1): amdgpu_bo_init unimplemented
RadeonRX (4): GART: num cpu pages 1048576, num gpu pages 1048576 (4096 MB
RadeonRX (0): Platform doesn'
t have full memory coherenceDisabling GART.
RadeonRX (6): SW init of block  done
RadeonRX 
(6): HW init of block 
RadeonRX 
(0): No VRAM object for PCIE GART.
RadeonRX (2): GART not availabledisabling
RadeonRX 
(6): HW init of block  done
RadeonRX 
(6): SW init of block 
RadeonRX 
(4): MSI/MSI-X not enabled
RadeonRX 
(4): amdgpuirq initialized.
RadeonRX (6): SW init of block  done
RadeonRX 
(6): SW init of block 
RadeonRX 
(4): amdgpupowerplay sw initialized
RadeonRX 
(6): SW init of block  done
RadeonRX 
(6): SW init of block 
RadeonRX 
(1): amdgpu_modeset_create_props unimplemented
RadeonRX 
(1): amdgpu_atombios_dp_aux_init unimplemented
RadeonRX 
(4): AMDGPU Display Connectors
RadeonRX 
(4): Connector 0:
RadeonRX (4):   DP
RadeonRX 
(4):   HPD5
RadeonRX 
(4):   DDC0x4868 0x4868 0x4869 0x4869 0x486A 0x486A 0x486B 0x486B
RadeonRX 
(4):   Encoders:
RadeonRX (4):     DFP1INTERNAL_UNIPHY1
RadeonRX 
(4): Connector 1:
RadeonRX (4):   HDMI-A
RadeonRX 
(4):   HPD3
RadeonRX 
(4):   DDC0x4874 0x4874 0x4875 0x4875 0x4876 0x4876 0x4877 0x4877
RadeonRX 
(4):   Encoders:
RadeonRX (4):     DFP2INTERNAL_UNIPHY1
RadeonRX 
(4): Connector 2:
RadeonRX (4):   DVI-D
RadeonRX 
(4):   HPD4
RadeonRX 
(4):   DDC0x4878 0x4878 0x4879 0x4879 0x487A 0x487A 0x487B 0x487B
RadeonRX 
(4):   Encoders:
RadeonRX (4):     DFP3INTERNAL_UNIPHY
RadeonRX 
(1): drm_kms_helper_poll_init unimplemented
RadeonRX 
(6): SW init of block  done
RadeonRX 
(6): SW init of block 
RadeonRX 
(9): 
RadeonRX (6): #[1m
#[mRadeonRX (6): Looking up firmware amdgpu/polaris12_pfp.bin
RadeonRX (8): Firmware filepolaris12_pfp.bin
RadeonRX 
(6): #[1m
#[mRadeonRX (6): polaris12_ firmware of type pfp.bin
RadeonRX (6): #[1m
#[mRadeonRX (6): Firmware amdgpu/polaris12_pfp.bin found. Has size of 9032 bytes (which will be decompressed to 17044 bytes
RadeonRX (6): #[1m
#[mRadeonRX (6): #[1m
#[mRadeonRX (6): Looking up firmware amdgpu/polaris12_me.bin
RadeonRX (8): Firmware filepolaris12_me.bin
RadeonRX 
(6): #[1m
#[mRadeonRX (6): polaris12_ firmware of type me.bin
RadeonRX (6): #[1m
#[mRadeonRX (6): Firmware amdgpu/polaris12_me.bin found. Has size of 6691 bytes (which will be decompressed to 17044 bytes
RadeonRX (6): #[1m
#[mRadeonRX (6): #[1m
#[mRadeonRX (6): Looking up firmware amdgpu/polaris12_ce.bin
RadeonRX (8): Firmware filepolaris12_ce.bin
RadeonRX 
(6): #[1m
#[mRadeonRX (6): polaris12_ firmware of type ce.bin
RadeonRX (6): #[1m
#[mRadeonRX (6): Firmware amdgpu/polaris12_ce.bin found. Has size of 3062 bytes (which will be decompressed to 8852 bytes
RadeonRX (6): #[1m
#[mRadeonRX (4): Chained IB support enabled!
RadeonRX (6): #[1m
#[mRadeonRX (6): Looking up firmware amdgpu/polaris12_rlc.bin
RadeonRX (8): Firmware filepolaris12_rlc.bin
RadeonRX 
(6): #[1m
#[mRadeonRX (6): polaris12_ firmware of type rlc.bin
RadeonRX (6): #[1m
#[mRadeonRX (6): Firmware amdgpu/polaris12_rlc.bin found. Has size of 6316 bytes (which will be decompressed to 16660 bytes
RadeonRX (6): #[1m
#[mRadeonRX (6): #[1m
#[mRadeonRX (6): Looking up firmware amdgpu/polaris12_mec.bin
RadeonRX (8): Firmware filepolaris12_mec.bin
RadeonRX 
(6): #[1m
#[mRadeonRX (6): polaris12_ firmware of type mec.bin
RadeonRX (6): #[1m
#[mRadeonRX (6): Firmware amdgpu/polaris12_mec.bin found. Has size of 28857 bytes (which will be decompressed to 262824 bytes
RadeonRX (6): #[1m
#[mRadeonRX (6): #[1m
#[mRadeonRX (6): Looking up firmware amdgpu/polaris12_mec2.bin
RadeonRX (8): Firmware filepolaris12_mec2.bin
RadeonRX 
(6): #[1m
#[mRadeonRX (6): polaris12_ firmware of type mec2.bin
RadeonRX (6): #[1m
#[mRadeonRX (6): Firmware amdgpu/polaris12_mec2.bin found. Has size of 29014 bytes (which will be decompressed to 262824 bytes
RadeonRX (6): #[1m
#[mRadeonRX (2): Redirecting GART allocation to VRAM
RadeonRX (4): fence driver use gpu addr 0x000000000FFFE008cpu addr 0x0xCFFFE008 on ring 0
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(4): fence driver use gpu addr 0x000000000FFFE018cpu addr 0x0xCFFFE018 on ring 1
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(4): fence driver use gpu addr 0x000000000FFFE028cpu addr 0x0xCFFFE028 on ring 2
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(4): fence driver use gpu addr 0x000000000FFFE038cpu addr 0x0xCFFFE038 on ring 3
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(4): fence driver use gpu addr 0x000000000FFFE048cpu addr 0x0xCFFFE048 on ring 4
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(4): fence driver use gpu addr 0x000000000FFFE058cpu addr 0x0xCFFFE058 on ring 5
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(4): fence driver use gpu addr 0x000000000FFFE068cpu addr 0x0xCFFFE068 on ring 6
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(4): fence driver use gpu addr 0x000000000FFFE078cpu addr 0x0xCFFFE078 on ring 7
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(4): fence driver use gpu addr 0x000000000FFFE088cpu addr 0x0xCFFFE088 on ring 8
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(4): fence driver use gpu addr 0x000000000FFFE09Ccpu addr 0x0xCFFFE09C on ring 9
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(2): Redirecting GDS allocation to VRAM
RadeonRX 
(2): Redirecting GWS allocation to VRAM
RadeonRX 
(2): Redirecting OA allocation to VRAM
RadeonRX 
(6): SW init of block  done
RadeonRX 
(6): HW init of block 
RadeonRX 
(6): HW init of  done.
RadeonRX (6): HW init of block 
RadeonRX 
(6): HW init of  done.
RadeonRX (6): HW init of block 
RadeonRX 
(2): Redirecting GART allocation to VRAM
RadeonRX 
(6): #[1m
#[mRadeonRX (6): Looking up firmware amdgpu/polaris12_smc.bin
RadeonRX (8): Firmware filepolaris12_smc.bin
RadeonRX 
(6): #[1m
#[mRadeonRX (6): polaris12_ firmware of type smc.bin
RadeonRX (6): #[1m
#[mRadeonRX (6): Firmware amdgpu/polaris12_smc.bin found. Has size of 58720 bytes (which will be decompressed to 130388 bytes
RadeonRX (6): #[1m
#[mRadeonRX (9): SMC
RadeonRX (9): size_bytes130388
RadeonRX 
(9): header_size_bytes36
RadeonRX 
(9): header_version_major1
RadeonRX 
(9): header_version_minor0
RadeonRX 
(9): ip_version_major7
RadeonRX 
(9): ip_version_minor2
RadeonRX 
(9): ucode_version0x00221700
RadeonRX 
(9): ucode_size_bytes130132
RadeonRX 
(9): ucode_array_offset_bytes256
RadeonRX 
(9): crc320xAE2B3B78
RadeonRX 
(9): ucode_start_addr131072
RadeonRX 
(7): SMC msg0x0252
RadeonRX 
(7): SMC msg0x0253
RadeonRX 
(7): SMC msg0x0250
RadeonRX 
(7): SMC msg0x0251
RadeonRX 
(7): SMC msg0x0254
RadeonRX 
(2): PHMCan't find requested voltage id in vdd_dep_on_sclk table!
RadeonRX (2): PHM: Can'
t find requested voltage id in vdd_dep_on_sclk table!
RadeonRX (2): PHMCan't find requested voltage id in vdd_dep_on_sclk table!
RadeonRX (2): PHM: Can'
t find requested voltage id in vdd_dep_on_sclk table!
RadeonRX (2): PHMCan't find requested voltage id in vdd_dep_on_sclk table!
RadeonRX (2): PHM: Can'
t find requested voltage id in vdd_dep_on_sclk table!
RadeonRX (2): PHMCan't find requested voltage id in vdd_dep_on_sclk table!
RadeonRX (2): PHM: Can'
t find requested voltage id in vdd_dep_on_sclk table!
RadeonRX (7): SMC msg0x005D
RadeonRX 
(7): SMC msg0x0109
RadeonRX 
(7): SMC msg0x0062
RadeonRX 
(7): SMC msg0x018F
RadeonRX 
(7): SMC msg0x0301
RadeonRX 
(7): SMC msg0x014E
RadeonRX 
(7): SMC msg0x0150
RadeonRX 
(7): SMC msg0x0136
RadeonRX 
(7): SMC msg0x0053
RadeonRX 
(7): SMC msg0x0169
RadeonRX 
(7): SMC msg0x0185
RadeonRX 
(7): SMC msg0x0187
RadeonRX 
(7): SMC msg0x0188
RadeonRX 
(7): SMC msg0x010A
RadeonRX 
(7): SMC msg0x0305
RadeonRX 
(7): SMC msg0x026A
RadeonRX 
(7): SMC msg0x0209
RadeonRX 
(7): SMC msg0x0206
RadeonRX 
(7): SMC msg0x005B
RadeonRX 
(7): SMC msg0x0205
RadeonRX 
(7): SMC msg0x020A
RadeonRX 
(6): HW init of  done.
RadeonRX (6): HW init of block 
RadeonRX 
(1): dce_v11_0_hpd_init unimplemented
RadeonRX 
(6): HW init of  done.
RadeonRX (6): HW init of block 
RadeonRX 
(4): ring test on 0 succeeded in 0 usecs
RadeonRX 
(4): ring test on 9 succeeded in 1 usecs
RadeonRX 
(4): ring test on 1 succeeded in 3 usecs
RadeonRX 
(4): ring test on 2 succeeded in 2 usecs
RadeonRX 
(4): ring test on 3 succeeded in 0 usecs
RadeonRX 
(4): ring test on 4 succeeded in 2 usecs
RadeonRX 
(4): ring test on 5 succeeded in 2 usecs
RadeonRX 
(4): ring test on 6 succeeded in 2 usecs
RadeonRX 
(4): ring test on 7 succeeded in 0 usecs
RadeonRX 
(4): ring test on 8 succeeded in 2 usecs
RadeonRX 
(6): HW init of  done.
RadeonRX (1): pm_runtime_get_sync unimplemented
RadeonRX 
(1): amdgpu_atombios_dp_get_dpcd unimplemented
RadeonRX 
(9): DFP1 disconnected
RadeonRX 
(1): pm_runtime_put_autosuspend unimplemented
RadeonRX 
(4): [CONNECTOR:0:DPstatus disconnected
RadeonRX 
(1): pm_runtime_get_sync unimplemented
RadeonRX 
(9): DFP2 connected
RadeonRX 
(1): pm_runtime_put_autosuspend unimplemented
RadeonRX 
(4): [CONNECTOR:1:HDMI-Astatus connected
RadeonRX 
(9): ELD monitor U32J59x
RadeonRX 
(9): HDMIlatency present 0 0video latency 0 1audio latency 96 2
RadeonRX 
(9): ELD size 32SAD count 1
RadeonRX 
(1): pm_runtime_get_sync unimplemented
RadeonRX 
(9): hw_i2c error
RadeonRX 
(9): DFP3 disconnected
RadeonRX 
(1): pm_runtime_put_autosuspend unimplemented
RadeonRX 
(4): [CONNECTOR:2:DVI-Dstatus disconnected
RadeonRX 
(6): #[1m
#[mRadeonRX (8): Connected connector HDMI-A (1) with encoder o�{�o�>� (3) to CRTC0
RadeonRX (6): #[1m
#[mRadeonRX (1): amdgpu_pm_sysfs_init unimplemented
RadeonRX (7): SMC msg0x0306
RadeonRX 
(7): SMC msg0x005E
RadeonRX 
(7): SMC msg0x0145
RadeonRX 
(7): SMC msg0x0146
RadeonRX 
(7): SMC msg0x0145
RadeonRX 
(7): SMC msg0x0146
RadeonRX 
(6): DPM Info:
RadeonRX (7): SMC msg0x0200
RadeonRX 
(7): SMC msg0x0201
RadeonRX 
(6): DPM SClk 214
RadeonRX 
(6): DPM MClk 1750
RadeonRX 
(6): GPU temp 37
RadeonRX 
(7): SMC msg0x0200
RadeonRX 
(6): SClk levels:
0214Mhz *
1551Mhz 
2
734Mhz 
3
980Mhz 
4
1046Mhz 
5
1098Mhz 
6
1124Mhz 
7
1206Mhz 

RadeonRX 
(7): SMC msg0x0201
RadeonRX 
(6): MClk levels:
0300Mhz 
1
625Mhz 
2
1750Mhz *

RadeonRX (6): PCIe clock levels
0
2.5GBx8 *
12.5GBx8 

RadeonRX 
(6): #[1m
#[mRadeonRX (1): Unimplemented section of gfx_v8_0_late_init
RadeonRX (7): SMC msg0x0281
RadeonRX 
(6): #[1m
#[mRadeonRX (1): Unimplemented section of rxLateInit
RadeonRX (6): #[1m
#[mRadeonRX (9): invalid crtc 5
RadeonRX (9): invalid crtc 5
RadeonRX 
(9): invalid crtc 5
RadeonRX 
(9): invalid crtc 5
RadeonRX 
(9): invalid crtc 5
RadeonRX 
(9): invalid crtc 5
RadeonRX 
(9): invalid crtc 5
RadeonRX 
(9): invalid crtc 5
RadeonRX 
(9): invalid crtc 5
RadeonRX 
(9): invalid crtc 5
RadeonRX 
(9): invalid pageflip crtc 5
RadeonRX 
(9): invalid pageflip crtc 5
RadeonRX 
(9): invalid pageflip crtc 5
RadeonRX 
(9): invalid pageflip crtc 5
RadeonRX 
(9): invalid pageflip crtc 5
RadeonRX 
(9): invalid pageflip crtc 5
RadeonRX 
(9): invalid hdp 5
RadeonRX 
(9): invalid me 2
RadeonRX 
(9): invalid me 2
RadeonRX 
(9): invalid me 2
RadeonRX 
(9): invalid me 2
RadeonRX 
(9): Unhandled interrupt src_id231
RadeonRX 
(4): ResolvePixelClockindex50
RadeonRX 
(9): hw_i2c error
RadeonRX 
(9): hw_i2c error
RadeonRX 
(9): hw_i2c error

Video Data Block
SVD
ID 97

Audio Data Block
SAD
Format=1 NumChannels=2

Speaker Allocation Data Block

Vendor Specific Data Block

Vendor Specific Data Block
RadeonRX 
(4): ResolvePixelClockindex50
peg2ide
.device 53.22 (28.6.2017)

[
peg2ide/dev_initXfer modes forced in $peg2ide_xfer FFFF
[peg2ide/dev_initIRQ modes forced in $peg2ide_irq 1111
[peg2ide/dev_initFound chip #0
[peg2ide/init_port] ---> Port 0
[peg2ide/init_portIOBase 00001000AltBase 0000100A
[peg2ide/init_portbmcr_base 00001020
[peg2ide/init_portMMIOBase 00000000
[peg2ide/init_portConfig not forcedscanning port 0...
[
peg2ide/reg_configassuming device 0 is TYPE_NONE
[peg2ide/reg_configassuming device 1 is TYPE_NONE
[peg2ide/reg_configthere seems to be a device 0assuming TYPE_UNKN
[peg2ide/reg_configthere seems to be a device 1assuming TYPE_UNKN
[peg2ide/reg_configdevice 0 is ATA
[peg2ide/reg_configdevice 1 is unknown (sc 01 sn 01 cl FF ch FF st 00
[peg2ide/init_port1 device(son port
[peg2ide/port_list]  0 Master 'ATA'
[peg2ide/port_list]  1 Slave  'unknown type'
[peg2ide/init_portStarting 'peg2ide.device - chip 0 port 0' task
[peg2ide/init_unitTrying to configure unit 0
000
0040 1041 0000 0010 7E00 0200 003F 0000 
008: 0000 0000 514D 3030 3030 3120 2020 2020 
016
2020 2020 2020 2020 0003 0200 0004 322E 
024
352B 2020 2020 5145 4D55 2048 4152 4444 
032
4953 4B20 2020 2020 2020 2020 2020 2020 
040
2020 2020 2020 2020 2020 2020 2020 8010 
048: 0001 0B00 0000 0200 0200 0007 1041 0010 
056
003F FFF0 003F 0110 0000 0040 0007 0007 
064
0003 0078 0078 0078 0078 4000 0000 0000 
072
0000 0000 0000 0000 0000 0000 0000 0000 
080: 00F0 0016 4021 7400 4000 4021 3400 4000 
088: 203F 0000 0000 0000 0000 6001 0000 0000 
096: 0000 0000 0000 0000 0000 0040 0000 0000 
104
0000 0000 6000 0000 0000 0000 0000 0000 
112
0000 0000 0000 0000 0000 0000 0000 0000 
120
0000 0000 0000 0000 0000 0000 0000 0000 
128
0000 0000 0000 0000 0000 0000 0000 0000 
136
0000 0000 0000 0000 0000 0000 0000 0000 
144
0000 0000 0000 0000 0000 0000 0000 0000 
152
0000 0000 0000 0000 0000 0000 0000 0000 
160
0000 0000 0000 0000 0000 0000 0000 0000 
168
0000 0001 0000 0000 0000 0000 0000 0000 
176
0000 0000 0000 0000 0000 0000 0000 0000 
184
0000 0000 0000 0000 0000 0000 0000 0000 
192
0000 0000 0000 0000 0000 0000 0000 0000 
200
0000 0000 0000 0000 0000 0000 0000 0000 
208
0000 0000 0000 0000 0000 0000 0000 0000 
216
0000 0000 0000 0000 0000 0000 0000 0000 
224
0000 0000 0000 0000 0000 0000 0000 0000 
232
0000 0000 0000 0000 0000 0000 0000 0000 
240
0000 0000 0000 0000 0000 0000 0000 0000 
248
0000 0000 0000 0000 0000 0000 0000 0000 
[peg2ide/ata_read_drive_propertiesUnit 0 LBA48-capable but LBA28 size
[peg2ide/ata_read_drive_propertiesmulti_count 16
[peg2ide/ata_read_drive_propertiesAdjusting unit 0 to xfer mode 69
[peg2ide/init_unitUnit configuredflags $0185
[
peg2ide/init_unitTrying to configure unit 1
[peg2ide/ata_read_drive_propertiesAfter-reset signature invalid for unit 1
[peg2ide/init_portPort 0 task started
[peg2ide/init_port] ---> Port 1
[peg2ide/init_portIOBase 00001010AltBase 0000101A
[peg2ide/init_portbmcr_base 00001028
[
peg2ide/init_portMMIOBase 00000000
[peg2ide/init_portConfig not forcedscanning port 1...
[
peg2ide/reg_configassuming device 0 is TYPE_NONE
[peg2ide/reg_configassuming device 1 is TYPE_NONE
[peg2ide/reg_configthere seems to be a device 0assuming TYPE_UNKN
[peg2ide/reg_configthere seems to be a device 1assuming TYPE_UNKN
[peg2ide/reg_configdevice 0 is ATA
[peg2ide/reg_configdevice 1 is ATAPI
[peg2ide/init_port2 device(son port
[peg2ide/port_list]  0 Master 'ATA'
[peg2ide/port_list]  1 Slave  'ATAPI'
[peg2ide/init_portStarting 'peg2ide.device - chip 0 port 1' task
[peg2ide/init_unitTrying to configure unit 2
000
0040 3FFF 0000 0010 7E00 0200 003F 0000 
008: 0000 0000 514D 3030 3030 3320 2020 2020 
016
2020 2020 2020 2020 0003 0200 0004 322E 
024
352B 2020 2020 5145 4D55 2048 4152 4444 
032
4953 4B20 2020 2020 2020 2020 2020 2020 
040
2020 2020 2020 2020 2020 2020 2020 8010 
048: 0001 0B00 0000 0200 0200 0007 3FFF 0010 
056
003F FC10 00FB 0110 0000 0280 0007 0007 
064
0003 0078 0078 0078 0078 4000 0000 0000 
072
0000 0000 0000 0000 0000 0000 0000 0000 
080: 00F0 0016 4021 7400 4000 4021 3400 4000 
088: 203F 0000 0000 0000 0000 6001 0000 0000 
096: 0000 0000 0000 0000 0000 0280 0000 0000 
104
0000 0000 6000 0000 0000 0000 0000 0000 
112
0000 0000 0000 0000 0000 0000 0000 0000 
120
0000 0000 0000 0000 0000 0000 0000 0000 
128
0000 0000 0000 0000 0000 0000 0000 0000 
136
0000 0000 0000 0000 0000 0000 0000 0000 
144
0000 0000 0000 0000 0000 0000 0000 0000 
152
0000 0000 0000 0000 0000 0000 0000 0000 
160
0000 0000 0000 0000 0000 0000 0000 0000 
168
0000 0001 0000 0000 0000 0000 0000 0000 
176
0000 0000 0000 0000 0000 0000 0000 0000 
184
0000 0000 0000 0000 0000 0000 0000 0000 
192
0000 0000 0000 0000 0000 0000 0000 0000 
200
0000 0000 0000 0000 0000 0000 0000 0000 
208
0000 0000 0000 0000 0000 0000 0000 0000 
216
0000 0000 0000 0000 0000 0000 0000 0000 
224
0000 0000 0000 0000 0000 0000 0000 0000 
232
0000 0000 0000 0000 0000 0000 0000 0000 
240
0000 0000 0000 0000 0000 0000 0000 0000 
248
0000 0000 0000 0000 0000 0000 0000 0000 
[peg2ide/ata_read_drive_propertiesUnit 2 LBA48-capable but LBA28 size
[peg2ide/ata_read_drive_propertiesmulti_count 16
[peg2ide/ata_read_drive_propertiesAdjusting unit 2 to xfer mode 69
[peg2ide/init_unitUnit configuredflags $0185
[
peg2ide/init_unitTrying to configure unit 3
RadeonRX 
(9): encoder dpms 32 to mode 3devices 00000080, active_devices 00000000
RadeonRX 
(1): drm_crtc_vblank_off unimplemented
RadeonRX 
(9): force priority to high
RadeonRX 
(9): force priority to high
RadeonRX 
(7): SMC msg0x0145
RadeonRX 
(7): SMC msg0x0146
RadeonRX 
(6): DPM Info:
RadeonRX (7): SMC msg0x0200
RadeonRX 
(7): SMC msg0x0201
RadeonRX 
(6): DPM SClk 261
RadeonRX 
(6): DPM MClk 300
RadeonRX 
(6): GPU temp 35
RadeonRX 
(7): SMC msg0x0200
RadeonRX 
(6): SClk levels:
0214Mhz 
1
551Mhz *
2734Mhz 
3
980Mhz 
4
1046Mhz 
5
1098Mhz 
6
1124Mhz 
7
1206Mhz 

RadeonRX 
(7): SMC msg0x0201
RadeonRX 
(6): MClk levels:
0300Mhz *
1625Mhz 
2
1750Mhz 

RadeonRX 
(6): PCIe clock levels
0
2.5GBx8 *
12.5GBx8 

RadeonRX 
(9): setting active device to 00000080 from 00000080 00000080 for encoder 2
RadeonRX 
(9): HDMI-ADisplay bpc=0returned bpc=8
RadeonRX 
(9): [CRTC:0:CRTC0]
RadeonRX (9): HDMI-ADisplay bpc=0returned bpc=8
RadeonRX 
(9): encoder dpms 32 to mode 3devices 00000008, active_devices 00000000
RadeonRX 
(9): encoder dpms 30 to mode 3devices 00000200active_devices 00000000
RadeonRX 
(1): drm_crtc_vblank_off unimplemented
RadeonRX 
(7): SMC msg0x0145
RadeonRX 
(7): SMC msg0x0146
RadeonRX 
(6): DPM Info:
RadeonRX (7): SMC msg0x0200
RadeonRX 
(7): SMC msg0x0201
RadeonRX 
(6): DPM SClk 257
RadeonRX 
(6): DPM MClk 300
RadeonRX 
(6): GPU temp 35
RadeonRX 
(7): SMC msg0x0200
RadeonRX 
(6): SClk levels:
0214Mhz 
1
551Mhz *
2734Mhz 
3
980Mhz 
4
1046Mhz 
5
1098Mhz 
6
1124Mhz 
7
1206Mhz 

RadeonRX 
(7): SMC msg0x0201
RadeonRX 
(6): MClk levels:
0300Mhz *
1625Mhz 
2
1750Mhz 

RadeonRX 
(6): PCIe clock levels
0
2.5GBx8 *
12.5GBx8 

RadeonRX 
(9): amdgpu_atombios_crtc_program_pllcrtc_id0pll_id23encoder_mode3encoder_id32clock25000ref_div0,  fb_div0frac_fb_div0post_div0bpc8ss_enabled0
RadeonRX 
(9): [ENCODER:2:TMDSset [MODE:640x480]
RadeonRX (9): encoder dpms 32 to mode 3devices 00000080, active_devices 00000080
RadeonRX (9): Enabling AFMT interface @ 0x0300 for encoder 0x20
RadeonRX 
(9): HDMI-ADisabling hdmi deep color for 8 bpc.
RadeonRX (9): Calculated ACR timing N=4096 CTS=25000 for frequency 32000
RadeonRX 
(9): Calculated ACR timing N=7056 CTS=31250 for frequency 44100
RadeonRX 
(9): Calculated ACR timing N=6144 CTS=25000 for frequency 48000
RadeonRX 
(1): drm_crtc_vblank_on unimplemented
RadeonRX 
(7): SMC msg0x0145
RadeonRX 
(7): SMC msg0x0146
RadeonRX 
(6): DPM Info:
RadeonRX (7): SMC msg0x0200
RadeonRX 
(7): SMC msg0x0201
RadeonRX 
(6): DPM SClk 251
RadeonRX 
(6): DPM MClk 300
RadeonRX 
(6): GPU temp 35
RadeonRX 
(7): SMC msg0x0200
RadeonRX 
(6): SClk levels:
0214Mhz 
1
551Mhz *
2734Mhz 
3
980Mhz 
4
1046Mhz 
5
1098Mhz 
6
1124Mhz 
7
1206Mhz 

RadeonRX 
(7): SMC msg0x0201
RadeonRX 
(6): MClk levels:
0300Mhz *
1625Mhz 
2
1750Mhz 

RadeonRX 
(6): PCIe clock levels
0
2.5GBx8 *
12.5GBx8 

RadeonRX 
(9): encoder dpms 32 to mode 0devices 00000080, active_devices 00000080
[
peg2ide/ata_read_drive_propertiesAdjusting unit 3 to xfer mode 69
[peg2ide/init_unitUnit configuredflags $011D
[peg2ide/init_portPort 1 task started
[peg2ide/dev_initAll done
it8212ide
.device 53.22 (28.6.2017)

[
it8212ide/dev_initNothing startedbailing out
lsi53c8xx
.device 53.22 (28.6.2017)

[
lsi53c8xx/dev_initNothing startedbailing out
[mediabootDiskboot is presentSkip mounting static devices.
[
USBINFO "USB stack" "" | ==========
[
USBINFO "USB stack" "" USB System Software Task started
[USBINFO "USB stack" "" Starting HCDs...
[
USBINFO "USB stack" "New Fkt" Attached RootHub Fkt 0x6FF968C0 at level -1 on HCD "uhci.usbhcd" unit 0
[USBINFO "USB stack" "New Fkt" Attached Fkt 0x6FF96960 at level 0 on HCD "uhci.usbhcd" unit 0
[USBINFO "USB stack" "New Fkt" Attached RootHub Fkt 0x6FF96A00 at level -1 on HCD "uhci.usbhcd" unit 1
[USBINFO "USB stack" "New Fkt" Attached Fkt 0x6FF96AA0 at level 0 on HCD "uhci.usbhcd" unit 1
[USBINFO "USB stack" "" | ...HCDs started.
[
USBINFO "USB Fkt Init" "Init Fkt" | [fkt 0x6FF96960Fkt is {Vendor0x0000Product0x0000, Class: 09.00}
[
USBINFO "USB Fkt Init" "Init Fkt" | [fkt 0x6FF96AA0Fkt is {Vendor0x0000Product0x0000, Class: 09.00}
[
USBINFO "USB Fkt Init" "Init Fkt" | [fkt 0x6FF96960Fkt ("","Rear Roothub (uhci.usbhcd/0)",""initialized
[USBINFO "USB Fkt Init" "Init Fkt" | [fkt 0x6FF96AA0Fkt ("","Front Roothub (uhci.usbhcd/1)",""initialized
[USBINFO "hub.usbfd" "HUB" Hub "Rear Roothub (uhci.usbhcd/0)" has TT thinktime of 8 full speed bittimes and protocol 0 (ifc 0x6FF01F10)
[
USBINFO "hub.usbfd" "HUB" Hub "Front Roothub (uhci.usbhcd/1)" has TT thinktime of 8 full speed bittimes and protocol 0 (ifc 0x6F49D040)
[
USBINFO "hub.usbfd" "HUB" All ports are empty (ifc 0x6FF01F10)
[
USBINFO "hub.usbfd" "HUB" All ports are empty (ifc 0x6F49D040)
[
USBINFO "hub.usbfd" "Sys_EndInitialAttachmentPhase" Initial USB Attachment Phase terminated
[bootmenuDetected machine type Pegasos II
[bootmenuNo preferred BootDevice specified
[bootmenuPreferred keyboard device is "keyboard.device" unit 0
[bootmenuPeekQualifier(): LMB is upMMB is upRMB is up
[bootmenuInput handler installed
[bootmenuWaiting 100 ticks for user input
[bootmenuNo user input detected within wait loop
[bootmenuRemoved input handler
[bootmenuPeekQualifier(): LMB is upMMB is upRMB is up
[bootmenuContinuing normal boot sequence
[strapBegin
[strapSkipping non-boot node 0x6FFA83E2 (type 111)
[
strapSkipping non-boot node 0x6FFFDE00 (type 0)
[
strapDevice node "DH0" is boot point device
[strapHandover to dos for "DH0"

[DOSStarting DOS 54.112 -- Kernel debug level is 7
[DOSBootnode from expansion->mountlist is device name "DH0" 
[DOS"Initial CLI" process starteddoslib creation task now ending.

[
RAMHandler has started successfully. [DebugLevel=7]
RadeonRX (4): ResolvePixelClockindex80
RadeonRX 
(4): ResolvePixelClockindex80
RadeonRX 
(4): ResolvePixelClockindex80
RadeonRX 
(4): ResolvePixelClockindex72
RadeonRX 
(4): ResolvePixelClockindex72
RadeonRX 
(4): ResolvePixelClockindex72
RadeonRX 
(4): ResolvePixelClockindex63
RadeonRX 
(4): ResolvePixelClockindex63
RadeonRX 
(4): ResolvePixelClockindex63
RadeonRX 
(4): ResolvePixelClockindex63
RadeonRX 
(4): ResolvePixelClockindex63
RadeonRX 
(4): ResolvePixelClockindex63
RadeonRX 
(4): ResolvePixelClockindex54
RadeonRX 
(4): ResolvePixelClockindex54
RadeonRX 
(4): ResolvePixelClockindex54
RadeonRX 
(4): ResolvePixelClockindex50
RadeonRX 
(4): ResolvePixelClockindex50
RadeonRX 
(4): ResolvePixelClockindex50
RadeonRX 
(4): ResolvePixelClockindex56
RadeonRX 
(4): ResolvePixelClockindex56
RadeonRX 
(4): ResolvePixelClockindex56
RadeonRX 
(4): ResolvePixelClockindex270
RadeonRX 
(4): ResolvePixelClockindex270
RadeonRX 
(4): ResolvePixelClockindex270
RadeonRX 
(4): ResolvePixelClockindex157
RadeonRX 
(4): ResolvePixelClockindex157
RadeonRX 
(4): ResolvePixelClockindex157
RadeonRX 
(4): ResolvePixelClockindex150
RadeonRX 
(4): ResolvePixelClockindex150
RadeonRX 
(4): ResolvePixelClockindex150
RadeonRX 
(4): ResolvePixelClockindex130
RadeonRX 
(4): ResolvePixelClockindex130
RadeonRX 
(4): ResolvePixelClockindex130
RadeonRX 
(4): ResolvePixelClockindex106
RadeonRX 
(4): ResolvePixelClockindex106
RadeonRX 
(4): ResolvePixelClockindex106
RadeonRX 
(4): ResolvePixelClockindex99
RadeonRX 
(4): ResolvePixelClockindex99
RadeonRX 
(4): ResolvePixelClockindex99
RadeonRX 
(4): ResolvePixelClockindex100
RadeonRX 
(4): ResolvePixelClockindex100
RadeonRX 
(4): ResolvePixelClockindex100
RadeonRX 
(4): ResolvePixelClockindex216
RadeonRX 
(4): ResolvePixelClockindex216
RadeonRX 
(4): ResolvePixelClockindex216
RadeonRX 
(4): ResolvePixelClockindex142
RadeonRX 
(4): ResolvePixelClockindex142
RadeonRX 
(4): ResolvePixelClockindex142
RadeonRX 
(4): ResolvePixelClockindex148
RadeonRX 
(4): ResolvePixelClockindex148
RadeonRX 
(4): ResolvePixelClockindex148
RadeonRX 
(4): ResolvePixelClockindex216
RadeonRX 
(4): ResolvePixelClockindex216
RadeonRX 
(4): ResolvePixelClockindex216
RadeonRX 
(4): ResolvePixelClockindex177
RadeonRX 
(4): ResolvePixelClockindex177
RadeonRX 
(4): ResolvePixelClockindex177
RadeonRX 
(4): ResolvePixelClockindex195
RadeonRX 
(4): ResolvePixelClockindex195
RadeonRX 
(4): ResolvePixelClockindex195
RadeonRX 
(4): ResolvePixelClockindex238
RadeonRX 
(4): ResolvePixelClockindex238
RadeonRX 
(4): ResolvePixelClockindex238
RadeonRX 
(4): ResolvePixelClockindex297
RadeonRX 
(4): ResolvePixelClockindex297
RadeonRX 
(4): ResolvePixelClockindex297
RadeonRX 
(4): ResolvePixelClockindex297
RadeonRX 
(4): ResolvePixelClockindex297
RadeonRX 
(4): ResolvePixelClockindex297
RadeonRX 
(4): ResolvePixelClockindex594
RadeonRX 
(4): ResolvePixelClockindex594
RadeonRX 
(4): ResolvePixelClockindex594
RadeonRX 
(4): ResolvePixelClockindex483
RadeonRX 
(4): ResolvePixelClockindex483
RadeonRX 
(4): ResolvePixelClockindex483
RadeonRX 
(4): ResolvePixelClockindex1305
RadeonRX 
(4): ResolvePixelClockindex1305
RadeonRX 
(4): ResolvePixelClockindex1305
RadeonRX 
(4): ResolvePixelClockindex1188
RadeonRX 
(4): ResolvePixelClockindex1188
RadeonRX 
(4): ResolvePixelClockindex1188
[DOS ELF_LSNOTENo _start() found in file "LIBS:mpega.library" installing dummy_start().
[
USBINFO "USB stack Process" "" USB System Software Process started.
[
USBINFO "USB stack Process" "" Reading FD descriptors...
[
USBINFO "USB stack Process" "" | ...FD infos read
[USBINFO "USB stack Process" "" Starting HCDs...
[
USBINFO "USB stack Process" "" | ...HCDs started.
[
USBINFO "USB stack Process" "Sys_EndInitialAttachmentPhase" Initial USB Attachment Phase terminated
[USBINFO "USB stack Process" "" USB stack fullbooted
[DOS ELF_LSNOTENo _start() found in file "DEVS:AHI/oxygenhd.audio" installing dummy_start().
No CMI8738 found! :-(
CS4281 DRIVERINIT
No card present
.
[
VIA-AC97Errorsoft resume timed out!
No SOLO_ONE found! :-(
No SB128 found! :-(
No FM801 found! :-(
RadeonRX (9): encoder dpms 32 to mode 3devices 00000080, active_devices 00000080
RadeonRX (9): Disabling AFMT interface @ 0x0300 for encoder 0x20
RadeonRX 
(1): drm_crtc_vblank_off unimplemented
RadeonRX 
(7): SMC msg0x0145
RadeonRX 
(7): SMC msg0x0146
RadeonRX 
(6): DPM Info:
RadeonRX (7): SMC msg0x0200
RadeonRX 
(7): SMC msg0x0201
RadeonRX 
(6): DPM SClk 214
RadeonRX 
(6): DPM MClk 300
RadeonRX 
(6): GPU temp 35
RadeonRX 
(7): SMC msg0x0200
RadeonRX 
(6): SClk levels:
0214Mhz *
1551Mhz 
2
734Mhz 
3
980Mhz 
4
1046Mhz 
5
1098Mhz 
6
1124Mhz 
7
1206Mhz 

RadeonRX 
(7): SMC msg0x0201
RadeonRX 
(6): MClk levels:
0300Mhz *
1625Mhz 
2
1750Mhz 

RadeonRX 
(6): PCIe clock levels
0
2.5GBx8 *
12.5GBx8 

RadeonRX 
(9): amdgpu_atombios_crtc_program_pllcrtc_id255pll_id23encoder_mode0encoder_id0clock0ref_div0,  fb_div0frac_fb_div0post_div0bpc0ss_enabled0
RadeonRX 
(9): setting active device to 00000080 from 00000080 00000080 for encoder 2
RadeonRX 
(9): HDMI-ADisplay bpc=0returned bpc=8
RadeonRX 
(9): [CRTC:0:CRTC0]
RadeonRX (9): HDMI-ADisplay bpc=0returned bpc=8
RadeonRX 
(9): encoder dpms 32 to mode 3devices 00000008, active_devices 00000000
RadeonRX 
(9): encoder dpms 30 to mode 3devices 00000200active_devices 00000000
RadeonRX 
(1): drm_crtc_vblank_off unimplemented
RadeonRX 
(9): force priority to high
RadeonRX 
(9): force priority to high
RadeonRX 
(7): SMC msg0x0145
RadeonRX 
(7): SMC msg0x0146
RadeonRX 
(6): DPM Info:
RadeonRX (7): SMC msg0x0200
RadeonRX 
(7): SMC msg0x0201
RadeonRX 
(6): DPM SClk 214
RadeonRX 
(6): DPM MClk 300
RadeonRX 
(6): GPU temp 35
RadeonRX 
(7): SMC msg0x0200
RadeonRX 
(6): SClk levels:
0214Mhz *
1551Mhz 
2
734Mhz 
3
980Mhz 
4
1046Mhz 
5
1098Mhz 
6
1124Mhz 
7
1206Mhz 

RadeonRX 
(7): SMC msg0x0201
RadeonRX 
(6): MClk levels:
0300Mhz *
1625Mhz 
2
1750Mhz 

RadeonRX 
(6): PCIe clock levels
0
2.5GBx8 *
12.5GBx8 

RadeonRX 
(9): amdgpu_atombios_crtc_program_pllcrtc_id0pll_id23encoder_mode3encoder_id32clock148500ref_div0,  fb_div0frac_fb_div0post_div0bpc8ss_enabled0
RadeonRX 
(9): force priority to high
RadeonRX 
(9): force priority to high
RadeonRX 
(9): [ENCODER:2:TMDSset [MODE:1920x1080]
RadeonRX (9): encoder dpms 32 to mode 3devices 00000080, active_devices 00000080
RadeonRX (9): Enabling AFMT interface @ 0x0300 for encoder 0x20
RadeonRX 
(9): HDMI-ADisabling hdmi deep color for 8 bpc.
RadeonRX (1): drm_crtc_vblank_on unimplemented
RadeonRX 
(9): force priority to high
RadeonRX 
(9): force priority to high
RadeonRX 
(7): SMC msg0x0145
RadeonRX 
(7): SMC msg0x0146
RadeonRX 
(6): DPM Info:
RadeonRX (7): SMC msg0x0200
RadeonRX 
(7): SMC msg0x0201
RadeonRX 
(6): DPM SClk 214
RadeonRX 
(6): DPM MClk 300
RadeonRX 
(6): GPU temp 35
RadeonRX 
(7): SMC msg0x0200
RadeonRX 
(6): SClk levels:
0214Mhz *
1551Mhz 
2
734Mhz 
3
980Mhz 
4
1046Mhz 
5
1098Mhz 
6
1124Mhz 
7
1206Mhz 

RadeonRX 
(7): SMC msg0x0201
RadeonRX 
(6): MClk levels:
0300Mhz *
1625Mhz 
2
1750Mhz 

RadeonRX 
(6): PCIe clock levels
0
2.5GBx8 *
12.5GBx8 

RadeonRX 
(9): encoder dpms 32 to mode 0devices 00000080, active_devices 00000080
RadeonRX (4): Truecolour pointer
RadeonRX 
(4): pointer dimensions4646
No Envy24 found
! :-(
RadeonRX (4): Planar pointer
RadeonRX 
(4): Truecolour pointer
RadeonRX 
(4): pointer dimensions4646
RadeonRX 
(4): Planar pointer
RadeonRX 
(4): Truecolour pointer
RadeonRX 
(4): pointer dimensions4646
RadeonRX 
(4): Planar pointer
RadeonRX 
(4): Truecolour pointer
RadeonRX 
(4): pointer dimensions4646
RadeonRX 
(4): Planar pointer
RadeonRX 
(4): Truecolour pointer
RadeonRX 
(4): pointer dimensions4646
RadeonRX 
(4): Planar pointer
RadeonRX 
(4): Truecolour pointer
RadeonRX 
(4): pointer dimensions4646
RadeonRX 
(4): Planar pointer
RadeonRX 
(4): Truecolour pointer
RadeonRX 
(4): pointer dimensions4646
RadeonRX 
(4): Planar pointer
RadeonRX 
(4): Truecolour pointer
RadeonRX 
(4): pointer dimensions4646
RadeonRX 
(4): Planar pointer
RadeonRX 
(4): Truecolour pointer
RadeonRX 
(4): pointer dimensions4646
RadeonRX 
(4): Planar pointer
RadeonRX 
(4): Truecolour pointer
RadeonRX 
(4): pointer dimensions4646
RadeonRX 
(4): Planar pointer
RadeonRX 
(4): Truecolour pointer
RadeonRX 
(4): pointer dimensions4646
RadeonRX 
(4): Planar pointer
RadeonRX 
(4): Truecolour pointer
RadeonRX 
(4): pointer dimensions4646
RadeonRX 
(4): Planar pointer
RadeonRX 
(4): Truecolour pointer
RadeonRX 
(4): pointer dimensions4646


Edited by nikitas on 2024/6/5 16:09:17
Edited by nikitas on 2024/6/5 16:10:10
Edited by nikitas on 2024/6/5 17:01:25
Go to top
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Site Builder
Site Builder


See User information
Hello Nikitas,
Welcome to our forum.
I do not know much of what you are doing, but have you checked the https://www.amigans.net/modules/newbb/viewtopic.php?topic_id=9568 ?

Balaton mentions there that the RX550 is slow for him as well.
This is a topic I want to investigate more myself, so I am looking at these discussions with increased interest.

Follow me on
Ko-fi, Twitter, YouTube, Twitch
Go to top
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Just popping in
Just popping in


See User information
@walkero

Hi there,

What I am trying to do is a passthrough of my secondary host GPU, a Sapphire RadeonRX 550 on Qemu, PegasosII emulation machine. On this QEMU setup, I installed AmigaOS4.1 FE Pegasos II Edition. Then with great help from @balaton via email, I managed to make a successful VFIO passthrough.

Before that, I had to isolate my RadeonRX GPU on the host system so it only uses the VFIO driver.

I plugged in the secondary card on a second monitor. Using an HDMI-to-HDMI cable. It seems to work because AmigaOS reports that is using the card via the RadeonRX.chip driver. At this moment my problem is that AOS4 is extremely slow. So slow that you have to be very very patient to do the slightest operation, such as double clicking on a Workbench folder... The window appears after 2-3 seconds and I can see it drawing and drawing for another 5-6 seconds.


It is true, that a real PegasosII does not have a PCIe slot. Only PCI. My Radeon GPU is plugged into a PCIe slot because my motherboard is relatively new, so it does not have a PCI slot. I don't know if this contributes to the slow performance.

I don't even know if the problem is on QEMU side or on AmigaOS4 Radeon.chip side. But I guess that the problem may exist in the AmigaOS part.

On the post that you've sent, Zoltan may refer to the conversation we had via email. Not sure.

Go to top
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Not too shy to talk
Not too shy to talk


See User information
@nikitas

Just to check - have you gone into Power prefs and changed the gfx card settings to fastest possible?

Go to top
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Just popping in
Just popping in


See User information
@derfs

Yep, I've done this already...

Go to top
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Just can't stay away
Just can't stay away


See User information
@nikitas
Quote:
It is true, that a real PegasosII does not have a PCIe slot. Only PCI. My Radeon GPU is plugged into a PCIe slot because my motherboard is relatively new, so it does not have a PCI slot. I don't know if this contributes to the slow performance.
No, the fast RadeonHD cards used are PCIe as well.

Since you get 100% CPU usage even for very simple things using a tool like http://os4depot.net/?function=showfil ... ity/workbench/tequila.lha or my top may help to check which task(s) are using the CPU.

For the RadeonHD cards with fast results the Pegasos2 firmware was used in addition to BBoot, you could try if that changes anything (may require additional steps, something like "/failsafe" in the firmware prompt, but I don't know anything about the Pegasos2 firmware).

Go to top
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Just popping in
Just popping in


See User information
@joerg

Here you go,

https://ibb.co/1bVsZ31

.....
idle. Task 64.1%
compose. Task 10%
page_sweep 2.8%
.....



Also, I have tried both ways. Using pegasos.rom and bboot. Both work, the same slow performance though.

Go to top
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Quite a regular
Quite a regular


See User information
@nikitas
Yes, I've quoted your report and log in the other thread for RX 550. What happens if you remove bus=pci.0 from the vfio-pci devices? Does it help if you disable compositing or select a theme that does not use transparency? (Just because compose.task shows up using CPU in your screen shot but I don't know what that does ot if it's related.) The problem can not only be in QEMU and AmigaOS but also on the host side of things. Does this card have UEFI BIOS or does your UEFI have CSM enabled in setup? Do you have another machine to try this card with to see if you get the same problem to rule out problem with the host?

Go to top
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Just popping in
Just popping in


See User information
@balaton

Hello,

When I remove the bus=pci.0 it gets stuck with:

Invalid write at addr 0xFE000080size 1region '(null)'reasonrejected
Invalid write at addr 0x80
size 1region '(null)'reasonrejected


By using the bus=pci.0, it still shows this message above but it continues and boots.

I have tried with both CSM Disabled/Enabled.
In case of CSM Disabled I've tried both PCI "Legacy Only" and "UEFI Only" modes. The latter was unnecessary to try, I think.

Also, in UEFI, by having the "Resize Bar" setting to "Enabled", the above message is printed again, not once but periodically, every half of a second, and the system does not boot.

I disabled compositing effects on AmigaOS, and any transparency setting I found, but no luck. It is slightly more responsive but not sustainable for someone to use.

I currently do not have a second machine to try the GPU.

FYI: I use the same card with VFIO, virsh, to run a Windows 11 guest, and it works smoothly.

Go to top
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Quite a regular
Quite a regular


See User information
@nikitas
Quote:
By using the bus=pci.0, it still shows this message above but it continues and boots.

So that message may not be related to this and is shown anyway. Something is probably trying to print a diag code as this register is used for diagnostics on ISA bus but if it's just one char it's probably not something we can interpret without knowing what prints it. Do you get this log even without -bios pegasos2.rom and do you only get it when you have the passed through GPU or even without the -device vfio-pci options?

Maybe there's not enough space to map GPU BARs on the default PCI bus. What does info pci show in QEMU monitor with and without bus=pci.0 after AmigaOS started to boot or as far as it gets?

Quote:
I have tried with both CSM Disabled/Enabled.
In case of CSM Disabled I've tried both PCI "Legacy Only" and "UEFI Only" modes. The latter was unnecessary to try, I think.

Also, in UEFI, by having the "Resize Bar" setting to "Enabled", the above message is printed again, not once but periodically, every half of a second, and the system does not boot.

When it prints it periodically you said before it may try to reboot again and again. You could add -d unimp,guest_errors to QEMU command to get some more logs and maybe that also shows if it reboots or not (if you get all logs periodically then it's likely a reboot otherwise it's just stuck in whatever causes this write to port 80).

Quote:
FYI: I use the same card with VFIO, virsh, to run a Windows 11 guest, and it works smoothly.

OK if that's the same machine, same card, same QEMU then the host side at least should be OK. Does it also work with a Linux guest instead of Windows? Does it work with a PPC Linux guest on pegasos2? If so then problem is most likely in AmigaOS side otherwise we should be able to reproduce with PPC Linux guest which may give better logs to find the cause of the problem.

Go to top
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Just can't stay away
Just can't stay away


See User information
@balaton
Quote:
(Just because compose.task shows up using CPU in your screen shot but I don't know what that does ot if it's related.)
compose.task does the alpha blending with transparency, adding shadows, etc. of the window bitmaps to the screen bitmap.
It's using the 3D features of the GPU and therefore doesn't copy much data around (except on GPUs without 3D support like SM501/2 where CPU based workarounds have to be used), but just sends GPU commands to the gfx card.
The only reason I can think of that that's very slow would be extremely slow access to the gfx card VRAM.
Maybe a general problem with VFIO on QEmu?
For example

https://lists.hdrlab.org.nz/benchmark/ ... 2d/OS/AmigaOS/Result/2348 (X5000/20, Radeon RX Polaris10)
Operation MiB/s
Copy to VRAM 533.72
Write Pixel Array 1,071.60
Copy from VRAM 40.33
Read Pixel Array 995.02

https://lists.hdrlab.org.nz/benchmark/ ... 2d/OS/AmigaOS/Result/1551 (X1000, Radeon HD 6970)
Operation MiB/s
Copy to VRAM 438.44
Write Pixel Array 1,415.46
Copy from VRAM 41.77
Read Pixel Array 398.56

https://www.hdrlab.org.nz/benchmark/gf ... 2d/OS/AmigaOS/Result/2660 (Sam460ex, Radeon HD 5450)
Operation MiB/s
Copy to VRAM 305.30
Write Pixel Array 540.02
Copy from VRAM 59.13
Read Pixel Array 60.30

https://www.hdrlab.org.nz/benchmark/gf ... 2d/OS/AmigaOS/Result/2773 (QEmu on i5, Radeon HD 7800 Series (MSI R9 270x))
Operation MiB/s
Copy to VRAM 67.15
Write Pixel Array 65.74
Copy from VRAM 6.09
Read Pixel Array 6.16

Go to top
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Home away from home
Home away from home


See User information
@joerg

Ouch! Those VRAM access stats are horrifically bad, and could indeed explain poor performance. It's a double-whammy:

First, the driver doesn't use GART on older systems like the pegasos-2, A1-XE, & Sam460 due to lack of memory coherency. I tried manual cache flushing/invalidation, but simply couldn't get it to work reliably. So, all commands are written to VRAM. Therefore, slow VRAM access means slower command submission.

Second, AmigaOS does a lot of CPU-based rendering. Far too much. This includes things such as drawing text and lines (other than horizontal or vertical). This will frequently involve both reading from and writing to VRAM. Reading from VRAM at just 6MiB/s is especially bad. A 32-bit 1080p screen is ~8 MiB, which would take approx. 1.33s to read...

Disabling text anti-aliasing should speed up rendering of text. I bet the whole system would still be sluggish, though.

The graphics library does use DMA to copy to/from VRAM on some platforms (e.g., the Sam4x0, X1000, X5000, & possibly A1222). Emulating one of those platforms might help, provided that emulation of the CPU's DMA engines uses actual DMA. PCI-Express busses have a high penalty for accessing small blocks of data (e.g., just 32 or 64 bits).

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Just can't stay away
Just can't stay away


See User information
@Hans
Quote:
Ouch! Those VRAM access stats are horrifically bad ...
And that was even the fastest result of a passed-through gfx card on QEmu until now, other results are even worse, for example
https://ftp.hdrlab.org.nz/benchmark/gf ... 2d/OS/AmigaOS/Result/2772
Operation MiB/s
Copy to VRAM 4.19
Write Pixel Array 4.38
Copy from VRAM 2.24
Read Pixel Array 2.26

Go to top
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Just popping in
Just popping in


See User information
@Hans @joerg

I ran this test too. It took about 3 hours to finish.

----
Operation MiB/s
Copy to VRAM 98.28
Write Pixel Array 101.30
Copy from VRAM 4.29
Read Pixel Array 4.29
----

http://hdrlab.org.nz/benchmark/gfxbench2d/OS/AmigaOS/Result/2784 (Pegasos II/MPC 7447/7457, Radeon RX Polaris12)


Edited by nikitas on 2024/6/7 7:53:48
Edited by nikitas on 2024/6/7 8:42:48
Go to top
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Not too shy to talk
Not too shy to talk


See User information
@joerg

I really need to find the time to do some speed tests on my system because I don't recall speed being too bad so I wouldn't assume that it's all Qemu machines. Hopefully I will get some time over the next day or two.


Amiga x5040 ı 16GB ı RX580
GB-A1000 060@100,
A1200 PiStorm32-Lite CM4
Go to top
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Just can't stay away
Just can't stay away


See User information
@Hans
Quote:
First, the driver doesn't use GART on older systems like the pegasos-2, A1-XE, & Sam460 due to lack of memory coherency. I tried manual cache flushing/invalidation, but simply couldn't get it to work reliably. So, all commands are written to VRAM. Therefore, slow VRAM access means slower command submission.
I think I've suggested that several years ago already, but can you explain (again) why using something like
IMMU->SetMemoryAttrs(page_alinged_command_bufferpage_aligned_buffer_sizeMEMATTRF_WRITETHROUGH|MEMATTRF_READ_WRITE);
or if that doesn't work either because it's not write-only but has to be (re)read by the CPU without caching as well
IMMU->SetMemoryAttrs(page_alinged_command_bufferpage_aligned_buffer_sizeMEMATTRF_CACHEINHIBIT|MEMATTRF_COHERENT|MEMATTRF_GUARDED|MEMATTRF_READ_WRITE);
doesn't work?

Write-though or even cache-inhibited DRAM should be much faster than cache-inhibited VRAM over ZorroIII/PCI/PCIe.
At least in some of my classic Amiga OS4 parts I used write-through mapped memory because it was faster, and much easier to use, than cached memory with manual cache flushing.

Quote:
Second, AmigaOS does a lot of CPU-based rendering. Far too much. This includes things such as drawing text and lines (other than horizontal or vertical). This will frequently involve both reading from and writing to VRAM.
The glyph cache of ft2.library is in DRAM instead of in a BitMap in VRAM??? That would be very bad.
I'm not 100% sure anymore, but I think for the text rendering in OWB I used a 8 bit (alpha only) BitMap for an additional glyph cache, IIRC for the last 256 used glyphs (because of the unicode support there can be much more), each char blitted from the glyph cache to a text line sized 32 bit bitmap, adding the text colour, which then was copied to the window with CompositeTags() for the anti-aliasing.

Go to top
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Just popping in
Just popping in


See User information
@balaton

I've also tried the Sam460ex machine on Qemu again with RX 550:

taskset -c 2 qemu-system-ppc \
-machine sam460ex \
-m 2G \
-rtc base=localtime \
-boot order=c,menu=on \
-drive if=none,id=hd,file=amigahd.img,format=raw -device ide-hd,drive=hd,bus=ide.0 \
-device rtl8139,netdev=mynet0 -netdev user,id=mynet0 \
-device vfio-pci,host=04:00.0,bus=pcie.1,x-vga=on,id=vfio0,romfile=rx550.rom \
-device vfio-pci,host=04:00.1,bus=pcie.1,id=vfio1 \
-device bochs-display \
-device es1370 \
-vga none \
-serial stdio \
-accel tcg



But I get the following error on VGA (the boot process continues, and I see the SM502 display):

U-Boot 2010.06.05 (Jul 08 2018 22:45:33)

CPU:   AMCC PowerPC 460EX RevB at 1150 MHz (PLB=230 OPB=115 EBC=115)
       
No Security/Kasumi support
       Bootstrap Option A 
Boot ROM Location EBC (8 bits)
       
Internal PCI arbiter disabled
       32 kB I
-Cache 32 kB D-Cache
Board
Sam460exPCIe 4x SATA-2
I2C
:   ready
DRAM
:  2 GiB (ECC not enabled460 MHzCL0)
*** 
Warning bad CRCusing default environment

PCI
:   Bus Dev VenId DevId Class Int
        00  01  1095  3112  0104  00
        00  02  10ec  8139  0200  00
        00  03  1234  1111  
0380  00
        00  04  1274  5000  0401  00
        00  06  126f  0501  
0380  00
PCIE1
successfully set as root-complex
Net
:   ppc_4xx_eth0
FPGA
:  Revision 00 (20 0-00-00)
SM502found
VGA
:   ERROR EXECUTING BIOS


On the same configuration,
When I use pcie.0 the gpu is ignored and boots from SM502 display again.

When I use pci.0, I get the following error:

U-Boot 2010.06.05 (Jul 08 2018 22:45:33)

CPU:   AMCC PowerPC 460EX RevB at 1150 MHz (PLB=230 OPB=115 EBC=115)
       
No Security/Kasumi support
       Bootstrap Option A 
Boot ROM Location EBC (8 bits)
       
Internal PCI arbiter disabled
       32 kB I
-Cache 32 kB D-Cache
Board
Sam460exPCIe 4x SATA-2
I2C
:   ready
DRAM
:  2 GiB (ECC not enabled460 MHzCL0)
*** 
Warning bad CRCusing default environment

PCI
:   Bus Dev VenId DevId Class Int
        00  01  1095  3112  0104  00
        00  02  10ec  8139  0200  00
qemu
VFIO_MAP_DMA failedInvalid argument
qemu
vfio_container_dma_map(0x6432625925300x1200ffe000000x40000x7f4847a00000) = -22 (Invalid argument)
qemuVFIO_MAP_DMA failedInvalid argument
qemu
vfio_container_dma_map(0x6432625925300x1200ffe050000x1fb0000x7f4847a05000) = -22 (Invalid argument)
        
00  03  1002  699f  0300  0b
        00  04  1002  aae0  0403  0a
        00  05  1234  1111  
0380  00
        00  06  126f  0501  
0380  00
        00  07  1274  5000  0401  00
PCIE1
successfully set as root-complex
Net
:   ppc_4xx_eth0
FPGA
:  Revision 00 (20 0-00-00)
SM502found
VGA
:   qemuVFIO_MAP_DMA failedInvalid argument
qemu
vfio_container_dma_map(0x6432625925300x1200ffe000000x40000x7f4847a00000) = -22 (Invalid argument)
qemuVFIO_MAP_DMA failedInvalid argument
qemu
vfio_container_dma_map(0x6432625925300x1200ffe050000x1fb0000x7f4847a05000) = -22 (Invalid argument)
qemuVFIO_MAP_DMA failedInvalid argument
qemu
vfio_container_dma_map(0x6432625925300xf00000000x100000000x7f4824000000) = -22 (Invalid argument)


In this case, the boot process halts.


Edited by nikitas on 2024/6/8 7:23:27
Edited by nikitas on 2024/6/8 7:24:01
Edited by nikitas on 2024/6/8 7:24:34
Edited by nikitas on 2024/6/8 7:25:11
Go to top
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Just can't stay away
Just can't stay away


See User information
@nikitas
Quote:
U-Boot 2010.06.05 (Jul 08 2018 - 22:45:33)
That's too old, for Radeon RX cards you need the Sam460ex U-Boot version 2015.c (or newer) and may have to use
setenv x86emu 2
saveenv

Some Radeon HD and RX gfx cards only work with the x86 emulator set to 2/medium.

Go to top
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Quite a regular
Quite a regular


See User information
@nikitas
The PCIe buses aren't fully emulated with sam460ex so they are not expected to work. One of them (maybe pcie.0) is also shared with the on board SATA port (which is also not emulated but enabled by default) so the firmware might not look at that at all. The PCI bus should work for pass through same as with pegasos2 but I don't know what the errors you get mean. There may be some issue with how this is emulated but I don't know how to make it better or what's wrong with it so this may take some work to find out and fix it and implement PCIe ports as well.

@joerg
Since nvram is also not emulated saveenv will not be able to save variables so this probably won't work. I'm not sure it's an issue with too old U-Boot though as it worked with pegasos2 even though it also could not run the card ROM. In my understanding the RadeonRX driver can init the card from AtomBIOS so it only needs to see the ROM but does not need the firmware to run it. Although if the firmware stops on the card ROM before booting that could be a problem.

Go to top
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
Just popping in
Just popping in


See User information
Thanks a lot for the clarifications @balaton & @joerg.

I'm considering buying another GPU if there is one that works with Qemu-Pegasos2. A Radeon HD, maybe?

Except if there is no point in buying any GPU under the current PPC Qemu/VFIO emulation status or potential problems in RadeonRX.chip and RadeonHD.chip.

Go to top

  Register To Post
(1) 2 3 4 5 »

 




Currently Active Users Viewing This Thread: 3 ( 1 members and 2 Anonymous Users )
K-L  




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project