Port details |
- qemu8 QEMU CPU Emulator - 8.X.X
- 8.2.6 emulators =2 8.2.5Version of this port present on the latest quarterly branch.
- Maintainer: bofh@FreeBSD.org
- Port Added: 2024-04-29 21:58:11
- Last Update: 2024-07-27 10:54:04
- Commit Hash: f63eff3
- People watching this port, also watch:: jdictionary, py311-Automat, py311-python-gdsii, py39-PyOpenGL, p5-Sane
- License: GPLv2
- WWW:
- https://www.qemu.org/
- Description:
- QEMU is a FAST! processor emulator using dynamic translation to achieve
good emulation speed.
QEMU has two operating modes:
* Full system emulation. In this mode, QEMU emulates a full system
(for example a PC), including a processor and various peripherials.
It can be used to launch different Operating Systems without rebooting
the PC or to debug system code.
* User mode emulation (Linux host only). In this mode, QEMU can launch
Linux processes compiled for one CPU on another CPU. It can be used to
launch the Wine Windows API emulator or to ease cross-compilation and
cross-debugging.
As QEMU requires no host kernel patches to run, it is very safe and easy to use.
- ¦ ¦ ¦ ¦
- Manual pages:
- FreshPorts has no man page information for this port.
- pkg-plist: as obtained via:
make generate-plist - There is no configure plist information for this port.
- Dependency lines:
-
- Conflicts:
- CONFLICTS_INSTALL:
- qemu-devel
- qemu-nox11
- qemu-tools
- qemu-utils
- qemu7*
- qemu8*
- To install the port:
- cd /usr/ports/emulators/qemu8/ && make install clean
- To add the package, run one of these commands:
- pkg install emulators/qemu8
- pkg install qemu8
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.- PKGNAME: qemu8
- Package flavors (<flavor>: <package>)
- default: qemu8
- nox11: qemu8-nox11
- ONLY_FOR_ARCHS: aarch64 amd64 i386 powerpc64 powerpc64le
- distinfo:
- TIMESTAMP = 1722076619
SHA256 (qemu/8.2.6/qemu-8.2.6.tar.xz) = 8cadb1e6b039954e672d4a7cc3a5f30738b4cb99bc92c2640b15cc89f8f91fa2
SIZE (qemu/8.2.6/qemu-8.2.6.tar.xz) = 132750000
Packages (timestamps in pop-ups are UTC):
- Dependencies
- NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
- Build dependencies:
-
- bash : shells/bash
- py311-sphinx_rtd_theme>0 : textproc/py-sphinx_rtd_theme@py311
- sphinx-build : textproc/py-sphinx@py311
- gmake>=4.4.1 : devel/gmake
- ninja : devel/ninja
- pkgconf>=1.3.0_1 : devel/pkgconf
- python3.11 : lang/python311
- gettext-runtime>=0.22_1 : devel/gettext-runtime
- msgfmt : devel/gettext-tools
- sdl2-config : devel/sdl20
- perl5>=5.36<5.37 : lang/perl5.36
- xorgproto>=0 : x11/xorgproto
- x11.pc : x11/libX11
- xext.pc : x11/libXext
- x11.pc : x11/libX11
- xext.pc : x11/libXext
- pixman-1.pc : x11/pixman
- x11.pc : x11/libX11
- Runtime dependencies:
-
- x11.pc : x11/libX11
- xext.pc : x11/libXext
- x11.pc : x11/libX11
- xext.pc : x11/libXext
- pixman-1.pc : x11/pixman
- x11.pc : x11/libX11
- Library dependencies:
-
- libfdt.so : sysutils/dtc
- libzstd.so : archivers/zstd
- libslirp.so : net/libslirp
- libepoxy.so : graphics/libepoxy
- libcurl.so : ftp/curl
- libgnutls.so : security/gnutls
- libxkbcommon.so : x11/libxkbcommon
- libpng.so : graphics/png
- libsasl2.so : security/cyrus-sasl2
- libvdeplug.so : net/vde2
- libdw.so : devel/elfutils
- libatk-1.0.so : accessibility/at-spi2-core
- libcairo.so : graphics/cairo
- libgdk_pixbuf-2.0.so : graphics/gdk-pixbuf2
- libglib-2.0.so : devel/glib20
- libintl.so : devel/gettext-runtime
- libgtk-3.so : x11-toolkits/gtk30
- libharfbuzz.so : print/harfbuzz
- libpango-1.0.so : x11-toolkits/pango
- libvte-2.91.so : x11-toolkits/vte3
- libiconv.so : converters/libiconv
- libintl.so : devel/gettext-runtime
- libgbm.so : graphics/mesa-libs
- libGL.so : graphics/libglvnd
- libjpeg.so : graphics/jpeg-turbo
- libSDL2.so : devel/sdl20
- There are no ports dependent upon this port
Configuration Options:
- ===> The following configuration options are available for qemu8-8.2.6:
CAPSTONE=off: Disassembly framework support
CDROM_DMA=on: IDE CDROM DMA
CURL=on: Data transfer support via cURL
DEBUG=off: Build with debugging support
DOCS=on: Build and/or install documentation
GNUTLS=on: gnutls dependency (vnc encryption)
GTK3=on: GTK 3 GUI toolkit support
ISCSI=off: libiscsi dependency (iSCSI client for emulated drives)
JPEG=on: jpeg dependency (vnc lossy compression)
OPENGL=on: 2D/3D rendering support via OpenGL
PNG=on: png dependency (vnc compression)
SAMBA=off: samba dependency (for -smb)
SASL=on: cyrus-sasl dependency (vnc encryption)
STATIC_LINK=off: Statically link the executables
STRIP=off: Strip binaries before installation
USBREDIR=off: usb device network redirection (experimental!)
VDE=on: vde dependency (for vde networking)
X11=on: X11 (graphics) support
X86_TARGETS=off: Build only x86 system targets
====> Console (text) interface support: you have to select exactly one of them
NCURSES_BASE=off: Depend on ncurses in base
NCURSES_DEFAULT=on: Depend on ncurses (ports if installed, otherwise base)
NCURSES_PORT=off: Depend on devel/ncurses in ports
===> Use 'make config' to modify these settings
- Options name:
- emulators_qemu8
- USES:
- cpe gmake gnome ninja perl5 pkgconfig python:build shebangfix tar:xz iconv:wchar_t gettext gl jpeg ncurses gl sdl xorg
- pkg-message:
- For install:
- FreeBSD host notes
==================
- Needs to set net.link.tap.user_open sysctl in order to use /dev/tap*
networking as non-root. Don't forget to adjust device node permissions in
/etc/devfs.rules.
- Expect timer problems when guest kernel HZ is > hosts. The linux 2.6
kernel uses 1000 by default btw. (changed to 250 later, and recent linux
kernels now no longer have a fixed HZ, aka `tickless kernel'...)
Enabling /dev/rtc doesn't seem to help either (not included since it needs
a patch to emulators/rtc.)
- The -smb option (smb-export local dir to guest using the default
slirp networking) needs the samba port/package installed
in addition to qemu. (SAMBA knob.)
- If you want to use usb devices connected to the host in the guest
yot can use usbredir over the network (see below); also unless you are
running qemu as root you then need to fix permissions for /dev/ugen*
device nodes: if you are on 5.x or later (devfs) put a rule in
/etc/devfs.rules, activate it in /etc/rc.conf and run /etc/rc.d/devfs
restart. Example devfs.rules:
[ugen_ruleset=20]
add path 'ugen*' mode 660 group operator
corresponding rc.conf line:
devfs_system_ruleset="ugen_ruleset"
- Still usb: since the hub is no longer attached to the uchi controller and
the wakeup mechanism, resume interrupt is not implemented yet linux guests
will suspend the bus, i.e. they wont see devices usb_add'ed after its
(linux') uhci module got loaded. Workaround: either add devices before
linux loads the module or rmmod and modprobe it afterwards. [Not sure
if this still applies to the new libusb host code used on recent
10-current.]
- If you get repeated `atapi_poll called!' console messages with FreeBSD
guests or other weird cdrom problems then thats probably because the guest
has atapicam loaded, which for reasons still to be determined has problems
with qemu's now by default enabled cdrom dma. You can build the port with
CDROM_DMA disabled to disable it. [Looks like this is fixed in recent
FreeBSD guest versions.]
- If you build qemu wihout SDL and then get crashes running it try passing it
-nographic. This should probably be default in that case...
- qemu's network boot roms (-boot n) have a bug when bootfiles sizes are a
multiple of blksize, if this affects you (like with FreeBSD's /boot/pxeboot)
you can do like
cp /boot/pxeboot pxeboot-qemu && chmod +w pxeboot-qemu && echo >>pxeboot-qemu
and then use pxeboot-qemu. Actually you need recent btx code
(from after 7.0 was released) because of the real mode boot
problem, so use at least pxeboot from there. And I just did that
for the pxeboot extracted out of
ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/200805/7.0-STABLE-200805-i386-bootonly.iso
and placed it here:
http://people.freebsd.org/~nox/qemu/pxeboot-qemu
- If you use slirp (usernet, the default) and want to mount nfs into the guest
and you are not running qemu as root, then mountd(8) on the exporting box
needs to be run with -n in order to accept requests from ports >= 1024.
- Master Sites:
|