QEMU 11.1.0 to kolejne duże wydanie jednego z najważniejszych projektów otwartoźródłowych związanych z emulacją i wirtualizacją. Aktualizacja opublikowana 11 sierpnia 2026 roku zawiera ponad 3200 commitów przygotowanych przez 285 autorów. Zmiany obejmują obsługę nowych funkcji procesorów ARM i RISC-V, emulację pamięci masowych UFS 4.1, rozwój mechanizmów KVM, ulepszenia interfejsów graficznych oraz nowe możliwości dla platform PowerPC, HPPA i s390x.
Nie jest to wydanie skupione na jednej spektakularnej funkcji. QEMU 11.1.0 rozwija wiele elementów wewnętrznej infrastruktury emulatora, poprawiając zgodność z nowoczesnymi standardami sprzętowymi i rozszerzając możliwości uruchamiania systemów gościa na różnych architekturach.
Dla użytkowników Linuksa szczególnie interesujące są zmiany dotyczące KVM, wirtualizacji zagnieżdżonej, RISC-V, ARM oraz emulacji kontrolerów pamięci masowych.
Czym jest QEMU i dlaczego jest tak ważny dla Linuksa?
<QEMU (Quick Emulator)> to otwartoźródłowy emulator i wirtualizator sprzętu. Pozwala uruchamiać systemy operacyjne oraz programy przygotowane dla różnych architektur procesorów, nawet jeśli fizyczny komputer wykorzystuje zupełnie inną platformę.
Przykładowo na komputerze z procesorem x86-64 można uruchomić system Linux przeznaczony dla ARM lub RISC-V. QEMU emuluje wówczas odpowiednią architekturę procesora i urządzenia niezbędne do uruchomienia systemu.
Program oferuje dwa podstawowe sposoby działania:
- Emulacja pełnego systemu – QEMU odtwarza środowisko sprzętowe, w tym procesor, pamięć i urządzenia peryferyjne. Pozwala uruchamiać systemy przygotowane dla innej architektury.
- Emulacja trybu użytkownika – umożliwia uruchamianie programów skompilowanych dla innej architektury CPU w środowisku systemu gospodarza, bez konieczności uruchamiania całego systemu gościa.
QEMU może również współpracować z mechanizmami sprzętowej wirtualizacji, takimi jak KVM w Linuksie, HVF w macOS czy NVMM w NetBSD.
W przypadku zgodnej architektury i odpowiedniej konfiguracji KVM pozwala wykonywać kod systemu gościa bezpośrednio na procesorze gospodarza, zamiast emulować każdą instrukcję. Znacząco poprawia to wydajność maszyn wirtualnych.
QEMU jest wykorzystywany między innymi przez:
- KVM i libvirt;
- virt-manager;
- rozwiązania do testowania systemów operacyjnych;
- środowiska deweloperskie i CI;
- platformy chmurowe;
- systemy wbudowane i urządzenia ARM;
- laboratoria testujące oprogramowanie dla różnych architektur CPU.
Wydanie 11.1.0 rozwija wiele z tych zastosowań.
QEMU 11.1.0 – najważniejsze nowości
Najważniejsze zmiany w nowej wersji dotyczą następujących obszarów:
- Emulacja pamięci UFS zgodna z wybranymi funkcjami specyfikacji UFS 4.1.
- Nowy mechanizm vhost-host-user dla obsługi zegara czasu rzeczywistego virtio-rtc.
- Rozbudowa emulacji ARM i obsługa nowych funkcji procesorów.
- Nowe możliwości wirtualizacji zagnieżdżonej oraz obsługa vGIC przez HVF.
- Rozszerzenie emulacji RISC-V, w tym obsługa big-endian i nowych rozszerzeń ISA.
- Usprawnienia platform PowerPC, HPPA i s390x.
- Poprawki interfejsów GTK i VNC oraz obsługi konsol wirtualnych.
Przyjrzyjmy się najważniejszym zmianom od strony technicznej.
1. UFS 4.1 – Write Booster i Host-Initiated Defragmentation
Jedną z ciekawszych nowości jest rozszerzenie emulacji kontrolera Universal Flash Storage (UFS).
UFS to standard pamięci masowej wykorzystywany przede wszystkim w urządzeniach mobilnych i systemach wbudowanych. W przeciwieństwie do tradycyjnych dysków SATA, pamięci UFS są projektowane z myślą o niskich opóźnieniach, wysokiej przepustowości i efektywnym zarządzaniu operacjami wejścia/wyjścia.
QEMU 11.1.0 dodaje obsługę dwóch funkcji opartych na specyfikacji UFS 4.1:
- Write Booster;
- Host-Initiated Defragmentation (HID).
Write Booster – buforowanie operacji zapisu
Write Booster to mechanizm zwiększający wydajność operacji zapisu poprzez wykorzystanie dodatkowego obszaru pamięci urządzenia jako bufora.
W pamięciach flash zapis danych może być bardziej złożony niż w przypadku tradycyjnych dysków. Kontroler musi zarządzać blokami pamięci, operacjami kasowania i rozmieszczaniem danych. Dodatkowy mechanizm buforowania może poprawić wydajność zapisu, szczególnie w odpowiednich scenariuszach obciążenia.
Dodanie obsługi Write Booster w QEMU jest istotne dla osób testujących systemy operacyjne i oprogramowanie współpracujące z urządzeniami UFS.
Emulator może teraz odtwarzać zachowanie tej funkcji bez konieczności korzystania z fizycznego urządzenia wyposażonego w odpowiedni kontroler.
Host-Initiated Defragmentation
Drugą nowością jest HID, czyli Host-Initiated Defragmentation.
Mechanizm pozwala systemowi nadrzędnemu inicjować operację defragmentacji zarządzaną przez urządzenie UFS. Nie chodzi tutaj o klasyczną defragmentację znaną z dysków twardych, lecz o operację związaną z wewnętrznym zarządzaniem danymi w pamięci flash.
Kontroler może reorganizować rozmieszczenie danych w celu poprawy efektywności wykorzystania pamięci i utrzymania odpowiedniej wydajności.
Obsługa HID w QEMU pozwala testować komunikację pomiędzy systemem operacyjnym a emulowanym urządzeniem UFS, w tym reakcje na polecenia związane z zarządzaniem pamięcią.
Znaczenie dla Linuksa: rozwój emulacji UFS ułatwia testowanie sterowników, systemów wbudowanych i oprogramowania przeznaczonego dla urządzeń mobilnych bez konieczności posiadania fizycznego sprzętu.
2. vhost-host-user i virtio-rtc – obsługa zegara poza procesem QEMU
Kolejną istotną zmianą jest dodanie obsługi vhost-host-user dla urządzenia virtio-rtc.
Aby zrozumieć znaczenie tej funkcji, warto przyjrzeć się dwóm technologiom wykorzystywanym w ekosystemie QEMU.
Czym jest virtio-rtc?
Virtio to zestaw standardów urządzeń parawirtualizowanych. Zamiast emulować pełny kontroler sprzętowy, QEMU i system gościa komunikują się przez uproszczony interfejs zaprojektowany specjalnie dla maszyn wirtualnych.
Rozwiązanie to jest wykorzystywane między innymi do obsługi dysków, kart sieciowych, urządzeń wejścia/wyjścia i innych komponentów.
Virtio-rtc odpowiada za udostępnianie systemowi gościa funkcji związanych z zegarem czasu rzeczywistego.
Zegar RTC jest ważny dla poprawnego działania systemu operacyjnego. Dostarcza informacji o czasie, które mogą być wykorzystywane podczas startu systemu, synchronizacji zegara i obsługi różnych zdarzeń czasowych.
Czym jest vhost-user?
vhost-user pozwala przenieść obsługę części urządzenia wirtualnego do osobnego procesu, komunikującego się z QEMU przez protokół vhost-user.
Dzięki temu nie wszystkie operacje muszą być wykonywane bezpośrednio w głównym procesie emulatora.
W QEMU 11.1.0 pojawia się możliwość wykorzystania tego mechanizmu do przeniesienia obsługi zegara czasu rzeczywistego virtio-rtc poza proces hypervisora.
Takie rozwiązanie może poprawić separację komponentów i ograniczyć ilość pracy wykonywanej przez główny proces QEMU.
Ma to szczególne znaczenie w bardziej rozbudowanych środowiskach wirtualizacyjnych, w których działa wiele urządzeń parawirtualizowanych.
Warto jednak zaznaczyć, że samo offloadowanie obsługi RTC nie oznacza automatycznego przyspieszenia całej maszyny wirtualnej. Korzyści dotyczą przede wszystkim organizacji i wykonywania operacji związanych z tym konkretnym urządzeniem.
3. ARM – nowe funkcje procesorów i platforma imx8mp-evk
Architektura ARM otrzymała w QEMU 11.1.0 dużą liczbę usprawnień.
Twórcy rozszerzyli obsługę nowych funkcji architektonicznych procesorów ARM. Pełna lista jest obszerna i została opisana w szczegółowym changelogu wydania.
Ważną nowością jest także dodanie typu maszyny imx8mp-evk.
Nowa platforma imx8mp-evk
imx8mp-evk to emulowany typ maszyny bazujący na platformie i.MX 8MM Evaluation Kit.
Rodzina układów i.MX firmy NXP jest wykorzystywana w urządzeniach wbudowanych, systemach przemysłowych, rozwiązaniach multimedialnych i urządzeniach IoT.
Dodanie nowego typu maszyny zwiększa możliwości testowania oprogramowania przeznaczonego dla tej klasy platform.
W praktyce może to być przydatne podczas:
- rozwijania systemów Linux dla urządzeń wbudowanych;
- testowania oprogramowania startowego;
- weryfikacji konfiguracji sprzętowej;
- pracy nad systemami opartymi na platformach NXP.
Emulacja nie zastępuje wszystkich testów na rzeczywistym urządzeniu, ale pozwala wcześniej wykrywać wiele problemów i prowadzić część prac bez dostępu do fizycznej płytki.
Konfiguracja topologii cache w maszynie virt
Kolejnym usprawnieniem jest możliwość określania topologii pamięci podręcznej wirtualnej platformy virt.
Topologia cache opisuje między innymi organizację poziomów pamięci podręcznej procesora i ich powiązanie z jednostkami CPU.
Informacje te są istotne dla systemu operacyjnego, który na ich podstawie może podejmować decyzje dotyczące planowania zadań i wykorzystania zasobów procesora.
Możliwość dokładniejszego określenia topologii cache w QEMU jest przydatna podczas testowania zachowania systemów gościa w różnych konfiguracjach sprzętowych.
4. HVF – wirtualizacja zagnieżdżona i vGIC
Interesujące zmiany dotyczą również akceleratora HVF.
HVF, czyli Hypervisor Framework, jest mechanizmem sprzętowej wirtualizacji dostępnym w systemie macOS.
QEMU może wykorzystywać go do przyspieszania wykonywania maszyn wirtualnych na komputerach Apple.
W wersji 11.1.0 rozszerzono możliwości HVF o:
- wirtualizację zagnieżdżoną;
- obsługę vGIC.
Czym jest nested virtualization?
Wirtualizacja zagnieżdżona pozwala uruchamiać hypervisor wewnątrz maszyny wirtualnej.
Można to przedstawić w następujący sposób:
- Poziom L0 – fizyczny komputer i jego hypervisor.
- Poziom L1 – maszyna wirtualna, w której uruchomiono kolejny hypervisor.
- Poziom L2 – maszyna wirtualna uruchomiona wewnątrz systemu L1.
<diagram_placeholder/>
Takie rozwiązanie jest przydatne dla programistów, administratorów i osób testujących oprogramowanie do wirtualizacji.
Pozwala na przykład uruchamiać środowiska testowe KVM wewnątrz maszyny wirtualnej, bez konieczności przeznaczania osobnego fizycznego komputera.
vGIC – wirtualny kontroler przerwań ARM
vGIC to wirtualny Generic Interrupt Controller, czyli kontroler przerwań wykorzystywany w środowiskach ARM.
Kontroler przerwań odpowiada za przekazywanie informacji o zdarzeniach sprzętowych do procesora.
Wirtualny odpowiednik pozwala systemowi gościa korzystać z mechanizmów przerwań w środowisku maszyny wirtualnej.
Rozszerzenie obsługi vGIC przez HVF zwiększa możliwości uruchamiania i testowania systemów ARM w środowisku macOS.
5. RISC-V – nowe rozszerzenia ISA i obsługa big-endian
RISC-V to otwarta architektura zestawu instrukcji procesora, która zyskuje coraz większe znaczenie w świecie Linuksa i systemów wbudowanych.
QEMU odgrywa istotną rolę w jej rozwoju, ponieważ umożliwia testowanie oprogramowania bez konieczności posiadania fizycznego procesora RISC-V.
Wydanie 11.1.0 przynosi kolejne rozszerzenia obsługi tej architektury.
Obsługa big-endian
Jedną z ważniejszych nowości jest rozszerzenie obsługi konfiguracji big-endian.
Endianness określa kolejność bajtów wykorzystywaną przy zapisie i odczycie wartości wielobajtowych.
W systemie little-endian najmłodszy bajt znajduje się pod najniższym adresem pamięci. W big-endian kolejność jest odwrotna.
Obsługa big-endian w emulacji RISC-V pozwala testować oprogramowanie w dodatkowych konfiguracjach i rozwijać zgodność narzędzi z różnymi wariantami architektury.
Nowe rozszerzenia instrukcji
QEMU 11.1.0 dodaje również obsługę kolejnych rozszerzeń ISA, w tym:
Zbr;xbr0p93;Zvfbfa.
Rozwijana jest także obsługa ułamkowego LMUL w wektorowych instrukcjach SHA.
LMUL określa sposób grupowania rejestrów wektorowych w architekturze RISC-V Vector. Wartości ułamkowe pozwalają na bardziej elastyczne wykorzystanie zasobów wektorowych.
W przypadku instrukcji kryptograficznych SHA ma to znaczenie dla prawidłowego odtwarzania zachowania procesora i testowania oprogramowania korzystającego z rozszerzeń wektorowych.
KVM i nowe rozszerzenia RISC-V
Wydanie rozszerza także obsługę KVM dla RISC-V o:
Zicbop;- BFloat16.
Zicbop jest rozszerzeniem związanym z operacjami prefetch pamięci podręcznej. Pozwala procesorowi otrzymywać wskazówki dotyczące wcześniejszego pobierania danych, co może mieć znaczenie dla wydajności określonych obciążeń.
BFloat16 to format zmiennoprzecinkowy o ograniczonej precyzji, wykorzystywany między innymi w obliczeniach związanych ze sztuczną inteligencją i uczeniem maszynowym.
Rozszerzenie obsługi tych funkcji w KVM ułatwia uruchamianie i testowanie systemów gościa korzystających z nowych możliwości sprzętowych.
Nowe platformy: K230 i Tenstorrent
QEMU 11.1.0 dodaje również obsługę nowej platformy K230.
To układ wykorzystywany w rozwiązaniach z obszaru systemów wbudowanych i przetwarzania danych na urządzeniach brzegowych.
Rozszerzono także obsługę identyfikatora producenta procesora Tenstorrent (mvendorid).
Informacje o producencie są istotne dla oprogramowania, które musi rozpoznawać konkretne implementacje architektury RISC-V.
Wszystkie te zmiany zwiększają możliwości testowania oprogramowania przeznaczonego dla rozwijającego się ekosystemu RISC-V.
6. PowerPC – MPIPL i emulacja nest MMU
Kolejną architekturą, która otrzymała istotne usprawnienia, jest PowerPC.
W QEMU 11.1.0 dodano obsługę MPIPL dla platform PowerNV oraz rozwinięto emulację nest MMU.
MPIPL – zachowanie pamięci po nieoczekiwanym resecie
MPIPL to mechanizm związany z ponownym uruchamianiem systemu i zachowywaniem zawartości pamięci po nieoczekiwanym resecie.
W przypadku platform PowerNV może to być istotne dla diagnostyki poważnych błędów i analizy stanu systemu po awarii.
Możliwość zachowania zawartości pamięci pozwala zebrać więcej informacji o problemie, zanim dane zostaną utracone w wyniku standardowego procesu restartowania.
W środowiskach serwerowych ma to znaczenie dla diagnostyki i analizy awarii sprzętowych oraz programowych.
Nest MMU
Drugą nowością jest emulacja nest MMU.
MMU, czyli Memory Management Unit, odpowiada za translację adresów pamięci i kontrolę dostępu do obszarów pamięci.
W platformach PowerPC mechanizmy zagnieżdżonego zarządzania pamięcią są wykorzystywane w bardziej złożonych środowiskach wirtualizacji.
Rozszerzenie ich emulacji w QEMU poprawia możliwości testowania oprogramowania przeznaczonego dla platform PowerNV i środowisk korzystających z tych funkcji.
7. HPPA – nowe firmware SeaBIOS-hppa v25
Architektura HPPA, znana również jako PA-RISC, nie jest dziś tak popularna jak x86-64 czy ARM, ale nadal ma znaczenie dla utrzymania i testowania starszych systemów.
QEMU 11.1.0 aktualizuje firmware SeaBIOS-hppa do wersji 25.
Dodatkowo poprawiono obsługę operacji wstawiania wpisów do TLB, co ma znaczenie dla uruchamiania systemu HP-UX 9.
TLB, czyli Translation Lookaside Buffer, to pamięć podręczna przechowująca wyniki translacji adresów wirtualnych na fizyczne.
Jej prawidłowe działanie jest ważne dla wydajności i poprawności obsługi pamięci przez procesor.
Zmiany w QEMU poprawiają zgodność emulatora ze starszym środowiskiem HP-UX i ułatwiają testowanie systemów przeznaczonych dla tej architektury.
8. s390x – nowe możliwości KVM dla zagnieżdżonej wirtualizacji
Wydanie 11.1.0 rozszerza również obsługę architektury s390x, wykorzystywanej między innymi w systemach IBM Z.
Dodano wsparcie KVM dla ASTFLE facility 2 w kontekście wirtualizacji zagnieżdżonej.
ASTFLE jest mechanizmem związanym z obsługą funkcji architektonicznych procesorów z rodziny IBM Z.
Rozszerzenie obsługi tej funkcji w KVM pozwala systemom gościa korzystać z kolejnych możliwości sprzętowych w środowiskach zagnieżdżonej wirtualizacji.
To zmiana szczególnie istotna dla administratorów i programistów pracujących z dużymi systemami serwerowymi IBM Z.
9. Ulepszenia interfejsu graficznego – GTK, VNC i konsole wirtualne
QEMU jest przede wszystkim narzędziem technicznym, ale jego interfejsy graficzne również otrzymały kilka usprawnień.
Zmiany obejmują obsługę konsol wirtualnych, kodowania znaków oraz interfejsy GTK i VNC.
Konfiguracja kodowania znaków
Rozszerzono możliwości określania kodowania znaków wykorzystywanego przez wirtualne konsole.
Ma to znaczenie w przypadku systemów gościa korzystających z różnych zestawów znaków i środowisk językowych.
Nieprawidłowe kodowanie może powodować wyświetlanie błędnych symboli, szczególnie w starszych systemach lub podczas pracy z konsolami tekstowymi.
Możliwość dokładniejszego określenia kodowania ułatwia obsługę takich środowisk.
GTK i VNC
Poprawiono również interfejs GTK i obsługę VNC.
VNC umożliwia zdalny dostęp do graficznego ekranu maszyny wirtualnej. Jest wykorzystywany między innymi do instalowania systemów gościa i zarządzania nimi.
Usprawnienia w tym obszarze zwiększają komfort pracy z maszynami wirtualnymi, szczególnie w środowiskach, w których dostęp do systemu gościa odbywa się przez zdalny ekran.
10. Co oznacza QEMU 11.1.0 dla użytkowników Linuksa?
Nowe wydanie jest ważne przede wszystkim dla osób wykorzystujących QEMU jako element infrastruktury wirtualizacyjnej, środowiska deweloperskiego lub platformy testowej.
Najważniejsze korzyści można podsumować następująco:
| Obszar | Znaczenie zmian |
|---|---|
| UFS 4.1 | Większe możliwości testowania urządzeń pamięci masowej |
| virtio-rtc | Możliwość przeniesienia obsługi RTC do backendu vhost-user |
| ARM | Nowe funkcje CPU i platforma imx8mp-evk |
| HVF | Wirtualizacja zagnieżdżona i vGIC |
| RISC-V | Big-endian, nowe rozszerzenia ISA i platforma K230 |
| PowerPC | MPIPL i emulacja nest MMU |
| HPPA | Nowszy firmware i poprawki TLB |
| s390x | Rozszerzona obsługa KVM dla ASTFLE |
| GTK/VNC | Lepsza obsługa konsol i kodowania znaków |
Nie należy jednak zakładać, że aktualizacja QEMU automatycznie zwiększy wydajność każdej maszyny wirtualnej. Wiele zmian dotyczy nowych funkcji sprzętowych, zgodności i obsługi określonych architektur. Korzyści pojawią się przede wszystkim wtedy, gdy system gościa lub wykorzystywane urządzenia będą korzystać z nowych możliwości.
11. Jak sprawdzić wersję QEMU w Linuksie?
Po aktualizacji można sprawdzić wersję programu za pomocą polecenia:
qemu-system-x86_64 --version
W przypadku emulacji ARM:
qemu-system-aarch64 --version
Dostępne pliki wykonywalne można wyszukać poleceniem:
compgen -c | grep '^qemu-system-' | sort -u
Warto pamiętać, że dystrybucje Linuksa mogą dostarczać różne wersje QEMU. Sam fakt opublikowania wydania 11.1.0 nie oznacza, że jest ono od razu dostępne w każdym stabilnym repozytorium.
Aktualizacja w Ubuntu i Debianie
Najpierw można sprawdzić wersję dostępną w repozytoriach:
apt policy qemu-system-x86
Następnie standardowo zaktualizować listę pakietów i zainstalowane oprogramowanie:
sudo apt update
sudo apt upgrade
Jeżeli repozytoria dystrybucji zawierają QEMU 11.1.0 lub nowsze wydanie, aktualizacja obejmie odpowiedni pakiet.
Aktualizacja w Fedorze
W Fedorze można sprawdzić dostępne aktualizacje:
dnf info qemu-system-x86
Standardowa aktualizacja pakietów wygląda następująco:
sudo dnf upgrade
Instalacja z oficjalnego kodu źródłowego
Użytkownicy, którzy potrzebują konkretnej wersji QEMU, mogą pobrać archiwum źródłowe z oficjalnej strony projektu.
Pliki źródłowe są dostępne pod adresem:
Pełna lista zmian znajduje się w changelogu:
Przed kompilacją warto sprawdzić oficjalną dokumentację budowania QEMU, ponieważ wymagane biblioteki i zależności zależą od wybranych komponentów, architektury oraz funkcji, które mają zostać włączone.
Podsumowanie
QEMU 11.1.0 to duże wydanie rozwijające wiele obszarów emulacji i wirtualizacji. Ponad 3200 commitów od 285 autorów przyniosło nowe możliwości dla pamięci UFS 4.1, rozszerzoną obsługę ARM i RISC-V, usprawnienia KVM i HVF oraz poprawki dla PowerPC, HPPA i s390x.
Szczególnie interesujące są zmiany w obsłudze RISC-V, ponieważ otwarta architektura procesora coraz częściej pojawia się w projektach związanych z Linuksem, systemami wbudowanymi i przetwarzaniem brzegowym. Warto zwrócić uwagę również na wirtualizację zagnieżdżoną w HVF oraz rozwój emulacji UFS, która pozwala testować bardziej zaawansowane funkcje pamięci masowych.
Dla administratorów i programistów QEMU 11.1.0 oznacza przede wszystkim większą zgodność ze współczesnymi platformami sprzętowymi i nowe możliwości testowania oprogramowania bez konieczności posiadania wszystkich fizycznych urządzeń.
To kolejny krok w rozwoju uniwersalnego środowiska emulacji i wirtualizacji, które pozostaje jednym z fundamentów współczesnego ekosystemu Linuksa.
Oficjalna strona projektu: https://www.qemu.org/
Pobieranie QEMU 11.1.0: https://www.qemu.org/download/#source
Pełny changelog: https://wiki.qemu.org/ChangeLog/11.1