Who's Online |
18 user(s) are online ( 9 user(s) are browsing Forums)
Members: 0
Guests: 18
more...
|
|
|
|
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
|
Posted on: 2024/7/7 6:20
#1
|
Just popping in
|
@balaton I don't know if this helps at all, but I've uploaded vfio_* trace logs from the time of guest boot until the GPU test 16. https://ufile.io/yf28ui39 (30Mb) PS: I have passed through only the VGA controller (00:01:00.0) of my GPU, as the Audio Device (00:01:00.1) is not even recognized(?) by AmigaOS4.
|
|
|
|
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
|
Posted on: 2024/7/4 11:19
#2
|
Just popping in
|
@Hans I barely understand a thing. But does this mean that we have a clue now? When I start the qemu-system-ppc process it turns the card to the legacy IRQ mode INTx:
Interrupt: pin A routed to IRQ 16
When I stop the process, I see no difference. But when I reboot the host system, it gets back to (which means MSI?):
Interrupt: pin A routed to IRQ 255
|
|
|
|
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
|
Posted on: 2024/7/4 10:56
#3
|
Just popping in
|
@balaton
I tried to use Linux and Windows guest with QEMU, but I must have messed up my host system so much, both in OS and UEFI, that installations do not even start using VFIO.
When I run the qemu-system-x86_64 process, my host's monitor, which uses the integrated Intel GPU, gets crazy. This means that Windows and everything graphic turn to a strange multicolour pattern as if the integrated GPU is malfunctioning. I see a "flash" on the guest's monitor, but it doesn't start booting.
When I stop the QEMU process, the host's monitor turns back to normal, and the artifacts are gone.
I have to reset UEFI settings and some of the OS settings and try again.
|
|
|
|
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
|
Posted on: 2024/7/3 17:12
#4
|
Just popping in
|
@Capehill This is the one for science, using Radeon RX550 as the guinea pig: https://ibb.co/mvX14CZ
|
|
|
|
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
|
Posted on: 2024/7/3 14:44
#5
|
Just popping in
|
@Capehill Quote: I'll do it and inform you. @Hans Quote: Looks like we're in uncharted territory. I'm the poor canary flying into the mineral mine tunnel to see if toxic gas exists further inside. Let's see if I die... I even cleaned the connectors and PCIe slot with Isopropyl 90. I found the (hidden) mvme SSD, removed it, and placed it in another slot away from the CPU. (in case it was using PCIe lanes as read). What else can somebody do, I wonder. Could be a problem that I don't do Single-GPU passthrough? I use the integrated GPU for my host and I pass the RX550 through QEMU/VFIO, plugged in a second monitor for the guest OS.
|
|
|
|
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
|
Posted on: 2024/7/3 8:46
#6
|
Just popping in
|
@balaton @Hans Before running the QEMU process, the command sudo lspci -vv -s 0000:01:00.0 shows this:
0000:01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] (rev c7) (prog-if 00 [VGA controller])
Subsystem: Sapphire Technology Limited Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 255
IOMMU group: 16
Region 0: Memory at 60e0000000 (64-bit, prefetchable) [size=256M]
Region 2: Memory at 60f0000000 (64-bit, prefetchable) [size=2M]
Region 4: I/O ports at 7000 [disabled] [size=256]
Region 5: Memory at 85f00000 (32-bit, non-prefetchable) [size=256K]
Expansion ROM at 85f40000 [disabled] [size=128K]
Capabilities: [48] Vendor Specific Information: Len=08 <?>
Capabilities: [50] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00
DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
MaxPayload 256 bytes, MaxReadReq 512 bytes
DevSta: CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr- TransPend-
LnkCap: Port #0, Speed 8GT/s, Width x8, ASPM L1, Exit Latency L1 <1us
ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 8GT/s, Width x8
TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Not Supported, TimeoutDis- NROPrPrP- LTR+
10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt+ EETLPPrefix+, MaxEETLPPrefixes 1
EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
FRS-
AtomicOpsCap: 32bit+ 64bit+ 128bitCAS-
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ 10BitTagReq- OBFF Disabled,
AtomicOpsCtl: ReqEn-
LnkCap2: Supported Link Speeds: 2.5-8GT/s, Crosslink- Retimer- 2Retimers- DRS-
LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+ EqualizationPhase1+
EqualizationPhase2+ EqualizationPhase3+ LinkEqualizationRequest-
Retimer- 2Retimers- CrosslinkRes: unsupported
Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
Capabilities: [150 v2] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
HeaderLog: 00000000 00000000 00000000 00000000
Capabilities: [200 v1] Physical Resizable BAR
BAR 0: current size: 256MB, supported: 256MB 512MB 1GB 2GB 4GB
Capabilities: [270 v1] Secondary PCI Express
LnkCtl3: LnkEquIntrruptEn- PerformEqu-
LaneErrStat: 0
Capabilities: [2b0 v1] Address Translation Service (ATS)
ATSCap: Invalidate Queue Depth: 00
ATSCtl: Enable-, Smallest Translation Unit: 00
Capabilities: [2c0 v1] Page Request Interface (PRI)
PRICtl: Enable- Reset-
PRISta: RF- UPRGI- Stopped+
Page Request Capacity: 00000020, Page Request Allocation: 00000000
Capabilities: [2d0 v1] Process Address Space ID (PASID)
PASIDCap: Exec+ Priv+, Max PASID Width: 10
PASIDCtl: Enable- Exec- Priv-
Capabilities: [320 v1] Latency Tolerance Reporting
Max snoop latency: 15728640ns
Max no snoop latency: 15728640ns
Capabilities: [328 v1] Alternative Routing-ID Interpretation (ARI)
ARICap: MFVC- ACS-, Next Function: 1
ARICtl: MFVC- ACS-, Function Group: 0
Capabilities: [370 v1] L1 PM Substates
L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
PortCommonModeRestoreTime=0us PortTPowerOnTime=170us
L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
T_CommonMode=0us LTR1.2_Threshold=184320ns
L1SubCtl2: T_PwrOn=170us
Kernel driver in use: vfio-pci
Kernel modules: amdgpu
After running the command:
sudo cpufreq-set -g performance &&
sudo taskset -c 4 /home/niki/qemu/build/qemu-system-ppc \
-machine pegasos2 \
-m 2G \
-kernel /home/niki/qmiga-PigasosII/bboot -initrd /home/niki/qmiga-PigasosII/Kickstart.zip \
-rtc base=localtime \
-drive if=none,id=DH0,file=/dev/sda,format=raw -device ide-hd,drive=DH0 \
-device vfio-pci,id=RadeonRX550-VGAController,host=0000:01:00.0,x-vga=on,bus=pci.0 \
-device vfio-pci,id=RadeonRX550-AudioController,host=0000:01:00.1,bus=pci.0 \
-device bochs-display \
-device rtl8139,netdev=ETH0 -netdev user,id=ETH0 \
-vga none \
-serial stdio \
-d guest_errors,unimp
The command sudo lspci -vv -s 0000:01:00.0 shows this:
0000:01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] (rev c7) (prog-if 00 [VGA controller])
Subsystem: Sapphire Technology Limited Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 16
IOMMU group: 16
Region 0: Memory at 60e0000000 (64-bit, prefetchable) [size=256M]
Region 2: Memory at 60f0000000 (64-bit, prefetchable) [size=2M]
Region 4: I/O ports at 7000 [size=256]
Region 5: Memory at 85f00000 (32-bit, non-prefetchable) [size=256K]
Expansion ROM at 85f40000 [disabled] [size=128K]
Capabilities: [48] Vendor Specific Information: Len=08 <?>
Capabilities: [50] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00
DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
MaxPayload 256 bytes, MaxReadReq 512 bytes
DevSta: CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr- TransPend-
LnkCap: Port #0, Speed 8GT/s, Width x8, ASPM L1, Exit Latency L1 <1us
ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s (downgraded), Width x8
TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Not Supported, TimeoutDis- NROPrPrP- LTR+
10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt+ EETLPPrefix+, MaxEETLPPrefixes 1
EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
FRS-
AtomicOpsCap: 32bit+ 64bit+ 128bitCAS-
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ 10BitTagReq- OBFF Disabled,
AtomicOpsCtl: ReqEn+
LnkCap2: Supported Link Speeds: 2.5-8GT/s, Crosslink- Retimer- 2Retimers- DRS-
LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+ EqualizationPhase1+
EqualizationPhase2+ EqualizationPhase3+ LinkEqualizationRequest-
Retimer- 2Retimers- CrosslinkRes: unsupported
Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
Capabilities: [150 v2] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
HeaderLog: 00000000 00000000 00000000 00000000
Capabilities: [200 v1] Physical Resizable BAR
BAR 0: current size: 256MB, supported: 256MB 512MB 1GB 2GB 4GB
Capabilities: [270 v1] Secondary PCI Express
LnkCtl3: LnkEquIntrruptEn- PerformEqu-
LaneErrStat: 0
Capabilities: [2b0 v1] Address Translation Service (ATS)
ATSCap: Invalidate Queue Depth: 00
ATSCtl: Enable-, Smallest Translation Unit: 00
Capabilities: [2c0 v1] Page Request Interface (PRI)
PRICtl: Enable- Reset-
PRISta: RF- UPRGI- Stopped+
Page Request Capacity: 00000020, Page Request Allocation: 00000000
Capabilities: [2d0 v1] Process Address Space ID (PASID)
PASIDCap: Exec+ Priv+, Max PASID Width: 10
PASIDCtl: Enable- Exec- Priv-
Capabilities: [320 v1] Latency Tolerance Reporting
Max snoop latency: 15728640ns
Max no snoop latency: 15728640ns
Capabilities: [328 v1] Alternative Routing-ID Interpretation (ARI)
ARICap: MFVC- ACS-, Next Function: 1
ARICtl: MFVC- ACS-, Function Group: 0
Capabilities: [370 v1] L1 PM Substates
L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
PortCommonModeRestoreTime=0us PortTPowerOnTime=170us
L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
T_CommonMode=0us LTR1.2_Threshold=184320ns
L1SubCtl2: T_PwrOn=170us
Kernel driver in use: vfio-pci
Kernel modules: amdgpu
Before:
LnkSta: Speed 8GT/s, Width x8
After:
LnkSta: Speed 2.5GT/s (downgraded), Width x8
GRUB Configuration:
GRUB_CMDLINE_LINUX="default_hugepagesz=2MB intel_iommu=on iommu=pt vfio_iommu_type1.allow_unsafe_interrupts=1 rd.driver.pre=vfio-pci rd.driver.blacklist=amdgpu modprobe.blacklist=amdgpu vfio-pci.disable_idle_d3=1 isolcpus=4 nohz_full=4 rcu_nocbs=4 irqaffinity=0-3,5,7 pcie_aspm=off pcie_port_pm=off"
Is this a problem, or is it expected?
Edited by nikitas on 2024/7/3 10:13:03
|
|
|
|
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
|
Posted on: 2024/7/3 4:52
#7
|
Just popping in
|
@Hans Running this script with: - R7 240 attached, took about: 24 seconds. - RadeonRX 550 attached, took about: 1.50 or 2 seconds- RadeonRX 550 attached with Screenmode --> Enable Interrupts = Checked, took about: 1.0 or 1.5 seconds- RadeonRX 550 attached with Screenmode --> Enable Interrupts = Checked and Ethernet attached and using bochs-display, took about: 1.0 or 1.5 seconds (same as the test above) When I enable interrupts on Screemode, the systems seem to run slower overall, though this test appears to execute faster. (Nobody can switch hardware on the fly and run the test faster than me )
Edited by nikitas on 2024/7/3 5:10:10
|
|
|
|
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
|
Posted on: 2024/7/3 4:13
#8
|
Just popping in
|
@Hans
Yes, of course. I'll try it with both GPUs, and I'll get to you with the results.
|
|
|
|
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
|
Posted on: 2024/7/3 1:20
#9
|
Just popping in
|
@Hans Quote: Remove it from the QEmu command line, and use your Radeon R7 240 for testing No, I tried all the possible combinations, and it didn't go any faster. The only thing that maybe helped a little was removing bochs-diplay and using Evdev for USB devices. Also, the command:
cpufreq-set -g performance
Made a visible difference. But just a bit. I also tried a funny thing using a real vga-to-vga on a small old monitor I found. I got the error "Couldn't create screen mode." I think this monitor supports 640x480.
Edited by nikitas on 2024/7/3 7:05:53
|
|
|
|
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
|
Posted on: 2024/7/2 10:47
#10
|
Just popping in
|
@Hans Quote: I just got a reminder of some of geennaam's older discoveries. According to him, his Radeon R9 270x worked well provided that he didn't share part of his hard-drive with AmigaOS as a USB drive, and he also had to shut down ethernet. With either of those enabled, he got massive slowdown. Okay, so do I have to remove the ethernet from the QEMU command only, or should I also shut down the ethernet on the host? Regarding the USB drive, I have a secondary real SSD drive on "/dev/sdb" that I use in the QEMU command. Is this OK? For the mouse/keyboard, I use bochs-display. Is this OK, too? @balaton Indeed, virsh makes it more complex. So, I will create a new QEMU setup for this when I have time.
|
|
|
|
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
|
Posted on: 2024/7/2 9:42
#11
|
Just popping in
|
@balaton Quote: Reminds me of this cartoon Ok, you motivate me. :) @balaton Quote: Accepted, I don't think it could work either. @balaton About the --accel kvm --> --accel tcg on the Win VM are you sure it is so straightforward? I converted the virsh Windows 11 VM XML to native Qemu. Changed the --accel kvm to --accel tcg. The qemu command is very extensive and does not work from the command line. Libvirt must do some extra work before running the command.
|
|
|
|
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
|
Posted on: 2024/7/1 10:14
#12
|
Just popping in
|
@Hans Quote: They're faster when developers have direct access to the hardware in question Yes, I can understand that. If this is the case, as an extremely ultimate and desperate try, I would propose that you and @balaton take control of my desktop via Anydesk/Google Meet/Teamviewer when you are available. You can also view my hardware and UEFI settings in real-time using my mobile phone camera and direct me accordingly. Due to my job obligations, I can only be available in the afternoons and weekends. If you judge that this approach could help the situation, you tell me.
|
|
|
|
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
|
Posted on: 2024/7/1 5:27
#13
|
Just popping in
|
@Hans
I got a bit overwhelmed during the weekend.
The scope of this problem is so broad that somebody could write a 20-page technical report only to sum up all the possible implications, including combinations of the cases that have already been tested, along with the detailed results so that they can be assessed afterwards. I don't think such a process can occur in public (or private) forums.
In addition, the Amiga OS and GPU driver copyrights raise a barrier that does not leave much room for forming any kind of hobby cross-party team.
The complexity of this issue gives me the impression that it resides in the "Amiga" side (that fragmented into a thousand pieces of companies & copyrights thing) to form a team of devs with qualifications similar to yours and @balaton 's (and possibly a hobbyist-volunteer beta tester like me!), to write code both on QEMU & OS/GPU driver sources in order to support it (like Microsoft, RedHat(IBM), etc, do). The opposite may not be a viable solution for this particular problem as it might need to be approached with a well-structured "Assess-Plan-Do-Reassess" procedure.
|
|
|
|
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
|
Posted on: 2024/6/30 17:16
#14
|
Just popping in
|
@joerg
No, R7 240 is much slower in this host. It's not being able to start the Workbench components like Amidock. It took 3 minutes to load the workbench completely.
Over and out. I need to forget.
|
|
|
|
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
|
Posted on: 2024/6/30 9:07
#15
|
Just popping in
|
@Hans @balaton While running the GPU test, I see in the host isolated core that the "Local Timer Interrupts" number is growing by about 5000 per second. Does this might indicate that the CPU core is used heavily during the GPU test? @geennaam had mentioned that Quote: Anyways, it works. So if someone is really dedicated to qemu then he could buy a mobo with two x16 slots and a Ryzen 7800X3D and enjoy a fast system. I'm using a much inferior Ryzen 3200G with x8 PCI slot. I wonder if the usage of a much powerful CPU + doubled PCI lanes solves the problem or just hides it.
|
|
|
|
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
|
Posted on: 2024/6/30 8:31
#16
|
Just popping in
|
@joerg
Hello, indeed I will try the R7 240 next.
But the overhead that is being introduced by VFIO GPU passthrough in contrast with the emulated sm501 can't be justified.
VFIO PCI just passes the control of the device to the guest. The QEMU process, as I read, does only this thing.
Also, there must be a difference in RadeonHD.chip and RadeonRX.chip on how they handle the GPU resources, because R7 240 VRAM <=> RAM collapses, as @Hans mentioned, but the drawing is faster.
I'm ignorant of GPU resource handling and development, but my humble thought is that it does not make sense for a much, much inferior card to perform better on drawing.
Another thing that makes the difference is the compositing effects switch. If I use GPU passthrough and have this enabled, the AOS4 freezes at some point completely, no matter what GPU I use.
If I disable GUI --> compositing effects, I have a slow but working environment.
I mentioned before that the zTools package I got from Amistore contains a Sysmon app. In the GPU view, there is a "compositing" field. The value of this field is "inactive." Of course, in this emulated environment, trusting the guest organs (Ranger, Cpu_watcher) has already been proven wrong.
|
|
|
|
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
|
Posted on: 2024/6/30 1:30
#17
|
Just popping in
|
I update the new Host machine specifications CPU- Model: AMD Ryzen 3 3200G (Picasso) FP5(BGA-1140, 12NM, -Instructions: MMX(+), SSE(1, 2, 3, 3S, 4.1, 4.2, 4A), AVX(1, 2), FMA(3), AES, CLMUL, RdRand, SHA, AMD-V, x86-64 - Cores: 4 On chip GPU:Picasso/Raven 2 [Radeon Vega Series / Radeon Vega Mobile Series] VBIOS: 113-PICASSO-115 Interface: PCIe Gen3x16 (current) / Gen3x16 (max) Driver: amdgpu Secondary GPU:Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] Driver vfio-pci On chip caches:- L1: 32 kB, 8-way associative, 64-bytes line size - L2: 512 kB, 8-way associative, 64-bytes line size - L3: 4 MB, 16-way associative, 64-bytes line size MotherboardASRock A320M-HDV R4.0 Bios American Megatrends Inc. P4.00 07/16/2020 Chipset: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge Operating System- Arch Linux - Kernel: Linux 6.9.7-zen1-1-zen RAM- 2 x 16GB PS: @balaton Quote: Can you repeat the test with Windows using KVM, then the same Windows with adding '-accel tcg' to disable KVM I changed the domain type from kvm to tcg. It didn't start, but I didn't try anything more. I'll unplug the RX550 from the New host, replug on the Old host and I will try things, and it will work eventually. But I don't know if it is needed anymore after the latest news...
Edited by nikitas on 2024/6/30 1:50:01
|
|
|
|
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
|
Posted on: 2024/6/29 21:32
#19
|
Just popping in
|
@balaton @Hans
I'm watching your posts, but I didn't respond because I was on an 11-hour marathon with Qemu/AOS4.
In order to rule out the possibility that my host machine is not working as expected for QemuPPC/VFIO GPU/AmigaOS4.1FE, I prepared a new setup on a new machine with ArchLinux as the host OS. The ArchLinux installation was unimaginably complex (as it has nothing preinstalled and preconfigured). In fact, I installed every package I needed, including any configuration from networking to Xorg to display manager, etc, by hand, thanks to its fantastic documentation. Anyway.
New machine's Specifications: - AMD Ryzen 3200 CPU - ASRock Motherboard - Integrated VEGA 8 GPU - 32 GB RAM - I plugged the Radeon RX550 (planning to use it as a secondary GPU for Vfio passthrough).
Yes, it is (much) slower than my previous host machine in terms of CPU performance. But I hope it can handle a single-core OS like AOS4 well enough. And indeed until now I don't see any difference...
(I will update the specifications, providing more details later)
It seems to go faster, but it might be a placebo effect. So, I run the GPU tool right now and will post the results.
For now, I think I want to inherit Amigans Defender's signature.
"I'm so tired..."
Edited by nikitas on 2024/6/29 21:47:50
|
|
|
|
Re: Qemu + VFIO GPU RadeonRX 550 + AmigaOS4 extremely slow
|
Posted on: 2024/6/28 19:32
#20
|
Just popping in
|
@balaton I've also included the other two patches, with no visible difference reflected in the GPU test. https://hdrlab.org.nz/benchmark/gfxbench2d/OS/AmigaOS/Result/2817Regarding the RadeonRX.chip version, I own the AOS4.1 Pegasos Edition and the Enhancer Software v2.2. I've also run the Enchancher's updater. The RadeonRX.chip 2.12 is the most updated version I get.
|
|
|
|