-
Notifications
You must be signed in to change notification settings - Fork 1
Home
This is largely documentation of the --pcfrom
option and why decisions were made they way that they were.
HVF/KVM Accelleration causes problem with older code. Since the "turn-around" for safe usage is 2000, qcl
won't enable KVM acceleration by default until --pcfrom 2001
is used. The options --nohvf
, --nokvm
, --usehvf
, and --usekvm
can be used to override decisions made by qcl
. (HVF and KVM are synonymous to qcl
-- it will use the appropriate accelerator for the platform it's running on.)
Operating System | RTR | KVM Problems |
---|---|---|
Windows 95 | 1995 | Assumed from Windows 98 |
Red Hat Linux 5.0 | 1997 | Hangs the cirrus driver |
Windows 98 | 1998 | Crashes NDIS (networking) |
Turbo Linux 6.0 | 2000 | Hangs the cirrus driver. Hangs LILO. |
Windows 2000 | 2000 | No problems |
Mandrake Linux 8.1 | 2001 | No problems |
Fedora Core 1 | 2003 | No problems |
SuSE Linux 9.3 | 2003 | No problems |
CPU parameters are pretty much an exact reflection of what was available at the time. Operating systems give a large leeway to the processors they run on.
QEMU does not provide a pentium4
option. This is probably due to the then-exclusive (i786/pentium4) instruction set not seeing much use in the 32-bit space, with everyone sticking with the Pentium III (i686) instead. The Pentium 4 was released in 2000, and Hyper Threading was introduced in 2004. But with no pentium4 target in QEMU, there is a bit of a gap.
(The i786/pentium4 instruction set sees full use in all 64-bit CPUs as they are part of the x86_64_v1 spec.)
While AMD released the AMD Athlon 64 in 2003, there is no ahtlon64
target. There is an athlon
target, but it's the original 32-bit one from 1999. The next-best thing from QEMU is Opteron_G1.
As far as the athlon
target is concerned, that's passed on in favor of Pentium III since AMD has announced that it even they will be dropping 3DNow! instructions from their future processors.
Year | CPU | Cores |
---|---|---|
1993 | pentium | 1 |
1997 | pentium2 | 1 |
1999 | pentium3 | 1 |
2004 | Opteron_G1 | 1 |
2006 | Conroe | 2 |
2007 | Penryn | 4 |
2008 | Nahalem | 8 |
2010 | Westmere | 12 |
2011 | SandyBridge | 12 |
2013 | Haswell | 12 |
VirtIO was introduced in 2013, so hardware targeting stops here in favor of using VirtIO.
While choosing a CPU can be done largely independent of the operating system in use, graphics selection relies more on what drivers operating sytems bundled at the time.
Operating System | RTR | cirrus-vga | ati-vga model=rage128p |
ati-vga model=rv100 |
VGA |
---|---|---|---|---|---|
Windows 95 | 1995 | π | π | π | |
Red Hat 5.0 | 1997 | π© | π | π | β |
Windows 98 | 1998 | π | π | π | |
Turbo Linux 6.0 | 2000 | π© | β | π | |
Windows 2000 Pro | 2000 | π | β | π | |
Windows XP | 2001 | π | β | β | |
Mandrake 8.1 | 2001 | π | β | β | |
Arch Linux 0.1 | 2002 | π | |||
Fedora Core 1 | 2003 | π© | π© | π | |
SuSE 9.3 Pro | 2005 | π | π | π |
β = No drivers / does not work at all β’ π = OS pre-dates GPU β’ π© = Card supported but emulation flawed β’ π = Fully works.
Networking also relies on OS support. While Windows support for NE2000 is good, Linux support for the card is bleh. Good NIC support between the two starts with the AMD PCnet card. The Realtek 8139 also has good support on both Linux and Windows.
qcl
uses ne2k_pci
up to --pcfrom 1996
and uses pcnet
for --pcfrom 1997
and --pcfrom 1998
qcl
implements rtl8139
starting with --pcfrom 2000
These choices can be overridden with the --ne2k
, --pcnet
, and --realtek
options.
Operating System | RTR | ne2k_pci 1988 |
pcnet 1996 |
rtl8139 1999 |
e1000e 2013 |
---|---|---|---|---|---|
Windows 95 | 1995 | π | π | π | π |
Red Hat 5.0 | 1997 | β | π | π | π |
Windows 98 | 1998 | π | π | π | π |
Turbo Linux 6.0 | 2000 | β | π | π | π |
Windows 2000 Pro | 2000 | π | π | π | π |
Windows XP | 2001 | π | π | π | π |
Mandrake 8.1 | 2001 | π | π | π | |
Arch Linux 0.1 | 2002 | π | |||
Fedora Core 1 | 2003 | π | π | π | |
SuSE 9.3 Pro | 2005 | π | π | π |