Wikibooks
enwikibooks
https://en.wikibooks.org/wiki/Main_Page
MediaWiki 1.47.0-wmf.6
first-letter
Media
Special
Talk
User
User talk
Wikibooks
Wikibooks talk
File
File talk
MediaWiki
MediaWiki talk
Template
Template talk
Help
Help talk
Category
Category talk
Cookbook
Cookbook talk
Transwiki
Transwiki talk
Wikijunior
Wikijunior talk
Subject
Subject talk
TimedText
TimedText talk
Module
Module talk
Event
Event talk
Aros/Developer/Docs
0
13107
4639947
4633279
2026-06-11T19:42:03Z
Jeff1138
301139
4639947
wikitext
text/x-wiki
{{ArosNav}}
==A technical overview of AROS==
Google translation [http://translate.google.com/translate?hl=en&sl=auto&tl=de&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs German], [http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs French], [http://translate.google.com/translate?hl=en&sl=auto&tl=it&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Italian], [http://translate.google.com/translate?hl=en&sl=auto&tl=es&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Spanish], [http://translate.google.com/translate?hl=en&sl=auto&tl=hi&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Hindi], [http://translate.google.com/translate?hl=en&sl=auto&tl=zh-CN&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Chinese],
[http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Russian],
[http://translate.google.com/translate?hl=en&sl=auto&tl=pl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Polish],
[http://translate.google.com/translate?hl=en&sl=auto&tl=pt&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Portuguese]
{{Uncited}}
AROS,<ref>[http://aros.sourceforge.net/download.php References and sources]</ref> like AmigaOS (TM), is a [[w:Message passing|message-passing]], [[w:Preemption (computing)|preemptive]] [[w:Multitasking|multitasking]] [[w:Operating system|OS]].
It uses [[w:Reentrant (subroutine)|re-entrant]] shared libraries to save memory space.
AROS is based around an executive library kernel (Exec) and two other libraries:
* Exec (the "kernel", which is not a kernel in the modern sense),
* Intuition (graphics and GUI, integrated into the system) and
* AmigaDOS (Disk Operating System, the Metacomco's Tripos modified to work with Exec).
The design philosophies of AmigaDOS and Intuition are rather different, the former adopting a C-like API and the latter creating an [http://www.basden.demon.co.uk/amiga/amiga.oo.html object-oriented], message passing aware environment for the programmer. The system base is the only absolute address in AmigaOS (located at 0x00000004) this does differ with AROS as AROS SysBase is automatically provided (no $4) but everything else is dynamically loaded. The OS is well known for delivering high performance due to its close connections with the hardware, while simultaneously having the flexibility to support re-targetable graphics (Cybergraphics) and retargetable audio subsystems (AHI).
: Diagram showing relationships of libraries to system needed
Remember, AROS is a [http://en.wikibooks.org/wiki/Aros/Developer/ABIv1 research] operating system, and while all contributions to the base AROS code are welcome, please contact the dev list first for any core changes. Writing applications for AROS does not have this requirement.
While AROS appears and feels almost feature complete, it is still [[Aros/Developer/IncompleteAPIs|missing a small number of functions]] from the Amiga API - as well as a few implementations of [[Aros/MissingFunctionaility|core functionality]]. There are also a number of user applications that, while not strictly part of the AmigaOS 3.1 environment, need to be written.
[https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1201 This thread provides] information for setup, [http://www.aros.org/documentation/developers/index.php documentation] and whether you are interested in core OS changes and/or writing/porting software apps
*you compile directly under AROS, which can be running on either real hardware, virtual hardware
*in hosted mode under linux/window, cross-compile from that host OS (save your files as ISO-8859-15 encoding instead of UTF-8)
The repository for the [https://github.com/aros-development-team/AROS current development version ABIv1], the [https://github.com/deadw00d/AROS/tree/alt-abiv0 repository for current stable PC version ABIv0 with backported ABIv1 features is located which is used on AROS One and Icaros x86 based distros]
Any [https://github.com/aros-development-team/AROS/issues bugs / issues can be added]
We have a [https://arosdevteam.slack.com/archives/CUFV48U3H slack here], discord on [https://discord.gg/UKp9qdEBuQ Discord@AmigaDev],
==Software Development for AROS==
===Programming languages===
Apart from 'The Developer Environment', which primarily supports C/C++ code, there are other programming languages available for AROS:
'''Scripting'''
:[[Aros/User/DOS|DOS]], included in all
:[[Aros/Developer/Docs/LUA|LUA]], included in all or [http://www.airsoftsoftwair.de/en/prod_hollywood.html Hollywood]
:REXX [[Aros/Developer/Docs/Rexx|Regina (AROS' ARexx)]], included in all
:Python [ Info], included in Icaros
:Ruby [http://www.ruby-lang.org/en Info]/[http://archives.aros-exec.org/index.php?function=browse&cat=development/language download]
'''Basic'''
:[http://amos.pspuae.com/AmosProManual/contents/c1.html '''Amos Pro'''] [http://amos.pspuae.com/index.php?action=forum#1 compatible] [http://www.amigacoding.com/index.php/Main_Page commands] (all incomplete)
::[http://sourceforge.net/projects/xamos/ X-Amos]
::[http://sdlbasic.sourceforge.net/ SDLBasic] ([http://archives.aros-exec.org/index.php?function=browse&cat=development/language download])
::[http://alvyn.sourceforge.net/ Alvyn] ([http://www.dusabledanslherbe.eu/AROSPage/MISC.14.html download])
::[[Aros/Developer/Basic/Basic4SDL|Basic4SDL]] ([http://archives.aros-exec.org/index.php?function=browse&cat=development/language download])
::[http://www.ultimateamiga.co.uk/index.php?topic=9425.0 Project Deimos],
:'''Blitz Basic''' [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=46537#forumpost46537 none on AROS]
:: [http://www.amiforce.de/main.php Amiblitz] on JanusUAE amiga(TM) emulator
:'''Amiga Basic'''
:: [ ACEBasic]
'''Misc'''
:[[Aros/Developer/Docs/E|AmigaE Portable E]]
:[https://ae.arosworld.org/index.php?board=11.0 FreePascal FPC Aros-Exec thread], [http://archives.aros-exec.org/index.php?function=browse&cat=development/language Download], FreePascal for AROS has its own [http://fpcaroswiki.alb42.de/ Wikibook],
:[[Aros/Developer/Docs/LLVM|LLVM]],
===Where to get the C/C++ Environment===
If you want to develop for AROS, its generally easier to be running linux hosted AROS development environment especially for C++, cross compiling the code. That's how most developers now are doing it. g++ is used to compile owb web browser as well as some other AROS software. If you were hoping for a rich set of C++ libraries or classes defined for the OS feature set, you might be disappointed.
AROS Native compiling is possible, but you're much more likely to run into the odd bug(s) in the dev environment since it gets little testing and fixing by other developers.
Is there a sftp software or scp over ssh available?
Nope. There isn't. At least the security part would be handled by [https://github.com/jens-maus/amissl amissl] [https://archives.arosworld.org/index.php?function=browse&cat=network/misc port]
[https://arosdevteam.slack.com/join/shared_invite/enQtOTc4Mzg0NDIzNzQ0LWQ2NWZmNmMwNGIwNGEyNTgxNzU3MGFjMTk3ZThmOTQ1MTVjMzhmNTllYWQ0ZTUxMjBjMGE0Y2VjMDJmNTc5MzI#/shared-invite/email Slack Dev Forum]
====Cross compilers from Windows or Linux====
*Windows WSL2 walkthrough can be [https://arosnews.github.io/how-to-cross-compile-aros-hosted-wsl/ found here]
you want to build AROS. No problem.
Here are instructions for 64-bit:
https://github.com/deadw00d/AROS/blob/master/INSTALL.md
Here are instructions for 32-bit:
https://github.com/deadw00d/AROS/blob/alt-abiv0/INSTALL.md
And as always has been the case you can use the contrib archive to 'obtain' the development directory which contains the /native/ AROS gcc compiler and tools. That compiler is used to build AROS itself but can be used outside the AROS build process by providing --sysroot with indicated directory to cross compile for AROS.
=====Older guides for Linux hosted compiler=====
Please install these packages before moving to next step. Below is a reference list for Debian-based distributions. Reference build system was Ubuntu 18.04/20.04 amd64.
subversion git-core gcc g++ make gawk bison flex bzip2 netpbm autoconf automake libx11-dev libxext-dev libc6-dev liblzo2-dev libxxf86vm-dev libpng-dev gcc-multilib libsdl1.2-dev byacc python-mako libxcursor-dev cmake zsh mingw64
Do all of these operations under home directory of your user or another directory where your user has write permissions.
Specifically, in a section "Linux-i386", be sure first to build the cross-compiler (toolchain-alt-abiv0-i386) and only then AROS itself (alt-abiv0-linux-i386).
Clone & build
<pre>
$ mkdir myrepo
$ cd myrepo
$ git clone https://github.com/deadw00d/AROS.git AROS
$ cd AROS
$ git checkout alt-abiv0
$ cd ..
$ cp ./AROS/scripts/rebuild.sh .
$ ./rebuild.sh
</pre>
Now to the build selection below - Linux-i386
Select toolchain-alt-abiv0-i386 - Select alt-abiv0-linux-i386 (DEBUG)
Start AROS by:
<pre>
$ cd alt-abiv0-linux-i386/bin/linux-i386/AROS
$ ./Arch/linux/AROSBootstrap
</pre>
Pc-i386 Select toolchain-alt-abiv0-i386 (if not built yet) - Select alt-abiv0-pc-i386
ISO image available in alt-abiv0-pc-i386/distfiles
Now that we have linux-hosted build, we can resume native (option 2).
Run ./rebuild.sh and selection option 2. Wait until it finished, then:
<pre>
$ cd alt-abiv0-pc-i386
$ make
</pre>
Now
<pre>
$ make bootiso
</pre>
Now, your compiler is located in toolchain-alt-abiv0-i386 directory and named i386-aros-gcc. Includes are in alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/include and libraries are in alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development.lib.
This is how then can be passed to the compiler:
/home/xxx/toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot /home/xxx/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development -L/home/xxx/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/lib
../toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot bin/linux-i386/AROS/Development local/helloworld/helloworld.c -o local/helloworld/helloworld
Another method was using Debian like distros and download the gimmearos.sh script (on [http://archives.aros-exec.org/index.php?function=browse&cat=development/cross aros-archives]) to setup the developer environment by downloading necessary packages ...
The gimmearos script is a good start in that direction, building the cross compilers and hosted AROS environment, but gimmearos.sh might be out of date or not be completely compatible with any given linux distro.
In order to do that, you have to compile AROS yourself. Download AROS source archive not contrib. Compile AROS by entering the main directory
./configure
make
([http://aros.sourceforge.net/documentation/developers/compiling.php More on compiling AROS]). The result will be a basic AROS system without development tools.
To compile C++ on Linux, type 'make gnu-contrib-crosstools', creating the cross-compilers in ./bin/linux-i386/tools/, named i386-aros-gcc, etc.
'''Note''': Currently, to make the cross compilers usable copy 'collect-aros' from tools/ to tools/i386-aros/bin/. At the moment the cross compilers if used from the Linux command line will only find it when it's there.
If you want to compile native compilers (the Developer Environment), type 'make contrib-gnu-gcc', creating native compilers in AROS' System:Development/bin directory.
When the output needs to be stripped <code>--strip-unneeded --remove-section .comment</code>
The Obj-C backend should build out of the box.
Open contrib/gnu/gcc/mmakefile.src and search for the line which contains "--enable-languages" and add "objc" to the list of languages that follows it.
--enable-languages=c,c++,objc
Better make it—enable-languages=c,c++,objc,obj-c++
ObjC++ is broken as soon as you try to use exceptions, but that might change in future GCC versions and it does not hurt having it there already.
Do you need a cross-compiler or a real compiler? In the first case you can get away with just downloading the proper gcc archive, apply the patch and proceed with the normal gcc build. In the case of a real cross-compiler then when downloading the contrib sources, also need to download the normal sources, place the contrib sources into a directory called contrib, need to install autoconf+automake+perl+python, call ./configure, cd into the subdirectory and type make.
to rebuild GCC with host == build == target == i386-pc-aros. So just get the vanilla sources and apply the patches without bothering about the build system?
[https://vmwaros.blogspot.com/2019/10/a-pre-configured-development-machine.html pre-configured VM environment vmware virtual machine to develop AROS and AROS software]
'''64 bit'''
'''32 bit'''
A good option for multiple OS is [https://axrt.org/index.php?tab=download-aros AxRuntime lets developers compile their Amiga API-based applications as Linux binaries being able to utilize modern development tools available on Linux, like IDEs, debuggers, profilers, etc]
====Native compilers for AROS====
Namely gcc for C or g++ for C++ are supplied with the [[Aros/Developer/Docs#The Developer Environment|Developer Environment]], which is already '''setup''' and part of any current AROS distribution like AROS One or the nightlies
* Current GCC 6.5 (32bit) though moving to 10.5 and 15.1 (64bit)
* Older software components. GNU GCC 4.x GNU BinUtils, GNU Fileutils 4.x, GNU Textutils and others.
On single partition systems and the Boot ISO, the AROS Developer environment is installed under "SYS:Development/". Systems with multiple partitions - such as a Work: partition - tend to install it to there instead, however it can be installed manually to any location. Please remember, if moving, that you will need to correct the Development packages 'install location' env variable to point to the new locations root - look in SYS:S/startup-sequence.
<pre>
Assign Development: SYS:Development
Assign C: Development:bin ADD
</pre>
In the aros build instructions. you need to check out contrib and/or ports into your AROS source directory, as subdirs. then, assuming you are building in an external build dir, as you should, you simply configure and "make contrib" for instance or whatever submodule you might want to build.
===Beginners Tutorials in C C++===
As AROS is [http://eab.abime.net/showthread.php?t=29856 C based] API compatible to AmigaOS 3.x, so most of the information on programming C on the Amiga applies to AROS as well. Please note that there is a lot of AmigaOS 1.3 (1985-1989) and [https://www.markround.com/amigaguide AmigaOS AOS 2.x (1990-1992)] information around but OS3.1 is recommended but limited in amount.
Brief overview of what is required to write AROS Applications
# Using [[Aros/Developer/Docs/Libraries/Intuition|Intuition]] for basic screens/windows
# Using graphics within windows via 8bit [[Aros/Developer/Docs/Libraries/Graphics|graphics]] and so onto 15-16-24bit [[Aros/Developer/Docs/Libraries/CGFX|cybergraphx]]
# Load and save work to [[Aros/Developer/Docs/Libraries/DOS|dos]] disk drives
# Using the [[Aros/Developer/Zune|ZUNE GUI Environment]]
Writing native games require this extra information
# Using [[Aros/Developer/AHIDrivers|AHI audio hardware independent API]]
# Using USB joystick/joypad with the Poseidon USB stack through [[Aros/Developer/Docs/Libraries/LowLevel|LowLevel]] library
Additional features that could be added later
# Adding additional [[Aros/Developer/Docs/Libraries/Locale|Locale]] language translations to your program
# Adding a [[Aros/Developer/Docs/Rexx|AREXX/Regina]] port to your application
# Executing Amiga(TM) [[Aros/User/DOS|DOS]] commands from your application
# Using [[Aros/Developer/Docs/Libraries/Icon|icons]] (.info files) and icon tooltypes (stack, version, and program startup options)
# Local couch or IP based SANA2 networking co-op multi player gaming support
Most AmigaOS programming books are nowadays very much out of date as most are from the late 1980s and do not cover later amigaOS releases like 3.1 for example, Rob Peck's book "Programmer's Guide to the Amiga". The Amiga ROM Kernel manuals aka RKMs like Libraries (3rd edition), Devices (), the AmigaDOS manual (3rd edition) and the Style Guide may have their uses. There are some reference examples from AmigaMail and Devcon notes (available again on an Amiga developers CD 2.1).
For Arexx then "The Amiga Programmer's Guide to ARexx" by Eric Giguere, which was published by Commodore is useful as well as an "Arexx Cookbook".
Curly brackets missing - try SHIFT + ALT + 7 or 0.
* Beginners C Guide [http://www.iu.hio.no/~mark/CTutorial/CTutorial.html C Tutorial],
* [http://thecguru.com/ C for beginners],
* [http://fresh2refresh.com/c/c-basic-program/ C programming basics] for students,
* [https://www.edx.org/courses Free Online course] from American Universities
* Reference Amiga [http://amigadev.elowar.com/ API reference].
* AROS based c source can be found [[Aros/Developer/Docs/Examples|here]] and lots of example code can be found inside [https://github.com/aros-development-team AROS sources] themselves and from the contrib section of the archives from [https://github.com/aros-development-team/contrib Aros site], and study the AROS applications source code, e.g. the test programs from the Tests drawer (folder/directory). Take a look at the code of some smaller AROS programs might be a better and more up to date guide. Some old Os3 [http://www.blackfiveservices.co.uk/amiga-c/ here]
When you upload your builds, please write the architecture (like i386-aros, x86_64-aros, etc.) in the archive name
and it is also advisable to write in the field "Requirements" what ABI (ABIv11, ABIv0 or ABIv1)
===Compiling C/C++ Code===
Native, although we have a IDE Integrated Development Environment (Murks), it does lack a debugger. Whilst others use a combination of a text editor and shell to edit code. Most though use an AROS hosted on Linux to take advantage of the better GCC tools like GDB and various IDEs.
Open shell - its a menu option at the top left of Wanderer (desktop). Or by using the right Win key and w (or F12 and w) within the directory with the source code. Type in
sh
to change the amiga shell into a unix shell. You can then type in ls (unix equivalent to amiga dir). Take a look [http://en.wikibooks.org/wiki/Linux_commands here] for more commands.
For a single file program-name.c or program-name.cpp
gcc -o program-name program-name.c
or
g++ -o program-name program-name.cpp
or
g++ -o test -Wall -g main.cc texturelib.cpp xmodelib.cc -lsdl -lgl
To close the shell, click on the top left-hand corner to close (twice). Once to get back the aros shell and then again to close finally. Use [http://freshmeat.net/projects/cksfv/ cksfv] as a test.
Some source code requires the addition of Amiga API libraries, like dos, which you can flag at the compile time as
gcc -o julia.exe julia.c -ldos
For DOS use -ldos as example and if you are compiling mui codes it will be -lmui or intuition -lintuition. Other missing symbols are due to linker libraries being necessary for linking in functions that aren't in the standard C libraries. For example some source code would need added
-lz or -lm or -lpng or -larosc etc.
use this in unix line command mode to search for 'search-item' in many .c files (*.cpp for c++, etc.)
grep -l 'search-item' *.c
If the program is not executable, try using parameter fno-common
"Delete #?.o"? Or if you are using abcshell then "rm *.o"
:''More information: [[Aros/Developer/Porting software]]''
=== How to make Apps have AROS 64-bit specific support code ===
[http://www.aros.org/cs/documentation/developers/app-dev/portable.php Portable code]
AROS64 already uses 64bit addressing, it just doesn't setup the MMU for more than 4GB physical memory currently.
When porting software to AROS64 it is "mostly" a case of converting ULONG's that are used to store pointers, into IPTR's instead, etc. Another quirk, is making sure items on the stack are the correct size by using the STACKED attribute for them.
* Use texteditor or some tool to replace all "ULONG" with "IPTR" and "LONG" with "SIPTR" in the sources.
compiling mui stuff for aros setting -std=gnu99 is necessary, had -std=c99 usually
A MUI application most likely needs only the HOOKPROTOxxx SDI macros. They are compatible with AROS, only the attributes (hook, object attribute) must be given in the right order.
crash which suggest memory corruption. From my experience porting from 32-bit to 64-bit these kinds of errors can happen if a pointer is passed somewhere via ULONG variable. Then half of the pointer is cut.
To generate this error, please run AROSBootstrap with -m 1024. This will allocate heap to 64-bit address space which will make these errors immediatelly visible. These types of crashes are hard to debug. Disabled as little code as possible to stop corruption from occurring and then try to read from the code where it can be broken
Crashing in tslf_freevec is another symptom of memory corruption and these memory corruptions will manifest differently on different setups.
==Coding conventions==
As the AROS core source is a shared developer experience, there are rules regarding structure and style. When it comes to your creating your own app and coding, the structure and style should be your own, i.e. you should enjoy what you do and do it so that you can understand what is going on.
===Layout===
<syntaxhighlight lang="c">
static void 1st_function()
{
program
exit(0);
}
int main(void)
{
1st_function();
2nd_function();
3rd_function();
return 0;
}
</syntaxhighlight>
<syntaxhighlight lang="c">
struct Screen * openscreen(void);
struct Window *openwindow(struct Screen *screen, const char *title, LONG x, LONG y, LONG w, LONG h);
VOID 1st_function();
VOID 2nd_function();
int main(int argc, char **argv)
{
program
return 0;
} /* main */
VOID 1st_function()
{
}
VOID 2nd_function()
{
}
</syntaxhighlight>
===General style===
This code is used by many people and therefore you should keep some things in mind when you submit source code:
* Keep things simple
* Keep the source clean
* Always know what you are doing, if not flag it and describe what needs to be done...
* Explain clearly/simply what you are doing
* Remember that you write code once but that it is read many times by many people
===Comments===
AROS uses some of the comments in the source to generate the documentation. Therefore it's necessary to keep a certain format so the tools can find their information. Other comments are ignored but they should explain what you thought when you wrote the code. If you really can't think of an explanation, then don't write the code a second time like this:
<pre>
/* This adds 1 to t */
t ++;
</pre>
What we think of is this:
<pre>
/* Go on with next element */
t ++;
</pre>
===Formatting===
This is only '''IMPORTANT''' if you are going to work on the core AROS code or contrib but not applications which may reside outside like on AROS Archives or other websites.
<syntaxhighlight lang="c">
{
/* a */
struct RastPort * rp;
int a;
/* b */
rp = NULL;
a = 1;
/* c */
if (a == 1)
printf ("Init worked\n");
/* d */
if
(
!(rp = Get_a_pointer_to_the_RastPort
(
some
, long
, arguments
)
)
||
a <= 0
)
{
printf ("Something failed\n");
return FAIL;
}
/* e */
a = printf ("My RastPort is %p, a=%d\n"
, rp
, a
);
return OK;
}
</syntaxhighlight>
Looks ugly, eh ? :-) Ok, here are the rules:
<pre>
If several lines contain similar code, put similar things below each other (see a and b);
Put spaces between operands and operators
Put braces {}, brackets [] and parentheses () below each other (d) if there is much code between.
Brackets and parentheses may be in one line if the code between is small (c)
Indent by 4 Spaces. Two indent levels may be abbreviated by one tab.
</pre>
'''Before committing please normalize the indentation - if you have a mixture of tabs and spaced - please always use spaces, 1 tab = 4 spaces.'''
The reasons for this are:
# While some editors can use an arbitrary sizes for tabs, it's a bit complicated to tell another editor which tab size was used by the one used to write the code.
# Most code in AROS was written this way and your code should look like the rest.
# You can print this code on any printer without special tools to "fix" the tabs.
# Most editors have smart tabs which do exactly this. If your editor doesn't, write a bug report.
If you have a function with many arguments (d, e) you should put the parentheses in lines of their own and each argument in one line (d) or put the first argument behind the opening parentheses (e) and each following argument in a line of its own with the comma in front. The closing parentheses is in a line of its own and aligned with the beginning of the expression (i.e. the a and not the opening parentheses or the printf()).
Use a single blank line to separate logical blocks. Large comments should have a blank line before and after them, small comments should be put before the code they explain with only one blank line before them.
If you see any TABS in AROS core sources then the suggestion is to "detab the file and commit that separately" either before or afterwards from making functionality changes. Make two commits instead of one. This makes it easier for others to see the real changes instead of having to dig through multiple lines of irrelevant diffs.
===Eliminating Global Variables===
i.e. pass variables to functions (local scope) or classes making it easier to track and debug your code.
Any time you find that you need a particular thing in 'a lot of different places', chances are that all those places are conceptually related, and so you can create a class, a namespace, a function, or some other higher-level organizational unit to represent that relationship. This makes the program easier to understand.
Bad Designs
* All variables are global.
* There are no standalone functions, only sub-procedures which act on the global variables.
* Every sub-procedure is at least 500 lines to several thousand
* Every sub-procedure has more than one task to perform
* Copy-paste is preferred to writing methods, AND subtle changes are made in the middle of the code
Good Designs
* structure program into functions (C or basic) - top-down procedural approach
* put in class(es) (freepascal or C++) - the object is fixed and you use methods to access the object
<pre>
class String_List
{
private:
list<string> m_List; // member
public:
void read_strings() { /* read strings into m_List */ }
void print_strings() { /* write contents of m_List to stdout */ }
void sort_strings() { /* sort contents of m_List */ }
void sort_strings_reverse() { /* reverse-sort contents of m_List */ }
void unique_strings() { /* remove duplicate strings */ }
};
int main()
{
String_List myList; // local
myList.read_strings();
myList.sort_strings();
myList.print_strings();
myList.sort_strings_reverse();
myList.print_strings();
myList.unique_strings();
myList.print_strings();
return 0;
}
</pre>
This way it is very easy to replace the list with new list for debugging purposes, or replacing the methods without replacing the list, when you want different results. You only have to replace the content of the local variables.
So create the structure that matches your data (linked lists, trees, arrays, etc.) and what to do with them (sorting, searching, etc.)
<pre>
.h usually contain #define #include typedef enum struct extern screen and window definitions (data structures)
.c should contains functions and algorithms
</pre>
One way to look at it is that menu headings act as the .c file and sub-menu headings as functions.
When you start a project, you place a couple of declarations in the include file. As the project continues, you place more and more declarations in the include file, some of which refer to or contain previous declarations. Before you know it, you have a real mess on your hands. The majority of your source files have knowledge of the data structures and directly reference elements from the structures.
Making changes in an environment where many data structures directly refer to other data structures becomes, at best, a headache. Consider what happens when you change a data structure.
Use good variables names to help clarify code and only comment when you need to explain why a certain programming approach was made.
You're Refactoring Legacy Code, you see a global, you want to get rid of it. How do you do this?
Exactly what to do depends on how the global is used. The first step is to find all uses of the global throughout the code, and get a feel for what the significance of the variable is and how it relates to the rest of the program. Pay particular attention to the "lifetime" of the variable (when it gets initialized, when it is first used, when it is last used, how it gets cleaned up). Then, you will probably make the global a data member of a class (for OO languages), or you will write some get/set functions. Converting to the Singleton Pattern is common, but you may discover that it makes more sense for the data element to be a member of an existing singleton, or maybe even an instance variable.
# Create a basic read method, either as a class or a global function. Replace all reads with the access method, but leave the variable defined as a global.
# Review each of the writes to the method and extract action functions one at a time. Unless two operations are coded identically in the original code, extract each write access separately.
# Change the variable scope from global to local.
# Analyze similar action functions to determine if any can be merged, i.e., there are no functional differences in the results of the function, just differences in the implementation details.
# Review the calls to the read method and see if a more complex functionality should be applied. Follow the approach for writes and unless implementations are identical, create separate access functions.
# Analyze the access functions for duplication.
As returning variables by "passing by value" are forgotten, so "passing by reference" is often used instead. The reference is a pointer to the variable so the value is remembered when returned.
Alternatives
* Hidden Globals
* Singleton Pattern
* Database or TupleSpace
* Context Object
* Dependency Injection
* Stateful Procedures
==AROS/AmigaOS APIs and Docs==
<pre>
Library:
- Private data structure
- Many public access methods
Device:
- Private data structure
- Two (BeginIO/AbortIO) access methods
Resource:
- Public data structure
- *NO* access methods
</pre>
And, being Amiga OS-compatible, there are exceptions to all of these.
===System Libraries===
The [http://aros.sourceforge.net/documentation/developers/app-dev/index.php AROS Guide To Libraries] can be used as a guide to individual commands and Old Dev Docs are used in application programming.
The generated [http://aros.sourceforge.net/documentation/developers/autodocs/ Aros AutoDocs HTML Read] or download [http://aros.sourceforge.net/download.php docs-html.bz2 from here].
Amiga/Aros styles libraries are very different from windows and linux libs. Typical .so/dll libraries are foreign to most Amiga-like OS
*[[Aros/Developer/Docs/Libraries/AROSC|arosc.library]]
*[[Aros/Developer/Docs/Libraries/AmigaGuide|amigaguide.library]]
*[[Aros/Developer/Docs/Libraries/ASL|asl.library]]
*[[Aros/Developer/Docs/Libraries/Bullet|bullet.library]]
*[[Aros/Developer/Docs/Libraries/BSDsocket|bsdsocket.library]]
*[[Aros/Developer/Docs/Libraries/CAMD|camd.library]]
*[[Aros/Developer/Docs/Libraries/Codesets|codesets.library]]
*[[Aros/Developer/Docs/Libraries/CGFX|cybergraphics.library]]
*[[Aros/Developer/Docs/Libraries/CGXVIDEO|cgxvideo.library]]
*[[Aros/Developer/Docs/Libraries/Commodities|commodities.library]]
*[[Aros/Developer/Docs/Libraries/DataTypes|datatypes.library]]
*[[Aros/Developer/Docs/Libraries/DiskFont|diskfont.library]]
*[[Aros/Developer/Docs/Libraries/DOS|dos.library]]
*[[Aros/Developer/Docs/Libraries/Exec|exec.library]]
*[[Aros/Developer/Docs/Libraries/Expansion|expansion.library]]
*[[Aros/Developer/Docs/Libraries/FreeType2|freetype.library]]
*[[Aros/Developer/Docs/Libraries/GadTools|gadtools.library]]
*[[Aros/Developer/Docs/Libraries/Graphics|graphics.library]]
*[[Aros/Developer/Docs/Libraries/Icon|icon.library]]
*[[Aros/Developer/Docs/Libraries/Identify|identify.library]]
*[[Aros/Developer/Docs/Libraries/IFFParse|iffparse.library]]
*[[Aros/Developer/Docs/Libraries/Intuition|intuition.library]]
*[[Aros/Developer/Docs/Libraries/Keymap|keymap.library]]
*[[Aros/Developer/Docs/Libraries/Layers|layers.library]]
*[[Aros/Developer/Docs/Libraries/Locale|locale.library]]
*[[Aros/Developer/Docs/Libraries/LowLevel|lowlevel.library]]
*[[Aros/Developer/Docs/Libraries/MathIEEESingBas|mathieeesingbas.library]]
*[[Aros/Developer/Docs/Libraries/MathIEEEDoubBas|mathieeedoubbas.library]]
*[[Aros/Developer/Docs/Libraries/MathIEEESingTrans|mathieeesingtrans.library]]
*[[Aros/Developer/Docs/Libraries/MathIEEEDoubTrans|mathieeedoubtrans.library]]
*[[Aros/Developer/Docs/Libraries/Mathtrans|mathtrans.library]]
*[[Aros/Developer/Docs/Libraries/MUIMaster|muimaster.library]]
*[[Aros/Developer/Docs/Libraries/Partition|partition.library]]
*[[Aros/Developer/Docs/Libraries/PopUpMenu|popupmenu.library]]
*[[Aros/Developer/Docs/Libraries/OOP|oop.library]]
*[[Aros/Developer/Docs/Libraries/Regina|regina.library]]
*[[Aros/Developer/Docs/Libraries/Reqtools|reqtools.library]]
*[[Aros/Developer/Docs/Libraries/RexxSysLib|rexxsyslib.library]]
*[[Aros/Developer/Docs/Libraries/ScreenNotify|screennotify.library]]
*[[Aros/Developer/Docs/Libraries/TTEngine|ttengine.library]]
*[[Aros/Developer/Docs/Libraries/Thread|thread.library]]
*[[Aros/Developer/Docs/Libraries/Utility|utility.library]]
*[[Aros/Developer/Docs/Libraries/Xadmaster|xadmaster.library]]
*[[Aros/Developer/Docs/Libraries/Workbench|workbench.library]]
*[https://github.com/aros-development-team/AROS/commit/c82e86b8480277998014cc327b56c7664023a52f ClassAct Reaction boopsi class]
===AROS Subsystems===
# [[Aros/Developer/Zune|Zune MUI compatible GUI]]
# [[Aros/Developer/AROSAppPackages|AROS Application Packages]]
# AHI Audio Drivers - [[Aros/Developer/AHIDrivers|Usage]]/[[Aros/Developer/AHIDriversDev|Development]]
# AROSTCP Sana2 Network Interface Drivers - [[Aros/Developer/NICDrivers|Usage]]/[[Aros/Developer/NICDriversDev|Development]]
# [[Aros/Developer/AmiSSL|AmiSSL]]
# gfx.hidd/cybergraphics Video Drivers - [[Aros/Developer/GfxDrivers|Usage]]/[[Aros/Developer/GfxDriversDev|Development]]
# IO Device Drivers - [[Aros/Developer/IODeviceDrivers|Usage]]/[[Aros/Developer/IODeviceDriversDev|Development]]
# USB Device Drivers - [[Aros/Developer/USBDrivers|Usage]]/[[Aros/Developer/USBDriversDev|Development]]
# PCI Device Drivers - [[Aros/Developer/PCIDrivers|Usage]]/[[Aros/Developer/PCIDriversDev|Development]]
# [http://www.libsdl.org/ SDL]
# [[w:Gallium3D|Gallium 3D]] [http://www.mesa3d.org/ openGL aka Mesa] - [[Aros/Developer/OpenGL|Usage]]/[[Aros/Developer/OpenGLDev|Development]] [http://www.swiftless.com/opengltuts.html Swfitless]
# A small subset of GTK2 through [http://sourceforge.net/projects/gtk-mui/ MUI-GTK]
# Cairo 2D Engine - [[Aros/Developer/Cairo|Usage]]/[[Aros/Developer/Cairo|Development]]
# [[Aros/Developer/Scalos|Scalos desktop API and plugin modules]]
# [[Aros/Developer/VHI|VHI video driver]]
====HIDDs====
*[[Aros/Developer/Docs/HIDD/HIDDClass|hiddclass.hidd]]
*[[Aros/Developer/Docs/HIDD/Graphics|graphics.hidd]]
*[[Aros/Developer/Docs/HIDD/VesaGfx|vesagfx.hidd]]
*[[Aros/Developer/Docs/HIDD/ATI|radeon.hidd]]
*[[Aros/Developer/Docs/HIDD/NVidia|nvidia.hidd]]
*[[Aros/Developer/Docs/HIDD/Nouveau|nouveau.hidd]]
*[[Aros/Developer/Docs/HIDD/Kbd|kbd.hidd]]
*[[Aros/Developer/Docs/HIDD/Mouse|mouse.hidd]]
*[[Aros/Developer/Docs/HIDD/i2c|i2c.hidd]]
*[[Aros/Developer/Docs/HIDD/IRQ|irq.hidd (deprecated)]]
*[[Aros/Developer/Docs/HIDD/PCI|pci.hidd]]
*[[Aros/Developer/Docs/HIDD/PCIPC|pcipc.hidd]]
*[[Aros/Developer/Docs/HIDD/Serial|serial.hidd]]
*[[Aros/Developer/Docs/HIDD/Thunderbolt|thunderbolt.hidd]]
https://github.com/aros-development-team/AROS/commit/4f02ea691799aff3a01f60cfa5f9182c82fc57a8
HIDD are used for device/peripheral low level hardware support drivers. The HIDD system is split up into a collection of classes with a strict inheritance hierarchy. A HIDD class implements a device driver for a single device or in rare cases a group of devices and provides an interface for other programs and devices to access.
In order to maintain portability of interfaces across a wide range of hardware this interface will in general not present the raw interface to the underlying hardware. Instead it will present a generic interface that describes many different hardware implementations. This allows for the best reuse of both interfaces and code.
HIDD API is heavyweight though. You need to open a HIDD library, open oop.library, instantiate an object (even if there's no object); and object calls are more costly compared to plain library calls.
Basically your task is to implement a subclass of hidd.ata.bus for your hardware. just implementing the XXXATA__Hidd_ATABus__xxxxxx methods for the Amiga chipset - and appropriate versions of the interface_xxx.c file(s). pretty much everything in probe.c could be ignored - just write a replacement scan for relevant amiga devices and store whatever info you need in the bus data? only the "SUPPORT_LEGACY" blocks might be related.
You do not need to depend on PCI API. PCI is just a way to discover the hardware on PCs, etc.
<hidd/pci.h> includes (at some depth) <interface/HW.h>, which defines IID_HW. This comes from the 'generic' HIDD class in:
rom/hidds/hidd/hiddclass.conf
did not split up HIDD and HW because they are always used in pair. It's the same as hidd/pci.h bringing definition for: PCI, PCIDriver and PCIDevice. PCI is actually PCIHW, just the name was not changed for backwards compatibility reasons. HW is a 'hub' where HIDD instances plug in.
ATA HIDD aoHidd_ATABus_Use32Bit value is completely ignored unless ata.device first detects correct command line parameter.
Yes. Unfortunately I was unable to find any comment in code or svn history with explanations. Looked at Linux source, there 32-bit PIO is also controller driver's property. Some of them enable it, some don't.
Actually, switching the default to ON should be safe. ata.device is fail-safe at this because during IDENTIFY command it validates upper 16 bits, and if they appear to be zeroes in all 128 longwords, then 32-bit mode is switched off. But, nevertheless, I know how tricky hardware can be, so I decided not to change original behavior. If you think it's wrong in some cases, then it's possible to add one more attribute like aHidd_ATABus_Default32Bit. If set to YES, then this means that 32-bit PIO is safe to use by default.
====Devices====
*[[Aros/Developer/Docs/Devices/ATA|ata.device]]
*[[Aros/Developer/Docs/Devices/Console|console.device]]
*[[Aros/Developer/Docs/Devices/Narrator|narrator.device]]
*[[Aros/Developer/Docs/Devices/Printer|printer.device]]
*[[Aros/Developer/Docs/Devices/Trackdisk|trackdisk.device]]
*[[Aros/Developer/Docs/Devices/AmberRAM|amberram.device]]
*[[Aros/Developer/Docs/Devices/Timer|timer.device]]
*[[Aros/Developer/Docs/Devices/|.device]]
The Amiga used [[Aros/Developer/Docs/Devices|Devices]] to communicate with [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=3475&viewmode=flat&order=ASC additional hardware]. AROS has replaced these hardware devices with hidd equivalents but some are still retained for backwards compatibility.
Local libraries/devices/handlers,etc. are supposed to override the ones in ROM if their version is higher than the one in ROM.
Here is the list of commands exec default:
{| class="wikitable"
| CMD_CLEAR
| Purge the buffer of the device
|----
| CMD_READ
| Playback Control
|----
| CMD_STOP
| Stopped the activity of the device
|----
| CMD_FLUSH
| Empty the queue of commands
|----
| CMD_RESET
| Reset a device
|----
| CMD_WRITE
| Playback Control
|----
| CMD_INVALID
| Create an error
|----
| CMD_UPDATE
| Gets updated device
|----
| CMD_START
| Will restart the device
|----
|}
While most other "stuff you communicate with" in AmigaOS are devices <ref>AMIGA ROM Kernel Reference Manual: Devices, 3rd Edition. Commodore-Amiga, Inc. Addison-Wesley, 1991. {{ISBN|0-201-56775-X}}</ref> that share a [http://gega.homelinux.net/AmigaDevDocs/ common base interface]. [[Aros/Developer/Docs/Devices1.3|OS 1.3 Device Drivers]].
====Handlers====
:[[Aros/Developer/Docs/Handlers/Pipe|pipe.handler]]
:[[Aros/Developer/Docs/Handlers/Port|port.handler]]
:[[Aros/Developer/Docs/Handlers/SFS|sfs.handler]]
:[[Aros/Developer/Docs/Handlers/FAT|fat.handler]]
:[[Aros/Developer/Docs/Handlers/PFS|pfs.handler]]
:[[Aros/Developer/Docs/Handlers/NTFS|fuse.handler]]
:[[Aros/Developer/Docs/Handlers/FFS|ffs.handler]]
filesystem handlers have their own separate system consisting of completely differently structured messages that dos.library use to pass requests (for things like reading, writing, getting directory contents etc.) to them. AROS originally went with implementing filesystem handlers as devices, which might arguably be more consistent with the rest of the AmigaOS API but which is quite incompatible with AmigaOS itself. However, it made it far harder to port filesystems and the gains were comparatively small, and so there's been a long standing goal of fixing this incompatibility. It has now, June 2011, been reintroduced to all AROS flavors.
are argstr and argsize valid for the handler startup environment?
DOS/RunHandler() calls DOS/CreateNewProcTags(), and then CallEntry() (in rom/dos/exit.c) to start the handler, so yes, argstr and argsize are *present* in the call signature of the handler.
Granted, argstr will be NULL and argsize 0, but those values *are* passed to the handler function using:
<pre>
AROS_UFC3(ULONG, entry,
AROS_UFCA(STRPTR, argptr, A0),
AROS_UFCA(ULONG, argsize, D0),
AROS_UFCA(struct ExecBase *, SysBase, A6));
</pre>
Creating your own [without the whole build tree http://pagesperso-orange.fr/franck.charlet/temp/radeon.zip] and then
<pre>
make stub
make
make install
</pre>
SFS has two Root blocks, one at the start and one at the end of the disk. The Root blocks both contain the same information. They hold various information about the disk structure and have the locations of some important blocks used by the filesystem.
The Root ObjectContainer contains the Root directory Object. The name of this Object is the name of the volume. It is identical to a normal directory Object.
The Bitmap is used to keep track of free space. Each bit in a bitmap represents a single block. A set bit indicates a free block and a cleared bit a used block.
AdminSpaceContainers are used to keep track of space which has been reserved for storing administration blocks. Only the Bitmap, the Root blocks and the actual data stored in files aren't stored in administration space. Administration space is allocated in chunks of 32 blocks at a time. A single AdminSpaceContainer can hold information about a large number of such areas each of which has its own little bitmap of 32 bits.
Extents are stored in a B-Tree. The Root block holds a pointer to the root of the Extent B-Tree. Extents keep track of space in use by a specific file. Each fragment a file consists of has its own Extent. Extents are in a double linked list. The list can be used to locate the next or previous fragment of a file.
Below is the standard block header. This header is found before EVERY type of block used in the filesystem, except data blocks. The id field is used to check if the block is of the correct type when it is being referred to using a BLCK pointer. The checksum field is the SUM of all LONGs in a block plus one, and then negated. When applying a checksum the checksum field itself should be set to zero. The checking a checksum the checksum is okay if the result of the checksum equals zero. The ownblock BLCK pointer points to the block itself. This field is an extra safety check to ensure we are using a valid block.
Field Type Description
id ULONG The id field is used to identify the type of block we are dealing with. It is used to make sure that when referencing a block we got a block of the correct type. The id consist of 4 bytes and each blocktype has its own unique foure letter code.
checksum ULONG This field contains the sum of all longs in this block, plus one and then negated. The checksum can be used to check if the block hasn't been corrupted in any way.
ownblock BLCK Points to itself, or in other words, this field contains the block number of this block. This is yet another way to check whether or not a block is valid.
<pre>
struct fsBlockHeader {
ULONG id;
ULONG checksum;
BLCK ownblock;
};
</pre>
The algorithm to calculate the checksum of a block:
<pre>
ULONG calcchecksum(struct fsBlockHeader *block, LONG blocksize} {
ULONG *data=(ULONG *)block;
ULONG checksum=1;
block->checksum=0;
while(blocksize>0) {
checksum+=*data++;
blocksize-=4;
}
return(-checksum);
}
</pre>
A Root block contains very important information about the structure of a SFS disk. It has information on the location and size of the disk, the blocksize used, locations of various important blocks, version information and some filesystem specific settings.
A SFS disk has two Root blocks; one located at the start of the partition and one at the end. On startup the filesystem will check both Roots to see if it is a valid SFS disk. If either one is missing SFS can still continue (although at the moment it won't).
A Root block could be missing on purpose. For example, if you extend the partition at the end (adding a few MB's) then SFS can detect this with the information stored in the Root block located at the beginning (since only the end-offset has changed). Same goes for the other way around, as long as you don't change start and end point at the same time.
When a Root block is missing because the partition has been made a bit larger, then SFS will in the future be able to resize itself without re-formatting the disk.
Field Type Description
bheader struct fsBlockHeader Standard block header.
version UWORD The version of the filesystem block structure. You can check this field to identify what version of the filesystem your dealing with it and to see if you can handle this structure correctly. Don't try to interpret the disk's structure when this field contains an unknown version number!
sequencenumber UWORD Used to identify which Root block was written last in case the sequencenumber on both Root blocks don't match.
datecreated ULONG Creation date of this volume. This is the date when the disk was last formatted and will never be changed.
bits UBYTE Various settings, see below.
<pre>
pad1 UBYTE Reserved, leave zero.
pad2 UWORD Reserved, leave zero.
reserved1 ULONG[2] Reserved, leave zero.
firstbyteh ULONG High 32-bits of a 64-bit number. This is the first byte of our partition relative to the start of the disk.
firstbyte ULONG Low 32-bits of a 64-bit number.
lastbyteh ULONG High 32-bits of a 64-bit number. This is the last byte (exclusive) of our partition relative to the start of the disk.
lastbyte ULONG Low 32-bits of a 64-bit number.
totalblocks ULONG The total number of blocks this partition consists of.
blocksize ULONG The size of a block of this partition.
reserved2 ULONG[2] Reserved, leave zero.
reserved3 ULONG[8] Reserved, leave zero.
bitmapbase BLCK Block number of the start of the Bitmap.
adminspacecontainer BLCK Block number of the first AdminSpaceContainer.
rootobjectcontainer BLCK Block number of the ObjectContainer which contains the root of the disk (this is where the volume name is stored).
extentbnoderoot BLCK Block number of the root of the Extent B-Tree.
reserved4 ULONG[4] Reserved, leave zero.
</pre>
<pre>
struct fsRootBlock {
struct fsBlockHeader bheader;
UWORD version;
UWORD sequencenumber;
ULONG datecreated;
UBYTE bits;
UBYTE pad1;
UWORD pad2;
ULONG reserved1[2];
ULONG firstbyteh;
ULONG firstbyte;
ULONG lastbyteh;
ULONG lastbyte;
BLCK totalblocks;
ULONG blocksize;
ULONG reserved2[2];
ULONG reserved3[8];
BLCK bitmapbase;
BLCK adminspacecontainer;
BLCK rootobjectcontainer;
BLCK extentbnoderoot;
ULONG reserved4[4];
};
</pre>
AdminSpaceContainers are used to store the location and bitmap of each administration space. The AdminSpaceContainers are located in a double linked list and they contain an array of fsAdminSpace structures. There is one fsAdminSpace structure for every administration space on disk.
Field Type Description
bheader struct fsBlockHeader Standard block header.
next BLCK The next AdminSpaceContainer, or zero if it is the last in the chain.
previous BLCK The previous AdminSpaceContainer, or zero if it is the first AdminSpaceContainer.
bits UBYTE The number of bits in each in the bits ULONG in the fsAdminSpace structure.
pad1 UBYTE Reserved, leave zero.
pad2 UWORD Reserved, leave zero.
adminspace struct fsAdminSpace An array of fsAdminSpace structures. The size of the array is determined by the current blocksize.
<pre>
struct fsAdminSpaceContainer {
struct fsBlockHeader bheader;
BLCK next;
BLCK previous;
UBYTE bits;
UBYTE pad1;
UWORD pad2;
struct fsAdminSpace adminspace[0];
};
</pre>
Field Type Description
space BLCK The first block of an administration space.
bits ULONG A small bitmap which is used to determine which blocks in an administration space are already in use. The number of bits in this bitmap is determined by the bits field in the AdminSpaceContainer.
<pre>
struct fsAdminSpace {
BLCK space;
ULONG bits;
};
</pre>
The fsBitmap structure is used for Bitmap blocks. A bitmap block is used to keep track of which space is in use and which isn't for a particular area of a disk. All bitmap blocks together keep track of the free space for an entire disk. The location of the first bitmap block is known and all other bitmap blocks are stored in order after the first one.
Field Type Description
bheader struct fsBlockHeader Standard block header.
bitmap ULONG An array of ULONG's. These hold the actual information on which blocks are in use and which aren't.
<pre>
struct fsBitmap {
struct fsBlockHeader bheader;
ULONG bitmap[0];
};
</pre>
Each bit in a bitmap block (except for the block header) represents a single block. If the bit is set than the block is free, and if the bit is clear then it is full. The first ULONG in the bitmap area of the first bitmap block represents blocks 0 through 31 on the disk. Bit 31 of this ULONG is block 0, 30 is block 1, and so on. Bit 0 of the first ULONG represents block 31.
Below is a table to clarify how bitmaps work even further. The first column is the bitmap block number, the second column is the number of the ULONG in the bitmap array. The third column is the bit number in this ULONG, and the last column is the block which this specific bit, in this specific bitmap block represents.
We'll assume here that a bitmap block has room for 120 ULONG's (meaning there is room for storing 32 * 120 bits).
<pre>
Bitmap block ULONG number Bit number Block represented
1 (first) 0 31 0
1 0 30 1
... ... ... ...
1 0 1 30
1 0 0 31
1 1 31 32
... ... ... ...
1 2 31 64
1 2 30 65
... ... ... ...
1 119 0 3839
2 0 31 3840
2 0 30 3841
... ... ... ...
</pre>
The last bitmap block doesn't need to be completely used. The unused bits (which belong to blocks which do not exist) all have to be clear, to indicate that these blocks are in use.
The fsObjectContainer structure is used to hold a variable number of fsObjects structures (Objects) which have the same parent directory. Each ObjectContainer must contain at least one Object. If there is space in the ObjectContainer not used by the variable number of Objects then that space is zero filled. Objects always start at 2-byte boundaries, which means sometimes a padding byte is inserted between two Objects.
Field Type Description
bheader struct fsBlockHeader Standard block header.
parent NODE The node number of the parent Object, or 0 if this object has no parent (which is only the case for the Root directory).
next BLCK The next ObjectContainer belonging to this directory, or zero if it is the last in the chain.
previous BLCK The previous ObjectContainer belonging to this directory, or zero if it is the first ObjectContainer in this directory.
object struct fsObject A variable number of fsObject structures. The number of structures depends on the individual sizes of each fsObject structure and the blocksize. These structures are located directly after each other with at most 1 byte of padding between them to get the structures aligned on a 2 byte boundary.
<pre>
struct fsObjectContainer {
struct fsBlockHeader bheader;
NODE parent;
BLCK next;
BLCK previous;
struct fsObject object[0];
};
</pre>
fsHashTable is the structure of a HashTable block. It functions much like the hash table found in FFS user directory blocks, except that it is stored in a separate block. This block contains a number of hash-chains (about 120 for a 512 byte block). Each hash-chain is a chain of Nodes. Each Node has a pointer to an Object and a pointer to the next entry in the hash-chain. Using such a hash-chain you can locate an object quickly by only knowing its name.
Field Type Description
bheader struct fsBlockHeader Standard block header.
parent NODE The node number of the directory Object this HashTable block belongs to.
hashentry NODE An array of Nodes. Each Node represents the start of a hash-chain (singly linked). A hash-value is calculated using the name of a file or directory, and this value determines in which chain the Object is linked. If there are no entries in a hash-chain then the hashentry value is zero.
<pre>
struct fsHashTable {
struct fsBlockHeader bheader;
NODE parent;
NODE hashentry[0];
};
</pre>
To calculate the hash-value using a name of an Object as input use these routines:
<pre>
UWORD calchash(UBYTE *name) {
UWORD hash=0;
/* Calculates a hash value over the passed in string.
The end of the string can be either a NUL byte or a
slash. The hash function is the same as the one
used in FastFileSystem set to international mode. */
while(name[hash]!=0 && name[hash]!='/') {
hash++;
}
while(*name!=0 && *name!='/') {
hash=hash*13+upperchar(*name++);
}
return((UWORD)(hash % (UWORD)((blocksize-sizeof(struct fsHashTable))>>2)));
}
UBYTE upperchar(UBYTE c) {
if((c>=224 && c<=254 && c!=247) || (c>='a' && c<='z')) {
c-=32;
}
return(c);
}
</pre>
The BNodeContainer is used to store B-Trees. Currently only one B-Tree is in use by this filesystem and it is used to store the location of file data. The fsBNodeContainer structure contains two other structures. The fsBlockHeader structure and the BTreeContainer structure.
Field Type Description
bheader struct fsBlockHeader Standard block header.
btc struct BTreeContainer Contains information about the B-Tree and its nodes contained in this block.
<pre>
struct fsBNodeContainer {
struct fsBlockHeader bheader;
struct BTreeContainer btc;
};
</pre>
First try and locate the Root block. It should start with "ROOT". SFS has two of these, one at the start of the partition and one at the end. One of the fields contains the block size, which will be the size of all important SFS blocks.
The root block has the root object container, which contains information about files and directories in the root directory. The object
containers basically hold one or more smaller structures that represent files and directories. Scanning them all should give you a list of
files and directories.
The root block also has the root of the Extent B-Tree. This is a standard B-Tree structure (not a binary tree) that is used commonly in
all kinds of system, you can read about how they work on Wikipedia if needed. The B-Tree holds the information about *where* all the data is
located for your files.
To recover your files, I'd do this:
* Find one of the root blocks, if not present, then figure out the block size your disk was using, and scan every block in turn to see if it
looks like an ObjectContainer (check the fsBlockHeader's ID, check if the ownblock number is equal to the block you are currently scanning,
and check its checksum). So if you currently have block 12, and you see a block with the correct id, and ownblock = 12 and its checksum is good,
then that's probably a valid ObjectContainer.
* With all the ObjectContainers found, you can extract filenames and directory names from these, but also the number of their first data
block (in the field data) and the file size. For small files (less than blocksize) this data block will be enough to recover the data.
For larger files, you might be lucky and all the remaining blocks are found after the first one (if the file was defragmented). You can't be
sure of that though so...
* For larger files, you need to find all the BNodeContainers. You could scan these in the same way you found all the ObjectContainers (look for
blocks with the correct id, ownblock number and checksum).
* With all the BNodeContainers found, you can try looking up the first data block of a file in the B-Tree structure. This is a bit complicated
-- the B-Tree consists of non-leaf nodes (blocks that only contain pointers to other B-Tree blocks), the isLeaf flag indicates this. Or it
can be a B-Tree leaf block. The leaf blocks contain extra information per entry (see https://hjohn.home.xs4all.nl/SFS/extents.htm)
<pre>
struct fsExtentBNode {
ULONG key;
ULONG next;
ULONG prev;
UWORD blocks;
};
</pre>
The key should be a block of a file (the first of a range), that is 1 to 65535 block long (depending the "blocks" field). If the file is split
up into more parts, then "next" will contain block number of the next range of blocks. You need to look this up again in the B-Tree
structure to find out how large it is.
You can for the most part ignore the other structures (bitmap, admin containers). The fsObjects and B-tree containers is what you'll need to
recover the data.
====Resources====
<pre>
rom/storage/mmakefile.src
rom/storage/storage.conf
rom/storage/storage_device.c
rom/storage/storage_ids.c
rom/storage/storage_init.c
rom/storage/storage_intern.h
rom/storage/storage_mount.c
rom/storage/storage_unit.c
</pre>
<pre>
rom/storage/includes/device.h
rom/storage/includes/unit.h
rom/storage/includes/volume.h
rom/storage/storage_intern.h
</pre>
<pre>
</pre>
*[[Aros/Developer/Docs/Resources/ACPI|acpi.resource]]
*[[Aros/Developer/Docs/Resources/Battclock|battclock.resource]]
*[[Aros/Developer/Docs/Resources/Bootloader|bootloader.resource]]
*[[Aros/Developer/Docs/Resources/Cia|cia.resource]]
*[[Aros/Developer/Docs/Resources/Filesystem|FileSystem.resource]]
*[[Aros/Developer/Docs/Resources/Hostlib|hostlib.resource]]
*[[Aros/Developer/Docs/Resources/Kernel|kernel.resource]]
*[[Aros/Developer/Docs/Resources/Misc|misc.resource]]
*[[Aros/Developer/Docs/Resources/Processor|processor.resource]]
==Debugging Code==
Please use the [http://sourceforge.net/tracker/?group_id=43586&atid=439463 AROS Bug Tracker] if any issues are found.
GRUB Command line list
<pre>
sysdebug
usbdebug - allows to see Poseidon's log in debug output
</pre>
How do I get debugging out of InitResident ? If running i386 hosted on linux sysdebug=initresident on command line.
This way you can enable any of listed flags. sysdebug=all stands for "everything"
Have an executable (crosscompiled C++ code) which has 6 MB size on disk, but after loading it in memory, 250 MB RAM is taken. Any software that would split AROS executable into ELF part which would show actual size values?
readelf -S executable
it will show you all sections in elf file, including sizes and requested alignment.
objdump -h filename
That's will give you a quick overview of the sections and sizes. Ignore all the .debug.* sections.
Would hazard a guess that you have a large .bss section. That's pretty common in C++.
Next step:
nm—size-sort filename | grep ' [bB] '
The last few will be your biggest consumers. Would suggest -C to demangle the symbols... ;)
Suggest profiling the program (just use some printf's in the main loop for time spent in each part), it usually is quite easy to spot slow parts in games or apps.
If someone has '#define IPTR ULONG' somewhere. To see where that define is, redefine IPTR in the source code that fails, just above the line that fails, and the preprocessor will tell you where it was defined first.
===How to setup gdb with AROS/hosted===
Download AROS sources (AROS-xxxxxxxx-source.tar.bz2, where xxxxxxxx is the current date) and AROS contrib sources (AROS-xxxxxxxx-contrib-source) from
Untar-bzip2 and cd to the unpacked archive directory.
> tar -xvjf AROS-xxxxxxxx-source.tar.bz2
> cd AROS-xxxxxxxx-source
Check the link to "contrib" (contrib-source) inside directory, e.g. correct like this:
> rm contrib
> ln -s ../AROS-xxxxxxxx-contrib-source.tar.bz2 contrib
Make sure you have the correct locale setting, otherwise compilation will fail at some point. See [http://aros.sourceforge.net/documentation/developers/compiling.php#setting-the-locale-to-iso8859 here] (or link below) for more on that. You might have to enter this:
> export LANG="en_US.ISO-8859-1"
Now configure for a debug build - see "./configure --help" for more - here are two examples:
> ./configure—enable-debug=stack,modules,symbols
> ./configure—enable-debug=all
You may "make" now, or choose a separate directory for your build (e.g. for easy removal), for example if compiling for i386 architecture you could create a directory like this:
> mkdir linux-i386
> cd linux-i386
> ../AROS/configure—enable-debug=stack,symbols,modules
When done configuring you're ready to go:
> make
Building AROS takes some time - minutes on fast machines (e.g. 2.5 GHz quadcore), up to hours on slower machines.
The result will be AROS Linux hosted with gdb debugging enabled.
See aros.org documentation for more on compiling AROS, including more [http://aros.sourceforge.net/documentation/developers/compiling.php --enable-debug] options.
When finished, enter bin/linux-i386/AROS directory (replace "linux-i386" with your compilation target platform, e.g. linux-x86_64, etc.) inside the unpacked archive directory. This directory contains the required .gdbinit file for properly running AROS inside gdb.
> cd bin/linux-i386/AROS
Run AROS (here: with 128MB of memory) from gdb:
> gdb—args boot/aros-unix -m 128
or
> gdb—args boot/arosboot -m 128
(gdb) r
Watch the shell output - in case AROS complains about "LoadKeyCode2RawKeyTable: Loading "DEVS:Keymaps/X11/keycode2rawkey.table" failed!" you should also see some instructions on how to create a keymap table. (see link above "more on compiling", too.)
Quit gdb, and try default keymap table:
(gdb) q
The program is running. Quit anyway (and kill it)? (y or n) y
> cd ../../..
> make default-x11keymaptable
Re-run AROS, as described above. Try e.g. RAros (= right windows key) + W to open a shell. If this doesn't work you have to create a keymap table yourself, quit gdb again, and make a new keytable:
> make change-x11keymaptable
A window will open. Watch the window's title bar, and follow the instructions.
When done, re-run AROS. RAros + W should now open a shell.
Next, compile your program with gdb support.
When you start GDB is there a warning which says
warning: File "<whatever>/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to ...
If so start gdb with "-ix .gdbinit"
<pre>
Summary - In short:
* build AROS with debugging support (i.e. ./configure --enable-debug=all)
* build your application with debugging support (i.e. option -g)
* run AROS in the GNU debugger (you may use the GUI frontend "ddd" which simplifies usage a bit)
* start your application
* use the commands "findaddr" and "add-symbol-file" as written in the debugging manual
* if the debugger doesn't find the source code of your application use the "dir" command of the debugger.
</pre>
===How to use gdb===
In AROS open a shell, then (in host shell) use CTRL-Z to go into gdb. Use "b Exec_CreatePool" (one of the functions used early on by startup code in programs) to add a breakpoint, then "cont" and gdb will interrupt somewhere early during startup of "program". Use "bt" to show backtrace and "loadseg" for "??" entries. One of them will be for "program". After that you can use "disassemble program".
One thing you need to make sure is that .gdbinit you have in your build directory is the same as in source tree. It has been modified some time ago, but the build system does not refresh it - you need to copy it manually
To recap, please read our debugging [http://aros.sourceforge.net/documentation/developers/debugging.php manual]:
To detect segfaulting when loading, try...
./configure—enable-debug—with-optimization="-O2"
Because crash or no crash may depend on optimization. For newer compilers maybe this helps...
--with-optimization=-"-O2 -fno-strict-aliasing"
One way to make crashes less random (more easily reproducible) is to activate the munging of free memory in rom/exec/freemem.c which is normally commented out:
<pre>
Index: freemem.c
===================================================================
--- freemem.c (revision 34289)
+++ freemem.c (working copy)
@@ -154,11 +154,12 @@
* created with their TCB placed in the tc_MemEntry list. The workaround
* is to avoid munging when FreeMem() is called with task switching disabled.
*/
+
/* DOH! it doesn't work even this way. What's wrong???
- *
- * if ((SysBase->TDNestCnt < 0) && (SysBase->IDNestCnt < 0))
- * MUNGE_BLOCK(memoryBlock, MEMFILL_FREE, byteSize);
*/
+
+ if ((SysBase->TDNestCnt < 0) && (SysBase->IDNestCnt < 0))
+ MUNGE_BLOCK(memoryBlock, MEMFILL_FREE, byteSize);
}
</pre>
Mungwall can be turned on at runtime. Currently this works in all hosted versions. Just specify "mungwall" on kernel command line and it works. It can work on native too. In order to enable it you need to parse kernel command line, and if "mungwall" is present, set EXECF_MungWall bit in IntExecBase.IntFlags.
This needs to be done before the first AllocMem() for obvious reasons. And never reset back this flag! If you change it on a working system, you are doomed.
Hosted ports do the processing in rom/exec/prepareexecbase.c --enable-debug=mungwall option in configure still works but is going obsolete. A kludge in rom/exec/allocmem.c is responsible for this and it needs to be removed when the transition is done.
BTW, on i386-pc port it can be activated by "mungwall" argument on command line, you don't need to rebuild AROS.
New mungwall affects not only AllocMem()/FreeMem(), but also pools. I also tested it with AllocAbs(), seems to work correctly.
Runtime mungwall works on:
* pc-i386
* pc-x86_64
* linux-i386
* linux-x86_64
* darwin-x86
* linux-ppc
Works on all hosted ports, if the port itself is working.
* amiga-m68k
* Not on sam440-ppc and efika-chrp-ppc, even if they would be able to be built at moment. Does not work on (for now, need NVRAM support)
When starting my freshly rebuilt i386-linux-aros which was compiled with full debugging support I get sometimes the error "Program exited with code 0377". Add the following to your .gdbinit:
set follow-fork-mode child
Here are some of the custom AROS gdb functions (defined in ".gdbinit" file) to resolve "in ?? ()" entries in backtrace:
<pre>
#0 0xb7ffd424 in __kernel_vsyscall ()
#1 0xb7e2a657 in sigsuspend () from /lib/libc.so.6
#2 0xb7c63900 in ?? ()
#3 0xb7c640e3 in ?? ()
#4 0xb7c641e0 in ?? ()
</pre>
You can use
loadseg 0xb7c63900
loadframe 2
or
loadbt
and some others. Use "help " for a little help text. If the commands do not work try "loadkick" first.
Use "thistask", "taskready", "taskwait" to get list of AROS tasks. "bttask " shows backtrace of a task which is in ready or in wait queue and "loadseg" to resolve "??" entries in it's backtrace ("loadframe" would not work as it assume current running task).
===Native debugging tools for AROS===
to enable debugging at boot time entering the GRUB menu editing line (E key) and adding "debug=memory" to your boot line, then press Ctrl+X to complete booting.
SYS:Tools/Debug/'''Bifteck'''
Open a shell and enter the line below to run Biftek and grab the debug messages collected in RAM into a text file.
tools/debug/bifteck > ram:debug.txt
and certainly does not open a window. It is a shell tool and only dumps data located from the debug location.
It is therefore important to 'catch' that debug data as soon as possible (before it gets overridden). You should invoke bifteck at the first opportunity before doing anything else. You can use the TO option to store bifteck output to a file or you can pipe it manually to a file.
SYS:Tools/Debug/'''Sashimi''' - displays error messages
One suggestion is to do a bug() debugging. Each time bug() is executed it will be output on sashimi.
You include <aros/debug.h> and place bug("something\n"); in your source code at location though which control passes.
To get the output - open an aros shell
SYS:Tools/Debug/sashimi > RAM:out.txt
'''Ctrl C''' to end the output to the RAM Disk.
# open shell, and type
# ram: (to switch to ram drive)
# System:Tools/Debug/Sashimi > mylogfile.txt
# open AHI prefs using wanderer (or use another opened shell)
# play test sound
# close AHI prefs
# shell still open with Sashimi running: press ctrl-c to break Sashimi and return to prompt.
# in shell: copy mylogfile.txt System: (or to your required location)
SYS:Utilities/'''Snoopy''' - monitors OS function calls, run "Sashimi" to see Snoopy's output
SYS:Tools/'''WiMP''' - the Window (and Screens) Manipulation Program
You can use the -E option of gcc to find out how preprocessor macros are expanded.
===Errors===
crash in strcasecmp usually means that one of its arguments is NULL.
empty space between these two names, prossibly some invisible character
Old Amiga [http://www.amigacoding.com/index.php?title=Guru_codes&redirect=no Guru Codes]
If the crash is in intuition. Sometimes, if it relates to text, a null pointer sets it off.
an uninitialised pointer can have any address (this is a common fault).
Compiling on 64bit, Many old code would not properly typecast when doing pointer-integer conversions and thus at least throw a warning. This can easily be located and fixed.
[http://www.aros.org/cs/documentation/developers/app-dev/portable.php Portable code]
* Use texteditor or some tool to replace all "ULONG" with "IPTR" and "LONG" with "SIPTR" in the sources.
* Fix (change IPTR/SIPTR back to ULONG/LONG) the few places which really rely on ULONG/LONG being exactly 32 bit. That's for things like pixel (ARGB) buffers, structs written/read to disk, colormaps, but probably not much else.
Then again, many current compilers also throw a warning when you try to assign a pointer value to an integer and the integer is possibly too small. This happens under .NET for example when a 64 bit pointer is assigned to something like an ULONG - so exactly the case which you described.
=== AI ===
#Training learning using 1 or more high end GPUs at least 16GB VRAM per GPU card or 64Gb or more of unified, 16Core CPU with at least 64Gb of RAM system memory, though training can take weeks or more
#Inference with custom asics or GPUs
Alibaba Cloud's [https://huggingface.co/ Qwen] team series of large language models
*[https://huggingface.co/models?other=qwen3 Qwen 3], [],
*[https://huggingface.co/models?other=qwen2 Qwen 2], [https://huggingface.co/Qwen/Qwen2.5-Coder-32B qwen 2.5 Coder],
[https://github.com/sipeed/picoclaw picoclaw]
[https://ollama.com/download Ollama single gpu]
[https://lmstudio.ai/download LMstudio single gpu],
[https://github.com/ggml-org/llama.cpp/releases llama.CPP multi gpus],
[ VLM multiple gpus],
=== Linux ===
<syntaxhighlight lang="c">
/* 1. Header for your name,date,purpose of program.
2. Pre-processor directives. This will include the #includes for files you want to add.
3. Includes for function prototypes if necessary.
4. Main()
Create Pointers for Libraries and any Window you want to open.
5. Open necessary libraries.
6. Check if open exit program if fail.
7. Open a window exit program if fail.
8. Add your program
9. Close Window
10 Close Libraries.
11 End Program. */
/* standard os included headers <.h> */
#include <dos/dos.h>
#include <dos/dosasl.h>
#include <dos/dosextens.h>
#include <dos/exall.h>
#include <dos/rdargs.h>
#include <exec/memory.h>
#include <exec/types.h>
#include <utility/utility.h>
#include <intuition/intuition.h>
/* define as unresolved external references (proto/xxx.h) and compiler will link to auto(matically) open library */
#include <proto/arossupport.h>
#include <proto/dos.h>
#include <proto/exec.h>
#include <proto/intuition.h>
#include <proto/graphics.h>
#include <proto/cybergraphics.h>
#include <proto/datatypes.h>
#include <proto/icon.h>
#include <workbench/workbench.h>
#include <workbench/icon.h>
#include <datatypes/pictureclass.h>
#include <proto/muimaster.h>
#include <libraries/mui.h>
#include proto/bsdsocket.h
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* my own headers ".h" */
#define CTRL_C (SetSignal(0L,0L) & SIGBREAKF_CTRL_C)
#define isDir(fib) ((fib)->fib_DirEntryType >= 0)
#define ARG_TEMPLATE "FILE/A,ALL/S,QUIET/S,W=WIDTH/N,H=HEIGHT/N,M=METHOD,DEFTOOL"
int main(void)
{
return retval;
} /* main */
</syntaxhighlight>
If you used c++, there is not yet c++ support in our shared library system.
The easiest way to create / compile a shared library would be to use the AROS build system but the libraries can be created manually. You have to create a ROMTAG structure and some header files.
A shared library is built with the %build_module macro with a line like this:
%build_module mmake=MetaTarget modname=mylib modtype=library files=SourceFiles
This macro can build different AROS module types, like devices, Zune classes, HIDDs, etc.
<pre>
##begin config
version 1.0
##end config
##begin functionlist
void func1(LONG a, LONG b)
int func2(char *s, ULONG a)
##end functionlist
</pre>
There is more [http://aros.sourceforge.net/documentation/developers/sys-dev/libraries.php here]
Alternatively,
<pre>
#ifndef LIB_H
#define LIB_H
#define __NOLIBBASE__
#include <exec/libraries.h>
#include <exec/semaphores.h>
#include <dos/dos.h>
#ifdef __AROS__
//#include <aros/debug.h>
#define reg(x)
#define __saveds
#endif
#define USESYSBASE struct ExecBase *SysBase = Base->My_SysBase;
struct MyTestBase
{
struct Library My_Test_Lib;
struct ExecBase *My_SysBase;
APTR My_SegList;
int testint;
};
#endif
</pre>
<pre>
/*--------------------------------------------------------------------------*/
/* Resident header written for mytest.library */
/*--------------------------------------------------------------------------*/
#define __NOLIBBASE__
#define VERSION 1
#define REVISION 0
#define LIBHEADNAME mytest
#define LIBHEADNAMESTR "mytest"
#define COMPDATE "04.10.2015"
#define VERS "1.0"
#define LIBBASETYPE struct MyTestBase
#define LIBBASETYPEPTR LIBBASETYPE *
#include <aros/debug.h>
#include <exec/exec.h>
#include <proto/exec.h>
#include <exec/resident.h>
#include <exec/nodes.h>
#include <exec/libraries.h>
#include <aros/symbolsets.h>
#include "lib.h"
const UBYTE lib_name[] = LIBHEADNAMESTR ".library";
const UBYTE lib_id[] = "$VER: " LIBHEADNAMESTR ".library " VERS " (" COMPDATE ") by ALB42\n";
extern const APTR FuncTable[];
AROS_UFP3 (LIBBASETYPEPTR, InitLib,
AROS_UFPA(LIBBASETYPEPTR, Base, D0),
AROS_UFPA(BPTR, seglist, A0),
AROS_UFPA(struct ExecBase *, sysbase, A6)
);
static struct LibInitStruct
{
IPTR LibSize;
const APTR *FuncTable;
const struct DataTable *DataTable;
APTR InitFunc;
}
const LibInitStruct =
{
sizeof(LIBBASETYPE),
FuncTable,
NULL,
(APTR)InitLib
};
const struct Resident romtag =
{
RTC_MATCHWORD, /* match word */
(APTR)&romtag, /* back pointer */
(APTR)(&romtag + 1), /* skip pointer */
RTF_AUTOINIT | RTF_EXTENDED,/* flags */
VERSION, /* version */
NT_LIBRARY, /* type of module */
0, /* init priority */
(STRPTR)lib_name, /* module name */
(STRPTR)lib_id + 6,
(APTR)&LibInitStruct,
REVISION, NULL
};
AROS_UFH3 (LIBBASETYPEPTR, InitLib,
AROS_UFHA(LIBBASETYPEPTR, Base, D0),
AROS_UFHA(BPTR, seglist, A0),
AROS_UFHA(struct ExecBase *, sysbase, A6)
)
{
AROS_USERFUNC_INIT
Base->My_SegList = seglist;
Base->My_SysBase = (APTR)sysbase;
Base->testint = 0;
USESYSBASE
bug("InitLib\n");
if (!set_open_libraries())
{
set_close_libraries();
return NULL;
}
return Base;
AROS_USERFUNC_EXIT
}
AROS_LH1(LIBBASETYPEPTR, LibOpen,
AROS_LHA (ULONG, version, D0),
LIBBASETYPEPTR, Base, 1, LIBHEADNAME
)
{
AROS_LIBFUNC_INIT
USESYSBASE
bug("LibOpen\n");
(void)version;
Base->My_Test_Lib.lib_OpenCnt++;
return Base;
AROS_LIBFUNC_EXIT
}
__saveds APTR LibExpungeInternal(LIBBASETYPE *Base reg(a6))
{
USESYSBASE
APTR seglist;
bug("LibExpungeInternal\n");
if (Base->My_Test_Lib.lib_OpenCnt)
{
return 0;
}
seglist = Base->My_SegList;
Forbid();
Remove((struct Node*)Base);
Permit();
FreeMem((APTR)Base - Base->My_Test_Lib.lib_NegSize, (LONG)Base->My_Test_Lib.lib_PosSize +
(LONG)Base->My_Test_Lib.lib_NegSize);
set_close_libraries();
return seglist;
}
AROS_LH0(BPTR, LibClose,
LIBBASETYPEPTR, Base, 2, LIBHEADNAME
)
{
AROS_LIBFUNC_INIT
USESYSBASE
bug("LibClose\n");
if (!(--Base->My_Test_Lib.lib_OpenCnt))
{
return LibExpungeInternal(Base);
}
return 0;
AROS_LIBFUNC_EXIT
}
AROS_LH1(BPTR, LibExpunge,
AROS_LHA(LIBBASETYPEPTR, Base, D0),
struct ExecBase *, sysBase, 3, LIBHEADNAME
)
{
AROS_LIBFUNC_INIT
(void)sysBase;
USESYSBASE
bug("LibExpunge\n");
return LibExpungeInternal(Base);
AROS_LIBFUNC_EXIT
}
AROS_LH0(LIBBASETYPEPTR, LibReserved,
LIBBASETYPEPTR, Base, 4, LIBHEADNAME
)
{
AROS_LIBFUNC_INIT
USESYSBASE
bug("LibReserved\n");
return 0;
//return (APTR)LibReserved();
AROS_LIBFUNC_EXIT
}
// Space for your own functions
// do not forget to update the FuncTable as well
AROS_LH1(int, TestFunction,
AROS_LHA(int, TestValue, D0),
LIBBASETYPEPTR, Base, 5, LIBHEADNAME
)
{
AROS_LIBFUNC_INIT
USESYSBASE
bug("TestFunction\n");
Base->testint = TestValue + Base->testint;
return Base->testint;
AROS_LIBFUNC_EXIT
}
// Functable -> Table of all functions in the Library, in right order - important!
const APTR FuncTable[] =
{
&AROS_SLIB_ENTRY(LibOpen,LIBHEADNAME,1),
&AROS_SLIB_ENTRY(LibClose,LIBHEADNAME,2),
&AROS_SLIB_ENTRY(LibExpunge,LIBHEADNAME,3),
&AROS_SLIB_ENTRY(LibReserved,LIBHEADNAME,4),
&AROS_SLIB_ENTRY(TestFunction,LIBHEADNAME,5),
(void *)-1
};
// AutoInit stuff
void *__PROGRAM_ENTRIES__symbol_set_handler_missing;
void *__LIBS__symbol_set_handler_missing;
// end of AutoInitStuff
</pre>
Makefile
<pre>
VPATH =
CFLAGS = -O2 -g -fomit-frame-pointer -W -Wall -Wno-parentheses
CC = i386-aros-gcc
LD = i386-aros-gcc
LDFLAGS = -nostartfiles -Wl,-Map -Xlinker linkermap
LIBS = -lautoinit -llibinit
STRIP = i386-aros-strip --strip-unneeded --remove-section .comment
OBJS = lib_header.o
all: mytest.library
mytest.library: $(OBJS)
$(LD) $(LDFLAGS) $^ $(LIBS) -o $@
lib_header.o: lib_header.c lib.h
clean:
rm -f *.o *.library *.ppu testlibrary linkermap
</pre>
Porting UNIX library to AROS - dealing with static variables which would make it easy to port such libraries to AROS, keeping the benefits of sharing them on disk, but losing the benefit of actually sharing them in memory.
Our problem arises by the fact we want to share the actual code (the .text section of the library) and constant data, but we need to have per-task .bss and .data sections. If we get rid of our intention to share the .text and .rodata sections, things get quite easy: just load and relocate the library whenever it's open, by whoever it's open. It's like statically linking the library into the executable, except that the final linking is done at runtime.
In the V0 branch, in workbench/hidds/hidd.nouveau was committed pcimock.hidd. This is a pci driver that allows mocking real PCI devices under linux-hosted. The main idea is to be able to run the real hardware driver under linux-hosted with as little changes as possible (some changes will always be needed though unless someone wants to write complete device simulator) so that driver's code paths can be executed and debugged using gdb. This was a very helpful capability when porting nouveau. Now it is externalized from nouveau.hidd and can be used by other people porting drivers. The pcimock.hidd can currently mock 4 different nvidia cards, 1 AGP bridge and also mock irq.hidd.
What's the difference between this driver and the pcilinux.hidd? I used that one to develop many different HW drivers for aros. As far as I understood the intention of pcilinux.hidd it is supposed to get access to real hardware that is running under linux. The pcimock.hidd goal is to mock the hardware. For example my dev box is a PCIE system, but I still would like to run the AGP codes paths in nouveau under linux-hosted to check if they don't seg fault. The other case would be to run codes paths for hardware that the developer does not have (Fermi cards in my case). In the case of pcimock.hidd, the AROS driver's code paths will execute as long as you add proper mocking (for example fill in PCI config area or values for registers in BARs). This is an advantage for ported drivers - the code should already work (since it worked on another system) but there might have been mistakes made during porting which can be detected easily with gdb.
In case you are writing your driver from scratch, pcilinux.hidd hidd will give you more advantage, since you can actually access the real hardware from linux-hosted.
== Misc ==
===APL, MPL, BSD, GPL and LGPL Licences===
The majority of AROS sources in licensed under AROS Public License ([http://aros.sourceforge.net/license.html APL]) which (to a degree) protects us from someone taking AROS sources and not contributing improvements back (for example MorphOS took some AROS source and then contributed changes back)
It is written to allow the use of AROS code in other open source or commercial projects without exception whilst providing a mechanism so that improvements/additions can find their way back to the original source in one form or another.
There are "3rd" party applications used by AROS that do not fall under this license, which are an extra "Contrib" download for convenience.
Anyone can port GPL-ed network and sound drivers as AROSTCP and AHI are GPLed. Direct using (porting) [http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs GPL]-ed code in other parts of AROS (gfx, sata, usb) is not possible because AROS license is not compatible with GPL. You need to utilize permissive licensed code like BSD or MIT/X11.
BSD and MPL license are the closest to APL.
APL however is not so compatible with LGPL/GPL.
LGPL case - you cannot statically combine APL code with LGPL. You can, however thank to LGPL being "lesser" restrictive, use LGPL dynamically loaded libraries in APL codes.
GPL case - you cannot combine APL code with GPL in any way if there is no explicit clause by GPLed code authors allowing that. If you do combine APL with GPL in "bad" ways described above - you have a problem (you violate GPL). This problem might result in everything in AROS becoming GPL or everything running or AROS becoming GPL (here I'm not sure really). The other scenario is that you are not allowed to legally distribute such code at all. To be honest I have grasped how to violate GPL, but I'm still no exactly sure what happens when you violate it (but I'm sure it's not anything nice)
GPL software can run on top of non-GPL "system components" (see system components exception of GPL), but the other way around (non-GPL using GPL) leads to problems. This means applications like scout, or Quake III are ok (in the majority of cases).
Theres no reason GPL drivers cannot be ported - but they cant be in AROS's ROM (requires linking APL code with GPL), nor can AROS depend on them (e.g. they must use existing apis).
If they are launched (dynamically linked) by a user action that is allowed. It is also allowed to distribute such binaries together for convenience.
GPL is not about statical or dynamic linking but is about executing process and function calls.
These components - SFS, isapnp, Zune texteditor, AHi, network drivers, freetype, openuirl, BHFormat, Edit and (" dynamically loaded libraries") are LGPL, not GPL. Mesa/Nouveau stuff is MIT. Some user tools are GPL though.
'''AROS (system)'''
* system components (libraries/classes/devices/etc) cannot be GPL as they would propagate GPL to complete system as well as GPL is not compatible with MPL from which APL is based
* system components can be LGPL v2 or a permissive license (MIT/BSD)
* system applications can be anything you like (but still I would prefer APL or permissive so the code can be reused if needed)
'''Contrib:'''
* no rules - contrib does not impact AROS system since nothing in AROS system depends on contrib.
About stealing code: The chances of this happening is exactly the same whether we are APL or GPL. If any closed-source option wanted to do it, there is no one that can validate otherwise. MorphOS has used some AROS codes, but contributed changes back.
The rationale behind APL is that while it guarantees that the original developer will get the improvements back (to a certain degree - file based), the person who uses the codes does not have to open his original codes. BSD does not guarantee that the original developer gets improvements. GPL requires the person using the codes to open his codes as well.
The copyright holders needs to stay - we just need information from them that the codes are available under APL (for example a checked-in file like in case of Poseidon). We don't do transfer of copyrights.
; Ultimately what can and cannot be done is up to the author(s) - not the licence.
===AROS source code tree===
* http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-trunk.txt
* http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-contrib.txt
Found this interesting (non-GPL) licensing 'anomaly' - to keep in mind for distributors.
Programs that lose their license if sold ("non-profit only" licensed):
contrib/aminet/comm/term/TinyTerminal
contrib/aminet/dev/basic/bwBASIC
contrib/aminet/text/edit/xdme
contrib/fish/aroach
contrib/fish/lotto
contrib/fish/shuffle
contrib/fish/touch
+ cdvdfs.
Here is a list of all the GPL/GPLv2/GPLv3 licenses fossology found, what have explicit licenses in their comments.
excluded LGPL, BSD/GPL dual licensed and programs (such as Prefs/Edit and BHFormat)
<pre>
AROS/rom/dbus/include/ AFL_v2.1 ,GPL_v2+ (supposedly AFL < 3 is GPL incompatible)
AROS/workbench/classes/zune/betterstring/include/ GPL_v2+
AROS/workbench/classes/zune/texteditor/include/ GPL_v2+
AROS/workbench/classes/datatypes/gemimage/ GPL_v2+ GPL
AROS/workbench/classes/datatypes/degas/ GPL_v2+
AROS/workbench/libs/openurl/README: GPL
AROS/workbench/network/smbfs/documentation/ GPL_v2
AROS/workbench/network/smbfs/source_code/ GPL_v2+
AROS/workbench/network/stacks/AROSTCP/bsdsocket/kern/ GPL_v2
AROS/workbench/network/stacks/AROSTCP/bsdsocket/mmakefile.src conf.h GPL_v2
AROS/workbench/network/stacks/AROSTCP/bsdsocket/sys/ CMU ,GPL_v2
AROS/workbench/network/stacks/AROSTCP/bsdsocket/net/ GPL_v2
AROS/workbench/network/stacks/AROSTCP/bsdsocket/api/ GPL_v2
AROS/workbench/network/stacks/AROSTCP/bsdsocket/conf/conf.h: GPL_v2
AROS/workbench/network/stacks/AROSTCP/netinclude/net/radix.h: CMU ,GPL_v2
AROS/workbench/devs/AHI/AHI/ GPL_v2+
AROS/workbench/devs/AHI/AddAudioModes/ GPL_v2+ AROS/workbench/devs/AHI/AddAudioModes/COPYING: GPL
AROS/workbench/devs/AHI/Docs/texinfo.tex: GPL_v2+
AROS/workbench/devs/AHI/COPYING: GPL
AROS/workbench/devs/AHI/Drivers/EMU10kx/ GPL_v2+
AROS/workbench/devs/AHI/AHI-Handler/ GPL_v2+
AROS/workbench/devs/networks/rtl8029/ GPL GPL_v2+
AROS/workbench/devs/networks/pcnet32/ GPL GPL_v2+
AROS/workbench/devs/networks/ppp/LEGAL: GPL
AROS/workbench/devs/networks/atheros5000/ GPL_v2+
AROS/workbench/devs/networks/rhine/ GPL_v2+
AROS/workbench/devs/networks/nForce/ GPL_v2+ GPL
AROS/workbench/devs/networks/prism2/ GPL GPL_v2+
AROS/workbench/devs/networks/fec/LEGAL: GPL
AROS/workbench/devs/networks/rtl8139/ GPL GPL_v2+
AROS/workbench/devs/networks/etherlink3/ GPL GPL_v2+
AROS/workbench/devs/networks/intelpro100/ GPL GPL_v2+
AROS/workbench/devs/networks/rtl8169/ GPL GPL_v2+
AROS/workbench/devs/networks/emac/ GPL GPL_v2+
AROS/workbench/devs/networks/rtl8168/ GPL GPL_v2+
AROS/workbench/devs/networks/realtek8180/ GPL_v2+
AROS/workbench/devs/networks/via-rhine/via-rhine.c: GPL_v2+
AROS/workbench/devs/networks/via-rhine/ GPL GPL_v2+
AROS/workbench/devs/networks/e1000/ GPL_v2
AROS/workbench/devs/networks/sis900/ GPL GPL_v2+
</pre>
AHI: it has special provisions (COPYING.DRIVERS). The library is LGPL, preferences software is GPL and drivers can be anything without breaking GPL/LGPL.
Network stack: well, we are long overdue for a new, IPv6 enabled network stack anyway, anyone interested? ;) Seriously though it seems like the glue code is GPL and as all the drivers. However some of the drivers are our own code, so they could be relicensed to LGPL.
Same filter as the AROS trunk list. These should all be libraries or plugins - no programs.
<pre>
contrib/regina/utsname.h: GPL_v2+
contrib/mui/classes/nlist/include/default-align.h: GPL_v2+
contrib/mui/classes/nlist/include/amiga-align.h: GPL_v2+
contrib/mui/classes/BWins/include/MUI/BWin_mcc.h: GPL
contrib/mui/classes/BWins/include/BWin_private_mcc.h: GPL
contrib/mui/classes/BWins/COPYING: GPL_v2
contrib/mui/classes/BWins/MCC_BWins.readme: GPL_v2
contrib/mui/classes/thebar/include/default-align.h: GPL_v2+
contrib/mui/classes/thebar/include/amiga-align.h: GPL_v2+
contrib/gfx/libs/wazp3d/LEGAL: GPL
contrib/gfx/libs/wazp3d/Wazp3D.readme: GPL
contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d.c: GPL
contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d_opengl.h: GPL
contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d_opengl.c: GPL
contrib/gfx/libs/wazp3d/Wazp3D-src/Wazp3D.h: GPL
contrib/gfx/libs/wazp3d/Wazp3D-src/Wazp3D.c: GPL
contrib/libs/mpega/ GPL_v2+
</pre>
http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-contrib.txt
===Types===
On AROS following rules apply:
<pre>
1. BYTE/UBYTE is 8bit, WORD/UWORD is 16bit, LONG/ULONG is 32bit, QUAD/UQUAD is 64bit, the types are comparable with stdint types (int8_t, int16_t, int32_t, int64_t)
2. IPTR/SIPTR are integer types large enough to fit pointer, that is sizeof(IPTR) = sizeof(APTR) = 4 on 32bit system, and = 8 on 64bit system
3. ti_Data in TagList is large enough to hold a IPTR/APTR type.
4. never store a pointer in integer of type LONG. It may work (if the pointer has upper 32bits clear), but does not have to. Compiler should warn you about that.
5. If you are unsure about point 4, allocate your memory with MEMF_31BIT flag set. But don't expect that AROS internals will do the same.
</pre>
point 4 is actually important.
* UBYTE/BYTE for 8bit
* UWORD/WORD for 16bit
* ULONG/LONG for 32bit
* UQUAD/QUAD for 64bit
<pre>
UBYTE Unsigned 8 bit integer variable (byte).
BYTE Signed 8 bit integer variable (byte).
UWORD Unsigned 16 bit integer variable (word).
WORD Signed 16 bit integer variable (word).
ULONG Unsigned 32 bit integer variable (longword).
LONG Signed 32 bit integer variable (longword).
FLOAT 32 bit IEEE floating point variable.
UQUAD Unsigned 64 bit integer variable.
QUAD Signed 64 bit integer variable.
DOUBLE 64bit IEEE floating point variable.
BOOL Boolean variable, TRUE and FALSE are also defined in exec/types.h.
VOID Void.
APTR A generic pointer for multiple purposes - Arrays.
STRPTR A pointer to a null-terminated string.
IPTR Really important in AROS, the only way to declare a field that can contain both: an integer or a pointer.
</pre>
if you want to write really portable app, you may be interested in standard datatypes defined in C99: int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, intptr_t, uintptr_t. They are all defined in inttypes.h include file.
In exec/types.h the following short-cuts are typedef'd. They are used often in AROS, so you should nearly always include exec/types.h and soon only they will be removed from sys/_types.h include, all types are now defined in include files named aros/types/xxx.h.
(Preparation for C library split; sys/xxx.h include will only be available there when compiling with POSIX C library)
Compiler specific types, like int and long might change their size. In case of AROS, similar to linux, int remains 32 bit whereas long grows to 64 bits in size.
If you use Amiga-like data types, i.e. BYTE/UBYTE, WORD/UWORD, LONG/ULONG and QUAD/UQUAD or the C99 standard types (uint8_t and so on, see stdint.h include) then you should have less issues to solve than by using types without size guarantee.
Of course, all pointers grow to 64 bytes using 64bit cpu. Most of the code can be just recompiled and will work. In rare cases, where e.g. pointers are casted to integers, a special care must be taken. Especially in the cases, where pointer is casted to LONG/ULONG (this code will break on 64 bit AROS) e.g. '#define IPTR ULONG'.
With compiler delint patches which the majority of them are simple casting issues to make the compiler happy. Notice some of the changes involve introducing double casts. In very recent versions of GCC. Yes, the bulk of the double casts are for converting 32 bit addresses (ie from a 32 bit PCI DMA address register) to a 64 bit pointer. First cast is to IPTR (to expand to 64 bits, and prevent sign extension if the address is above 0x7FFFFFFF), and then to APTR.
ULONG != IPTR except on 32bit .. so if you need to store pointers make sure and use IPTR and not ULONG (which some old code does). For this reason things like Taglist elements are 64bit (since the tag data can be a pointer).
If your passing items on the stack you should use the STACKED attribute to make sure they are correctly aligned (on 64bit all items on the stack are 64bit..)
There is more issues like using "== 0L" causes problems.
===Endian===
*BE
*LE
Use the macros from <endian.h> instead making a guess based upon architecture defines
<pre>
#if _BYTE_ORDER == _BIG_ENDIAN
#elif _BYTE_ORDER == _LITTLE_ENDIAN
#else
+
#error <whatever.h> - Byte order for this architecture is unsupported!
</pre>
===SVN and GIT===
If you want to help develop AROS OS itself, you can
* view current GIT/SVN entries [http://aros.sourceforge.net/ Aros Org website] or [https://github.com/aros-development-team/AROS Github], [https://github.com/ezrec older ezrec mirror], [https://github.com/michalsc/AROS/ older mirror], [https://trac.aros.org/trac/timeline TRAC], [],
* awaiting update [http://repo.or.cz/w/AROS.git git repo], [http://www.ohloh.net/p/aros/commits ohloh] or [https://svn.aros.org/svn/aros/trunk/ svn repo] and access [Git version git://repo.or.cz/AROS.git here],
* deprecated [https://www.gitorious.org/aros/aros/commit/a7fda9e ARIX commits] or [https://gitorious.org/aros/aros GIT old]
If you have SVN access (early 2015 introduced a new SVN server, create a new account at trac aros org) and/or have obtained the source [http://aros.sourceforge.net/download.php AROS site] - you can compile the current build tools/environment using:
> make development
and follow this [http://aros.sourceforge.net/documentation/developers/compiling.php#building procedure] or [https://github.com/apiraino/aros_guide Guide]
https://trac.aros.org/trac#Developing
If you plan on contributing back changes, please post information about such changes first on this [http://mail.aros.org/mailman/listinfo/aros-dev/ mailing list] for more experience developers can validate whether they are correct.
Then there are the nightly build machines. They svn update before the build and run configure as one of the next steps. autoconf might be added to the nightly build scripts.
Our build relies on packages downloaded from Internet (SDL for example) - it always worked this way. The minimal requirement (when just building core AROS) is binutils and gcc. If you build contrib as well, you need many more packages to be downloaded.
https://gitorious.org/aros/aros/commits/crosstools-II
git://gitorious.org/aros/aros.git
Branch crosstools-II there is only one commit on top of ABI_V1
<pre>
../../aros-src/AROS/configure --enable-ccache
--with-portssources=~/aros/Sources --target=pc-x86_64
--with-aros-toolchain-install=/home/weissms/media/data/aros/test/crosstools/pc-x86_64
</pre>
and
<pre>
../../aros-src/AROS/configure --enable-ccache
--with-portssources=~/aros/Sources --target=pc-i386
--with-aros-toolchain-install=/home/weissms/media/data/aros/test/crosstools/pc-i386
</pre>
build OK.
:''More information: [[Aros/Developer/Maintainer|AROS Maintainer Docs]]''
===SDI Calls===
Integrate the 'SDI'-headers to allow easier porting to all amiga-like platforms.
<pre>
PUTCHARPROTO( PutTheChar, char c, struct SPrintfStream *s )
{
// REAL CODE
}
</pre>
have "SDI_compiler.h" and "SDI_hook.h" included
its more organized like
#include SDI/SDI_hook.h
than
#include SDI_hook.h
option 1 --- i also use when back porting from amiga's..
<pre>
#ifdef __AROS__
#include SDI/SDI_hook.h
#else
#include SDI_hook.h
#endif
</pre>
also
you can add the -i include/sdi/ location if you do not want to add or edit any files.
Defining HOOKPROTO to IPTR name(struct IClass * cl, Object * obj, Msg msg); solved the problem
A MUI application most likely needs only the HOOKPROTOxxx SDI macros. They are compatible with AROS, only the attributes (hook, object attribute) must be given in the right order. examine compiler/include/aros/symbolsets.h (AROS_LIBREQ)
compiling mui stuff for aros setting -std=gnu99 is necessary (i have had -std=c99 most of the time).
===Locale with Flexcat===
Most languages have a locale, but not every app is localized, the only thing needed is to translate the "catalog" files. It is a case of locating the correct catalog and saving the translated version.
For every app that lacks of your language catalog and is localized anyway, you should find (in the sources) files related to locale:
* file.cd = catalog descriptor, contains base msg, with internal language (usually english)
* language.ct = catalog translation, contains every translated msg, indexed as in the file.cd.
Compare with other localized apps... Then, "make my_app-catalogs" should create and install your translated catalogs. ex : for, saying, sys:prefs/wanderer:
on root of AROS sources, type:
"make workbench-prefs-wanderer-catalogs"
then (if you changed the .cd file):
"make workbench-prefs-wanderer"
For apps not localized, you have to adapt their code to support it, if it is possible...
noticed the original .cd file has many (//) strings at the end of any voice, so added them also to the .ct file.
That (//) is only for cd files. I'm highly recommending to use FlexCat for updating ct files, e.g. like this:
flexcat app.cd deutsch.ct newctfile deutsch.ct
You'll get error checking and new entries are marked in the resulting ct file.
When editing .ct files, only change those lines containing translation and perhaps version string, nothing else.
The rest is up to the relevant tool, flexcat. In order to update your translation, type in the following in your shell:
flexcat xyz.cd xyz.ct NEWCTFILE xyz_upd.ct COPYMSGNEW
This way you will not only make sure you have correct translation file but flexcat also pre-fills newly added strings with "*** NEW *** text. Even better tool for checking cd/ct/catalog files is catcheck, but this one is sadly only available for AmigaOS/68k...
Some languages have variations, like portugues from portugal and portugues from brasil differs...
This is the way to go. I will have a look at language files, but basically if those two languages differ you have to do two separated set of translation files, yes.
(you could create a brazilian slang language localization too)
* At system level localization for one language is a dot language file.
(ex: locale:languages/klingon.language)
* At app level localization is a dot catalog file
(ex: locale:catalogs/klingon/system/libs/dos.catalog)
* At sources level, the dot ct file, and "$language" dot cd files and some building framework.
(ex: catalogs/my_app.ct catalogs/klingon.cd catalogs/mmakefile.src support.c support.h)
Please, use Flexcat to generate CT files:
FlexCat wanderer.cd NEWCTFILE=deutsch.ct
Then fill the first 2 lines with something useful:
<pre>
## version $VER: wanderer.catalog 1.1 (9.2.2006)
## language deutsch
</pre>
You can even update the CT-File: (This adds the new strings)
FlexCat wanderer.cd deutsch.ct NEWCTFILE=deutsch.ct
To compile a catalog you only need the .cd file and your translation (.ct file):
FlexCat multiview.cd deutsch.ct CATALOG=MultiView.catalog
[http://murks-ide.svn.sourceforge.net/viewvc/murks-ide/trunk/src/Catalogs/flexcat_linux?revision=100 Linux version of FlexCat]
: [http://aros.sourceforge.net/documentation/developers/app-dev/localization.php#localization-for-non-developers More information]
A script which compares the required version (i.e. the version which an application/module etc. tries to open) with the version of the existing CT files. The result is in this table:
https://github.com/aros-translation-team/translations/wiki/Progress
The following cases are highlighted:
n/a i.e. CT misses at all
version in existing CT file is lower than the required version
It might be a bit difficult to participate if you haven't worked with Git before but alternatively you can send your CT files to our Slack channel.
When the ct file has been generated via flexcat (flexcat keyshow.cd NEWCTFILE=spanish.ct) it has the following header:
---------------------------------------------------------------------------------------------------------------
## version $VER: <name>.catalog <ver>.<rev> (04.01.2021)
## language nolanguage
## codeset 0
;
---------------------------------------------------------------------------------------------------------------
Those values <ver>.<rev> are the version and revision of the CT file for the languaje or are the values of the application being localized?
The <ver> part must match with version which the application tries to open. You can find the value either in the column "Required Version" in the table which I've linked above, our you can look in the git repository. For keyshow it would be https://github.com/aros-translation-team/keyshow. You can find in the file "catalog_version.h" the right version number.
The <rev> part starts for new CT files with 0 and should be increased every time the CT file is updated.
Updated several files and created a few more that were missing on the spanish catalog.
The catalogs are in Git repositories at https://github.com/aros-translation-team
a) You tell me your Github user name. I'll invite you. You can work directly with the Git repositories.
b) You create Github forks of the catalog repositories and create pull requests.
c) You send the CT files to mrustler gmx de
===C Utils Misc===
The AROS source uses at several places the __DATE__ macro to fill the date entry of a $VER tag. Problem is that c:version doesn't understand that date format (e.g. "May 21, 2011"). As a result the output of e.g.
> "version c:shell full" contains "(null)". Is extending the version command to understand the format of __DATE__ the right solution for that problem?
AmigaOs compilers should use __AMIGADATE__ macro or similar form, if it isn't implemented it could be emulated in makefile: -D__AMIGADATE__=\"$(shell date "+%d.%m.%Y")\"
BTW. I think DD.MM.YYYY is better format than "Month DD YYY" because "Month DD YYY" is not localized in any way.
"strnicmp" shouldn't work with NULL pointers
The Situation:
compiled a linklib using c++ object files (using the c++ cross compiler).
compiled a C stub that uses the linklib (using the c++ cross compiler).
Try to link them together (using the c++ cross compiler) with C object
files (using the normal target c compiler) that need to use -nostartup
= cant do because using the c++ files pulls in arosc (for stdio etc.) -
so wants to have the autoinit stuff present.
What can I do about this??
If it is possible to manually open it then what do I need to do exactly?
=== ENV ===
The philosophy behind ENV: is that keeping configuration files there allows you to 'Use' preferences by keeping a copy in ENVARC: intact. However in some cases (like this one) it is not required.
99% of the time that statement is true (not required) for pretty much every file in ENV: or do people change their default icons - and prefs settings - every boot?
There seem to be a bad habit of late with developers changing things to reflect their own personal preference when the change isn't actually necessary - It would be nice if people could refrain from doing that in the tree without at least discussing it on the dev-list first (and with good reasoning unless they committed said work in the first place..)
We're not keen on the pollution of the "S:" dir: it's meant to be for scripts. What's wrong with "ENV:"?
Only the fact that it takes up RAM. I understand that for PCs with several gigabytes of RAM this is
irrelevant. But let's remember about other machines. The philosophy behind ENV: is that keeping configuration files there allows you to 'Use' preferences by keeping a copy in ENVARC: intact.
However in some cases (like this one) it is not required.
How about implementing in the style of HappyENV then? RAM-disk handler that falls through to reading from ENVARC: if there is no such file stored in it already. Removes RAM usage for unchanged files, removes the need to copy ENVARC to ENV in startup-sequence.
Shouldn't be too hard to make from AmberRAM, or even just extend AmberRAM to provide this service.
Is it feasable to build a special version of AmberRAM handling ENV: that will try and copy the requested file from ENVARC: if it isnt found in ENV: ?
Additionaly it could mark closed "files" as untouched - and expunge them from ENV: after a period of time to free up additional RAM:, or when the system is running low on free memory?
Silenty disappearing files may not be a good plan. Would be nice if the following would work:
ASSIGN :ENV SYS:Prefs/Env-Arc ADD
ASSIGN :ENV RAM:ENV ADD
Where new files put in ENV: end up in RAM:ENV, and opening files looks in RAM:ENV first, then SYS:Prefs/Env-Arc
Well - that's essentially what im proposing but without the assigns - or need for a RAM:ENV directory.
Adding it as a feature of AmberRAM sounds like the most memory efficient way (one handler to load in RAM) but that's only if it is possible to make it handle ENV: additionally to RAM:, and if it is even possible to add the proposed functionality (...and how to make it enable it when accessing ENV:).
===(AS)MP support===
If one has to recompile software for SMP multi core, is there any thing special one has to do to get software to run?
Use task.resource if you need to query information about what tasks are running, and clear msgports completely when they are allocated.
Most code should not need Forbid. Use Semaphores, Messages etc. to sync your own code.
Accessing system structures is a different thing. Use the proper API whenever possible.
How single structures will be protected in the future is still a moving target, at least it is not documented. And you should never use undocumented stuff
Ideas on for SMP multi-core
Another suggestion is ... Forbid/Permit function calls are meant to halt multitasking so as no other task could intervene with what ever the calling task is doing, e.g. setting semaphores. Disable/Enable calls are meant to halt interrupts and as a side effect they also halt task switching.
One option is to make it compulsory to protect shared resources with semaphores and forbid the use of simple Forbid() calls as to protect something. Setting semaphore should be done if possible with atomic instructions (check and alter in one instruction). Or make the second concurrent ObtainSemaphore call halt the second calling task and force if possible a task switch which ever gives better results.
Semaphores could store the owning tasks task pointer instead of boolean to make things easier.
As long as the CPU initiates the DMA transfers through the OS, and the OS ensures that the transferred memory is within the region accessible to the user initiating the transfer, everything is fine. The CPU is the conductor, and the CPU by that has the control of which DMA transfer is initiated and which is not.
All you need to do is to write device drivers reasonable. Hint: CachePreDMA and CachePostDMA exist.
All the Os has to do is to verify that the memory regions to be transferred are valid, and prohibit direct access to the DMA control registers from user space. None of these algorithms imply huge costs.
The current OS design doesn't really allow virtual memory in first place, Forbid() is again the problem.
[http://www.tbs-software.com/guide/index.php?guide=autodocs.doc%2Fmemory.doc&node=1 memory.library API] seem to low level. IMHO the programs should not know how the swapping is implemented. I would just go for one new memory flag
MEMF_SWAPPABLE that indicates that a certain memory region or a whole memory pool won't be accessed during Forbid()/Permit() etc. It only solves part of the problem, it only implements virtual memory and not memory protection. For the latter you need to be able make certain memory inaccessible by other programs, some memory read-only for one task and read-write for other tasks, etc. And I think this should be done in the same Address Space in order to avoid you constantly need to swap between different address spaces.
So to summarize, if there are programs using this API we may provide a wrapper layer to get them working but I am not convinced this API should be the reference API with whom to provide VM to AROS programs.
=== Variadic ===
variadic functions (i.e. functions with an arbitrary amount of arguments).
<pre>
#include <stdarg.h>
[...]
char * STDARGS GetKeyWord(int value, char *def, ...)
{
[...]
va_list va;
[...]
va_start(va, def);
[...]
va_end (args);
</pre>
Please keep with using stdarg rather than having va casted to a LONG * type and varargs handled manually. Doing so, prevents tons of casting, where a simple va_arg can be used. So, string = *((char **) args) instead of string=va_arg(va, char *).
<pre>
#include <stdio.h>
#include <stdarg.h>
int printf (const char * format, ...)
{
int retval;
va_list args;
va_start (args, format);
retval = vfprintf (stdout, format, args);
va_end (args);
fflush (stdout);
return retval;
} /* printf */
</pre>
Couldn't find varargs.h or stdarg.h. and have no use for AROS_SLOWSTACKHOOKS or AROS_SLOWSTACKTAGS.
GCC looks for stdarg.h in a different place:
/bin/linux-i386/tools/lib/gcc/i386-aros/4.2.2/include/stdarg.h
Here is a path for a "normal" header:
bin/linux-i386/tools/lib/gcc/i386-aros/4.2.2/../../../../i386-aros/sys-include/aros/system.h
The use of vararg.h isn't supported by newer gcc versions. If you want your code to run on architectures that pass part of variadic arguments in a number of registers you need to use AROS_SLOWSTACK macros. Otherwise your program will not work on powerpc and x86_64 ports.
Of course the SLOWSTACK stuff is not needed in a function that can use va_list, va_start, va_arg and va_end. It's only needed if you want to write functions like DoMethod or similar.
#include <stdarg.h>
should be enough no matter if you do cross or native compiling. If it does not work, something is wrong and should be corrected.
Stdarg.h is here, Development:lib/gcc/i386-aros/4.2.2/include/
...which is part of the compiler's default include paths. In other words, #include <stdarg.h> works out of the box, indeed. (sorry, I should have just tried it before invoking "search" or "find"...)
furthermore, myprintf() as shown above won't work, because...
printf(format, args);
...is wrong - the second argument does not match printf() prototype, it expects a argument list, but args is of type va_list (obviously) - so one has to use...
vfprintf(stdout, format, args);
...instead, just like in the original printf(), and add fflush(stdout).
additionally, one could use...
int myarg = va_arg(args, int);
...between va_start() and va_end() to access individual arguments, where each call to va_arg() returns an argument casted to the desired type (here: "int") from the list given (here: "args") and advances to the next one.
wrapping up vfprintf() and modifying the format string now is a major speedup! no more backslash-n typing! this has been haunting me for years!
On MOS and AmigaOS, the NewObject variadic function is kept in the static library. It takes most of the parameters on the stack - thanks to that the implementation of NewObject calls the NewObjectA function. Everything works perfect, and the typical MUI macros may be easily used.
This, however, is not the case when you compile for AROS. Here, NewObject is a variadic macro, not a function. Thanks such approach we do not need any custom compiler in case of systems, where the arguments of variadic functions are passed partially through registers and partially through the stack (This is the case of PPC and x86_64, this is also the reason why both OS4 and MOS require specially patched compilers).
Since NewObject is a macro, the gcc's preprocessor expects the list of macros arguments enclosed within parentheses. In MUI macros it is not the case. Imagine the following test code:
<pre>
#define foo(a,b) ((a)+(b))
int loosy_function(int a, int b)
{
return foo(a,b);
}
</pre>
This will compile and work, but the following piece of code:
<pre>
#define foo(a,b) ((a)+(b))
#define END )
int loosy_function(int a, int b)
{
return foo(a,b END;
}
</pre>
will fail with the error: unterminated argument list invoking macro "foo"
There are two ways of fixing your issue. Either create your new objects outside this huge MUI constructions, and in there use just a pointer, or get rid of the "End" macro and exchange it with "TAG_DONE)".
Badly written software is, for example, casting va_list to an APTR or even doing so as if va_list were a plain table of function arguments. Such code needs to be fixed because it has very few chances to work anywhere but on author's machine ;)
The problem is nOt that they assume sizeof(APTR) == 4, its that they often do not use APTR, and use ULONG to store pointers exclusively. If the code used APTR/IPTR as it should - most of the "problems" wouldn't exist.
It would also help if people would start using variadic arguments properly. Many coders do assumptions which shall never be made. Instead, they should consider using stdarg.h file and all the va_* functions :)
===ABI===
In the head of our SVN repository there are now only 3 directories:
<pre>
admin/
branches/
trunk/
</pre>
We have added two extra dirs there: tags and imports
As discussed when we branch ABI V0 and [[Aros/Developer/ABIv1|ABI V1]] it would also be good to introduce tags. Normally this is done in a directory in the repository called tags. Currently we don't have this directory there. (We do have branches/tags that is a hack I have done because one doesn't have write access in the top directory. I think this directory is not clean and should be removed).
The second directory I would introduce is an imports directory for implementing vendor branches as discussed in the svn [http://svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.html book]. Currently we use code from several different projects and that code is stored inside the AROS tree; we seem to have problems with keeping this code up to date and merge our changes upstream. Maintainers of up stream projects like the MUI classes etc. have complained about this (to put it lightly).
Introducing these vendor branches would make it easier to see what changes we have made and make patches to be sent upstream and make it easier to import newer upstream versions of their code. Although can't "copy" the vendor branch into the main branch because it's already there, so start with a "merge".
Yes, the first step to make the code already in the repository compatible with the vendor branches will be the most difficult. The best way to do it the following way:
* first import the version on which the current AROS code is based into the vendor branch
* then import the new version over it in the vendor branch
* finally merge the difference between these two version in the AROS code present in the repository.
For example, place NList directly under vendor and not in a subdirectory like "contrib/zune/classes".
Actually after we have a stable [http://aros.sourceforge.net/documentation/developers/specifications/drafts/abiv1.php ABIv1 (2012 or later)]. We need to move away as much as possible from the contrib directory to some other repositories. The reasons are ...
* The AROS repository should be for the core AROS code.
* other contrib projects should be tried to be compiled for all Amiga-like OSes.
* The release scheme for AROS and the other programs should not have to be aligned.
* Binary versions should be provided on aros-archives and on aminet and/or OS4Depot to install them. (Some clever programs should maybe be provided to make the life of distribution developers easier).
* avoid parallel forks of programs for AROS and the other amiga OSes.
If there is really a need for a place for hosting AROS projects we may investigate setting up such a server but then including bug tracking, governance, maillist, etc. for each project separately. I personally think there are already enough places like sourceforge, google code, savannah, etc. where people can go for hosting such projects.
==Links==
* http://amigadocs.hokstad.com
* http://amigadocs.hokstad.com/doku.php?id=dev-links
* http://www.liquido2.com/tutorial/index.html
* Amiga(TM) OS4 has a [http://www.ast-workshops.co.uk/os4pg/ workshop] page and hope to produce a [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=31117&forum=42#549091 book] soon. [http://www.solie.ca/articles/map/map.html Brief Guide].
In the future...?
*AROS 64bit - SMP, Vulkan with OpenGL compability layer
*AROS 32bit - keep for historic reasons
What would you like to see implemented in AROS?
ABIv1 completed, SMP (x86_64), SendMsg()/GetMsg() to support memory protection between target and destination, in that order. Michal Schulz and Jason McMullan have been toying with the question "What are the minimal changes needed to the AmigaOS 3.1 API to support SMP"? The answer so far seems to be "few, but subtle". For example, SysBase->ThisTask is no longer meaningful on SMP, but FindTask(NULL) is. Disable() and Forbid() are shockingly bad on performance, but adding a spinlock semaphore mode to SignalSemaphore will help new code on SMP.
Leveraging a 'common' OS with a lot of machine support (Linux, MacOS, Windows, QNX, etc.) is something that AROS has been doing for quite a long time, and it is the biggest strength of AROS. This AROS experience and programming model, in the same way the Google's Android layers on top of Linux, or MacOS X layers on top of the Darwin/BSD kernel, as a first step
* The graphics + layers subsystem could be implemented as a shim on top of a OpenGL ES implementation (ie on any modern Linux system, or the RaspberryPI's hardware, MacOS X, etc).
- This also allows every window to be on its own 3D surface with backing store, allowing Wanderer (or a Commodity)
rearrange/zoom/animate app windows without having to send a pile or refreshes to them
* Use OpenAL as the sound backend
* AROSTCP would be a thin layer over the native OS's TCP/IP stack
* dos.library, poseidon.library, and input.device would be slim shims over the native APIs
* If we move to loading all libraries' into the application's task space, instead of a single global instance of the library, this will allow SMP and MMU more easily.
- Yes, it will require a lot of work in the libraries to make this transition
- Yes, I do think it will be worth it in the end.
* A 'fat binary' install format (or, maybe LLVM bytecode) that can be 'flattend' to the target architecture on installation.
So, what would this 'AROS of the future' look like?
* AmigaOS 3.x style API, with certain 'fundamental changes' to message passing
* Uses the underlying OS' device drivers, so more AROS developer effort can go to user-visible features and bugfixes
* Allows AROS applications to run side-by-side with the OS's native apps
And why would anyone want to program on such a system?
* AROS applications would run on any system that has the AROS Framework installed
* AROS applications are pixel-for-pixel the same on all platforms.
* Develop with the knowledge that you are guaranteed OpenGL and OpenAL, and the rest of the AROS Framework
an option for mmake to dump its dependency of metatarget in a graphviz[*] input file. This should make it possible to visualize the dependencies and hopefully be inspiration for cleaning up some mess, circular or unneeded dependencies and so on.
AmigaOS gcc 9 [https://franke.ms/amiga/gcc.wiki Old versions] able to create binaries for AmigaOS and [https://eab.abime.net/showthread.php?t=93813 Upgrading gcc versions]
==References==
{{reflist}}
{{status|50%}}
{{BookCat}}
c44ie6w0zmn5xkspdwq8pw89kdr1dub
Social and Cultural Foundations of American Education/Educational Change/Essentials
0
105841
4640003
3936682
2026-06-12T08:40:05Z
WereSpielChequers
248949
typo
4640003
wikitext
text/x-wiki
{{hiddenh3|Why are all subjects are essential to be taught?}}
All throughout the course of a child’s education, many things change. They go to different schools as they get older, have different friends, and acquire new teachers. Their interests change from playing with friends after school to sports ,and members of the opposite sex. The one thing that remains constant is the subject matter that is being taught in schools. Regardless of what school a student goes to, the same basic subjects will be taught and all of them are important as they contribute to the development of a student’s mind. While some subjects may be more valuable to students than others, they all shape the way a person thinks. Often times, students may ask, “When am I ever going to use this stuff?” What they don’t see is that they use it every single day whether they realize it or not.
==Reading, Writing, and Speaking==
Reading, writing, and speaking are essential for everyone to function on an every day basis. While reading is an activity that almost all children learn to do at a very young age, comprehension is a totally different story. Just teaching a student to read is not enough. They must be able to understand what they are reading. There are a few good skills that must be practiced while learning to comprehend what is being read (Colorado). Comparing and contrasting is a great way to get a student thinking about more than just what the story says at the surface level. Also, getting a student to try and figure out the theme to stories and solve the problems that may exist in the story is a great way to make them use their mind for deeper thinking (Colorado).
Research now shows that low reading achievement more than any other factor, is the root cause for lower performing schools. Reading is considered to be the fundamental skill upon which all formal education depends on. Any child that does not acquire the necessary skills to read, will be at a disadvantage academically in all fields, however because of recent scientific research and the newly discovered learning disabled program in the Special Education department, new instruction has been developed to help these children read at level once the instruction is delivered by the proper skilled/ trained teacher (AFT Union of Professionals,2007).
The ability to write is an essential tool that students must be possess if they are going to be successful in school and in life. There are several areas in which writing is used in every day life. In the most basic way, people use this skill when doing something as simple as writing down a note ([http://www.ed.gov/pubs/parents/Writing/index.html]). Writing will be used in almost every profession imaginable in one way or another. Whether it is writing a letter to someone or just writing down simple calculations, basic writing skill will be used in the workplace ([http://www.ed.gov/pubs/parents/Writing/index.html]).
According to the Belden Russonello & Stewart research and communications survey, Americans voted that writing skills are essential to get ahead today. Nearly three-quarters of Americans say that it is more important today than it was twenty years ago to possess such a skill (Belden and Russonello,2007)There is a high demand for higher education when trying to obtain employment in today's society as well. Along with higher education comes the responsibility of knowing how to communicate ideas verbally, as well as on paper. Writing enhances the development of many other activities as well. Writing helps build vocabulary, and also helps develop important reading skills.
Speaking is another skill that is kind of lost in the shuffle after elementary school. Public speaking is way too important for this to happen. It is completely irrelevant the knowledge a person may have about a particular subject if they can not verbalize their point. Public speaking is used in almost every profession. Someone can be a great writer but may not be able to present the materials in front of other people. One way for children to develop profound reading and speaking skills is the use of phonics. "Phonics is a method of teaching reading based on pronunciation" (Leinwand 89). Helping the pronounce the words in order to read them also helps them to be able to say the different words correctly. It also gives them more confidence knowing they all they have to do is take the time to pronounce each syllable. It is harder for employers to find people who can not speak properly credible if it appears that they are unsure or do not have any knowledge as to what they are talking about.
==Mathematics==
Most individuals in today’s society do not realize how much mathematics is involved in their daily lives. A skill as simple as counting is using a math. Every time an individual counts, they are using the basic function of addition. From such a basic skill as counting to designing a computer, math is essential in life (Roman). Engineering is one field that uses math more than others.
{{Rquote|right|Do not worry about your difficulties in Mathematics. I can assure you mine are still greater.|Albert Einstein}}
Engineering has crossed our paths in one form or another. Engineers designed the cars that are driven to work every day. Engineers designed the highways and bridges that are used for our daily commuting purposes. Without the usage of math, these necessities that we take for granted would not be possible. Almost nothing that we have in the world today could exist without the usage of math (Roman). Students do not care for mathematics because they view math as difficult. That is why it is important for teachers to provide remediation for students who do not understand and make it their point to emphasize the importance of math, not to just teach it.
==Science==
Where did we come from? Why is the sky blue? Why are there clouds in the sky? All of these are questions that most people will ask themselves throughout the course of their lives. That is why science is another important subject in schools today. Without science, these basic questions of life could not have been answered. Science gives people an understanding of the world and why earth functions the way it does. Without science, there would be no way to calculate time. Along with every other subject already discussed, science is used in one way or another in most professions. Without science, how would doctors be able to treat people who are ill? Engineers use science along with math to design the tools that we use on an every day basis. Math and science compliment each other in discovering some of the mysteries of the world.
==Literature==
Literature is a subject that many students feel is unnecessary in school. They could not be more inaccurate. Literature greatly benefits people. First, it expands the imagination. Great literature can take the reader back in time or to some magical world. Next, literature provides the reader an interpretation of the world from someone else's point of view ([http://www.memorial.ecasd.k12.wi.us/Departments/LangArts/dnelson/amlit/beginyear/amlitwhyreadlit.htm]). Everyone perceives the world in a slightly different way. Literature is a way in which to use the mind to look at the world through someone else’s eyes. Most people just view it as a source of entertainment and of no educational value. When your mind is forced to think in a different way than what it is accustomed to doing, it sharpens the brain and increases the imagination ([http://www.memorial.ecasd.k12.wi.us/Departments/LangArts/dnelson/amlit/beginyear/amlitwhyreadlit.htm]).
==History==
Most people view history class as being forced to learn a bunch of facts that have no meaning to there life. History is so much more than just learning dates and facts. It is what is done with that information that is important. Instead of just learning that something happened, it needs to be taken into consideration why something happened. It is then that history becomes useful in the world today (Ragland 3). History is useful in today's classrooms because in many cases we have seen that history often repeats itself (Leinwand 77). Even essentialist thinkers believe in a mastery of basic knowledge, a main component being history (79). As we look through all angles, history is a large part of education in all aspects and is one that should not be left out of education. When students know about what has happened in the past, they can use that information to help make decisions. Students can then truly understand history and use it in their lives.
==The Arts==
The arts are not studied as much in school as the rest of the subjects but it is still very important. Art provides a way through which to communicate to people who may not even speak the same language as the author (Dickinson)! Art can be used to tell a story or just make a statement that everyone can understand regardless of what language someone speaks. Art also makes people think more deeply into it than a lot of other subjects do. When looking at art, it could take a very long time to get what the author is trying to say. This makes the viewer think critically about it (Dickinson). Some schools have taken time and money away from the arts to be able to focus more time on the core subjects. A study published in 2003 by Graham Wilkins et al surveyed over five hundred elementary schools in the Commonwealth of Virginia and showed that taking time away from the arts may be counterproductive. Schools that spent more time in the core subjects and less time in the arts did not have significantly higher tests scores than the other schools (Wilkins). The researchers also found that spending more time in the arts may be related to higher test scores but more studies would need to be done to support that idea (Wilkins). The arts are equally as important in the overall development of students by making them well rounded individuals. Students are typically more active in an art, music, or physical education class, and that activity and break from the typical lecture style class may help increase students' attention and decrease unwanted behavior from some students.
==Conclusion==
Some of these subjects are going to be more valuable to some than others, but all of them are essential in developing one’s mind. The goal in education is to produce as well rounded of people as possible. Different students will succeed in different areas, but they need to have a general understanding of all the subjects. They are the future of the world and having the privilege of teaching them must not be taken lightly!
==Multiple Choice Questions==
Click to reveal the answer.
{{question-answer|question=Which subject gives people a view of the world through someone else's eyes?
:A. History
:B. Literature
:C. Science
:D. The arts
|answer=B. Literature}}
{{question-answer|question=What is the most important part of reading?
:A. Knowing the general plot of the story.
:B. Being able to remember characteristics of the main characters.
:C. Understanding the deeper meaning of the story.
:D. All of the above.
|answer=C. Understanding the deeper meaning of the story.}}
{{question-answer|question=Why is it important to learn history?
:A. To learn why events happened the way that they did.
:B. To learn all of the important dates and people.
:C. To have an appreciation of what our background is.
:D. All of the above.
|answer=A. To learn why events happened the way that they did.}}
{{question-answer|question=Which of the following subjects is most used in the average person’s daily life?
:A. Literature
:B. History
:C. Art
:D. Math
|answer=D. Math}}
{{question-answer|question=What is one of the most important things about art?
:A. It makes us think on a higher level.
:B. It can be communicated to all people despite language barriers.
:C. It can give greater detail than even words can in some cases.
:D. All of the above.
|answer=D. All of the above.}}
{{question-answer|question=Spending more time in the arts may:
:A. Decrease test scores, but more evidence is needed.
:B. Increase test scores, but more evidence is needed.
:C. Have absolutely no effect on test scores.
:D. Increase the amount of photographers in our country.
|answer=B. Increase test scores, but more evidence is needed.}}
{{question-answer|question=The arts have a negative effect on the overall development of today's youth. True or false?
:A. True, but only because it takes time away from the core subjects.
:B. True, because studying music, art, and physical education are not important in today's world.
:C. False, because the arts help create well rounded individuals.
:D. False, but no one cares about today's youth so it doesn't matter.
|answer=C. False, because the arts help create well rounded individuals.}}
{{question-answer|question=What is the most important subject to teach in school?
:A. Math
:B. Science
:C. A and B
:D. All subjects are important to teach and one subject can not be singled out for every student.
|answer=D. All subjects are important to teach and one subject can not be singled out for every student.}}
{{question-answer|question=What percentage of Americans stated that it is more important today to possess a solid foundation in writing than twenty years ago?
:A. Seventy-five percent
:B. Twenty-five percent
:C. Ten percent
:D. Fifteen percent
|answer=A. Seventy-five percent}}
{{question-answer|question=How does a child's lack of reading capabilities affect the child's future?
:A. The parents lose trust in the teacher.
:B. The community losses trust in the principal.
:C. The child will not acquire other skills.
:D. The child will be a little behind.
|answer=C. The child will not acquire other skills.}}
{{question-answer|question=Which two skills does writing help you develop?
:A. Math and art
:B. Vocabulary and reading
:C. Science and social studies
:D. Reading and literature
|answer=B. Vocabulary and reading}}
{{question-answer|question=What subject repeats it self from the past to the present?
:A. History
:B. Science
:C. Religion
:D. Mathematics
|answer=A. History}}
{{question-answer|question=What is a method to teach reading that teaches the students to pronounce syllables?
:A. BMS mastery
:B. Phonics
:C. Symbolism
:D. Syllabication
|answer=B. Phonics}}
{{question-answer|question=What is used in almost every profession?
:A. Mathematical equations
:B. The scientific method
:C. Public speaking
:D. Historical facts
|answer=C. Public speaking}}
==Essay Question==
Click to reveal sample responses.
{{question-answer|question=Should the subjects that are viewed as less important be focused on in school as much as the major subjects?
|answer=Every subject is extremely important in the development of a students mind. But when it comes down to it, some are more essential to be learned than others. It is important for a student to be shown art and how important it is, but it is not going to be used on as big of a scale as math is. Math is something that every student must learn regardless of what career they choose. Also reading comprehension and good speaking skills are essential to everyone. While the lesser subjects still must be taught, these major ones have to be focused on a little bit more. A student can go on to be a very productive citizen without understanding art, but if they do not understand math or have good reading skills, it will be much harder to be productive. This is not to say that the lesser subjects should not be taught because they should. When it comes down to it, some things are just more valuable to have than others.
----
I believe that every subject we teach in school is important. As a student and an individual going into the education field I believe that the subjects that are considered less important are actually very important and should be taught in school. I was not a person who liked art or music when I was in school. I cannot draw and I did not care to listen to the music that the teachers played for us. Even though I had these thoughts I believe that these subjects should be taught in school. Art is important because it helps us build an imagination and express how we feel. On the other hand music should be taught in school because it helps us learn how it all originated and music is apart of our every day world. We all listen to some kind of music on the radio. Physical Education is an important part of the world of education, but I do not feel like it is stressed enough. Our world is full of obese individuals and it should not be. If we were to teach the proper information to our students about eating and dieting we would not have such an obese country.
I believe that some subjects are more important than others. The four basic subjects math, English, science and history are all key components to life. We use math in the everyday world whether it is counting or using a checkbook and most all professions use it. English is used to read, write and communicate and without these skills you could not make it because they are required. In science we learn where we came from, how things occur and what causes them. In history we learn about past events and what caused them to happen. I believe that these four subjects are the most important subjects in the world of education, but every subject should be taught and pushed to learn. —Ashley Stern
----
The subjects that are less important should focused on just as much as the subjects that are viewed as most important.
Some students excel in the less important subjects more than they do in the more important ones. Focusing on these subjects as well will help give these students a boost of confidence which is very important, because it will help them to feel as if they are just as smart or just as capable. Also the less important subjects should be focused on, because they give the students the skills they need to succeed in the other more important subjects as well as the skills they need to make in their future career choices. Although these skills should be focused on, I think it is important that they do not test students on this material. Of course, in-class tests are important but standardized tests should not be given. I think that testing students on these subjects would discourage them from wanting to take these classes. I think that it would also discourage students from doing well in these classes. This is because I don’t think that students will be as interested in the material if they know that they have to be tested on the material. The less important subjects are just as important as the more important ones and I don’t think that the information in these classes should be pushed just as much as the information in the other classes. —Carmen Brown
----
The purpose of school isn’t just to learn and become productive citizens. School should expose students to many different subjects so that they have a chance to explore new things, develop interests, and become a well-rounded individual. Music, art, physical/health education, and vocational education should not be given the same amount of focus, but should be given more time than already allotted in most schools. The secondary subjects give students a chance to apply some of the concepts they learn in the core subjects to more than just experiments in science class or written tests. If taught in such a manner, the secondary subjects can be a chance for students to see in action what they are learning in their “pointless” math, science, and history class. Music is opportunity for students to use math while counting rhythms, applying science concepts to pitches and tones, and they may also be able to hear some of the popular music during a time period they are learning about in history class. In art class students use different materials to make things and science shows us why some materials are better than others, it also tells us why the coffee mug we just made cracked in the kiln. Physical education uses science and math a lot (I don’t know how else to say it). Newton’s Laws, calculating heart rate, keeping score, movement in general requires the laws and theories of math and science. Vocational education, especially at the high school level, uses math and science in everything from calculating the amount of materials needed to build something to determining why an engine isn’t functioning properly. These secondary subjects should be given more time (in relationship to how much time they are given now) because it not only gives students an opportunity to apply what they’ve learned, they also can help develop interests in subjects that can lead to career choices or hobbies they wouldn’t normally develop. —Jon Durham}}
==References==
* A Union of Professionals. "The Importance of High-Quality Reading Instruction." 2007. http://www.aft.org/topics/reading/index.htm
* Belden and Russonello. "The 2007 Survey on Teaching Writing." March 2007. http://www.brspoll.com
* Colorado, Colorin. “Reading Comprehension Strategies for Content Learning.” 2007. http://www.colorincolorado.org/article/14342
* Dickinson, Dee. “Why are the arts so important?” New Horizons for Learning, 1993. http://www.newhorizons.org/strategies/arts/dickinson_why_arts.htm.
* “Help your child learn to write well.” April, 1993. http://www.ed.gov/pubs/parents/Writing/index.html
* Leinwand, Gerald. "Public Education: American Issues." Philip Lief Group. Facts on File, Inc. 2007.
* Ragland, Rachel. “Changing secondary teachers’ views of teaching American History.” http://vnweb.hwwilsonweb.com.proxy.lib.odu.edu/hww/results/results_single_ftPES.jhtml
* Roman, Harry. “Why math is so important.” http://vnweb.hwwilsonweb.com.proxy.lib.odu.edu/hww/results/results_single_fulltext.jhtml
* “Why read literature?” http://www.memorial.ecasd.k12.wi.us/Departments/LangArts/dnelson/amlit/beginyear/amlitwhyreadlit.htm
* Wilkins, J., Graham, G., Parker, S., Westfall, S., Fraser, R., & Tembo, M. (2003). Time in the arts and physical education and school achievement. Journal of Curriculum Studies, 35, 721-734.
{{BookCat}}
5vahoown6ko4712t0kvmuh0elwdlec0
Category:Category 2 Languages
14
130237
4639944
4090491
2026-06-11T19:16:58Z
~2026-34531-91
3605004
4639944
wikitext
text/x-wiki
This category contains all Category II Wikibooks.
'''''See also:''' [[Wikibooks:Language Learning Difficulty for English Speakers]].''
[[Category:Languages g category| 2]]
m70bmzbfzefokg4q34e3nps1pbgrgm3
4639945
4639944
2026-06-11T19:17:58Z
Quinlan83
3290607
[[WB:REVERT|Reverted]] edit by [[Special:Contributions/~2026-34531-91|~2026-34531-91]] ([[User talk:~2026-34531-91|talk]]) to last version by Pooryorick~enwiki
4090491
wikitext
text/x-wiki
This category contains all Category II Wikibooks.
'''''See also:''' [[Wikibooks:Language Learning Difficulty for English Speakers]].''
[[Category:Languages by category| 2]]
2l7umk0klv1ql4c4uj8lf5vf15adzlv
Wikibooks:Reading room/Administrative Assistance
4
140081
4639895
4639883
2026-06-11T12:45:37Z
MathXplore
3097823
Reporting ShaneWarne1
4639895
wikitext
text/x-wiki
__NEWSECTIONLINK__ {{Discussion Rooms}} {{shortcut|WB:AN|WB:AA}} {{TOC left}}
{{User:MiszaBot/config
|archive = Wikibooks:Reading room/Administrative Assistance/Archives/%(year)d/%(monthname)s
|algo = old(14d)
|counter = 1
|minthreadstoarchive = 1
|minthreadsleft = 1
}}
{{ombox|type=content|text='''To request a rename or usurpation''', go to the global request page at Meta [[meta:SRUC|here]].<br />''Please do not post those requests here!''}}
{{Clear}}
Welcome to the '''Administrative Assistance reading room'''. You can request assistance from [[WB:ADMIN|administrators]] for handling a variety of problems here and alert them about problems which may require special actions not normally used during regular content editing. Please be patient as administrators are often quite busy with either their own projects or trying to perform general maintenance and cleanup.
You can deal with most vandalism yourself: [[Wikibooks:Dealing with vandalism|fix it]], then [[Wikibooks:Templates/User_notices|warn the user]]. If there is repeated vandalism by one user, lots of vandalism on a single page, or vandalism from many users, tell an admin here, or in [irc://irc.freenode.net/wikibooks #wikibooks] (say <code>!admin</code> to get attention).
For more general questions and assistance that doesn't require an administrator, please use the [[WB:HELP|Assistance Reading Room]].
{{clear}}
[[Category:Reading room]]
== Manipathakblog reported by MathXplore ==
* {{userlinks|Manipathakblog}}
Promotion-only account <!-- USERREPORTED:/Manipathakblog/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 06:54, 30 May 2026 (UTC)
: Globally locked by Barras. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 12:44, 30 May 2026 (UTC)
== GSTFILLING reported by MathXplore ==
* {{userlinks|GSTFILLING}}
Spam <!-- USERREPORTED:/GSTFILLING/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:29, 5 June 2026 (UTC)
:{{done}} —[[User:Atcovi|Atcovi]] [[User talk:Atcovi|(Talk]] - [[Special:Contributions/Atcovi|Contribs)]] 12:45, 5 June 2026 (UTC)
== [[:Category:Wikibooks fully protected edit requests]] needs a clean out ==
Has several unhandled requests dating back to December. Thanks. [[User:Pppery|Pppery]] ([[User talk:Pppery|discuss]] • [[Special:Contributions/Pppery|contribs]]) 04:56, 7 June 2026 (UTC)
== ~2026-29002-30 reported by MathXplore ==
* {{userlinks|~2026-29002-30}}
Abusing multiple accounts: [[Special:Contributions/Babywacko]] <!-- USERREPORTED:/~2026-29002-30/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:20, 9 June 2026 (UTC)
: {{done}}. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:42, 9 June 2026 (UTC)
== ShaneWarne1 reported by MathXplore ==
* {{userlinks|ShaneWarne1}}
Spam <!-- USERREPORTED:/ShaneWarne1/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:45, 11 June 2026 (UTC)
9srl19lqtubbdvxk7xgcac04f2q8zo5
4639903
4639895
2026-06-11T13:36:10Z
MathXplore
3097823
Reporting Nsysgroup
4639903
wikitext
text/x-wiki
__NEWSECTIONLINK__ {{Discussion Rooms}} {{shortcut|WB:AN|WB:AA}} {{TOC left}}
{{User:MiszaBot/config
|archive = Wikibooks:Reading room/Administrative Assistance/Archives/%(year)d/%(monthname)s
|algo = old(14d)
|counter = 1
|minthreadstoarchive = 1
|minthreadsleft = 1
}}
{{ombox|type=content|text='''To request a rename or usurpation''', go to the global request page at Meta [[meta:SRUC|here]].<br />''Please do not post those requests here!''}}
{{Clear}}
Welcome to the '''Administrative Assistance reading room'''. You can request assistance from [[WB:ADMIN|administrators]] for handling a variety of problems here and alert them about problems which may require special actions not normally used during regular content editing. Please be patient as administrators are often quite busy with either their own projects or trying to perform general maintenance and cleanup.
You can deal with most vandalism yourself: [[Wikibooks:Dealing with vandalism|fix it]], then [[Wikibooks:Templates/User_notices|warn the user]]. If there is repeated vandalism by one user, lots of vandalism on a single page, or vandalism from many users, tell an admin here, or in [irc://irc.freenode.net/wikibooks #wikibooks] (say <code>!admin</code> to get attention).
For more general questions and assistance that doesn't require an administrator, please use the [[WB:HELP|Assistance Reading Room]].
{{clear}}
[[Category:Reading room]]
== Manipathakblog reported by MathXplore ==
* {{userlinks|Manipathakblog}}
Promotion-only account <!-- USERREPORTED:/Manipathakblog/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 06:54, 30 May 2026 (UTC)
: Globally locked by Barras. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 12:44, 30 May 2026 (UTC)
== GSTFILLING reported by MathXplore ==
* {{userlinks|GSTFILLING}}
Spam <!-- USERREPORTED:/GSTFILLING/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:29, 5 June 2026 (UTC)
:{{done}} —[[User:Atcovi|Atcovi]] [[User talk:Atcovi|(Talk]] - [[Special:Contributions/Atcovi|Contribs)]] 12:45, 5 June 2026 (UTC)
== [[:Category:Wikibooks fully protected edit requests]] needs a clean out ==
Has several unhandled requests dating back to December. Thanks. [[User:Pppery|Pppery]] ([[User talk:Pppery|discuss]] • [[Special:Contributions/Pppery|contribs]]) 04:56, 7 June 2026 (UTC)
== ~2026-29002-30 reported by MathXplore ==
* {{userlinks|~2026-29002-30}}
Abusing multiple accounts: [[Special:Contributions/Babywacko]] <!-- USERREPORTED:/~2026-29002-30/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:20, 9 June 2026 (UTC)
: {{done}}. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:42, 9 June 2026 (UTC)
== ShaneWarne1 reported by MathXplore ==
* {{userlinks|ShaneWarne1}}
Spam <!-- USERREPORTED:/ShaneWarne1/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:45, 11 June 2026 (UTC)
== Nsysgroup reported by MathXplore ==
* {{userlinks|Nsysgroup}}
Spam <!-- USERREPORTED:/Nsysgroup/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:36, 11 June 2026 (UTC)
a9l0mfv0e7zty4to2l28bylszlsn0sq
4639959
4639903
2026-06-11T22:12:04Z
Codename Noreste
3441010
/* ShaneWarne1 reported by MathXplore */ reply: Globally locked by M7. (-) ([[mw:c:Special:MyLanguage/User:JWBTH/CD|CD]])
4639959
wikitext
text/x-wiki
__NEWSECTIONLINK__ {{Discussion Rooms}} {{shortcut|WB:AN|WB:AA}} {{TOC left}}
{{User:MiszaBot/config
|archive = Wikibooks:Reading room/Administrative Assistance/Archives/%(year)d/%(monthname)s
|algo = old(14d)
|counter = 1
|minthreadstoarchive = 1
|minthreadsleft = 1
}}
{{ombox|type=content|text='''To request a rename or usurpation''', go to the global request page at Meta [[meta:SRUC|here]].<br />''Please do not post those requests here!''}}
{{Clear}}
Welcome to the '''Administrative Assistance reading room'''. You can request assistance from [[WB:ADMIN|administrators]] for handling a variety of problems here and alert them about problems which may require special actions not normally used during regular content editing. Please be patient as administrators are often quite busy with either their own projects or trying to perform general maintenance and cleanup.
You can deal with most vandalism yourself: [[Wikibooks:Dealing with vandalism|fix it]], then [[Wikibooks:Templates/User_notices|warn the user]]. If there is repeated vandalism by one user, lots of vandalism on a single page, or vandalism from many users, tell an admin here, or in [irc://irc.freenode.net/wikibooks #wikibooks] (say <code>!admin</code> to get attention).
For more general questions and assistance that doesn't require an administrator, please use the [[WB:HELP|Assistance Reading Room]].
{{clear}}
[[Category:Reading room]]
== Manipathakblog reported by MathXplore ==
* {{userlinks|Manipathakblog}}
Promotion-only account <!-- USERREPORTED:/Manipathakblog/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 06:54, 30 May 2026 (UTC)
: Globally locked by Barras. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 12:44, 30 May 2026 (UTC)
== GSTFILLING reported by MathXplore ==
* {{userlinks|GSTFILLING}}
Spam <!-- USERREPORTED:/GSTFILLING/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:29, 5 June 2026 (UTC)
:{{done}} —[[User:Atcovi|Atcovi]] [[User talk:Atcovi|(Talk]] - [[Special:Contributions/Atcovi|Contribs)]] 12:45, 5 June 2026 (UTC)
== [[:Category:Wikibooks fully protected edit requests]] needs a clean out ==
Has several unhandled requests dating back to December. Thanks. [[User:Pppery|Pppery]] ([[User talk:Pppery|discuss]] • [[Special:Contributions/Pppery|contribs]]) 04:56, 7 June 2026 (UTC)
== ~2026-29002-30 reported by MathXplore ==
* {{userlinks|~2026-29002-30}}
Abusing multiple accounts: [[Special:Contributions/Babywacko]] <!-- USERREPORTED:/~2026-29002-30/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:20, 9 June 2026 (UTC)
: {{done}}. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:42, 9 June 2026 (UTC)
== ShaneWarne1 reported by MathXplore ==
* {{userlinks|ShaneWarne1}}
Spam <!-- USERREPORTED:/ShaneWarne1/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:45, 11 June 2026 (UTC)
: Globally locked by M7. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 22:12, 11 June 2026 (UTC)
== Nsysgroup reported by MathXplore ==
* {{userlinks|Nsysgroup}}
Spam <!-- USERREPORTED:/Nsysgroup/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:36, 11 June 2026 (UTC)
o3kwjbebdknqdegaca4rl75adb6ek3k
QEMU/Images
0
150725
4639955
4440765
2026-06-11T20:22:38Z
~2026-34465-87
3605034
/* fix some typos */
4639955
wikitext
text/x-wiki
Once QEMU has been installed, it should be ready to run a guest OS from a disk image. This image is a file that represents the data on a hard disk. From the perspective of the guest OS, it actually is a hard disk, and it can create its own filesystem on the virtual disk.
You can download a few guest OS images from the [http://wiki.qemu.org/Testing QEMU website], including a simple 8 MB image of a Linux distro (which is meant primarily for testing; note that [http://www.nuke24.net/docs/2012/QEMUNetworking.txt it lacks the e1000 driver] and therefore cannot do networking out-of-the-box). To run it, download and unzip the image in a folder and run the QEMU command.
qemu linux-0.2.img
When you do not have the plain command ''qemu'' try to run:
qemu-system-i386 linux-0.2.img
Replace ''linux-0.2.img'' with the name of your guest OS image file. If it has a GUI and you want to use your mouse with it, double-click on the window and QEMU will grab your mouse. To make QEMU release your mouse again, hold down the Control and Alt keys simultaneously, then let go - your mouse will be released back to X.
Aurélien Jarno of Debian has prepared a number of pre-packaged Debian QEMU images for several architectures, including ARM, Sparc, PowerPC, x86_64, and i386. They can be found at http://people.debian.org/~aurel32/qemu/
For some of the test kernels that you get, for example, the Sparc test image, you might get the error "No NFS Server available giving up" or some other message about needing to insert a "Root Floppy" or even a message specifying to fix the root option. If so then specify "root=/dev/ram" as an addition kernel command line option. This will then cause the test system to work. This is specifically true for the Sparc test files available from http://wiki.qemu.org/Testing, but probably for some of the others as well. If you are using the manager program for windows then just add the "root=/dev/ram/" in the advanced tab. Also turn off video and sound and if using qemu-system-sparcw.exe then change the filename to qemu-system-sparc.exe because some renamed it.
==Image types==
QEMU supports several image types. The "native" and most flexible type is ''qcow2'', which supports [[#Copy on write|copy on write]], encryption, compression, and VM snapshots.
QEMU currently can use these image types or formats:
;raw : (default) the raw format is a plain binary image of the disc image, and is very portable. On filesystems that support [[w:sparse file|sparse files]], images in this format only use the space actually used by the data recorded in them.
;cloop : [[w:cloop|Compressed Loop]] format, mainly used for reading Knoppix and similar live CD image formats
;cow : [[w:Copy-on-write|copy-on-write]] format, supported for historical reasons only and not available to QEMU on Windows
;qcow : the old QEMU copy-on-write format, supported for historical reasons and superseded by qcow2
;qcow2 : QEMU copy-on-write format with a range of special features, including the ability to take multiple snapshots, smaller images on filesystems that don't support sparse files, optional AES encryption, and optional zlib compression
;vmdk : [[w:VMware|VMware]] 3 & 4, or 6 image format, for exchanging images with that product
;vdi : [[w:VirtualBox|VirtualBox]] 1.1 compatible image format, for exchanging images with VirtualBox.
;vhdx : [[w:Hyper-V|Hyper-V]] compatible image format, for exchanging images with Hyper-V 2012 or later.
;vpc : [[w:Hyper-V|Hyper-V]] legacy image format, for exchanging images with Virtual PC / Virtual Server / Hyper-V 2008.
==Creating an image==
To set up your own guest OS image, you first need to create a blank disc image. QEMU has the <code>qemu-img</code> command for creating and manipulating disc images, and supports a variety of formats. If you don't tell it what format to use, it will use raw files. The "native" format for QEMU is qcow2, and this format offers some flexibility. Here we'll create a 3 GB qcow2 image to install Windows XP on:
qemu-img create -f qcow2 winxp.img 3G
The easiest way to install a guest OS is to create an ISO image of a boot CD/DVD and tell QEMU to boot off it. Many free operating systems can be downloaded from the Internet as bootable ISO images, and you can use them directly without having to burn them to disc.
Here we'll boot off an ISO image of a properly licensed Windows XP boot disc. We'll also give it 256 MB of RAM, but we won't use the kqemu kernel module just yet because it causes problems during Windows XP installation.
qemu -m 256 -hda winxp.img -cdrom winxpsp2.iso -boot d
''Note:'' Depending on your distribution, you may need to use qemu-system-x86_64 command (when you using a 64-bit OS, also if you want to use KVM later).
To boot from a real CD or DVD, tell QEMU where to find it. On Linux systems, you can usually use a logical device name like <code>/dev/cdrom</code> or <code>/dev/dvd</code>, or the physical name of the device, e.g. <code>/dev/sr0</code>
qemu -m 256 -hda winxp.img -cdrom /dev/cdrom -boot d
QEMU will boot from the ISO image or CD/DVD and run the install program. If you have two screens, move the QEMU screen off to the spare one where you can keep an eye on the installer, but get on with something else - it will take a while!
Once the guest OS has installed successfully, you can shutdown the guest OS (e.g. in Windows XP, click on Start and then Shutdown). Once it has shutdown, start QEMU up with the kqemu kernel module to give it a little more speed.
qemu -m 256 -hda winxp.img -cdrom winxpsp2.iso -enable-kvm
If you are running an x86-64 Linux (i.e. 64-bit), you will need to run the x86-64 version of QEMU to be able to utilise kqemu:
qemu-system-x86_64 -m 256 -hda winxp.img -cdrom winxpsp2.iso -enable-kvm
=== qemu-img ===
The qemu-img program is very powerful. Since you can convert between data formats you can move to an other emulator very quickly. Also can it read RAW-format, that means you can make a dump from a disk and convert it into e.g. qcow2. A feature that comes handy when you need to virtualise a brocken PC.
1. use ddrescue (or dd in case the drive is ok) to make a raw image
ddrescue /dev/diskin diskout.img diskout.map
;note: dev/diskin is a placeholder like diskout.img, read the instructions for ddrescue (man ddrescue) '''before''' blindly copying lines, especially on a broken disk this may take some time
2. now convert the RAW image into qcow2
qemu-img convert -p -f raw -O qcow2 diskout.img target.qcow2
;note: again use ''man qemu-img'' programs evolve
be aware that qemu-img makes a copy, GOOD: you can do it again if something goes wrong; BAD: you need space, check first !
the resulting target.qcow2 can be used as a disk with qemu-system-x86_64
==Using multiple images==
QEMU can utilize up to four image files to present multiple virtual drives to the guest system. This can be quite useful, as in the following examples:
* a [[w:Paging|pagefile]] or swapfile virtual disc that can be shared between QEMU guests
* a common data drive where all data is stored, accessible from each QEMU guest but isolated from the host
* giving additional space to a QEMU guest without reconfiguring the primary image
* separating competing I/O operations onto different physical drive spindles by placing the separate QEMU images on different physical drives
* emulating a multi-drive physical environment for testing / learning
Bear in mind that only one instance of QEMU may access an image at a time - shared doesn't mean shared simultaneously!
To use additional images in QEMU, specify them on the command line with options -hda, -hdb, -hdc, -hdd.
qemu -m 256 -hda winxp.img -hdb pagefile.img -hdc testdata.img -hdd tempfiles.img -enable-kvm
NB: QEMU doesn't support both -hdc and -cdrom at the same time, as they both represent the first device on the second IDE channel.
==Copy on write==
The "cow" part of qcow2 is an acronym for [[w:Copy-on-write|copy on write]], a neat little trick that allows you to set up an image once and use it many times without changing it. This is ideal for developing and testing software, which generally requires a known stable environment to start off with. You can create your known stable environment in one image, and then create several disposable copy-on-write images to work in.
To start a new disposable environment based on a known good image, invoke the <code>qemu-img</code> command with the <code>backing_file</code> option and tell it what image to base its copy on. When you run QEMU using the disposable environment, all writes to the virtual disc will go to this disposable image, not the base copy.
qemu-img create -f qcow2 -o backing_file=winxp.img test01.img
qemu -m 256 -hda test01.img -enable-kvm &
Nota bene:
# don't forget to copy any important data out of the disposable environment before deleting it. When developing and testing software in copy-on-write virtual environments, it is a good idea to use [[w:Revision control|version control software]] like [[w:Subversion (software)|Subversion]] or [[w:Concurrent Versions System|CVS]] on a server external to your virtual environment. Not only is it easy to keep copies of your work outside your virtual environment, it is also very easy to set up a new virtual environment from version control.
# backing_file image must be set as read-only on VMs, that will be using it directly. Otherwise, other images, based on this backing_file image will be corrupted, if there is some change have been made to the backing_file image.
==Mounting an image on the host==
Sometimes it is helpful to be able to mount a drive image under the host system. For example, if the guest doesn't have network support, the only way to transfer files into and out of the guest will be by the storage devices it can address.
Linux and other Unix-like hosts can mount images created with the ''raw'' format type using a loopback device. From a root login (or using sudo), mount a loopback with offset.
mount -o loop,offset=32256 /path/to/image.img /mnt/mountpoint
To determine the correct offset you can run
fdisk -l /path/to/image.img
and the offset you need is the ''start'' of a partition multiplied by sector size. For example if start is 128 and sector size is 512 then the offset is 65536.
For example, to copy some files across to a FreeDOS hard drive image:
mkdir -p /mnt/freedos
mount -o loop,offset=32256 freedos-c.img /mnt/freedos
cp oldgames /mnt/freedos
umount /mnt/freedos
NB: never mount a QEMU image while QEMU is using it (unless -snapshot is used), or you are likely to corrupt the filesystem on the image.
Note: if you have an image without partitions you should omit the ,offset=32256 part. This is for instance the case if you want to mount linux-0.2.img (which can be found at the qemu web site at the time of writing).
For other types of qemu images, you can use qemu-nbd
modprobe nbd max_part=16
qemu-nbd -c /dev/nbd0 image.qcow2
partprobe /dev/nbd0
mount /dev/nbd0p1 /mnt/image
Using '''fdisk''' you can get information regarding the different partitions in nbd0.
$ fdisk /dev/nbd0
Command (m for help): p
Disk /dev/nbd0: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders, total 8388608 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000183ca
Device Boot Start End Blocks Id System
/dev/nbd0p1 * 2048 499711 248832 83 Linux
/dev/nbd0p2 501758 8386559 3942401 5 Extended
/dev/nbd0p5 501760 8386559 3942400 8e Linux LVM
LVM type partitions cannot be mounted using 'mount'. In such a case the image could be mounted with:
$ vgscan
Reading all physical volumes. This may take a while...
Found volume group "ub1110server-qemu" using metadata type lvm2
$ vgchange -ay
2 logical volume(s) in volume group "ub1110server-qemu" now active
$ mount /dev/ub1110server-qemu/''<LogicalVolumeName>'' /mnt/image
Replace ''<LogicalVolumeName>'' with the name of the logical volume present in the volume group. Finally, after the usage it's important to unmount the image and reverse other steps (depending on how the image was mounted):
$ umount /mnt/image
$ qemu-nbd -d /dev/nbd0
$ vgchange -an VolGroupName
$ killall qemu-nbd
"nbd" stands for "Network Block Device". Here we're using them locally, but one can also export the image for other hosts to use/mount. See qemu-nbd(8), nbd-client(8) for details.
The same can be done for raw images, but it's a lot less efficient than the loop method described above.
Another alternative for vmdk and raw images is to use vdfuse (http://forums.virtualbox.org/viewtopic.php?f=26&t=33355) which allows to access any image supported by VirtualBox.
== Copying an image to a physical device ==
It may be desired to copy a diskimage to a physical device. An example may be if building a cluster, it might be easier to get everything ready in qemu, then write the final diskimage to all of the hard drives. Of course your image will need to contain all of required configuration and drivers for the new system to boot properly.
The diskimage will need to be in raw format.
$ qemu-img convert -O raw diskimage.qcow2 diskimage.raw
Then you just dd it onto the hard drive.
# dd if=diskimage.raw of=/dev/sdX
Or, let qemu-img directly write onto the drive in one command:
# qemu-img convert -O raw diskimage.qcow2 /dev/sdX
Of course you need to be careful that you write it to the correct drive!
==Getting information==
The <code>qemu-img</code> program can tell you about the format, virtual size, physical size, and snapshots inside an image.
$ qemu-img info test.vmdk
(VMDK) image open: flags=0x2 filename=test.vmdk
image: test.vmdk
file format: vmdk
virtual size: 20M (20971520 bytes)
disk size: 17M
$ qemu-img info image-qcow.[[qcow2]]
image: image-qcow.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 136K
cluster_size: 65536
==Converting image formats==
The <code>qemu-img</code> program can be used to convert images from one format to another, or add compression or encryption to an image. Specify the source and target files for the image, and select from the following options:
* <code>-f ''fmt''</code> – optional, specify the format of the input file (QEMU can usually detect it)
* <code>-O ''fmt''</code> – specify the format of the output file
* <code>-e</code> – use encryption in the output file (you will be prompted for a password)
* <code>-c</code> – use compression in the output file (can't be used with encryption)
* <code>-6</code> – when converting to vmdk (VMware) format, make it compatible with VMware 6
qemu-img convert -O qcow2 test.vmdk test.qcow2
===Exchanging images with VirtualBox===
qemu also supports the ''vdi'' format, so you can convert in both ways:
qemu-img convert -O vdi test.qcow2 test.vdi
qemu can use the vdi format for booting as well as a base image;
because VirtualBox also supports this type of image, called there differencing image, a single (read-only) base copy could be shared simultaneously.
In any case, you may use the ''raw'' format (or an ''nbd'' device):
To convert a QEMU image for use with [[w:VirtualBox|VirtualBox]], first convert it to ''raw'' format, then use VirtualBox's conversion utility to convert and compact it in its native format. Note that the compact command requires the full path to the VirtualBox image, not just the filename.
qemu-img convert -O raw test.qcow2 test.raw
(1) VBoxManage convertdd test.raw test.vdi
VBoxManage modifyvdi /full/path/to/test.vdi compact
(1) or try:
VBoxManage convertfromraw -format VDI test.raw test.vdi
or
VBoxManage clonehd -format VDI test.raw test.vdi
Alternatively, you may use qemu-nbd to make the image available as raw as an nbd device, which VBoxManage can then convert.
qemu-nbd -c /dev/nbd0 test.qcow2
VBoxManage convertfromraw -format VDI /dev/nbd0 test.vdi
To convert a VDI back to raw, one may use VBoxManage again:
VBoxManage clonehd -format RAW test.vdi test.raw
or
VBoxManage internalcommands converttoraw file.vdi file.raw
To use a VDI image from KVM without converting it, vdfuse may be used again.
vdfuse -f test.vdi ~/some-dir
kvm -hda ~/some-dir/EntireDisk ...
{{Auto category}}
hem0k6b5gv04y2p8fowip1vy8s3ytrr
Structural Biochemistry/Protein function/Heme group/Hemoglobin
0
176948
4639974
4343224
2026-06-12T01:13:40Z
~2026-34650-52
3605125
change first sentence
4639974
wikitext
text/x-wiki
'''Hemoglobin''' is an organelle in body that is carried by red blood cells. Hemoglobin picks up oxygen in the lungs and delivers oxygen to the tissues to maintain cellular viability. It is composed of four polypetide chains with four prosthetic groups. Two of the units have the same amino acid sequences and are called α-chains, the other two identical amino acid sequences are called β-chains. The α-chains and β-chains combine to form the body of hemoglobin. Usually the α-chains combine with the β-chains rather than α-chains and α-chains while β-chains combine with β-chains. The latter is not expressed before birth. Hemoglobin protein which is found only during fetal development is called gamma (γ). It substitutes for the β-chains. Fetals have γ-chains instead of β-chains because it needs a higher affinity for oxygen, so the fetuses can draw sufficient amount of oxygen from the mother. The fetus accomplishes this task by altering the amino acid sequences of the β-chains. γ-chains altered in the way that it removes the two positive charges on the β-chains in which the 2,3-bisphosphoglycerate (2,3-BPG). This reduces the affinity for 2,3-BPG. Since 2,3-BPG lowers the affinity for oxygen, reduction in that would increase the fetus' ability to bind to an oxygen. The fact that 2,3-BPG helps hemoglobin protein binding oxygen molecule for more oxygen to be delivered to body tissues is known as '''heterotropic allosteric effect'''. Bisphosphoglycerate (BPG), pH, and carbon dioxide can have an effect on the hemoglobin. In the cell, when the pH decrease, it lowers the affinity of oxygen in the cell and therefore becomes more efficient oxygen tranporter. When the presence of carbon dioxide increases, it lowers the affinity of oxygen in the cell which is another factor that allows cell to become a better oxygen transporter.
A protein of tetramer, with two α and β units of amino acids or, globin or globular protein and four heme groups that each has an iron atom, and the importance is that Fe<sup>2+</sup> is, by which bonding to globin group by proximal histidine and oxygen molecules by bent form of geometry by cooperativeness for the biological function of the protein such that they are circulated through body in red blood cells to be delivered to tissues (to be used for glycolysis and oxidative phosphorylation), and bonding to carbon dioxide for it to be transported to lungs (to be exhaled as waste). Oxyhemoglobin is the form of hemoglobin that the heme group of the protein molecule binds to oxygen; deoxyhemoglobin is that without oxygen.
[[Image:1GZX Haemoglobin.png|thumb|Structure of Hemoglobin]]
== Binding Sites of Hemoglobin ==
The iron ion of +2 state of heme group is bonded to four nitrogens in one plane of 4 porphyrin ring and a proximal histidine amino acid of imidazole ring of globin molecule under plane of porphyrin ring. The heme group binds oxygen by bending. This does not increase the oxidation state of the iron ion but it decreases in atomic size. This causes the iron ion to move into the plane of porphyrin ring and brings up the proximal histidine amino acid group. Ultimately, it changes the allosteric conformation of globulin molecule.
As iron binds oxygen, the iron ion changes its position to stay in the same plane of porphyrin ring. This causes the bond distance of iron and oxygen to increase while the bond distance of iron to histidine of imidizole ring decreases. The decrease of iron to histidine of the imidizole ring causes the plane of the ring to move out of tetramer of hemoglobin. Now, the binding sites of the heme groups are opened up for the bonding of oxygen. Overall, the process is classified as positive cooperativeness. The hemoglobin protein's binding affinity to oxygen can be increased by increasing substrate saturation of oxygen molecule. The bonding of the hemoglobin protein and oxygen changes the conformation of the binding site which results in an increase affinity for other oxygen molecules to bind the protein molecule. The indirectly proportional relation for the binding affinity of hemoglobin protein molecules between oxygen and carbon dioxide is known as Bohr effect, for which, the oxygen binding curve of the protein molecule changes place to the right of the graph, as such, the decreased level of carbon dioxide bonding to hemoglobin increases oxygen bonding affinity to the protein molecule.
== 2,3 Biphosphoglycerate Function ==
[[Image:L-2,3-Bisphosphoglycerat.svg|300px|thumb|right|Structure of 2,3-Bisphosphoglycerate]]
2,3-BPG binds to hemoglobin in the center of the tetramer to stabilize the T state (E.g. in muscle tissues).
2,3-BPG is also extremely important in the role of stabilizing the T state of hemoglobin. The hemoglobin wants to change into a more favorable R state due to the fact that the T state is quite unstable. Pure hemoglobin (without 2,3-BPG) was tested and found to bind oxygen much more vigorously than hemoglobin in blood. A hemoglobin with 2,3-BPG has a lower affinity for oxygen binding in the tissue which allows it to be a better oxygen transporter than a pure hemoglobin, which does not have 2,3-BPG. When 2,3 BPG is present, it transports about 66% of oxygen while the pure hemoglobin only transports about 8%. The reason is that the 2,3-BPG binds inside of the hemoglobin and somehow stabilizes its T state (the state that has less affinity for oxygen). When enough oxygen has bonded to hemoglobin, a transition occurs from the T state to the R state, which releases the 2,3-BPG. 2.3-BPG stays in the hemoglobin until enough oxygen has come to replace it. This keeps the oxygen in its T state until it is ready to transition to the R state (where its affinity for oxygen increases dramatically). This broadens hemoglobin's oxygen saturation curve.
When the oxygen binds to Hemoglobin, the iron in the Heme group moves from the outside to the inside of the plane. In doing so, the Histidine side group also changes its alpha helix when the iron moves. Thus, this triggers the carbonyl terminal of the alpha helix to change position and that favors transition from T state to R state.
2,3-Bisphosphoglycerate (2,3-BPG) or 2,3-diphosphoglycerate (2,3-DPG) binds to deoxyhemoglobin with larger bonding affinity, such that it makes the T state of hemoglobin protein more stable or increases oxygen affinity of the protein; its biological function is to control bonding between hemoglobin and oxygen molecules for oxygen to be released to body tissues.
This allosteric effector binds to a site on the tetramer that is only present on the Tense(T) form of hemoglobin. The site is in the form of a pocket which is bordered by beta subunits. These positively charged subunits, His143, Lys82, and His2, interact with 2,3-BPG holding it in place. When the equilibrium of the tense form is pushed to the relaxed(R) form, the bonds that hold the 2,3-BPG molecule in place are broken and it is released. The hemoglobin stays in the T form during low concentrations of oxygen, so when 2,3-BPG is present, more of the oxygen binding sites must be filled in order for the transition from T to R form to occur.
== Cooperativity ==
[[Image:Cooperativity graph.JPG]]
The cooperativeness of hemoglobin makes it a much more efficient transporter of oxygen than myoglobin. Although myoglobin and hemoglobin both become highly saturated with oxygen at high concentrations (E.g. in the lungs), hemoglobin is characterized by much weaker binding to oxygen at low concentrations compared to myoglobin. The cooperativeness of tetramers work both ways in hemoglobin. As one oxygen molecule binds to one heme group, the oxygen affinity for the other groups increase. Once an oxygen molecule is released, this stimulates the release of the other oxygen molecules. This makes hemoglobin ideal in transporting and releasing oxygen from lungs to tissues where it is needed.
Cooperativeness occurs as a result of a change in the hemoglobin structure. In the deoxy form (where oxygen is absent), hemoglobin exists in the '''T (tense)-state'''. Upon oxygenation, the dimers in hemoglobin shift by 15 degrees and the '''R (relaxed)-state''' is adopted. The R-state form has a much higher affinity for oxygen.
For specifics sakes, the cooperativeness experienced in hemoglobin among its four separate monomers occurs as a result of a proximal histidine shift when one monomer binds to an oxygen atom. The heme group of hemoglobin is situated in such a way that it is composed of 4 pyrrole coordinating around an iron ion. In addition, there is a proximal histidine group that is also coordinated the iron group constituting the 5th coordination ligand. In the deoxy form, the iron ion is not completely in the plane of the pyrrole rings, in fact it is about 0.4 angstroms below the plane of the ring. This downward shift is due to the proximal histidine ligand on the bottom of the coordination complex. However, when one of the monomers binds to an oxygen molecule, the iron ion gains a sixth coordination ligand, the oxygen molecule itself, and it pulled up 0.4 angstroms to the plane of the pyrrole rings. This shift upwards also pulls the proximal histidine group up as well. It this movement of the histidine group that contributes to the cooperativeness property of hemoglobin. The proximal histidine is located at the interface of the alpha and beta subunits found in hemoglogin (hemoglobin having two identical alpha units and two identical beta units). When the histidine group moves upwards, it forces a conformational change in that interface, which conforms the next monomer to situate itself in a fashion that increases its affinity to another oxygen molecule. As that monomer binds an oxygen molecule, the whole process happens again. It this cascade of events, the iron shifting up upon binding and the histidine moving up as a result, that describes the cooperativeness that hemoglobin has between its four monomers and the transition it makes from the T state to the R state.
Chemical process by which as active site of enzyme is bonded by substrate, the enzyme can react with substrate with more effect; three forms of which are positive cooperativeness, negative cooperativeness, and non-cooperativeness; for positive cooperativeness, for example, when oxygen binds to hemoglobin, the affinity of the protein for oxygen increases; therefore, binding of oxygen to the protein is more easily done; for negative cooperative, for example, when enzyme binds to ligand, the bonding affinity decreases.
== Sigmoid Binding Model ==
From the oxygen binding curve of the hemoglobin, it is said that hemoglobin follows a sigmoid model because it looks like a "S" shaped curve. The curve also suggested that hemoglobin has a lower oxygen binding affinity. This is due to that fact that hemoglobin binds to 2,3 bisphosphoglycerate inside of the red blood cell.
The sigmoid binding model of the curve indicates that hemoglobin follows a special oxygen binding behavior, known as cooperativeness. The curve shows that binding at one site of the protein will increase the likelihood of other binding at other sites. And also the unloading of oxygen at one site will also facilitate the unloading of oxygen at other sites.
The biological of this sigmoid model of oxygen binding leads to efficient oxygen transport. The unloading of oxygen can be seen in the graph where in the lungs (100 torr) the protein is saturated with oxygen and all of the oxygen binding sites are occupied. However when this is moved to the tissues to release the oxygen, the saturation level drops and the total unloading oxygen level is 66%. This situation is favored because the hemoglobin goes through cooperativeness and it increases the tendency for oxygen binding and unbinding. Unlike myoglobin, which binds to tightly to oxygen for its release.
== Cooperativity Models ==
In the '''concerted model''', T and R states are the only two forms of hemoglobin that exist. T state is the state where hemoglobin has its quaternary structure in the deoxy form, which is also a tense form. The R state is the state where the hemoglobin has its quaternary structure in completely oxygenated form. This state is relaxed, less constrained, and leaves the oxygen binding sites free. An equilibrium exists between these two states that is shifted by the binding of oxygen, which shifts equilibrium towards R-state. This shift (to R-state) increases the affinity of oxygen of its binding sites. All tetramers of the hemoglobin must be in the same state.
[[Image:Hemoglobinconcertedmodel.jpg]]
In the '''sequential model''', there is no full conversion from the T-state to R-state. The binding of oxygen changes conformation of the subunits, which subsequently induces changes in other subunits to increase their affinity for oxygen. The subunit to which the a ligand binds changes its conformation without interrupting other subunits to have conformational changing.
In the curve of fractional saturation (fraction of possible binding site that include the binded oxygens) vs. the concentration of oxygen measured by its partial pressure in torr, the T-state binding curve is relatively shallow at low concentration of oxygen when all molecules are in the T state because if a molecule is assumed in the R state, the oxygen affinity increases, which means that new oxygen molecules have more chances to bind to the rest of the three unoccupied sites.
The R-state binding curve goes sharply at the beginning but level off when all of the binding sites are occupied by oxygens.
Hemoglobin behavior resembles a mix of these two models. A molecule with only one bound oxygen molecule exists primarily in T-state, but the other subunits have a much higher affinity for oxygen as suggested by the sequential model. Meanwhile, a molecule with three subunits bound exists primarily in the R-state as suggested by the concerted model.
[[Image:Transition.JPG]]
Le Chatelier's Principle can be seen to play a role in the circulation of CO<sub>2</sub> in the body. Within the erythrocyte, by decreasing the concentration of HCO<sub>3</sub><sup>-</sup>, it acts a force in which it requires more CO2 to be in the cell so that it can be converted to HCO3-.
H<sub>2</sub>O + CO<sub>2</sub> <---> H<sup>+</sup> + HCO<sub>3</sub><sup>-</sup>
This reaction, which is carried out by carbonic anhydrase, also decreases the pH within the erythrocyte. Consequently this encourages the hemoglobin to take on the T-state as the excess hydrogen in the cell allows for salt bridges to form. These salt bridges then induce the cell to form the T-state more often than the R-state.
== Allosteric Effectors of Hemoglobin ==
An allosteric effector of hemoglobin is a regulation by a molecule that is structurally unrelated to oxygen and binds to a site completely distinct from the oxygen binding site.
===2,3-Bisphosphoglycerate===
[[File:L-2,3-Bisphosphoglycerat.svg|thumb|right|2,3-Bisphosphoglycerate]]
2,3-BPG is a highly anionic compound found in hemoglobin, making it an efficient oxygen transporter. It lowers the oxygen affinity of hemoglobin by binding in the center of the tetramer, stabilizing hemoglobin's "T" state. 2,3-BPG, with such high negative charge, interacts with 3 positively charged groups on each beta chain in the two alpha-beta dimer. For the transition of "T" state to "R" state to occur, the 2,3-BPG must be broken. For this to occur, more oxygen-binding sites within the hemoglobin tetramer must be occupied. Therefore, the hemoglobin remains in the lower-affinity T state until a much higher oxygen concentration is reached. In pure hemoglobin with no 2,3-BPG, only 8% of the sites would contribute to oxygen transport. The presence of 2,3-BPG in hemoglobin increases the percentage to 66%.
[[Image:Fetal red blood cells.JPG|250px|thumb|right|Oxygen affinity of fetal red blood cells]]
Fetal hemoglobin has a higher affinity for oxygen than does regular hemoglobin. Regular hemoglobin is made of two alpha/beta dimers, while fetal hemoglobin is made of two alpha/gamma dimers. The gamma subunits have a lower affinity for binding 2,3-BPG. Thus, with less 2,3-BPG, fetal hemoglobin has a higher affinity for oxygen. This is advantageous for the fetus, as oxygen must be carried longer distances (from the mother) than in regular situations.
===The Bohr Effect (Hydrogen Ions and Carbon Dioxide)===
====Hydrogen====
A hemoglobin traveling from a region of high pH to a region of lower pH has a tendency to release more oxygen. This is because as pH decrease, the oxygen affinity of hemoglobin decreases. The "T" state of the hemoglobin is stabilized by 3 amino acids (alpha<sub>2</sub> Lys40, beta<sub>1</sub> His146, beta<sub>1</sub> Asp94) that form 2 salt bridges. The residue at the C terminus of the His146 forms salt bridge with the lysine residue in the alpha subunit of the other alpha-beta dimer. The salt bridge between the His146 and the Asp94 is formed only when pH drops, protonating the side chains of His146.
====Carbon Dioxide====
Carbon dioxide also stimulates oxygen release in the hemoglobin. Carbonic anhydrase takes carbon dioxide diffused from the tissue into the red blood cell and water to yield carbonic acid (H<sub>2</sub>CO<sub>3</sub>), which is a strong acid (pKa 3.5). Once this compound is formed, it dissociates into HCO<sup>3-</sup> and H<sup>+</sup>, which increases the acidity of the environment and lowers the pH level. This drop in pH level will again stabilize the T-state of the hemoglobin. In the hemoglobin, there are three key amino acid residues responsible for the bind of oxygen to the active site: lysine (Lys), histidine (His), and aspartate (Asp). The three amino acids are linked by two salt bridges. One of the salt bridge, between histidine and aspartate, does not form until there is an proton added to histidine. Under conditions of low pH, the histidine gets protonated to allow then the formation of the salt bridge and thus, a conformational change that stabilizes the T-state, lower its affinity for oxygen. In addition, carbon dioxide reacts with the amino-terminals of hemoglobin, resulting in the formation of negatively charged carbamate groups which further stabilize the T state by supporting the salt bridge interactions. This is convenient on a physiological sense. Since tissues tend to be low in oxygen and high in carbon dioxide concentration, the low pH environment will lower hemoglobin's affinity for oxygen and cause the red blood cell carriers to release the oxygen at the tissues.
== Carbon Dioxide Transport from Tissues to Lungs ==
== Hemoglobin's loss of oxygen ==
Hemoglobin is an efficient oxygen transporter around the body. How does it release oxygen to the tissue? Hemoglobin releases oxygen where it is a necessity. Examples include working muscles and tissues. When tissue is metabolizing, it releases carbon dioxide and hydrogen ions. Hemoglobin reacts these conditions. These are called the carbon dioxide effect and the pH effect.
Christian Bohr discovered that hemoglobin is found to have a lower oxygen saturation in lower pH. The release of protons signifies a change in pH. The reason is that protons protonate a histidine on the end of one of the beta chains found on the hemoglobin. Consequently, this makes the histidine charged and creates a salt bridge (ion-ion interaction) with aspartate (negatively charged) on the same polypeptide chain. That salt bridge stabilizes the T state of hemoglobin, which favors the release of oxygen.
Carbon dioxide released by cells are mixed with the blood serum to make carbonic acid. Carbonic acid is a relatively strong acid, so it dissociates into bicarbonate and a proton (which can be used above). The carbon dioxide itself, however, can also participate in oxygen release. When the carbon dioxide meets the terminal amino group of hemoglobin's peptides, it can react to form carbamates, which are negatively charged. This reaction also produces an additional acidic proton. These negatively charged groups can also participate in salt bridges that further stabilize the T state of the hemoglobin to further facilitate the release of oxygen. This effect was seen when someone noticed that oxygen saturation was lowest when in an acidic and carbon dioxide-rich environment.
== Mutations in Hemoglobin ==
[[Image:Hemoglobin t-r state ani.gif|400px|thumb|Animation of a hemoglobin in different states]]
The deficiency or mutations of hemoglobin can be a result of abnormality of structure of protein molecules, which is related to '''anemia''' and '''sickle cell disease''' - a condition that malformed red blood cells are resulted from structural abnormality of hemoglobin molecules restrict passage of blood vessels for the supply of blood flow to body tissues.
'''Sickle cell anaemia''' is a disease caused by one amino acid substitution. In this case, valine was substituted for glutamate in position 6 of the beta chain of hemoglobin. The mutated form is known as ''Hemoglobin S'' (HbS). The elimination of the negative charges of glutamate and the substitution of glutamate with hydrophobic valine causes hydrophobic interactions between different hemoglobins. From electron micrographs, studies have shown that hemoglobin in sickle red blood cells form large fibrous aggregates. The fibrous aggregates form across the red blood cells distorting the shape and increasing their potential to clog small capillaries. This detrimental effect leads to a high risk of stoke and bacterial infection from poor blood circulation. Not only does the sufferer attain insufficient amounts of oxygen, but the aggregated hemoglobins make it harder for blood to flow through small vessels which can cause blood clots. It is interesting to note that the areas with high population of people carrying sickle cell traits is correspond to the areas with high prevalence of malaria. Sickle cell traits means that a person have one normal gene and one mutated gene, disease does not take place in these people. The reason is that a person carrying sickle cell traits are resistant to malaria. The malaria causing parasite can not reproduce effectively in people with sickle cell traits. It should be noted however that the sickle cell gene is codominant. This means that in a person carrying one normal gene and one mutated gene, there will be both regular healthy blood cells and mutated blood cells. However, the function of the normal blood cells makes up for the abnormal cells and no symptoms are felt.
{{BookCat}}
dmvpm95qffopdvprumcoi3ky3001z93
Network Plus Certification/Management/Troubleshooting Methodology
0
192064
4640002
3844033
2026-06-12T08:39:03Z
~2026-34685-48
3605259
/* Create an action plan and solution identifying potential effects */ spelling error. could use "effects" or "servies affected"
4640002
wikitext
text/x-wiki
{{Network Plus Certification/Header|top_url=/Management|top=Network Management|cur=Objective 4.6: Troubleshooting Methodology|prev_url=Performance Optimization|prev=Objective 4.5: Performance Optimization|next_url=Connectivity Issues|next=Objective 4.7: Connectivity Issues}}
<div style="float:right;margin-left:10px;">__TOC__</div>
<big>'''Objective 4.6: Given a scenario, implement the following network troubleshooting methodology'''</big>
These steps should be followed in the order that they appear.
{{clear}}
==Information gathering - identify symptoms and problems==
Ask the user to describe the problem, check for error messages, and recreate the problem. Resist the urge to start fixing things at this point.
==Identify the affected areas of the network==
Determine how large the problem is. For example, fixes for one client workstation would likely be very different than fixes for an entire network segment.
==Determine if anything has changed==
Most often, problems are caused by new hardware or software or changes to the configuration. If necessary, ask questions to discover what might have changed that could have caused the problem.
==Establish the most probable cause==
Look for common errors or solutions that can be tried quickly.
==Determine if escalation is necessary==
When forwarding the problem on to someone else, be sure to describe the nature of the problem, the actions you have already taken, and the symptoms that lead you to believe the problem is outside of your area of responsibility.
==Create an action plan and solution identifying potential effects==
Your plan might include purchases for hardware or equipment that need approval before proceeding. In addition, your plan might involve taking some services offline for a period of time. Identifying the effects ahead of time helps you put measures into place to eliminate or reduce any potential negative consequences.
==Implement and test the solution==
When side effects have been weighed against the fix and all concerns have been addressed, fix the problem. If necessary, implement additional steps to correct the problem if your first solution did not work. After you think you have resolved the problem, test the result.
==Identify the results and effects of the solution==
Make sure that the solution has fully fixed the problem and has not caused any other problems.
==Document the solution and the entire process==
In the future, you can check your documentation to see what has changed or to help you remember the solution to common problems.
{{Network Plus Certification/Footer|top_url=/Management|top=Network Management|cur=Objective 4.6: Troubleshooting Methodology|prev_url=Performance Optimization|prev=Objective 4.5: Performance Optimization|next_url=Connectivity Issues|next=Objective 4.7: Connectivity Issues}}
pg8r6j4j0r6c8rdd7x0kk0ugsthzpya
Aros/Platforms/AROS USB support
0
202147
4639897
4638495
2026-06-11T13:20:31Z
Jeff1138
301139
4639897
wikitext
text/x-wiki
{{ArosNav}}
==Host Adapter Protocol USB1 OHCI UHCI USB2 EHCI USB3.0 USB3.1 xHCI ==
Please let us know any mistakes or any information to be added, use Prefs/Trident to confirm Vendor and Product IDs
Please chat at [https://www.arosworld.org/index.php AROS World]
*1996 USB1.0
*1998 USB1.1
*2000 USB2.0
*2008 USB3.0
*2013 USB3.1
*2017 USB3.2
[https://github.com/aros-development-team/AROS/tree/master/rom/usb AROS has these USB transfers]
*Control -
*Bulk - Midi 1.0 ( 'send my data when you can' )
*Interrupt - Midi 2.0
*Isochronous - USBAudio, Webcams, etc (wip)
Isochronous is the starting point of modern types of multimedia creativity. IsoChronous isoc code is already in place in poseidon.library and '''scheduled''' transfers are queued to be later rerouted in the host driver code (needs to be written for each host protocol e.g. OCHI, UCHI, EHCI and [https://cdrdv2-public.intel.com/625472/625472_xHCI_Rev1_2b.pdf#:~:text=Page%203.%20Document%20Number:%20625472%2C%20Revision:%201.2b.%203. XHCI rev1.2], [https://www.intel.com/content/www/us/en/content-details/868296/extensible-host-controller-interface-for-universal-serial-bus-xhci-requirements-specification-r2-0.html rev2], etc). There seems to be 2 types of isoc transfers, one is just the normal isoc transfer and the other is realtime implementation of isoc transfer.
For isoc transfer there needs to be a scheduler that makes sure no isoc transfers are dropped (in or out) and that they happen at the right time. It all gets difficult as the device making use of the isoc transfer may be at any point on the device tree. One needs to calculate the USB bandwidth for the packet based periodic transfers that are initiated by the host which have fixed but guaranteed bandwidth. Host controllers guarantee this bandwidth by planning a schedule of transfers ahead of time to ensure there is enough time reserved on the bus.
[https://www.intel.co.uk/content/www/uk/en/products/docs/io/universal-serial-bus/ehci-specification.html EHCI] [https://www.thegoodpenguin.co.uk/blog/understanding-why-usb-isochronous-bandwidth-errors-occur/ bus-bandwidth] vs payload-bandwidth and the algorithm of the EHCI scheduler.
The bandwidth of the endpoint in terms of payload data (stuff we put in a packet) and the protocol overhead, signalling imposed bit stuffing, host delays etc.
Poseidon controls the driver and device tree and it provides an API to communicate with the USB devices. Poseidon really doesn't care much about what sort of transfer pipe is opened or used, it only provides the means to do so and forwards the iorequests to the correct driver. Poseidon code is the higher level code for USB communication and drivers are of course the lower level one.
[[File:Psd.svg|220px|right]]
; Best Hardware - NEC Chipset (OHCI + EHCI), Intel Chipset (UHCI + EHCI),
; Early support - [https://github.com/aros-development-team/AROS/commit/03c5252d962941a56c816a9f2315134362089349 XHCI USB3.0, USB3.1 & gen 2 Type-A Type-B Type-C]
; Next Best Set - General OHCI, SIS (OHCI + EHCI),
; Buggy Chipset - [ Early AMD OHCI], ALi OHCI, VIA UHCI, Nvidia OHCI & EHCI,
=== USB1.1 ===
OHCI USB 1.1 - USB-IF sanctioned standard but hardware physical form removed with USB2.0 and replaced with virtual emulation of USB1
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Boot from USB
! width="10%" |Detect USB device
! width="10%" |USB device works
! width="30%" |Opinion
|-
| ALi Agere M5273 A1 M5237 Lucent USS-312
|
|
|
| <!--Boots-->{{Maybe}}
| <!--Detects-->{{Yes}}
| <!--Works-->{{Maybe|}}
| StarTech PCI425USB, CompUSA Iogear GIC220U-b, Nvidia 220 mobo, USBA2041P, ALi SU2A-PS,
|-
| AMD 756 Chipset (onboard motherboard)
| 0x1022
| 0x740c
| 0x06
| <!--Boots-->{{No}}
| <!--Detects-->{{No}}
| <!--Works-->{{Maybe|}}
| no [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=31308#forumpost31308 usb devices detected] Geode GX1,
|-
| CMD DU-A2 Silicon Image 0670 (pci AMD chipset)
| 0x1095
| 0x0670
| 0x06
| <!--Boots-->{{No}}
| <!--Detects-->{{No}}
| <!--Works-->{{Maybe|}}
|
|-
| Silicon Image 0673 (pci AMD chipset)
| 0x1095
| 0x0673
| 0x06
| <!--Boots-->{{No}}
| <!--Detects-->{{No}}
| <!--Works-->{{Maybe|}}
|
|-
| Nvidia Nforce2 USB
| 0x10de
|
|
| <!--Boots-->{{Maybe|Bios options vary but does with Plop Boot}}
| <!--Detects-->{{Yes}}
| <!--Works-->{{Maybe|}}
| Tested with 20th Aug 2012 improvement
|-
| NEC µPD720100AGM
| 0x1033
| 0x0035
| 0x
| <!--Boots-->{{Unk}}
| <!--Detects-->{{Unk}}
| <!--Works-->{{Maybe|}}
| untested - Amiga Spider card with possible bottleneck issues at higher speeds
|-
| NEC µPD720101AGM 720101GJ
| 0x1033
| 0x0035
| 0x43
| <!--Boots-->{{Yes}}
| <!--Detects-->{{Yes}}
| <!--Works-->{{Maybe|}}
| Mac mini, Belkin F5U219vea (2+1 ports), Belkin F5U220vea1 (4+1 ports), Adaptec 3100LP, BAFO BF-460, GWC UC-160, IOGear GIC250U, Keyspan U2PCI-5, O'toLink U2-C2B U2-C2A U2-P20N U2-P50, Ratoc PCIU5, USBWholesale UII-PCIP
|-
| NEC µPD720102
| 0x1033
| 0x00
| 0x
| <!--Boots-->{{Unk|untested }}
| <!--Detects-->{{Unk|untested }}
| <!--Works-->{{Maybe|}}
|
|-
| Opti 82C861 2-port
| 0x1045
| 0xc861
|
| <!--Boots-->{{No}}
| <!--Detects-->{{No}}
| <!--Works-->{{Maybe|}}
| no USB devices detected - Belkin F5U005,
|-
| SIS 7001 OCHI
| 0x1039
| 0x7001
| 0x0f
| <!--Boots-->{{No}}
| <!--Detects-->{{Yes}}
| <!--Works-->{{Maybe|}}
| 20th Aug 2012 - not booting stalls on GRUB word with Plop Boot
|-
|}
UHCI USB 1.1 - Intel standard but since 2009 no hardware support as USB2 introduced virtual emulation of USB1
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Boot from USB
! width="10%" |Detect USB device
! width="10%" |USB device works
! width="30%" |Opinion
|-
| Intel
| 0x8086
| 0x
| 0x01
| <!--Boots-->{{No|not in bios use AROS floppy disc boot}}
| <!--Detects-->{{Maybe|}}
| <!--Works-->{{Maybe|}}
|
|-
| Intel 82371AB EB MB PIIX4
| 0x8086
| 0x7112
| 0x01
| <!--Boots-->{{No|none in bios use other booting options}}
| <!--Detects-->{{Maybe|Detects most devices}}
| <!--Works-->{{Maybe|most devices but not RTL8187b WG111v3 blue led not on and does not work}}
|
|-
| Intel 82801DB/DBL/DBM (onboard i830 mbd)
| 0x8086
| 0x24c4
| 0x01
| <!--Boots-->{{Yes|but not from bios but floppy options}}
| <!--Detects-->{{Yes|}}
| <!--Works-->{{Yes|}}
| RTL8187b WG111v3 blue led on and although device has software failure and recoverable error IT STILL WORKS. Fresh start sometimes needs Network Prefs Saved to work.
|-
| VIA MVP4 (onboard mbd)
| 0x1106
| 0x30
| 0x40
| <!--Boots-->{{No}}
| <!--Detects-->{{Maybe|most devices}}
| <!--Works-->{{Maybe|most devices but not wireless options}}
| RTL8187b WG111v3 detected but blue led not on and does not work
|-
| VIA VT82xx (onboard mbd)
| 0x1106
| 0x3038
| 0x40
| <!--Boots-->{{No}}
| <!--Detects-->{{Maybe|most devices}}
| <!--Works-->{{Maybe|most devices but not wireless usb}}
| RTL8187b WG111v3 blue led on but does not work
|-
| VIA VT6202 (VIA VT83C572)
| 0x1106
| 0x3038
|
| <!--Boots-->{{No}}
| <!--Detects-->{{Maybe|}}
| <!--Works-->{{Maybe|}}
| A-Best USB-200, Cables N Mor USBPCI, CompUSA, D-Link DSB500, Digital/Research DRUSBCARD, Kouwell IOFlex 580, StarMount USB VIA,
|-
| VIA VT6112
|
|
|
| <!--Boots-->{{No}}
| <!--Detects-->{{Maybe|}}
| <!--Works-->{{Maybe|}}
|
|-
| VIA VT6212 (pci card)
| 0x1106
| 0x3038
| 0x61
| <!--Boots-->{{No}}
| <!--Detects-->{{Maybe|}}
| <!--Works-->{{Maybe|}}
| 2011 seems to have issues with other identical via based USB controller(s) present
|-
| VIA VT6214L
|
|
|
| <!--Boots-->{{No}}
| <!--Detects-->{{Maybe|}}
| <!--Works-->{{Maybe|}}
|
|-
|}
=== USB 2.0 EHCI ===
The USB-IF insisted on only one implementation of EHCI but it creates 4 virtual hcd to cover USB1.1 support. The virtual HCD on Intel and VIA EHCI controllers are UHCI. All other vendors use virtual OHCI controllers. Hardware EHCI USB2.0 ended in most chipsets in 2014/5 and is now virtual through most newer USB3.0 chipsets
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Boot from USB
! width="10%" |Detect USB device
! width="10%" |USB device works
! width="30%" |Opinion
|-
| ALi Agere M5273 A1 Lucent USS-344
|
|
|
| <!--Boots-->
| <!--Detects-->
| <!--Works-->{{Maybe|}}
| {{N/A|untested}} belkin F5U006,
|-
| Nvidia Nforce2 USB
|
|
|
| <!--Boots-->{{No}}
| <!--Detects-->{{Yes}}
| <!--Works-->{{Maybe|}}
|
|-
| Intel 82801DB/DBM (onboard mbd)
| 0x8086
| 0x24cd
| 0x01
| <!--Boots-->{{Yes}}
| <!--Detects-->{{Yes}}
| <!--Works-->{{Maybe|}}
|
|-
| NEC µPD720100AGM
| 0x1033
| 0x00E0
| 0x
| <!--Boots-->
| <!--Detects-->
| <!--Works-->{{Maybe|}}
| {{N/A|untested - Amiga Spider card}}
|-
| NEC 72101 GJ
| 0x1033
| 0x00e0
| 0x04
| <!--Boots-->{{Yes}}
| <!--Detects-->{{Yes}}
| <!--Works-->{{Maybe|}}
| Belkin F5U219 VEA1 (pci),
|-
| SIS ECHI
| 0x1039
| 0x7002
| 0x00
| <!--Boots-->{{No}}
| <!--Detects-->{{Maybe|issues about which port is used if it works at all}}
| <!--Works-->{{Maybe|}}
|
|-
| VIA VT6202
| 0x1106
| 0x3104
|
| <!--Boots-->{{No}}
| <!--Detects-->{{Yes}}
| <!--Works-->{{Maybe|}}
|
|-
| VIA VT6212 (pci card)
| 0x1106
| 0x3104
| 0x62
| <!--Boots-->{{No}}
| <!--Detects-->{{Yes|detects}}
| <!--Works-->{{Maybe|}}
|
|-
|}
=== USB 3.x SuperSpeed SS (Speed 5Gbit/s 3.1 gen 1) aka xHCI eXtensible ===
USB Attached SCSI (UAS or UASP) is a protocol used for high-speed data transfer between computers and external storage devices like SSDs, HDDs, and some flash drives. It provides up to 70% faster read/write speeds than traditional Bulk-Only Transport (BOT) by allowing multiple commands to run in parallel, rather than waiting in a queue
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Boot from USB
! width="10%" |Detect USB device
! width="10%" |USB device works
! width="30%" |Opinion
|-
| <!--Description-->AMD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->AMD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->AMD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->Fresco Logic FL1000 FL 1000
| <!--Vendor ID-->0x1B73
| <!--Product ID-->0x1000
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->link power management (LPM, USB 3.0 power saving) cannot be disabled so random connection issues
|-
| <!--Description-->Fresco Logic FL1009-200 FL 1009
| <!--Vendor ID-->
| <!--Product ID-->0x1009
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->Orico PFU3-2P
|-
| <!--Description-->Fresco Logic FL1100-100 FL 1100SX
| <!--Vendor ID-->
| <!--Product ID-->0x1100
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->LPM cannot be disabled so issues with disconnecting WD drives etc - CalDigit, ORICO PFU3-2P, FASTA-6GU3 Pro, inatech KTU3FR-2P 2 port USB 3.0, and Inateck KT4004 (KTU3FR-4PA rev B2) for storage and hubs, etc
|-
| <!--Description-->Fresco Logic FL1400 FL 1400
| <!--Vendor ID-->
| <!--Product ID-->0x1400
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->Fresco Logic
| <!--Vendor ID-->
| <!--Product ID-->0x
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->NEC Renesas xHCI µPD720200 uPD720200a chip
| <!--Vendor ID-->0x1d6b
| <!--Product ID-->0x0194
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{Maybe|no USB3 but seems to works like USB2}}
| <!--Opinion-->recognized but not supported for USB3 but works like USB2 - ORICO PRU3-4P 4 Port USB, early Dell Wyse zx0 thin client,
|-
| <!--Description-->NEC Renesas xHCI µPD720201 uPD720201 chip
| <!--Vendor ID-->
| <!--Product ID-->0x114 0x0115
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->recognized but not supported
|-
| <!--Description-->NEC Renesas xHCI µPD720202 uPD720202 chip
| <!--Vendor ID-->0x1912
| <!--Product ID-->0x0015
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->recognized but not supported
|-
| <!--Description-->[http://www.ti.com/product/tusb7340 TI] tusb7340 TUSB732
| <!--Vendor ID-->
| <!--Product ID-->0x8241
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->recognized but not supported Koutech IO-PEU436 but only one with open docs
|-
| <!--Description-->Intel xHCI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->recognized but not supported - integrated since Ivybridge
|-
| <!--Description-->Intel xHCI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->Marvell
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->Via Labs VL800 xHCI 0.96 support in VL800, VIA VL811
| <!--Vendor ID-->
| <!--Product ID-->0x3432 0x3438 0x3515 and 0x9201
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{Maybe|}} 2.0 backwards support
| <!--Opinion-->Anker 68UPPCIE-2S20PU 2 port, Plugable 4-Port, GA-z77x-ud5h rev. 1.1 mobo,
|-
| <!--Description-->Via Labs VL811+
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->Via Labs VL812
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->xHCI 1.0 support in VL805
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
|}
USB 3.1 (power up to 100W and data 10Gbit/s USB 3.2 gen 2 - USB-A Full size plug - USB-B micro USB size - USB-C reversible)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Boot from USB
! width="10%" |Detect USB device
! width="10%" |USB device works
! width="30%" |Opinion
|-
| <!--Description-->Asmedia ASM1142
| <!--Vendor ID-->0x1B21
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
| <!--Opinion-->Connector: USB Type C and USB Type A x 1 - Ugreen USB C PCI Card 2 Port USB 3.1 Type C
|-
| <!--Description-->Marvell
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->AMD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->Intel
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->Intel xHCI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->[ Intel] Revision 1.8 1.9 Updated
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->VLI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{N/A|}}
| <!--Opinion-->AUKEY 4 Ports USB C ,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{N/A|}}
| <!--Opinion-->Startech - PEXUSB312C - 2-port Usb 3.1 10Gbit/s
|-
|}
USB 3.2 (power up to 100W and data 20Gbit/s gen 2x2 - USB-A Full size plug - USB-B micro USB size - USB-C reversible)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Boot from USB
! width="10%" |Detect USB device
! width="10%" |USB device works
! width="30%" |Opinion
|-
| <!--Description-->Marvell
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->AMD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->Intel
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->Intel xHCI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->[ Intel] Revision 2.6 Update
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->VLI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{N/A|}}
| <!--Opinion-->
|-
|}
=== USB 4 (40Gbps thunderbolt, pcie 3.0 tunnelling, ) ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Boot from USB
! width="10%" |Detect USB device
! width="10%" |USB device works
! width="30%" |Opinion
|-
| <!--Description-->Marvell
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
|
|-
| <!--Description-->AMD Ryzen7 6800U
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
|
|-
| <!--Description-->Intel Goshen Ridge JHL8440 Controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
|
|-
| <!--Description-->VLI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{N/A|}}
|
|-
|}
== hid.class (Human Interface Device) ==
=== Keyboard ===
Some multi-finger touchpad support works but not on all touchpads
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->8BitDo Retro N C64 edition Keyboard, the super button accessory and optional N30 mouse
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 87 keys Kailh white}}
|-
| <!--Description-->8bitdo 108 Retro Mechanical Keyboard (white kailh) and two superbuttons (green)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Apple Pro Keyboard
| 0x05ac
| 0x0205
| 0x0122
| {{yes|works (its two hub ports) but mouse scroll wheel issues}}
|-
| Apple Pro Keyboard
| 0x05AC
| 0x020B
|
| {{yes|works (two onboard ports also)}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Aigo K68 60% red switches, A68 A87 wireless 2G
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[http://amigakit.leamancomputing.com/catalog/product_info.php?cPath=49&products_id=973 AmigaOne Keyboard]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes|works}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Akko TAC87
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 80% TKL }}
|-
| <!--Description-->Akko MonsGeek FUN60 PRO&MAX HE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 60% hall effect }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Akko
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 hall effect, good but expensive and software poor}}
|-
| <!--Description-->Akko
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->ATTACK SHARK X98
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 98% maybe silent linear feel with Two-color PBT keycap}}
|-
| <!--Description-->ATTACK SHARK X68HE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 hall effect }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Azio Cascade
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Chilkey ND75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 good 75% expensive}}
|-
| <!--Description-->Chilkey ND104 (Wuque Studios)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 premium clicky (WS Blue) or silent (WS White) key options with Ansi and ISO formats also numpad and calculator, aluminum machined, tri mode, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2026 untested magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Corsair K65 Mech MX no numeric keypad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Corsair CH-9000045 K70 Blue MX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Corsair K90
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Corsair K95
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Corsair K
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Cherry G80 G80-3000L[x]C[yy]-[z]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Cooler Master CM Storm Quickfire Rapid
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Corsair K100 Air
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2025 okay low profile but expensive
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Dell SK-8135 Dell USB Keyboard for Internet and Multimedia rev H for Dimension 4500, Dimension 8250, OptiPlex GX260n, OptiPlex GX60n, Precision 350 (R42232)
| <!--Vendor ID-->0x413C
| <!--Product ID-->0x2010
| <!--Revision-->0200
| <!--Opinion-->{{Yes| usb1.1 keyboard hub 0x413C 0x1003 works as well - multimedia keys not mapped }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Deepcool KG722
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 65% }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Ducky Channel Zero DK2108 Mech Mechanical Cherry MX Red
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Ducky Shine 3 Brown or Blue (DK9087) MX keys
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Das Keyboard Model S Ultimate
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Epomaker Cidoo V75 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2023 untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->epomaker rt100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 plastic build and no screws, numpad with small 0, mostly quiet seasalt switches, gimmick usb-c 1in screen}}
|-
| <!--Description-->EPOMAKER TH99
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }} USB-C full numpad keyboard
|-
| <!--Description-->eopmaker P75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| expensive but good}}
|-
| <!--Description-->eopmaker p87
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| expensive but good}}
|-
| <!--Description-->epomaker x Leobog Hi75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->epomaker x Feker Galaxy80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->epomaker x Galaxy100 gmk/via
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 good 96% }}
|-
| <!--Description-->epomaker Aula F75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 budget version good 75% choice of 4 leobog switches}}
|-
| <!--Description-->eopmaker Tide75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 good 75% and not too expensive}}
|-
| <!--Description-->Epomaker Ajazz AK820 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->Epomaker Ajazz AK35I V3 MAX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 104 keys - two models: wired and tri-mode connection - }}
|-
| <!--Description-->epomaker Aula F108 PRO
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 pricy but okay 100% but only leobog graywood switches but hotswap available afterwards}}
|-
| <!--Description-->eopmaker Ajazz AK980
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 97 keys }}
|-
| <!--Description-->Epomaker G87
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->Epomaker RT82 RT85
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->Epomaker RT100 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 96% }}
|-
| <!--Description-->epomaker x Galaxy100 lite
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 good 96% }}
|-
| <!--Description-->Epomaker
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Filco Ninja Majestouch-2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Focus FK-760 Wireless Keyboard & Trackball
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{yes|works}} but quality build issues raised
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->GMMK Tenkeyless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested default Gateron Brown switches for Kailh Box Jades default Gateron Brown switches for Kailh Box Jades}}
|-
| <!--Description-->GK61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2023 untested }}
|-
| <!--Description-->GMK67 GMK87
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested budget good option}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Hengchangtong HCT Limeme gk103s Entry Keyboard
| <!--Vendor ID-->0xC0F4
| <!--Product ID-->0x0009
| <!--Revision-->0100
| <!--Opinion-->{{yes|half Keyboard left side only}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Hexgears M2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2024 untested hotswap kaihl green switches}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Hexgears
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Iqunix mq80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2025 good 75% low profile keys
|-
| <!--Description-->Iqunix Magi65
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested good 65% low profile keys }}
|-
| <!--Description-->iqunix ez60 ez80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 untested specific hall effect switches - actuation point, rapid trigger, etc }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Jomaa YiChip Wireless 50% key with touchpad
| <!--Vendor ID-->0x3151
| <!--Product ID-->0x3000
| <!--Revision-->
| <!--Opinion-->{{No|dongle detected, keys and pad not working - 2 AAA NM}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Keychron q0
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2022 untested numpad only}}
|-
| <!--Description-->Keychron q1 v1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2022 untested okay}}
|-
| <!--Description-->Keychron Q6 Max
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2023 untested 75% with numeric numpad, barebones so choose switches and keycaps to suit }}
|-
| <!--Description-->Keychron q1 MAX V1 MAX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2023 untested }}
|-
| <!--Description-->Keychron Lemokey P1 QMK
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested best option to customise switches and keycaps}}
|-
| <!--Description-->Keychron LemoKey X1 X3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2024 untested keycap swap only not switches}}
|-
| <!--Description-->Keychron K2HE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested okay}} wireless hall effect analogue on all keys
|-
| <!--Description-->Keychron K4HE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 untested hall effect but software }}
|-
| <!--Description-->Keychron K5 K17
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 untested okay low profile but }}
|-
| <!--Description-->Keychron Q5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->Keychron K10 HE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->Kiiboom Breeze 75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 good 75% }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 }}
|-
| <!--Description-->Meletrix Boog 75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2024 magnetic hall effect, good but expensive and software poor}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 }}
|-
| <!--Description-->Melgeek O2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 low profile 75% but not repairable}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 }}
|-
| <!--Description-->MOSART 2.4G Wireless 60% Keyboard Trackball
| <!--Vendor ID-->0x062a
| <!--Product ID-->0x4105
| <!--Revision-->
| <!--Opinion-->{{Yes|dongle recognised HID, keys worked, roller worked, scroll wheel works and shoulders works but buttons around left, top and right hand side (RHS) do not work and plastic and 2 AA MN1500}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Mucai SiGma Micro MKA610
| <!--Vendor ID-->0x1c4f
| <!--Product ID-->0x0084
| <!--Revision-->
| <!--Opinion-->{{No| unknown red keys - rgb backlighting - }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->[http://hjldemo.clsc.cn/ Guangzhou Zhentian Electronics Ltd] Perixx Periboard 505 Plus with Trackball
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Yes|okay dome keyboard - poor trackball}}
|-
| <!--Description-->Guangzhou Zhentian Electronics Co., Ltd Perixx Periboard 706 Plus with Trackball Wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Yes|generally okay dome with good sized keys but piano black surround fingerprint magnet, occasional brief trackball freezes after no use, takes some time to get used to the trackball size}}
|-
| <!--Description-->Perixx Periboard-716 Wireless (Chicony)
| <!--Vendor ID-->04f2:1013
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Yes|okay dome keyboard and trackpad}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Description-->Perixx Periboard-
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Unk|okay keyboard}}
|-
| <!--Description-->Perixx Periboard-
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Unk|okay keyboard}}
|-
| <!--Description-->Lenovo SK-8825 41A5327 SIL12-W07
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->works manufactured for
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Lite-On USB NetVista Full Width Keyboard
| <!--Vendor ID-->0x04b3
| <!--Product ID-->0x3025
| <!--Revision-->
| <!--Opinion-->works
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Logitech K320 Wireless Keyboard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|The Logitech USB Unifying, Bolt, Lightspeed, or Nano receiver pairing}}
|-
| <!--Description-->Logitech K340 Wireless Keyboard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|The Logitech Unifying Receiver pairing}}
|-
| <!--Description-->Logitech K400
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Unk|okay keyboard}}
|-
| <!--Description--> [http://www.logitech.com/en-us/product/wireless-touch-keyboard-k400r Logitech Wireless Touch Keyboard k400]
| <!--Vendor ID--> 0x046D
| <!--Product ID--> 0xC52B
| <!--Revision--> 1201
| <!--Opinion--> {{yes|All (including multimedia) keys work. Some keys requires remapping with Trident. Touchpad works and acts as normal mouse. Presents itself in Trident as USB Receiver from Logitech with 3 HID bindings}}
|-
| <!--Description-->Logitech K400 Plus K400+
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Unk|okay keyboard}}
|-
| <!--Description-->Logitech K600
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Unk|okay keyboard}}
|-
| <!--Description-->Logitech TK820
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Unk|okay keyboard}}
|-
| <!--Description-->Logitech TK830
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Unk|okay keyboard}}
|-
| <!--Description-->Logitech G915 TKL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Unk|okay keyboard TKL means no number pad}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Lofree Lite84
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->Lofree Flow Lite100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 silent switches and low profile keys}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->MACHENIKE K500 Wired
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2024 94 keys untested Hot Swappable 94 Keys 90% Layout }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->MechLands Vibe99
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2024 100 keys untested Gasket-mounted Wired/Bluetooth/2.4GHz Wireless Mechanical Keyboard}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Microsoft Comfortable Curve 2000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no| recognized but not supported}}
|-
| <!--Description-->Microsoft Natural Ergonomic Keyboard 4000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|recognized but not supported}}
|-
| <!--Description-->Microsoft Wireless Media Desktop 1000 (1356)
| <!--Vendor ID-->0x045e
| <!--Product ID-->0x00f9
| <!--Revision-->
| <!--Opinion-->{{maybe|working but not mouse part}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Niz Micro84 Duo82 X87
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 electro capacitive }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->nuphy gem80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| expensive but good}}
|-
| <!--Description-->nuphy kick 75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 low profile 75% }}
|-
| <!--Description-->nuphy Air75 V3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 75% }}
|-
| <!--Description-->nuphy node 100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 96% layout, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Qpad MK-50 MK-80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Qpad MK-90
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Razer Chroma
| <!--Vendor ID-->0x1532
| <!--Product ID-->0203
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->[https://openrazer.github.io/ Razer] Lycosa
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Razer Blackwidow 2013
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Razr Blackwidow Ultimate
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Razer Cynosa Lite V2
| <!--Vendor ID-->1532
| <!--Product ID-->0x023f
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Razer DeathStalker
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Razer HuntsMan
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Razer Ornata
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Razer Orbweaver Chroma Keypad
| <!--Vendor ID-->0x1532
| <!--Product ID-->0207
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Razer Tartarus Keypad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested not hall effect and very expensive}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Redragon K668 RGB Gaming Keyboard Wired
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2023 untested 108 Keys Mechanical Keyboard w/Extra 4 Hotkeys Upgraded Hot-swappable Socket,Red Switch}}
|-
| <!--Description-->Redragon K689 PRO Wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2024 untested Gasket RGB Gaming Keyboard, 108 Keys Mechanical Keyboard w/Extra 4 Hotkeys, Upgraded Hot-swappable}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Risophy 60
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2024 75% mechanical, hotswap so okay for price untested }}
|-
| <!--Description-->Risophy
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Royal Kludge RK65
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested cream switches }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->SINO WEALTH Gaming KB SkyLion K68
| <!--Vendor ID-->0x258a
| <!--Product ID-->0x003a
| <!--Revision-->
| <!--Opinion-->{{No| blue stalks with rgb lighting}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->SKYLOONG GK104 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested gateron }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->SteelSeries
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->TeckNet x300 2.4G Keyboard Mouse MosART
| <!--Vendor ID-->0x062A
| <!--Product ID-->0x4101
| <!--Revision-->0312
| <!--Opinion-->{{Yes|1 AAA for each and works well - mouse slightly better built than keyboard rubberised membrane}}
|-
| <!--Description-->TeckNet X331 HDE 2.4G Keyboard wireless RCMCU
| <!--Vendor ID-->0x0C45
| <!--Product ID-->0x7000
| <!--Revision-->0001
| <!--Opinion-->{{Yes|wireless can be glitchy but few extra keys are mapped }}
|-
| <!--Description-->TeckNet X500 2.4G Keyboard Mouse MOSArt
| <!--Vendor ID-->0x062A
| <!--Product ID-->0x2901
| <!--Revision-->0112
| <!--Opinion-->{{Yes|works well especially large touchpad - usual rubber domed membraned keyboard mechanism }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Tecware Specter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested good 75%}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Unicomp Model M USB 104 key
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }} IBM's and later Lexmark buckling spring switches
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Varmilo Minilo Bluebell (prestige silent) and Eculapytus (violet tactile)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2023 75% plastic build no screws not great to mod}}
|-
| <!--Description-->Varmilo Sword 68
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| expensive but good}}
|-
| <!--Description-->Varmilo 98
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 expensive but good and Kailh silent}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Weikav Velocifire Choice65
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Weikav Velocifire Lucky65
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Wobkey Crush80 Reboot Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 very good but expensive Aluminum Hotswap Wireless RGB}}
|-
| <!--Description-->Wobkey Rainy 75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 good 75% but not as expensive CNC Aluminum HMX/JWK/Cocoa Switches}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Wooting HE60 HE80 HE90
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 hall effect but expensive with good software}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Womier WK61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2021 untested }}
|-
| <!--Description-->Womier Sk71
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->Womier Sk75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->Womier Sk75 TMR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 hall effect }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Xenta White Wireless HK6718B+HM3302-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Maybe|works with Raspberry Pi untested on AROS native}}
|-
| <!--Description-->Xinmeng X87 MAGIC_REFINER
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 untested keycap swap but not hotswapable switches}}
|-
| <!--Description-->Yunzii AL66
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| milk switches, cherry PBT, }}
|-
| <!--Description-->Yunzi B75 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 budget good with cocoa cream switches }}
|-
| <!--Description-->Yunzii AL75 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|good budget option with swappable switches, }}
|-
| <!--Description-->Yunzii AL80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 switches }}
|-
| <!--Description-->Yunzi C75 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 budget good with switches }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
|}
<pre>
linear - creamy
tactile - thocky
clicky - clacky
</pre>
<pre >
Cherry MX Black are linear switches (no feedback); good for gaming.
Cherry MX Red are linear (less noise no click) but more squishy;
Cherry MX Brown are in between Blue and Red in style and tactile;
Cherry MX Clear switches have soft tactile feedback (with no click).
Cherry MX Blue have tactile feedback with a click (noisy); good for typing.
Gateron Yellows KS-3, KS-3x47 or better Pros have a milky top and black bottom and linear
TTC Silent Frozen v2. Linear and dead silent
Mouse the huano brown with yellow dot for silent mouse clicks
Kailh red dust proof encoder for smooth and close to silent scrolling
Boba U4 Silent Tactile switches
Husky linears
HMX
</pre >
=== Mouse ===
if the USB mouse is non-functional put a USB pendrive in before or add the following to user-startup in '''s''' drawer/folder/directory
sys:prefs/trident NOGUI > NIL:
{| class="wikitable sortable" width="90%"
! width="10%" | Brand
! width="20%" | Description
! width="10%" | Model
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| 3Dconnexion
| 3D Mouse
| <!--Model-->[http://www.3dconnexion.com/products/spacenavigator.html SpaceNavigator]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| 3Dconnexion
| 3D Mouse
| <!--Model-->SpacePilot Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| 3Dconnexion
| Mouse
| <!--Model-->SpaceExplorer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| 3Dconnexion
| Wireless Mouse
| <!--Model-->SpaceMouse
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| <!--Brand-->3D Optical
| <!--Description-->Wired
| <!--Model-->
| <!--Vendor ID-->0000:3825
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| Belkin
| Combo mouse
|
| 0x05FE
| 0x0011
| Low 0100
| {{yes|works}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->Cytec
| <!--Description-->Wired Mouse Gaming
| <!--Model-->R.A.T 5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| Dell
| Mouse
| MO56UC
| 0x413C
| 0x3200
|
| {{yes|works}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->equatech / clone logitech
| <!--Description-->wireless mouse
| <!--Model-->49779 / M185
| <!--Vendor ID--> 3151:2020 later 3151:3020
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{Yes|detected and works}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| Hama
| RF Optical Mouse
| AM-6000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| <!--Brand-->Keychron
| <!--Description-->Optical
| <!--Model-->M3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->Keychron
| <!--Description-->Optical
| <!--Model-->M5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->Keycron
| <!--Description-->Optical Wireless
| <!--Model-->M6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested 1k polling and 16k dpi }}
|-
| <!--Brand-->Keychron
| <!--Description-->Optical Wireless
| <!--Model-->M7
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested barebones 1k polling and 16k dpi, great for small hands, loud clicks}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->LogiCAD 3D
| <!--Description-->3D Mouse
| <!--Model-->Magellan
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| Logitech
| Cordless Desktop Navigator
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{No|The Logitech Unifying Receiver pairing}}
|-
| Logitech Inc.
| First/Pilot Wheel Mouse
| N48/M-BB48 M-BE58
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested }}
|-
| Logitech
| Wireless mouse
| [http://www.logitech.com/en-roeu/mice_pointers/mice/devices/5484 M305]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{yes|works}}
|-
| Logitech
| Wireless RF Mouse
| MK710
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{No|The Logitech Unifying Receiver pairing}}
|-
| <!--Brand-->Logitech
| <!--Description-->Wireless Mouse
| <!--Model-->MX Master Anywhere 2S
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{No|untested}} micro USB charge port on front
|-
| <!--Brand-->Logitech
| <!--Description-->Wireless
| <!--Model-->M220 silent
| <!--Vendor ID-->0x
| <!--Product ID-->0x
| <!--Revision-->
| <!--Opinion-->{{N/A|}}
|-
| <!--Brand-->Logitech Logi
| <!--Description-->Optical
| <!--Model-->MX Master 3S
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{No|2021 untested usb-c bluetooth, inbuilt battery but muted clicks}}
|-
| <!--Brand-->Logitach
| <!--Description-->Optical
| <!--Model-->G502 X Plus
| <!--Vendor ID-->0x
| <!--Product ID-->0x
| <!--Revision-->
| <!--Opinion-->{{N/A|2022 very clicky}}
|-
| <!--Brand-->Logitech
| <!--Description-->Optical
| <!--Model-->MX Master 4 MXM
| <!--Vendor ID-->0x
| <!--Product ID-->0x
| <!--Revision-->
| <!--Opinion-->{{No|Bluetooth usb-c dongle, inbuilt lithium battery}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Brand
| Description
| Model
| Vendor ID
| Product ID
| Revision
| Opinion-->
|-
| <!--Brand-->Maxxter
| <!--Description-->Wireless
| <!--Model-->
| <!--Vendor ID-->248a:8566
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->Maxxter
| <!--Description-->Wireless
| <!--Model-->
| <!--Vendor ID-->248a:8518
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->OrzerHome Maxxter
| <!--Description-->Wireless
| <!--Model-->
| <!--Vendor ID-->248a:8514
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested 1 aa with no on/off switch }}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| Microsoft
| Wheel Mouse optical
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| Microsoft
| Sidewinder Mouse
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| Microsoft
| IntelliMouse Explorer USB optical
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| Microsoft
| Wireless Optical Mouse 2000
|
| 0x045E
| 0x00F9
|
| {{no|not working see keyboard Media Desktop 2000 above}}
|-
| <!--Brand-->Microsoft
| <!--Description-->
| <!--Model-->1461 1447
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{No|usb dongle matched to one mouse only no others}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->Razer
| <!--Description-->USB optical
| <!--Model-->Orochi
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->Razer
| <!--Description-->USB optical
| <!--Model-->Mamba
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->Razer
| <!--Description-->USB optical
| <!--Model-->Naga
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}} 17 buttons
|-
| <!--Brand-->Razer
| <!--Description-->USB Optical
| <!--Model-->Naga Hex V2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}} MOBA Gaming Mouse, Professional Grade 16,000 DPI Sensor - RGB lighting
|-
| <!--Brand-->Razer
| <!--Description-->USB optical
| <!--Model-->DeathAdder
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->Razer
| <!--Description-->USB optical
| <!--Model-->Viper
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->Razer
| <!--Description-->USB optical
| <!--Model-->Basilisk V3 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested 1k polling, 35k dpi, }}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| Trust
| Slimline Lasermouse
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| SteelSeries
| Tobii EyeX EyeMobile PCEye
| Eye Tracking Control
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}} gaze interaction track technology for augment augmentative and alternative communication (AAC).
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->The Eye Tribe Tracker
| <!--Description-->Eye
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->
| <!--Description-->USB Optical Mouse
| <!--Model-->MV3000
| <!--Vendor ID-->0x192f
| <!--Product ID-->0x0916
| <!--Revision-->
| <!--Opinion-->{{yes|works}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|}
=== Trackball ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->3Dconnexion SpaceBall 5000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}} Labtec designed and rolled into new company 3dconnexion 2001 by owners Logitech
|-
| <!--Description-->ACCO Kensington Orbit optical F1233A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Kensington Turbo Mouse 64210
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Clearly Superior Technologies. Model:CST 1000-RC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Logitech Trackman Marble Mouse Wired USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Logitech Cordless Trackman Wheel
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Logitech Optical Trackman T-RB22 - Cordless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Logitech M570 wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Microsoft Trackball Mouse Optical 1.0 USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Microsoft X05-87473 Trackball USB Optical
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
|}
=== KVM ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->NanoKVM
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
|}
=== Gamepad ===
Controllers have mostly decided that the left analog joystick is keyboard equivalent of WASD and right joystick is your mouse. You also have 2 bumpers above the triggers. Shoot could be right trigger (so it doesn't involve taking your thumb off the right joystick). Face buttons for reloading or jump or other non-critical functions. Crank up the sensitivity and practice.
Testing can be done with the TRIDENT Prefs, [https://devicetests.com/controller-tester html5], [https://greggman.github.io/html5-gamepad-test/ html5], or [https://gamepad-tester.com/ Tester]
==== Dinput Poseidon Default Plugin - Playstation(TM) style ====
{| class="wikitable sortable" width="90%"
! width="35%" |Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Merge with USB on Digital Pad
! width="10%" |Analogue Hack with Analog Stick
! width="30%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Betop Betong Bat D2E BTP-BD2E XD4D2E
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Gravis Eliminator Gamepad Pro USB
| <!--Vendor ID-->047d
| <!--Product ID-->4005
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->{{N/A}}
| <!--Opinion-->2002 2d only
|-
| Hama Black Force USB Gamepad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{Maybe| }}
| <!--Analogue Hack with Analog Stick-->{{Maybe| }}
| <!--Opinion-->2003 psx clone look
|-
| <!--Description-->Jess Tech Game Elements Philips GGE909 PC Recoil Pad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| [http://www.youtube.com/watch?v=TCbAmIhj6P4 Logitech Wingman Precision USB] G-UC3B
| <!--Vendor ID-->0x046d
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{N/A| }}
| 2002 no 3D but good for 2D retro games like Turrican II
|-
| <!--Description-->Logitech Wingman Action Pad G-UB3A
| <!--Vendor ID-->0x046d
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Maybe|untested }}
| <!--Opinion-->2002 1 blue lucid translucent - thin analog stick N64 type -
|-
| Logitech Wingman RumblePad UB05B
| <!--Vendor ID-->0x046d
| 0xc20a
| 1.12
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Maybe|untesed }}
| 2000 twin blue analogue sticks N64 type - poor 2d controls with single molded blue piece - vibration feedback - single shoulder buttons with throttle control below right one
|-
| Logitech Wingman Cordless RumblePad G-RA4A
| <!--Vendor ID-->0x046d
| 0xc211
| 1.12
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Maybe|untested }}
| 2001 twin blue analogue sticks N64 type - poor 2d controls with single molded black piece - vibration feedback - dual shoulder buttons L1 L2 R1 R2 with blue throttle control below right one - 4 aa mn1500 batteries; life not great - C-UD10A usb dongle - overall big and bulky
|-
| <!--Description-->Logitech Precision Wired G-UG15
| <!--Vendor ID-->0x046d
| <!--Product ID-->0x
| <!--Revision-->0x
| <!--Merge with USB on Digital Pad-->{{Maybe| }}
| <!--Analogue Hack with Analog Stick-->{{N/A|N/A}}
| <!--Opinion-->2002 psx styling blue outer shell - no 3D analog and no shoulder buttons - no rumble
|-
| <!--Description-->Logitech Cordless Precision G-X2E14A
| <!--Vendor ID-->0x046d
| <!--Product ID-->0x
| <!--Revision-->0x
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{N/A|N/A}}
| <!--Opinion-->2002 ps2 styling blue outer shell - no 3D analog and no shoulder buttons - no rumble
|-
| <!--Description-->Logitech G-X5C11A Cordless Precision Wireless Controllers
| <!--Vendor ID-->0x046d
| <!--Product ID-->0x
| <!--Revision-->0x
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{N/A|N/A}}
| <!--Opinion-->2002 psx styling black outer shell - no 3D analog and no shoulder buttons - no rumble
|-
| [http://www.testfreaks.co.uk/game-console-accessories-controls/logitech-dual-actiontm-gamepad/ Logitech Dual Action]
* G-UD8 has no mode (2D only?) button and no rumble
* G-UF13A later
| <!--Vendor ID-->0x046d
| 0xc2
|
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Yes|[http://www.morphzone.org/modules/newbb_plus/viewtopic.php?topic_id=7018&forum=12 G-UF13A tested only]}}
| 2003 New body shape psx style - dual analog 3D sticks - 4 small travel shoulder triggers no 5,6,7,8
|-
| Logitech RumblePad 2 G-UF13
| <!--Vendor ID-->0x046d
| 0xc218
| 1.00
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Yes| }}
| 2006 light blue top/black base - twin analogues 3D along with dual short travel shoulder buttons - rumble present -
|-
| <!--Description-->[Logitech RumblePad 2 Cordless]
* G-RC?? OLD version that take FOUR batteries and RED Logitech logo
* G-RC14 uses TWO batteries has an ORANGE logo - dongle C-UE10
| <!--Vendor ID-->0x046d
| <!--Product ID-->0xc219
| <!--Revision-->0x0200
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Yes|mostly}}
| <!--Opinion-->2008 may have to remove 1 battery - G-RC?? 5 + 7 buttons - G-RC14 use buttons 6 + 8 to reset sticks - replace battery and push large button on receiver -
|-
| <!--Description-->Logitech F310 Wired Dual Action G-U0001
| <!--Vendor ID-->0x046d
| <!--Product ID-->0xc21
| <!--Revision-->0x
| <!--Merge with USB on Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Yes|D mode switch}}
| <!--Opinion-->2010 dual analog 3D with pc-xbox/psx switch on back (only D works) - both rear shoulder RT LT buttons have excess travel - no rumble vibration -
|-
| <!--Description-->Logitech F510 Wired G-UG0002
| <!--Vendor ID-->0x046d
| <!--Product ID-->0xc21
| <!--Revision-->0x
| <!--Merge with USB on Digital Pad-->{{Maybe| }}
| <!--Analogue Hack with Analog Stick-->{{Maybe| }}
| <!--Opinion-->2010 dual analog with dual xbox pc/psx X/D switched compatibility modes -
|-
| Logitech F710 Wireless / Cordless RumblePad 2 G-R0001
| <!--Vendor ID-->0x046d
| 0xc219
| 3.05
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Maybe| }}
| When switch on top set to D and nano receiver for each controller to pair - 2 aa mn1500 batteries required - rumble support sometimes - rear back shoulder buttons excessive travel needed
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| <!--Description-->Megaworld 'TIME' USB pad
| <!--Vendor ID-->0x0735
| <!--Product ID-->0x9902
| <!--Revision-->Low 0100
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{No |}}
| <!--Opinion-->2000 Poor quality
|-
| <!--Description-->Microsoft
* SideWinder Precision Pro USB (1997)
* SideWinder Precision 2 (1998)
* Game Pad Pro (1999)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Microsoft Sidewinder Game Pad USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{yes| }}}
| <!--Analogue Hack with Analog Stick-->{{yes| }}
| <!--Opinion-->[https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1149&rowstart=140&pid=5934#post_5931 must setup first]
|-
| <!--Description-->Microsoft Sidewinder Gamepad X04 Freestyle
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->{{Maybe| }}
| <!--Analogue Hack with Analog Stick-->{{N/A|N/A }}
| <!--Opinion-->{{N/A|untested}} 1998 might need USB adapter
|-
| <!--Description-->Microsoft Sidewinder X05 63895 92626 Flight stick
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{unk| }}
| <!--Opinion-->{{Yes|2000 [https://ae.amigalife.org/index.php?topic=929.msg11309#new tested]}}
|-
| <!--Description-->Microsoft Sidewinder Flight Stick X08-58736
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Microsoft
Plug & Play Game Pad (2000)
SideWinder Joystick (2000)
Game Pad 2.0 (2001)
SideWinder Force Feedback 2 (2002)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2002 long-standing static buildup problem and Force Feedback 2 was the removal of the power brick
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| Saitek [http://www.testfreaks.co.uk/game-console-accessories-controls/saitek-ps1000/ PS1000 Cyborg V.1], [http://www.testfreaks.co.uk/game-console-accessories-controls/saitek-ps2700-rumble-pad/ PS2700]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2000 no rumble function
|-
| Saitek [http://www.youtube.com/watch?v=xG0v-hf6ZPA P2600] [http://compactiongames.about.com/od/hardware/tp/gamepads.htm P3600],
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2000 no rumble function
|-
| Saitek P2900 wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| {{N/A|untested but runs on 1 AA battery}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| <!--Description-->Sony Batoh PS3 mini USB Wired hookup [http://ps3.jim.sh/sixaxis/usb/ SIXAXIS]
*PCB Ribbon Notes
*Protos ALPS MSU Rev3 M3 and the later CBEH-1019
*? SA1Q135A for sixaxis
*PP4
*V2
*V25
*VX SA1Q146A first dualshock 3 model
*VX SA1Q147A CECHZC2U (USA)
*VX35 SA1Q159A
*VX3 SA1Q160A
*VX? SA1Q188A
*VX4 SA1Q189A shipped with a CECH-2504 datecode 0C
*VX5 SA1Q194A changed design ALPS, PS button changes
*VX6 SA1Q195A red case,
*VX7 SA1Q222A superslims 2 ribbons
*VX8 SA1Q224A superslims 2 ribbons
| <!--Vendor ID-->0x054c
| <!--Product ID-->0x0268
| <!--Revision-->1.00
| <!--Merge with USB on Digital Pad-->{{No|}}
| <!--Analogue Hack with Analog Stick-->{{No|}}
| <!--Opinion-->Sometimes detected but no support - no sixaxis features detected - mini usb lead will have varying results -
|-
| <!--Description-->Sony PS4
*JDM JDS 001 010 011
*JDM 030 040 055
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Sony PS5 Dual Sense
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Speed Link Strike 2 FX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Thrustmaster Firestorm Dual Power 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Yes|[http://www.morphzone.org/modules/newbb_plus/viewtopic.php?topic_id=7018&forum=12 only 1 axis joystick only]}}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Trust Predator GM-1500 GM-1520
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Haute42 M series Aluminum Metal Joystick Hitbox Controller Arcade Fighting Stick
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Haute42 T series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Haute42 G series Gamefinger G12 G13 G16
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> plastic -
|-
| <!--Description-->Haute42 S series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> thinner and lighter than G series
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Mad Catz sf2 fightstick
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Mayflash Datel Paewang Arcade Pro Stick
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Mayflash F300 Fighting Stick
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Mayflash F500 Fighting Stick
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Pico Flatbox GP2040-CE Hot Swappable Mini Hitbox Keyboard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> default it is configured for PS4 but before plugging usbc cable in, X for Dinput, B Xinput, RT HID - plastic build case - Rev4 based on RP2040 chip and firmware is based on GP2040-CE (Community Edition) -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Shenzhen Onebitdo Tech 8bitdo Fighting stick
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Venom 8 button
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
|}
==== Xinput Xbox Style Plugin ====
2018 extension added originally called AROSx but later redacted. Latest [https://github.com/medusalix/xone linux driver] might be useful.
{| class="wikitable sortable" width="90%"
! width="35%" |Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Merge with USB on Digital Pad
! width="10%" |Analogue Hack with Analog Stick
! width="30%" |Opinion
|-
| <!--Description-->8bitdo Ultimate C Wired 82CB (Shenzhen ONEBITDO TECH - GWOWO)
| <!--Vendor ID-->0x2dc8
| <!--Product ID-->0x3106
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2022 - 4 t6 torx screws - non hall effect so drifting issues - triggers go faulty often -
|-
| <!--Description-->8bitdo Ultimate 2C Wired Controller 82CD
| <!--Vendor ID-->0x2dc8
| <!--Product ID-->0x310A
| <!--Revision-->0114
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2024 - HID keyboard assigned - 4 t6 torx screws - hall effect analogs and triggers - 1000Hz polling -
|-
| <!--Description-->8bitdo Ultimate 2C wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2024 - 400mw battery - hall effect 3d nubs and triggers - micro switch shoulder buttons - d-pad poor for retro games -
|-
| <!--Description-->8bitdo ULtimate Mini Wired Controller for Xbox
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 hall effect
|-
| <!--Description-->8BitDo Pro 2
*Wired Controller
*Wireless
*Bluetooth
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 hall effect - playstation style layout for pc - slide button for S-A-D-X switch, android, dinput or xinput -
|-
| <!--Description-->8BitDo Pro 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2025 tmr hall effect analogs, hall effect triggers and some microswitches - button swap - ps2 style layout -
|-
| <!--Description-->8bitdo Ultimate 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2026 - mw battery - hall effect 3d nubs and triggers - micro switch shoulder buttons - d-pad for retro games -
|-
| <!--Description-->8BitDo Pro 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2026 hall effect analogs, hall effect triggers and some microswitches - button swap - ps2 style layout -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Ace Aurora
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2025 hall effect joysticks with no deadzone mode, gyro, linear rumble, trigger stops, back paddles, button swap, macro, turbo, RGB LED effects - tri-mode connection -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Betop Beitong Spartan BTP-2270U
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion--> no hall effect
|-
| <!--Description-->Betop Betong Asura 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion--> no hall effect - noble linear trigger potentiometer and alps shoulder LB/RB micro switch
|-
| <!--Description-->BEITONG ASURA 2 Pro+ Game Controller Wireless Gamepad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Beitong Zeus 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->BebonCool Dinofire Model Number: Q218 / TP28
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2021 - triggers aren't progressive but ON/OFF -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->EasySMX X05
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 hall effect analog and triggers - tri mode connection -
|-
| <!--Description-->EasySMX Wireless Controller PC PS3, 9013pro ESM-9013PRO
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 linear hall effect but device sometimes will not connect tried multiple attempts with the dongle
|-
| <!--Description-->EasySMX X10
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->EasySMX X20
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 ABXY MICRO SWITCH - Bumpers Tactile switch Hall Effect analog
|-
| <!--Description-->EasySMX X15
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2025 hall effect analog and triggers - membrane buttons -
|-
| <!--Description-->EasySMX S10 Wireless Gamepad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2025 TMR Hall effect and compatible with Switch 2/PC/Phone/TV/Steam, NFC, Gyro, HD Rumble -
|-
| <!--Description-->EasySMX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->202
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Fantech World EOS Pro WGP15
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 hall effect trigger and sticks,2 back paddles, motion controlling
|-
| <!--Description-->Fantech EOS PRO II S
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2025 controller with TMR hall effect analogues, mechanical face buttons and D-pad, 63 input macro, back paddles, turbo - analog triggers with trigger stops - tri mode bt wifi and wired - slide switch on back for switch, macos/android and xinput -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Flydigi Apex
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2023 luxury model
|-
| <!--Description-->Flydigi Vader Pro 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2023 the Pro(Hall Effects) and Non-Pro (No Hall)
|-
| <!--Description-->Flydigi Direwolf 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2023 hall effect sticks and triggers - poor wifi connection -
|-
| <!--Description-->Flydigi Apex 4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2024 luxury model
|-
| <!--Description-->Flydigi Vader 4 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2024 - hall effect, DInput mode (o+A hold) -
|-
| <!--Description-->Flydigi Direwolf 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2024 hall effect analog and triggers but membrane buttons with gold contacts - 800mhA battery -
|-
| <!--Description-->Flydigi Dunefox
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2024 basic model hall effect analog and triggers but membrane buttons - 500mha battery - no gyros -
|-
| <!--Description-->Flydigi Vader 5 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2025 - hall effect stick with tension control, linear triggers, DInput mode (o+A hold) -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Gamesir T4K Keleid, T4C Cyclone wired
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2023 poor to ok switch
|-
| <!--Description-->Gamesir Nova
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{no|| }}
| <!--Analogue Hack with Analog Stick-->{{no| }}
| <!--Opinion-->2024 - switch type layout
|-
| <!--Description-->Guangzhou Chicken Run Network Tech Nova Lite GameSir-T4n LITE - Zikway HID gamepad
*[https://www.reddit.com/r/Gamesir/comments/1c185ve/psa_keep_gamesir_nova_lite_t4n_lite_firmware_at/ fw 4200 seems to be xbox so B then Home for Xinput (green LED), A then Home for HID BT Android (green/yellow LED), Y then Home for Switch Pro (Red LED)] or X then Home for Wifi and start and select to alternatively swap modes
* and if on [https://www.reddit.com/r/Gamesir/comments/1c185ve/psa_keep_gamesir_nova_lite_t4n_lite_firmware_at/ fw 5700 ds4 so Home + B (blue LED), ]
* firmware 6900
| <!--Vendor ID-->0x3537
| <!--Product ID-->0x1040 0x1041
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{no| }}
| <!--Analogue Hack with Analog Stick-->{{no| }}
| <!--Opinion-->2024 - hall effect 3d nubs - no usb-c cable - rubber membrane analog trigger travel and bumpers shoulder buttons - wifi 2.4G and bluetooth - xbox layout so ab and xy might need to be swapped via m and a buttons for switch type [https://www.youtube.com/watch?v=po-nNuC5fps fixes video] - 250Hz polling - 600mah battery - rigid carry case - poor d-pad esp diagonals - gamesir settings software only on android 6+ or ios based only -
|-
| <!--Description-->Gamesir Nova 2 Lite
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->GameSir G7 SE Wired Controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 hall effect
|-
| <!--Description-->GameSir G8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Gamesir TEGENARIA T3 Lite Wired
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 playstation aesthetic hall effect analog and membrane buttons - X+Home button connects as an Xbox controller
|-
| <!--Description-->GameSir Cyclone 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 TMR Joysticks with anti-friction rings and metal anti-friction rings around the stems, gyro, rumble, macro, turbo, 2 back paddles, hall analog triggers with micro-switch trigger - tri mode bluetooth, 2.4GHz wifi and wired, 1000hz polling rate - gamesir connect software -
|-
| <!--Description-->GameSir G7 Pro for Xbox
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 TMR hall effect - hall effect triggers, tri mode connection - gamesir nexus software -
|-
| <!--Description-->GameSir Super Nova Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2026 hall effect sticks and triggers, 1000Hz polling, tri mode connectivity,
|-
| <!--Description-->GameSir
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->GameSir
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->GameSir
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->GuliKit
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->GuliKit KingKong 2 NS08
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->Electromagnetic Stick hall effect - hall linear triggers - Mechanical face buttons - wired and wireless - Built-in rechargeable lithium battery
|-
| <!--Description-->GuliKit KingKong 2 PRO NS09
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->hall efect - wired and wireless - Mechanical face buttons - Built-in rechargeable lithium battery
|-
| <!--Description-->GuliKit KingKong MAX 3 KK3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->hall effect - wired and wireless - lithium battery -
|-
| <!--Description-->Gulikit KK3 Max USB-c Bluetooth Controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 Hall Joysticks and Triggers, Maglev/Rotor/HD Vibration, 1000Hz Polling Rate, 4 Back Buttons,
|-
| <!--Description-->GuliKit KK3 PRO
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2024 smaller version of KK3 MAX - hall effect analog and triggers, face buttons , maglev rumble, gyro, 4 back paddles - rigid case - 950mAh up to 8 hrs -
|-
| <!--Description-->GuliKit
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Hyperkin
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Hori EX2 Turbo UHX3-45
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Machenike G1 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 Wireless Gaming Controller with 1K Polling Rate Hall Effect Trigger Joystick For Nintendo Switch PC iOS Android
|-
| <!--Description-->Machenike G5 Pro Wireless Gaming Controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 ABXY Switch Membrane, Bumpers Tactile switch and hall effect analog
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->microsoft sidewinder precision pro
| <!--Vendor ID-->0x045E
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| [https://pineight.com/mw/index.php?title=USB_game_controllers Xbox 360 Wired Controller]
| 0x045e
| 0x028e
| 0x
| <!--Merge with USB Digital Pad-->{{No|needs specific driver and has poor 2D control pad}}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->
|-
| Microsoft (R) [https://blog.tkjelectronics.dk/2012/12/xbox-360-receiver-added-to-the-usb-host-library/ Xbox 360] (TM) Wireless Receiver for Windows(R) Model 1086 and Controller
| 0x045e
| 0x0719, 0x or 0x0291
| 0x0100
| <!--Merge with USB Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->{{No|separate standalone usb dongle detected and shows as 8 vendor interfaces but no class associated and so not working - may need new class from code from xpad or xboxdrv to work the controllor}}
|-
| <!--Description-->Xbox 360 Kinect [http://hackaday.com/2010/11/10/kinect-open-source-driver-demo-and-hacking/ Video]
[http://git.marcansoft.com/?p=libfreenect.git;a=commit;h=7655fcf7239ba4907654089dba535a196685dbe5 GIT]
| <!--Vendor ID-->0x045E
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2007 proprietary 2.4GHz RF protocol,
|-
| <!--Description-->Xbox One Wired Controller
| <!--Vendor ID-->0x045E
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{no| }}
| <!--Analogue Hack with Analog Stick-->{{no| }}
| <!--Opinion-->
|-
| <!--Description-->Xbox One wireless controller newer model with the 3.5mm headphone jack 1537 1697 and microsoft adapter
| <!--Vendor ID-->0x045E
| <!--Product ID-->0x02d1 or 0x02dd
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{no| }}
| <!--Opinion-->2014
|-
| <!--Description-->Microsoft Elite Series 1
| <!--Vendor ID-->0x045E
| <!--Product ID-->0x02e3
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{no| }}
| <!--Analogue Hack with Analog Stick-->{{no| }}
| <!--Opinion-->2016 ok -
|-
| <!--Description-->Xbox later models 1708+ Xbox One and Series use 5GHz and use Bluetooth,
| <!--Vendor ID-->0x045E
| <!--Product ID-->0x02e0
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{no| }}
| <!--Analogue Hack with Analog Stick-->{{no| }}
| <!--Opinion-->2017
|-
| <!--Description-->Xbox One S
| <!--Vendor ID-->0x045E
| <!--Product ID-->0x02ea 0x02fd
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{no| }}
| <!--Analogue Hack with Analog Stick-->{{no| }}
| <!--Opinion-->2019
|-
| <!--Description-->Microsoft Elite Series 2 Core
| <!--Vendor ID-->0x045E
| <!--Product ID-->0x02ff
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{no| }}
| <!--Analogue Hack with Analog Stick-->{{no| }}
| <!--Opinion-->2022 ok - no hall - 125Hz polling -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Minisform MGP01
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->MOBAPAD N1HD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 has liquid silicone face buttons, hall effect analog, D-Pad swap, two back paddles, USB-A dongle, HD Rumble -
|-
| <!--Description-->Mobapad Huben 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2025
|-
| <!--Description-->Mobapad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->BIGBIG WON Gale 墨将 mòjiāng
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->BIGBIG WON Blitz PRO 2 TMR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->BIGBIG WON now MOJHON AETHER
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2025 hall effect joysticks, hall effect triggers, mechanical bumpers, 1000hz polling rate, mechanical D-pad, membrane face buttons, mechanical back paddles, rumble, deadzone issues - tri mode
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->MSI FORCE GC20 GC30 V2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2021 not hall effect
|-
| <!--Description-->MSI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Mytrix Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->NACON GC-100XF Controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 average
|-
| <!--Description-->PXN P5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 hall effect joysticks & triggers, limited trigger stops, 1000hz polling rate on wired, 4 back paddles, 32 macro record, anti-deadzone mode, RAW mode, gyro, turbo, tri-mode connection -
|-
| <!--Description-->PXN P50L
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->PowerA
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->QRD Stellar T5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->QRD Junior E5 Mini
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->QRD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Razer Wolverine V3 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 hall
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->RetroFlag
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Speedlink XEOX Pro Analog Wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->enclosed lithium battery? - xbox layout - switchable on back of controller to directinput (dinput) or xinput - USB dongle switchable to pc and ps3
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->SCUF Instinct Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2022 good
|-
| <!--Description-->SCUF Envision Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2023 good
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Steel Series Stratus Duo XL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->usb adapter needed
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->[https://inputlabs.io/Inputlabs InputLabs Alpakka Open Source and build yourself]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->DIY it with 3d printer, pcb and components - pi pico needed - 2 gyros for better accuracy -
|-
| <!--Description-->[https://inputlabs.io/kapybara Inputlabs kapybara]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->DIY one handed version wip
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Vilcorn Z03 BT Wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2024 - other Bluetooth modes (green, red, blue, purple, etc.) Select + M1 (or M2) - 400mAh - not great latency wired - 800mhz polling -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->zd ultimate legend
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->zd 0+ elite
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024
|-
| <!--Description-->zd 0+excellent
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
|}
<pre>
#ifndef AROSX_LIBRARY_H
#define AROSX_LIBRARY_H
#include <exec/types.h>
#define AROSX_CONTROLLER_TYPE_UNKNOWN 0x00
#define AROSX_CONTROLLER_TYPE_GAMEPAD 0x01
#define AROSX_GAMEPAD_DPAD_UP 0x0001
#define AROSX_GAMEPAD_DPAD_DOWN 0x0002
#define AROSX_GAMEPAD_DPAD_LEFT 0x0004
#define AROSX_GAMEPAD_DPAD_RIGHT 0x0008
#define AROSX_GAMEPAD_START 0x0010
#define AROSX_GAMEPAD_BACK 0x0020
#define AROSX_GAMEPAD_LEFT_THUMB 0x0040
#define AROSX_GAMEPAD_RIGHT_THUMB 0x0080
#define AROSX_GAMEPAD_LEFT_SHOULDER 0x0100
#define AROSX_GAMEPAD_RIGHT_SHOULDER 0x0200
#define AROSX_GAMEPAD_A 0x1000
#define AROSX_GAMEPAD_B 0x2000
#define AROSX_GAMEPAD_X 0x4000
#define AROSX_GAMEPAD_Y 0x8000
struct AROSX_GAMEPAD {
ULONG Timestamp;
UWORD Buttons;
UBYTE LeftTrigger;
UBYTE RightTrigger;
WORD ThumbLX;
WORD ThumbLY;
WORD ThumbRX;
WORD ThumbRY;
};
#define AROSX_EHMB_CONNECT 0x00
#define AROSX_EHMB_DISCONNECT 0x01
#define AROSX_EHMF_CONNECT (1L<<AROSX_EHMB_CONNECT)
#define AROSX_EHMF_DISCONNECT (1L<<AROSX_EHMB_DISCONNECT)
struct AROSX_EventHook {
struct Node eh_Node;
struct MsgPort *eh_MsgPort;
ULONG eh_MsgMask;
};
struct AROSX_EventNote {
struct Message en_Msg;
ULONG en_Event;
APTR en_Param1;
APTR en_Param2;
};
#endif /* AROSX_LIBRARY_H */
</pre>
=== Joystick ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |Merge with USB on Digital Pad
! width="10%" |Analogue Hack with Analog Stick
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->CH Products CombatStick 568
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Cyborg X
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Logitech Extreme 3D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| [Logitech Attack 3 Joystick]
| 0x0464
| 0xC214
| 0205
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| {{yes|works}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->saitek X-52 x52 pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->saitek aviator
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| Speedlink Competition Pro USB
|
|
|
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| {{maybe|works but games not working "out of the box"}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Trust Predator QZ 501
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{yes|works}}
|-
| <!--Description-->Trust Predator TH 400
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{yes|works}}
|-
| <!--Description-->Trust Predator GM-2500
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{yes|works}}
|-
| <!--Description-->Trust XK 100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
|}
===[https://github.com/JacKeTUs/linux-steering-wheels Gaming Racing Steering Wheels]===
{| class="wikitable sortable" width="90%"
! width="25%" |Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Merge with USB on Digital Pad
! width="10%" |Analogue Hack with Analog Stick
! width="40%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> [https://www.usb.org/sites/default/files/documents/pid1_01.pdf USB PID standard not supported],
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Cammus C5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Fanatec CSL Elite
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->PS4 and Xbox - belt driven wheel - 30cm wheel swapping
|-
| <!--Description-->Fanatec Club Sport
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> top belt $600 £500 system
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->FFBeast
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Genius TRIO RACER F1 Racing Wheel
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->Cheap and cheerful but not great - may need calibrating
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Hama PC Racing Wheel Thunder V18
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->Average
|-
| <!--Description-->Hori Racing Wheel 3 with pedals
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->PS3 PC
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Logic3 PXU450 TopDrive GT450 Steering Wheel for PS3, PS4, XBox One and PC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Logitech MOMO
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->Very good
|-
| <!--Description-->Logitech Driving Force GT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Logitech Drive Force Pro DFP
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> wheel 900 degree - weighs in at 15 lbs
|-
| <!--Description-->Logitech Formula Force EX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->200 degrees turn for the EX model is arcade-like driving - adds PS3 compatibility via the PSx/2 adaptor - weighs in at 9 lbs
|-
| <!--Description-->Logitech G25
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> - needs external psu -
|-
| <!--Description-->Logitech G27 PC/PS3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> comes with gear shifter - needs external psu -
|-
| <!--Description-->Logitech G29 PC PS3/PS4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> may need additional shifter - gear 900deg wheel / rumble - 3 peddle - needs external psu -
|-
| <!--Description-->Logitech G920 PC XboxOne
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> may need additional shifter - gear 900deg wheel / rumble - 3 peddle - needs external psu -
|-
| <!--Description-->Logitech G923
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Microsoft(R) SideWinder Precision Racing Wheel (1999)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Moza R3
| <!--Vendor ID-->0x346E
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Moza R5
| <!--Vendor ID-->0x346E
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Moza R9
| <!--Vendor ID-->0x346E
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Moza R12
| <!--Vendor ID-->0x346E
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[https://github.com/Ultrawipf/OpenFFBoard OpenFFBoard],
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->PXN V10
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->PXN V12
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->PXN V12 Lite
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Simagic M10
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> base direct drive $900 £800
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Simplicity Simwheel
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> direct
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Simucube
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Simucube
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Simucube
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Simxperience Accuforce V2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->SPEEDLINK Drift O.Z. Racing Wheel with Pedals and Gear Stick
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->SteelSeries Simraceway SRW-S1 Steering Wheel (PC)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Thrustmaster Nascar Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Thrustmaster Ferrari Challenge Wheel
| <!--Vendor ID-->0x044f
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> Poor
|-
| <!--Description-->Thrustmaster Ferrari FGT Rumble GT Experience 3-in-1 (PC/PS3)
| <!--Vendor ID-->0x044f
| <!--Product ID-->b658
| <!--Revision-->0102
| <!--Merge with USB Digital Pad-->{{Yes|Wheel and all buttons detected}}
| <!--Analogue Hack with Analog Stick-->{{Maybe|}}
| <!--Opinion-->Not great - gear driven 240deg wheel rotation - no psu needed - 2 peddle - flappy gear change - rumble untested - red switch for PC PS3 selection
|-
| <!--Description-->Thrustmaster F430
| <!--Vendor ID-->0x044f
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Thrustmaster T500 RS Wheel
| <!--Vendor ID-->0x044f
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> belt driven wheel/rumble for GT5
|-
| <!--Description-->Thrustmaster T60 Challenge
| <!--Vendor ID-->0x044f
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Thrustmaster T150 Wheel
| <!--Vendor ID-->0x044f
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> gear / belt combo wheel / rumble - 2 peddle
|-
| <!--Description-->Thrustmaster TMX Pro PC/XboxOne
| <!--Vendor ID-->0x044f
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion--> direct drive rumble - no manual gear shift included
|-
| <!--Description-->Thrustmaster T80
| <!--Vendor ID-->0x044f
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->Base level and OK - PS4 - 270deg rumble - 2 peddle
|-
| <!--Description-->Thrustmaster T300 RS GT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->PS3 PS4 - belt driven - 900deg rotation and modular 28cm wheel out - 2 peddles but 3 available
|-
| <!--Description-->Thrustmaster TX Leather
| <!--Vendor ID-->0x044f
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->TX Xbox version - 900deg rotation
|-
| <!--Description-->Thrustermaster TS PC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->PC only belt wheel
|-
| <!--Description--> TS XW Racer PC Xbox1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> top belt system
|-
| <!--Description-->Thrustmaster T-GT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->PS4 $700 £600 with T-DFB
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| <!--Description-->Tracer Zonda Racing Steering Wheel PC PS3 Vibration Feedback Pedals Gearbox
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
|}
===Gamepad Joypad Adapters===
* Most adapters will work in most OS's without installing a driver. Special functions needing drivers will be noted.
* Some adapters do not work with some [http://www.stepmania.com/wiki/Dance_Pads dance pads] because of voltage issues. Other adapters map the dancemat arrows as axes and not as buttons, causing problems.
* If using an adapters should be compatible with '''original''' PlayStation PS/Xbox Xbox/GameCube GC /Dreamcast DC/Sega Saturn SS gamepads.
{| class="wikitable sortable" width="90%"
! width="35%" |Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Merge with USB on Digital Pad
! width="10%" |Analogue Hack with Analog Stick
! width="30%" |Opinion
|-
| <!--Description-->[http://www.maplin.co.uk/psx-usb-bridge-34887?tabid=3&worldid=&doy=21m9&faqitem=playstation%20controller%20to%20pc%20adaptor Maplin] [http://www.rockfire.com.tw/ Padix Co. Ltd. Rockfire] PX-205 PSX/USB Bridge
| <!--Vendor ID-->0x0583
| <!--Product ID-->0x2050
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{Yes}} but buttons mapped different from others
| <!--Analogue Hack with Analog Stick-->{{Maybe|poor}}
| <!--Opinion-->Ok with dpads, but very poor support with analogue hack
|-
| Boom PS Joy Converter adaptor
|
|
|
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->
| discontinued (2004/5). Hold Up, Start, and Select for three seconds. Very good [http://www.stepmania.com stepmania] recommendation.
|-
| [http://www.hkems.com/m_main.htm EMS] [http://www.hkems.com/product/ps2/ps2-usb2.htm USB2] grey plastic box with 2 PSX ports, one on either side - UP and Select pressed for 3 seconds at the same time or the dance code (start+select+up)
|
|
|
| <!--Merge with USB Digital Pad-->{{Yes|Tests/joystick shows the PS port works in digital mode on d-pad}}
| <!--Analogue Hack with Analog Stick-->
| Set in PC switch mode. Does not work when using 2 pads at the same time, likely higher power requirements. FPSE emu DualShock untested, Mat and Guitar untested but known lag involved
|-
| Joytech (play.com) (EMS USB2 bad clone) Black box twin PSX
| 0x0b43
| 0x0003
| 0x0
| <!--Merge with USB Digital Pad-->{{Maybe| }}
| <!--Analogue Hack with Analog Stick-->{{No|buggy hardware}}
| but poor on dance ddr mat and guitar hero as the left and right keys do not like being pressed together, Dual shock untested
|-
| [ EMS Trio Linker ] 1 PSone connection at bottom
|
|
|
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| 1PSX discontinued 2005
|-
| [http://psxemulator.proboards.com/index.cgi?board=support&action=display&thread=421 EMS Trio Linker Plus] (blue box) 1 PSx at bottom
|
|
|
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| 1PSX discontinued
|-
| Gamtec [http://www.gamestone.co.uk/gradius/guides_usb_smartjoy_guide.php SmartJoy Plus] Lik Sang PS->USB converter Red 2005
| 0x0925
| 0x0005
| Low 0110
| <!--Merge with USB Digital Pad-->{{Maybe|detected and digital dpad works with [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4138&forum=2&post_id=35952#forumpost35952 joystick and testjoystick tests] but the second analog control is not mapping correctly in digital mode}}
| <!--Analogue Hack with Analog Stick-->{{No|Analogue Hack - hardware buggy not useable}}
| Dual shock untested, Mat and Guitar untested. Nothing picked up upon plugging it in. Quite common, these items have grounding issues or feed voltage back into the USB host and freeze the host controller, preventing any plugins or removals being detected.
|-
| Gamtec SmartJoy Plus Dual PS->USB converter Red
| 0x0925
| 0x00
| Low
| <!--Merge with USB Digital Pad-->{{Maybe| }}
| <!--Analogue Hack with Analog Stick-->{{No|buggy hardware}}
|
|-
| [http://uk.gear.ign.com/articles/700/700334p1.html Lik-Sang Super SmartJoy PSX]
|
|
|
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| 1PSX
|-
| Soyo Kiki Kiky
|
|
|
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
|
|-
| eXcel PSX adaptor shaped a little like a stealth bomber with USB pass through
|
|
|
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
|
|-
| Venom
|
|
|
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
|
|-
| Dragon Plus (Radio Shack) Pantherlord GreenAsia USB to PS2/PS3 converter single black cable
| 0x0e8f
| 0x03
| 1.07
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Yes| }}
|
|-
| Deal Extreme 2 PSX black cables from 1 USB port
|
|
|
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| {{N/A|untested }}
|-
| <!--Description-->HDE 2014 Personal Communication Systems Inc
| <!--Vendor ID-->0x0810
| <!--Product ID-->0x0001
| <!--Revision-->0106
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Same as single cable above but with black block midway along cable
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
|-
| <!--Description-->TigerGame Ltd Mayflash PC001 Super Joy Box 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| TigerGame Ltd Mayflash PC016 Super Joy Box arrowhead triangle twin PSX] Original was lack with RED Leds. Clones Dilong pu203, Blue HDE Neewer ShineData SD-APS2USB, Red Octane and Black PC Power Box (NS3454) '''embossed circle''' on top
| 0x0810
| 0x0001
| 1.06
| <!--Merge with USB Digital Pad-->{{Yes|Tests/joystick shows one PS port does not work with analog control at all but the other port does and maps correctly in digital mode}}
| <!--Analogue Hack with Analog Stick-->{{Yes|Analogue hack works }}
| Still available 2013, poor construction though, falls to pieces easily. Dual Shock untested, Mat and Guitar untested
|-
| <!--Description-->TigerGame Ltd [http://www.mayflash.com/pc/pc038/pc038-1.htm Mayflash PC038 Super Joy Box Pro triangle twin PSX]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| TigerGame Limited Mayflash SuperJoy Box 5 PC006 long V-shaped 4 port PS/PS2 Game Controller Adapter
|
|
|
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->
|
|-
| <!--Description-->TigerGame Limited Mayflash SuperJoy Box 5 PRO PC039 PS/PS2 Game Controller Adapter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| Boom PSX+N64 USB converter (purple or blue see through box) (2003/4) - red led for psx and green led for n64
| 0x6666
| 0x0667
| 0x0
| <!--Merge with USB Digital Pad-->{{No|not detected by Tests/joystick}}
| <!--Analogue Hack with Analog Stick-->{{No|Analogue hack }}
| Rumble Pak untested
|-
| [http://www.hkems.com/product/ps2/TrioLinkerPlus2.htm EMS Trio Linker Plus II]
|
|
|
| <!--Merge with USB Digital Pad-->{{Yes| }} [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4753&forum=24&post_id=43102#forumpost43102 ]
| <!--Analogue Hack with Analog Stick-->
| 1DC 1GC 1PSX but not for ddr mat games
|-
| TigerGame Mayflash PC043 clone HuiJia Black twin N64 converter for PC USB
| 0x0e8f
| 0x3013
| 0x0
| <!--Merge with USB Digital Pad-->{{No|detected by Tests/joystick though two digital pads have their settings wrong}}
| <!--Analogue Hack with Analog Stick-->{{Yes|Analogue hack works well with middle handle/grip little joystick}}
| Rumble Pack untested
|-
| TigerGame Mayflash PC MagicBox SuperBox 3
|
|
|
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| untested 1SS 1DC 1PSX }
|-
| <!--Description-->Lik Sang SmartJoy X
| <!--Vendor ID-->0x045e
| <!--Product ID-->0x0285
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->SmartJoy X2
| <!--Vendor ID-->0x045e
| <!--Product ID-->0x0289
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| TigerGame Mayflash PC018 Super Joy Box 9 Xbox (NOT 360)
| 0x05e3
| 0x060
|
| <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| does not work. Hub(s) 0x0288 detected but 0x0289 xbox1 joypads are not detected as hid let alone as [http://www.amiga.org/forums/archive/index.php/t-62940.html xpad] or [http://pingus.seul.org/~grumbel/xboxdrv/ linux xboxdrv driver]
|-
| TigerGame Mayflash PC019 Super Joy Box 10 Xbox Twin ports (NOT 360)
| 0x05e3
| 0x060
|
| <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| does not work with the big Fatty Duke or smaller S Akebono controller(s)
|-
| TigerGame Ltd Mayflash PC020 Super Joy Box 11 Xbox Quad ports (NOT 360)
| 0x05e3
| 0x0604
|
| <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}}
| <!--Analogue Hack with Analog Stick-->{{No| }}
|
|-
| <!--Description-->TigerGame Ltd Mayflash PC035 3 in 1 Magic Joy box PS GC Xbox
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->USB to NES [http://wiki.nesdev.com/w/index.php/Standard_controller SPI like protocol]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Buffalo Classic USB Pad SNES like
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Mayflash PC044 USB to SNES
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->USB to MEGADRIVE GENESIS Joypad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->[http://www.retrousb.com/product_info.php?cPath=21&products_id=70 USB to 9 pin ATARI RETROPORT style JOYSTICK PORT]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Atari RetroLink 9pin to SB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->SLS Sega Saturn USB pad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Mayflash PC050 Dual Saturn ports
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Guitar Hero for PC/Mac
| <!--Vendor ID-->0x1430
| <!--Product ID-->0x474C
| <!--Revision-->
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Cronus Max
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->BrookX One
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Mayflash Gamecube to USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Mayflash Magic NS
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> WiiU
|-
| <!--Description-->Brook Converter WiiU P3 P4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->CooV Xbox One Converter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
|}
* [http://www.bemanistyle.com/forum/f6/best-metal-pad-19066/ Metal dance pads with LEDs] - My My Box Blue Shark (Nexen), Cobalt Flux (CF) (Let's Groove), Red Octane Afterburner, TX-2000, Logic3 (Dance Dance Dance), Gamerose (Stay Cool),
* Hard foam mat - [http://www.mayflash.eu/3in1-deluxe-dansmat-ignition-foam-ps2xboxpc-p-5.html Mayflash] FutureMax Deluxe 3 in 1 Ignition, [http://www.gamerose.com/ Gamerose] (Stay Cool), TrinPad orange,
* Soft foam mat - Logic3 (PS420N), [http://www.positivegaming.com/index.php?id=36 Positive Gaming Impact], Gamerose Miss Daisys Naki (Stay Cool), Pelican, MadCatz
*PS1 PS2 PS3 PS4 flex ribbon big source of button/trigger issues with all controllers
*PS2 Phat KSA1Q40A (Board), SA1Q33A (Membrane) SCHP-10010 H
*PS2 SA1Q42A SCHP-10010 A
*PS2 SA1Q43-A SCHP-10010 H
The primary axes are either the Control Pad or the left stick. Buttons come in a rough order: face buttons, then shoulder buttons, then Select and Start, then buttons under sticks, and finally Control Pad directions if not assigned to a hat. But the order and number of buttons within a category are unpredictable, as is which button the user expects to use for each action.
{| class="wikitable sortable" width="90%"
! width="10%" | Joypad
! width="5%" | HATS
! width="5%" | Button 01
! width="5%" | Button 02
! width="5%" | Button 03
! width="5%" | Button 04
! width="5%" | Button 05
! width="5%" | Button 06
! width="5%" | Button 07
! width="5%" | Button 08
! width="5%" | Button 09
! width="5%" | Button 10
! width="5%" | Button 11
! width="5%" | Button 12
! width="5%" | Button 13
! width="5%" | Button 14
! width="5%" | Axes 1
! width="5%" | Axes 2
! width="5%" | Axes 3
! width="5%" | Axes 4
! width="5%" | Axes 5
! width="5%" | Axes 6
! width="10%" | Comment
|-
| [https://pineight.com/mw/index.php?title=USB_game_controllers Xbox 360 Wired Controller]
|
| A (down-green)
| B (right-red)
| X (left-blue)
| Y (up-yellow)
| LB (white)
| RB (black)
| Back
| Start
| Guide
| L3
| R3
|
|
|
| Left X
| Left Y
| LT
| Right X
| Right Y
| RT
| Poor 2D, Good 3D
|-
| <!--Description-->Gravis GamePad / Original PlayStation Controller
| <!--HATS DPAD-->
| <!--Button 01-->Red (Sqleft)
| Yellow X (X down)
| Green O (O right)
| Blue (Tri up)
| L1
| R1
| L2
| R2
| Select
| <!--Button 10-->Start
|
|
|
|
| <!--Axes 1-->Stick X
| Stick Y
|
|
|
|
| <!--Opinion-->
|-
| <!--Description--> PlayStation 2 Older Adapters
| <!--HATS DPAD-->
| <!--Button 01-->Blue X (down)
| Red O (right)
| Pink Sq (left)
| Green Tri (up)
| L1
| R1
| L2
| R2
| Select
| <!--Button 10-->Start
| Stick 1
| Stick 2
|
|
| <!--Axes 1-->
|
|
|
|
|
| <!--Opinion-->
|-
| <!--Description--> PlayStation 2 Newer Adapters
| <!--HATS DPAD-->
| <!--Button 01-->Up
| Right
| Down
| Left
| L2
| R2
| L1
| R1
| Select
| <!--Button 10-->Start
| Stick 1 (analogue Hack)
| Stick 2
|
|
| <!--Axes 1-->
|
|
|
|
|
| <!--Opinion-->
|-
| <!--Description--> Wish Technologies N64 Adaptoid
| <!--HATS DPAD-->
| <!--Button 01--> A
| C Down
| C Right
| B
| C Left
| C Up
| L
| R
| Start
| <!--Button 10-->Z
| Pad Up
| Pad Down
| Pad Left
| Pad Right
| <!--Axes 1-->Stick X
| Stick Y
|
|
|
|
| <!--Opinion-->
|-
| <!--Description-->
| <!--HATS DPAD-->
| <!--Button 01-->
|
|
|
|
|
|
|
|
| <!--Button 10-->
|
|
|
|
| <!--Axes 1-->
|
|
|
|
|
| <!--Opinion-->
|-
| <!--Description-->
| <!--HATS DPAD-->
| <!--Button 01-->
|
|
|
|
|
|
|
|
| <!--Button 10-->
|
|
|
|
| <!--Axes 1-->
|
|
|
|
|
| <!--Opinion-->
|-
|}
Just plug in your digital/analogue joystick or gamepad into USB port. The device will be handled by Poseidon USB stack. Poseidon is the USB stack with Trident adding a GUI (graphical user interface) prefs.
the context sensitive page would come up right on pressing the help key inside the relevant window. The manual is in this archive, just in case it isn't in SYS:Locale/Help
*How to change joystick mode to analogue?
By default a connected USB joystick emulates Amiga digital joystick. To change this behaviour so that the joystick is presented as analogue you need to use Trident preferences application (System:Prefs/Trident).
Open Trident and go to Devices on the left hand side (mouse click once on it). Select your controller from the list to the right and then click on Settings button below. This will open a new window. On the "General" tab find the "Lowlevel Library Joypad Emulation" section near the bottom. Find ports which are set to "Merge with USB" or "Override with USB" and change them to "Analogue Hack".
Please note that analogue joystick support is an extension of original Amiga functionality, thus an Amiga application must be explicitly written to use it. AROS SDL library uses this functionality, thus all SDL applications that use joystick, can use the analogue joystick feature.
The HID class has several options how to handle the input data:
* Don't touch: The movement and button data for is not modified by the hid class. This is the default for the ports 0, 2, and 3.
* Overwrite with USB: This will kill the original data that might had come from the internal ports and overwrites it with the joypad data for this USB interface. Note well: If you have multiple joypads connected, take care which setting you have selected for each port, because only the last interface with this option will actually send the joypad data to the game.
* Merge with USB: This option merges the input data of the lowlevel.library with the USB stream. This only works, if the connected device on the original Amiga ports is NOT a mouse (because then the streams are incompatible). Merging should be the preferred method, because it leaves the original joysticks working.
* Disable: Turns off the port for the application.
* Analogue Hack: Tells Poseidon to force reporting of analogue data at the port. Please note that this only works with programs that understand the analogue data, because it's an extension to the original lowlevel.library standard made by Commodore. If you want to incorporate this feature in your software, just contact me and I will send you the necessary information.
* Rumble Port: As addition to the analogue data, the HID class supports applications and games that want to utilize a rumble pack or force feedback motors in the gamepads. This field selects to which lowlevel port the hid device responds, when attempting to use the rumble pack. Normally, this corresponds to the port that has been set in the actions for the joypad.
*How to change joystick port assignment?
The low level library supports up to four ports. Port 0 is usually used by the mouse, port 1 is the standard port for joysticks/joypads. By default a connected USB joystick is present in Port 1. To change its location to Port 0 you need to use Trident preferences.
Open Trident and go to Devices window. Select your controller from the list and then click on Settings button. This will open a new window. On the "General" tab find the "Lowlevel Library Joypad Emulation" section. Port 1 should be set as either "Merge with USB" or "Override with USB". Change this setting to "Don't touch". Change Port 0 setting to "Merge with USB".
Go to "Actions" tab. In the "Reports and collection" select first entry named "Joystick". in the "Usage items" select "X axis". Go to "Performed actions" area. On the left there will be a list of triggers. Each of them should have (port1) in their params. Click on the first trigger and using buttons to the right of the list change port1 into port 0. Repeat this for all triggers and for all items on "Usage items" list.
*How to make joystick simulate keyboard keys?
With Poseidon it is possible to make the joystick simulate the keyboard pressings. This might enable using joystick for playing games which only have keyboard support. This feature is configured in Trident preferences.
Open Trident and go to Devices window. Select your controller from the list and then click on Settings button. This will open a new window. Go to "Actions" tab. On the right top window select X axis. On the left bottom list select an entry "Digital Joystick, Push left(port 1)". On the panel to the right change "Digital joystick" into "Raw Key". A list of keys will be displayed. Select key you wish to send. Repeat the same procedure for "Digital Joystick, Release left (port 1)" option but this time check "Send key up even instead of key down". Open shell and move your joystick to the left - your selected letter should appear in the shell.
*Analogue in Trident Prefs
* Open the Trident USB Prefs -> Devices -> Select your joypad -> Settings button -> Action TAB
* See some "axis" listed under "Usage items" in the top right of the window. They are your analog stick(s)
* Check [x] Track Incoming Events which is half way down the window on the left
And you should see some axis activity in "Usage items" when you move the analog stick
*Actions
HID class item -> Settings -> HID Class Window -> Action Tab -> Action handling area
Reports and collections -> Usage Items -> Performed actions
Qualifier keys are *special*. You don't only need to create the actual keypress but also modify the qualifiers.
Go to the keyboard panel and find the windows menu key by enabling key tracking and pressing the windows menu key. Then assign the right amiga key to it.
Go to the actions panel and find the right amiga key (it's called "Keyboard right GUI"). Remember the actions stored there, best write them down in exact order. Then delete them.
Find the windows menu item and add the missing qualifier action. Be sure the parameters are exactly the same and the order is right.
Set them to Raw, then assign an up and down button for each character, etc.
when you change the settings to RAW so you can assign keyboard strokes. it will always say, KEYDOWN or what ever on the left, it never provides and option for key release.
The problem still remains though that if I try to assign the Directional Pad (Hat) to Arrow Keys, that things will get screwed up and you either can not move with the directional PAD (HAT), or movements are assigned to the Left Analog, and do not work as they should, it's as if the right and down arrow keys are ALWAYS On, regardless of the fact that I did indeed assign a Key release command to each input.
check that by pressing analog directions and see the current values, and the thresholds configured in poseidon to bind them to left/right/up/down.
misconfigured too much stuff in the HID settings, you can always go in poseidon->config list entry and delete the config item related to your device (or the HID class setting itself), back to basics.
*Rumble in Trident Prefs
Open Trident Prefs and click on the Devices option in the left hand window. Click with the mouse once on your gamepad choice on the right hand side and again on the Settings button below. In the new window, select the '''General''' TAB and half way down on the right there is an "Open Now" button in the section "HID output control window". Clicking on that button opens another window (HID Control) with sliders for the two rumble engines inside the controllers and you can test if they work. '''Sometimes clicking that button does nothing, other times it will open the window and say nothing is detected.''' The leftmost two sliders do nothing, the third one has a large rumble effect, and the fourth one has a small rumble effect.
===Graphic Drawing Tablet===
There is a standard in HID for tablets possibly mouse type. If the tablet is HID conforming in that sense, it should work. Aiptek does a fairly good job at this. The other competitor, Wacom, didn't pay too much attention to this and simply adapted their legacy serial protocol into HID in a very awkward way. Older Wacom tablets have worked with the special support in the HID class, but not the more recent ones.
to use graphic tablets fully, applications need to be written that make use of the AmigaOS NewTablet events (which AROS has)
* Entry level - A6 (6x4) work area
* Medium A5 (6x8) A4 (10x7) size (recommended but only a few ie years 2000 to 2003 models supported)
* Semi Pro A3 (12x9)
* Pro Cintiq
* 2005/6 Some support added for Wacom tablets
* 2008 Wacom's patent on battery free pens expires
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Micrograf Tabby (late 1980s and early 1990s)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|-
| <!--Description-->podscat pt 3030 graphics tablet
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|-
| <!--Description-->Summagraphics
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|-
| <!--Description-->Wacom IV compatible (Graphire, ArtPad, A3, A4, A5 and PenPartner CT-0405-P - Wacom intuos GD-0405-R) Waycom Digitiser II UD-0608-R
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|-
| <!--Description-->Wacom Artpad II (KT-0405-R)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|-
| <!--Description-->AceCad boards
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|-
| <!--Description-->AipTek HyperPen 6000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|-
| <!--Description-->Calcomp
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|-
| <!--Description-->AipTek HyperPen 8000 - Aldi/Medion MD 9310 and Aldi/Tevion LT 9310
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|-
| <!--Description-->Tablet PC penabled
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based like x61t X60t NC4200 NC4400 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
* Wacom PenPartner
* PenPartner 2
* PenStation 2
| <!--Vendor ID-->0x056a
| <!--Product ID-->0x0000
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Wacom Graphire - Wacom Tablet ET-0405-U UV1.1-1 (Slate Blue) ET-0405UL (lime) (orange) (red) (purple)
| <!--Vendor ID-->0x056A
| <!--Product ID-->0X0010
| <!--Revision-->0100
| <!--Opinion-->{{Yes|late 90s with A6 size - [Wacom Support] of X-axis 00000-10205 Y-AXIS 0000-7421 Tip Pressure 000-511 under Trident prefs. Air pen mouse type movements }}
|-
| <!--Description-->
* Grapphire 2 4x5 ET-0405A-U UV2.0-3 (Steel Blue)
* Graphire 2 5x7 ET-0507A
| <!--Vendor ID-->0x056A
| <!--Product ID-->0x0011 and 0x0012
| <!--Revision-->0110
| <!--Opinion-->{{Yes|A6 and A5 versions - [Wacom Support] of X-axis 00000-10205 Y-AXIS 0000-7421 Tip Pressure 000-511. Air pen mouse type movements - mouse EC-120-0K tested}}
|-
| <!--Description-->Wacom Graphire 3
* cte-430/w 4x5 pearl sapphire
* cte 630 6x8
| <!--Vendor ID-->0x056A
| <!--Product ID-->0x0013 and 0x0014
| <!--Revision-->0314
| <!--Opinion-->{{Yes|A6 and A5 size - [Wacom Support] Xaxis 0-10207 yaxis 0-7423 tip pressure 0-511 and the erase end appears to respond but avoid bluetooth BT versions }}
|-
| Wacom Graphire 4
* cte-440/B Blue cte 440/s Silver 4x5
* cte-640 6x8 cte 640 u 0403
| <!--Vendor ID-->0x056A
| <!--Product ID-->0x0015 and 0x0016
| <!--Revision-->403
| {{Yes|A6 and A5 work area detected [Wacom Support] x-axis 0000-10207 Y axis 0000-7423 Tip Pressure 000-511 and delete rub out end of the pencil seems detected but avoid bluetooth BT versions }}
|-
| <!--Description-->
* Wacom Intuos 4x5 GD-0405
* Intuos 6x8 GD-0608
* Intuos 9x12 GD-0912
* Intuos 12x12 GD-1212-U
* Intuos 12x18 GD-1218
| <!--Vendor ID-->
| <!--Product ID-->0x0020 0x0021 0x0022 0x0023 0x0024
| <!--Revision-->
| <!--Opinion-->{{Yes|detected and responses delivered back - x axis up to 30479 and y axis 31679, tip pressure up to 1023 and x and y tilt up to 127 - Wacom intuos GD-0912-A for Apple Macs NOT SUPPORTED}}
|-
| <!--Description-->
* Intuos 2 4x5 A6 - XD-0405-U
* Intuos 2 6x8 A5 - xd 0608u uoc
* Intuos 2 9x12 XD-0912-U
* Intuos 2 12x12 XD-1212-U
* Intuos 2 12x18 XD-1218-U
| <!--Vendor ID-->0x056a
| <!--Product ID-->0x0041 0x0042 0x0043 0x0044 0x0045
| <!--Revision-->0126
| <!--Opinion-->{{No|various sizes and recognised as [Wacom Support] but not working. x-axis 00000-20319 y-axis 00000-16239 tip presure 0000-1023 x-tilt y-tilt 000-127. HID mouse xc-100-03 works but never could use it as a real tablet with pressure with TVPaint 3.6 }}
|-
| <!--Description-->
* Intuos 3 4x5 (PTZ-430)
* Intuos 3 4x6 (PTZ-431W )
* Intuos 3 6x8 (PTZ-630 PTZ630)
* Intuos 3 6x11 (PTZ-631W A3 wide)
* Intuos 3 9x12 (A4 PTZ-930 PTZ930)
* Intuos 3
| <!--Vendor ID-->056a
| <!--Product ID-->0x00b0 0x00b1 0x00b2 0x00b3 0x00b4 0x00b5
| <!--Revision-->
| <!--Opinion-->{{No}} Actions in HID setup window definitively locks the Pointer (mouse) reports settings and even after a clear and save, nothing changes, the configuration returns to default values. "[Wacom]" reports don't see any events from the tablet, even with "Pointer" reports cleared and save, so is locked a in "mouse" state - but can send a special command to the tablet in order to put it into a special vendor mode. This mode enables Wacom specificities like pressure, tilt, absolute position, buttons, etc... you should send an HID report feature with ReportID=2 and data=2, the current HID class driver doesn't give a way to change that, even using the "initial startup actions" item in the extra collection. No listed features work
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| Wacom Volito - Promethean FT-0405-U06 UV1.4-1
| <!--Vendor ID-->0x056A
| <!--Product ID-->0x0060
| <!--Revision-->0141
| <!--Opinion-->{{Yes|A6 work area with [Wacom Support] of x-axis 0000-5103 Y axis 0000-3711 Tip Pressure 000-511. Air and touch mouse movement - appears to be the budget option with some but limited features}}
|-
| <!--Description-->Wacom Volito 2
* CTF-??? 2x3
* CTF-420G CTF-420 V2.0-0 4x5
* Serif Penabled 6742 rebadge of CTF 420/020-B CTF-420/02
| <!--Vendor ID-->0x056A
| <!--Product ID-->0x0062
| <!--Revision-->0200
| <!--Opinion-->{{Yes|A6 work area with [Wacom Support] of x-axis 0000-5103 Y axis 0000-3711 Tip Pressure 000-511. Air and touch mouse movement - no erase function on the end of the pen - nylon nibs value option}}
|-
| <!--Description-->
* Wacom PL-400 LCD
* PL-500
* PL-510
* PL-550
| <!--Vendor ID-->
| <!--Product ID-->0x0030 0x0031 0x0032 0x0034
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
* PL-600
* PL-600 SX
* PL-700
* PL-710
* PL-800
| <!--Vendor ID-->
| <!--Product ID-->0x0033 0x0035 0x0036 0x0037
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Wacom Cintiq 21 UX and Cintiq Partner DTF-720
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Wacom PenTablet Bamboo (MTE), Bamboo Craft (CTH), Bamboo Fun (CTE), Bamboo Pen (CTL) and Bamboo Pen & Touch (CTH)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| Wacom Bamboo Fun Medium CTE-650
|
| 0x0018
|
| {{Maybe|[http://www.a1k.org/forum/showthread.php?t=11432 works on a1k forum]}}
|-
| <!--Description-->Bamboo Fun Small CTE-450 white
| <!--Vendor ID-->
| <!--Product ID-->0x0017
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Wacom Bamboo One CTF-430 V2.0-0 CTF 430/S
| <!--Vendor ID-->0x056A
| <!--Product ID-->0x0069
| <!--Revision-->0200
| <!--Opinion-->{{Maybe|A5 wired air pen and acts like a mouse only}}
|-
| <!--Description-->Wacom Intuos 4
* Small PTK-440 PTK-540
* Medium - PTK-640 - PTK 540WL Wireless -
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested Intuos4 surface sheet was revised in October 2010 to reduce nib wear}}
|-
| <!--Description-->Wacom Intuos 5 Touch
*
* Medium - PTH-650 - USB Wired and Wireless Kit
| <!--Vendor ID-->
| <!--Product ID-->0x0027
| <!--Revision-->
| <!--Opinion-->{{N/A|untested work, however wireless may glitch or drag }}
|-
| <!--Description-->Wacom Intuos Pro Medium - PTH-651 -
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Bamboo Small Pen Tablet - MTE 450 MTE-450A (MTE-450/k) -
| <!--Vendor ID-->0x056A
| <!--Product ID-->0x0065
| <!--Revision-->0116
| <!--Opinion-->{{Maybe|A6 work area - mouse movement but no pen detection except x-axis 2 to -2 and y-axis 2 to -2 - mini usb lead - 4 blue led lit buttons not detected as well as circular touch button?? }}
|-
| <!--Description-->Bamboo Pen CTL 460
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested all Bamboo versions were criticized for the drawing surface's roughness (which got smoother over time), which caused the small pressure-sensitive 'nib' to wear down, and become slanted or scratchy in the same way as pencil lead, albeit more slowly}}
|-
| <!--Description-->Wacom Bamboo Fun CTH-461/S wired
| <!--Vendor ID-->0x056A
| <!--Product ID-->0x00D2
| <!--Revision-->0106
| <!--Opinion-->{{Maybe|A6 size - Pen tracking not working but finger touch works }}
|-
| <!--Description-->Wacom Bamboo Connect Pen Tablet CTL-470 CTL-470K 470-DE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->CTH 470K
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Wacom CTH 480/S wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }} lithium battery for pad -
|-
| <!--Description-->Wacom Intuos Pen Small CTL-480/S CTL 480 K wired
| <!--Vendor ID-->0x056A
| <!--Product ID-->0x030E
| <!--Revision-->0200
| <!--Opinion-->{{No|A5 detected as Intuos PS but not working although the RHS blue led responds to pen on tablet }}
|-
| <!--Description-->CTH 490 PK S Photo - CTH-490CK-S Comic - CTH-490AK-S Art
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested lower hovering height pen nibs wear fast and input lag/responsiveness}}
|-
| <!--Description-->Intuos Pen & Touch Medium - CTH-680 - USB Wired and Wireless Kit work
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Wacom Intuos Pro (PTH-660 and PTH-860)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Waltop Media Tablet 10.6"
Genius G-Pen M609
Genius G-Pen M609X
iVista Media Tablet 10.6
Aiptek MediaTablet 10000u
| <!--Vendor ID-->172f:0501
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Slim Tablet 12.1"
| <!--Vendor ID-->0x172F
| <!--Product ID-->0x0034
| <!--Revision-->0x1105
| <!--Opinion-->{{yes|works}}
|-
| <!--Description-->Waltop Media Tablet 12 by 9"
Aiptek HyperPen 12000u T-12000U Tablet Series
Nisis T-12000u USB Tablet Series Version 1.05 (aiptek rebadged)
Trust item #1535
ADESSO Cyber Tablet 12000 Graphic design tablet
iVista Media Tablet 12
PENTAGRAM O'pen Wide P 2003
Genius G-Pen M712
| <!--Vendor ID-->172f:0500, 0x08ca
| <!--Product ID-->0x0010
| <!--Revision-->0105
| <!--Opinion-->{{Yes|detected with Nisis/Aiptek functioning as a tablet, untested with others - Puck (mouse) x axis 0000 to 6000 y axis 0000 to 6000 - stylus (pen) x axis 00000 to 12000 y axis 00000 to 12000 tip pressure 0000 to 1023 - 16 function keys - AAA battery needed for pen and another for the mouse}}
|-
| <!--Description-->Waltop Media Tablet 14.1" v5.1e
Genius G-Pen M714X
Aiptek MediaTablet 14000u WMK-H141
Trust item #15358
Adesso CyberTablet 14000 M14
iVista Media Tablet 14.1
PENTAGRAM O'pen Wide P 2004
| <!--Vendor ID-->0X172f
| <!--Product ID-->0X0500
| <!--Revision-->0114
| <!--Opinion-->{{Yes|detected with Nisis/Aiptek functioning as a tablet - Stylus (Pen) X 16838 Y 16838 Tip Pressure 1023 }}
|-
| <!--Description-->Waltop PID 0038
Genius G-Pen F509
Manhattan 177405
| <!--Vendor ID-->172f:0038
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Waltop PID 0052
Yiynova MSP19
| <!--Vendor ID-->172f:0052
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Waltop Q Pad
Aiptek HyperPen Mini
NGS Flexi Style
VisTablet PenPad
iVistaTablet Q Flex Pad
Bravod Q-PD65-S
Trust Flex Design Tablet (#16937)
| <!--Vendor ID-->172f:0037
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Waltop Sirius Battery Free Tablet
VisTablet Muse
PENTAGRAM Designer P 2700
Princeton PTB-S1BK
| <!--Vendor ID-->172f:0502
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Waltop Slim Tablet 12.1"
Genius G-Pen F610
Trust Slimline Widescreen Tablet (#16529)
VisTablet Original 12"
Adesso CyberTablet Z12
Adesso CT-Z12A
PenPower Tooya Pro
Aiptek Slim 12.1 Inch
Aiptek SlimTablet 600u Premium II
NGS Slim Proguess
iVistaTablet Slim 12.1
PENTAGRAM ThinType P 2006
| <!--Vendor ID-->172f:0034
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Waltop Slim Tablet 5.8"
Genius G-Pen F350
Trust item #16485
VisTablet Mini
iVistaTablet Slim 5.8
| <!--Vendor ID-->172f:0032
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Waltop Venus S Tablet
Trust eBrush Widescreen Tablet (#17939)
| <!--Vendor ID-->172f:0503
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Aiptek GmBH MediaTablet Ultimate II - 16:10 Professional Graphic Tablet Model 1400U
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Hanvon Beijing HanWang HW Micro Drawing Tablet ET0504U
| <!--Vendor ID-->0x0b57
| <!--Product ID-->0x8030
| <!--Revision-->01111
| <!--Opinion-->{{No|does not work - recognised as an HID mouse - no tablet extensions detected}}
|-
| <!--Description-->KYE EasyPen 340, Genius EasyPen 340
| <!--Vendor ID-->0458:5014
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|untested }}
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| Aiptek Hyper Pen 6000u PC Tablet APT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{No|detected but does not work - win98 era cordless 6in by 4.5in - }}
|-
| <!--Description-->nisis T-8000U APT-2 Aiptek rebadge
| <!--Vendor ID-->0x08CA
| <!--Product ID-->0x0021
| <!--Revision-->
| <!--Opinion-->{{No|A5 detected but no responses }}
|-
| <!--Description-->Acecad Flair II GT-504 Init Fkt Fkt 0x5ab450c0
AIPTEK HyperPen 10000 U
Aiptek HyperPen 10000U,
AIPTEK Slim Tablet U600 Premium II
| <!--Vendor ID-->0x0460
| <!--Product ID-->0x0004
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Ace Cad Enterprise Co., Ltd Tablet - 5x3.75 drawing area
| <!--Vendor ID-->0x0460
| <!--Product ID-->0x0004
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Bosto's
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }} UCLogic Digitizer
|-
| <!--Description-->Adesso CyberTablet Z7, Adesso CyberTablet 12000, Adesso CT-12000A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->UC-Logic / Lapazz WP8060, UC-Logic / Lapazz PF1209, UC-Logic / Lapazz Artistic Tablet 5540, Manhattan 8"x6", Manhattan 3"x4", Manhattan
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested but suspect not working}}
|-
| <!--Description-->DigiPro 5.5×4” Graphics Tablet
Digital Ink Pad (A4 format)
DigiPro WP8060, DigiPro WP5540,
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Genius G-pen
G-Pen 4500
Genius Wizardpen
Genius Mousepen
Genius Easypen i405 M610
Genius PenSketch 9x12, Genius MousePen i608, Genius MousePen 8x6, Genius MousePen / WizardPen 5x4,
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Genius G-Pen F610
Genius G-Pen M610
Genius G-Pen 340 (UC-LOGIC Tablet WP4030U)
Genius G-Pen 450 (UC-LOGIC Tablet WP5540U)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Genius
UC-LOGIC
iBall Tablet PF8060
iBall
Iball Pen Tablet 8060U, Iball Pen Tablet 5540U, Iball Pen Tablet 4030U, Iball Design Tablet PF1209,
NGS CADBOY (UC-LOGIC Tablet WP5540U)
Pentagram
QWare
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Trust TB-3100
Trust TB-5300 Trust 15356
Trust TB-6300 Trust 15357 WP8060U Slimline but bulky with metal backing A5 size
Trust 16486, Trust 16447, Sketch Design Tablet,
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|clashes with usb and crashes AROS }}
|-
| <!--Description-->UC-Logic Tablet WP1062
Aiptek HyperPen 10000U
Monoprice 10X6.25 Inches Graphic Drawing Tablet
Pickle 10x6.25 Inch Graphic Drawing tabletguess
| <!--Vendor ID-->5543:0064
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| [ VTech KidiPhoto Art Studio]
|
|
|
| {{yes|works}}
|-
|}
Tablet has a squared lines of wires which induce a current into the pen which is then detected by the metal grid in the tablet pad. Tablets report pressure (and tilt on expensive models) and are absolute pointing devices (put the pen at the top left and the mouse pointer will go to the top left of the screen). Graphic drawing area, what keys, report rate, resolution lpi lpmm, accuracy, pressure levels (may come from the app), origin position,
Wacom tablets use electromagnetic resonance technology. Since the tablet provides power to the pen through resonant inductive coupling, no power is required for the pointing device. As a result, no batteries are inside the pen (or the accompanying puck), making them lighter and slimmer.
Under the tablet's surface (or LCD in the case of the Cintiq) is a printed circuit board with a grid of multiple send/receive coils and a magnetic reflector attached behind the grid. In send mode, the tablet generates a close-coupled electromagnetic field (also known as a B-field) at a frequency of 531 kHz. This close-coupled field stimulates oscillation in the pen's coil/capacitor (LC) circuit when brought into range of the B-field. Any excess resonant electromagnetic energy is reflected back to the tablet. In receive mode, the energy of the resonant circuit’s oscillations in the pen is detected by the tablet's grid. This information is analyzed by the computer to determine the pen's position, by interpolation and Fourier analysis of the signal intensity.
In addition, the pen communicates information such as pen tip pressure, side-switch status, tip vs. eraser orientation and ID number (to differentiate between different pens, mice, etc.). For example, applying more or less pressure to the tip of the pen changes the value of the pen's timing circuit capacitor. This signal change can be communicated in an analog or digital method. An analog implementation modulates the phase angle of the resonant frequency, while a digital method is communicated to a modulator that distributes the information digitally. The tablet forwards this and other relevant tool information in packets, up to 200 times per second, to the computer.
If you disable (delete all of them except for one that needs to be set to "no action", so that it will not be regenerated as default) the Extra Startup actions, the tablet should remain in relative mouse mode—you will not get pressure information in that mode though. [http://tech.groups.yahoo.com/group/highway_usb/message/2394]}}
=== Handheld Barcode Scanner Readers ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Farsun 9100 barcode scanner 0-12"
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Motorola Symbol LS2203 CMOS
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Tysso
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested Simple}} Code 11, Code 39, Code 93, Code 128, Coda Bar, UPC-A, UPC-E, EAN-8, EAN-13, MSI/Plessey, Telepen, Interleaved 2 of 5, Industrial 2 of 5, Matrix 2 of 5
|-
| <!--Description-->Unitech MS320
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Wasp WCS3905 CCD 1"
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }} Code 93, Matrix 2 of 5, Industrial 2 of 5, Code 39, UCC/EAN-128, ISBN, Code 32, EAN/JAN-8 , EAN/JAN-13 , UPC-A, UPC-E, Codabar, Code 128, Code 11, Interleaved 2 of 5, MSI-Plessey, China Post, IATA 2 of 5, ISSN, UK-Plessey
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Datalogic Touch 90
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Intermec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Honeywell Metrologic MK9540-32A38
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Motorola LS2208 Laser
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Wasp WWS800 Laser 1D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Datalogic GD4130-BK-C066
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Honeywell 1202G-1USB-5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Motorola / Symbol DS6707-DC20007ZZR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->DataMan 8000 2D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Honeywell Voyager 9520/40
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Metrologic MS1690 USB 2D Barcode Scanner
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }} QR Code GS1 Databar PDF417
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Syscan GM800
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
|}
[http://www.scandit.com/2011/11/04/types-of-barcodes-choosing-the-right-barcode-type-ean-upc-code128-itf-14-or-code39/ Types of Barcode]
<pre>
UPC-A Grocery most common
Code 128
EAN-13 Library Books ISBN & ISSN,
Code 39
Codabar blood bank,
2D barcodes such as
Data Matrix
PDF417e
Maxicode
Aztec
QR Code old Nokia handsets,
MicroPDF417
</pre>
===TouchScreens===
Projected capacitive (PCAP) touch screen product, amongst many options the widely used are I2C and USB
*USB host–device structure which dominates consumer and industrial electronics devices where higher bandwidth needed and user-friendly (multiswipes)
*I2C Inter-Integrated Circuit simple serial standard for LCD display in embedded systems because of cost and low power
*SPI arduino and rpi single boards
We cover the USB here
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| eGalax Touch 4a
| 0eef
| 0001
| 0001
| {{yes|2009 works}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Lilliput HDMI Monitors
669GL-70NP/C/T (7 inch)
869GL-80NP/C/T (8 inch)
FA1011-NP/C/T (10 inch)
FA1046-NP/C/T (10 inch)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Iilyama Prolite Monitors
PROLITE T1513SR-1 (15 inch)
PROLITE T1730 (17 inch)
PROLITE T1713SR-1 (17 inch)
PROLITE T1913SR-1 (19 inch)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Smart Display Company (SDC) Touchscreens TFT Monitors
TOUCH-TFT-TS07 (7 inch)
TOUCH-TFT-TS08 (8 inch)
TOUCH-TFT-TS10 (10 inch)
TOUCH-TFT-TS12 (12 inch)
TOUCH-TFT-TS15 (15 inch)
TOUCH-TFT-TS17 (17 inch)
TOUCH-TFT-TS19W (19 inch wide)
TOUCH-TFT-TS22W (22 inch wide)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->XENARC Monitors 7 inch models
700TSH
700TSU
700TSV
702TSV
705TSV
706TSA
700IDT
MDT-X7000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->XENARC
8 inch models:
800TSV
805TSV
10 inch models:
1020TSV
1026TSA
1040TS
12 inch models:
1200TS
1200TR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Asus VT229H 21.5"
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->CUQI 7" Monitor Touchscreen 1024x600 IPS
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Espresso 15" Portable Touchscreen Display Monitor
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Hannspree HT225HPB 21.5 inch
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->WaveShare 13.3inch HDMI LCD (H) (with case)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
===GPS tracking, running, cycling, biking, walking, hiking, ORIENTEERING, boaters and mapping===
Support for OpenStreetMap but not for Ordnance Survey, Map Pilot or National Geographic's Topo maps data gdb,
Data output supported nmea 0183 V1.5 APA, V1.5 XTE and V2.1 GSA formats, gpx, kml/kmz, tracks from tcx files, geo: URIs,
NMEA0183(which is RS232, voltages range from -15 volts to 15 volts, 4800 baud), or need NMEA sentences connected to your computer
other method that some units support is a special serial cable that actually emits raw RS232 NMEA. These usually take 10->30 volts input, can run the unit, and have full voltage I/O for RS232 (not like spanner mode, which effectively turns the unit into a USB->Serial adapter inside the case).
Equivalent apps - merkator, mapsource,
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Garmin gpsmap 180 GPS/chart plotter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->1992 GARMIN GPS 55 AVD Portable System
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Garmin GPS V
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested - waas pinpoint within 3 metres - nmea - 4AA battery}}
|-
| <!--Description-->Garmin GPS 12 12XL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Garmin Legend C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Garmin eMap
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|possibly through usbmodem rs232 connection nmea 0183 protocol}}
|-
| <!--Description-->Garmin eTrex
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}} rs232 these older units supported it and would provide the stream in either the standard NMEA 0183 format or a proprietary Garmin format.
|-
| <!--Description-->Garmin GPS 75 AVD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Magellan GPS Map 7000 model 45006 (1994)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Magellan GPS Tracker
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Magellan Pioneer Satellite Navigator
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Magellan GPS 300 315 320 Mentor Receiver (2003)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Not for dedicated sat nav units like the Nuvi, TomTom, etc
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->NaviLock NL-402U
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested u-blox 5 SuperSense® chipset with receivers for GPS, GLONASS, Galileo, BeiDou and QZSS}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->GM1-86UB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| U-BLOX UB-6010 GGA,GSA,GSV, RMC and support VTG, GLL, TXT ublox binary and NMEA Command Dynamic Condition }}
|-
| <!--Description-->NAVILOCK GPS NL-602U USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Yes|works via usbmodem.device - ublox ag 6 chipset - 50 channel}}
|-
| <!--Description-->TOPGNSS ton Receiver & Antenna GM702 u-blox 7
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Yes|UBLOX7020 chip design bloc u-blox}}
|-
| <!--Description-->VK-162 G-MOUSE u blox 7
| <!--Vendor ID-->0x1546
| <!--Product ID-->0x01a7
| <!--Revision-->0100
| <!--Opinion-->{{N/A|UBX G70xx with RMC VTG GSV TXT GLL GGA GSA}}
|-
| <!--Description-->VK-172 u-blox 7 G7020-KT gps gnss white pen stick receiver - over 1 inch long
| <!--Vendor ID-->0x1546
| <!--Product ID-->0x01a7
| <!--Revision-->0100
| <!--Opinion-->{{N/A| detected as cdc controlled plug in device - 18x18x2mm patch antenna but can be slow to update - nmea 0183 and ublox binary protocol}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->GlobalSat BU-353 WaterProof USB GPS Receiver
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested SiRF Star III}}
|-
| <!--Description-->Haicom HI-206 USB GPS receiver with RS-232 interfaces, RJ11 and PS/II connector EB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|usb-serial prolific pl2303 detected but GSP3F SiRF Star IV technology not detected or bound}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->BT760Y,
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested Skytraq Venus 5 GPS chipset}}
|-
| <!--Description-->GM-65 USB GPS Receiver
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested Skytraq Venus 6 GPS chipset - 65 channel}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested Skytraq Venus 7 GPS chipset}}
|-
| <!--Description-->GM-65 USB GPS Receiver
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested Skytraq Venus 8 GPS chipset - 167 channels}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Garmin Colorado 300
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}} USB
|-
| <!--Description-->Garmin Geko 101 201
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}} limited waas enabled only - waypoints - aaa battery
|-
| <!--Description-->Garmin Edge 200 bike mount
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Garmin ForeRunner 10 15 watch
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Garmin Montana 600
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Garmin Dakota 10 20
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Garmin Map76s
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Garmin Oregon 450T
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}} USB nmea 0183
|-
| <!--Description-->Garmin eTrex 10
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested - no nmea0183 sentences data stream output - configuration an option to set it to "Garmin" mode, or "Mass Storage" mode. Since the mass storage mode seems to be required for waypoint/track/etc data exchange, the 'Garmin' mode would be for this data stream. Yet putting it in that mode doesnt seem to produce anything.}}
|-
| <!--Description-->Garmin Oregon 650T
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Garmin GPSMAP 64S
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Maybe|untested}}
|-
| <!--Description-->GPSMap 78S or GPSMap 76CSX which has a NMEA port for talking to Nav equipment
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Maybe|untested}}
|-
| <!--Description-->Garmin eTrex Vista Cx GPS Receiver
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested - 2AA battery}}
|-
| <!--Description-->Garmin GPSmap 276c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Magellan 2000 XL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Magellan
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Magellan 3000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Magellan Triton 300
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}} SiRFstarIII™, Antenna Type Multidirectional Patch with WAAS, EGNOS, MSAS support
|-
| <!--Description-->Magellan Triton 400
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
|}
==massstorage.class (MSC/UMS - most cameras and mp3 players)==
=== USB Card Readers ===
{| class="wikitable sortable" width="90%"
! width="15%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="15%" |Installing
! width="15%" |Booting
! width="30%" |Opinion
|-
| A-Tec Model CR-362
|
|
|
| <!--Installing-->
| <!--Booting-->
| {{N/A|untested}}
|-
| [http://www.belkin.com/IWCatProductPage.process?Merchant_Id=&Section_Id=200406&pcount=&Product_Id=179164 Belkin 15 in 1 Card Reader]
|
|
|
| <!--Installing-->
| <!--Booting-->
| {{yes|works}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| Conrad CP440 60 in 1
|
|
|
| <!--Installing-->
| <!--Booting-->
| {{yes|works on a1k forum}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| Genesys Gtech Logic 19 in 1
| 0x05E3
| 0x0710
| High 0200
| <!--Installing-->
| <!--Booting-->
| {{yes|works}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| Hama 19 in 1 Card Reader
|
|
|
| <!--Installing-->
| <!--Booting-->
| {{yes|works}}
|-
| Hama 35 in 1 Card Reader
|
|
|
| <!--Installing-->
| <!--Booting-->
| {{yes|works}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Integral Single Slot SD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Kingston USB 3.0
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Lexar microsd adapter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }} but wider than Sandisk version - could block other slot if below
|-
| Pretec CardDriver
|
|
|
| <!--Installing-->
| <!--Booting-->
| {{no|no driver}}
|-
| Sandisk MicroMate
|
|
|
| <!--Installing-->
| <!--Booting-->
| {{yes|works}}
|-
| <!--Description-->Sandisk MobileMate SD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Sandisk MobileMate Micro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }} has satisfying 'click' when microsd inserted
|-
| <!--Description-->Sandisk MobileMate Duo MicroSD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }} no 'click' insertion uses pressure so future wear and tear issues
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Serena metal cased microsd only
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|Maybe}} hit or miss on quality
|-
| <!--Description-->Serena "Sandisk MobileMate" look-alike
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|Maybe}} hit or miss on quality
|-
| SilverCrest 16in1
|
|
|
| <!--Installing-->
| <!--Booting-->
| {{yes|works}}
|-
| <!--Description-->Transcend
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Transcend P5 8 in 1 TSRDP5K
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Transcend P8 15 in 1 TSRDP8K
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| Zyxel integralmemory 8 in 1
| 0x0aec
| 0x3260
|
| <!--Installing-->
| <!--Booting-->
| {{no|not detected}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
|}
=== USB Hard Drives ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| Datel MaxDrive
|
|
|
| {{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Inateck 2.5 Inch USB 3.0 Hard Drive Disk Enclosure/ Case (FE2001)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }} Full USB 3.0 port but plastic teeth keeping drive in place can snap
|-
| <!--Description-->Inateck case (FE2002)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }} full USB 3.0 port - updated design
|-
| <!--Description-->Inateck case (FE3001)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }} wider USB 3.0 port and no on/off switch Jmicron JMS578 chipset
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| Iomega Desktop Hard Drive 500GB, 3,5“, USB2.0
|
|
|
| {{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| Samsung
|
|
|
| {{N/A|untested}}
|-
| Samsung
|
|
|
| {{N/A|untested}}
|-
| Samsung T3 SSD
|
|
|
| {{N/A|untested}} USB 3.1 Gen 1 space grey / black metal/ plastic
|-
| Samsung T5 SSD
|
|
|
| {{N/A|untested}} USB 3.1 Gen 2 256GB 512GB alluring blue 1Tb 2Tb black unibody metal
|-
| Samsung
|
|
|
| {{N/A|untested}}
|-
| Seagate
|
|
|
| {{N/A|untested}}
|-
| Seagate
|
|
|
| {{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Toshiba Canvio 1TB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Yes|partition fat32 or sfs to 100GB max - ntfs partitions not detected out of the box - select usb drive in trident prefs and press disable to shutdown}}
|-
| Verbatim 160GB Smartdisk
|
|
|
| {{yes|works }}
|-
| Western Digital USB
|
|
|
| {{N/A|untested}}
|-
| <!--Description-->WD Essential
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->WD Passport
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
|}
=== USB DVD CD ROM Drives ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->12.5mm
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->12.5mm enclosure mini-sata dvd-rw
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested needs sole usb3 port to power it}}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->9.5mm enclosure ECD829 mini-sata dvd-rw with Initio Corporation INIC-1618L SATA
| <!--Vendor ID-->0x13fd
| <!--Product ID-->0x0840
| <!--Revision-->
| <!--Opinion-->{{N/A|untested but probably needs sole usb3 port to power it}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|}
=== USB to NGFF NVMe SDD HDD DVD CD ROM Drives ===
The older Jmicron JMS539B seems to result in massive filesystem corruption given the amount of corrupted content. Prehaps always avoided Jmicron and opted for Asmedia even if it costed a bit more. Realtek seems to be working okay for me generally speaking and newer Jmicron chipsets are less buggy – but evidently not perfect.
From [https://goughlui.com/2025/08/17/psa-validate-your-storage-jmicron-jms583-kioxia-bg4-series-ssd-issue/ thread]
Here is a [https://forums.anandtech.com/threads/stable-nvme-usb-adapter.2572973/ very long thread] that discusses data corruption and stability issues with these bridges. The majority of the posts are complaining of dropouts, hangs and the like, which usually down to either a poor USB 3.x implementation (SuperSpeed connections are very picky as to cables, ports and trace routing) or problematic compatibility. Regardless, the [https://www.legitreviews.com/jmicron-jms583-controller-version-matters-for-portable-usb-drives_219422 JMS583 is known to have several versions] noting that the last revision (C) in that article is a 2021 release which should fix earlier stability and cable quality compatibility issues.
JMS583-STD-Release-v00.02.01.04-Bus Power.bin is the latest JMS583 firmware as of August 2025.
Early firmware RTL9210 seems to have issues as well
* RTL9210B
* JMS583 rev1 with firmware A2 or A3
* RTL9210A
* JMS583 firmware 2.0.9
* Asmedia ASM2362
* RTL9201A
The reference Hardware ID for the JMS583 chipset from JMicron is:
VID_152D&PID_0583&REV_0209
where "VID_152D" identifies a JMicron product;
"PID_0583" is the generation chipset;
"REV_0209" is the firmware version installed.
In the same way, the reference Hardware ID for the RTL9210 from Realtek is:
VID_0BDA&PID_9210&REV_3100
"VID_0BDA" is for a Realtek product, "PID_9210" is referred to the chipset and "REV_3100" to the firmware.
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->ASM1153E / ASM1153 with firmware 140509_A1_82_40 or 141126_A1_EE_82. Both supports UASP and TRIM on USB 3.1 Gen.1 adapter
| <!--Vendor ID-->0x174c
| <!--Product ID-->0x55aa
| <!--Revision-->
| <!--Opinion-->{{maybe|works with sabrent ec-uasp}}
|-
| <!--Description-->ASM235CM Ugreen aluminum bridging the USB3.2 Gen2x1 to Serial ATA host interface
| <!--Vendor ID-->0x174c
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->TI 9261
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->ASM225
| <!--Vendor ID-->0x174c
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->JMicron JMS578 issues USB 3.1 Gen.1 adapter
| <!--Vendor ID-->152d
| <!--Product ID-->0578
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->JMicron JMS576 issues USB 3 to usb-c adapter
| <!--Vendor ID-->152d
| <!--Product ID-->0576
| <!--Revision-->
| <!--Opinion-->{{maybe|orico}}
|-
| <!--Description-->JMS562 JMicron Technology Corp
| <!--Vendor ID-->152d
| <!--Product ID-->0562
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->JMS561U
| <!--Vendor ID-->0x152d
| <!--Product ID-->0x1561
| <!--Revision-->
| <!--Opinion-->{{maybe|works with sabrent ec-uasp}}
|-
| <!--Description-->VL716Q4 Orico black meshed aluminum usb c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Asmedia ASM1053E
| <!--Vendor ID-->0x1B21
| <!--Product ID-->0x55aa
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->ASmedia ASM1051E
| <!--Vendor ID-->0x174c
| <!--Product ID-->0x55aa
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Asmedia ASM1053
| <!--Vendor ID-->0x174C
| <!--Product ID-->0x1536
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Asmedia ASM104x
| <!--Vendor ID-->0x1B21
| <!--Product ID-->0x1042
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Unknown Chinese version
| <!--Vendor ID-->0x0bc2
| <!--Product ID-->0x2312
| <!--Revision-->
| <!--Opinion-->{{maybe|sometimes works}}
|-
| <!--Description-->JMicron N5321 gr
| <!--Vendor ID-->0x152d
| <!--Product ID-->0xa583
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Initio Corp INIC-1618L mini slimline sata 6 + 7 pins to usb2 adapter
| <!--Vendor ID-->0x13FD
| <!--Product ID-->0x0840
| <!--Revision-->0114
| <!--Opinion-->{{maybe|sometimes works mini sata to usb2 detects 201x laptop DVD as MassStorage(CD/DVD) but may need powered USB hub}}
|-
| <!--Description-->Unknown mini sata to usb3 adaptor
| <!--Vendor ID-->0x01F75
| <!--Product ID-->0x0621
| <!--Revision-->0036
| <!--Opinion-->{{maybe|sometimes works mini sata to usb3 detects 201x notebook DVD drive as MassStorage(SCSI) but 5V 1.5Amp needs powered hub to burn }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|}
=== External Floppy ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->[http://techtravels.org/amiga/amigablog/ Amiga Floppy Project]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{no|no driver}}
|-
| <!--Description-->[http://amigakit.leamancomputing.com/catalog/product_info.php?products_id=842 Catweasel Mk4]
| 0xE159
| 0x0001
| 0x00
| {{yes|[http://archives.aros-exec.org/index.php?function=browse&cat=driver/storage works]}}
|-
| <!--Description-->[http://hxc2001.free.fr/floppy_drive_emulator/ HxC Floppy Emulator]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{no|no driver}}
|-
| <!--Description-->[http://www.softpres.org/glossary:kryoflux KyroFlux]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{no|no driver}}
|-
| <!--Description-->Samsung SFD-321U/EP USB Floppy
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{no|no driver}}
|-
| <!--Description-->[http://www.cbmstuff.com/proddetail.php?prod=SCP SuperCard Pro]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->[https://www.facebook.com/groups/greaseweazle Greaseweazle STM hardware], [https://cowlark.com/fluxengine/index.html Greaseweasel support], [https://github.com/keirf/Greaseweazle/wiki software], [https://amigakit.amiga.store/greaseweazle-p-91279.html buy],
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->FL-2501 USB Portable Diskette Drive
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2009 usb - [https://amiga.robsmithdev.co.uk/ Drawbridge] [https://github.com/RobSmithDev/ArduinoFloppyDiskReader software] ribbon cable compat with p/n 19308801-19 and s/n U356244 - model ASM P/N 27l4226 and FRU P/N 05k9283 -
|-
| <!--Description-->Dell Floppy Drive Module USB External 3.5" - Teac FD-05PUB 1.44mb
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2004 usb 1.1
|-
| <!--Description-->USB FLOPPY DISK DRIVE (USB External Floppy Disk)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->[https://github.com/SukkoPera/OpenFlops OpenFlops] with [https://github.com/keirf/flashfloppy FlashFloppy] Gotech clone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->[https://github.com/hmerrett/HenryFlops HenryFlops reworked OpenFlops]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
|}
==ptp.class (PTP and MTP - other cameras and mp3 players)==
=== Cameras ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Canon EOS 20D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2004 }}
|-
| <!--Description-->Canon 350D (also known as the Digital Rebel XT/Kiss Digital N)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2005 DIGIC II processor 8-megapixel }}
|-
| <!--Description-->Canon PowerShot A430 A560
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2006 }}
|-
| <!--Description-->Canon EOS 400D (XTi) digital SLR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2007 }}
|-
| <!--Description-->Canon EOS 1000D also known as Rebel XS
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 10.2mp 720p }}
|-
| <!--Description-->Canon 450D aka Rebel Xsi
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 12.2mp }}
|-
| <!--Description-->Canon PowerShot S90 S95
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009 2010 720p video - 10Mpixel }}
|-
| <!--Description-->Canon Powershot SD960 IS Digtal ELPH
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009 Still Image: Exif 2.2 (JPEG), Movie: MOV (Image: H.264; Audio: Linear PCM) Lithium-ion Battery Pack NB-4L }}
|-
| <!--Description-->Canon EOS 500D aka Rebel
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009 1080p 15.1MP Lithium }}
|-
| <!--Description-->Canon EOS 550D 600D aka Rebel T2i T3i DSLR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2010-2011 1080p 18MP Lithium LP-E8 }}
|-
| <!--Description-->Canon Powershot S100 S110 S120
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011-2013 720p-1080p video 12.1MP and above versions - }}
|-
| <!--Description-->Canon EOS 1100D DSLR Camera aka Rebel T3 SLR, EOS Kiss X50
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 720p 10Mpixels Lithium }}
|-
| <!--Description-->Canon EOS 650D 700D aka Rebel T4i T5i T6i SLR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012-2013 1080p 18Mpixels Lithium LP-E8 articulating flip out twistable screen }}
|-
| <!--Description-->Canon ELPH 300 HS (IXUS 220 HS) 230 100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012 blogging camera }}
|-
| <!--Description-->Canon PowerShot N
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2013 12.1 MP CMOS, DIGIC 5 Wifi Lithium Battery Pack NB-9L }}
|-
| <!--Description-->Canon Powershot G7 X, G7X-II
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014-2016 1080p video 12.1MP and above versions - }}
|-
| <!--Description-->Canon EOS 1300D DSLR Camera aka Rebel T6 SLR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2016 1080p 16Mpixels Lithium }}
|-
| <!--Description-->Canon Powershot G7x G5X
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| G7X flip up and G5X flip out - same batteries - no external microphone input - }}
|-
| <!--Description-->Canon EOS M3 M5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| flip out - same batteries - }}
|-
| <!--Description-->Canon EOS 60D 70D 80D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Canon 6D 7D 8D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|untested}}
|-
| <!--Description-->Canon 5D Mark II III IV DSLR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Canon
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Canon
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Fuji FinePix A850
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->FujiFilm Finepix F100fd
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Fuji FinePix F810
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Fuji xf1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| pocketable exr cmos 12mp }}
|-
| <!--Description-->Fuji xt1 x-t1 x10 x-t10
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 1080p }}
|-
| <!--Description-->Fujifilm x100 x100s x100t
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Fuji xPro1 xPro2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Fuji xt2 / x-t2 x-t20
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 4K video }}
|-
| <!--Description-->Fuji
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Fuji
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|untested}}
|-
| <!--Description-->Fuji
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|untested}}
|-
| <!--Description-->GoPro HERO 3 HERO4 HERO 5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Nikon
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Nikon D100, D60
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2004 Compact flash storage - non interchangeable lenses up to 12.3MP sensor }}
|-
| <!--Description-->Nikon D50, D50x
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2005 storage - 6.1MP sensor }}
|-
| <!--Description-->Nikon D70, D80, D90
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2006 Compact flash storage - 10MP sensor }}
|-
| <!--Description-->Nikon D40, D40x
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2007 storage - 10MP sensor }}
|-
| <!--Description-->Nikon D300, D700
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 storage - 12.3MP sensor }}
|-
| <!--Description-->Nikon D2Xs, D2Hs, D3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2006-2008 storage - sensor }}
|-
| <!--Description-->Nikon D3000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 720p video }}
|-
| <!--Description-->Nikon D5000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2010 720p video unlike D3000 }}
|-
| <!--Description-->Nikon D6000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2010 16mpixel}}
|-
| <!--Description-->Nikon D7000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2010 16.2mp 720p video }}
|-
| <!--Description-->Nikon L26 L27 L28 L29 L31 Coolpix compact cameras
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 720p video - 2 AA - pocket sized }}
|-
| <!--Description-->Nikon D3100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 720p video 14.2mp}}
|-
| <!--Description-->Nikon D5100 DSLR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 16.2mp 720p}}
|-
| <!--Description-->Nikon L810 L820 L830
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012-2014 720p video }}
|-
| <!--Description-->Nikon D4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012 storage - sensor }}
|-
| <!--Description-->Nikon D7100 D7200
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012-2014 up to 24.2mp 1080p video }}
|-
| <!--Description-->Nikon D3200
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012 1080p 24MPixel}}
|-
| <!--Description-->Nikon D5200 D5300
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2013 24.1MP 1080p }}
|-
| <!--Description-->Nikon D800 D600
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 1080p video sd card storage - dust/oil issue at start}}
|-
| <!--Description-->Nikon D3300 DSLR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 24.2MP 1080p }}
|-
| <!--Description-->Nikon D500, a high-performance DX-format (APS-C) DSLR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2016 }}
|-
| <!--Description-->Nikon D3400
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2016 24.2MP 1080p }}
|-
| <!--Description-->Nikon D5500 D5600
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2016-2018 24.1MP 1080p }}
|-
| <!--Description-->Nikon D810 D610
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 1080p video sd card storage }}
|-
| <!--Description-->Nikon D7300
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 4K UHD video }}
|-
| <!--Description-->Nikon D900 D850 D820
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 4k 46MP }}
|-
| <!--Description-->Nikon
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Nikon
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Olympus C-370
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2004 3.2mp }}
|-
| <!--Description-->Olympus Camedia C-725 Ultrazoom
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2004 3mp aa batteries, }}
|-
| <!--Description-->Olympus Evolt E-500
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2005 8mp }}
|-
| <!--Description-->Olympus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Olympus Evolt E-410
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2007 }}
|-
| <!--Description-->Olympus Evolt E-510
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2007 10MP Live MOS sensor with TruePic III processor, }}
|-
| <!--Description-->Olympus E-420
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 10mp, compactflash and xD cards, }}
|-
| <!--Description-->Olympus E-520
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 10mp, compactflash and xD cards, }}
|-
| <!--Description-->Olympus E-620
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009 12.3mp, compactflash, xD and microdrive cards, }}
|-
| <!--Description-->Olympus E-30
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009 }}
|-
| <!--Description-->Olympus E-450
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009 10mp, }}
|-
| <!--Description-->Olympus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Olympus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Pentax * ist DS DSLR camera
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2005 6.1mp }}
|-
| <!--Description-->Pentax K10D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2006 10.2mp APS-C CCD no video and older manual Pentax K-mount lenses}}
|-
| <!--Description-->Pentax K20D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2008 14.6MP APS-C but no video recording mode }}
|-
| <!--Description-->Pentax K30 K-5 II
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2012 16MP full HD (1080p) recording at 24/25/30 fps}}
|-
| <!--Description-->Pentax K-3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 24MP 1080p }}
|-
| <!--Description-->Pentax K-3 II
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2015 24MP }}
|-
| <!--Description-->Pentax K-3 III
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 25.7MP BSI CMOS sensor }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Panasonic Lumix LZ10 LZ20 DMC-LZ30
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 720p video }}
|-
| <!--Description-->Panasonic TZ1 TZ5 TZ9
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Panasonic Lumix GH1 GH2 like the DMC-GH2HEB-K - GH3 DMC-GH3HEB-K
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| Four Thirds (GH2) MFT Micro Four Thirds (GH3) limited to 29mins recording }}
|-
| <!--Description-->Panasonic AF series AF100 AF101 AF102
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Panasonic Lumix DMC-G2 DMC-G3 G5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Panasonic TZ60
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Panasonic DMC LX7 10 LX15
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Panasonic GF7 GX8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Panasonic G80 G85
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| micro 4/3 }}
|-
| <!--Description-->Panasonic GH4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| micro 4/3 - shooting in MOV or MP4 formats recording limited to sd card size but split files because the FAT32 file system only supports files up 4GB in size, which amounts to around 5 minutes of 4K (100mbps) footage - GH4 appears to create 4GB files as a rule, regardless of whether the memory card’s file system supports larger files or not - }}
|-
| <!--Description-->Panasonic GH5 gx80 gx85
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| Effective: 20.3 Megapixel 5184 x 3888 - 2 sd card slots compatible with high-speed, high capacity UHS-II - sd card v rating like the v90 should record at 60MB/s to be compatible with the GH5 in the All-I format - possible file corruption with .mdt files - new firmware 2.0 update, the Panasonic GH5 becomes the first 5K - }}
|-
| <!--Description-->Panasonic FZ2000 FZ2500
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Panasonic
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Samsung
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Samsung WB100 WB1100 WB150 WB2200
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 16MP }}
|-
| <!--Description-->Samsung NX11
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Samsung NX200, NX20, NX1000 and NX210
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 20.3Mp APS-C sized CMOS image sensor }}
|-
| <!--Description-->Samsung
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Samsung
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sanyo Xacti CG65
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sanyo
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sony Alpha DSLR-A100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2005 6.1MP }}
|-
| <!--Description-->Sony Cyber-shot DSC camera models W110 W220 H300 H400
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2007 }}
|-
| <!--Description-->Sony Alpha DSLR-A200
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 10.2MP }}
|-
| <!--Description-->Sony Alpha DSLR-A230
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009 10.2MP }}
|-
| <!--Description-->Sony A290 DSLR Camera
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2010 14.2MP }}
|-
| <!--Description-->Sony Cybershot HX20V HX30V
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 18mp 720p - steady shot unit / optical block can cause buzzing noise and/or jumping image in lcd / viewfinder - dots are dirt and this voids the warranty }}
|-
| <!--Description-->Sony Cybershot HX50V HX60V
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012 20.2MP 1080p - steady shot unit / optical block can cause buzzing noise and/or jumping image in lcd / viewfinder - dots are dirt and this voids the warranty }}
|-
| <!--Description-->Sony A77 A99
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012 }}
|-
| <!--Description-->Sony WX100 WX150 wx220
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012 2014 }}
|-
| <!--Description-->Sony NEX-6 Sony NEX-7
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 16 to 24MP }}
|-
| <!--Description-->Sony NEX-3N Sony NEX-5N
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2013 16MP }}
|-
| <!--Description-->Sony α58 Sony α68
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2013 20.1 MP 2014 24mp }}
|-
| <!--Description-->Sony rx100 mk III
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 20.1MP 1.0-type back-illuminated Exmor R CMOS sensor, often after boot-up, the motor starts running for no reason for first versions' - }}
|-
| <!--Description-->Sony α5000 a5000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 20.1 Megapixel APS-C Exmor APS HD CMOS 1080p Sony E-mount [https://github.com/ma1co/Sony-PMCA-RE hack] using [https://www.youtube.com/watch?v=8M4hR9HiOzM this] }}
|-
| <!--Description-->Sony α6000 a6000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 24MP APS-C sensor }}
|-
| <!--Description-->Sony α7 A7S a7r a7c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 mirror less - more compact }}
|-
| <!--Description-->Sony α77 II, α99 II,
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2015 24.3 MP, 2016 42.4mp }}
|-
| <!--Description-->Sony rx100 mk IV V
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2015 2016 }}
|-
| <!--Description-->Sony RX0 RX zero, RX0 II
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2015 2017 }}
|-
| <!--Description-->Sony α6500 a6500
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2016 24.2MP APS-C sensor 4K }}
|-
| <!--Description-->Sony α7 Alpha 7 II E-mount interchangeable lens mirrorless camera
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2017 24.2mp, }}
|-
| <!--Description-->Sony α7 A7Sii a7r a7c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 mirror less - more compact }}
|-
| <!--Description-->Sony a7 III α77 ILCE7M3/B Full-Frame Mirrorless Interchangeable-Lens Camera
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 24.2mp, }}
|-
| <!--Description-->Sony ZV-1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 24mm optical zoom, }}
|-
| <!--Description-->Sony ZV-1F
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 entry-level vlogging, 1-inch 20.1MP, ultra-wide 20mm f/2 prime lens}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|}
<pre >
Lens Mounts
Canon EF EF-S
Nikon F
Panasonic
Olympus OM
Pentax DA, FA, F, A, M, and K series
Fujifilm X mount
</pre >
<pre >
Sensors
APS-C
S35
Full Frame
43 Four Thirds
M43 MFT Micro four thirds
</pre >
=== Digital Voice Recorder Dictaphone Dictation Machine Handheld ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Olympus VN-7000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested 2011 }}
|-
| <!--Description-->Olympus VN-7200
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|untested 2012 no usb }}
|-
| <!--Description-->Olympus VN-7500
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested 2012 }}
|-
| <!--Description-->Olympus VN-7600
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested 2013 }}
|-
| <!--Description-->Olympus WS-100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested usb}}
|-
| <!--Description-->Olympus VN-7700
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Olympus VN-8600
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Olympus VN-711PC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Olympus VN-712PC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Olympus VN-731PC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Olympus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Olympus WS-811
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested slide out usb-a - aaa battery - ok recordings }}
|-
| <!--Description-->Olympus VN-540PC Olympus VN-541PC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Philips DVT1250
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Sony
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Sony
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Sony
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Sony ICD-UX470
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Sony ICD-UX560
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Sony ICD-UX570
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
|}
=== USB eBooks Readers drm free EPUB version 2.0.1 (2007), 3.0 (2011), 3.1 (2015) or [https://www.w3.org/TR/epub-33/ 3.3 (2024)] [https://github.com/thansen0/sample-epub-minimal epub examples] formats access ===
EPUB file format is an open standard based on XHTML for content and XML for metadata, contained in a zip file archive
PDF v2.0 in 2017, 2009 takeover by ISO Org, 1.7 in 2006 , 1.6 in 2005, 1.4 in 2001, 1.3 in 1999, 1.0 in 1993
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="15%" |Access
! width="30%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Barnes and Noble Nook Simple Touch NST BNRV300
| <!--Vendor ID-->0x2080
| <!--Product ID-->0x0003
| <!--Revision-->
| <!--Access-->when finding the right micro usb cable that works, internal nook memory not accessible but sd card fat32 readable and writable outside
| <!--Opinion-->{{N/A|2011 6in 600x800 e-ink 16 grayscale .jpg}} battery remove sd card and Torx T5 back top for Cameron Sino CS-BNR003SL - USA 1.2.2 md5sum 351e26527e80156183e74be2da2ce89f *nook_1_2_update.zip - 1.2.1 UK fdba3981f7f221cc5143db6329645bc2 *nook_1_2_update.zip - skip registration, Turn on the device, but do NOT start setting it up. Hold down the top right button on the front of the device and slide your finger from left to right across the top of the E Ink screen. A ‘Factory’ button should appear in the top left corner of the screen. Press it. Once in the Factory menu, hold down the top right button on the front of the device and tap the bottom right corner of the screen should now see a ‘Skip Oobe’ button. Tap that and the Nook should finally load the home screen. Poor battery management -
|-
| <!--Description-->Barnes and Noble Nook Simple Touch with Glowlight
*2012 Nook Simple Touch with GlowLight BNRV350
*2013 Nook GlowLight BNRV500
| <!--Vendor ID-->0x2080
| <!--Product ID-->0x0004 0x0007
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|2012 untested }} perform a hard reset: Turn off the nook completely, turn it on, as soon as you see the screen flash begin holding the bottom page turn buttons until the screen flashes with a message asking reset, press the 'n' key twice to start the reset - Poor battery management -
|-
| <!--Description-->Nook Glowlight 4 Plus 7.8-inch screen
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }} Poor battery management -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
*NOOK 1st Edition (2009-2018) BNRZ100
*NOOK Color (2010-2024) BNRV200
*NOOK Tablet (8GB/16GB) (2011-2024) BNTV250A / BNTV250
*NOOK HD (2012-2024) BNTV400
*NOOK HD+ (2012-2024) BNTV600
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Elonex 511EB
| <!--Vendor ID-->045e:ffff
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|2009 untested Preferences->advanced->debug device detection}}
|-
| <!--Description-->[https://jaforeck.wordpress.com/2012/08/05/ready-to-meet-viktor-navorski-gained-access-to-elonex-621ebs-terminal-52/ Elonex 621EB] eBook
| <!--Vendor ID-->0x1f85
| <!--Product ID-->0x1688
| <!--Revision-->
| <!--Access-->unlocked ootb
| <!--Opinion-->{{N/A|2010 untested usb mini charging 6" diagonal eInk Screen - 800 x 600 pixels, 8 Level 166dpi Paperlike screen, Embedded 1GB Flash NAND, full SD Card Slot up to 16GB - WAV, MP3, JPG, PNG, BMP, GIF support and ePub and PDF(with reflow) (TXT, HTML) support}}
|-
| <!--Description-->Elonex 700eb
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|2011 untested adjust screen blanking by menu then settings then device standby, you can then turn it off}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->iRiver Story HD eBook
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }} freescale imx.508 arm mcimx508cvkbb cpu with 2gb samsung nand, m13892aj charging chip, eb07_main_mp1_110321 mobo, mini usb, atheros ar61026 wifi -
|-
| <!--Description-->iRiver Story
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Kobo Rakuten Touch A/B kobo3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Kobo Touch C, Kobo Mini, Kobo Glo N613, Kobo Aura HD N514 N204 kobo4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Kobo Aura, Kobo Aura H2O, kobo5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|2013 6in untested }}
|-
| <!--Description-->Kobo Aura H2O Edition 2 v1, Kobo Glo HD, Kobo Touch 2.0, Kobo Aura ONE N709, Kobo Aura ONE Limited Edition, Kobo Aura Edition 2 v1 N236, kobo6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Kobo Aura H2O Edition 2 v2, Kobo Aura Edition 2 v2, Kobo Nia, Kobo Clara HD, Kobo Forma, Kobo Libra H2O kobo7
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Kobo Elipsa, Kobo Sage kobo8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
*Kobo Libra 2 kobo9, Kobo Clara 2E kobo10, Kobo Elipsa 2E kobo11
*Kobo Libra Colour kobo13, Kobo Clara BW, Kobo Clara Colour kobo12
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Pandigital Personal eReader aka? Papyre 6.2 very similar to BQ Avant Firmware
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2011 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sony PRS 300
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sony PRS 350
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|2009 epub bbeb cbz untested }}
|-
| <!--Description-->Sony PRS-650
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Kindle K1 D00111 - Main Menu=: Settings: Menu=: Device Info shows S/N
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x0002
| <!--Revision-->100
| <!--Access-->256mb
| <!--Opinion-->{{N/A|2007 untested Marvell Xscale PXA255}}
|-
| <!--Description-->Kindle K2, D00511 170-1012-00, D00701 D00801 S11S01B
* k2 means K2 US
* k2i means K2 GW
* dx means KDX US
* dxi means KDX GW
* dxg means KDX Graphite
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x0003
| <!--Revision-->100
| <!--Access-->2gb unless jb
| <!--Opinion-->{{N/A|2010 untested Freescale i.MX31 }} the Kindle is a small computer running Linux 2.6 on an ARM processor
|-
| <!--Description-->AMAZON Kindle D00901 3rd Gen with keyboard - Menu, Settings for S/N and then Menu again to choose Update
* S/N starts B006 means k3g aka K3 3G US
* S/N starts B008 means k3w aka K3 WiFi
* S/N starts B00A means k3gb aka K3 3G UK EU
- debug mode with ;debugON and ~help
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x0004
| <!--Revision-->100
| <!--Access-->{{yes|4Gb internal no access until jailbroken JB}}
| <!--Opinion-->2010 with mobi and azw3 formats only - micro usb 5v 0.85a - freescale i.mx35 ARM soc with 12bit parallel interface with epson e-ink cpu, 256MB synchronous dynamic RAM, 4GB eMMC internal memory only but no sd slot, MC13892 PMIC - atheros wifi 54mbit pci-e a e keyed wifi - ?? later models wm96103 audio codec - display has 2Mbit serial memory ic on ribbon cable with 4bpp inverse grayscale display not touchscreen - 3g module - screen replacement really annoying - 4 test points near T07 = TX RX GND ? - as of 2025, JB v0.13.N, MKK2014, MKK2025, KUAL, KoReader Legacy2025, and maybe later SS v0.47.N, Python 0.14.N, Fonts v5.16.N, USBNet v0.57.N - USB-downloader mode when Vol+ is pressed during startup - Shift + Alt + M for Minesweeper -
|-
| <!--Description-->Amazon Kindle 4th Generation k4 D01100 two buttons, square movement and two buttons at bottom
*B00E
plastic back clipped in [https://www.youtube.com/watch?v=LV1dyNkjjro many places] and strongly taped down to battery cover
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x0005
| <!--Revision-->100
| <!--Access-->2gb unless jb with USB MS, USBMS aka also known as USB MSC or UMS
| <!--Opinion-->{{unk|2012 once back off use Torx T5 to remove battery cover screws - battery glued down S2011-001-A 515-1058-01 DR-A015 MC-265360 - Freescale i.MX508 SOC, 2Gb eMMC storage, 256MiB of LPDDR1, MC13892 PMIC - vendor modified u-boot imximage based on u-boot v2009.08 - USB-downloader mode press the fiveway down button during startup resetmykindle - as of 2025 upgrade firmware from 4.1.x and to 4.1.4, sign into account and copy jb.1.8 bits, mkk-2014, mkk-2025, kual and then uninstall kual, koreader2025 - }}
|-
| <!--Description-->Kindle Touch WiFi (Kindle 5th Gen) D01200 K5, KT
*Once signed into an Amazon Account get S/N under Settings -> Device Options
*B00F Kindle Touch 3G + WiFi (Kindle 5) (U.S. and Canada) [Mostly]
*B011 Kindle Touch WiFi (Kindle 5)
*B010 Kindle Touch 3G + WiFi (Kindle 5) (Europe)
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x0006
| <!--Revision-->100
| <!--Access-->4gb unless jb
| <!--Opinion-->{{unk|2013 touchscreen i.MX508 SOC, 256MiB of LPDDR1 and USB-downloader mode by the SOC microcode when a specific key is pressed during startup: the home button on model D01200 - update firmware 5.3.2 to 5.3.7.3, access account, }}
|-
| <!--Description-->Kindle PaperWhite 3G + WiFi (U.S.) [Mostly] PW
<pre>
B024 Kindle PaperWhite WiFi
B01B Kindle PaperWhite 3G + WiFi (U.S.) [Mostly]
B020 Kindle PaperWhite 3G + WiFi (Brazil)
B01C Kindle PaperWhite 3G + WiFi (Canada)
B01D Kindle PaperWhite 3G + WiFi (Europe)
B01F Kindle PaperWhite 3G + WiFi (Japan)
</pre>
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x0007
| <!--Revision-->100
| <!--Access-->2gb
| <!--Opinion-->{{unk|2013 Freescale i.MX508 }}
|-
| <!--Description-->
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x0008
| <!--Revision-->100
| <!--Access-->2gb
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Kindle PaperWhite 2 (2013) PW2
*B0D4, 90D4 WiFi (U.S., Intl.)
*B05A, 905A WiFi (Japan)
*B0D5, 90D5 3G + WiFi (U.S.) [Mostly]
*B0D6, 90D6 3G + WiFi (Canada]
*B0D7, 90D7 3G + WiFi (Europe)
*B0D8, 90D8 3G + WiFi (Russia)
*B0F2, 90F2 3G + WiFi (Japan)
*B017, 9017 WiFi (4GB) (U.S., Intl.)
*B060, 9060 3G + WiFi (4GB) (Europe)
*B062, 9062 3G + WiFi (4GB) (U.S.) [Mostly]
*B05F, 905F 3G + WiFi (4GB) (Canada)
*B061, 9061 3G + WiFi (4GB) (Brazil)
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x0009
| <!--Revision-->100
| <!--Access-->2gb or 4gb
| <!--Opinion-->{{unk| PW2 uses Freescale/NXP i.MX6 SoloLite }}
|-
| <!--Description-->Kindle Paperwhite 3 PW3 i.e. Kindle 7th gen
*G090G1 (2015) WiFi
*G090G2 (2015) 3G + WiFi (U.S.) [Mostly]
*G090G4 (2015) 3G + WiFi (Mexico)
*G090G5 (2015) 3G + WiFi (Europe, Australia)
*G090G6 (2015) 3G + WiFi (Canada)
*G090G7 (2015) 3G + WiFi (Japan)
*G090KB (2015) WiFi
*G090KC (2015) 3G + WiFi (Japan)
*G090KE (2016) 3G + WiFi (International) White
*G090KF (2016) 3G + WiFi (International) White
*G090LK (2016) WiFi, 32GB (Japan)
*G090LL (2016) WiFi, 32GB (Japan) White
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x000A
| <!--Revision-->100
| <!--Access-->4gb
| <!--Opinion-->{{unk| ease up glued down front bezel rim panel gently, remove 11 screws underneath and lift screen up from bottom end - battery underneath - }}
|-
| <!--Description-->Kindle PaperWhite 4 (2018) PW4
*G000PP, G8S0PP WiFi, 8GB
*G000T6, G8S0T6 WiFi, 32GB
*G000T1 WiFi+4G, 32GB
*G000T2 WiFi+4G, 32GB (Europe)
*G00102 WiFi, 8GB (India)
*G000T3 WiFi+4G, 32GB (Japan)
*G0016T, G8S16T WiFi, 8GB Twilight Blue
*G0016Q, G8S16Q WiFi, 32GB Twilight Blue
*G0016U WiFi, 8GB Plum
*G0016V, G8S16V WiFi, 8GB Sage
*G00103 WiFi, 32GB (India)
*G0016R WiFi, 32GB Plum
*G0016S WiFi, 32GB Sage
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x000B
| <!--Revision-->100
| <!--Access-->8gb or 32gb
| <!--Opinion-->{{unk| Freescale/NXP i.MX6 SoloLite }}
|-
| <!--Description-->Kindle Oasis 2 and 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->8gb or 32gb
| <!--Opinion-->{{unk| NXP i.MX7D }}
|-
| <!--Description-->Kindle Paperwhite 5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->8gb or 16gb
| <!--Opinion-->{{unk| MediaTek MT8110 }}
|-
| <!--Description-->Kindle 11 Scribe
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->8gb or 16gb
| <!--Opinion-->{{unk| MediaTek MT8113 }}
|-
| <!--Description-->Kindle Paperwhite 6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->16gb or 32gb
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Kindle Paperwhite Gen 11 and 12 - Signature
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x0
| <!--Revision-->
| <!--Access-->16Gb or 32Gb
| <!--Opinion-->{{unk|2024 account not blocked, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[https://github.com/Modos-Labs Modos Labs] open source e-ink 60Hz 75Hz caster controller and glider monitor
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Xteink X3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[https://www.xteink.com Xteink X4]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->2025 4.3in 220ppi no touchscreen so [https://www.youtube.com/watch?v=R7RuokaVauo buttons navigation] - 650mAh battery - micro-sd slot up to 512Gb covering epub, txt, and jpg in directories with [https://github.com/crosspoint-reader crosspoint reader] esp32 cpu custom rom firmware using [https://xteink.dve.al/ Flash website] on usb-c but no ecosystem store
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|}
{| class="wikitable sortable" width="90%"
! width="15%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="15%" |Access
! width="30%" |Opinion
|-
| <!--Description-->Amazon D01400 Kindle Fire (1st Generation)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{No|2010 too old }} android 2.3 and touchscreen digitizer fails often, battery SWE P/N 1002000004742 Model KC1 (EU) QP01 (US) 16.28whr, ti 257epl9l omap 4430 with elpida 88164b3pf-10-f88164b3pf or hynix, mobo ??,, DAOKC1MB8F0 Rev F, ti aic3110 audio codec,
|-
| <!--Description-->Amazon Fire 7in X43260 X43Z60 2nd Gen
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2012 untested FireOS Android 4 omap 4460 and PowerVR SGX540}}
|-
| <!--Description-->Amazon Kindle Fire HD (3rd Gen) P48WVB4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2013 untested }}
|-
| <!--Description-->Amazon
*Amazon Fire HD10 (2015)
*Amazon Fire HD8 (2015)
*Amazon Fire HD7 (2015) (5th Generation) 7 inch 8GB SV98LN
*Amazon Fire HD7 (2014)
*Amazon Fire HD6 (2014)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|untested android 5.1 max}}
|-
| <!--Description-->
*Amazon Fire 10 (2017)
*Amazon Fire 8 (2017) 7th Gen 8 inch SX034OT
*Amazon Fire 7 (2017) (7th Generation) 7 inch 16GB (SR043KL)
*Amazon Kindle Fire 7 (7th Generation) 7 inch 8GB WIFI Tablet (SR043KL)
*Amazon Fire HD8 (2016)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| Android 5.1 max 7in screen resolution of 1024 x 600, }}
|-
| <!--Description-->
*Amazon Fire 10/10+ (2021)
*Amazon Fire 8/8+ (2020)
*Amazon Fire 10 (2019)
*Amazon Fire 7 (2019)
*Amazon Kindle Fire 7 9th Gen 16GB M8S26G
*Amazon Fire 8 (2018) 8th Gen 8 inch 32GB L5S83A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| android 9 max}}
|-
| <!--Description-->Amazon
*Amazon Fire HD 10 (2023)
*Amazon Fire Max 11 (2023)
*Amazon Fire 8 (2022)
*Amazon Fire 7 (2022)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| android 11 max}}
|-
| <!--Description-->Amazon Kindle Scribe
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->Amazon
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Minimal Phone, Mudita Kompakt
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| eink }}
|-
| <!--Description-->Bigme B751C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|2022 android untested }}
|-
| <!--Description-->Bigme B7 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->Bigme B6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2025 android based color eink small - 300dpi b/w 150ppi color -}}
|-
| <!--Description-->Bigme
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| e-ink }}
|-
| <!--Description-->Bigme Hibreak Pro, Hisense A9
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| e-ink}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->iFlyTech AINote
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->iFlyTech AINote 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2026 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Meebook
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Onyx Boox Page Palma
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2016 android untested }}
|-
| <!--Description-->Onyx Boox Leaf3C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Onyx Boox Go Color 7
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2023 untested 7in e-ink e-reader android tablet }}
|-
| <!--Description-->Onyx BooxTab Ultra X C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Onyx Boox Note Max Air4 C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Onyx Boox Leaf5C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Onyx Boox Poke6S
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Onyx Boox Go 10.3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Onyx Boox MC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| color e-ink 13.3in }}
|-
| <!--Description-->Onyx Boox Go 10.3 (Gen 2) Lumi
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2026 b/w eink with front light, no EMR annd capacitance pen, }}
|-
| <!--Description-->Onyx Moaan Pantone 6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->reMarkable 1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|2021 untested but subscriptions needed for some features }}
|-
| <!--Description-->reMarkable 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|2023 untested but subscriptions needed for some features }}
|-
| <!--Description-->reMarkable Paper Pro Move
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|2024 untested but subscriptions needed for some features }}
|-
| <!--Description-->reMarkable 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2026 untested but subscriptions needed for some features}}
|-
| <!--Description-->reMarkable
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Supernote A5 X2 Manta
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2022 }}
|-
| <!--Description-->Supernote A6 X2 Nomad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2023 }}
|-
| <!--Description-->Supernote
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Tolino Vision 2 3 4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Tolino Epos2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Viwoods AI Paper and AI Paper Mini
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|}
==printer.class - PostScript 3 and internal ghostscript drivers==
As the only printer driver that AROS supports natively is Postscript, our focus is on applications that generally output postscript formatted data for printing purposes and since the general Joe Public finds postscript capable printer very expensive, postscript interpreters (eg ghostscript) have been developed aas a cheaper option which sit in between postscript data streams and non postscript (HP PCL?) printers.
Set up Printer Prefs for Postscript and set the print to file option.
Ghostscript has internal printer drivers
gs -h
and with something like
gs -sDEVICE=stcolor -r300 -sOutputFile=RAM:tempfile gs813:examples/tiger.ps
copytopar ram:tempfile
It checks if in RAM: exists a outputfile (Cinnamon can export to PS postscript) then it sends this via copytopar to the printer. There was only support for parport (parallel) but Terminillis added support for USB and ethernet. A big issue with using ghostscript for drivers is that data has to originate as postscript (.PS) file.
gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=ljet4 -sOutputFile=RAM:tempfile RAM:file.pdf
the ljet4 output device generates PCL
also the pxlmono driver, which generates more generic PXL (PCL 6)
gs -q -sstdout=%stderr -sDEVICE=pswrite -sOutputFile=- -dBATCH -dNOPAUSE -dPARANOIDSAFER testpage-a4.ps > test.pdf
gs -q -sstdout=%stderr -sDEVICE=pxlmono -sOutputFile=- -dBATCH -dNOPAUSE -dPARANOIDSAFER test.pdf > test.pxl
Printers supported by ghostscript...Explanation [http://freebooks.by.ru/view/RedHatLinux6Unleashed/rhl6u151.htm here] or [http://www.gnu.org/software/ghostscript/devices.html here] and [http://pages.cs.wisc.edu/~ghost/doc/printer.htm here]
<pre>
bit cljet5 ljet4d pjxl300 pxlcolor
bitcmyk cljet5c ljetplus pkm pxlmono
bitrgb deskjet nullpage pkmraw stp
bj10e djet500 pbm pksm tiff12nc
bj200 epswrite pbmraw pksmraw tiff24nc
bjc600 faxg3 pcx16 png16 tiffcrle
bjc800 faxg32d pcx24b png16m tiffg3
bmp16 faxg4 pcx256 png256 tiffg32d
bmp16m ijs pcxcmyk pnggray tiffg4
bmp256 jpeg pcxgray pngmono tifflzw
bmp32b jpeggray pcxmono pnm tiffpack
bmpgray laserjet pdfwrite pnmraw uniprint
bmpmono lj5gray pgm ppm x11
bmpsep1 lj5mono pgmraw ppmraw x11alpha
bmpsep8 ljet2p pgnm psgray x11cmyk
cdeskjet ljet3 pgnmraw psmono x11gray2
cdj550 ljet3d pj psrgb x11gray4
cdjcolor ljet4 pjxl pswrite x11mono
cdjmono
</pre>
=== Internal Ghostscript support ===
{| class="wikitable sortable" width="90%"
! width="10%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Postscript Support
! width="10%" |GutenPrint Support
! width="20%" |Hardware Issues
! width="10%" |Running Costs
! width="20%" |Opinion
|-
| Canon BJ10e
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested with Ghostscript drivers }}
|-
| Canon BJ200
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested with Ghostscript drivers }}
|-
| Epson Stylus Color 600 parport inkjet
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{yes|works - internal ghostscript support}}
|-
| <!--Description-->HP Deskjet 500 Parallel Port
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Postscript Support
| GutenPrint Support
| Hardware Issues
| Running Costs
| Opinion
|-
| HP1220C/PS USB Inkjet
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{yes|works - PS3 emulation only}}
|-
| HP 1700PS USB Inkjet
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{yes|works - PS3 emulation only}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Postscript Support
| GutenPrint Support
| Hardware Issues
| Running Costs
| Opinion
|-
| <!--Description-->LJ-III
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested HP PostScript Cartridge Plus (C2089A) a.. Press <ON LINE> (and take machine off line)
b.. Press <Plus & Minus>, and while holding, press <ALT> and <RESET> together and watch the LCD and let go when the desired mode is displayed.}}
|-
| <!--Description-->HP Laserjet 4 4M 4MP (1992)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested PS2 emulation HP 4 with optional ps cartridge - HP 4M and 4M+ built in}}
|-
| <!--Description-->HP Laserjet 4L Parport
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{no|PCL5 HP 4L only - no postscript}}
|-
| <!--Description-->HP Laserjet 5M (1995)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->PS2 emulation
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested you can try the ljet4 for the various lj5 drivers which produce various flavours of PCL. The 4, 4+ and 5 only really had one issue that plagued them, and it's hardly an issue at all. You would get accordian jams at the exit. A lot of people worked through this by pulling the sheet out before it got caught. Easily fixed by opening back door and scrubbing grime off of rubber rollers. }}
|-
| HP Laserjet 5L Parport (1997) (C3906A bk)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->{{N/A}}
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{no|PCL5 support only.}}
|-
| HP Laserjet 5P 6P (1995) (C3906A bk)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested HP 5p, 6p - Less tiny, slightly less slow. They are pretty bullet proof for low volume best to get postscript module though }}
|-
| HP Laserjet 2100 2100N 2100TN (1999)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested PS2 emulation }}
|-
| HP Laserjet 4000 Series Parport (1998)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|PS3 emulation only (4200 and 4600 have issues)}}
|-
| HP Laserjet 4050 Parport (1999)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->PS3 emulation only
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{maybe|works }}
|-
| HP Laserjet 5000 Parallel Port
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->PS3 emulation only
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|}}
|-
| HP LaserJet 6M, 1200, 1300, 2100, 2200, P2050 (and P2055) P3005, M3025, M3027, 3050, 3300, 4000, 4050, 4100, 4200, 4300, M4345, P3005, P3015, P4010, P4410, M5025, M5035, 5100, 5200, 8000, 8100, or 9000 series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->PS3 emulation optional only
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{untested }}
|-
| <!--Description-->HP Color LaserJet 2550, 3700, 4650, 8500 and 8550
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Lexmark Optra C, T, and W series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Xerox Phaser 850, 860
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
|}
=== USB Monochrome ===
{| class="wikitable sortable" width="90%"
! width="10%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Postscript Support
! width="10%" |GutenPrint Support
! width="20%" |Hardware Issues
! width="10%" |Running Costs
! width="20%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Postscript Support
| GutenPrint Support
| Hardware Issues
| Running Costs
| Opinion
|-
| <!--Description-->Brother HL-1270N
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->BRScript
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Brother HL-3070CW Printer USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|BR-Script3 (PS3) untested}}
|-
| <!--Description-->Brother HL5240 HL5240L
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->BRScript (PostScript Level 2)
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Brother HL-7050N
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->BR3
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Brother MFC-7860DW Monochrome B/W BW
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->BR-Script BRScript (PostScript Level 3)
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Brother HL4570CDWT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Epson EPL-6200 Laser Printer USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|cheap to buy but untested - running cost unknown}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Kyocera FS-1370DN
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| HP LaserJet CP1515n USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|cheap to buy but untested - running cost unknown}}
|-
| <!--Description-->Lexmark Optra E312
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->built in?
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
|}
=== USB Color ===
{| class="wikitable sortable" width="90%"
! width="10%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Postscript Support
! width="10%" |GutenPrint Support
! width="20%" |Hardware Issues
! width="10%" |Running Costs
! width="20%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Brother hl-3075cw
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->BR-Script 3
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Brother MFC-9120CN
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->BRS3
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->HP Color LaserJet 2500L (2003) USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{maybe|slow printing}}
|-
| HP Color LaserJet 2550L 2550Ln (2004) USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{maybe|slow printing}}
|-
| HP Color LaserJet CP1218, 2605, 3700, 4500, 4600, or 4650 series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{maybe|slow printing}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| Konica Minolta Magicolour 4650EN
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested}}
|-
| Kyocera FS-1010 FS-1010N
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested}}
|-
| Kyocera FS-C5200DN
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested}}
|-
| <!--Description-->Kyocera Mita FS-1030D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Kyocera FS-C5150DN
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| Lexmark C540n
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested}}
|-
| Lexmark [http://www1.lexmark.com/products/view/Printers/Lexmark%20C780n/catId=cat10006-category&prodId=3907-product C780n]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->{{yes|works PS3 emulation only}}
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
|
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| OKI C3600 Color Laser
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested}}
|-
| <!--Description-->Samsung CLP-315
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->untested
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| Xerox 618x Color Laser
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
|}
See [http://www.irseesoft.de/tp_drive7.htm here] for compatibility with TP7 (TurboPrint 7) Last update 2004. Not tested under emulation. Janus-UAE, Emumiga,
OS3.x support via [http://aminet.net/package/comm/tcp/NetPrinter NetPrinter] and [http://www.os4depot.net/index.php?function=browse&cat=driver/printer OS4 drivers] and [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=33955&forum=27#622365 experiences].
usbparallel.device
untested with USB->Centronics - The printer.class is rather 'clever'. It remembers to which unit the printers were connected (until you reboot). So if you first plug in Printer1, it gets unit 0, and Printer2 gets unit 1. If you now remove both printers and replug Printer2, it still will get unit 1 and not 0. This is used not to confuse the programs using the different units (moreover, if some program uses the usbparallel.device unit of an USB printer, and the printer is unplugged, the device unit cannot be freed immediately as the application still keeps it open). Sticking to the same units is generally a good idea I think (and therefore this mechanism is also used with all other classes creating exec.devices).
You may not send a short packet (packet less than maxpktsize == 64) nor zero byte packets until the very last byte of your printout. Otherwise the printer will silently ignore the data you sent. Some printer drivers print very short sequences that never fill the endpoint buffer, so printer ignore them. Bufferize all printer driver writes in the ieee1284.device and send them by epsize packets. So my hppsc2210 works fine with a classic HP560C driver, on a classic A2000 subwayized :)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Beige cream D shape centronics end (Prolific chipset?)
|
|
|
| {{N/A|untested}}
|-
| Belkin F5U002v1 centronics end (chipset?)
|
|
|
| {{N/A|untested}}
|-
| Belkin F5U002VEA v2 centronics end (Prolific PL2305L chipset)
|
|
|
| {{N/A|untested}}
|-
| DYNAMODE USB-C-PP-1284 USB to 36pin (Prolific 2305 chipset)
| 0x067b
| 0x2305
| 0x02
| {{N/A|untested but similar to BAFO below}}
|-
| IOGear GUC1284B
|
|
|
| {{N/A|untested}}
|-
| My-Link (raised ellipse on centronics plastic end) (unknown chipset)
|
|
|
| {{N/A|untested but more expensive }}
|-
| NEWLink (Prolific chipset?)
|
|
|
| {{N/A|untested}}
|-
| Targus PA096E centronics end (chipset?)
|
|
|
| {{N/A|untested}}
|-
| TRENDnet ware TU-P1284
|
|
|
| {{N/A|untested}}
|-
| True PnP (Prolific chipset 2305) cheap 36pin Centronics (series of ridges along both short sides)
| 0x067b
| 0x2305
| 2.00
| {{N/A|untested on BAFO BF-1284 but reports of poor quality and lack of support on other OSs }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| Transparent See Through Blue
|
|
|
| {{N/A|untested but possible poor quality build }}
|-
| Dynamode USB-PARALLEL 25pin female (prolific)
| 0x067b
| 0x2305
| 0x02
| {{N/A|untested}}
|-
| FDL USB to 25pin
|
|
|
| {{N/A|untested}}
|-
| PlusKom USB to 25pin female connector for printer (IEEE 1284)
|
|
|
| {{N/A|untested}}
|-
| QinHeng Electronics (CH340S chipset)
| 0x1a86
| 0x7584
|
| {{N/A|untested curvy sides - flat top }}
|-
| StarTech
|
|
|
| {{N/A|untested}}
|-
| Syba SD-USB-DB25
|
|
|
| {{N/A|untested}}
|-
|}
==rawwrap.class - some old flatbed scanners supported==
Scandal is the MUI frontend to [http://www.ppa.pl/bugtracker/ Betascan Bugtracker] and [http://aminet.net/search?query=betascan Search for Betascan scanner drivers] derived from [http://www.sane-project.org/sane-backends.html sane backends]
[http://www.sane-project.org/sane-backends.html#S-EPSON2 Epson2]
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Expression 1600 1640XL 1680 10000XL
| 0x04b8
| 0x0107
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Prefection 1200U, 1200 Photo,
| 0x04b8
| 0x0104
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Perfection 1240U
| 0x04b8
| 0x010b
| <!--Revision-->
| <!--Opinion-->{{[https://amigaworld.net/modules/newbb/viewtopic.php?topic_id=45760&forum=25 works]|Needs 24V 0.8A psu but in Trident, click on "Classes", then on "rawwrap.class", then on "Configure". There, under "Global", activate the Option "Bind to Vendor/Unknown Interfaces". Now go to the second tab "Default Interface" and select/enter these values:
Default usbraw.device Unit: 0
Exclusive access: Yes
Out NAK Timeout: 20000ms
In NAK Timeout: 20000ms
In Buffer Mode: No buffering
Buffer Size: 36 KB
Short Reads Terminate: Yes
Now click on "Use as Default" and select "Devices" on the left. There, click on your scanner and click on "Class Scan". Now close Trident by clicking on "Save". }}
|-
| Perfection 1640SU Photo
| 0x04b8
| 0x010a
| 0x0104
| {{yes|works, even the transparency unit}}
|-
| Perfection 1650 Photo, 1660 Photo, 3200 Photo
| 0x04b8
| 0x011c
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Perfection 2400 Photo, 2450 Photo
| 0x04b8
| 0x011b
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Perfection 4870 Photo, 4990 Photo,
| 0x04b8
| 0x0128
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Perfection V700 V750 Photo
| 0x04b8
| 0x012c
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Stylus CX2800 2900 3200 3500 3600 3650 3700 3800 3900
Stylus CX4100 4200 3500 4600 4700 4800 4900 500 5100 5200 5300 5400 5900
| 0x04b8
| 0x0802
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Stylus Office BX300F USB
| 0x04b8
| 0x0848
|
| {{yes| works with good scan quality}}
|-
|}
[http://www.meier-geinitz.de/sane/gt68xx-backend/ gt68xx] scanners based on the Grandtech GT-6801 and GT-6816 "System-On-Chip" scanner chipsets
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Artec Ultima 2000 and e+, Trust Flat Scan USB 19200 (ePlus2k.usb / Gt680xfw.usb)
| 0x05d8
| 0x4002
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Genius Colorpage Vivid3x 4x 1200x
| 0x0458
| 0x2011 to 0x201f
| <!--Revision-->
| <!--Opinion-->{{unk| (ccd548.fw)}}
|-
| <!--Description-->Lexmark X70 also X73 [http://subfusion.net/drivers/oslo3071b2.usb OSLO3071b2.usb]
| <!--Vendor ID-->0x043d
| <!--Product ID-->0x002d
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->Medion/Lifetec/Tevion/Cytron MD/LT 9375 and Artec Ultima 2000, MD LT 9385 Gt680xfw.usb
| <!--Vendor ID-->0x05d8
| <!--Product ID-->0x4002
| <!--Revision-->
| <!--Opinion-->
|-
| BearPaw 2448 CS and TA Plus [http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/A2Nfw.usb A2Nfw.usb]
| 0x055f
| 0x021a
| <!--Revision-->
| <!--Opinion-->{{unk|2009 }}
|-
| Mustek BearPaw 1200 CS
| 0x055f
| 0x021e
| <!--Revision-->
| <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/A1fw.usb A1fw.usb])}}
|-
| <!--Description-->Mustek 1200 CU Plus Scanner [http://www.meier-geinitz.de/sane/gt68xx-backend PS1Dfw.usb / SBSfw.usb]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2000 }}
|-
| Mustek ScanExpress 1200 UB plus, Trust Compact Scan USB 19200, ScanMagic 1200 UB Plus
| 0x05d8
| 0x4002
| <!--Revision-->
| <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/sbfw.usb sbfw.usb])}}
|-
| Mustek ScanExpress 1248 UB aka PC-World PC Line PCL-3000
| 0x055f
| 0x021f
| <!--Revision-->
| <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/SBSfw.usb SBSfw.usb])}}
|-
| Mustek BearPaw 2400CS TA aka Goodmans GSC 12/24
| 0x055f
| 0x0218
| <!--Revision-->
| <!--Opinion-->{{unk| (Transparency adapter untested) }}
|-
| BearPaw 2400 CS aka TA Plus
| 0x055f
| 0x0219
| <!--Revision-->
| <!--Opinion-->{{unk| (Transparency adapter) }}
|-
| Packard Bell Diamond 1200 Plus
| 0x055f
| 0x021c or 0x021b
| 0x0
| {{yes|works - [http://www.meier-geinitz.de/sane/gt68xx-backend/ firmware required] but slow usb 1.1 speed with poor quality output (scanner fault not scandal)}}
|-
| Packard Bell Diamond 2400 Plus aka BearPaw 2400 CU Plus [http://www.meier-geinitz.de/sane/gt68xx-backend/ PS2Dfw2.usb firmware rename to PS2Dfw.usb]
| 0x055f
| 0x021d
| 1.00
| {{yes|works slow usb 1.1 speed with ok quality output (scanner fault not scandal)}}
|-
| Plustek OpticPro 1248U
| 0x07B3
| 0x0400 0x0401
| <!--Revision-->
| <!--Opinion-->{{unk| (ccd548.fw)}}
|-
| Plustek OpticSlim 2400
| 0x07b3
| 0x0422
| <!--Revision-->
| <!--Opinion-->{{unk| (cis3R5B1.fw)}}
|-
| Visioneer OneTouch 7300
| 0x04a7
| 0x0444
| <!--Revision-->
| <!--Opinion-->{{unk| (Cis3r5b1.fw)}}
|-
| <!--Description-->Mustek ScanEpress 1200 UB (Plus) clone [http://www.meier-geinitz.de/sane/ use mustek_usb backend]
| <!--Vendor ID-->0x055f
| <!--Product ID-->0x0006
| <!--Revision-->
| <!--Opinion-->{{no| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
Lexmark - needs testing
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Lexmark X1110
|
|
|
| {{N/A|untested}}
|-
| Lexmark X1140
|
|
|
| {{N/A|untested}}
|-
| Lexmark X1150
|
|
|
| {{N/A|untested}}
|-
| Lexmark X1170
|
|
|
| {{N/A|untested}}
|-
| Lexmark X1180
|
|
|
| {{N/A|untested}}
|-
| Lexmark X1185
| 0x043d
| 0x007c
|
| {{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Lexmark X12xx
|
|
|
| {{N/A|untested in USB1.1, not fully tested in USB2.0}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Dell A920
|
|
|
| {{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
HP - no driver
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| HP ScanJet 4100C
| 0x03f0
| 0x0101
|
| {{no|no driver}}
|-
| HP ScanJet 5200C
| 0x03f0
| 0x0401
|
| {{no|no driver}}
|-
| HP ScanJet 62X0C
| 0x03f0
| 0x0201
|
| {{no|no driver}}
|-
| HP ScanJet 63X0C
| 0x03f0
| 0x0601
|
| {{no|no driver}}
|-
| HP
| 0x03f0
| 0x0102, 0x0105, 0x0205, 0x0305, 0x0405
|
| {{no|no driver}}
|-
| HP
| 0x03f0
| 0x0705, 0x0805, 0x0901, 0x0a01
|
| {{no|no driver}}
|-
| HP
| 0x03f0
| 0x1205, 0x1305, 0x2005, 0x2205
|
| {{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
Plustek [http://www.sane-project.org/sane-backends.html#S-PLUSTEK LM983x] - no driver
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Plustek OticPro U12 UT12 UT16 U24 UT24
| 0x07B3
| 0x0010 to 0x0017
|
| {{no|no driver}}
|-
| KYE/Genius Colorpage HR6-V2 HR6A HR7 HR7LE HR6X
| 0x0458
| 0x2008 to 0x2016
|
| {{no|no driver}}
|-
| Hewlett-Packard ScanJet 2100C and 2200C
| 0x03F0
| 0x0505 and 0x0605
|
| {{no|no driver}}
|-
| Mustek BearPaw 1200 and 2400
| 0x0400
| 0x1000 and 0x1001
|
| {{no|no driver}}
|-
| UMAX 3400/3450 and 5400
| 0x1606
| 0x0050, 0x0060 and 0x0160
|
| {{no|no driver}}
|-
| Epson Perfection 1250 and 1260
| 0x04B8
| 0x010f and 0x011d
|
| {{no|no driver}}
|-
| CANON CanoScan N650/656U N1220U D660U N670/676U N1240U LIDE20 LIDE25 LIDE30
| 0x04A9
| 0x2206 to 0x2220
|
| {{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|}
[http://snapscan.sourceforge.net/ SnapScan] - no driver
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Acer Benq 310U, 320U, 340U
| 0x4a5
| 0x0
|
| {{no|no driver}}
|-
| Acer Benq 620U, 620UT, 640U, 640UT
| 0x4a5
| 0x20
|
| {{no|no driver}}
|-
| Acer Benq 1240 3300 4300
| 0x4a5
| 0x020
|
| {{no|no driver}}
|-
| Agfa SnapScan e10 e20 e25 e26 e40 e42 e50 e52
| 0x06bd
| 0x20
|
| {{no|no driver}}
|-
| Epson Perfection 660
| 0x04b8
| 0x0114
|
| {{no|no driver}}
|-
| Epson Perfection 1270 1670
| 0x04b8
| 0x0
|
| {{no|no driver}}
|-
| Epson Perfection 2480 2580
| 0x04b8
| 0x0
|
| {{no|no driver}}
|-
| Epson Perfection 3490 3590
| 0x04b8
| 0x0
|
| {{no|no driver}}
|-
| Mitsubishi
| 0x0
| 0x0
|
| {{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
==hub.class (self-powered and external ac powered hubs)==
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Dynamode USB-H41 4 ports
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Belkin 4 Port
|
|
|
| {{yes|works}}
|-
| Conrad
|
|
|
| {{yes|[http://www.a1k.org/forum/showthread.php?t=11432 works on a1k forum] }}
|-
| DLink DUB-H4 AC Adapter
| 0x05e3
| 0x0608
| High 0200
| {{maybe|WARNING Genesys Logic Hub Broken - Will cause failures with USB}}
|-
| [http://service.targa.co.uk/faq.php?lang_id=2&baseid=178&artdesc=SilverCrest+USB+Hub+2040&artid=760&artpic=silvercrestHUB2040.jpg SilverCrest 4-port slim USB 2.0 HUB - HUB2040 (40775) - Targa GmbH]
| 0x05e3
| 0x0608
| 0901
| {{yes|works Genesys Logic, Inc., [http://service.targa.co.uk/dokumente/USB_HUB_2040_0109_manual_EN.pdf Manual]}}
|-
| Skymaster
| 0x05e3
| 0x0605
| 060B
| {{yes|works}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| No Name active 4-port
| 0x1a40
| 0x0101
| 0111
| {{yes|works}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->Thinkpad USB 3.0 Dock DU9019D1
| <!--Vendor ID-->0x17e9
| <!--Product ID-->0x4302
| <!--Revision-->0014
| <!--Opinion-->{{Maybe|works a bit}} classed as dfu.class with two further USB 2.0 hubs - USB 3.0 ports detected and work (2.0 backwards compatibility) - DisplayLink DL-3900 with VIA VL811 chipset - usb ethernet not working - two dvi not working - 20V psu 2a (40w) with a 5.5 - 2.5mm tip (no bus power) - data through a-b printer/scanner usb lead -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
|}
==Internet==
===rndis.class USB Tethering ===
The rndis class provides support for Ethernet access over Remote NDIS. Most USB based devices should be supported including smartfones.
Before opening Network Prefs, activate USB Tethering on the Smartfon, on Network prefs, type in usbrndis.device and tick "Start Network during system boot" and saved the configuration, the Connection is immediate no reboot is needed.
When restart AROS my Smartphone deactivates the connection and to access the network again, have to reactivate it before starting the browser.
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Alcatel
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes|untested}}
|-
| Huawei U8800
| 0x12d1
| 0x1039
|
| {{yes|works}}
|-
| <!--Description-->Huawei
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes|untested}}
|-
| HTC (Android phone)
| 0x0bb4
| 0x0ffe
|
| {{Yes|any android phone with usb tethering option}}
|-
| <!--Description-->Nokia
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes|untested}}
|-
| <!--Description-->Oppo
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes|untested}}
|-
| <!--Description-->Samsung Galaxy
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
|-
| <!--Description-->iPhone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Microsoft winPhone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|}
===USB → ethernet lan adaptor===
*2002 playstation 2 usb1.1 era - a little support but very old and slow
*2006 wii asix era - a little support but very much miss than hit
*2026 usb0: or eth0: of CDC Ethernet protocol (cdcether) with Ethernet Control Model (ECM) and [https://www.usb.org/document-library/class-definitions-communication-devices-12 others like Wireless Mobile Communication Devices WMC] and later CDC EEM (Ethernet Emulation Model) and NCM (Network Control Model) are USB Communication Device Class (CDC) protocols packing more Ethernet traffic over every USB bundle. For CDC Ethernet - NCM is better than EEM is better than ECM
* USB1.1 Up to 010 meg broadband (1.25MBytes/s) - ADM8511, DM9601 poor speeds
* USB2.0 Up to 400 meg broadband (60MBytes/s) - MCS7830, AX88772 a little especially the 2010 apple version but buy many as very very poor odds of working one
* USB3.0 Over 400 meg broadband (60+MBytes/s) - not supported at the moment
SANA (Standard Amiga Network Architecture) to usb
ADMtek Infineon ADM8511 Pegasus II (USB 1.1 and 10Mbit/s - Sony PlayStation 2 network adapter)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="50%" |Opinion
|-
| 3Com 3c460b
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2001 }}
|-
| Abocom UFE1000 / Abocom DSB650TX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Accton USB320-EC / Accton SpeedStream Ethernet
| 0x083a
| 0x0320
| <!--Revision-->
| {{unk|2002 }}
|-
| AEI USB Fast Ethernet / Allied Telesyn AT-USB100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2002 }}
|-
| ATEN UC-110T
| 0x0557
| 0x4000
|
| {{unk|2001 }}
|-
| BAFO USB To Ethernet Adapter BF-310
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2001 }}
|-
| Belkin F5D5050 v1 1101
| 0x050D
|
| <!--Revision-->
| {{maybe|2002 sometimes works from old amiga.org post which is now removed}}
|-
| Belkin F5D5050 v2 2101
| 0x050D
| 0x0121
| <!--Revision-->
| {{no|2006 does not works}}
|-
| Belkin F5U122-PC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Billionton USB-100 / Billionton USBLP-100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Billionton USBEL-100 / Billionton USBE-100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Compex LinkPort/UE202A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| D-Link DSB-H3ETX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| D-Link DSB-650 / D-Link DSB-650TX / D-Link DSB-650TX-PNA
| 0x2001
| 0x4000
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| D-Link DU-E10 / D-Link DU-E100
| 0x2001
|
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Edimax USB Ethernet Adapter EU-4201
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Elsa AG MicroLink USB2 Lan Ethernet adapter
| 0x05cc
| 0x3000
| <!--Revision-->1.01
| <!--Opinion-->{{unk| }}
|-
| GetNet
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| GIGABYTE GN-BR402W Wireless Router
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Goodway Fellowes USB UE-120 REV:V1 UE120 ADMTek 1011594 HO2419741
| <!--Vendor ID-->0x07a6
| <!--Product ID-->0x0986
| <!--Revision-->0001
| <!--Opinion-->{{maybe|2001 USB Specification 1.1 compliant}}
|-
| GWC Tech USB Ethernet Adapter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Hawking UF100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| HP HN210E / I/O DATA USB ETTX / Kingston KNU101TX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Jinco USB Ethernet Adapter 10/100 Base-T UE-110
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Kouwell USB to Ethernet 588A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Linksys USB10T / TA / TX
| 0x066b
| 0x2202
| <!--Revision-->
| <!--Opinion-->{{unk|untested - possible peg1/peg2}}
|-
| Linksys (Cisco) USB100TX / H1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Logitec LAN-TX/U1 H2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| [http://www.mayflash.com/psps2/ps2024/ps2024.htm Mayflash PS2024] Playstation2 compatible clone of Proxim/Farallon NetLine?
| 0x07a6
| 0x8511
| <!--Revision-->1.01
| <!--Opinion-->{{maybe|works with DHCP router option on old 32bit distros but not on newer 64bit, best to go asixeth apple 2010 but buy many of them as poor success rate i.e. a lottery}}
|-
| Netgear FA101
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Philips CPWUE01/00
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Planet UE-9500
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| PlayStation 2 SCPH-10000 50000 models
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Proxim (formerly Farallon) NetLine USB PN796-650
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Siemens SpeedStream USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| SOHOware NUB100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| SMC EZNET-USB 2202USB/ETH / SMC 2206USB/ETH
| 0x0707
| 0x0100 0x0200 0x0201
| <!--Revision-->
| {{unk|untested but should work very well }}
|-
| Surecom EP-1427X 100/10M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Target USB to 10/100M Fast Ethernet Converter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Trendnet TU-ET100C
| 0x07a6
| 0x8511
| <!--Revision-->0x0
| {{yes| sometimes works well, very stable}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Digitus USB NIC DN-3016-A
| 0x07a6
| 0x8513
| 1.01
| {{unk|untested new chipset }}
|-
| Digitus lanusb ADM8515
| 0x07a6
| 0x8515
| 1.01
| {{unk|untested because new chipset }}
|-
| VE285 usblan ADMtek 8515
| 0x07a6
| 0x8515
| 1.01
| {{no|not working as new chipset }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
Davicom DM9601 eth (USB 1.1 and up to 10Mbit/s)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Davicom USB-100 see clone below
| 0x0a46
| 0x9601
| <!--Revision-->
| <!--Opinion-->{{unk|2001 }}
|-
| [http://wiki.maemo.org/USB_to_ethernet_networking chinese translucent transparent crystal blue] but variants are also found in clear, white and black. Just over 6 cm long.
| 0x0a46
| 0x9601
| 0x0
| {{yes|2002 success can be sporadic so technically okay, but lacking in reliability. Out of 4 tested by me, only 2 worked. One case cracked open. }}
|-
| Corega FEther USB-TXC
| 0x07aa
| 0x9601
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Dynamode USB-NIC-1427-100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Hirose USB-100
| 0x0a47
| 0x9601
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| KY-RS9600
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585358&postcount=12 works] }}
|-
| ShanTou ST268 USB NIC
| 0x0a46
| 0x0268
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| ZT6688 USB NIC
| 0x0a46
| 0x6688
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->ICS Advent DM9601 USB 2.0 10/100M Ethenet Adaptor JP1081B
| <!--Vendor ID-->0x0FE6
| <!--Product ID-->0x9700
| <!--Revision-->0101
| <!--Opinion-->{{No|not working 32bit and 64bit - USB 1.1 10M ethernet}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
|}
MosChip MCS7830 (USB 2)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Digitus DN-10050
| 0x9710
| 0x7830
| <!--Revision-->
| <!--Opinion-->{{unk|2004 }}
|-
| Edimax [http://www.edimax.co.uk/images/Image/datasheet/USB/EU-4206/EU-4206.pdf EU-4206]
|
|
| <!--Revision-->
| <!--Opinion-->{{unk|2005 }}
|-
| Speed Dragon
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| STLabs
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| StarTech Compact USB2105S [http://www.kustompcs.co.uk/acatalog/info_6790.html USB2106S]
| 0x9710
| 0x7830
| <!--Revision-->
| <!--Opinion-->{{unk|2007 }}
|-
| Sunrich Technologies [http://www.st-lab.com/admin/upfile/UploadFile/manual/manual(u-250).zip U-250]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2006 }}
|-
| Syba
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->MCS 7832
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2008 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
|}
* USB2 [https://www.asix.com.tw/en/product/USBEthernet Asix Ethernet] AX88178A, AX88772C, AX88772B, AX88772A (wii), AX88172A
* USB3 AX88179A, AX88179
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| AirLink101 AGIGAUSB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009 AX88172}}
|-
| ATEN UC210T
| 0x0557
| 0x2009
| 0x
| <!--Opinion-->{{unk| AX88172}}
|-
| <!--Description-->Billionton Systems USB2AR
| <!--Vendor ID-->0x08dd
| <!--Product ID-->0x90ff
| <!--Revision-->
| <!--Opinion-->{{No| }}
|-
| <!--Description-->Buffalo LUA-U2-KTX
| <!--Vendor ID-->0x0411
| <!--Product ID-->0x003d
| <!--Revision-->
| <!--Opinion-->{{No| }}
|-
| <!--Description-->corega FEther USB2-TX
| <!--Vendor ID-->0x07aa
| <!--Product ID-->0x0017
| <!--Revision-->
| <!--Opinion-->{{no| }}
|-
| D-Link DUB-E100 up to rev A4
| 0x2001
| 0x1a00
|
| <!--Opinion-->{{No| }}
|-
| <!--Description-->D-Link DUB-E100 rev B1 onwards
| 0x07d1 or 0x2001
| 0x3c05
| <!--Revision-->
| <!--Opinion-->{{Maybe|AX88172 works on Deneb with [http://amigax.com/2010/02/21/usb-ethernet-speed-test-amigaos-4-0-classic/ Amiga OS4 Classic] and [http://www.a1k.org/forum/showthread.php?t=11432 on a1k] }}
|-
| <!--Description-->goodway corp USB gwusb2e
| <!--Vendor ID-->0x1631
| <!--Product ID-->0x6200
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Hawking UF200
| 0x07b8
| 0x420a
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[Linksys USB200M]
| 0x077b
| 0x2226
| <!--Revision-->
| <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585601&postcount=20 works] }}
|-
| <!--Description-->Netgear FA120
| 0x0846
| 0x1040
| <!--Revision-->
| <!--Opinion-->{{N/A|untested 2002 10/100 Rev.B1" is silkscreened on the board of the device populating this entry (S/N: FA12254CB100409, date code 0508). This device may be manuf. by [http://www.cameo.com.tw/ Cameo] "AX88172 L", "F05040157", and "ED3" Chip1 ASIX AX88172 Chip2 Realtek RTL8201BL}}
|-
| <!--Description-->Intellinet
| 0x0b95
| 0x1720
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->JVC MP-PRX1 Port Replicator
| <!--Vendor ID-->0x04f1
| <!--Product ID-->0x3008
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->ST Lab USB Ethernet
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x1720
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->Sitecom LN-029 "USB 2.0 10/100 Ethernet adapter"
| <!--Vendor ID-->0x6189
| <!--Product ID-->0x182d
| <!--Revision-->0
| <!--Opinion-->{{No| }}
|-
| <!--Description-->Surecom EP-1427X-2
| <!--Vendor ID-->0x1189
| <!--Product ID-->0x0893
| <!--Revision-->
| <!--Opinion-->{{No| }}
|-
| <!--Description-->TrendNet TU2-ET100 v2
| 0x07b8
| 0x420a
| <!--Revision-->
| <!--Opinion-->{{Maybe|version 2}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->A-LINK NA1GU
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 88772}}
|-
| <!--Description-->AirLink101 ASOHOUSB Wii
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->AirLive EtherWe-1000U
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->APPLE AX88772 Model No. A1277 MC704LL/A P/N 825-7098-A
| <!--Vendor ID-->0x05ac
| <!--Product ID-->0x1402
| <!--Revision-->
| <!--Opinion-->{{No|2008 usb2, }}
|-
| <!--Description-->APPLE Model No. A1277 (MB442Z/A 0885909217434) MC704ZM/A PN 825-7579-A
| <!--Vendor ID-->0x05ac
| <!--Product ID-->0x1402
| <!--Revision-->
| <!--Opinion-->{{Maybe|2010 model, usb2 and controller AX88772 where prehaps 1in3 units working with owb - really poor odds i.e. a lottery, could be situation where various ethernet phy chipsets are used - press Use in network prefs after Save initial setup typing in usbasixeth.device, }}
|-
| <!--Description-->ASIX AX88772 bulbous casing
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x7720
| <!--Revision-->0x0
| <!--Opinion-->{{maybe|2008 works on 32bit and 64bit though setup can take a few attempts but may have issues with phy ethernet chip changing, }}
|-
| <!--Description-->Datel Wii Lan Adapter DUS0204
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2007 }}
|-
| <!--Description-->EdiMax EU-4207
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 }}
|-
| <!--Description-->Goodway HE2230 Maplin ASIX 88772
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 }}
|-
| <!--Description-->Intec LAN G5626
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 }}
|-
| <!--Description-->LevelOne USB-0202
| 0x0b95
| <!--Product ID-->0x07720
| <!--Revision-->0x
| <!--Opinion-->{{unk|2008 }}
|-
| <!--Description-->LevelOne USB-0301
| 0x0b95
| <!--Product ID-->0x07720
| <!--Revision-->0x
| <!--Opinion-->{{unk|2009 }}
|-
| <!--Description-->Linksys USB200M Rev 2
| <!--Vendor ID-->0x13b1
| <!--Product ID-->0x0018
| <!--Revision-->
| <!--Opinion-->{{maybe|2008 sparsely randomly working AX88772 or with "Sana-II Meter Tool 37.11" network monitoring program, showing continuous "Bad Packet" errors which could means "CRC" errors}}
|-
| <!--Description-->Linksys USB300M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{maybe|2009 AX88772 }}
|-
| <!--Description-->Mayflash W001 or clones Lupo/PEGA S-Wii-0680 light gray rectangular with third of one top 45 degree angled slope
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x7720
| <!--Revision-->0x0
| <!--Opinion-->{{unk| may have randomly changed phy ethernet chips, }}
|-
| <!--Description-->Max Value MVF00446 ASIN B006EG568A
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x7720
| <!--Revision-->0x0
| <!--Opinion-->{{Maybe|Trident prefs recognises as AX88772 sometimes works on 32bit and 64bit}}
|-
| <!--Description-->NEWLink N14050
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->NEWLink Wii-ETH USB2.0
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Nintendo Wii LAN Adaptor 2110566 and clones
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x07720
| <!--Revision-->0x
| <!--Opinion-->{{Maybe|Poseidon recognises as AX88772 with usbasixeth.device sometimes works seems different ethernet phy chips can be matched affecting compatibility}}
|-
| <!--Description-->Nyko Wii Net Connect 87024
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585624&postcount=22 works] }}
|-
| <!--Description-->0Q0 cable ethernet
| <!--Vendor ID-->0x1557
| <!--Product ID-->0x7720
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Plugable USB2-E100 (2009/2010) Bulbous housing
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x7720
| <!--Revision-->0x0
| <!--Opinion-->{{Maybe|Trident prefs recognises it as ax88772A and typing in usbasixeth.device sometimes works}}
|-
| <!--Description-->Sabrent KINAMAX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->SpeedLink SL-3401-SGY
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->TrendNet TU2-ET100 v3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->UGreen 20254 USB2 to 10/100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| AX88772}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Afunta Apple-style White USB2.0 I/O Crest SY-ADA24005 ASIX Electronics Corp. AX88772A Fast Ethernet Adapter
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x772a
| <!--Revision-->0x
| <!--Opinion-->{{no|usbasixeth.device accepted by network prefs but does not work}}
|-
| <!--Description-->Amazon Basics USB 2.0 AX88772A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Digitus DN-10050-1
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x772a
| <!--Revision-->0x0
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Edimax EU-4230
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x772a
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sabrent KINAMAX NT-USB20 AX88772A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description--> AX88772B USB 2.0 to 10/100M
| <!--Vendor ID-->0x0B95
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2010 }}
|-
| <!--Description-->
| <!--Vendor ID-->0x0B95
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->EdiMax EU-4208
| <!--Vendor ID-->0x0B95
| <!--Product ID-->0x772b
| <!--Revision-->0x
| <!--Opinion-->{{No|Detected but not working}}
|-
| <!--Description-->
| <!--Vendor ID-->0x0B95
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->StarTech USB2100 ASIX AX88772C
| <!--Vendor ID-->0x0B95
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->0x0B95
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[https://www.asix.com.tw/en/product/USBEthernet/High-Speed_USB_Ethernet/AX88772D AX88772D]
| <!--Vendor ID-->0x0B95
| <!--Product ID-->0x1790
| <!--Revision-->
| <!--Opinion-->{{unk|2011 }}
|-
| <!--Description-->
| <!--Vendor ID-->0x0B95
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[https://www.asix.com.tw/en/product/USBEthernet/High-Speed_USB_Ethernet/AX88772E AX88772E]
| <!--Vendor ID-->0x0B95
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012 }}
|-
| <!--Description-->
| <!--Vendor ID-->0x0B95
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->AX88178
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2004 }}
|-
| <!--Description-->Plugable USB2-E1000 i.e. USB 2.0 to Gigabit Ethernet 10/100/1000 LAN
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 ASIX AX88178 Controller and Realtek RTL8211CL PHY}}
|-
| <!--Description-->AX88178A USB 2.0 to 10/100/1000M Gigabit Ethernet controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2005 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->AmazonBasics USB3.0 adapter [https://github.com/nothingstopsme/AX88179_178A_Linux_Driver AX88179]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Cable Matters SuperSpeed USB 3.0 RJ45 adapter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Hori Nintendo Switch 1 USB3 ethernet AX88179
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x1790
| <!--Revision-->
| <!--Opinion-->{{no|2017 AX88179 not binding to asixeth.class }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Plugable USB3-E1000
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x1790
| <!--Revision-->
| <!--Opinion-->{{no|2020 ASIX AX88179 not binding to class, USB 3.2 Gen1 to Gigabit Ethernet controller with integrated 10/100/1000Mbps Gigabit Ethernet PHY}}
|-
| <!--Description-->Plugable AX88179 = [https://plugable.com/products/usb3-e1000-deal USB3-E1000] before mid-2023 or USB3-E1000; AX88179A = USBC-E1000 after mid-2023
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 controller is AX88179 phy is ??, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->StarTech USB31000SPTW ax88179
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x1790
| <!--Revision-->
| <!--Opinion-->{{no| AX88179 not binding to asixeth.class, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->StarTech USB31000NDS AX88179 USB-A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->StarTech US1GC301AU AX88179 USB-c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->StarTech US1GC30B2 AX88179A USB-c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->StarTech USB32000SPT AX88179A USB-c Rev 1 (AX88179) Rev 2 (AX88179A)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->USB32000SPT the Lot code sticker will have a bar code accompanied by a 10 digit number. The 5th and 6th digits of this lot code number would signify the revision. (Ex. xxxx02xxxx which would indicate rev. 2)
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->SYBA SY-ADA24029 Gigabit AX88179
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| }} may depend on the PHY chip connected to the controller chipset
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->TP-Link UE306 AX88179
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->TeckNet® Orico UL677G 10/100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->TeckNet® UL688G USB 3.0 10/100/1000 Base-T Ethernet port
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->AX88179 178A
|-
| <!--Description-->Tecknet UL699G
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->TrendNet TU2-ET100 v6
| <!--Vendor ID-->0x07b8
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|no support }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->uGreen 50922 USB3-A to 100/1000 dark grey rounded barrels
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x
| <!--Revision-->
| <!--Opinion-->{{no| ax88179 not binding to asixeth.class, }}
|-
| <!--Description-->UGreen USB3-C to 100/1000
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x1790
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->uGreen CR111 20256 usb3 a black plastic
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| AX88179}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description--> AX88179A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Plugable USB3-E1000 USBC-E1000 after mid-2023 i.e. AX88179A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->StarTech USB31000SPTB
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x1790
| <!--Revision-->
| <!--Opinion-->{{unk| AX88179A USB-A, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description--> AX88179B
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|}
==USB → SerialPort Converter==
*2002 some support for early revisions of PL2303
*2005 Prolific PL2303H PL-2303X and Pl-2303HX (same usb ids as pl2303) no support
*2025 FTDI 232R [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1135&highlight=232r&rowstart=20 work in progress]
*2026 CDC-ACM i.e. Serial port over USB standard
serialpl2303.class make sure you specify serialpl2303.device or Echo "Test" >SER1:
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| ATEN UC-232A
| 0x0557
| 0x2008
| Full 0x0300
| {{N/A|untested}}
|-
| IOGear GUC232A
| 0x0557
| 0x2008
| Full 0x0110
| {{N/A|untested}}
|-
| Alcatel
| 0x11f7
| 0x02df
|
| {{N/A|untested}}
|-
| BAFO BF-810
| 0x067B
| 0x2303
| 0x0
| {{N/A|untested}}
|-
| Belkin F5U103
| 0x
| 0x
| 0x0
| {{N/A|untested}}
|-
| Davibe SP611
| 0x067B
| 0x2303
| 0x0
| {{N/A|untested}}
|-
| Dcu10
| 0x0731
| 0x0528
|
| {{N/A|untested}}
|-
| Elcom
| 0x056e
| 0x5003
|
| {{N/A|untested}}
|-
| IOData
| 0x04bb
| 0x0a03
| 0x0
| {{N/A|untested}}
|-
| Itegno
| 0x0eba
| 0x1080
|
| {{N/A|untested}}
|-
| Nokia CA42
|
|
|
| {{N/A|untested}}
|-
| Radioshack
| 0x1453
| 0x4026
|
| {{N/A|untested}}
|-
| Ratoc
| 0x0584
| 0xb000
|
| {{N/A|untested}}
|-
| Samsung
| 0x04e8
| 0x8001
|
| {{N/A|untested}}
|-
| Siemens DCA-510
| 0x067B
| 0x2303
| 0x0
| {{N/A|untested}}
|-
| Sitecom CN104
| 0x6189
| 0x2068
|
| {{N/A|untested}}
|-
| Sitecom CN116
| 0x6189
| 0x2068
|
| {{N/A|untested}}
|-
| Some Cut Ma620
| 0x0df7
| 0x0620
|
| {{N/A|untested}}
|-
| Speed Dragon Multimedia MS3303H
|
|
|
| {{N/A|untested}}
|-
| Syntech
|
|
|
| {{N/A|untested}}
|-
| <!--Description-->Tripp
| 0x2478
| 0x2008
|
| {{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Airlink101 AC-USBS
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver }}
|-
| <!--Description-->Belkin F5U103v
| 0x067B
| 0x2303
| 0x0
| {{no|no driver }}
|-
| Dynamode U232-P9
| 0x067B
| 0x2303
| 300
| {{no| no driver [http://koti.mbnet.fi/lonnberg/pl2303x.html linux patch] and using lsusb -v -d 067b:2303 gave bMaxPacketSize as 64 - pl2303x }}
|-
| Konig CABLE-146/2 USB to RS232
| 0x067b
| 0x2303
| 400
| {{no|no driver }}
|-
| MANHATTAN 205146 USB to Serial Converter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver }}
|-
| Sabrent SBT-USC1M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver }}
|-
| <!--Description-->Trendnet TU-59
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver }}
|-
| <!--Description-->Unbranded black case and lead USB 232 Converter
| <!--Vendor ID-->0x067B
| <!--Product ID-->0x2303
| <!--Revision-->0300
| <!--Opinion-->{{No| }}
|-
|}
[http://www.ftdichip.com/index.html Future Technology Devices International Ltd FTDI]-FT232R.class [https://ftdichip.com/software-examples/code-examples/c-builder/ FTProg src], [http://rtr.ca/ft232r/ ft232r src], [https://ftdichip.com/wp-content/uploads/2020/08/DS_FT232R.pdf FT232R datasheet], [],
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->0x0403
| <!--Product ID-->0x6001
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} [https://www.youtube.com/watch?v=1GE-gKgHxZI beware of cheap clones fake with s/n A50285BI SN]
|-
| <!--Description-->Lynx Astro FTDI
| <!--Vendor ID-->0x0403
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} FT232R
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->Sabrent CB-FTDI
| <!--Vendor ID-->0x0403
| <!--Product ID-->
| <!--Revision-->
| {{no|no driver TTL-232R cables use FTDI's [http://n1mm.hamdocs.com/tiki-index.php?page=USB+Interface+Devices FT232RQ ic device] }}
|-
| <!--Description-->Startech.com 1 Port FTDI USB to Serial RS232 DB9M Adapter Cable with COM Retention ICUSB2321F
| <!--Vendor ID-->0x0403
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} FT232RL Chipset
|-
| <!--Description-->StarTech.com 2 Port FTDI USB to Serial RS232 Adapter Cable ICUSB2322F
| <!--Vendor ID-->0x0403
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} FTDI FT2232D Chipset
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} FT232RL is the SSOP-28 and the FT232RQ is the QFN-32 package option
|}
[https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html ch341a.class]
*I2C EEPROMS (3.3V and 5V) compatible and also SPI FLASH memories (3.3V devices) making sure 1.8V is covered
*each having their own [https://winraid.level1techs.com/t/guide-how-to-use-a-ch341a-spi-programmer-flasher-with-pictures/33041 4x2 connection blocks] using [https://github.com/flashrom/flashrom flashrom]
sudo flashrom --programmer ch341a_spi -r backup.bin
sudo flashrom --programmer ch341a_spi -w <new bios name>
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Jiangsu QinHeng Ltd CH341A emulate UART communication, standard parallel port, memory parallel port and synchronous serial (I2C, SPI)
| <!--Vendor ID-->0x1A86
| <!--Product ID-->0x5512
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->QinHeng USB2.0-Serial HL-340
| <!--Vendor ID-->0x1A86
| <!--Product ID-->0x7523
| <!--Revision-->0252
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|}
==simplemidi.class and CAMD==
Currently support includes
* simplemidi.class SimpleMidi maps some keyboard keys to corresponding computer keys as used by music trackers to emulate a musical keyboard
* camdusbmidi.class follows the rules of the m68k implementation of Commodore's CAMD midi specification and usb class compliant
for
* usb host like a computer
* usb device controllers - keyboards, drum machines, djay turntables, grooveboxes, etc
* interfaces - cables or boxes which convert usb to 5pin DIN plug midi
What is needed is a fully class-compliant '''brand name''' USB MIDI keyboard, especially manufactured in the last 10 years are best
*Arturia
*Novation
*M-Audio
*Akai
Plugging this in one of your USB ports, the camd.library will make the keyboard's MIDI IN/OUT ports available in the system.
Then select the keyboard's MIDI IN port (known as a "cluster" in CAMD) for input, and the software instrument's cluster as output
ShowCluster (shows midi ports available in and out)
MidiWatch (usually port usbmidi.in.0 less often usbmidi.out.0) (Ctrl-C to end output stream)
usbmidi.in.0 Message on channel 01, NoteOn 90 39 08 00
usbmidi.in.0 Message on channel 01, NoteOff 80 39 00 00
MidiThru (forwards messages from one port to another)
run >nil: c:midithru usbmidi.out.0 usbmidi.out.2
MidiSendC (sends a middle C to a specific port)
Midi Controller + Sound Module (together aka as a synth) -> Audio Output
The difference between midi and midi over USB is that in old school Midi the transmitter transmits whenever it wants and the receiver always has to be prepared to receive data. Easy to do at the rate of a 1990's modem speed these days.
USB over midi.. turns midi into a polled protocol.. So the USB host (typically the computer) has to ask "do you have anything for me" before the remote will send. If the USB host gets busy doing other things or there is a lot of things on the USB bus to get polled, you can get delays.
For its age midi is still a great protocol for music
* [https://www.usb.org/sites/default/files/midi10.pdf USBIF's "USB Device Class Definition for MIDI Devices" document, version 1.0 from Nov 1, 1999]
* [https://www.usb.org/sites/default/files/USB%20MIDI%20v2_0.pdf MIDI v2.0 from 2020 which AROS still needs, adds support for MIDI 2.0, MIDI-CI, and Universal MIDI Packet]
Nearly all synthesizers now use the 16 MIDI channels available on a MIDI bus in one instrument alone, requiring multiple MIDI busses in a typical setup with more than
one MIDI instrument. In addition, by handling multiple "virtual" cables, USB offers a solution to go beyond MIDI's 16-channel limit.
MIDI data is transferred over USB using 32-bit USB-MIDI Event Packets. These packets provide an efficient method to transfer multiple MIDI streams with fixed length messages. The 32-bit USB-MIDI Event Packet allows multiple "virtual MIDI cables" routed over the same USB endpoint. This approach minimizes the number of required endpoints. It also makes parsing MIDI events easier by packetizing the separate bytes of a MIDI event into one parsed USB-MIDI event.
{| class="wikitable sortable" width="90%"
! width="25%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="15%" |CAMD
! width="30%" |Opinion
|-
| <!--Description-->Computer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{Yes|which acts as USB midi host to get all usb devices talking together}}
|-
| <!--Description-->Hobbytronics usb host standalone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->bomebox
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->raspberry pi with several midi interface(s) and linux scripting
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Kenton MIDI USB Host mk3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}}
|}
{| class="wikitable sortable" width="90%"
! width="25%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="15%" |CAMD
! width="30%" |Opinion
|-
| <!--Description-->Acorn Instruments Masterkey 49 device
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2018 untested usb powered 5V regulated - similar keybed to keystation 49es but unplug then re-plug the USB cable while it is powered the device might reconnect
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion--> midi keyboard controller
|-
| <!--Description-->Akai SynthStation 25
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2010 - sticky rubber keys - usb
|-
| <!--Description-->Akai MPK Mini Laptop Production Keyboard
| <!--Vendor ID-->0x09e8
| <!--Product ID-->0x007c
| <!--Revision-->0100
| <!--CAMD-->{{Yes|detected and camd usb to use, not tested with apps}}
| <!--Opinion-->2010 25 mini key self powered by mini USB lead - sustain port - no top left corner joystick - tested icaros 2.3 -
|-
| <!--Description-->Akai LPK25 LPK37 LPK49 Laptop Production Keyboard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested }}
| <!--Opinion-->2012 untested velocity sensitive mini keys with synth action - weak mini USB port - latency issues -
|-
| <!--Description-->Akai Professional APC Key 25
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2012
|-
| <!--Description-->Akai MPK49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| untested}}
| <!--Opinion-->2012 untested 49 key 49-key full-sized, semi-weighted keyboard with aftertouch -
|-
| <!--Description-->AKAI Max25 MAX49 control keyboard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested }}
| <!--Opinion-->2014 usb compliant
|-
| <!--Description-->Akai Professional MPK249 MPK261
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2015 USB2 USB-b - full keys semi-weighted aftertouch - midi in out - sustain and peddle port
|-
| <!--Description-->Akai Professional Advance 49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2016
|-
| <!--Description-->Akai MPK Mini MKII MK2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| untested}}
| <!--Opinion-->2017 untested USB2 USB-b midi connection only - 4 way thumb joystick top left - 25 tiny keys - velocity drum pads - plastic build quality -
|-
| <!--Description-->AKAI Professional APC Key 25 MK2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| driver}}
| <!--Opinion-->2017
|-
| <!--Description-->Akai MPK Mini Play
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2021 untested USB2 USB-b midi connection only - synth basic samples - class compliant? - small led display top centre - 25 mini keys - press and hold the "Prog Select" button then use the "Program" knob to assign a MIDI channel -
|-
| <!--Description-->Akai MPK Mini 3 MKIII MK3
| <!--Vendor ID-->0x09E8
| <!--Product ID-->0x1049
| <!--Revision-->0200
| <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - - midi in out untested - }}
| <!--Opinion-->2021 USB2 USB-b midi controller connection no 5pin legacy - small led display top centre - 25 mini keys goofy uneven feel of the akai keyboards - press and hold the "Prog Select" button and press pad 1 to 8 to assign a MIDI channel - tested on AROS One 2.4 usb
|-
| <!--Description-->Akai Force / MPC One
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{Maybe| }}
| <!--Opinion-->
|-
| <!--Description-->Akai Pro MPK Mini Plus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{Maybe| }}
| <!--Opinion-->2023 untested 37 mini keys - class compliant device - usb-b bus powered only with 5pin midi in and out - Shift and Global for Midi Ch -
|-
| <!--Description-->Akai Pro Ableton Push Mk 1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Akai Professional MPC Key 37 49 61 midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| untested}}
| <!--Opinion-->2023 untested USB2 usb-b
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->Alesis Photon PH-25 X25 Midi & USB keyboard/synth
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2005 midi keyboard controller
|-
| <!--Description-->Alesis Q25 Q49 Q61 Q88
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{Maybe| }}
| <!--Opinion-->2014 untested
|-
| <!--Description-->Alesis Coda Pro Portable 88-Key Digital Piano USB MIDI Keyboard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2015
|-
| <!--Description-->Alesis V25 V49 V61 midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| untested}}
| <!--Opinion-->2017
|-
| <!--Description-->Alesis V Mini
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{Maybe| }}
| <!--Opinion-->
|-
| <!--Description-->Alesis VI49 VI61 midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{Maybe| }}
| <!--Opinion-->
|-
| <!--Description-->Alesis VX49 VX61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2016 1 5-pin MIDI input, 1 5-pin MIDI output, 1 USB port,
|-
| <!--Description-->Alesis Q25 Q49 Q61 Mk2 MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2018
|-
| <!--Description-->Alesis Recital 88
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2020
|-
| <!--Description-->Alesis V25 V49 V61 MK2 MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2022
|-
| <!--Description-->Alesis Qmini portable 32-key
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2023
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->audiothingies MicroMonsta
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2016 untested synth -
|-
| <!--Description-->audiothingies MicroMonsta 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2019 synth -
|-
| <!--Description-->Arturia Analog Experience “The Player” USB MIDI Master Keyboard Model APE25
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2010 usb-b bus powered -
|-
| <!--Description-->Arturia MiniLab Mk1
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2013 maybe class complaint
|-
| <!--Description-->Arturia MiniLab MkII Mk2
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2016 maybe class complaint
|-
| <!--Description-->Arturia Keystep 32
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{Maybe| }}
| <!--Opinion-->2016 untested 32 mini keys usb compliant
|-
| <!--Description-->Arturia KeyLab 61 88
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{Maybe| }}
| <!--Opinion-->2017 untested hammer-action Fatar keybed - reset Press and hold Oct + and Oct – buttons then insert the USB cable -
|-
| <!--Description-->Arturia MiniLab mkII
| <!--Vendor ID-->0x1C75
| <!--Product ID-->0x2209
| <!--Revision-->0100
| <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - - midi in out untested - }}
| <!--Opinion-->2017 USB2 usb-b bus power - metal base heavier than most - Shift and press a key to select the MIDI Channel - To reset to original factory, unplug the USB cable, hold down the Oct- and Oct + buttons, plug the USB cable back in and continue to hold the buttons until the pads turn white - need software to change parameters like velocity sensitive assistance -
|-
| <!--Description-->Arturia KeyLab MK2 MKII 61 88
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested }}
| <!--Opinion-->2017 untested hammer-action Fatar keybed
|-
| <!--Description-->Arturia MicroFreak
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2019 hybrid digital/analog synthesis,
|-
| <!--Description-->[https://www.youtube.com/watch?v=PeYIAfn3UMs Arturia Minilab 3] [https://www.youtube.com/shorts/chj1WgMupGw ] [https://www.youtube.com/shorts/FMVdfhzg1Dw ]
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| untested}}
| <!--Opinion-->2020 untested usb-c bus powered - 25 mini keys semi -
|-
| <!--Description-->Arturia Keystep Pro
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2020
|-
| <!--Description-->Arturia MiniLab 3 Mk3
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2022 maybe class complaint
|-
| <!--Description-->Arturia MiniFreak
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2022
|-
| <!--Description-->Arturia KeyLab Essential 49 61 88 mk3
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2023 untested usb-c and 1 midi out - lack of aftertouch -
|-
| <!--Description-->Arturia AstroLab
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2024
|-
| <!--Description-->Arturia KeyLab MK3 MKIII 61 88
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2025 untested hammer-action Fatar keybed
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Behringer UMX61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe|untested}}
| <!--Opinion-->2007
|-
| <!--Description-->Behringer U-Control UMX490 UMX610
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2010
|-
| <!--Description-->Behringer U-Control
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->Behringer Swing 32-Key
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Behringer MOTOR 49 - 49-Key USB/MIDI Master Controller Keyboard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion--> midi keyboard controller
|-
| <!--Description-->Creative EMU Xboard 25 E-MU X-Board 49 61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|untested}}
| <!--Opinion-->2008
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->CME M-Key Mkey 49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2008 stops sending MIDI on a regular basis. The simplest "fix" is to flip it off and on via the power switch at the back
|-
| <!--Description-->CME Ukey U-Key
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2009
|-
| <!--Description-->CME Xkey
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2014 low-profile aluminium full size pressure sensitive with polyphonic aftertouch but keys make too much noise and that they can be too sensitive to velocity - low power draw 25ma
|-
| <!--Description-->CME M-Key 49 V2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2014 simplified version of the U-key Mobiltone
|-
| <!--Description-->CME XKEY AIR 37
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2019
|-
| <!--Description-->cme xkey 37 le
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2020
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{ | }}
| <!--Opinion-->
|-
| <!--Description-->Donner Spaceline DMK-25 Donnerdeal Rantion
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Donner DMK25 PRO
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion--> 25 mini velocity keys with limited aftertouch - usb-c powered - 8 drum pads - 3.5mm "midi out" socket -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{ | }}
| <!--Opinion-->
|-
| <!--Description-->Elektron Digitakt
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2015 expensive later midi usb class compliant with since 1.5 Update
|-
| <!--Description-->Elecktron Digitone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Elektron Digitone Keys 37-key Digital FM Synthesizer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2018 expensive
|-
| <!--Description-->Elektron Analog Four MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Elektron Octatrak MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{ | }}
| <!--Opinion-->
|-
| <!--Description-->ESI keycontrol
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->ESI keycontrol 49+
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->ESI keycontrol 25xt
| <!--Vendor ID-->0x2702
| <!--Product ID-->0x2702
| <!--Revision-->0100
| <!--CAMD-->{{Yes|detected and usb driver working}}
| <!--Opinion-->2011 bus powered or 12v 0.5a dc in - metal base so heavy - midi out 5pin - sustain pedal port - modulation slider - rubber coated knobs becomes sticky -
|-
| <!--Description-->ESI keycontrol 49xt 61xt 88xt
| <!--Vendor ID-->0x2702
| <!--Product ID-->
| <!--Revision-->0100
| <!--CAMD-->{{Yes|detected}}
| <!--Opinion-->2011 12v 0.5a center pin +ve external psu required - USB i/o and 1 legacy 5pin out - full sized keys - heavy aluminium case keyboard metal base -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion-->
|-
| <!--Description-->Evolution MK-125 MK-149
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2000 9v
|-
| <!--Description-->Evolution MK-225C MK-249C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2003 9v
|-
| <!--Description-->Evolution USB/Midi Controller MK-425C MK-449C MK-461C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|25, 49, 61 keys - }}
| <!--Opinion-->2006 9V or 12V -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi keyboard controller
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->IK Multimedia iRig Keys Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2014 37 full keys
|-
| <!--Description-->IK Multimedia iRig Keys Pro Mobile
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2014 25 or 37 mini keys
|-
| <!--Description-->IK Multimedia iRig Keys 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2020 mini velocity keys no aftertouch -
|-
| <!--Description-->IK Multimedia iRig Keys 2 PRO
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2020 full velocity keys no aftertouch -
|-
| <!--Description-->IK Multimedia iRig Keys
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion-->
|-
| <!--Description-->Kawai VPC 1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion--> weighted keys - heavy build -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Keith McMillen Instruments K-Board
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion--> omni class compliant to all channels? each keypad makes them velocity, pressure, and location sensitive but not really suited for piano playing
|-
| <!--Description-->Keith McMillen BopPad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion--> omni class compliant to all channels?
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion-->
|-
| <!--Description-->Korg NanoKontrol 1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->mini usb
|-
| <!--Description-->Korg Prophecy
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->KORG microKONTROL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2010
|-
| <!--Description-->Korg microKEY
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| untested}}
| <!--Opinion-->2011 velocity-sensitive Natural Touch keys but joystick is an alternative to the common pitch/modulation wheel design - power draw -
|-
| <!--Description-->Korg nanoKey nanoPad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2011
|-
| <!--Description-->Korg Taktile
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Korg microKEY2 25 37 49 61 USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|2015 untested}}
| <!--Opinion-->2015 USB powered - semi weighted -
|-
| <!--Description-->Korg MiniList
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Korg MinKey nanoPad nanoPad 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Korg Nautilus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2024
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi keyboard controller
|-
| <!--Description-->Kurzweil PC3 7 series - Artis 7
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->fatar TP-8 semi-weighted action
|-
| <!--Description-->Kurzweil PC1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Kurzweil PC3 A8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion-->
|-
| <!--Description-->Line 6 Mobile keys 25
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2006
|-
| <!--Description-->Line 6 POD Studio KB37
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2006
|-
| <!--Description-->Line 6 Tone Port KB37
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2007
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->Midiman (later M-Audio) Oxygen8 Ozone Ozonic 25 32
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no|not class compliant - untested 5pin legacy }}
| <!--Opinion-->2002 2004 untested - 25 full keys - slider/fader to left of lcd display -
|-
| <!--Description-->m-audio oxygen keystation (61 key)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2004
|-
| <!--Description-->M-Audio eKeys 37
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2005
|-
| <!--Description-->M-Audio Axiom 25, 49, 61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2006 bus powered and 12v psu - if sliders/faders are on right - legacy midi 5pin - chunky unit -
|-
| <!--Description-->M-Audio Oxygen 8v2, 49, 61 (silver)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2006 full size velocity sensitive 12v psu - sending random pitchbend info -
|-
| <!--Description-->M-Audio Keystation 37e 49e, 61e MK1 MKI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2006 - ok key action -
|-
| <!--Description-->M-Audio Keystation 37es 49se 61es, 88es MK1 MKI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2008 -
|-
| <!--Description-->M-Audio Oxygen 25/49/61/88 (blue)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2008 [https://m-audio.com/products/view/oxygen-25-legacy advised Class-compliant and GM/GM2/XG SysEx messages] with full size velocity sensitive 12v psu - sending random pitchbend info -
|-
| <!--Description-->M-Audio Axiom 25, 49, 61 (2nd Gen)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2010 semi-weighted mini keys - bus powered and 9v psu for 25/49 and 12v for 61 - if sliders/faders are on left - legacy midi 5pin - chunky unit -
|-
| <!--Description-->M-Audio Axiom Pro 25, 49, 61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2011 poor construction
|-
| <!--Description-->MAudio Axiom AIR 25 M-Audio Axiom Air Mini 32
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2012
|-
| <!--Description-->M-Audio Oxygen 25 III (3rd Gen)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2012 untested - usb only - rubber keys sticky -
|-
| <!--Description-->MAudio Keyrig 49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->M-Audio Keystation Mini 32
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2012 - mini usb - plays a few notes and then stops responding randomly - try plugging it into port 1 or 2 on your pc -
|-
| <!--Description-->M-Audio Keystation 49 MK2 II
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2012 USB port and class compliant
|-
| <!--Description-->M-Audio Keystation 61 MK3 MKIII MIDI keyboard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2015 usb compliant untested
|-
| <!--Description-->M-Audio Oxygen 25 IV
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| untested}}
| <!--Opinion-->2016 choice
|-
| <!--Description-->M-Audio CTRL-49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2017
|-
| <!--Description-->M-Audio ProKeys 88, 88sx
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->M-Audio Keystation Mini 32 MK3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2019 mini usb - some power or incompatibility issue with the native USB ports of the laptop, plugged in a passive USB 2.0 HUB (not USB 3.0, not powered)
|-
| <!--Description-->[https://www.youtube.com/watch?v=3328SvuJsLw M-Audio Oxygen25 MKV]
| <!--Vendor ID-->0x0763
| <!--Product ID-->0x0001
| <!--Revision-->0023
| <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - midi in out untested}}
| <!--Opinion-->2020 25 full size semi keys - USB2 usb-b but no 5pin classic plugs - channel select SHIFT button and CHANNEL on keybed - plastic build - holding down both the Octave + and - for factory reset - more limited in what you can do with it than IV 4th one - tested on AROS One 2.4 usb
|-
| <!--Description-->M-Audio Oxygen Pro 25 49 61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2022 untested semi full keys
|-
| <!--Description-->M-Audio Oxygen Pro Mini
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2023 untested - 32 smaller keys - not endless encoders - usb only -
|-
| <!--Description-->M-Audio Hammer 88
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Moog
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Moog Minitaur
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->M-VAVE SMK-25mini 25key MIDI Control Keyboard Y6I0
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Native Instruments NI Primus A25 JamMate
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2008 not compliant,
|-
| <!--Description-->Native Instruments Maschine MK1 MKI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2009 not compliant uses snd-usb-caiaq module,
|-
| <!--Description-->Native Instruments Komplete Kontrol S88 S61 S49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2012 - weighted keys -
|-
| <!--Description-->Native Instruments Maschine MK2 MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2013 maybe compliant,
|-
| <!--Description-->Native Instruments Maschine Micro Mikro MK2 MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2014 maybe?
|-
| <!--Description-->NI Komplete Kontrol S49 S61 S88 MkII MK2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2017 all MK2 MK3 power up the keyboard using USB, it will set the keyboards MIDI port to computer MIDI only without any option to set it to use the MIDI DIN, meaning you cannot connect the keyboard to hardware and power from USB, you MUST power with the power adapter and physically unplug from any USB connection -
|-
| <!--Description-->Native Instruments Komplete Kontrol A25 A49 A61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2018 maybe compliant,
|-
| <!--Description-->[https://github.com/sikorak666/maschine-mikro-mk3-driver Native Instruments Maschine Micro Mikro Plus MK3 MKIII]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2019
|-
| <!--Description-->Native Instruments Komplete Kontrol M32
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2019 untested 32 smaller keys - no drum pads - USB only -
|-
| <!--Description-->NI Komplete Kontrol S49 S61 S88 MkIII MK3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2023
|-
| <!--Description-->NI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2025
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi keyboard controller
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Neusonik iBoard 4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Nektar Impact LX25+ LX49+ LX61+ LX88+ SE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2017 budget full-size velocity-sensitive synth-action keyboard -
|-
| <!--Description-->Nektar Impact GX49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> USB port -
|-
| <!--Description-->Nektar Panorama P4 P6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> USB & USB Micro B, 5-pin MIDI out, 2 x TRS inputs with 49 semi-weighted, velocity sensitive with aftertouch
|-
| <!--Description-->Nektar SE25 SE49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> mini keys - micro usb bus powered - velocity and sustain button
|-
| <!--Description-->Nektar Panorama P6 61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Nektar Panorama T6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Nord Stage 3 midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> sysex
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Novation ReMote 25 49 61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2003 lhs XY touchpad and the joystick -
|-
| <!--Description-->Novation LaunchKey 25 49 61 88 Mk1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2005 not USB class compliant
|-
| <!--Description-->Novation 49 61 SL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2006 semi-weighted Fatar TP-8 or TP-9 keybed
|-
| <!--Description-->Novation ReMote 25SL 49SL 61SL soft label
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2006 - two long top liquid-crystal display LCD strips - XY touchpad and the joystick -
|-
| <!--Description-->Novation ReMOTE 25LE
| <!--Vendor ID-->0x1235
| <!--Product ID-->0x0004
| <!--Revision-->0001
| <!--CAMD-->{{Yes|detected, usb driver in devs/midi for camd to use}}
| <!--Opinion-->2007 USB-b powered, 9v center pin positive or 6 MN1500 AA batteries - X/Y touchpad and the combined pitch and modulation joystick - no aftertouch but can use both the legacy MIDI OUT and USB port simultaneously
|-
| <!--Description-->Novation Nocturn 49 61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{Unk| }}
| <!--Opinion-->2008 untested sending random pitchbend info
|-
| <!--Description-->Novation 49 61 SL MkII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2009 semi-weighted Fatar TP-8 or TP-9 keybed
|-
| <!--Description-->Novation MiniNova
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2013
|-
| <!--Description-->Novation Impulse 25 49 61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2012 velocity aftertouch‑sensitive semi-weighted keyboards and eight backlit pads - USB, 5-pin MIDI out -
|-
| <!--Description-->Novation Circuit Tracks / Rhythm
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2015 untested
|-
| <!--Description-->Novation LaunchKey 25 49 61 88 MK2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2015 USB class compliant - full keys -
|-
| <!--Description-->Novation Launchpad Mini MK2 MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2016 untested 8x8 buttons with 16 backlit
|-
| <!--Description-->Novation LaunchKey Mini MK2 MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2018 untested - 25 soft mini keys - 2 rotary wheels lhs -
|-
| <!--Description-->Novation LaunchKey 25 37 49 61 88 MK3 MKIII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2020 USB class compliant choice - full keys -
|-
| <!--Description-->Novation LaunchKey Mini MK3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2023 untested - 25 soft mini keys - 2 sliders lhs -
|-
| <!--Description-->Novation 61SL Mk3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi keyboard controller
|-
| <!--Description-->Nymphes Dreadbox
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion--> 6 voice analog synth
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->Oberheim MC 2000 EX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2015 88 keys fully weighted - very heavy -
|-
| <!--Description-->PreSonus ATOM SQ Hybrid MIDI Keyboard/Pad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->[https://polyend.com/tracker/ Polyend Tracker]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Roland ED PC-300
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2002 USB MIDI keyboard controller 49-key
|-
| <!--Description-->Roland EDIROL PCR-M30 PCR-M50 PCR-M80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2005
|-
| <!--Description-->Roland Edirol PCR-30 PCR-50 PCR-80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2007 untested 32 key -
|-
| <!--Description-->Roland PC-50 PC-80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2007
|-
| <!--Description-->Roland PCR-500 PCR-800
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2008 61 velocity-sensitive keys with aftertouch
|-
| <!--Description-->Roland A-88 a-49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2013 USB port - weighted keys velocity no aftertouch - class compliant with press FUNCTION so it is lit. Press the key labelled "ADV.", Press the "+" button so it is lit -
|-
| <!--Description-->Roland PC-200 mkII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2014 some had fatar keys
|-
| <!--Description-->Roland MC-707 Groovebox
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2015
|-
| <!--Description-->Roland MC-101
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2015 untested
|-
| <!--Description-->Roland A-500 A500Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2018
|-
| <!--Description-->Roland A-300 A300Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2018
|-
| <!--Description-->Roland JUNO DS, FA, Fantom, JUPITER X / Xm
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2019 (be sure that USB driver is set to "Generic" - requires device rebooting)
|-
| <!--Description-->Roland A-88 a-49 MKii MK2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2020 expensive with USB-c port - hammer-action keyboard weighted keys - Class-compliant if USB-C enables bus power - MIDI 2.0 later -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->ROLI Seaboard RISE 25
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi keyboard controller
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi keyboard controller
|-
| <!--Description-->Samson Graphite 49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Samson Carbon 49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Sequential TAKE 5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Studiologic VMK-161 and VMK-161 Plus Organ version
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->TP-8O action is the unweighted, organ-style waterfall keybed - usb midi in out - 9v psu -
|-
| <!--Description-->Studiologic SL990XP midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Studiologic VMK176 Plus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->USB and midi connectivity
|-
| <!--Description-->Studiologic SL880 midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Studiologic SL73 SL88 Studio midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> hammer-action Fatar TP semi-weighted keys
|-
| <!--Description-->Studiologic Numa Organ 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> 73 key TP-8O action is the unweighted, organ-style waterfall keybed used in nearly all clonewheels
|-
| <!--Description-->Studiologic Numacompact 2/2x, Numa X Piano
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->SubZero CommandKey49 CommandKey25
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->SubZero SZ-MiniCommand Mini-Command USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->SubZero SPC61 MIDI Controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> bus powered - 5 octave
|-
| <!--Description-->SubZero ControlKey49S 49 Key Slim MIDI Controller Keyboard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion-->
|-
| <!--Description-->Synido TempoKey K25
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2023 25 mini keys - usb-c powered
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion-->
|-
| <!--Description-->Worlde Panda
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi keyboard controller
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Yamaha KX8 KX49 KX61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2008 not compliant
|-
| <!--Description-->Yamaha CMC-PD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2010
|-
| <!--Description-->Yamaha
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2011 not class compliant
|-
| <!--Description-->Yamaha P45B P-45 Digital Piano
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2011 not compliant
|-
| <!--Description-->Yamaha P-115 midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2016 untested weighted keys - USB midi port
|-
| <!--Description-->Yamaha MX49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2020 should compliant untested
|-
| <!--Description-->Yamaha Montage, CP73/88, YC, MODX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi keyboard controller
|-
| <!--Description-->Yamaha PSR-E353, PSR-E443
PSR-S670, PSR-S770, PSR-S970, PSR-A3000, TYROS-5
NP-12, NP-32
DGX-650, DGX-660
P-105, P-115, P-255
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Yamaha MX49 II V2 Black Blue
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2023
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi keyboard controller
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->DJM V10
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion--> dj
|-
| <!--Description-->Native Instruments Kontrol DJ Pro midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> detected but untested
|-
| <!--Description-->Numark Mixtrack Pro II USB DJ Controller Djay
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->older generation pioneer DDJ-SX2 dj
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|}
{| class="wikitable sortable" width="90%"
! width="20%" | Description
! width="10%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |CAMD
! width="30%" |Opinion
|-
| <!--Description-->Alyseum AL-22 AL22c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Alyseum AL-88 Schneidersladen AL88c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Alyseum U3-88c Midi Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> no CopperLan support Midi network using a UTP Ethernet patch cable)
|-
| <!--Description-->Behringer BCF2000 midi interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->[http://www.behringer.com/EN/home.aspx Behringer] BCR2000 1in 2out
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->Behringer B-CONTROL DEEJAY BCD3000 DJ Mixer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Behringer UMD404 UMD202
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Creative EMU 0404/USB midi interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2006
|-
| <!--Description-->DigiDesign / Focusrite Command 8 Control Surface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2005 supports MIDI continuous controller (CC) and note data. SysEx dumping and loading is also supported
|-
| <!--Description-->Digidesign Digi 002
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2006 firewire only
|-
| <!--Description-->Digidesign Digi 003
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2009 firewire only
|-
| <!--Description-->emagic m4 2x4 AMT8 Unitor 8 Mk2 8x8
| <!--Vendor ID-->0x00d0
| <!--Product ID-->
| <!--Revision-->0x010 0x0103
| <!--CAMD-->{{No| }}
| <!--Opinion-->2000 offers MTS (Midi Time Stamping) - 12v 2a psu centre pos - usb mini with rs232 and rs422 serial ports - 16 channels (8-in / 8-out), this rack-mountable unit -
|-
| <!--Description-->Evolution U-Control UC-16
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| detected}}
| <!--Opinion-->
|-
| <!--Description-->Focusrite Saffire 6 USB 1.1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Guillemot Maxi Studio ISIS Vintage Sound Card MIDI Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|dedicated driver}}
| <!--Opinion-->1998
|-
| <!--Description-->[http://www.ucapps.de/mbhp_usb.html MidiBox] Hardware Platform USB Module
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2001
|-
| <!--Description-->Mackie Control Universal Pro XT with One Two Extenders
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2008 not compliant,
|-
| <!--Description-->M-Audio Audiophile USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2003 not compliant,
|-
| <!--Description-->M-Audio Midisport UNO old version
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2004 not compliant,
|-
| <!--Description-->M-Audio MidiMan 1x1 midi interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2004 [http://sourceforge.net/projects/linux-hotplug/ firmware update]
|-
| <!--Description-->M-Audio Midisport 2x2 yellowy green blue, green or silver chassis plastic box
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|MIDISPORT 2x2 or 4x4 interfaces from previous production series (blue, green or silver chassis) are not class-compliant}}
| <!--Opinion-->2004
|-
| <!--Description-->MAudio Audiosport Quattro USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|dedicated driver}}
| <!--Opinion-->2004 not usb compliant as [http://usb-midi-fw.sourceforge.net/ firmware required and that is buggy],
|-
| <!--Description-->M-Audio UC-33
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2004 not compliant,
|-
| <!--Description-->M-Audio Midisport 1x1 2x2 4x4 Anniversary Edition, black box
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2010 maybe class compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->[http://www.amiga.org/forums/showthread.php?t=52920 Mark of the Unicorn Motu Fastlane] 2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|[http://www.amiga.org/forums/showpost.php?p=560852&postcount=8 not working on OS4]}}
| <!--Opinion--> not class compliant,
|-
| <!--Description-->Motu Micro Lite 1x1 and MOTU microlite 5x5 USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|dedicated driver}}
| <!--Opinion--> good unit but poor just plug in support and not class compliant - USB2 usb-b -
|-
| <!--Description-->Motu MIDI Express 128 8x8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|dedicated driver}}
| <!--Opinion-->poor support serial port only - offers MTS (Midi Time Stamping) A serial port based MIDI interface or a USB interface without MTS will have a MIDI slop of up to 2ms on record and playback. MTS provides accuracy for record and playback to around .3ms - five times more accurate than serial or non-MTS."
|-
| <!--Description-->MOTU.com MIDI Express XT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|dedicated driver}}
| <!--Opinion-->2008 for many USB should have octocoupled connection to reduce groundloop humm, usually the timing is off
|-
| <!--Description-->MOTU MIDI Timepiece AV
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|dedicated driver}}
| <!--Opinion--> not class compliant is one of the best multi-port MIDI interfaces ever made as USB model connects to the computer as an 8x16 interface
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Native Instruments GmbH Audio 8 DJ, 4 DJ, 2 DJ
| <!--Vendor ID-->0x17CC
| <!--Product ID-->0x
| <!--Revision-->
| <!--CAMD-->{{no|needs dedicated driver}}
| <!--Opinion-->2006 not class compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Qcon
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Roland Edirol UA-100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|did not match to camdusbmidi.class USB audio midi with onboard DSP}}
| <!--Opinion-->1998
|-
| <!--Description-->Roland Corp Edirol UM-2
| <!--Vendor ID-->0x0582
| <!--Product ID-->0x0005
| <!--Revision-->0200
| <!--CAMD-->{{no|is not bound via camdusbmidi.class }}
| <!--Opinion-->1999 not bound to any midi class - 2x2 - tested Aros One USb 2.4
|-
| <!--Description-->Roland Edirol UA-100G
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|detected but not working}}
| <!--Opinion-->1999 USB audio midi with onboard DSP
|-
| <!--Description-->Roland Edirol UM-880 8x8 midi interface
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|detected but not working}}
| <!--Opinion-->2000 under poseidon but could work with run >nil: c:midithru out.0 "EDIROL UM-880.out.2"
|-
| <!--Description-->Roland Edirol UM-1 blue plastic
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{Unk| bound??? via camdusbmidi.class - untested midi in out}}
| <!--Opinion-->2000 UM-1 - 1-in/1-out (16 channels)
|-
| <!--Description-->Roland Edirol UM-1S
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|not working}}
| <!--Opinion-->2000 1-in/1-out (16 channels)
|-
| <!--Description-->Roland Edirol UM-2E
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|not working}}
| <!--Opinion-->2000
|-
| <!--Description-->Roland Edirol UM550
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2001
|-
| <!--Description-->Roland Edirol UM-1X midi interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|do not have the Advanced Driver Switch on them}}
| <!--Opinion-->2001
|-
| <!--Description-->Roland Edirol UM-1SX
| <!--Vendor ID-->0x0582
| <!--Product ID-->0x0052
| <!--Revision-->0200
| <!--CAMD-->{{No|do not have the Advanced Driver Switch on them}}
| <!--Opinion-->2003
|-
| <!--Description-->Roland Edirol Cakewalk UM-2C - 2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2003
|-
| <!--Description-->Roland Edirol Cakewalk UM-1G 1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2004
|-
| <!--Description-->Roland Edirol Cakewalk UM-2G 2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2004
|-
| <!--Description-->[https://github.com/spotify/linux/blob/master/sound/usb/usbquirks.h Roland Edirol UA20 UA-20]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|not working}}
| <!--Opinion-->2004
|-
| <!--Description-->Roland UM-1EX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2005
|-
| <!--Description-->Roland Edirol UM-2EX 2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2005 adds a second MIDI OUT
|-
| <!--Description-->Roland Cakewalk UM-3G - 3x3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2006
|-
| <!--Description-->Roland Cakewalk ua-25excw 1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|detected but not working}}
| <!--Opinion-->2009 not class compliant mode
|-
| <!--Description-->[https://alsa.opensrc.org/Edirol_UA-25EX Roland Edirol UA55 UA-55 Cakewalk UA25 EX]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|detected but not working}}
| <!--Opinion-->2011 not usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Sonuus B2M Bass MIDI Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Sonuus G2M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Steinberg CMC Series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Subzero SZ-MB44
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Swisssonic MIDI1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2012 AmigaOS there is no output at midichannel one and two but if play a midi file there is only output on some channels and if pressed stop the prog freezes or the whole system crashes
|-
| <!--Description-->Teac Tascam US-428 US-422 midi interface
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion--> 2000 not compatible
|-
| <!--Description-->Teac Tascam [http://web.archive.org/web/*/http://www.tascam.com/Products/US-224.html US-224]
| <!--Vendor ID-->0x1604
| <!--Product ID-->0x8004
| <!--Revision-->0100
| <!--CAMD-->{{No| }}
| <!--Opinion--> 2002 does not bind to any class
|-
| <!--Description-->Teac Corp Tascam US-1x2
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2002
|-
| <!--Description-->Teac Tascam US-122 MKII midi interface
| <!--Vendor ID-->0x0644
| <!--Product ID-->0x8021
| <!--Revision-->0100
| <!--CAMD-->{{No|not detected / binding to camdusbmidi.class on AROS 2.4 usb }}
| <!--Opinion-->2004 detected but not working 2-in/2-out USB two XLR microphone preamps with phantom power for condenser microphones
|-
| <!--Description-->Teac Tascam US-200 US-400 US-600 US-800 US-1200 US-1800
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|no driver}}
| <!--Opinion-->2010 may not be totally usb compliant
|-
| <!--Description-->Yamaha UX-16
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|no driver}}
| <!--Opinion-->2010
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->Akai EIE and Pro version midi interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2011 dc 6v power - 3 USB hubs, midi in out ,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Alesis I/O2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2007 powered USB hub required, not compliant
|-
| <!--Description-->Alesis IO2 Express
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2010 usb compliant?
|-
| <!--Description-->Alesis IO4 Express
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2010
|-
| <!--Description-->Behringer XTouch
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> psu needed
|-
| <!--Description-->Behringer X-Touch Compact
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2014 maybe usb compliant?
|-
| <!--Description-->Behringer X-Touch Mini
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2014 maybe usb compliant?, usb to 5pin midi interface
|-
| <!--Description-->Behringer U-Phoria UMD404HD UMD202HD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2019 maybe class compliant - volume low,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->CME U2 MIDI Pro 1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> current model
|-
| Creative EMU XMIDI 1X1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2008 early versions with sysex checksum errors
|-
| <!--Description-->Creative E-MU Xmidi 1x1 Tab (V3)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2010 tab version class compliant but report that when transferring 'System Exclusive' messages (SysEx) the unit could not handle the highest data rate leading to data corruption
|-
| Creative EMU XMIDI 2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2008 sysex errors
|-
| <!--Description-->Digidesign Mbox 2 Mini now Avid
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2005 USB powered but not compliant
|-
| <!--Description-->Digidesign Mbox II Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2006 USB powered but not compliant
|-
| <!--Description-->Engl Z7 MIDI Interface (E660/E610/E360/E930)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> guitar?
|-
| <!--Description-->Elektron TurboMidi TM-1 1in 1out
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->ESI MidiTerminal M4U 4x4 midi interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->supposedly class compliant - USB bus powered -
|-
| <!--Description-->ESI MidiTerminal M8U 8x8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->ESI MidiTerminal M4U XL 4x4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> ploytec chipset
|-
| <!--Description-->ESI MidiTerminal M8U XL 8x8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> no hardware routing e.g. x on input 5 to synth y on output 7 - ploytec chipset
|-
| <!--Description-->ESI MidiMate 1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> supposedly class compliant - USB bus powered
|-
| <!--Description-->ESI MidiMate II 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->ESI ROM I/O
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2005 romio version
|-
| <!--Description-->ESI M4U XT
| <!--Vendor ID-->0x2573
| <!--Product ID-->0x0002
| <!--Revision-->0100
| <!--CAMD-->{{Maybe|is bound via camdusbmidi.class AROS One 2.4 - untested midi in out}}
| <!--Opinion-->2010 -
|-
| <!--Description-->ESI M8U XT 8in 8out
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2010 discontinued 2018
|-
| <!--Description-->ESI M8UEX USB3.0
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2018 current model
|-
| <!--Description-->ESI M4U eX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2018 current model
|-
| <!--Description-->ESI MidiMate eX midi interface 1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2016 curent model, well liked and might class compliant??
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->icon midiport 2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->iCON CubeMi 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> class compliant?
|-
| <!--Description-->iConnectivity
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->iConnectivity mio
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2010 class compliant but reported issues with sending System Exclusive (SysEx) MIDI messages and MIDI signals getting cut off
|-
| <!--Description--> iConnectMidi interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2010
|-
| <!--Description-->iCM2 iCM4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2012
|-
| <!--Description-->iConnectivity iConnectMIDI4+ L
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2014 class compliant??
|-
| <!--Description-->iConnectivity MioXL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->IK Multimedia iRig MIDI 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> class compliant
|-
| <!--Description-->iRig Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Kenton
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Kenton Electronics pro solo mk2 midi to cv converter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Kenton Midi Thru-25 5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Keytech MT18E 8 Way Midi Thru box
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> 9 to 12v psu required
|-
| <!--Description-->MidiPlus Midi 2x2 midi interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->MidiPlus Midi 4x4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> supposedly class compliant - USB bus powered
|-
| <!--Description-->MidiTech MIT-00151 Midiface 4x4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->MidiTech Midiface 4x4 8x8 16x16 thru merge
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Miditech Midilink mini 1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->M-Audio Midisport UNO only if box is labeled Class Compliant and latest MIDISPORT 1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->M-Audio Fast Track Ultra (6 in 6 out)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2008 not usb compliant, -
|-
| <!--Description-->M-Audio Midiman Midisport 2x2 Anniversary Edition [https://gearspace.com/board/electronic-music-instruments-and-electronic-music-production/1133862-why-there-hardly-any-midi-interfaces.html not stable enough]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2009 USB2 usb-b - does not need firmware and supposedly plug and play -
|-
| <!--Description-->M-Audio Midisport 4x4 Anniversary Edition
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> rumored does not need firmware - supposedly plug and play - issues with its firmware for some and lacks configurable routing
|-
| <!--Description-->Maudio Fast Track Ultra 8R
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Native Instruments Komplete Audio 6 Mk1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2011 maybe usb compliant but bus powered,
|-
| <!--Description-->Nektar Midiflex 4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2015 class compliant and usb-b powered - used as a 1 in / 3 out, 2 in / 2 out or 4 out 5pin sockets -
|-
| <!--Description-->Neusonik IM-One
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Peavey Xport
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> guitars only
|-
| <!--Description-->Roland UM-ONE UM-1 mk2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2010 USB class compliant if switch to TAB for class compliant mode rather than the COMPUTER mode
|-
| <!--Description-->Squarp Hermid
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Steinberg Midex 8x8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> class compliant? supporting MIDI Time Stamping protocol
|-
| <!--Description-->Swissonic MidiConnect 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Tapco LiNK.midi USB 4x4 (Loud technologies)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no|dedicated driver}}
| <!--Opinion-->2005
|-
| <!--Description-->Teac Corp Tascam US-2x2
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion--> 2014 5v dc power, midi out in,
|-
| <!--Description-->Teac Corp Tascam US-4x4
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->Teac Tascam US-16x08 US-20x20
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->Zoom U-24
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi to 5pin interface
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi to 5pin interface
|-
| <!--Description-->Unbranded cable
| 0x552d
| 0x4348
| F110
| <!--CAMD-->{{Maybe|detected but no usb driver in devs/midi for camd to use}}
| <!--Opinion-->detected but not working the USB-MIDI conversion functionality of the cheapo USB MIDI "cable" interface is simply lacking, possibly being incapable of handling MIDI strings longer than 3 bytes long SysEx strings (e.g. SysEx dumps) - tested in Icaros 2.3 -
|-
| <!--Description-->USB2.0-MIDI Unbranded cable with clear braided underneath leads
| <!--Vendor ID-->0x1A86
| <!--Product ID-->0x752D
| <!--Revision-->0254
| <!--CAMD-->{{Maybe|detected binding to camdusbmidi.class but untested midi in / out}}
| <!--Opinion-->untested but better to get a branded version - tested AROS One 2.4 usb
|-
| <!--Description-->LogiLink USB to Midi In-Out
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|}}
| <!--Opinion-->untested cheap cable version but issues with latency on other systems
|-
| <!--Description--> gm5 USB midi chip DIY option only
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Doremidi LEKATO MIDI USB C Interface 1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Thomann Midi USB 1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> Prodipe made
|-
| <!--Description-->Prodipe MIDI 1i/1o
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|}
Classic 5pin DIN controllers for above interfaces
{| class="wikitable sortable" width="90%"
! width="20%" | Description
! width="10%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |CAMD
! width="30%" |Opinion
|-
| <!--Description-->Akai s5000 s6000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi digital samplers
|-
| <!--Description-->Akai AX80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Casio CZ-5000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Casio CZ-3000 CZ-1000 CZ-101
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Cheetah MS6 midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|untested}}
| <!--Opinion-->2000 multi-timbral, six-voice (twelve-oscillator), analogue synthesiser module is loaded with CEM 3396s
|-
| <!--Description-->Ensoniq ESQ1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Integra
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Korg Wavestation Ex A/D SR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->1986 ex has piano and drum sounds
|-
| <!--Description-->Korg DW-8000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Korg DW-6000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Korg Poly 800 MK1 Poly-800ii
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> all plastic and can run on batteries - 49 keys non-velocity dco synt analogue filter
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Roland D-50
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|1987 untested greater concern would be moisture and wear}}
|-
| <!--Description-->Roland A50 (76) A80 (88)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|1989 untested}}
|-
| <!--Description-->ROLAND JUNO-D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Roland Juno 106
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->80s kx73 or kx88
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Roland ED PC-160A PC-180A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}} legacy DIN5 MIDI port only - 6 AA batteries or 9v psu - One regular source of failure for me were emty batteries (even with red control light still active). Another source was a bad MIDI cable - unplug then re-plug the USB cable while it is powered the device might reconnect
|-
| <!--Description-->Roland M1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Roland S-550 S-760
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> digital samplers kontakt replaced these?
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Yamaha DX7
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->1983 12bit
|-
| <!--Description-->Yamaha DX7S DX72IID DX7IIFD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->1987 16bit versions
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
|}
The MIDI standard was published in August 1983. The inventors, Kakehashi and Smith finally received a Technical Grammy Award in 2013 for their work.
The MIDI files that contained just the note data, velocity and timing meant you could transfer an entire studio session from one place to another on one floppy disk and it could control all the synths and drum samplers. Pass-thru meant that one computer could run an entire bands worth of instruments.
It's bulletproof too. MIDI never goes wrong, it's always a bug in software that causes any issue - you can absolutely rely on it to go gigging with, take your synths, controllers and computers and not crash an entire gig at your 100,000 person venue.
The MIDI hardware specification is very simple (voltage, polarity, screening, protection and a fast enough opto-isolator), it assumes that the data it sends and receives between MIDI devices is to the MIDI data standard and just passes it on. The microprocessor in the hardware does all the work.
The minimum for a computer/MIDI interface is that it meets the MIDI hardware specification. It is attached to the computer bus and handles the electrical conversions required. To meet the MIDI hardware specification, to be class compliant as a USB device all it has to do is report itself properly when plugged in.
The other half of the equation is the MIDI data standard, and for a computer MIDI interface the main issue is the speed of data transmission. The bus speed of the computer is faster than the speed of the MIDI standard so it can generate and send MIDI data faster than a MIDI device can receive it. The MIDI standards have nothing to say on that bottleneck at all. MIDI was designed to be very simple and very open, it just defines a standard for the messages and leaves it up to manufacturers to implement them in the way they want. That's what makes it so powerful a tool, and also what makes it so confusing and frustrating at times.
For midi, the hardware/software combination at various connection points handles the translation to/from midi (or other protocols). Drivers would be needed for midi, including clock and SysEx signal (actually claiming to handle ALL midi quirks transparently
All the important MIDI data types can be sent (CC, NRPN, RPN, MMC, Note On/Off, program change)
There is no official way to solve the data bottleneck. Early software sequencers and librarians tried to solve it by having an option to buffer SYSEX data in software and transmit it at the MIDI data rate. The downside is that hogs the bus and can hit computer performance. Interface manufacturers would add a hardware buffer which would take all the MIDI data from the PC bus and feed it into the MIDI at the slower data rate, but that added cost and created timing issues.
Things have moved on since then, but the principles remain the same. You can buffer in the hardware or in software, whether that is in the application or the interface driver. SYSEX will work perfectly well with that budget cable if your software handles the buffering. And while the cables with hardware buffers make SYSEX easier, they still have potential problems because of the limitations of the MIDI data rate. Your MIDI clock doesn't like being interrupted with a big program dump
The serial / parallel ports were a direct connection, so faster. Now, everything in the computer is virtual and the only thing connected to the hardware is the kernel, hence everything is by default bottlenecked and jittery, regardless of which connection. So by the time the interface gets the information it's already too late.
Ethernet network cable to transport MIDI over large distances, connect 2 MIDI In and 2 MIDI Out ports to patch, remap, filter and merge MIDI flows on a fine channel basis for tight MIDI throughput, latency and jitter
Possibilities for DAWs of the future including a kind of sync reference for timing reference which an interface could sync to, hence all the timings then would be locked between the grid on the DAW screen and the MIDI info.
Preemptible, low latency and accuracy are essential for good communication.
One of the first things you need to do, is make sure your MIDI software sets the interface to the same MIDI channel as your keyboard (usually 1)
Do you want to send just your master keyboard to other synths or to be able to use any keyboard with any synth?
1st option is relatively simple. Just need to send midi from your master keyboard into a midi splitter that redistributes the signal onto your synths. Each synth will be set up to receive midi on a specific channel so the only challenge is to find a way to select to which channel you are sending midi. Some master keyboards can do that although not many that have a dedicated knob or switch on the panel and most require a bit of menu diving. Could use a midi box that offers channel selection but usually this is not very workflow friendly. The software route would require using the mouse.
2nd option is a bit more complex but superior workflow by sending midi messages into a merge box, from there into a hardware sequencer that allows to select midi channel, then on to a midi interface that distributes the signal to the synths.
Master keyboard MIDI-in to computer. External hardware sampler MIDI-out from computer. Audio-out from sampler to audio-in on computer/device.
Blue Ribbon Soundworks Bars & Pipes Professional (1993/4)
GM (1984), GS (1987), XG level 1-3 (1994-1997), GM level 2 (1999)
GM GM1 imposes several requirements beyond the MIDI 1.0 specification. While MIDI 1.0 by itself provides a communication protocol which ensures that different instruments can interoperate at a fundamental level e.g sound modules. GM goes further in two ways. First, GM requires that all compliant MIDI instruments meet a certain minimal set of features, such as being able to play at least 24 notes simultaneously (polyphony). Second, GM attaches specific interpretations to many parameters and control messages which were left unspecified in the MIDI 1.0 specification. A minimum of 128 MIDI Program Numbers (conforming to the GM 1 Instrument Patch Map) and 47 percussion sounds (conforming to the GM 1 Percussion Key Map). Support for controller number 1, 7, 10, 11, 64, 100, 101, 121 and 123; support for channel pressure and pitch bend controllers.
General MIDI Level 2 or GM2 is a specification for synthesizers which defines several requirements beyond the MIDI standard and is based on General MIDI (GM) and Roland GS extensions. It was adopted in 1999 by the MIDI Manufacturers Association (MMA).
* Number of Notes: 32 simultaneous notes
* MIDI Channels: 16
* Simultaneous Melodic Instruments – up to 16 (all Channels)
* Simultaneous Percussion Kits – up to 2 (Channel 10/11)
Program and bank change events
General MIDI 2 compatible synthesizers access all of the 256 instruments by setting cc#0 (Bank Select MSB) to 121 and using cc#32 (Bank Select LSB) to select the variation bank before a Program Change. Variation bank 0 contains the full GM (General MIDI 1) sound set. Variations using other bank numbers are new to General MIDI 2, and correspond to variation sounds introduced in Roland GS.
[https://www.youtube.com/watch?v=CluuHrr7HG4 Major WWHWWWH, Minor WHWWHWW scale], [https://www.youtube.com/watch?v=Jjm7Ti-iwz0 Chords],
==usb audio==
AROS currently does not support natively any USB audio interface for recording audio
USB audio is only available for limited Amiga like OSs, independent of the USB protocol version USB1.x USB2, USB3.x, which are not backwards compatible.
*Introduced 2000 and from 2014 USB Audio 1 UAC1 16bit 44.1kHz
*Introduced 2006 and from 2014 USB Audio 2 [https://www.usb.org/document-library/usb-device-class-definition-audio-devices-release-20-errata-and-ecn-through-april UAC2] 24bit 192kHz
*Introduced 2016 and from 2024 USB Audio 3 [https://www.usb.org/documents UAC3] 32bit 384kHz
USB group decided to rewrite the audio standard, so [https://os4depot.net/?function=showfile&file=audio/record/usbaudio2.lha UAC2] and [https://archive.fosdem.org/2019/schedule/event/linux_and_usb_audio_class_3/attachments/slides/3345/export/events/attachments/linux_and_usb_audio_class_3/slides/3345/Linux_and_USB_Audio_Class_3___FOSDEM_2019.pdf UAC3]. They added clock selection and control, timing domains and others. Part of the changes included changing many of the descriptors that an audio device uses to describe itself to the machine.
PsdErrorlog/PsdDevlister? The AHI driver generated only supports mono/stereo at any bit rates between 8 and 32 bit per sample, but not multichannel modes and only rates up to 65KHz (because AHI uses a 16-bit word for frequencies). If the soundcard does not offer such a PCM 8-32 bit mode at frequencies lower than 65 KHz, there's nothing much that can be done about it on the computer side other than revising and expanding the AHI standard. Most cheap USB soundcards do though.
AHI does not support six channel playback. It only supports mono, stereo and multichannel (8 channels). Due to the multichannel mode not being used by any application so far, the usbaudio.class does not support multichannel playback, especially not "upchannelling" stereo to six or more channels. If this USB device does not support a two channel mode, you can't use it under AHI.
Untested but most likely to work, at least 2 mic inputs (low impedance) & instruments (high impedance) and made in the last 10 years
*[https://www.youtube.com/watch?v=gMuA-2FbJxE Entry level <100Euro] BOMGE U202, Behringer UMC, Presonus Studio,
*[ Next tier <200Euro] Audient iD, Solid SSL2 and SSL2+, Lewitt, Focusrite Scarlett, Arturia MiniFuse,
*[ Prosumer <300Euro] Focusrite Clarett+,
*[ Professional <500Euro] RME Babyface,
*[ Studio >500Euros]
Bands may need 4 or more mic inputs
[http://forum.xda-developers.com/showthread.php?p=38364030 XDA Forum thread],
<pre>
<- Computer
<- Mobile Phone / Tablet (OTG)
<- Digital Cameras
<- Video <- Webcams
Base Computer <-> OBS like <- Audio Mixer <- Microphone(s)
-> Internet -> Youtube & Chat
</pre>
USB AUDIO CARDS - UAC Compliant
{| class="wikitable sortable" width="90%"
! width="20%" |Description
! width="10%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |Playback
! width="10%" |Records
! width="30%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Arturia Mini Fuse 1
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2021 maybe usb compliant, okay pre amp 1 combi input, cirrus logic cs4272 ad converter,
|-
| <!--Description-->Arturia MiniFuse 2
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2021 maybe usb compliant usb-c with usb2.0, okay pre amps with good dynamic range 110dB, cirrus logic cs4272 ad converter, two combi inputs for mic, line or guitar,
|-
| <!--Description-->Arturia MiniFuse 4
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2022 maybe usb compliant, okay 110dB dynamic range, -129dB EIN,
|-
| <!--Description-->Arturia AudioFuse 16Rig
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2023 maybe usb compliant, good
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Audient iD44 mk1 mki
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2018 maybe usb compliant, good,
|-
| <!--Description-->Audient evo4 EVO8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2020 maybe usb compliant,
|-
| <!--Description-->Audient iD4 mk2 mkII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2022 maybe usb compliant,
|-
| <!--Description-->Audient id14 mk2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2022 maybe usb compliant, good,
|-
| <!--Description-->Audient iD24
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2023 maybe usb compliant and usb-c bus powered, good, , 0-in/14-out audio interface with ADAT expandability, balanced inserts
|-
| <!--Description-->Audient iD44 Mk2 Mkii
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2022 maybe usb compliant, good,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Behringer U-PHORIA UMC22
| <!--Vendor ID-->0x1397
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps
|-
| <!--Description-->Behringer U-PHORIA UMC202HD
| <!--Vendor ID-->0x1397
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps ein -129 dBu, 24bit ADC,
|-
| <!--Description-->Behringer U-PHORIA UMC404HD
| <!--Vendor ID-->0x1397
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps, 24bit adc,
|-
| <!--Description-->Behringer U-PHORIA UMC204HD 192 Empower Tribe
| <!--Vendor ID-->0x1397
| <!--Product ID-->0x0508
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2015 maybe usb compliant, okay, midas pre-amps
|-
| <!--Description-->Behringer UMC1820
| <!--Vendor ID-->0x1397
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2016, bus complaint?, okay midas pre amps, adc,
|-
| <!--Description-->Behringer U-PHORIA UM2
| <!--Vendor ID-->0x1397
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2018 maybe usb compliant, poor zenyx pre-amps with high noise floor, plastic build no rf shielding, latency issues,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Focusrite Saffire 6 USB 1.1
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 maybe usb compliant, , , midi, strictly NEC USB 2.0,
|-
| <!--Description-->Focusrite Scarlett 8i6 Gen 1 MOSC0001
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 maybe usb compliant, but
|-
| <!--Description-->Focusrite Scarlett 2i2 Gen 1 MOSC0003
*TP1 - 3.3V, tested ok
*TP2 - U4 control signal, 3.3V present at all time.
*TP4 - Ground
*TP6 - 48V, tested ok
*TP7 - Ground
*TP8 - Ground
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 usually avoid early Gen 1,
|-
| <!--Description-->[https://khronscave.blogspot.com/2021/08/75-focusrite-scarlett-2i4-1st-gen.html Focusrite Scarlet 2i4 Gen 1 (slide toggles) MOSC0004]
*TP1 - 3.3V, tested 3.22v
*TP2 - U4 control signal, 3.3V present
*TP4 - Ground
*TP6 - measure 47.72v
* AKM 4384ET (VDD 5v)
* Cirrus Logic CS4272-CZZ (VA 4.94v/ VD 3.2v/ VL 3.2v)
* all four HC4066 (VCC 4.96v)
* XMOS XS1-L01A-TQ128-C5 (all VDD 1.08v/ all VVDIO 3.23v/ PPLAVDD 0.99v/ PCU-VDDIO 3.23v)
2i4S
*TP1 seems to be 0V
*TP2 should be 5V
*TP3 should be
*TP6 should be 48V
*TP8 should be 3.3V
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 maybe usb compliant, pre amps JRC NJM2122 and NJM4565, [https://statics.cirrus.com/pubs/proDatasheet/CS4272_F1.pdf CS4272 adc], [https://pdf.datasheet.live/e5e5fd1c/akm.com/AK4384.pdf AK4384 output pair], Xmos XS1-L8A-64-TQ128 processor and firmware in Winbond 25X40CL 4Mbit, an SMSC Microchip USB3343 interface and a Microchip PL611 clock generator - two Intersil / Renesas ISL97519A for the phantom power rail, two OnSemi NCP1521B for the 3.3V (digital) and 1V (Xmos core) rails -
|-
| <!--Description-->Focusrite iTrack Solo USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2012 maybe usb compliant,
|-
| <!--Description-->Focusrite Scarlett 18i20 1st Gen MOSC00
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe usb compliant, , Cirrus CS4272,
|-
| <!--Description-->[http://wiki.linuxaudio.org/wiki/current_audio_gear Focusrite ] Scarlett 4i4 Gen MOSC00
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant, , Cirrus CS4272,
|-
| <!--Description-->Focusrite Scarlett 6i6 Gen1 MOSC00
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe usb compliant, , , 12v psu, the headphone outs mirror the outs on the back panel, so that's six independent outs. 4 independent analog output paths, plus two over spdif,
|-
| <!--Description-->[https://khronscave.blogspot.com/2019/03/38-focusrite-scarlett-18i8-gen1-teardown.html Focusrite Scarlett 18i8 1st Gen MOSC0008]
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe usb compliant, JRC NJM4565 provide most of the opamps, pair of JRC NJM2122's for inputs 1 and 2, [http://www.mouser.com/ds/2/76/cs4272_f1-43250.pdf Cirrus CS4272], 12v 1a +central psu to a pair of National Semiconductor LM2672 for 3.3V rail and the +6.9V rail, Xmos XS1–L16A–128 dual-row QFN package, firmware a Winbond 25X40C 4Mbit SPI Flash and an SMSC USB3343 interface chip, the two headphone outs are completely independent so 6 independent analog output paths, plus two over spdif,
|-
| <!--Description-->Focusrite Clarett+ 8Pre
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2015 great, expensive, maybe usb compliant?
|-
| <!--Description-->Focusrite Scarlett 2i2 Gen 2 (slide toggles) MOSC0006
*TP6 should be 48V
| <!--Vendor ID-->0x1235
| <!--Product ID-->0x8202
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 maybe usb compliant, USB-b bus powered, good preamps ein equivalent input noise -128 dBu, 24-bit 192kHz CS4272 as well as an additional AKM AK4384ET for the second stereo output pair, 4 screws under bottom rubber,
|-
| <!--Description-->[https://khronscave.blogspot.com/2021/07/focusrite-scarlett-2i4-2nd-gen-teardown.html Focusrite Scarlett 2i4 Gen 2 (slide toggles) MOSC0014]
*TP6 should be 48V
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 maybe usb compliant, USB-b bus powered, good preamps NJM2122's, NJM4565's and CMOS switches (HEF4053 and HEF4066), CS4272 and a AKM AK4384ET, Xmos XU208-256-TQ64-C10 with firmware stored in a Macronix MX25L8006E 8Mbit flash memory, clocking by a Cirrus Logic CS2100, an MP1542 boost converter creates +6V and -6V rails, powering the opamps and the rest of the analog circuitry,
|-
| <!--Description-->Focusrite Scarlett 6i6 Gen2 MOSC0016
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 maybe usb compliant, 12v psu,
|-
| <!--Description-->Focusrite Scarlett Solo 2nd Gen MOSC0019
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 maybe usb compliant,
|-
| <!--Description-->[https://khronscave.blogspot.com/2024/03/focusrite-scarlett-18i8-gen2-teardown.html Focusrite Scarlett 18i8 2nd Gen MOSC00]
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 maybe usb compliant, 12v psu,
|-
| <!--Description-->Focusrite Scarlett Solo 3rd Gen MOSC0024
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant usb-c but usb2, preamps, ad/dc 24bit 192kHz, most Focusrite gen3 interfaces have encrypted processors,
|-
| <!--Description-->Focusrite Scarlett 18i6 Gen3 MOSC00
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant, USB2 class compliant device, but with custom mixer interface
|-
| <!--Description-->Focusrite Scarlett 2i2 Gen 3 (push in switches) MOSC00
| <!--Vendor ID-->0x1235
| <!--Product ID-->0x8210
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant, USB-c bus powered, good preamps ein equivalent input noise -128 dBu, 24-bit 192kHz Cirrus Logic xfr002c and cs4272 chips,
|-
| <!--Description-->Focusrite Scarlett 18i20 3rd gen MOSC00
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant,
|-
| <!--Description-->Focusrite Scarlett 18i8 3rd Gen MOSC00
| <!--Vendor ID-->0x1235
| <!--Product ID-->0x8214
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant, , , no screws under the rubber pads on the bottom, 12v psu,
|-
| <!--Description-->Focusrite Scarlett Solo Studio Mk3 USB Audio Interface MOSC0030
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2020
|-
| <!--Description-->Focusrite Scarlett 2i2 4th Gen USB
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2024 maybe usb compliant,
|-
| <!--Description-->Focusrite Scarlett 4i4 4th Gen USB
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2024 maybe usb compliant,
|-
| <!--Description-->Focusrite Scarlett Studio 4th Gen USB
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2024 maybe usb compliant,
|-
| <!--Description-->Focusrite Scarlett Solo 4th Gen MOSC00
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant,
|-
| <!--Description-->Focusrite Scarlett 18i20 4th Gen MOSC00
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2024 maybe usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Lewitt Connect 6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant,
|-
| <!--Description-->Lewitt
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Motu UltraLite AVB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion--> usb not compliant?
|-
| <!--Description-->MOTU M2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe not usb compliant?, usb-c, good pre amps, ad/dc,
|-
| <!--Description-->MOTU M4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe not usb compliant, okay,
|-
| <!--Description-->MOTU U2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe not usb compliant, good but latest had hardware revision
|-
| <!--Description-->MOTU UltraLite-mk3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2010 not usb compliant, great
|-
| <!--Description-->MOTU UltraLite-mk5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2020 not usb compliant, great
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Nuemann MT48
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant, okay
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Presonus AudioBox USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 maybe not usb compliant, usb1.1 usb-b bus powered, okay pre-amps, 24bit ADC 48Khz max,
|-
| <!--Description-->Presonus Audiobox 1818VSL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 maybe not usb compliant,
|-
| <!--Description-->Presonus AudioBox 44VSL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 may not be usb compliant, 12v psu,
|-
| <!--Description-->PreSonus AudioBox 22VSL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 maybe not usb compliant,
|-
| <!--Description-->|PreSonus Studio 2|4 2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant, usb-b,
|-
| <!--Description-->|PreSonus Studio 2|6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2017 maybe usb compliant,
|-
| <!--Description-->|PreSonus Studio 6|8 USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2017 maybe compliant, needs ext psu,
|-
| <!--Description-->PreSonus Studio 24c 2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant, usb-c, good, adc,
|-
| <!--Description-->PreSonus Studio 26c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant, usb-c,
|-
| <!--Description-->PreSonus® Studio 68c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant, usb-c,
|-
| <!--Description-->PreSonus AudioBox USB 96
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2020 maybe usb compliant, high preamp noise,
|-
| <!--Description-->Presonus Quantum ES2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2022 maybe usb compliant, okay,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Prism
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Prism Lyra
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe not usb compliant, great
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Platane UP1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2024 maybe usb compliant usb- UAC2 asynchronous protocol, 64dB Low-noise Mic amplifier, 32Bit High End ADC and DAC, 16dBu High-power ti headphone amplifier
|-
| <!--Description-->Platane UP2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2024 maybe usb compliant,
|-
| <!--Description-->Platane
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->RME Babyface/UC/UFX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2010 maybe not usb compliant, good
|-
| <!--Description-->RME Fireface UCX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2012 might be able to put into class compliant cc although a firewire device, pre amps, adc,
|-
| <!--Description-->RME Babyface Pro FS
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe not usb compliant, good
|-
| <!--Description-->RME Fireface UCX II
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2021 might be class compliant usb-b, pre amps, adc,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Solid State Logic SSL2 SSL2+ Mk1 1st Gen
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2020 maybe usb compliant, good, adc,
|-
| <!--Description-->Solid State Logic SSL12 SSL18
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2022 maybe usb compliant, bus powered, good pre-amps, up to 32-bit 192kHz AD/DA converters, 12-in 8-out,
|-
| <!--Description-->Solid State Logic SSL2 SSL2+ MkII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2024 maybe usb compliant, good pre amps ein -130 dBu, ad/dc, okay latency,
|-
| <!--Description-->Solid State Logic
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Topping E1x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2023 maybe usb compliant, good
|-
| <!--Description-->Topping Pro E2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2023 maybe usb compliant, good
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->UAD UA Apollo
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2012 maybe not usb compliant,
|-
| <!--Description-->UA apollo 2nd Gen twin X (Duo/Quad), X4, X6, X8, X8P, and X16
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2015 bus compliant?, usb-
|-
| <!--Description-->UA apollo twin x quad 3rd Gen
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2018 bus compliant?, usb-
|-
| <!--Description-->Universal Audio Volt 1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2021 maybe usb compliant, good,
|-
| <!--Description-->|Universal Audio Volt 276 2|76
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2021 maybe usb compliant, good,
|-
| <!--Description-->Universal Audio Volt 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2022 maybe usb compliant, good,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Records
| Opinion
|-
| <!--Description-->Akai EIE Pro AI01 Electromusic Interface Expander -
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 maybe not usb compliant, 4-in/4-out USB 2.0 audio interface with a built-in USB hub and MIDI I/O, up to 24-bit/96kHz
|-
| <!--Description-->Akai EIE Pro AI02
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe not usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->|Alesis io2 io|2, io14 io|14, io26 io|26
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2006 bus powered but not usb compliant, okay pre-amps, 2, 4 or 8 mics respectively,
|-
| <!--Description-->Alesis iO2 Express
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2010 not usb compliant, poor pre-amps,
|-
| <!--Description-->Alesis Core 1 USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2014 maybe cc, mini usb, poor latency,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Apogee Duet 1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2009 firewire only, not usb compliant micro-usb with most features, , , two‑channel two‑in, two‑out,
|-
| <!--Description-->Apogee Ensemble
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2009 firewire, not usb compliant micro-usb with most features, , , two‑channel
|-
| <!--Description-->Apogee One USB 1st Gen
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2010 maybe not usb compliant micro-usb for basic features, , , single‑channel up to 48kHz
|-
| <!--Description-->Apogee One USB 2nd Gen
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe usb compliant usb- and maybe aa batteries,
|-
| <!--Description-->Apogee Duet 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2022 maybe usb compliant usb-c with most features, , ,
|-
| <!--Description-->Apogee One USB 3rd Gen
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 maybe usb compliant,
|-
| <!--Description-->Apogee Ensemble Thunderbolt
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2020 maybe not usb compliant micro-usb with most features, , , two‑channel
|-
| <!--Description-->Apogee Boom
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2022 maybe usb compliant usb-c, , ,
|-
| <!--Description-->Apogee Duet 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2022 maybe usb compliant usb-c with most features, , ,
|-
| <!--Description-->Apogee
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->ART PRO Audio Usb Mix
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 maybe usb compliant bus powered,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Avid Digidesign Mbox 1 USB Audio
| <!--Vendor ID-->0x0dba
| <!--Product ID-->01000
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2002 mbox original was usb1 and not a usb class compliant device, and had the much hated "focusrite designed" mic preamps, light blue front plate and the sticky out feet
|-
| <!--Description-->Avid Digidesign Mbox 2 USB Audio
| <!--Vendor ID-->0x0dba
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2005 midi not usb compliant
|-
| <!--Description-->Avid Digidesign Mbox 2 Pro USB Audio
| <!--Vendor ID-->0x0dba
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2006 not usb compliant
|-
| <!--Description-->Avid Digidesign Mbox 2 Mini USB Audio
| <!--Vendor ID-->0x0dba
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2007 not usb compliant
|-
| <!--Description-->Avid Digidesign Mbox 2 Micro USB Audio
| <!--Vendor ID-->0x0dba
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2009 not usb compliant
|-
| <!--Description-->AVID MBox 3rd gen Mini or Standard but Pro is Firewire
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2010 maybe usb compliant,
|-
| <!--Description-->behringer u-control uca202
| <!--Vendor ID-->0x8bb
| <!--Product ID-->0x2902
| <!--Revision-->1.00
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 maybe usb compliant, draws a lot of power - dac ti burr-brown - no microphone pre-amp -
|-
| <!--Description-->Behringer U-CONTROL UCA 222
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2009 maybe usb compliant, - no microphone pre-amp -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Black Lion Audio 2x2 evolution
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2021 maybe usb compliant but , okay with 109dB range - poor noise floor, 24-bit 192kHz Cirrus Logic CS4272, average latency,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Bomge 11s
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2021
|-
| <!--Description-->Bomge 22s
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2021
|-
| <!--Description-->Bomge BMG22 USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2021 usb-c, 24bit 192kHz but only use much lower, may have to spend time cleaning up some of the noise, high latency,
|-
| <!--Description-->Bomge U202
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2022 usb-c, 32bit 192kHz but only use much lower, may have to spend time cleaning up some of the noise, high latency,
|-
| <!--Description-->Bomge U204
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2022 usb-c, 32bit 192kHz but only use much lower , may have to spend time cleaning up some of the noise, high latency,
|-
| <!--Description-->Bomge Mini
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2024
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->TI Burr-Brown PCM2702E PCM2704 PCM2704C Muse Audio Mini USB DAC board
| <!--Vendor ID-->0x08bb
| <!--Product ID-->0x2704
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant, no mic input - goodish quality
|-
| <!--Description-->TI Burr-Brown PCM2900 PCM2902 PCM2906 USB DAC board
| <!--Vendor ID-->0x08bb
| <!--Product ID-->0x2900
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant, no mic input - goodish quality
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Depusheng MD22
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2022 usb-b powered, 24bit 192kHz though is 96kHz,
|-
| <!--Description-->Depusheng USB Audio
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2023 usb-b powered, 24bit 192kHz though is 96kHz,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->|Emagic emi 2|6 em2|6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2002 not uac
|-
| <!--Description-->|Emagic emi 6|2m
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2005 not uac
|-
| <!--Description-->|Emagic emi 6|2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2005 not uac
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Ego Systems, Inc. in Korea (ESI) joining with RIDI GmbH
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2006 maybe not usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->esi Mixvibes U46 Mk II USB audio
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2007 not usb compliant, usb-b powered,
|-
| <!--Description-->ESI ESU22
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2008 maybe not usb compliant,
|-
| <!--Description-->esi U24XL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 maybe usb compliant, usb-b powered, 24 bits, 2 analogue inputs and outputs with 6.3 mm jack connection, Output L can be used as a headphone output, S / PDIF digital input -
|-
| <!--Description-->esi U46XL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 maybe usb compliant, usb-b powered,
|-
| <!--Description-->ESI Originals, Inc ESIO MAYA22USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe usb compliant, usb-b powered, 1 xlr,
|-
| <!--Description-->ESI MAYA44USB+
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe usb compliant, usb-b powered, xlr,
|-
| <!--Description-->ESI Originals, Inc ESIO MARA22XTU
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2014 maybe usb compliant, usb-b powered, 1 xlr,
|-
| <!--Description-->ESI U22XT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 usb class compliant
|-
| <!--Description-->ESI Gigaport Ex
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2020 usb compliant?, usb-c usb3.1, , ,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->iConnectivity iConnectAUDIO2+ icaudio-02 USB audio interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->{{unk|2016 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->LexiconPro - Omega 8x4x2 (USB-1.1)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2003 not usb complaint
|-
| <!--Description-->Lexicon Alpha
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2006 not usb compliant,
|-
| <!--Description-->Lexicon Lambda
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2006 may not be compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Line 6 Toneport UX1 and Tone Port UX2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2004 not usb compliant,
|-
| <!--Description-->Line 6 TonePort UX8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2005 maybe not class compliant,
|-
| <!--Description-->Line 6 POD Studio UX1 UX2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2006 not usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Lokchonk UX22
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->[https://www.youtube.com/watch?v=ljSiNmudMm0 Lokchonk UX44HD]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2023 usb-b , , , 2in 2out only, average latency,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Mackie Onyx Artist 1·2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2006 maybe not usb compliant, usb-b powered,
|-
| <!--Description-->Mackie Onyx Producer 2X2 USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 maybe usb compliant, usb-b midi
|-
| <!--Description-->Mackie Onyx Blackjack
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 USB powered but maybe not usb compliant, Two Onyx Preamps, 2-in, 2-out which are combo Neutrik-type connectors to handle XLR, instrument or line level
|-
| <!--Description-->Mackie
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 maybe usb compliant, , ,
|-
| <!--Description-->Media Assistance USB-One
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2009 not uac cc comliant,
|-
| <!--Description-->M-Audio Fast Track USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2004 maybe not usb compliant, - guitar
|-
| <!--Description-->M-Audio Fast Track Ultra (6 in 6 out)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2008 maybe usb cc providing 24-bit/96kHz audio capabilities but requires manual configuration of the mixer settings
|-
| <!--Description-->M-Audio M-Track
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 usb compliant?, okay - guitar and vocal mainly
|-
| <!--Description-->[https://htyp.org/M-Audio/Fast_Track_Ultra/Linux M-Audio FastTrack Ultra] and Ultra 8R
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2010 maybe usb compliant, low round-trip latency, okay octane pre amps, adc,
|-
| <!--Description-->M-Audio M-Track 2x2M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 usb compliant? usb-c - okay pre-amps, ,
|-
| <!--Description-->M-Audio M-Track (MkII) 2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 usb compliant? usb-c - okay pre amps, ,
|-
| <!--Description-->M-Audio M-Track Solo
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2021 usb compliant? - okay but issues, MJN4580C opamps (lower gain 55 dB at volume 9-10), ti PCM2900C ADC 16bit means there is a hard noise floor at -96 dB, plastic build no rf shielding,
|-
| <!--Description-->M-Audio M-Track DUO
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2021 usb compliant? - okay but issues, MJN4580C opamps (lower gain 55 dB at volume 9-10), ti PCM2900C ADC 16bit means there is a hard noise floor at -96 dB, plastic build no rf sheild,
|-
| <!--Description-->M-Audio Air
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant, okay
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->NI AK1
| <!--Vendor ID-->0x17CC
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 maybe usb compliant,
|-
| <!--Description-->[https://www.pogo.org.uk/~mark/linuxdj/ Native Instruments Traktor Audio 8 DJ], [ Traktor Audio 4 DJ], [ Traktor Audio 2 DJ],
| <!--Vendor ID-->0x17cc
| <!--Product ID-->0x1978, 0x0839, 0x041C
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2009 not usb compliant uses snd-usb-caiaq module, [https://mixxx.discourse.group/t/problems-with-native-instruments-audio-8-dj-on-linux/14719/2 Audio 8 device has 4 subunits which are not recognized correctly], Cirrus Logic DACs spec'd at 24-bit/96KHz over a USB2,
|-
| <!--Description-->NI Komplete Audio 6 Mk1
| <!--Vendor ID-->0x17CC
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 maybe usb compliant, pre amps, 24bit 96kHz adc, ocassional dropouts, plastic build top with metal around 3/4,
|-
| <!--Description-->Native Instruments NI Komplete Audio 1 and 2 USB
| <!--Vendor ID-->0x17CC
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant, good pre amp ein -129.5 dBu, ad/dc,
|-
| <!--Description-->[https://support.native-instruments.com/hc/en-us/articles/360014683497-Apple-Silicon-Compatibility-News Native Instruments Komplete Audio 6 Mk2]
| <!--Vendor ID-->0x17CC
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant, pre amps, 24bit 192kHz adc, black aluminum glass build,
|-
| <!--Description-->[ Native Instruments Traktor Pro]
| <!--Vendor ID-->0x17cc
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2023 maybe usb compliant
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Novation AudioHub 2x4 NOVHUB01
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 maybe usb compliant, usb-b powered, no xlr, focusrite sounds inside,
|-
| <!--Description-->Novation AudioHub
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Prodipe Studio 22 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe not usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Schiit HEL 1 USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019
|-
| <!--Description-->Schiit HEL 2 USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2021 gaming headsets mostly
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Roland Edirol UA-3 Audio Capture
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->1998 maybe not usb compliant,
|-
| <!--Description-->Roland Edirol UA-30 Audio Capture
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->1999 not usb compliant,
|-
| <!--Description-->Roland Edirol UA1A UA-1D Audio Capture
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2000 not usb compliant,
|-
| <!--Description-->Roland Edirol UA-5 Audio Capture (Roland)
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2000 not usb compliant,
|-
| <!--Description-->Roland Edirol UA-1000 Audio Capture
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2004 not usb compliant,
|-
| <!--Description-->Roland Edirol UA-1EX, Cakewalk UA-1G
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2005 not usb compliant driver also supports ASIO (Steinberg Audio Stream I/O Interface), noisy
|-
| <!--Description-->Roland Duo Capture UA-11
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2006 not usb compliant,
|-
| <!--Description-->Roland QUAD-CAPTURE Analog 2x2 Digital 2x2 USB 2.0 4in/4out
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2005 not usb compliant, usb-b powered
|-
| <!--Description-->[https://wiki.debian.org/DebianEdu/Documentation/Manuals/Rosegarden/Setup Roland Edirol UA-101 and UA-1000 (Clemens Ladisch driver)]
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2006 not usb compliant,
|-
| <!--Description-->[https://github.com/mmueller-kaffeeschluerfercom/UA-25-Firmware-Modification Roland Edirol ua-25]
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2007 maybe usb compliant 16bit 44.1kHz sampling without MIDI but not USB class complient when in Advanced mode for 24bit or midi
|-
| <!--Description-->Edirol by Roland USB AudioCapture UA-25EX
| <!--Vendor ID-->0x0582
| <!--Product ID-->0x00e6, 0x00e7
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 maybe usb compliant if ADVANCED DRIVER switched to OFF might play and record at 44.1kHz and 16-bit samples
|-
| <!--Description-->Roland Audio Interface V-Studio 20 VS-20 Cakewalk
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2010 maybe not usb compliant, usb-b powered, 1 xlr,
|-
| <!--Description-->Roland Edirol UA55 UA-55 Quad Cakewalk
| <!--Vendor ID-->0x0582
| <!--Product ID-->0x012f
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2011 not USB class compliant,
|-
| <!--Description-->Roland DUO-CAPTURE EX UA-22 USB Audio
| <!--Vendor ID-->0x0582
| <!--Product ID-->0x0159
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe usb compliant but not be used with a USB 3.0 port that is not compatible with USB 2.0 specification, vs pre amps, adc, three AA batteries in base, or an AC adapter psb-1u 9V 2A -
|-
| <!--Description-->Roland Rubix series Roland Rubix22 USB 2.0 Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2017 maybe usb compliant,
|-
| <!--Description-->Roland Rubix series Roland Rubix24 USB 2.0 Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2017 maybe usb compliant,
|-
| <!--Description-->Roland
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant
|-
| <!--Description-->Steinberg MI2, Steinberg MI4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2004 not usb compliant,
|-
| <!--Description-->Steinberg (2004 Yamaha buys) MIDI interface hardware including the CC like CC121 CC-121 and CI1 CI2 series.
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2008 not usb compliant,
|-
| <!--Description-->Steinberg UR12 UR22
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe not usb compliant, poor pre-amps,
|-
| <!--Description-->Steinberg UR44 usb audio interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2014 maybe not usb compliant, poor pre-amps,
|-
| <!--Description-->Steinberg UR242 audio interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2015 maybe usb compliant, usb powered or 5v psu, okay pre-amps,
|-
| <!--Description-->Steinberg UR22mkII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2018 maybe usb compliant, okay pre-amps ein -123 dBu, ad/dc,
|-
| <!--Description-->Steinberg UR-RT 2 USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2018 maybe usb compliant, usb2.0 usb-b, pre-amps, ad/dc,
|-
| <!--Description-->Steinberg UR44C (USB3)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant,
|-
| <!--Description-->Steinberg URX22C UR22C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2021 maybe usb compliant, preamps okay but little noisy, ad/dc.
|-
| <!--Description-->Steinberg UR22 MkIII UR series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2024 maybe usb compliant usb-c, okay pre-amps, adc,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Tapco LiNK.USB 2x2 (Loud technologies WA, USA)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2005 maybe not compliant, usb-b, poor pre-amps hum, latency issues,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->[https://git.alsa-project.org/?p=alsa-tools.git;a=blob;f=usx2yloader/README;hb=3843634ef0310a952b256bcb6a4ddd0ad4ebe396 Teac Tascam US-422 US-428 US2XYloader]
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2000 not usb compliant,
|-
| <!--Description-->Tascam US-122 US-224
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2003 not usb compliant, needing firmware usx2yloader/us122fw.ihx for audio sound card - Tascam US-122 and US-122L are not the same -
|-
| <!--Description-->Tascam US-122L
| <!--Vendor ID-->0x0644
| <!--Product ID-->0x800e
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2006 not usb compliant, obsolete needs tascam_loader.ihx and us122fw.ihx firmware loaded each time unless automated
|-
| <!--Description-->Tascam US122 US-122 Mk2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2004 not usb compliant although USB2 downgrade so using USB1.1 UHCI, tascam units suffer from high round-trip latency as do most typical USB units
|-
| <!--Description-->Tascam US144 US-144 Mk2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2004 maybe usb compliant although USB2 downgrade so using USB1.1 UHCI, tascam units suffer from high round-trip latency as do most typical USB units
|-
| <!--Description-->Teac TASCAM US-200 USB 2.0 Audio / MIDI Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2011 maybe not usb compliant,
|-
| <!--Description-->Teac US-366
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2011 maybe not usb compliant,
|-
| <!--Description-->Teac TASCAM US-600 USB 2.0 Audio / MIDI Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2011 maybe not usb compliant,
|-
| <!--Description-->Teac TASCAM US-800 USB 2.0 Audio / MIDI Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2011 may not be totally usb compliant
|-
| <!--Description-->Teac Tascam iU2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2012 maybe not usb compliant,
|-
| <!--Description-->Teac Corp Tascam US-2x2
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2014 usb compliant?, 5v dc power, midi out in,
|-
| <!--Description-->Teac Corp Tascam US-4x4
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> usb compliant?,
|-
| <!--Description-->Teac Tascam US-16x08 US-20x20
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->teyun q12 Q-12, q22 Q-22
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant - unknown pre amp, unknown ad/dc,
|-
| <!--Description-->Teyun q26 Q-26, q24 Q-24
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant - unknown pre amp, unknown ad/dc,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Yamaha UW500
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2000 not class compliant,
|-
| <!--Description-->Yamaha Audiogram 3 USB Digital Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2012 maybe usb compliant, okay pre amp, 16bit 44kHz adc no advanced features without dedicated asio driver, 1 xlr, 1 instrument,
|-
| <!--Description-->Yamaha Audiogram 6 USB Digital Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe usb compliant, okay, 2 xlr, 2 instrument,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Zoom UAC-232
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe not usb compliant, okay,
|-
| <!--Description-->Zoom UAC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe not usb compliant, okay,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Records
| Opinion
|-
| <!--Description-->[http://www.arcam.co.uk/products,rseries,usb-dacs,rPAC.htm Arcam rPac]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Audioquest Dragonfly
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Audioengine D1 Premium 24-bit DAC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Beresford TC-7520 (Burr Brown PCM 1716)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Beresford TC-7520 + Burson Buffer + MK3 JKSPDIF
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->[http://epiphany-acoustics.co.uk/products-page/dacs/e-dac-24bit-miniature-usb-dac/ Epiphany E-DAC 24bit] ES9023 DAC chip
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Firestone Audio FUBAR II Mk2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Firestone Audio iLoveTW 24Bit USB DAC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->FiiO D5 ta2020 chip amp
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->FiiO E07K Andes
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->FiiO E17 Alpen
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->GoVibe Magnum
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->GoVibe Martini-U
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->GoVibe Vulcan
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Halide Design DAC HD (Wolfson WM8716)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->HRT Steamer II USB DAC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->John Kenny JKDAC uses a 24-bit/192 kHz Sabre ES9022 DAC or better JKDAC32
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description--> iBasso D12
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Leckerton UHA-6S MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->MyST 1866 PortaDAC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Objective DAC ODAC+O2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Rega DAC (Wolfson WM8742)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Records
| Opinion
|-
| <!--Description-->[http://www.henryaudio.com/open-source.php Henry Audio USB DAC 128 also known as QNKTC AB-1.2 open source DAC]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Henry Audio mkII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->AKM4430 DAC chip comes from Asahi Kasai
|-
| <!--Description-->DevilSound USB DAC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Zoom U series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->KingRex UD-01 SE (Burr-Brown PCM 2702E)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->SuperPro 24/192 USB DAC (24bit 192 kHz, CS-4398 D/A chip)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Records
| Opinion
|-
| CMedia CM108 7.1ch emulation I2S in and out
| 0x1926
| 0x0003
| 0x0100
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| [http://www.lindy.co.uk/usb-2-audio-adapter/42961.html Lindy USB 2.0] (Chipset CM108)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| Speed-Link SL-8850-SBK Vigo ([http://mightyohm.com/forum/viewtopic.php?p=1036#p1030 CMedia CM108])
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| Dynamode USB SOUNDCARD 2.0
| <!--Vendor ID-->0x0003
| <!--Product ID-->0x1130
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| Dynamode Virtual 7.1 USB-SOUND7 (C-Media )
| 0x0d8c
| 0x000c 0x000e
| 1.00
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Generic White box with very little red led and white USB lead (CMedia )
| <!--Vendor ID-->0x0d8c
| <!--Product ID--> 0c000e
| <!--Revision-->1.00
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Records
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| CM109 CiT SC-U119 5.1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Records
| Opinion
|-
| CMedia CM1197.1ch I2C MCU port Penguin
| 0x0D8C
| 0x0000
| 0x010
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Records
| Opinion
|-
| <!--Description-->Sweex 7.1 Startech External USB, WMA Blue metal box SYBA SD-AUD20040, Sabrent USB-SND8, Sewell Vantec NBA-200U (C-Media CM6206 CM106 like)
| <!--Vendor ID-->0x0d8c
| <!--Product ID-->0x0102
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->50/50 if the item is detected but does not work
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Creative Labs SoundBlaster X-fi
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Creative X-Fi Go
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Creative X-Fi 5.1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Creative Sound Blaster Play! USB sound adapter (SB1140)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> working with [http://www.amiga.org/forums/showpost.php?p=646431&postcount=15 Deneb on OS3]
|-
| <!--Description-->Asus Xonar U1 (ASUS UA100 USB Audio Chip)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Asus Xonar U3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Records
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Griffin iMic
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->M-Audio Transit
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Icemat Siberia (steel series) (Cmedia chipset)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->JMTek HY554, ZyXEL NSA-220, Logilink (Tenx Technology TP6911 and SSS-1623 headphone set)
| 0x0C76 0x1130
| 0x1605 0x1607 0xf211
| 0x
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> reports on other OS not good
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Plantronics "DSP Adapter-01" (or "USB Adapter-02")
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Rocksmith Real Tone Cable
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->RSA Intruder Predator
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->StarTech ICUSBAUDIO7
| <!--Vendor ID-->0x0d8c
| <!--Product ID-->0x000c
| <!--Revision-->1.00
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Stoner Acoustics UD100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Teac UDH01-B
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Terratec Aureon 5.1 USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Terratec Aureon 5.1 USB MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->TerraTec Electronic GmbH Aureon Dual USB
| 0x0ccd
| 0x0077
| <!--Product ID-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Terratec Phase26
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Trust 510 EX 5.1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Logitech A-5572A USB 2.0 to 3.5mm jacks Virtual 7.1 Surround Sound Adapter or accessory of Logitech Clearchat pro USB or Logitech USB Headset H530
| <!--Vendor ID-->0x0003
| <!--Product ID-->0x046D
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Trumix TM-10 USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2024 maybe cc
|-
| <!--Description-->Trumix TM-12 USB-C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2024 maybe cc usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Turtle Beach Audio Advantage Amigo Micro II USB Sound Card & Headset Adapter
| <!--Vendor ID-->0x10F5
| <!--Product ID-->0x0211
| <!--Revision-->0100
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Vantec NBA-100U 7.1 Channel
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|}
Companies including Access, Alesis, Allen&Heath, American Audio, CME, ESI, Infrasonic, Lexicon, Numark, Presonus, Reloop, SIMS, Sound Devices, Steinberg, Swissonic, Tascam, Terrasoniq, Terratec, Yamaha and Yellowtec decided to license and bundle this driver. So fully functional custom drivers are available for Access Virus TI, Access Virus TI snow, Alesis Multimix 8 USB2.0, Alesis Multimix 16 USB2.0, Allen&Heath XONE:2D, Allen&Heath XONE:3D, Allen&Heath XONE:4D, Allen&Heath XONE:DX, Allen&Heath XONE:DB4, American Audio Versa Port, CME XCORPIO, ESI ESU1808, ESI Gigaport AG / DG, ESI Maya 44 USB, Infrasonic Amon, Lexicon I-ONIX U22, Lexicon I-ONIX U42S, Lexicon I-ONIX U82S, Mindprint DI-MOD USB, Numark DJ IO, Numark NS6, Numark NS7, Numark Omni Control, Numark V7, Presonus Audiobox USB, Reloop Digital Jockey, SIMS Primus, Sound Devices USB pre, Steinberg MI2, Steinberg MI4, Swissonic Easy USB, Tascam M-164UF, Tascam US-122L, Tascam US-144, Tascam US-Tascam US-144mkII 122mkII, Tascam US-200, Tascam US-600, Tascam US-1641, Tascam US-1800, Tascam US-2000, Terratec Area 61, Terrasoniq Phase X64, Terratec Phase 26 USB, Yamaha UW10, Yamaha UW500, Yellowtec PUC2 and many others.
Well, those companies are using the same driver framework because all of those interfaces use the same microprocessor/firmware architecture to communicate with the USB bus. Just like almost all FireWire audio interfaces use the same TC Dice or BridgeCo chipsets. Usually it does not make sense for companies to develop their own USB1.1/USB2/FW framework for a product they are going to sell for <$500.
However, that isn't the end of the story. The companies who develop audio interfaces implement different features into their devices and must update the driver and firmware to accommodate those features. That is where things can go wrong. Sometimes there is miss-communication about how things are coded, sometimes the developer who started a project leaves without transferring his knowledge to his successor, etc. You have to keep in mind that there are no "big" computer audio companies. Even the companies that seem big in the scale of the market, probably have fewer employees than you'd think.
A very well made interface that is designed from scratch from the ground up would be a very expensive device, regardless of whether it's USB, FW, PCIe or whatever.
Round-trip latency is the sum of the following:
<pre>
ASIO input buffer
ASIO output buffer
A/D D/A converter latency
The driver's hidden safety buffer
</pre>
At a 64-sample ASIO buffer size/44.1k, Tascam units yield ~18ms total round-trip latency.
Typical USB audio interfaces use a large hidden safety buffer.
This helps ensure glitch-free playback... even under less than ideal circumstances. But... this comes at the expense of much higher round-trip latency. Short of doubling the sample-rate, there's no means of mitigating the higher round-trip latency.
If you have no plans of ever monitoring in realtime thru software based EFX/processing (ie: playing/monitoring DI bass thru an AmpSim plugin as you're playing), then this may not matter to you.
If you want the ability this play/monitor in realtime thru software based EFX/processing, make sure to get an audio interface that yields low round-trip latency.
As a point of reference the best PCI/e audio interfaces yield about 5ms total round-trip latency at a 64-sample ASIO buffer size/44.1k
The best Firewire and USB units yield 5.5-5.6ms total round-trip latency at those same settings.
Typical USB and Firewire units (that use a large hidden safety buffer) yield 12-18ms total round-trip latency at those same settings.
Anything above ~6ms starts to feel sluggish.
Anything above ~10ms feels like playing thru molasses.
USB Microphones
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->C-Media Electronics, Inc. CM108 Audio Controller Mic
| <!--Vendor ID-->0x0d8c
| <!--Product ID-->0x013c
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Elgato WaveMic
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Elgato Wave:1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 no driver }}
|-
| <!--Description-->Elgato Wave:3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 no driver lightweight }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->hyperx solocast
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 no driver}}
|-
| <!--Description-->hyperx quadcast
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sennheiser CC510 USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Alesis USB-Mic microphone podcasting kit
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Audio-Technica AT2020 (AT202) AT4040
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Audio-Technica AT2035
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Behringer B1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Blue Microphones Snowball
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Blue Microphones Snowball iCE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| cardioid only }}
|-
| <!--Description-->Blue Microphones Yeti
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|can pick up a lot of background noise but not sure if right mode used }}
|-
| <!--Description-->Blue Microphones Yeti Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| can pick up a lot of background noise but not sure if right mode used }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->MXL 2001A/600 Studio Microphone Pack / MXL 2003A Studio Condenser
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Microsoft LifeChat LX-3000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Namtai SingStar(TM) PS2 SCEH-0001 USBMIC
| <!--Vendor ID-->0x1415
| <!--Product ID-->
| <!--Revision-->0.01
| <!--Opinion-->{{unk| mono microphones }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Neumann
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Razer Seiren X
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Razer Seiren Mini USB Condenser Microphone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Rockband USB Mic
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Rode NT1A VideoMic Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Rode Podcaster 2 USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| RODECaster Pro usb audio compatible}}
|-
| <!--Description-->Rode NT1A NT2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| NT2 better }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Roland R-07
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Samson Go Mic - Portable USB Microphone for Recording
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| mini usb r.h.s. and clip on the bottom left hand side}}
|-
| <!--Description-->Samson Go Mic Clip On USB Microphone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| switch to choose between Cardiod, Omni and -10 dB modes, a 3.5mm headphone socket and a USB socket}}
|-
| <!--Description-->Samson C01U
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| cardoid only}}
|-
| <!--Description-->Samson C03U
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Shure MV7 USB Podcast Microphone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->SONY PCM-D50 handy
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| one mini usb 5V, }}
|-
| <!--Description-->Sony PCM-M10
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| one mini usb out 5V, }}
|-
| <!--Description-->SONY
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| one mini usb out, }}
|-
| <!--Description-->SONY
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| one mini usb out, }}
|-
| <!--Description-->TASCAM DR-1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008, one mini usb out, lithium battery}}
|-
| <!--Description-->Tascam DR-07
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009, one mini usb out, aa battery}}
|-
| <!--Description-->Tascam DR05
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011, one mini usb port for file transfer and charging the AA batteries }}
|-
| <!--Description-->Tascam DR-40
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 mini usb aa battery }}
|-
| <!--Description-->Tascam DR-07mkII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012 , one mini usb out, }}
|-
| <!--Description-->Tascam DR-05X
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 , one micro usb out, }}
|-
| <!--Description-->Tascam DR-07X
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 , one micro usb out, }}
|-
| <!--Description-->Tascam DR-40X
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 , one micro usb 3 aa battery }}
|-
| <!--Description-->Tascam DR-05XP
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 , one usb-c , }}
|-
| <!--Description-->Tascam DR-07XP
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 , one usb-c , }}
|-
| <!--Description-->Tascam DR-40XP
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 , one usb-c, }}
|-
| <!--Description-->Tascam DR-100mkIII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| , usb , }}
|-
| <!--Description-->Tascam
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| , usb , }}
|-
| <!--Description-->Zoom H4
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2006 no driver, mini usb 5V }}
|-
| <!--Description-->Zoom H2
| <!--Vendor ID-->0x1686
| <!--Product ID-->0x0095
| <!--Revision-->
| <!--Opinion-->{{unk|2007 no driver, mini usb 5V audio i/f USB Card and USB Audio; press the Record button when USB Audio is displayed. Press Record again to choose the default }}
|-
| <!--Description-->Zoom H4n
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009 no driver, mini usb 5V }}
|-
| <!--Description-->Zoom H1
| <!--Vendor ID-->0x1686
| <!--Product ID-->0x0120
| <!--Revision-->
| <!--Opinion-->{{unk|2010 no driver, mini usb 5V and display will alternate between USB Card and USB Audio; press the Record button when USB Audio is displayed. Press Record again to choose the default }}
|-
| <!--Description-->Zoom H2n
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 no driver, mini usb 5V audio i/f press the Record. Press Record again to choose the default }}
|-
| <!--Description-->Zoom H4n PRO
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 no driver, mini usb 5V }}
|-
| <!--Description-->Zoom H6
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2013 untested, 2xlr, 5v mini usb, }}
|-
| <!--Description-->Zoom H5
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 no driver, 5v mini usb, 2 xlr, }}
|-
| <!--Description-->Zoom H1n-vp handy
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 no driver, mini usb 5V }}
|-
| <!--Description-->Zoom H6studio
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 untested}}
|-
| <!--Description-->Zoom
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|no driver}}
|-
| <!--Description-->Zoom Q3
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 untested usb a cord, no hdmi, 480p}}
|-
| <!--Description-->Zoom Q3HD Handy Video Recorder
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2010 untested, built in usb-a cord, mini hdmi, 1 hour on 2 AA batteries, H.264 movies 480p }}
|-
| <!--Description-->Zoom Q2HD Handy
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012 untested, up 720p but no stablisation, mini usb cord, 1 hour on 2 AA batteries}}
|-
| <!--Description-->Zoom Q4
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 untested, li-ion battery}}
|-
| <!--Description-->Zoom Q4N
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2015 untested, li-ion battery}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Audio Technica ATR4697-USB Boundary Microphone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->CAD Audio CAD USB Condenser Boundary Microphone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->MXL AC-44 Boundary Conferencing Mic
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Samson Audio SAUB1 Boundary Microphone (USB)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|}
USB Speakers
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Focal XS 2.1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
USB Headset Wired/Wireless
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Logitech Vantage Wired (came free with PS2 Socom3)
|
|
|
| <!--Opinion-->{{unk| }}
|-
| Logitech G330
|
|
|
| <!--Opinion-->{{unk| }}
|-
| Logitech Premium USB Stereo Headset 350
|
|
|
| <!--Opinion-->{{unk| }}
|-
| Plantronics DSP-300
|
|
|
| <!--Opinion-->{{unk| }}
|-
| Plantronics GameCom 777
|
|
|
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Logitech G-930 Wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| [http://www.makeuseof.com/tag/set-usb-wireless-earphones/ Plantronics Audio 995 Wireless RF]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Sennheiser Wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
[https://www.youtube.com/watch?v=Be1e0QPIPK0 Mixers]
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->ALESIS MULTIMIX 4 CHANNEL USB MIXER
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Alesis - MultiMix 8 USB FX (USB 1.0)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2010 usb compliant?, up to 16-bit/48kHz, 18v 500mA -
|-
| <!--Description-->Alesis - MultiMix 8 USB 2.0 FX (USB 2.0)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2012 usb compliant?, up to 16-bit/48kHz,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Allen&Heath MixWiz16
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> maybe not usb compliant,
|-
| <!--Description-->Allen and Heath ZED Power 1000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb 8 xlr, usb-b out, }}
|-
| <!--Description-->Allen & Heath ZEDi-10
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> maybe not usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Behringer XENYX 302USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 5-Input Mixer/Audio Interface - 1 xlr - }}
|-
| <!--Description-->Behringer Xenyx Q502USB Mixer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|no driver}} Behringer 2*18.5V 250ma psu - 1 xlr - phanton power -
|-
| <!--Description-->Behringer Xenyx Q802USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} Behringer 2*18.5V 250ma psu - 2 xlr - phanton power -
|-
| <!--Description-->BEHRINGER XENYX 1204USB 8-Channel 2-Bus Mixer USB/Audio Interface Studio/Live
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} iec kettle psu lead - can develop constant background hiss over time
|-
| <!--Description-->Behringer XENYX X1222USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver - 12-Channel Analog Mixer with USB Interface and Effects}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->Depusheng HT-7 HT7USB 7 Channel Audio Mixer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2023 cheap no driver, USB MP3 player to work, format your USB stick Fat32 as a Logical drive - not primary}}
|-
| <!--Description-->Depusheng XT7
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2025 cheap no driver}}
|-
| <!--Description-->Depusheng DT8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2025 cheap no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->Spirit soundcraft Folio FX8 with Lexicon Effects Processor
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} unusual power connector - [https://github.com/lack/soundcraft-utils usb routing] -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->Weymic Professional F7 7-Channel 2-Bus Mixer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2022 no driver, cheap mixer with 3pin ac input (introduces noise) and 1 usb-a port}}
|-
| <!--Description-->Weymic Professional F7-Pro 7-Channel 2-Bus Mixer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2022 no driver}}
|-
| <!--Description-->Weymic A80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2024 no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->Yamaha
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
|}
Mixer no hardware usb
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->ALTO Lynx MIX82FX Audio Mixer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->Alto L16
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->Behringer MXUL5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->Behringer MX602A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->Behringer Eurorack UB502
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb 17.5V 3pin psu needed}}
|-
| <!--Description-->Behringer Eurorack UB802
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb 2 xlr,}}
|-
| <!--Description-->Behringer Eurorack UB1002
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb 2 xlr,}}
|-
| <!--Description-->Behringer Eurorack UB1202
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb 4 xlr, }}
|-
| <!--Description-->Behringer Eurorack UB1602
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->Behringer RX1602
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->Behringer 802 XENYX 8-Input 2-Bus Mixer Small Format Mixer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} Behringer 18.5V ???ma psu - 2 xlr - phanton power -
|-
| <!--Description-->Behringer Xenyx 502
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->Behringer Xenyx
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->Behringer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->IMG stage Line MMX-122
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb, 4 xlr, iec cable}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
| <!--Description-->Mackie 802VLZ4 Mackie 802-VLZ4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb , psu}}
|-
| <!--Description-->Mackie 1202-VLZ Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb, mains iec}}
|-
| <!--Description-->Mackie Mix5 Mixer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}} 18v 300mA psu - 5 Channel -
|-
| <!--Description-->Mackie Mix8 Mixer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}} 9v x2 600mA psu -
|-
| <!--Description-->Mackie MIX12FX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb, 4 xlr, 9v 500mA x2 psu, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->[https://www.soundcraft.com/en/product_documents/en/owners_manual Soundcraft] Spirit Folio F1 Fader 100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} 16 Channel Mixer -
|-
| <!--Description-->Soundcraft EPM6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
| <!--Description-->Soundcraft EPM8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
| <!--Description-->Harman Soundcraft EPM 12
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} iec kettle power lead -
|-
| <!--Description-->Soundcraft EPM 16
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->Soundcraft Notepad 8FX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
| <!--Description-->Soundcraft Notepad UI12
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> connect via wifi
|-
| <!--Description-->Soundcraft Notepad UI16
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> connect via wifi
|-
| <!--Description-->Soundcraft Notepad 124FX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection, 14.8V x2 3 pin psu}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
| <!--Description-->t.mix xmix 1402fx mp usb
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection, mains iec, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
|}
==Webcameras==
A USB camera has two dedicated chips: a controller or bridge and an image sensor.
There was no Commodore support for video interfaces. The only commercial, now discontinued application that defined some sort of standard was VHI Studio by iospirit.
===OLD standards===
See [http://www.e3b.de/usb/main_supported_e.html support pages] and [http://www.e3b.de/usb/main_faq_e.html here] and some [http://webcam-osx.sourceforge.net/cameras/index.php?orderBy=status further compatibility]
Pencam STV680
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| AIPTEK stv680
| 0x0553
| 0x0202
|
| {{N/A|untested}}
|-
| Konica e-mini
| 0x04c8
| 0x0722
|
| {{N/A|untested }}
|-
| DigitalDream l'espion XS
| 0x1183
| 0x0001
|
| {{N/A|untested}}
|-
| [http://reviews.cnet.com/webcams/creative-webcam-go/1707-6502_7-1446174.html Creative WebCam Go mini]
| 0x041e
| 0x4007
|
| {{N/A|untested}}
|-
|}
SonixcamTool (Sonix webcams and derivates)
'''Note [http://amigadev.free.fr/sonix/ some] Sonix Webcams with a Sonix SN9C1xx controller ''and'' a pas106b or tas5110c1b sensor support bulk mode which works even with pciusb.device!'''
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Macally IceCam II
| 0x0c45
| 0x05d8
|
| {{N/A|untested}}
|-
| Sweex MiniCam 100K
| 0x0c45
| 0x6005
|
| {{N/A|untested - sensor tas5110c1b}}
|-
| Macally IceCam Portable
| 0x0c45
| 0x6007
|
| {{N/A|untested - sensor tas5110d}}
|-
| Sweex 100K
| 0x0c45
| 0x6009
| 0x0101
| {{yes|bulk works - sensor pas106b}}
|-
| [http://www.epinions.com/pr-Chicony_TwinkleCam_Webcam/display_~full_specs Chicony Twinkle DC-2110A]
| 0x0c45
| 0x600d
|
| {{no|no}}
|-
| Unknown
| 0x0c45
| 0x601e
|
| {{no|no}}
|-
| USB PC Camera (SN9C102)
| 0x0c45
| 0x6028
|
| {{no|no - sn9c10x + pas202b}}
|-
| Trust SpaceC@m 120 and 150
| 0x0c45
| 0x6029
|
| {{N/A|untested - sensor pas106a}}
|-
| HiRes Webcam Live
| 0x0c45
| 0x602c
|
| {{no|no - sensor ov7630}}
|-
| [http://www.sweex.com/en/assortiment/sound-vision/webcams/JA000020 Sweex USB Webcam 300K]
| 0x0c45
| 0x608f
|
| {{no|no - sensor ov7630}}
|-
| Speedlink Sphere Webcam SL-6820, 350K
| 0x0c45
| 0x613c
| 0x0101
| {{N/A|untested - sensor HV7131R}}
|-
| WB-3250P
| 0x0c45
| 0x613e
|
| {{no|no - sensor ov7630}}
|-
| Unknown
| 0x0c45
| 0x6207
|
| {{no|no}}
|}
<pre>
micromaxx USB Camera STM 1363 514 works ---
USB Tower Lego 1684 1 works need NCQ
Trust Spycam 100plus STM 1363 514 works
</pre>
ov51x.class - no driver
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| D-Link VGA Webcam (640x480)
| 0x05a9
| 0x8519
|
| {{no|no driver}}
|-
| Sony PS2 EyeToy Logitech/Logicool Black (ov519) SCEH-0004
| 0x054c
| 0x0154
|
| {{no|no driver}}
|-
| Sony PS2 EyeToy Namtai Silver (ov519) SLEH-00031 SLEH-00030
| 0x054c
| 0x0155
|
| {{no|no driver}}
|-
|}
===UVC.class - [https://www.usb.org/document-library/video-class-v15-document-set USB Device Class Definition for Video Devices or USB Video Class]===
AROS needs realtime isochronous transfers in EHCI and XHCI, then a usb uvc.class which might create a virtual UVC.VHI type device driver for use by AROS apps
since 2019 the market is filled with UVC Compliant USB HDMI Capture
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Acasis 4K30
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|}}
|-
| <!--Description-->Acasis 4K60 HD VS009
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|4k 60hz ok for chat streams}}
|-
| <!--Description-->Acasis 4K60 HDMI HDR Game Live Video Capture
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| for chat streams }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->AJA U-tap HDMI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|}}
|-
| <!--Description-->ASUS TUF CU4K30
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->ATEN CAMLIVE HDMI to USB-C UVC Video Capture adapter UC3020 HDMI (F) TO USB-C M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 possibly UVC and UAC standard support allows up to 1080P @ 60}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Avermedia Live Streamer Cap 4K - BU113
| <!--Vendor ID-->0x07ca
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 uvc usb3}}
|-
| <!--Description-->AVerMedia GC515 video capturing device
| <!--Vendor ID-->0x07ca
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 USB 3.2 Gen 1 (3.1 Gen 1)}}
|-
| <!--Description-->AVerMedia Live Gamer Ultra GC553
| <!--Vendor ID-->0x07ca
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 usb3 powered by Type C USB cable and 4K HDMI cable}}
|-
| <!--Description-->AVerMedia Live Gamer Ultra S GC553PROW 302AGC553DL2
| <!--Vendor ID-->0x07ca
| <!--Product ID-->0x1553
| <!--Revision-->
| <!--Opinion-->{{unk|2021 powered by good quality type C USB3 cable and 4K HDMI 2.0 cable}}
|-
| <!--Description-->AVermedia Live Gamer Mini GC311 302AGC311DG9
| <!--Vendor ID-->0x07ca
| <!--Product ID-->0x1311
| <!--Revision-->
| <!--Opinion-->{{unk|2021 uvc compliant up to 1080p 60fps capture and supports internal hardware H.264 encoding }}
|-
| <!--Description-->AVerMedia Ez Recorder 330 (ER330)
| <!--Vendor ID-->0x07ca
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 designed to work independently and is generally not compatible as a plug-and-play UVC capture card }}
|-
| <!--Description-->AVerMedia Live Gamer extreme3 GC551G2 (LGX3)
| <!--Vendor ID-->0x07ca
| <!--Product ID-->0x3551
| <!--Revision-->
| <!--Opinion-->{{unk|2022 uvc compliant for intensive gaming streams, some vrr but no hdr with maximum recording resolution of 4K30/1080p60 from fully wired usb3 compatible cable - passing through 4K60/1080p120 Game Capture video capturing device HDMI}}
|-
| <!--Description-->AVerMedia Live Gamer Ultra Pro GC553Pro
| <!--Vendor ID-->0x07ca
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 usb3 }}
|-
| <!--Description-->AVerMedia Live Gamer Ultra 2.1 GC553G2 61GC553G20BV video capturing device
| <!--Vendor ID-->0x07ca
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 USB 3.2 Gen 1 (3.1 Gen 1)}}
|-
| <!--Description-->AVerMedia GC575
| <!--Vendor ID-->0x07ca
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 usb3 powered by Type C USB cable and 4K HDMI cable}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->AVMatrix
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->ClonerAlliance Flint 4KP Plus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->DIGITNOW U600 video capture card
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 uvc uac }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Epiphan AV.io HD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Epiphan AV.io 4K
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Elgato Cam Link 4K
| <!--Vendor ID-->0x0FD9
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 uvc }}
|-
| <!--Description-->[https://github.com/elgatosf/capture-device-support Elgato HD60 S+]
| <!--Vendor ID-->0x0FD9
| <!--Product ID-->0x006C, 0x006E
| <!--Revision-->
| <!--Opinion-->{{unk|2019 4K 30FPS capture, 1080p 60FPS uvc}}
|-
| <!--Description-->Elgato HD60 X
| <!--Vendor ID-->0x0FD9
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 uvc }}
|-
| <!--Description-->Elgato Cam Link 4K HDMI video capture card
| <!--Vendor ID-->0x0FD9
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 uvc compliant but can have usb disconnects}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->EVGA XR1 USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 USB 3.0 device with 1080/60 capture and 4K/60 passthrough}}
|-
| <!--Description-->EVGA XR1 lite USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 USB 3.0 device }}
|-
| <!--Description-->EVGA XR1 Pro USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 USB 3.0 device with 1080/60 capture and 4K/60 passthrough}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->EZcap Game Link Raw - ezcap321 usb3.1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 2160p30, 1080p120 and 1440p60 HDMI input and pass-through. - 1080p120, 2160p30 and 1440p60 recording. - Latency less than 50ms uvc}}
|-
| <!--Description-->EZCap GameDock Ultra
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 record at 4K30, 1440p60, and 1080p120}}
|-
| <!--Description-->EZcap 360 Game Capture Extreme
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2023 USB 3.0, 4K 60FPS passthru and 1080p 240FPS}}
|-
| <!--Description-->EZCAP 364 GameDock Extreme 2.1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Genki ShadowCast 1 & 2, the Pro version
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->HAUPPAUGE HD PVR Pro 60
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 4K in/Out 1080P 60fps Capture and Streaming PC Connected and Stand Alone }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Kondor Blue
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Nanjing Magewell Electronics Co ltd USB 3.0 XI100DUSB-HDMI Pro Capture
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2013 }}
|-
| <!--Description-->Magewell USB3.0 Silver HDMI Full HD Video Capture Device 1080p 32011
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2013 usb audio extract HDMI embedded audio output via headphones}}
|-
| <!--Description-->Magewell USB capture HDMI PLUS 2K 32040 320400000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 captures video up to 1920×1200, 1920×1080 or 2048×1080 at 60 fps over an HDMI capture from devices such as game consoles in up to DCI 4Kp60 4:2:0 input resolution, and it automatically upscales/downscales the signal to 2K for recording or streaming}}
|-
| <!--Description-->Magewell USB capture HDMI Gen2 32060
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2015 1080p gets hot, 165M HDMI receiver, max input 2048x1080 60fps 4:4:4, RGB/YUV 4:4:4 8/10/12-bit, YUY 4:2:2 12-bit, up to 8-channel 24-bit HDMI-embedded audio at 192kHz, HDMI 1.4a, output from 480p to 1080p, YUY2/UYVY/RGB24/RGB32 support video cropping, up/down scaling, de-interlacing, aspect ratio conversion, color format conversion, frame rate conversion, flip and mirror, up to 2-channel IEC60958 audio streams, 5V 0.5A 2.5W, }}
|-
| <!--Description-->Magewell USB Capture 4K Plus 32090
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 limited by the bandwidth of USB 3.0, the maximum frame rate can only reach 30 fps when capturing}}
|-
| <!--Description-->Magewell USB Capture 4K PRO
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->Magewell Pro Convert IP to USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|Captures one network eth NDI® High Bandwidth, NDI® HX2, NDI® HX3 sources or H.264/H.265 video source into software at resolutions up to 1080p60}}
|-
| <!--Description-->Magewell USB Fusion
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|versatile USB video capture device that allows users to switch between two HDMI inputs and one USB webcam input for live presentations}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->ROLAND UVC-01 USB Video Capture
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2020 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sunplus Innovation Technology Inc. MiraBox HSV321 ARX321 Video Capture device
| <!--Vendor ID-->ox1bcf
| <!--Product ID-->0x2c99
| <!--Revision-->
| <!--Opinion-->{{unk|2022 uvc uac }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->UGREEN CM716
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| uvc uac but disable HDCP on your source device (PS4/PS5, Xbox) }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->VisionTek UVC HD60 Capture Card
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Acer Aspire Crystal Eye AOA110 AOA150 0.3M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2008 webcam }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->AVerMedia Live Streamer CAM 313 (PW313)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2019 uvc 1080p/30 webcam}}
|-
| <!--Description-->AVerMedia Live Streamer DUO
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2021 uvc 1080p/60 webcam}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->[http://reviews.cnet.co.uk/webcams/creative-live-cam-optia-af-review-49294183/ Creative Live Cam Optia AF] 2.0M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{no|2008 }}
|-
| <!--Description-->DSLR macro extensions + a cheap 50mm E-Series lens + some PVC tubing and a negative holder
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes| if uvc camera chosen}}
|-
| <!--Description-->DSLR scanning using a macro lens, for the adapter, for a 3d printed negative holder)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes| if uvc camera used }}
|-
| <!--Description-->Logitech C270
| <!--Vendor ID-->0x046d
| <!--Product ID-->0x0825
| <!--Revision-->
| <!--Opinion-->{{unk|720p }}
|-
| <!--Description-->Logitech C910 C920 HD Pro 5Megapixels 720p
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|Output mjpg 1080p}}
|-
| <!--Description-->Logitech C920s c922 HD Pro 5Megapixels 1080p
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|Output mjpg 1080p}}
|-
| <!--Description-->Logitech
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|}}
|-
| <!--Description-->Logitech Brio 100 300 500
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|}} 1080p
|-
| <!--Description-->Logitech MX Brio 4k
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|4k}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|}}
|-
| <!--Description-->Microsoft's LifeCam HD-3000 HD-5000
| <!--Vendor ID-->0x045e
| <!--Product ID--> 0x0779
| <!--Revision-->1.06
| <!--Opinion-->{{no|}}
|-
| <!--Description-->Microsoft LifeCam Cinema
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->Microsoft LifeCam Studio
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}} sony imx179 1080p
|-
| <!--Description-->Pi
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}} 1/2.8” Sony IMX291 image sensor, it's a 2MP, UVC-compliant, ultra-wide-angle, low light, high-speed USB 2.0
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}} OV5648
|-
| <!--Description-->razer kiyo
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}} 4 megapixel sensor 1080p 30fps 720p 60fps - 12 led ring light adjustable
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->TeckNet C068 1.3mpixel HTD USB2.0 Camera Vimicro Z-Star Corp
| <!--Vendor ID-->0x0AC8
| <!--Product ID--> 0x3420
| <!--Revision-->0x01FA
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->YEALINK(XIAMEN) NETWORK UVC50 is compatible with the UVC 1.1 protocol CP960-UVC50 and CP960-UVC80 kits PTZ, CP960-UVC30 Kit is UVC 1.5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Amcrest ProHD 1080P WiFi Wireless IP Security Camera - 1080P (1920TVL), [https://www.ispyconnect.com/man.aspx%3Fn%3DAmcrest IP2M-841] nvr
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}} h264/rtsp, motion detection, features Sony image sensor and Ambarella processor - rtsp://[username]:[password]@[IPaddress]:[port]/cam/realmonitor?channel=[channel]&subtype=[stream] - [username] - username to login to the DVR or NVR, [password] - password, [IPaddress] - IP address of the device. If you are not on the same local network, this should be the external IP address of the device's network, [port] - port number, [channel] - channel number of the stream, [stream] - view the Main or Sub stream. (main stream is 0, sub stream is 1) , eg. rtsp://admin:admin@192.108.1.108:80/cam/realmonitor?channel=1&subtype=1 - utilizing RTSP ( rtsp://user:pass@ipcam1 )
|-
| <!--Description-->Axis all modern ones
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}} RTSP/RTP + H264/mjpeg or MJPEG over HTTP
|-
| <!--Description-->PTZ
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->DLink DCS-5222 5222L network camera
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}} camera streams H.264 over RTP controlled by RTSP
|-
| <!--Description-->Dlink DCS900
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->Sony
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->Wansview 1080p [http://marc.merlins.org/perso/linuxha/post_2013-11-10_Reviewing-IP-Webcams-for-Linux-and-Zoneminder_Dlink-DCS900_-Ubnt-Aircam_-Foscam-FI8904W-FI8910W_-FFI9820W_-FI9821W_-Wansview-NCB541W_-and-Zavio-F3210.html#NCM625GA NCM625GA] IP Camera WiFi Wireless IP Security Camera , Full HD Plug n Play Home Surveillance / Baby Monitor
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}} RTSP/RTP + H264/mjpeg - play its HD stream without problem with vlc rtsp://ip/live/ch0 and getting jpegs http://ipaddr/mjpeg/snap.cgi?chn=0 - methods involve transcoding h.264 video from the camera into jpeg's, which is cpu intensive - able to pull images manually, using http://username:password@ip/mjpeg/snap.cgi -
|-
| <!--Description-->Wansview NCB541W
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
|}
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc}}
|-
| <!--Description-->Avermedia Game Capture HD C281
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2011 standalone h.264 recording of up to component cable not hdmi but not uvc}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Avermedia GL310 Live Gamer Portable (LGP Lite)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2014 not working usb2 and USB Lite no uvc}}
|-
| <!--Description-->Avermedia AVerMedia Live Gamer Portable ([https://github.com/Trouffman/octv_gears_lgp Model C875])
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2014 usb2 no uvc}}
|-
| <!--Description-->AVerMedia LGX Live Gamer extreme GC550
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2015 but [https://github.com/ChrisAJS/lgx2userspace driver]}}
|-
| <!--Description-->AVerMedia LGX2 Live Gamer extreme2 gc550 plus gc551
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2017 but [https://github.com/ChrisAJS/lgx2userspace driver]}}
|-
| <!--Description-->Avermedia ExtremeCap UVC - BU110
| <!--Vendor ID-->0x07ca
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2017 maybe not uvc and uac}}
|-
| <!--Description-->AVerMedia Live Gamer Portable 2 Plus GC513 Micro-USB Capture Box LGP2 Plus
| <!--Vendor ID-->0x07ca
| <!--Product ID-->0x1513
| <!--Revision-->
| <!--Opinion-->{{no|2017 powered by a standard Micro-USB cable, video capture output up to 1080p60 capture to hdmi in, standalone sd card recording on exFAT or FAT32 of .MOV, 2160p pass-through hdmi out to tv - no vrr - [https://www.avermedia.com/uk/support/download#ans_part firmware latest 2.1.7.13, 2.1.7.14], SN74AVC8T245 8bit, DRV604 stereo, iTE IT6663FN hdmi 2.0 splitter, TLV320DAC3101 DAC, CS42L73 audio codec, CDCE913 PLL clock, W29N01HVSINA nand bios, I-Catch V35MA SOC CPU 32bit MIPS24K, ADV7480 hdmi mhl, }}
|-
| <!--Description-->AVerMedia Live Gamer 4K LG4K GC573
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2018 not uvc but [https://github.com/derrod/lg4k-linux drivers here], }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->Blackmagic intensity Extreme Capture Card
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2011 not uvc }}
|-
| <!--Description-->BlackMagic Intensity Pro 4k
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2015 }}
|-
| <!--Description-->Elgato Video Capture (1VC108601000)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->Elgato Game Capture HD60
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc, }}
|-
| <!--Description-->Elgato Game Capture HD GCHD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc https://github.com/tolga9009/elgato-gchd needs firmware mb86h57_h58_idle.bin and mb86h57_h58_enc_h.bin}}
|-
| <!--Description-->Elgato HD60S Elgato Game Capture 4K60 S+ Video Capture
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|non uvc, }}
|-
| <!--Description-->August EZCap.tv model 116
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| }} poor audio recording
|-
| <!--Description-->E-SDS Diamond Maplin
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->Hauppauge 1212 HD PVR
| <!--Vendor ID-->0x2040
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| }} analog and component only - PlayStation (.m2ts), AVCHD (ts), or XBox(.mp4) recording formats - switched the component output from the default YPbPr to RGB.
|-
| <!--Description-->Hauppauge 1431 1445 HD PVR Gaming Edition HDMI Capture
| <!--Vendor ID-->0x2040
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2014 not working, can get warm}}
|-
| <!--Description-->Hauppauge HD Rocket
| <!--Vendor ID-->0x2040
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc}}
|-
| <!--Description-->Hauppauge HD-PVR2 (model 145210 Rev E4)
| <!--Vendor ID-->0x2040
| <!--Product ID-->0xE502
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->Hauppauge 1480 1482 HD PVR 2 GE Gaming Edition HDMI Capture green LED - 1498 1503 1504 Plus version with Mac support
| <!--Vendor ID-->0x2040
| <!--Product ID-->0xe514 0xe524
| <!--Revision-->
| <!--Opinion-->{{No| can get warm - [https://ez.analog.com/video/w/documents/581/adv7482-design-support-files ADV7482] [https://patchwork.kernel.org/patch/9201075/ video chip] with Magnum DXT H.264 encoder blob, IDR keyframe generation poor - best for model 157210 and not 157221 and Game Edition Plus (model 157320) 2040:E505 E505-00-00AF1234 [http://www.hauppauge.com/site/support/linux.html#tabs-3 ]}}
* HDMI: 1920x1080p50/60, 1920x1080i50/60, 1280x720p50/60, 720x480i, 720x576i, 640x480p60.
* Component: 1920x1080p50/60, 1920x1080i50/60*, 1280x720p50/60, 720x480p60, 720x480i, 720x576i.
* Composite: 720x480i and 720x576i
* Audio Inputs : HDMI PCM and RCA support with Adjustable Bitrate Quality 2 Channel AAC/AC3 audio codec
|-
| <!--Description-->Hauppauge 1512 HD PVR 2 PC blue LED with optical in input on the back
| <!--Vendor ID-->0x2040
| <!--Product ID-->0xe525
| <!--Revision-->
| <!--Opinion-->{{No| }} can get quite warm - IR Blaster added -
|-
| <!--Description-->Hauppauge Colossus2 E585-00-00AF4321
| <!--Vendor ID-->0x2040
| <!--Product ID-->0xe585
| <!--Revision-->
| <!--Opinion-->{{No| not uvc}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->Ion SLIDES2PC 35mm Portable Slide & Film Scanner
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->Ion Pics 2 PC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->ION PowerScan USB film and slide scanner
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2011 not uvc }}
|-
| <!--Description-->Koolertron Sunny
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->FilmScan35 35mm Film Negative Scanner 1304 marks spencer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->U3 HD Capture
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->Razer Ripsaw HD - Game Capture
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc}} put in usb2 slot and use video BGR3 (Emulated) and OpenRazer drivers
|-
| <!--Description-->Razer Ripsaw HD USB HDMI Capture Card
| <!--Vendor ID-->0x1532
| <!--Product ID-->0x0d01
| <!--Revision-->
| <!--Opinion-->{{no| not uvc compliant}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->Silvercrest 35mm Photo Slide Scanner
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc but not great quality}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->Z-Star Microelectronics Corp. Traveler TV 6500 SF Dia-scanner
| <!--Vendor ID-->0x0ac8
| <!--Product ID-->0x3370
| <!--Revision-->
| <!--Opinion-->{{No|2010 not uvc and poor scans}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
|}
=== AR VR XR Headset ===
AROS needs realtime isochronous transfers in EHCI and XHCI, then an usb based uvc.class to vhi type driver for virtual display and maybe more
The primary engineering challenge of VR is motion sickness caused by a mismatch of visual and inner ear information, which is extremely well established as causing people to throw up in a wide range of contexts outside of VR. The experiences that make some people sick are low framerate. Foveated rendering doesn't solve vergence accommodation. Your eye will still be focused at infinity regardless of where you are looking, you'll just have the illusion that the foreground or background are out of focus. Eye tracking plus dynamic lenses (perhaps liquid lenses) or real light fields are necessary.
First start with apps that have simple static features at first, then advance to dioramasa and teleportation options for 10, 20 minutes and then gradually upgrade over a timespan of four weeks to train your brain. Avoid smooth motion stuff like rollercoaster or mountain heights until much later. Even with this preparation, VR makes 40% of people seasick nausea. If so, you may be able to use VR glasses just to watch videos and some slow moving apps [https://www.emuvr.net/ emuVR] instead.
*2014-2019 1st Gen, low resolution,
*2020-2025 2nd Gen, higher resolution,
*2026-
Most hardware typically has a 1-3 year retail lifespan with 1-3 years of updates after. Really need "right" tethered PCVR rather than wireless.
The advantage to being tethered to a PC is processing power. Any standalone headset is going to be running purely off of batteries.
VR and AR are known as XR
Technology will get immersed enough so not making people sick. Higher resolution, faster frame rates, and [https://github.com/opentrack/opentrack better tracking].
Eventually, hyper reality brings VR, AR and MR digital layers together as a less chaotic, optic tracking with no delay, agents understanding, experiences with objects
3Dgs 4Dgs gassian splats bullet time slice photo snaps .ply for WebXR
[https://lvra.gitlab.io/docs/hardware/ ],
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Big Screen Beyond 1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2023 pcvr 2560 x 2560, fixed IPD, }}
|-
| <!--Description-->bigscreen Beyond 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 pcvr oled 5120 x 2560 @75Hz 2688x2688 @90Hz over pancake lenses, 116 FOV, virtual screens, custom facial plate from iphone app, streamvr 2.0 basestations and controllers not included, no passthrough, 107g-196g, }}
|-
| <!--Description-->bigscreen Beyond 2e
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 pcvr oled 5120 x 2560 total up to 90Hz pancake lens 116 FOV adjustable IPD app needed for adjustment, eye tracking, custom face mask cushion, streamvr 2.0 basestations and controllers not included, seperate head strap and speaker modules extra costs, 110g-300g }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Dpvr P1 Pro 4k Ultra Vr Headset
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 wireless snapdragon, }}
|-
| <!--Description-->DPVR P2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Play for Dream MR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 android modular 3840x3552 uoled per eye 90Hz or qled mura issues, Arm snapdragon XR2+ Gen 2, eye tracking and 11 cameras 7 sensors 22 ir leds 14ms latency and foveated rendering, 1.5hrs battery, }}
|-
| <!--Description-->Play for Dream GravityXR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 ultralight head gear gx100 3w }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[https://lvra.gitlab.io/docs/community/ Valve Index HMD]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 tethered PC VR headset 1440 x 1600 120Hz, 108° and 104° FOV, fresnel lenses, SteamVR2 compatible tracking ir basestations, controllers aka Knuckles, dp 1.2 and usb3 cable proprietary cable end, no battery, }}
|-
| <!--Description-->Valve Steam Frame (Valve Deckard / Valve’s Index 2)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 - 2160 x 2160 up to 144Hz pancake lens, 108° and 96° FOV, wifi 6 fovelated streaming, Qualcomm Snapdragon 8 Gen 3 with [https://github.com/FEX-Emu/FEX fex] arm-to-x86 x64 translation layer, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sony PSVR2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2023 PCVR with adapter, two, one for each eye, 2000 x 2040 resolution OLED panels from 90Hz 120Hz refresh rates, fresnel lenses, 116° and 102° FOV, sony proprietary headset cable end, needs additional comfort options, }}
|-
| <!--Description-->VisionPro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Goertek glasses
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->HTC Vive ?
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| 2016 2x 1080x1200 needs external power supply, }}
|-
| <!--Description-->HTC Vive Original
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2016 108° and 96° FOV}}
|-
| <!--Description-->HTC Vive Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2016 , uvc, at least 2 powered steamvr basestations so 3 to 5 wall warts in total, proprietary cable end, }}
|-
| <!--Description-->HTC Vive Pro 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2017 dual 1440x1600 oled displays, 116° and 100° FOV - steamvr 2.0 basestation 2 for 5m2 area 4 for 10m2 - steamvr 2.0 joypads - low latency wireless later - type USB-c headphone adapter required, [https://github.com/CertainLach/VivePro2-Linux-Driver Rust on Linux] with [https://github.com/santeri3700/vive-pro-2-on-linux Shell], proprietary cable end, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Lynx R1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2023 android Qualcomm Snapdragon XR2 Gen 1, }}
|-
| <!--Description-->Lynx R2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2026 company liquidated, 2 x 2312x2160 110 FOV pancake lenses, LynxOS android Qualcomm Snapdragon XR2 Gen, openxr 1.1, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Oculus Rift prototype development kit [https://www.virtual-boy.com/forums/t/the-oculus-rift-dk1-thread/ DK1] with [https://www.youtube.com/watch?v=X_T4DJyy2Bo wired razer hydra controllers]
| <!--Vendor ID-->0x2833
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2013 pcvr LCD 1280 × 800 resolution 640 × 800 per eye up to 110° FOV, and 3DoF rotational tracking via a 1000Hz 9-axis IMU (Accelerometer, gyroscope, and magnetometer), no positional optical tracking either inside-out or outside-in, 380g, nausea issues, , }}
|-
| <!--Description-->Oculus Rift prototype development kit [https://github.com/facebookarchive/RiftDK2/tree/master DK2], [https://www.ifixit.com/Teardown/Oculus+Rift+Development+Kit+2+Teardown/27613 ifixit teardown]
| <!--Vendor ID-->0x2833
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2014 pcvr, 5.7" Super AMOLED display with a resolution of 960 x 1080 per eye 100° field of view, 1 usb Positional Tracker DK2 camera, lots of wires}}
|-
| <!--Description-->Facebook [https://github.com/thaytan/OpenHMD/tree/rift-kalman-filter Oculus Rift CV1] [https://noraisin.net/diary/?m=202201 some Linux support] [] [https://github.com/OpenHMD/OpenHMD/issues/330 AMD usb issues] [https://github.com/OpenHMD/OpenHMD/wiki/Xorg ] [https://github.com/Doc-Ok/OculusRiftCV1Camera Live Video] [https://www.youtube.com/@thaytan Youtube] [https://github.com/Fredrum/riftOnLinux Pi] [https://github.com/OhioIon/riftDriverPi ], but not quite there with the [https://www.youtube.com/watch?v=DSsCN6HFkWc consumer CV1], [https://forum.dcs.world/topic/142259-cv1-not-working-in-dcs/#comment-2878168 orange led could be HDMI Signal is not within HDMI Spec and might be Overclocked or usb3 not getting enough power frustrating],
| <!--Vendor ID-->0x2833
| <!--Product ID-->0x3031, 0x2031, 0x0031 and 0x0211 for 3p-a basestations lighthouses, 0x045e 0x02e6 for xbox wireless adapter
| <!--Revision-->
| <!--Opinion-->{{No|2016 powered run from your PC maybe uvc via wired dual PenTile OLED 2160x1200 (1080x1200 per eye) @ exactly 90Hz but screen door effect (space between pixels), 87 FOV, IPD from 58mm to 72mm, good 3D audio and okay mic, constellation headset 6DOF (3-axis rotational tracking + 3-axis positional tracking) with up to 3 usb infrared basestation (1 in front and 2 behind pointing upwards) on usb3 and usb2 to your PC but the tracking can be fragile so set it up on a weekly basis, wired only HDMI 1.3, USB 3.0 bus powered with proprietary plug in headset, 470g 1lb front heavy, 2 robust 1st Gen touch controllers with external sensors i.e. outside-in - 1 aa alkaline over rechargable battery each , press occulus and B buttons for 2 secs to connect, headset traps air so gets very warm inside and random disconnects due to twisting action on the top of the headset and/or cables, t4 torx screws }}
|-
| <!--Description-->Facebook Occulus Go 32Gb
| <!--Vendor ID-->0x2833
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2018 discontinued 2020 android based, 1280x1440 per eye 60Hz LCD, not gaming, no inside-out and limited self tracking, }}
|-
| <!--Description-->Facebook Oculus Rift S [https://noraisin.net/diary/?m=202201 some Linux support]
| <!--Vendor ID-->0x2833
| <!--Product ID-->0x0051 headset (cdc, audio, tracking data), 0x2052 usb hub,
| <!--Revision-->
| <!--Opinion-->{{No|2019 PCVR wired dual LCD 1080 by 1200, 88 horizontal FOV, display port (fibre optic strands) and annoying USB3 copper cables (power, audio and other data) but proprietary port in the headset, cameras on the headset ("inside-out") tracking so no base stations, non removeable head band and cushions and ipd hard to set, requires specific fragile Rift S/Quest1 2nd Gen Touch controllers which has a ring of translucent plastic with leds inside - t5 torx to disassemble for sticks drifting}}
|-
| <!--Description-->Facebook Occulus Quest 1
*032Gb
*064Gb
| <!--Vendor ID-->0x2833
| <!--Product ID-->0x0183 (single adb boot), 0x0
| <!--Revision-->
| <!--Opinion-->{{No|2019 android standalone wireless, 1440 x 1600 72Hz oled, front heavy though, play area 2m x 2m or bigger, low clocked Qualcomm Snapdragon 835 (MSM8998) (4x Kryo 280 Gold cores ARM Cortex-A73) + (4x Kryo 280 Silver A53), 2 to 3 hrs play time, 575g, 2nd Gen touch controllers, }}
|-
| <!--Description-->Meta Oculus Quest 2 KW49CM aka Codename Del Mar [https://www.meta.com/en-gb/help/quest/967070027432609/ fragile 3rd Gen Touch controllers] [https://www.youtube.com/watch?v=Cgejky8ZeoM internal battery] and selling over 20 million, more than all other quest headsets combined
*064Gb
*128Gb (110Gb free)
*256Gb
Setup continuous wifi, create Meta Oculus account, [https://developers.meta.com/horizon/ verify dev account, click on My apps], [ create Organization -> My Organization Groupings], [https://www.youtube.com/watch?v=QPInS5xxF-0 finally, meta quest mobile app to switch on adb],
| <!--Vendor ID-->0x2833
| <!--Product ID-->0x5010 (), 0x0083 (massstorage), 0x0086 (), 0x0186 (adb and xrsp [https://github.com/shinyquagsire23/xrsp_tests tests]), 0x0090 (composite adb), 0x0081 (),
| <!--Revision-->0419
| <!--Opinion-->{{unk|2021 android stand alone, lcd 1832x1920 per-eye 90Hz refresh rate, 97 FOV, fresnel lenses, 6DOF (degrees of freedom), 58-63-68 IPD settings, low clocked Arm snapdragon xr2 gen 1 apps with Meta Link cable USB-C usb3.2 pcvr maybe, b/w but no color passthrough, 6 t2 torx and 5 ph00 screws in headset (long bit), discontinued December 31, 2024, feature updates until December 2026, critical bug fixes and security updates until December 2027, 470g, Oculus + B button on right controller (move) and Menu + Y button on left controller (click) for about 3 seconds, 10W 5v 2a, RTL8153 chipset usb support,
*V60 unable to
*V77 pcvr issues
*V79 unable to }}
|-
| <!--Description-->Facebook Occulus Quest Pro aka Codename Seacliffe
| <!--Vendor ID-->0x2833
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2022 android standalone wireless 1440 x 1600 72Hz oled, 106° and 96° FOV mini lcd local dimming, pancake lenses, limited eye tracking, play area 2m x 2m or bigger, higher clocked snapdragon xr2 gen 1 arm cpu Arm apps, 1 to 2 hrs play time, new pro controllers with 3 cameras each, battery at rear, wireless charging, color passthrough, 9V 3A or 5V 3A,
*v77 capped wifi }}
|-
| <!--Description-->Meta Oculus Quest 3 aka Codename Eureka [ Air Light ALVR] or [ WiVRn] with fragile touch plus q3 controllers
*128Gb
*512Gb
streaming from PC with [https://github.com/alvr-org/Monado-ALVR ALVR], runtime of [https://monado.freedesktop.org/ Monado steamvr alternative openxr openVR], with Envision GUI,
| <!--Vendor ID-->0x2833
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2023 standalone, pancake lenses on lcd 2064 x 2208 res panel per eye 1200ppi - 104° and 96° FOV - up to 120Hz, Arm snapdragon xr2 gen 2 apps, foveated rendering, Meta Link cable USB-C 3.2, headstrap clamshell or halo style, speaker arms fragile, color passthrough, 510g, 18W 9v 2A or 15W 5V 3A,
*v74 ok }}
*v76 pcvr issues }}
|-
| <!--Description-->Meta Quest 3S aka Codename Ventura
*128Gb
*256Gb
| <!--Vendor ID-->0x2833
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 Arm snapdragon xr2 gen 2 cpu, lcd 1832 x 1920 fresnel lenses, 97 FOV, headphone arms fragile, better air flow, no promixity sensor inside, Meta Link cable USB-C 3.2, passthrough, }}
|-
| <!--Description-->Meta Boba 3
| <!--Vendor ID-->0x2833
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2027 ultra-wide 180° x 120° FOV, snapdragon XR2 G2, }}
|-
| <!--Description-->Meta Tiramisu
| <!--Vendor ID-->0x2833
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2027 µOLED displays with 90 pixels per degree, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Pimax 5K Super Plus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 }}
|-
| <!--Description-->Pimax 8K
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2020 }}
|-
| <!--Description-->Pimax 8K-X 8KX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 }}
|-
| <!--Description-->Pimax Crystal Light
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 tethered to PC with 2160 x 2160 4k 120Hz, 115° and 96° FOV, inside-out tracking, no battery, display port cable, variable qc and customer service, }}
|-
| <!--Description-->Pimax Crystal Super
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 tethered to PC with 3640 x 3640 4k 90hz, 116°+ and 100° FOV, eye tracking, inside-out tracking, no battery, display port cable, }}
|-
| <!--Description-->Pimax Dream Air with Lighthouse(s)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 tethered 3840 by 3552 @90Hz micro oled with pancake lens, 100 HFOV 96 VFOV but FOV IPD changes in app, link box for headset 2 split y cables, removable face gasket, 290g, steamVR2 bases and controllers, eye tracking, }}
|-
| <!--Description-->Pimax Dream Air SLAM
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 Simultaneous Localization and Mapping (SLAM) tracking inside-out so no base stations, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[https://somniumspace.com/ Somnium VR One VR1] [https://portal.vrgineers.com/user-guide/software/ open source] VR headset
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 pcvr 2880 x 2880 per eye @90 @120Hz, 125° horizontal 100° vertical FOV, 2 x SteamVR 2.0 bases, passthrough, 900g }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Varjo Aero VR-1 Headset
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 psu needed, 2 x Mini LED binocular of 150 nits, 2880x2720 per, 90Hz, FOV 102° horizontal, 73° vertical, 720g with headstrap, 2 x SteamVR 2.0 basestations, no speakers/mic, hdmi and usb3.0}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Varjo Aero XR-3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Varjo Aero XR-4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Camelo La Melaza Music Shield
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2026 no usb only bluetooth , }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->InAir 2 elite suite
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 ar nits 46FOV , , 4h battery life, 80g, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Oakley Vanguard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->RayNeo Air 3s
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 AR 100in 46FOV 650nits, usb-c 79g }}
|-
| <!--Description-->RayNeo Air 3S Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 AR 135in virtual display 46FOV 1200nits, usb-c 80g }}
|-
| <!--Description-->RayNeo Air 4 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 AR oled vision 4000 processing, HDR10, 47 FOV }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Rokid Max 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 ar 147in 50 FOV 650nits, usb-c back left, 76g, }}
|-
| <!--Description-->Rokid AI Spatial with Station 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 AR 600nits 147in 50FOV 75g, }}
|-
| <!--Description-->Rokid
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| ar ai smart glass}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Viture Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 135in 46 FOV 1000nits, magnetic connector, 77g, }}
|-
| <!--Description-->VITURE XR Luma
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 ar 147in 1200p 50 FOV, }}
|-
| <!--Description-->Viture Luma Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 152in 52 FOV 1000nits 1200p, 3dof, , 79g, }}
|-
| <!--Description-->Viture Luma Ultra
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 in FOV, 2 cameras, 3dof 6dof, }}
|-
| <!--Description-->[https://github.com/wheaney/XRLinuxDriver Viture Luma Pro]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Viture Beast
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 ar 1250nits 58FOV 174in, magnetic, 88g, }}
|-
| <!--Description-->VITURE Beast X Glasses models (Immersive 3D Moonlight)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 based 2D to 3D conversion with support DP Alt Mode (DisplayPort over USB-C), 1200p, 3df tracking, practic lenses 58deg POV, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Xreal One
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 ar 600nits, 50FOV, 3dof, usb-c 84g, }}
|-
| <!--Description-->XReal One Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 ar 700nits 57FOV 171in, usb-c, x1 3dof, }}
|-
| <!--Description-->Nreal now Xreal Air
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 , micro-oled 1080p, audio, virtual uvc ar displays, }}
|-
| <!--Description-->Nreal now Xreal Real3D 1S
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 AI based 2D to 3D conversion 57 FOV, , virtual uvc ar displays not vr, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Xiami XR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Xtal 8k
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Apple Vision Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2022 tethered AR mixed reality glasses, 3300ppi, 800g, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Google XR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->HTC Vive Focus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 standalone }}
|-
| <!--Description-->HTC Vive Focus Plus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 android with 2 1440 x 1600 75Hz amoled, inside-out, durable motion controllers, Vive port, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->HTC Vive Pro EYE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2019 dual-OLED displays 2880 x 1600 combined resolution), SteamVR 2.0 tracking, foveated rendering, Tobii, it enables gaze-based menu navigation with avatar eye contact, proprietary cables, }}
|-
| <!--Description-->HTC Vibe Cosmos
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2018 poor tracking and lifespan on controllers, }}
|-
| <!--Description-->HTC Vibe Cosmos Elite
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2020 1440x1700 per eye resolution, 90 Hz refresh rate, 6 DoF tracking, 2880 x 1700 combined pixel resolution, 97° FoV, two controllers and two base stations. Lighthouse tracking, }}
|-
| <!--Description-->HTC Vive Focus Vision Wired
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| }}
|-
| <!--Description-->HTC Vive Focus 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 per-eye resolution of 2448×2448 at 90 Hz, a 120-degree field of view, Qualcomm Snapdragon XR2 Gen 1, }}
|-
| <!--Description-->HTC Vive XR Elite VR Headset Deluxe Pack
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2022 snapdragon xr2 gen 1, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Pico Goblin
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2017 android based, 2.5K 1280x1440 per eye @70Hz, 92° FoV, and 3DoF (three degrees of freedom) tracking (Orientation tracking only—yaw, pitch, roll), single controller, snapdragon 820, ipd adjustment 54-71 mm, 600g, }}
|-
| <!--Description-->ByteDance Pico G2 4K
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2020 android standalone VR headset, 3840 x 2160 (4K) LCD screen, Snapdragon 835 processor, 3DoF so rotational movement (looking around, pointing) rather than positional movement (walking, leaning), does not support hand or eye tracking, 800g }}
|-
| <!--Description-->ByteDance Pico NEO 2 EYE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2020 6DoF 360g snapdragon 845 display 4k 75Hz tracking inside-out - magnetic field for controllers - pico software on android 8 - eye tracking }}
|-
| <!--Description-->ByteDance Pico Neo 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 Snapdragon XR2 Gen, 4K 3664 x 1920 90Hz lcd, battery at rear, displayport, Pico apparently emulates Oculus controllers, }}
|-
| <!--Description-->ByteDance Pico Neo 3 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 }}
|-
| <!--Description-->ByteDance Pico Neo 3 Link
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 }}
|-
| <!--Description-->ByteDance Pico 4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2023 2160x2160 panel per eye 75Hz 90Hz 105 FOV, Arm snapdragon xr gen 1, }}
|-
| <!--Description-->ByteDance Pico 4 ultra
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2023 2160 x 2160 @90 105 FOV, snapdragon XR2 G2, streaming from PC with alvr, wireless streaming from PC with WiVRn, Pico apparently emulates Oculus controllers, not plug and play, }}
|-
| <!--Description-->ByteDance Pico 5 aka Project Swan aka Vision Pro Competitor
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 micro-oled BOE 3840 x 3840 4000ppi per eye, MLA pancake lenses, custom pico arm cpu, pico os 6 android, eye and hand tracking, 300g, }}
|-
| <!--Description-->ByteDance Pico
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Samsung Galaxy XR VR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 3552 x 3840 @60-90 109 FOV , Arm snapdragon XR2+ Gen 2, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Shiftall MeganeX 8K
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 android }}
|-
| <!--Description-->[https://en.shiftall.net/products/meganex8k MeganeX Superlight 8K]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 android (3552 x 3840 pixels) into pixel count yields 27.27MP 10-bit HDR-compatible 4K resolution micro OLED panels @90Hz, pancake lenses 94 FOV, SteamVR™ tracking, 180g, 5V 2A, }}
|-
| <!--Description-->[https://en.shiftall.net/products/meganex8kmk2 MeganeX 8K Mk2 MkII] [https://github.com/sboys3/CustomHeadsetOpenVR community]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 pcvr linux, 4K per eye (1.35inch micro OLED 3552x3840 10 bit HDR) 27MP @90Hz 75Hz 72Hz pancake, upto 108 hor 100 vert FOV, usb-c and dp cables to breakout box, 5V 2.1A, 200g}}
|-
| <!--Description-->Shiftall
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 }}
|-
| <!--Description-->Shiftall
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Acer Windows(TM) MR AH101
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 Dual 2.89” LCD panels 2880 x 1440 combined (1440 x 1440 per eye) Up to 90Hz (HDMI 2.0), or 60Hz (HDMI 1.4), Field of View FOV 95, Tracking Inside-out, lots of light leak, }}
|-
| <!--Description-->Acer H7001
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2017 wmr 1440 x 1440 per-eye resolution @90Hz refresh rate, and 100-degree field of view FOV, inside-out tracking with front-mounted cameras so no external sensors, flip-up visor design but has a "screen door effect," subpar foam padding, win10 to win11 24H2, }}
|-
| <!--Description-->Dell Visor Mixed Reality VRP100 VR118
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2017 2x 1440x1440 a bit of nose light leak }}
|-
| <!--Description-->Fujitsu
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2017 cheap and lots of light leak }}
|-
| <!--Description-->[https://github.com/HadesVR HadesVR] with [https://github.com/ManoloMancelli/Persephone-Classic-Controller Persephone Controller]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[https://www.youtube.com/watch?v=HFaVjB1uNOM Persephone 3 Pro DiY 6Dof SteamVR Headset],
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->HP Reverb G1 VR1000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 WMR 2160 x 2160 @90Hz, 115 FOV, , hp proprietary headset cable end, 2 camera tracking but poor and controllers can be unresponsive, 500g front heavy, flight sims rather than gaming, }}
|-
| <!--Description-->HP 1440p Spatial Computing
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 dim display }}
|-
| <!--Description-->[https://forums.x-plane.org/forums/topic/294764-vr-in-linux-without-steam/ HP Reverb G2] WMR VR3000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2020 2 2160 x 2160 90Hz, needs Windows10 or Win 11 24H2, 4 camera tracking, controllers can be unresponsive, hp proprietary headset cable end, , }}
|-
| <!--Description-->HP
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Mirage Solo is a Standalone VR headset
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 Qualcomm Snapdragon 835, 1280x1440 per eye resolution, 75 Hz refresh rate, }}
|-
| <!--Description-->Lenovo Explorer VR2511N (G0A2) VR windows mixed reality (WMR)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 LCD 2.89" 1440 x 1440 per eye @90Hz, 6 DOF position tracking, 400g, }}
|-
| <!--Description-->[https://github.com/relativty/relativty open source relativty]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Samsung MHD Odyssey XE800ZAA WMR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 9V 500mA oled screens 2x 1440x1600 with usb3 and hdmi cables but bluetooth dongle required }}
|-
| <!--Description-->Samsung MHD Odyssey+ Plus WMR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 dual 3.5-inch AMOLED displays 2880 x 1600 total @90Hz, 6DOF inside-out tracking with usb3 and hdmi cables but bluetooth dongle required, use only win10 or win11 24H2, }}
|-
| <!--Description-->Sony PSVR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2016 2x 1080x960 up to 120Hz, lots of cables and computation brick, sony camera needed for tracking, ps4 or move controllers, }}
|-
| <!--Description-->Virtuality
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|1992 , , Amiga 3000 with TI chips, }}
|-
| <!--Description-->Virtuix Omni
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2013 VR treadmill changed course to commercial VR and pivotted back again 2020, }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
=== HDMI CEC transmitter and receiver ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
=== TV Remote Control MCE IR transmitter and receiver ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Compro K100 K300
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|need extra software support}}
|-
| <!--Description-->Elitegroup Computer Systems
| <!--Vendor ID-->0x1019
| <!--Product ID-->0x0f38
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->GMYLE MCE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Maybe|acts as usb-hid with limited keyboard like controls }}
|-
| <!--Description-->Hauppauge WinTV-PVR kit
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|untested}}
|-
| <!--Description-->Logitech Harmony 300 i300 600 650 800
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|need extra software support}}
|-
| <!--Description-->Microsoft MCE Commander
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2005 need extra software support}}
|-
| <!--Description-->Microsoft 1039 rev 1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2005 home top of square shape direction keys}}
|-
| <!--Description-->Microsoft 1039 rev 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2006 home under circle spaced direction keys}}
|-
| <!--Description-->Microsoft 1069 SMK Manufacturing, Inc
| <!--Vendor ID-->0x0609
| <!--Product ID-->0x0334
| <!--Revision-->
| <!--Opinion-->{{No|2007 untested}}
|-
| <!--Description-->Philips RC1974506/00
| <!--Vendor ID-->0x0471
| <!--Product ID-->0x0815
| <!--Revision-->
| <!--Opinion-->{{No|untested}}
|-
| <!--Description-->Sony RM-MCE10E PC REMOTE CONTROL VGN-AR21M VGX-XL100 VGN-AR21B/AR21S
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Sony RM-MCE20E PC REMOTE CONTROL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Sony RM-MCE30E PC REMOTE CONTROL VGN-AW21XY VGX-TP3E VGX-TP3G
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Sony RM-MCE50E PC REMOTE CONTROL VGC-LA2R
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->TSDX-IR14 USB MCE Media Center External Infrared IR Receiver
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->chipsets support CIR (consumer IR) Winbond W83977F/AF, SMC IrCC 2.0
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|technical reasons it's not possible to use USB IrDA dongles}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Zotac RC2604323/01G Zbox Media Remote Control with IR USB Receiver OVU710
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
|}
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Anycubic Cobra 2 Max
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Bambu Labs A1 Mini 3D printer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2019 EMS proprietary slicer app and cloud use, eSUN}}
|-
| <!--Description-->Bambu Labs X1 Carbon
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 }}
|-
| <!--Description-->Bambu Labs X2D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Creality K1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Creality K2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Creality
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Elegoo
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Lulzbot
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Prusa
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Qidi
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Snapmaker U1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 tool changer }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sovol SV08 Max
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| open source voron model, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->desktop pick and place machines AFARCO PNP running OpenPnP for Desktop SMT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|}
==ethwrap.class - Host Data Link "Cable Bridge" for data transfer==
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Advance USBNET (eTEK design)
| 0x0525
| 0x9901
|
| {{N/A|untested}}
|-
| ALi Uli M5632 (chip)
|
|
|
| {{N/A|untested}}
|-
| Aten (Ali Corporation) UN201
| 0x0402
| 0x5632
|
| {{maybe|force binding from rawwarp to ethwrap}}
|-
| Belkin (eTek design see below)
| 0x050d
| 0x0004
|
| {{N/A|untested}}
|-
| Digitus DN-3004 - USB Host Link
|
|
|
| {{yes|works}}
|-
| EPSON USB client
| 0x0525
| 0x2888
|
| {{N/A|untested}}
|-
| eTEK
| 0x056c
| 0x8100
|
| {{N/A|untested}}
|-
| KC-190
| 0x050f
| 0x0190
|
| {{N/A|untested}}
|-
| GeneSys GL620USB
|
|
|
| {{no|no driver the half-duplex GL620USB is NOT supported, products using it include the Inland Pro USB Quick Link}}
|-
| GeneSys GL620USB-A
|
|
|
| {{N/A|untested}}
|-
| Laplink Gold (uses NetChip 1080)
|
|
|
| {{N/A|untested}}
|-
| Prolific 2301/2302 (Jaton USB ConNET) (BAFO DirectLinq)
| 0x067b
| 0x0000 and 0x0001
| 0x0004
| {{maybe|detected but untested}}
|-
| Xircom PGUNET (uses AnchorChips 2720)
| 0x0547
| 0x2727
|
| {{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
|}
==cdcacm.class - USB modem==
The CDC ACM driver exposes the USB modem as a virtual serial modem or a virtual COM port to the operating system. The driver enables sending both data and AT commands, either through ACM (separating data and AT commands over different channels) or through Serial Emulation (passing the AT commands as is and as part of the data stream).
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Alcatel OT-I650
| 0x1bbb
| 0x0003
|
| {{N/A|untested}}
|-
| Acatel Dymamode/Dynamite
| 0x06b9
| 0xa5a5
|
| {{N/A|untested Zyxel Prestige 630-13 - untested PROLiNK Hurricane 8000 external link }}
|-
| AnyData ADU-100A ADU-E100A ADU-E100D ADU-E100H D10
| 0x16d5
| 0x6501
|
| {{N/A|untested}}
|-
| AnyData ADU-310
| 0x16d5
| 0x650
|
| {{N/A|untested}}
|-
| AnyData ADU-500A ADU-510A ADU-510L ADU-520A
| 0x16d5
| 0x6502
|
| {{N/A|untested}}
|-
| AnyData ADU-610 ADU-620
| 0x16d5
| 0x650
|
| {{N/A|untested}}
|-
| BT On-Air USB MODEM
| 0x079b
| 0x000f
|
| {{N/A|untested}}
|-
| Conexant USB MODEM CX93010
| 0x0572
| 0x1321
|
| {{N/A|untested}}
|-
| Conexant USB MODEM RD02-D400
| 0x0572
| 0x1324
|
| {{N/A|untested}}
|-
| Conexant Chipset
| 0x06ea
| 0x0002
|
| {{N/A|untested AUS N367 Roadster II 56 USB (Model AM5050R3) - untested }}
|-
| [http://accessrunner.sourceforge.net/ Conexant AccessRunner]
| 0x0586
| 0x330a
|
| {{N/A|untested }}
|-
| Creative Modem Blaster USB DE5670
| 0x1690
| 0x0101
|
| {{N/A|untested}}
|-
| FIREFLY, MediaTek Inc
| 0x0e8d
| 0x0003
|
| {{N/A|untested}}
|-
| Huawei E122
| 0x12d1
| 0x1446
|
| {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=49126#forumpost49126]
|-
| Huawei E160, E160E, E160G
| 0x12d1
| 0x1003
|
|{{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=51888#forumpost51888] (Chipset: Qualcomm MSM6246)
|-
| Huawei E169 also known as Vodafone K3715 and Huawei K3715
| 0x12d1
| 0x1001
|
|{{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4941&forum=4&post_id=44683#forumpost44683] (Chipset: Qualcomm MSM7200)
|-
| Huawei E220 "Vodafone EasyBox II" "T-Mobile wnw Box Micro" also known as Huawei K3565
| 0x12d1
| 0x1003
|
| {{yes|works, see E169 above (Chipset: Qualcomm MSM6280)}}
|-
| Huawei E1750
| 0x12d1
| 0x1001
|
| {{N/A|untested (Chipset: Qualcomm MSM6290)}}
|-
| Huawei E170, E172, E176
| 0x12d1
| 0x1003
|
| {{N/A|untested (Chipset: Qualcomm MSM7200)}}
|-
| Huawei E180
| 0x12d1
| 0x1406
|
| {{yes|Works (Chipset: Qualcomm MSM7200)}}
|-
| KYOCERA AH-K3001V
| 0x0482
| 0x0203
|
| {{N/A|untested}}
|-
| LG CU515
|
|
|
| {{N/A|untested}}
|-
| MediaTek Inc GPS
| 0x0e8d
| 0x3329
|
| {{N/A|untested}}
|-
| Metricom GS Modem
| 0x0870
| 0x0001
|
| {{N/A|untested}}
|-
| Motorola MOTOMAGX phones
| 0x22b8
| 0x6425
|
| {{N/A|untested}}
|-
| Motorola Q Phone
| 0x22b8
| 0x7000
|
| {{N/A|untested}}
|-
| Hummingbird huc56s (Conexant)
| 0x0572
| 0x1329
|
| {{N/A|untested}}
|-
| Netcomm Roadster II 128 ISDN
|
|
|
| {{N/A|untested}}
|-
| Nokia n70 N95 HSDPA
|
|
|
| {{yes|works - see [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=4415&viewmode=flat&order=ASC here]}}
|-
| OGO
| 0x045E
| 0x0079
| 0090
| {{no|no driver}}
|-
| Olitec ADSL Modem V2
| 0x08e3
| 0x0100 / 0x0102
|
| {{N/A|untested}}
|-
| <!--Description-->Onda PT502HS
| <!--Vendor ID-->0x19D2
| <!--Product ID-->0x0001
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| Radicom V92HU-E2
|
|
|
| {{N/A|untested}}
|-
| <!--Description-->Samsung i8510 Innov8 Symbian smartphone
| 0x04e8
| 0x6651
| <!--Revision-->
| {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=5552&viewmode=flat&order=ASC&type=&mode=0]
|-
| Samsung Tocco Lite (aka GT-S5230)
| 0x04e8
| 0x6795
| <!--Revision-->
| {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=5552&viewmode=flat&order=ASC&type=&mode=0]
|-
| Shiro / Aztech USB MODEM UM-3100
| 0x0572
| 0x1328
|
| {{N/A|untested}}
|-
| ZyDAS 56K USB MODEM
| 0x0ace
| 0x1602
|
| {{N/A|untested}}
|-
| ZyDAS 56K USB MODEM
| 0x0ace
| 0x1608
|
| {{N/A|untested}}
|-
| ZyDAS 56K USB MODEM - new version
| 0x0ace
| 0x1611
|
| {{N/A|untested}}
|-
| Zoom Telephonics Model 3095F USB MODEM
| 0x0803
| 0x3095
|
| {{N/A|untested}}
|-
| Ugobe Pleo
| 0x6962
| 0x0100
| 0x0100
| {{Yes|Works}}
|}
==Misc==
palmpda.class - no [http://aminet.net/package/util/libs/PdaLinkPoseidon pdalink.library and tools] in AROS
Palm PDA (discontinued) synchronisation requires a port of pdalink.library and its tools through virtual usbpalm.device.
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Palm IIIx (OS3.1) serial rs-232 only
|
|
|
| {{no|no }}
|-
| Palm IIIc (OS3.5)
|
|
|
| {{no|no }}
|-
| Palm V
|
|
|
| {{no|no }}
|-
| Palm m100
|
|
|
| {{no|no }}
|-
| Palm m125 first USB - last with aaa batteries
|
|
|
| {{no|no }}
|-
| Palm m500 (OS4)
|
|
|
| {{no|no }}
|-
| Tungsten T (OS5) first arm cpu
| 0x
| 0x
| 0x
| {{no|no }}
|-
| Zire 31 (OS 5.28) color arm-based
|
|
|
| {{no|no }}
|-
| [[:w:Handspring (company)|Handspring Visor]] – USB support out of box
|
|
|
| {{no|no }}
|-
| Handspring Treo 600 – last one for [[:w:Handspring (company)|Handspring]]
|
|
|
| {{no|no }}
|-
| Treo 700w
|
|
|
| {{no|no }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
|}
bluetooth.class - needs Bluetooth (Viking King Harald "Bluetooth" Gormsson (Old Norse: Haraldr Blátǫnn Gormsson; Danish: Harald Blåtand Gormsen) stack to work (not written due to licensing fees to use the symbol merging the Younger Futhark runes for H (ᚼ) and B (ᛒ), representing Harald's initials)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
|}
ccid.class - Chip/Smart Card Interface Devices (not implemented)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->cyberJack RFID basis
| <!--Vendor ID-->0x0C4B
| <!--Product ID-->0x9102
| <!--Revision-->0001
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
|}
dfu.class - DFU firmware upgrade
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->iPhone 3, 4, 5, 5c
| <!--Vendor ID-->0x05ac
| <!--Product ID-->0x1290 0x1292 0x1294
| <!--Revision-->
| <!--Opinion-->{{unk| 32bit use with caution could cause damage}}
|-
| <!--Description-->iPhone 5s, 6, 7, 8, X
| <!--Vendor ID-->0x05ac
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 64bit use with caution could cause damage}}
|-
| <!--Description-->M-Audio/Midiman USB audio
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->iPad 1, iPad 2 A1395 A1430, iPad 3, ipad mini A1432, iPad A1458 4th Gen (MD512LL/A),
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2008-2013 32bit A4, A5 up to Apple A6X, iOS 1 to 10,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->iPad Air (1st generation) A1474, A1475, A1476,
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2014-2015 [https://github.com/AsahiLinux 64bit], A7, iOS 11 up to
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2015 64bit A8, A8X,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2016 64bit A9, A9X,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2017 64bit A10, A10X,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2018 64bit A11
|-
| <!--Description-->iPad Air 3rd Gen A2153, A2123, A2154, iPad Mini 5th Gen,
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2019 64bit A12
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
RocketTool (USB Rocket Launchers - Toy missile launchers)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="3px" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Original Launcher and StrikerII (includes laser)
| 0x1130
| 0x0202
|
| {{yes|works }}
|-
| Dream Cheeky USB Missile Launcher or USB Cirus Cannon
| 0x1941
| 0x8021
|
| {{no|no driver }}
|-
| Dream Cheeky USB Webcam Missile Launcher
| 0x1941
|
|
| {{no|no driver }}
|-
| Rocket Baby
| 0x0a81
| 0x0701
|
| {{no|no driver }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|}
DRadioTool (FM Radios - USB radio devices D-Link/Gemtek)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| D-Link DSB-R100 USB
| 0x04b4
| 0x1002
| 0x0410
| {{yes|works }}
|-
| [http://www.neoseeker.com/forums/383/t257009-link-usb-dru-r100-radio/ GemTek USB FM Radio 21]
| 0x04b4
| 0x1002
|
| {{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|}
UproarTool (Valencia MPX mp3 player and others)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="3px" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Korean D Square Valencia MPX-Player
| 0x04e8
| various
|
| {{N/A|untested }}
|-
|}
[https://www.youtube.com/watch?v=vIuT7rJgc8w with unlocked android bootloader],
<pre>
Kill and restart the server a few times
sudo adb kill-server
sudo adb start-server
And finally type in
sudo adb devices
adb devices Lists connected devices
adb shell Opens a terminal shell on the device hollywood:/ $
su
id
df -h
top
ls -la
ls sdcard
ls sdcard/Android
ls sdcard/Oculus
wm size
cd ..
cd data/system look inside bad Corejava folder
cd data/system/etc/init look
cd data/system/app
cd /data
cd /dev/block
adb shell
pm disable-user --user 0 com.oculus.nux.ota
adb shell am start -a android.intent.action.VIEW -d com.oculus.tv -e uri com.android.settings/.DevelopmentSettings com.oculus.vrshell/.MainActivity
Don't change your Oculus account password after doing the FB account bypass. You'll break the log-in session, and have to factory-reset and start over
adb shell 'setprop debug.oculus.cpuLevel 5 && setprop debug.oculus.gpuLevel 5 && setprop debug.oculus.adaclocks.force 0 && setprop debug.oculus.phaseSync 1 && settings put global always_finish_activities 1 && settings put global wifi_scan_throttle_enabled 1 && settings put global window_animation_scale 0.25 && settings put global transition_animation_scale 0.25 && settings put global animator_duration_scale 0.25 && sync'
settings list --user 0 secure or global or system
user_setup_complete=0
adb shell
screenrecord
adb shell reboot
adb install <path_to_apk> Installs an app like adb install -g -r alvr_client_android.apk or adb install -r app.apk
memtester
lsmod
adb command to enable hand tracking, possible, but root access is required
adb root
oculussetting --set hand_tracking_opt_in 1 hand_tracking_enabled 1
adb push <local> <remote> Copies files to the device
adb pull <remote> <local> Copies files from the device
pull them using CFB, extract original apk using LL
adb forward tcp:9943 tcp:9943 (Used for advanced, such as ALVR streaming)
adb shell pm disable-user --user 0 com.oculus.partnercustomization Enterprise versions
adb reboot Performs a standard system restart
adb reboot bootloader Restarts the device into fastboot/bootloader mode
adb reboot recovery Restarts the device into recovery mode
adb reboot download Reboots Samsung devices into Download Mode
adb reboot fastboot Directly enters fastboot mode
[https://gist.github.com/pantasio/3d0eb4bb03a1e696aae8696f60730859#file-enable-usb-debug-adb usb dev debug adb]
</pre>
{{BookCat}}
pt5byrm2g6b7gdkd2c1yu8zjlhhrs1t
4639899
4639897
2026-06-11T13:24:38Z
Jeff1138
301139
4639899
wikitext
text/x-wiki
{{ArosNav}}
==Host Adapter Protocol USB1 OHCI UHCI USB2 EHCI USB3.0 USB3.1 xHCI ==
Please let us know any mistakes or any information to be added, use Prefs/Trident to confirm Vendor and Product IDs
Please chat at [https://www.arosworld.org/index.php AROS World]
*1996 USB1.0
*1998 USB1.1
*2000 USB2.0
*2008 USB3.0
*2013 USB3.1
*2017 USB3.2
[https://github.com/aros-development-team/AROS/tree/master/rom/usb AROS has these USB transfers]
*Control -
*Bulk - Midi 1.0 ( 'send my data when you can' )
*Interrupt - Midi 2.0
*Isochronous - USBAudio, Webcams, etc (wip)
Isochronous is the starting point of modern types of multimedia creativity. IsoChronous isoc code is already in place in poseidon.library and '''scheduled''' transfers are queued to be later rerouted in the host driver code (needs to be written for each host protocol e.g. OCHI, UCHI, EHCI and [https://cdrdv2-public.intel.com/625472/625472_xHCI_Rev1_2b.pdf#:~:text=Page%203.%20Document%20Number:%20625472%2C%20Revision:%201.2b.%203. XHCI rev1.2], [https://www.intel.com/content/www/us/en/content-details/868296/extensible-host-controller-interface-for-universal-serial-bus-xhci-requirements-specification-r2-0.html rev2], etc). There seems to be 2 types of isoc transfers, one is just the normal isoc transfer and the other is realtime implementation of isoc transfer.
For isoc transfer there needs to be a scheduler that makes sure no isoc transfers are dropped (in or out) and that they happen at the right time. It all gets difficult as the device making use of the isoc transfer may be at any point on the device tree. One needs to calculate the USB bandwidth for the packet based periodic transfers that are initiated by the host which have fixed but guaranteed bandwidth. Host controllers guarantee this bandwidth by planning a schedule of transfers ahead of time to ensure there is enough time reserved on the bus.
[https://www.intel.co.uk/content/www/uk/en/products/docs/io/universal-serial-bus/ehci-specification.html EHCI] [https://www.thegoodpenguin.co.uk/blog/understanding-why-usb-isochronous-bandwidth-errors-occur/ bus-bandwidth] vs payload-bandwidth and the algorithm of the EHCI scheduler.
The bandwidth of the endpoint in terms of payload data (stuff we put in a packet) and the protocol overhead, signalling imposed bit stuffing, host delays etc.
Poseidon controls the driver and device tree and it provides an API to communicate with the USB devices. Poseidon really doesn't care much about what sort of transfer pipe is opened or used, it only provides the means to do so and forwards the iorequests to the correct driver. Poseidon code is the higher level code for USB communication and drivers are of course the lower level one.
[[File:Psd.svg|220px|right]]
; Best Hardware - NEC Chipset (OHCI + EHCI), Intel Chipset (UHCI + EHCI),
; Early support - [https://github.com/aros-development-team/AROS/commit/03c5252d962941a56c816a9f2315134362089349 XHCI USB3.0, USB3.1 & gen 2 Type-A Type-B Type-C]
; Next Best Set - General OHCI, SIS (OHCI + EHCI),
; Buggy Chipset - [ Early AMD OHCI], ALi OHCI, VIA UHCI, Nvidia OHCI & EHCI,
=== USB1.1 ===
OHCI USB 1.1 - USB-IF sanctioned standard but hardware physical form removed with USB2.0 and replaced with virtual emulation of USB1
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Boot from USB
! width="10%" |Detect USB device
! width="10%" |USB device works
! width="30%" |Opinion
|-
| ALi Agere M5273 A1 M5237 Lucent USS-312
|
|
|
| <!--Boots-->{{Maybe}}
| <!--Detects-->{{Yes}}
| <!--Works-->{{Maybe|}}
| StarTech PCI425USB, CompUSA Iogear GIC220U-b, Nvidia 220 mobo, USBA2041P, ALi SU2A-PS,
|-
| AMD 756 Chipset (onboard motherboard)
| 0x1022
| 0x740c
| 0x06
| <!--Boots-->{{No}}
| <!--Detects-->{{No}}
| <!--Works-->{{Maybe|}}
| no [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=31308#forumpost31308 usb devices detected] Geode GX1,
|-
| CMD DU-A2 Silicon Image 0670 (pci AMD chipset)
| 0x1095
| 0x0670
| 0x06
| <!--Boots-->{{No}}
| <!--Detects-->{{No}}
| <!--Works-->{{Maybe|}}
|
|-
| Silicon Image 0673 (pci AMD chipset)
| 0x1095
| 0x0673
| 0x06
| <!--Boots-->{{No}}
| <!--Detects-->{{No}}
| <!--Works-->{{Maybe|}}
|
|-
| Nvidia Nforce2 USB
| 0x10de
|
|
| <!--Boots-->{{Maybe|Bios options vary but does with Plop Boot}}
| <!--Detects-->{{Yes}}
| <!--Works-->{{Maybe|}}
| Tested with 20th Aug 2012 improvement
|-
| NEC µPD720100AGM
| 0x1033
| 0x0035
| 0x
| <!--Boots-->{{Unk}}
| <!--Detects-->{{Unk}}
| <!--Works-->{{Maybe|}}
| untested - Amiga Spider card with possible bottleneck issues at higher speeds
|-
| NEC µPD720101AGM 720101GJ
| 0x1033
| 0x0035
| 0x43
| <!--Boots-->{{Yes}}
| <!--Detects-->{{Yes}}
| <!--Works-->{{Maybe|}}
| Mac mini, Belkin F5U219vea (2+1 ports), Belkin F5U220vea1 (4+1 ports), Adaptec 3100LP, BAFO BF-460, GWC UC-160, IOGear GIC250U, Keyspan U2PCI-5, O'toLink U2-C2B U2-C2A U2-P20N U2-P50, Ratoc PCIU5, USBWholesale UII-PCIP
|-
| NEC µPD720102
| 0x1033
| 0x00
| 0x
| <!--Boots-->{{Unk|untested }}
| <!--Detects-->{{Unk|untested }}
| <!--Works-->{{Maybe|}}
|
|-
| Opti 82C861 2-port
| 0x1045
| 0xc861
|
| <!--Boots-->{{No}}
| <!--Detects-->{{No}}
| <!--Works-->{{Maybe|}}
| no USB devices detected - Belkin F5U005,
|-
| SIS 7001 OCHI
| 0x1039
| 0x7001
| 0x0f
| <!--Boots-->{{No}}
| <!--Detects-->{{Yes}}
| <!--Works-->{{Maybe|}}
| 20th Aug 2012 - not booting stalls on GRUB word with Plop Boot
|-
|}
UHCI USB 1.1 - Intel standard but since 2009 no hardware support as USB2 introduced virtual emulation of USB1
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Boot from USB
! width="10%" |Detect USB device
! width="10%" |USB device works
! width="30%" |Opinion
|-
| Intel
| 0x8086
| 0x
| 0x01
| <!--Boots-->{{No|not in bios use AROS floppy disc boot}}
| <!--Detects-->{{Maybe|}}
| <!--Works-->{{Maybe|}}
|
|-
| Intel 82371AB EB MB PIIX4
| 0x8086
| 0x7112
| 0x01
| <!--Boots-->{{No|none in bios use other booting options}}
| <!--Detects-->{{Maybe|Detects most devices}}
| <!--Works-->{{Maybe|most devices but not RTL8187b WG111v3 blue led not on and does not work}}
|
|-
| Intel 82801DB/DBL/DBM (onboard i830 mbd)
| 0x8086
| 0x24c4
| 0x01
| <!--Boots-->{{Yes|but not from bios but floppy options}}
| <!--Detects-->{{Yes|}}
| <!--Works-->{{Yes|}}
| RTL8187b WG111v3 blue led on and although device has software failure and recoverable error IT STILL WORKS. Fresh start sometimes needs Network Prefs Saved to work.
|-
| VIA MVP4 (onboard mbd)
| 0x1106
| 0x30
| 0x40
| <!--Boots-->{{No}}
| <!--Detects-->{{Maybe|most devices}}
| <!--Works-->{{Maybe|most devices but not wireless options}}
| RTL8187b WG111v3 detected but blue led not on and does not work
|-
| VIA VT82xx (onboard mbd)
| 0x1106
| 0x3038
| 0x40
| <!--Boots-->{{No}}
| <!--Detects-->{{Maybe|most devices}}
| <!--Works-->{{Maybe|most devices but not wireless usb}}
| RTL8187b WG111v3 blue led on but does not work
|-
| VIA VT6202 (VIA VT83C572)
| 0x1106
| 0x3038
|
| <!--Boots-->{{No}}
| <!--Detects-->{{Maybe|}}
| <!--Works-->{{Maybe|}}
| A-Best USB-200, Cables N Mor USBPCI, CompUSA, D-Link DSB500, Digital/Research DRUSBCARD, Kouwell IOFlex 580, StarMount USB VIA,
|-
| VIA VT6112
|
|
|
| <!--Boots-->{{No}}
| <!--Detects-->{{Maybe|}}
| <!--Works-->{{Maybe|}}
|
|-
| VIA VT6212 (pci card)
| 0x1106
| 0x3038
| 0x61
| <!--Boots-->{{No}}
| <!--Detects-->{{Maybe|}}
| <!--Works-->{{Maybe|}}
| 2011 seems to have issues with other identical via based USB controller(s) present
|-
| VIA VT6214L
|
|
|
| <!--Boots-->{{No}}
| <!--Detects-->{{Maybe|}}
| <!--Works-->{{Maybe|}}
|
|-
|}
=== USB 2.0 EHCI ===
The USB-IF insisted on only one implementation of EHCI but it creates 4 virtual hcd to cover USB1.1 support. The virtual HCD on Intel and VIA EHCI controllers are UHCI. All other vendors use virtual OHCI controllers. Hardware EHCI USB2.0 ended in most chipsets in 2014/5 and is now virtual through most newer USB3.0 chipsets
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Boot from USB
! width="10%" |Detect USB device
! width="10%" |USB device works
! width="30%" |Opinion
|-
| ALi Agere M5273 A1 Lucent USS-344
|
|
|
| <!--Boots-->
| <!--Detects-->
| <!--Works-->{{Maybe|}}
| {{N/A|untested}} belkin F5U006,
|-
| Nvidia Nforce2 USB
|
|
|
| <!--Boots-->{{No}}
| <!--Detects-->{{Yes}}
| <!--Works-->{{Maybe|}}
|
|-
| Intel 82801DB/DBM (onboard mbd)
| 0x8086
| 0x24cd
| 0x01
| <!--Boots-->{{Yes}}
| <!--Detects-->{{Yes}}
| <!--Works-->{{Maybe|}}
|
|-
| NEC µPD720100AGM
| 0x1033
| 0x00E0
| 0x
| <!--Boots-->
| <!--Detects-->
| <!--Works-->{{Maybe|}}
| {{N/A|untested - Amiga Spider card}}
|-
| NEC 72101 GJ
| 0x1033
| 0x00e0
| 0x04
| <!--Boots-->{{Yes}}
| <!--Detects-->{{Yes}}
| <!--Works-->{{Maybe|}}
| Belkin F5U219 VEA1 (pci),
|-
| SIS ECHI
| 0x1039
| 0x7002
| 0x00
| <!--Boots-->{{No}}
| <!--Detects-->{{Maybe|issues about which port is used if it works at all}}
| <!--Works-->{{Maybe|}}
|
|-
| VIA VT6202
| 0x1106
| 0x3104
|
| <!--Boots-->{{No}}
| <!--Detects-->{{Yes}}
| <!--Works-->{{Maybe|}}
|
|-
| VIA VT6212 (pci card)
| 0x1106
| 0x3104
| 0x62
| <!--Boots-->{{No}}
| <!--Detects-->{{Yes|detects}}
| <!--Works-->{{Maybe|}}
|
|-
|}
=== USB 3.x SuperSpeed SS (Speed 5Gbit/s 3.1 gen 1) aka xHCI eXtensible ===
USB Attached SCSI (UAS or UASP) is a protocol used for high-speed data transfer between computers and external storage devices like SSDs, HDDs, and some flash drives. It provides up to 70% faster read/write speeds than traditional Bulk-Only Transport (BOT) by allowing multiple commands to run in parallel, rather than waiting in a queue
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Boot from USB
! width="10%" |Detect USB device
! width="10%" |USB device works
! width="30%" |Opinion
|-
| <!--Description-->AMD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->AMD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->AMD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->Fresco Logic FL1000 FL 1000
| <!--Vendor ID-->0x1B73
| <!--Product ID-->0x1000
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->link power management (LPM, USB 3.0 power saving) cannot be disabled so random connection issues
|-
| <!--Description-->Fresco Logic FL1009-200 FL 1009
| <!--Vendor ID-->
| <!--Product ID-->0x1009
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->Orico PFU3-2P
|-
| <!--Description-->Fresco Logic FL1100-100 FL 1100SX
| <!--Vendor ID-->
| <!--Product ID-->0x1100
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->LPM cannot be disabled so issues with disconnecting WD drives etc - CalDigit, ORICO PFU3-2P, FASTA-6GU3 Pro, inatech KTU3FR-2P 2 port USB 3.0, and Inateck KT4004 (KTU3FR-4PA rev B2) for storage and hubs, etc
|-
| <!--Description-->Fresco Logic FL1400 FL 1400
| <!--Vendor ID-->
| <!--Product ID-->0x1400
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->Fresco Logic
| <!--Vendor ID-->
| <!--Product ID-->0x
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->NEC Renesas xHCI µPD720200 uPD720200a chip
| <!--Vendor ID-->0x1d6b
| <!--Product ID-->0x0194
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{Maybe|no USB3 but seems to works like USB2}}
| <!--Opinion-->recognized but not supported for USB3 but works like USB2 - ORICO PRU3-4P 4 Port USB, early Dell Wyse zx0 thin client,
|-
| <!--Description-->NEC Renesas xHCI µPD720201 uPD720201 chip
| <!--Vendor ID-->
| <!--Product ID-->0x114 0x0115
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->recognized but not supported
|-
| <!--Description-->NEC Renesas xHCI µPD720202 uPD720202 chip
| <!--Vendor ID-->0x1912
| <!--Product ID-->0x0015
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->recognized but not supported
|-
| <!--Description-->[http://www.ti.com/product/tusb7340 TI] tusb7340 TUSB732
| <!--Vendor ID-->
| <!--Product ID-->0x8241
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->recognized but not supported Koutech IO-PEU436 but only one with open docs
|-
| <!--Description-->Intel xHCI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->recognized but not supported - integrated since Ivybridge
|-
| <!--Description-->Intel xHCI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->Marvell
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->Via Labs VL800 xHCI 0.96 support in VL800, VIA VL811
| <!--Vendor ID-->
| <!--Product ID-->0x3432 0x3438 0x3515 and 0x9201
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{Maybe|}} 2.0 backwards support
| <!--Opinion-->Anker 68UPPCIE-2S20PU 2 port, Plugable 4-Port, GA-z77x-ud5h rev. 1.1 mobo,
|-
| <!--Description-->Via Labs VL811+
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->Via Labs VL812
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->xHCI 1.0 support in VL805
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
|}
USB 3.1 (power up to 100W and data 10Gbit/s USB 3.2 gen 2 - USB-A Full size plug - USB-B micro USB size - USB-C reversible)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Boot from USB
! width="10%" |Detect USB device
! width="10%" |USB device works
! width="30%" |Opinion
|-
| <!--Description-->Asmedia ASM1142
| <!--Vendor ID-->0x1B21
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
| <!--Opinion-->Connector: USB Type C and USB Type A x 1 - Ugreen USB C PCI Card 2 Port USB 3.1 Type C
|-
| <!--Description-->Marvell
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->AMD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->Intel
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->Intel xHCI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->[ Intel] Revision 1.8 1.9 Updated
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->VLI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{N/A|}}
| <!--Opinion-->AUKEY 4 Ports USB C ,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{N/A|}}
| <!--Opinion-->Startech - PEXUSB312C - 2-port Usb 3.1 10Gbit/s
|-
|}
USB 3.2 (power up to 100W and data 20Gbit/s gen 2x2 - USB-A Full size plug - USB-B micro USB size - USB-C reversible)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Boot from USB
! width="10%" |Detect USB device
! width="10%" |USB device works
! width="30%" |Opinion
|-
| <!--Description-->Marvell
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->AMD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->Intel
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->Intel xHCI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->[ Intel] Revision 2.6 Update
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{unk| }}
| <!--Detects-->{{unk|}}
| <!--Works-->{{unk|}}
| <!--Opinion-->
|-
| <!--Description-->VLI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{N/A|}}
| <!--Opinion-->
|-
|}
=== USB 4 (40Gbps thunderbolt, pcie 3.0 tunnelling, ) ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Boot from USB
! width="10%" |Detect USB device
! width="10%" |USB device works
! width="30%" |Opinion
|-
| <!--Description-->Marvell
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
|
|-
| <!--Description-->AMD Ryzen7 6800U
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
|
|-
| <!--Description-->Intel Goshen Ridge JHL8440 Controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{No| }}
|
|-
| <!--Description-->VLI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Boots-->{{N/A}}
| <!--Detects-->{{N/A|}}
| <!--Works-->{{N/A|}}
|
|-
|}
== hid.class (Human Interface Device) ==
=== Keyboard ===
Some multi-finger touchpad support works but not on all touchpads
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->8BitDo Retro N C64 edition Keyboard, the super button accessory and optional N30 mouse
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 87 keys Kailh white}}
|-
| <!--Description-->8bitdo 108 Retro Mechanical Keyboard (white kailh) and two superbuttons (green)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Apple Pro Keyboard
| 0x05ac
| 0x0205
| 0x0122
| {{yes|works (its two hub ports) but mouse scroll wheel issues}}
|-
| Apple Pro Keyboard
| 0x05AC
| 0x020B
|
| {{yes|works (two onboard ports also)}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Aigo K68 60% red switches, A68 A87 wireless 2G
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[http://amigakit.leamancomputing.com/catalog/product_info.php?cPath=49&products_id=973 AmigaOne Keyboard]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes|works}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Akko TAC87
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 80% TKL }}
|-
| <!--Description-->Akko MonsGeek FUN60 PRO&MAX HE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 60% hall effect }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Akko
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 hall effect, good but expensive and software poor}}
|-
| <!--Description-->Akko
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->ATTACK SHARK X98
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 98% maybe silent linear feel with Two-color PBT keycap}}
|-
| <!--Description-->ATTACK SHARK X68HE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 hall effect }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Azio Cascade
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Chilkey ND75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 good 75% expensive}}
|-
| <!--Description-->Chilkey ND104 (Wuque Studios)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 premium clicky (WS Blue) or silent (WS White) key options with Ansi and ISO formats also numpad and calculator, aluminum machined, tri mode, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2026 untested magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Corsair K65 Mech MX no numeric keypad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Corsair CH-9000045 K70 Blue MX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Corsair K90
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Corsair K95
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Corsair K
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Cherry G80 G80-3000L[x]C[yy]-[z]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Cooler Master CM Storm Quickfire Rapid
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Corsair K100 Air
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2025 okay low profile but expensive
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Dell SK-8135 Dell USB Keyboard for Internet and Multimedia rev H for Dimension 4500, Dimension 8250, OptiPlex GX260n, OptiPlex GX60n, Precision 350 (R42232)
| <!--Vendor ID-->0x413C
| <!--Product ID-->0x2010
| <!--Revision-->0200
| <!--Opinion-->{{Yes| usb1.1 keyboard hub 0x413C 0x1003 works as well - multimedia keys not mapped }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Deepcool KG722
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 65% }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Ducky Channel Zero DK2108 Mech Mechanical Cherry MX Red
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Ducky Shine 3 Brown or Blue (DK9087) MX keys
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Das Keyboard Model S Ultimate
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Epomaker Cidoo V75 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2023 untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->epomaker rt100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 plastic build and no screws, numpad with small 0, mostly quiet seasalt switches, gimmick usb-c 1in screen}}
|-
| <!--Description-->EPOMAKER TH99
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }} USB-C full numpad keyboard
|-
| <!--Description-->eopmaker P75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| expensive but good}}
|-
| <!--Description-->eopmaker p87
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| expensive but good}}
|-
| <!--Description-->epomaker x Leobog Hi75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->epomaker x Feker Galaxy80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->epomaker x Galaxy100 gmk/via
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 good 96% }}
|-
| <!--Description-->epomaker Aula F75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 budget version good 75% choice of 4 leobog switches}}
|-
| <!--Description-->eopmaker Tide75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 good 75% and not too expensive}}
|-
| <!--Description-->Epomaker Ajazz AK820 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->Epomaker Ajazz AK35I V3 MAX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 104 keys - two models: wired and tri-mode connection - }}
|-
| <!--Description-->epomaker Aula F108 PRO
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 pricy but okay 100% but only leobog graywood switches but hotswap available afterwards}}
|-
| <!--Description-->eopmaker Ajazz AK980
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 97 keys }}
|-
| <!--Description-->Epomaker G87
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->Epomaker RT82 RT85
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->Epomaker RT100 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 96% }}
|-
| <!--Description-->epomaker x Galaxy100 lite
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 good 96% }}
|-
| <!--Description-->Epomaker
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Filco Ninja Majestouch-2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Focus FK-760 Wireless Keyboard & Trackball
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{yes|works}} but quality build issues raised
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->GMMK Tenkeyless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested default Gateron Brown switches for Kailh Box Jades default Gateron Brown switches for Kailh Box Jades}}
|-
| <!--Description-->GK61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2023 untested }}
|-
| <!--Description-->GMK67 GMK87
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested budget good option}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Hengchangtong HCT Limeme gk103s Entry Keyboard
| <!--Vendor ID-->0xC0F4
| <!--Product ID-->0x0009
| <!--Revision-->0100
| <!--Opinion-->{{yes|half Keyboard left side only}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Hexgears M2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2024 untested hotswap kaihl green switches}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Hexgears
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Iqunix mq80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2025 good 75% low profile keys
|-
| <!--Description-->Iqunix Magi65
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested good 65% low profile keys }}
|-
| <!--Description-->iqunix ez60 ez80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 untested specific hall effect switches - actuation point, rapid trigger, etc }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Jomaa YiChip Wireless 50% key with touchpad
| <!--Vendor ID-->0x3151
| <!--Product ID-->0x3000
| <!--Revision-->
| <!--Opinion-->{{No|dongle detected, keys and pad not working - 2 AAA NM}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Keychron q0
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2022 untested numpad only}}
|-
| <!--Description-->Keychron q1 v1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2022 untested okay}}
|-
| <!--Description-->Keychron Q6 Max
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2023 untested 75% with numeric numpad, barebones so choose switches and keycaps to suit }}
|-
| <!--Description-->Keychron q1 MAX V1 MAX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2023 untested }}
|-
| <!--Description-->Keychron Lemokey P1 QMK
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested best option to customise switches and keycaps}}
|-
| <!--Description-->Keychron LemoKey X1 X3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2024 untested keycap swap only not switches}}
|-
| <!--Description-->Keychron K2HE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested okay}} wireless hall effect analogue on all keys
|-
| <!--Description-->Keychron K4HE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 untested hall effect but software }}
|-
| <!--Description-->Keychron K5 K17
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 untested okay low profile but }}
|-
| <!--Description-->Keychron Q5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->Keychron K10 HE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->Kiiboom Breeze 75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 good 75% }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 }}
|-
| <!--Description-->Meletrix Boog 75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2024 magnetic hall effect, good but expensive and software poor}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 }}
|-
| <!--Description-->Melgeek O2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 low profile 75% but not repairable}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2025 }}
|-
| <!--Description-->MOSART 2.4G Wireless 60% Keyboard Trackball
| <!--Vendor ID-->0x062a
| <!--Product ID-->0x4105
| <!--Revision-->
| <!--Opinion-->{{Yes|dongle recognised HID, keys worked, roller worked, scroll wheel works and shoulders works but buttons around left, top and right hand side (RHS) do not work and plastic and 2 AA MN1500}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Mucai SiGma Micro MKA610
| <!--Vendor ID-->0x1c4f
| <!--Product ID-->0x0084
| <!--Revision-->
| <!--Opinion-->{{No| unknown red keys - rgb backlighting - }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->[http://hjldemo.clsc.cn/ Guangzhou Zhentian Electronics Ltd] Perixx Periboard 505 Plus with Trackball
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Yes|okay dome keyboard - poor trackball}}
|-
| <!--Description-->Guangzhou Zhentian Electronics Co., Ltd Perixx Periboard 706 Plus with Trackball Wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Yes|generally okay dome with good sized keys but piano black surround fingerprint magnet, occasional brief trackball freezes after no use, takes some time to get used to the trackball size}}
|-
| <!--Description-->Perixx Periboard-716 Wireless (Chicony)
| <!--Vendor ID-->04f2:1013
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Yes|okay dome keyboard and trackpad}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Description-->Perixx Periboard-
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Unk|okay keyboard}}
|-
| <!--Description-->Perixx Periboard-
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Unk|okay keyboard}}
|-
| <!--Description-->Lenovo SK-8825 41A5327 SIL12-W07
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->works manufactured for
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Lite-On USB NetVista Full Width Keyboard
| <!--Vendor ID-->0x04b3
| <!--Product ID-->0x3025
| <!--Revision-->
| <!--Opinion-->works
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Logitech K320 Wireless Keyboard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|The Logitech USB Unifying, Bolt, Lightspeed, or Nano receiver pairing}}
|-
| <!--Description-->Logitech K340 Wireless Keyboard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|The Logitech Unifying Receiver pairing}}
|-
| <!--Description-->Logitech K400
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Unk|okay keyboard}}
|-
| <!--Description--> [http://www.logitech.com/en-us/product/wireless-touch-keyboard-k400r Logitech Wireless Touch Keyboard k400]
| <!--Vendor ID--> 0x046D
| <!--Product ID--> 0xC52B
| <!--Revision--> 1201
| <!--Opinion--> {{yes|All (including multimedia) keys work. Some keys requires remapping with Trident. Touchpad works and acts as normal mouse. Presents itself in Trident as USB Receiver from Logitech with 3 HID bindings}}
|-
| <!--Description-->Logitech K400 Plus K400+
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Unk|okay keyboard}}
|-
| <!--Description-->Logitech K600
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Unk|okay keyboard}}
|-
| <!--Description-->Logitech TK820
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Unk|okay keyboard}}
|-
| <!--Description-->Logitech TK830
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Unk|okay keyboard}}
|-
| <!--Description-->Logitech G915 TKL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Unk|okay keyboard TKL means no number pad}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Lofree Lite84
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->Lofree Flow Lite100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 silent switches and low profile keys}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->MACHENIKE K500 Wired
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2024 94 keys untested Hot Swappable 94 Keys 90% Layout }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->MechLands Vibe99
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2024 100 keys untested Gasket-mounted Wired/Bluetooth/2.4GHz Wireless Mechanical Keyboard}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Microsoft Comfortable Curve 2000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no| recognized but not supported}}
|-
| <!--Description-->Microsoft Natural Ergonomic Keyboard 4000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|recognized but not supported}}
|-
| <!--Description-->Microsoft Wireless Media Desktop 1000 (1356)
| <!--Vendor ID-->0x045e
| <!--Product ID-->0x00f9
| <!--Revision-->
| <!--Opinion-->{{maybe|working but not mouse part}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Niz Micro84 Duo82 X87
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 electro capacitive }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->nuphy gem80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| expensive but good}}
|-
| <!--Description-->nuphy kick 75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 low profile 75% }}
|-
| <!--Description-->nuphy Air75 V3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 75% }}
|-
| <!--Description-->nuphy node 100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 96% layout, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Qpad MK-50 MK-80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Qpad MK-90
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Razer Chroma
| <!--Vendor ID-->0x1532
| <!--Product ID-->0203
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->[https://openrazer.github.io/ Razer] Lycosa
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Razer Blackwidow 2013
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Razr Blackwidow Ultimate
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Razer Cynosa Lite V2
| <!--Vendor ID-->1532
| <!--Product ID-->0x023f
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Razer DeathStalker
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Razer HuntsMan
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Razer Ornata
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Razer Orbweaver Chroma Keypad
| <!--Vendor ID-->0x1532
| <!--Product ID-->0207
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Razer Tartarus Keypad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested not hall effect and very expensive}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Redragon K668 RGB Gaming Keyboard Wired
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2023 untested 108 Keys Mechanical Keyboard w/Extra 4 Hotkeys Upgraded Hot-swappable Socket,Red Switch}}
|-
| <!--Description-->Redragon K689 PRO Wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2024 untested Gasket RGB Gaming Keyboard, 108 Keys Mechanical Keyboard w/Extra 4 Hotkeys, Upgraded Hot-swappable}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Risophy 60
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2024 75% mechanical, hotswap so okay for price untested }}
|-
| <!--Description-->Risophy
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Royal Kludge RK65
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested cream switches }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->SINO WEALTH Gaming KB SkyLion K68
| <!--Vendor ID-->0x258a
| <!--Product ID-->0x003a
| <!--Revision-->
| <!--Opinion-->{{No| blue stalks with rgb lighting}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->SKYLOONG GK104 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested gateron }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->SteelSeries
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->TeckNet x300 2.4G Keyboard Mouse MosART
| <!--Vendor ID-->0x062A
| <!--Product ID-->0x4101
| <!--Revision-->0312
| <!--Opinion-->{{Yes|1 AAA for each and works well - mouse slightly better built than keyboard rubberised membrane}}
|-
| <!--Description-->TeckNet X331 HDE 2.4G Keyboard wireless RCMCU
| <!--Vendor ID-->0x0C45
| <!--Product ID-->0x7000
| <!--Revision-->0001
| <!--Opinion-->{{Yes|wireless can be glitchy but few extra keys are mapped }}
|-
| <!--Description-->TeckNet X500 2.4G Keyboard Mouse MOSArt
| <!--Vendor ID-->0x062A
| <!--Product ID-->0x2901
| <!--Revision-->0112
| <!--Opinion-->{{Yes|works well especially large touchpad - usual rubber domed membraned keyboard mechanism }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Tecware Specter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested good 75%}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Unicomp Model M USB 104 key
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }} IBM's and later Lexmark buckling spring switches
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Varmilo Minilo Bluebell (prestige silent) and Eculapytus (violet tactile)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2023 75% plastic build no screws not great to mod}}
|-
| <!--Description-->Varmilo Sword 68
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| expensive but good}}
|-
| <!--Description-->Varmilo 98
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 expensive but good and Kailh silent}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Weikav Velocifire Choice65
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Weikav Velocifire Lucky65
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Wobkey Crush80 Reboot Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 very good but expensive Aluminum Hotswap Wireless RGB}}
|-
| <!--Description-->Wobkey Rainy 75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 good 75% but not as expensive CNC Aluminum HMX/JWK/Cocoa Switches}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Wooting HE60 HE80 HE90
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 hall effect but expensive with good software}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->Womier WK61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2021 untested }}
|-
| <!--Description-->Womier Sk71
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->Womier Sk75
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->Womier Sk75 TMR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 hall effect }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Xenta White Wireless HK6718B+HM3302-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Maybe|works with Raspberry Pi untested on AROS native}}
|-
| <!--Description-->Xinmeng X87 MAGIC_REFINER
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 untested keycap swap but not hotswapable switches}}
|-
| <!--Description-->Yunzii AL66
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| milk switches, cherry PBT, }}
|-
| <!--Description-->Yunzi B75 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 budget good with cocoa cream switches }}
|-
| <!--Description-->Yunzii AL75 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|good budget option with swappable switches, }}
|-
| <!--Description-->Yunzii AL80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 switches }}
|-
| <!--Description-->Yunzi C75 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 budget good with switches }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
|}
<pre>
linear - creamy
tactile - thocky
clicky - clacky
</pre>
<pre >
Cherry MX Black are linear switches (no feedback); good for gaming.
Cherry MX Red are linear (less noise no click) but more squishy;
Cherry MX Brown are in between Blue and Red in style and tactile;
Cherry MX Clear switches have soft tactile feedback (with no click).
Cherry MX Blue have tactile feedback with a click (noisy); good for typing.
Gateron Yellows KS-3, KS-3x47 or better Pros have a milky top and black bottom and linear
TTC Silent Frozen v2. Linear and dead silent
Mouse the huano brown with yellow dot for silent mouse clicks
Kailh red dust proof encoder for smooth and close to silent scrolling
Boba U4 Silent Tactile switches
Husky linears
HMX
</pre >
=== Mouse ===
if the USB mouse is non-functional put a USB pendrive in before or add the following to user-startup in '''s''' drawer/folder/directory
sys:prefs/trident NOGUI > NIL:
{| class="wikitable sortable" width="90%"
! width="10%" | Brand
! width="20%" | Description
! width="10%" | Model
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| 3Dconnexion
| 3D Mouse
| <!--Model-->[http://www.3dconnexion.com/products/spacenavigator.html SpaceNavigator]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| 3Dconnexion
| 3D Mouse
| <!--Model-->SpacePilot Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| 3Dconnexion
| Mouse
| <!--Model-->SpaceExplorer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| 3Dconnexion
| Wireless Mouse
| <!--Model-->SpaceMouse
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| <!--Brand-->3D Optical
| <!--Description-->Wired
| <!--Model-->
| <!--Vendor ID-->0000:3825
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| Belkin
| Combo mouse
|
| 0x05FE
| 0x0011
| Low 0100
| {{yes|works}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->Cytec
| <!--Description-->Wired Mouse Gaming
| <!--Model-->R.A.T 5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| Dell
| Mouse
| MO56UC
| 0x413C
| 0x3200
|
| {{yes|works}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->equatech / clone logitech
| <!--Description-->wireless mouse
| <!--Model-->49779 / M185
| <!--Vendor ID--> 3151:2020 later 3151:3020
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{Yes|detected and works}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| Hama
| RF Optical Mouse
| AM-6000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| <!--Brand-->Keychron
| <!--Description-->Optical
| <!--Model-->M3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->Keychron
| <!--Description-->Optical
| <!--Model-->M5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->Keycron
| <!--Description-->Optical Wireless
| <!--Model-->M6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested 1k polling and 16k dpi }}
|-
| <!--Brand-->Keychron
| <!--Description-->Optical Wireless
| <!--Model-->M7
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested barebones 1k polling and 16k dpi, great for small hands, loud clicks}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->LogiCAD 3D
| <!--Description-->3D Mouse
| <!--Model-->Magellan
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| Logitech
| Cordless Desktop Navigator
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{No|The Logitech Unifying Receiver pairing}}
|-
| Logitech Inc.
| First/Pilot Wheel Mouse
| N48/M-BB48 M-BE58
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested }}
|-
| Logitech
| Wireless mouse
| [http://www.logitech.com/en-roeu/mice_pointers/mice/devices/5484 M305]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{yes|works}}
|-
| Logitech
| Wireless RF Mouse
| MK710
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{No|The Logitech Unifying Receiver pairing}}
|-
| <!--Brand-->Logitech
| <!--Description-->Wireless Mouse
| <!--Model-->MX Master Anywhere 2S
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{No|untested}} micro USB charge port on front
|-
| <!--Brand-->Logitech
| <!--Description-->Wireless
| <!--Model-->M220 silent
| <!--Vendor ID-->0x
| <!--Product ID-->0x
| <!--Revision-->
| <!--Opinion-->{{N/A|}}
|-
| <!--Brand-->Logitech Logi
| <!--Description-->Optical
| <!--Model-->MX Master 3S
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{No|2021 untested usb-c bluetooth, inbuilt battery but muted clicks}}
|-
| <!--Brand-->Logitach
| <!--Description-->Optical
| <!--Model-->G502 X Plus
| <!--Vendor ID-->0x
| <!--Product ID-->0x
| <!--Revision-->
| <!--Opinion-->{{N/A|2022 very clicky}}
|-
| <!--Brand-->Logitech
| <!--Description-->Optical
| <!--Model-->MX Master 4 MXM
| <!--Vendor ID-->0x
| <!--Product ID-->0x
| <!--Revision-->
| <!--Opinion-->{{No|Bluetooth usb-c dongle, inbuilt lithium battery}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Brand
| Description
| Model
| Vendor ID
| Product ID
| Revision
| Opinion-->
|-
| <!--Brand-->Maxxter
| <!--Description-->Wireless
| <!--Model-->
| <!--Vendor ID-->248a:8566
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->Maxxter
| <!--Description-->Wireless
| <!--Model-->
| <!--Vendor ID-->248a:8518
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->OrzerHome Maxxter
| <!--Description-->Wireless
| <!--Model-->
| <!--Vendor ID-->248a:8514
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested 1 aa with no on/off switch }}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| Microsoft
| Wheel Mouse optical
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| Microsoft
| Sidewinder Mouse
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| Microsoft
| IntelliMouse Explorer USB optical
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| Microsoft
| Wireless Optical Mouse 2000
|
| 0x045E
| 0x00F9
|
| {{no|not working see keyboard Media Desktop 2000 above}}
|-
| <!--Brand-->Microsoft
| <!--Description-->
| <!--Model-->1461 1447
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{No|usb dongle matched to one mouse only no others}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->Razer
| <!--Description-->USB optical
| <!--Model-->Orochi
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->Razer
| <!--Description-->USB optical
| <!--Model-->Mamba
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->Razer
| <!--Description-->USB optical
| <!--Model-->Naga
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}} 17 buttons
|-
| <!--Brand-->Razer
| <!--Description-->USB Optical
| <!--Model-->Naga Hex V2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}} MOBA Gaming Mouse, Professional Grade 16,000 DPI Sensor - RGB lighting
|-
| <!--Brand-->Razer
| <!--Description-->USB optical
| <!--Model-->DeathAdder
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->Razer
| <!--Description-->USB optical
| <!--Model-->Viper
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->Razer
| <!--Description-->USB optical
| <!--Model-->Basilisk V3 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested 1k polling, 35k dpi, }}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| Trust
| Slimline Lasermouse
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}}
|-
| SteelSeries
| Tobii EyeX EyeMobile PCEye
| Eye Tracking Control
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}} gaze interaction track technology for augment augmentative and alternative communication (AAC).
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->The Eye Tribe Tracker
| <!--Description-->Eye
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->
| <!--Description-->USB Optical Mouse
| <!--Model-->MV3000
| <!--Vendor ID-->0x192f
| <!--Product ID-->0x0916
| <!--Revision-->
| <!--Opinion-->{{yes|works}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|-
| <!--Brand-->
| <!--Description-->
| <!--Model-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> {{N/A|untested}}
|}
=== Trackball ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->3Dconnexion SpaceBall 5000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{N/A|untested}} Labtec designed and rolled into new company 3dconnexion 2001 by owners Logitech
|-
| <!--Description-->ACCO Kensington Orbit optical F1233A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Kensington Turbo Mouse 64210
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Clearly Superior Technologies. Model:CST 1000-RC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Logitech Trackman Marble Mouse Wired USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Logitech Cordless Trackman Wheel
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Logitech Optical Trackman T-RB22 - Cordless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Logitech M570 wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Microsoft Trackball Mouse Optical 1.0 USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Microsoft X05-87473 Trackball USB Optical
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
|}
=== KVM ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->NanoKVM
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
|}
=== Gamepad ===
Controllers have mostly decided that the left analog joystick is keyboard equivalent of WASD and right joystick is your mouse. You also have 2 bumpers above the triggers. Shoot could be right trigger (so it doesn't involve taking your thumb off the right joystick). Face buttons for reloading or jump or other non-critical functions. Crank up the sensitivity and practice.
Testing can be done with the TRIDENT Prefs, [https://devicetests.com/controller-tester html5], [https://greggman.github.io/html5-gamepad-test/ html5], or [https://gamepad-tester.com/ Tester]
==== Dinput Poseidon Default Plugin - Playstation(TM) style ====
{| class="wikitable sortable" width="90%"
! width="35%" |Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Merge with USB on Digital Pad
! width="10%" |Analogue Hack with Analog Stick
! width="30%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Betop Betong Bat D2E BTP-BD2E XD4D2E
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Gravis Eliminator Gamepad Pro USB
| <!--Vendor ID-->047d
| <!--Product ID-->4005
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->{{N/A}}
| <!--Opinion-->2002 2d only
|-
| Hama Black Force USB Gamepad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{Maybe| }}
| <!--Analogue Hack with Analog Stick-->{{Maybe| }}
| <!--Opinion-->2003 psx clone look
|-
| <!--Description-->Jess Tech Game Elements Philips GGE909 PC Recoil Pad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| [http://www.youtube.com/watch?v=TCbAmIhj6P4 Logitech Wingman Precision USB] G-UC3B
| <!--Vendor ID-->0x046d
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{N/A| }}
| 2002 no 3D but good for 2D retro games like Turrican II
|-
| <!--Description-->Logitech Wingman Action Pad G-UB3A
| <!--Vendor ID-->0x046d
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Maybe|untested }}
| <!--Opinion-->2002 1 blue lucid translucent - thin analog stick N64 type -
|-
| Logitech Wingman RumblePad UB05B
| <!--Vendor ID-->0x046d
| 0xc20a
| 1.12
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Maybe|untesed }}
| 2000 twin blue analogue sticks N64 type - poor 2d controls with single molded blue piece - vibration feedback - single shoulder buttons with throttle control below right one
|-
| Logitech Wingman Cordless RumblePad G-RA4A
| <!--Vendor ID-->0x046d
| 0xc211
| 1.12
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Maybe|untested }}
| 2001 twin blue analogue sticks N64 type - poor 2d controls with single molded black piece - vibration feedback - dual shoulder buttons L1 L2 R1 R2 with blue throttle control below right one - 4 aa mn1500 batteries; life not great - C-UD10A usb dongle - overall big and bulky
|-
| <!--Description-->Logitech Precision Wired G-UG15
| <!--Vendor ID-->0x046d
| <!--Product ID-->0x
| <!--Revision-->0x
| <!--Merge with USB on Digital Pad-->{{Maybe| }}
| <!--Analogue Hack with Analog Stick-->{{N/A|N/A}}
| <!--Opinion-->2002 psx styling blue outer shell - no 3D analog and no shoulder buttons - no rumble
|-
| <!--Description-->Logitech Cordless Precision G-X2E14A
| <!--Vendor ID-->0x046d
| <!--Product ID-->0x
| <!--Revision-->0x
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{N/A|N/A}}
| <!--Opinion-->2002 ps2 styling blue outer shell - no 3D analog and no shoulder buttons - no rumble
|-
| <!--Description-->Logitech G-X5C11A Cordless Precision Wireless Controllers
| <!--Vendor ID-->0x046d
| <!--Product ID-->0x
| <!--Revision-->0x
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{N/A|N/A}}
| <!--Opinion-->2002 psx styling black outer shell - no 3D analog and no shoulder buttons - no rumble
|-
| [http://www.testfreaks.co.uk/game-console-accessories-controls/logitech-dual-actiontm-gamepad/ Logitech Dual Action]
* G-UD8 has no mode (2D only?) button and no rumble
* G-UF13A later
| <!--Vendor ID-->0x046d
| 0xc2
|
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Yes|[http://www.morphzone.org/modules/newbb_plus/viewtopic.php?topic_id=7018&forum=12 G-UF13A tested only]}}
| 2003 New body shape psx style - dual analog 3D sticks - 4 small travel shoulder triggers no 5,6,7,8
|-
| Logitech RumblePad 2 G-UF13
| <!--Vendor ID-->0x046d
| 0xc218
| 1.00
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Yes| }}
| 2006 light blue top/black base - twin analogues 3D along with dual short travel shoulder buttons - rumble present -
|-
| <!--Description-->[Logitech RumblePad 2 Cordless]
* G-RC?? OLD version that take FOUR batteries and RED Logitech logo
* G-RC14 uses TWO batteries has an ORANGE logo - dongle C-UE10
| <!--Vendor ID-->0x046d
| <!--Product ID-->0xc219
| <!--Revision-->0x0200
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Yes|mostly}}
| <!--Opinion-->2008 may have to remove 1 battery - G-RC?? 5 + 7 buttons - G-RC14 use buttons 6 + 8 to reset sticks - replace battery and push large button on receiver -
|-
| <!--Description-->Logitech F310 Wired Dual Action G-U0001
| <!--Vendor ID-->0x046d
| <!--Product ID-->0xc21
| <!--Revision-->0x
| <!--Merge with USB on Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Yes|D mode switch}}
| <!--Opinion-->2010 dual analog 3D with pc-xbox/psx switch on back (only D works) - both rear shoulder RT LT buttons have excess travel - no rumble vibration -
|-
| <!--Description-->Logitech F510 Wired G-UG0002
| <!--Vendor ID-->0x046d
| <!--Product ID-->0xc21
| <!--Revision-->0x
| <!--Merge with USB on Digital Pad-->{{Maybe| }}
| <!--Analogue Hack with Analog Stick-->{{Maybe| }}
| <!--Opinion-->2010 dual analog with dual xbox pc/psx X/D switched compatibility modes -
|-
| Logitech F710 Wireless / Cordless RumblePad 2 G-R0001
| <!--Vendor ID-->0x046d
| 0xc219
| 3.05
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Maybe| }}
| When switch on top set to D and nano receiver for each controller to pair - 2 aa mn1500 batteries required - rumble support sometimes - rear back shoulder buttons excessive travel needed
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| <!--Description-->Megaworld 'TIME' USB pad
| <!--Vendor ID-->0x0735
| <!--Product ID-->0x9902
| <!--Revision-->Low 0100
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{No |}}
| <!--Opinion-->2000 Poor quality
|-
| <!--Description-->Microsoft
* SideWinder Precision Pro USB (1997)
* SideWinder Precision 2 (1998)
* Game Pad Pro (1999)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Microsoft Sidewinder Game Pad USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{yes| }}}
| <!--Analogue Hack with Analog Stick-->{{yes| }}
| <!--Opinion-->[https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1149&rowstart=140&pid=5934#post_5931 must setup first]
|-
| <!--Description-->Microsoft Sidewinder Gamepad X04 Freestyle
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->{{Maybe| }}
| <!--Analogue Hack with Analog Stick-->{{N/A|N/A }}
| <!--Opinion-->{{N/A|untested}} 1998 might need USB adapter
|-
| <!--Description-->Microsoft Sidewinder X05 63895 92626 Flight stick
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{unk| }}
| <!--Opinion-->{{Yes|2000 [https://ae.amigalife.org/index.php?topic=929.msg11309#new tested]}}
|-
| <!--Description-->Microsoft Sidewinder Flight Stick X08-58736
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Microsoft
Plug & Play Game Pad (2000)
SideWinder Joystick (2000)
Game Pad 2.0 (2001)
SideWinder Force Feedback 2 (2002)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2002 long-standing static buildup problem and Force Feedback 2 was the removal of the power brick
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| Saitek [http://www.testfreaks.co.uk/game-console-accessories-controls/saitek-ps1000/ PS1000 Cyborg V.1], [http://www.testfreaks.co.uk/game-console-accessories-controls/saitek-ps2700-rumble-pad/ PS2700]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2000 no rumble function
|-
| Saitek [http://www.youtube.com/watch?v=xG0v-hf6ZPA P2600] [http://compactiongames.about.com/od/hardware/tp/gamepads.htm P3600],
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2000 no rumble function
|-
| Saitek P2900 wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| {{N/A|untested but runs on 1 AA battery}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| <!--Description-->Sony Batoh PS3 mini USB Wired hookup [http://ps3.jim.sh/sixaxis/usb/ SIXAXIS]
*PCB Ribbon Notes
*Protos ALPS MSU Rev3 M3 and the later CBEH-1019
*? SA1Q135A for sixaxis
*PP4
*V2
*V25
*VX SA1Q146A first dualshock 3 model
*VX SA1Q147A CECHZC2U (USA)
*VX35 SA1Q159A
*VX3 SA1Q160A
*VX? SA1Q188A
*VX4 SA1Q189A shipped with a CECH-2504 datecode 0C
*VX5 SA1Q194A changed design ALPS, PS button changes
*VX6 SA1Q195A red case,
*VX7 SA1Q222A superslims 2 ribbons
*VX8 SA1Q224A superslims 2 ribbons
| <!--Vendor ID-->0x054c
| <!--Product ID-->0x0268
| <!--Revision-->1.00
| <!--Merge with USB on Digital Pad-->{{No|}}
| <!--Analogue Hack with Analog Stick-->{{No|}}
| <!--Opinion-->Sometimes detected but no support - no sixaxis features detected - mini usb lead will have varying results -
|-
| <!--Description-->Sony PS4
*JDM JDS 001 010 011
*JDM 030 040 055
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Sony PS5 Dual Sense
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Speed Link Strike 2 FX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Thrustmaster Firestorm Dual Power 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Yes|[http://www.morphzone.org/modules/newbb_plus/viewtopic.php?topic_id=7018&forum=12 only 1 axis joystick only]}}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Trust Predator GM-1500 GM-1520
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Haute42 M series Aluminum Metal Joystick Hitbox Controller Arcade Fighting Stick
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Haute42 T series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Haute42 G series Gamefinger G12 G13 G16
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> plastic -
|-
| <!--Description-->Haute42 S series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> thinner and lighter than G series
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Mad Catz sf2 fightstick
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Mayflash Datel Paewang Arcade Pro Stick
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Mayflash F300 Fighting Stick
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Mayflash F500 Fighting Stick
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Pico Flatbox GP2040-CE Hot Swappable Mini Hitbox Keyboard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> default it is configured for PS4 but before plugging usbc cable in, X for Dinput, B Xinput, RT HID - plastic build case - Rev4 based on RP2040 chip and firmware is based on GP2040-CE (Community Edition) -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Shenzhen Onebitdo Tech 8bitdo Fighting stick
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Venom 8 button
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
|}
==== Xinput Xbox Style Plugin ====
2018 extension added originally called AROSx but later redacted. Latest [https://github.com/medusalix/xone linux driver] might be useful.
{| class="wikitable sortable" width="90%"
! width="35%" |Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Merge with USB on Digital Pad
! width="10%" |Analogue Hack with Analog Stick
! width="30%" |Opinion
|-
| <!--Description-->8bitdo Ultimate C Wired 82CB (Shenzhen ONEBITDO TECH - GWOWO)
| <!--Vendor ID-->0x2dc8
| <!--Product ID-->0x3106
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2022 - 4 t6 torx screws - non hall effect so drifting issues - triggers go faulty often -
|-
| <!--Description-->8bitdo Ultimate 2C Wired Controller 82CD
| <!--Vendor ID-->0x2dc8
| <!--Product ID-->0x310A
| <!--Revision-->0114
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2024 - HID keyboard assigned - 4 t6 torx screws - hall effect analogs and triggers - 1000Hz polling -
|-
| <!--Description-->8bitdo Ultimate 2C wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2024 - 400mw battery - hall effect 3d nubs and triggers - micro switch shoulder buttons - d-pad poor for retro games -
|-
| <!--Description-->8bitdo ULtimate Mini Wired Controller for Xbox
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 hall effect
|-
| <!--Description-->8BitDo Pro 2
*Wired Controller
*Wireless
*Bluetooth
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 hall effect - playstation style layout for pc - slide button for S-A-D-X switch, android, dinput or xinput -
|-
| <!--Description-->8BitDo Pro 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2025 tmr hall effect analogs, hall effect triggers and some microswitches - button swap - ps2 style layout -
|-
| <!--Description-->8bitdo Ultimate 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2026 - mw battery - hall effect 3d nubs and triggers - micro switch shoulder buttons - d-pad for retro games -
|-
| <!--Description-->8BitDo Pro 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2026 hall effect analogs, hall effect triggers and some microswitches - button swap - ps2 style layout -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Ace Aurora
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2025 hall effect joysticks with no deadzone mode, gyro, linear rumble, trigger stops, back paddles, button swap, macro, turbo, RGB LED effects - tri-mode connection -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Betop Beitong Spartan BTP-2270U
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion--> no hall effect
|-
| <!--Description-->Betop Betong Asura 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion--> no hall effect - noble linear trigger potentiometer and alps shoulder LB/RB micro switch
|-
| <!--Description-->BEITONG ASURA 2 Pro+ Game Controller Wireless Gamepad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Beitong Zeus 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->BebonCool Dinofire Model Number: Q218 / TP28
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2021 - triggers aren't progressive but ON/OFF -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->EasySMX X05
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 hall effect analog and triggers - tri mode connection -
|-
| <!--Description-->EasySMX Wireless Controller PC PS3, 9013pro ESM-9013PRO
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 linear hall effect but device sometimes will not connect tried multiple attempts with the dongle
|-
| <!--Description-->EasySMX X10
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->EasySMX X20
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 ABXY MICRO SWITCH - Bumpers Tactile switch Hall Effect analog
|-
| <!--Description-->EasySMX X15
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2025 hall effect analog and triggers - membrane buttons -
|-
| <!--Description-->EasySMX S10 Wireless Gamepad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2025 TMR Hall effect and compatible with Switch 2/PC/Phone/TV/Steam, NFC, Gyro, HD Rumble -
|-
| <!--Description-->EasySMX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->202
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Fantech World EOS Pro WGP15
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 hall effect trigger and sticks,2 back paddles, motion controlling
|-
| <!--Description-->Fantech EOS PRO II S
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2025 controller with TMR hall effect analogues, mechanical face buttons and D-pad, 63 input macro, back paddles, turbo - analog triggers with trigger stops - tri mode bt wifi and wired - slide switch on back for switch, macos/android and xinput -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Flydigi Apex
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2023 luxury model
|-
| <!--Description-->Flydigi Vader Pro 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2023 the Pro(Hall Effects) and Non-Pro (No Hall)
|-
| <!--Description-->Flydigi Direwolf 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2023 hall effect sticks and triggers - poor wifi connection -
|-
| <!--Description-->Flydigi Apex 4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2024 luxury model
|-
| <!--Description-->Flydigi Vader 4 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2024 - hall effect, DInput mode (o+A hold) -
|-
| <!--Description-->Flydigi Direwolf 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2024 hall effect analog and triggers but membrane buttons with gold contacts - 800mhA battery -
|-
| <!--Description-->Flydigi Dunefox
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2024 basic model hall effect analog and triggers but membrane buttons - 500mha battery - no gyros -
|-
| <!--Description-->Flydigi Vader 5 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2025 - hall effect stick with tension control, linear triggers, DInput mode (o+A hold) -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Gamesir T4K Keleid, T4C Cyclone wired
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2023 poor to ok switch
|-
| <!--Description-->Gamesir Nova
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{no|| }}
| <!--Analogue Hack with Analog Stick-->{{no| }}
| <!--Opinion-->2024 - switch type layout
|-
| <!--Description-->Guangzhou Chicken Run Network Tech Nova Lite GameSir-T4n LITE - Zikway HID gamepad
*[https://www.reddit.com/r/Gamesir/comments/1c185ve/psa_keep_gamesir_nova_lite_t4n_lite_firmware_at/ fw 4200 seems to be xbox so B then Home for Xinput (green LED), A then Home for HID BT Android (green/yellow LED), Y then Home for Switch Pro (Red LED)] or X then Home for Wifi and start and select to alternatively swap modes
* and if on [https://www.reddit.com/r/Gamesir/comments/1c185ve/psa_keep_gamesir_nova_lite_t4n_lite_firmware_at/ fw 5700 ds4 so Home + B (blue LED), ]
* firmware 6900
| <!--Vendor ID-->0x3537
| <!--Product ID-->0x1040 0x1041
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{no| }}
| <!--Analogue Hack with Analog Stick-->{{no| }}
| <!--Opinion-->2024 - hall effect 3d nubs - no usb-c cable - rubber membrane analog trigger travel and bumpers shoulder buttons - wifi 2.4G and bluetooth - xbox layout so ab and xy might need to be swapped via m and a buttons for switch type [https://www.youtube.com/watch?v=po-nNuC5fps fixes video] - 250Hz polling - 600mah battery - rigid carry case - poor d-pad esp diagonals - gamesir settings software only on android 6+ or ios based only -
|-
| <!--Description-->Gamesir Nova 2 Lite
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->GameSir G7 SE Wired Controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 hall effect
|-
| <!--Description-->GameSir G8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Gamesir TEGENARIA T3 Lite Wired
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 playstation aesthetic hall effect analog and membrane buttons - X+Home button connects as an Xbox controller
|-
| <!--Description-->GameSir Cyclone 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 TMR Joysticks with anti-friction rings and metal anti-friction rings around the stems, gyro, rumble, macro, turbo, 2 back paddles, hall analog triggers with micro-switch trigger - tri mode bluetooth, 2.4GHz wifi and wired, 1000hz polling rate - gamesir connect software -
|-
| <!--Description-->GameSir G7 Pro for Xbox
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 TMR hall effect - hall effect triggers, tri mode connection - gamesir nexus software -
|-
| <!--Description-->GameSir Super Nova Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2026 hall effect sticks and triggers, 1000Hz polling, tri mode connectivity,
|-
| <!--Description-->GameSir
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->GameSir
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->GameSir
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->GuliKit
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->GuliKit KingKong 2 NS08
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->Electromagnetic Stick hall effect - hall linear triggers - Mechanical face buttons - wired and wireless - Built-in rechargeable lithium battery
|-
| <!--Description-->GuliKit KingKong 2 PRO NS09
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->hall efect - wired and wireless - Mechanical face buttons - Built-in rechargeable lithium battery
|-
| <!--Description-->GuliKit KingKong MAX 3 KK3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->hall effect - wired and wireless - lithium battery -
|-
| <!--Description-->Gulikit KK3 Max USB-c Bluetooth Controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 Hall Joysticks and Triggers, Maglev/Rotor/HD Vibration, 1000Hz Polling Rate, 4 Back Buttons,
|-
| <!--Description-->GuliKit KK3 PRO
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2024 smaller version of KK3 MAX - hall effect analog and triggers, face buttons , maglev rumble, gyro, 4 back paddles - rigid case - 950mAh up to 8 hrs -
|-
| <!--Description-->GuliKit
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Hyperkin
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Hori EX2 Turbo UHX3-45
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Machenike G1 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 Wireless Gaming Controller with 1K Polling Rate Hall Effect Trigger Joystick For Nintendo Switch PC iOS Android
|-
| <!--Description-->Machenike G5 Pro Wireless Gaming Controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 ABXY Switch Membrane, Bumpers Tactile switch and hall effect analog
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->microsoft sidewinder precision pro
| <!--Vendor ID-->0x045E
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| [https://pineight.com/mw/index.php?title=USB_game_controllers Xbox 360 Wired Controller]
| 0x045e
| 0x028e
| 0x
| <!--Merge with USB Digital Pad-->{{No|needs specific driver and has poor 2D control pad}}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->
|-
| Microsoft (R) [https://blog.tkjelectronics.dk/2012/12/xbox-360-receiver-added-to-the-usb-host-library/ Xbox 360] (TM) Wireless Receiver for Windows(R) Model 1086 and Controller
| 0x045e
| 0x0719, 0x or 0x0291
| 0x0100
| <!--Merge with USB Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->{{No|separate standalone usb dongle detected and shows as 8 vendor interfaces but no class associated and so not working - may need new class from code from xpad or xboxdrv to work the controllor}}
|-
| <!--Description-->Xbox 360 Kinect [http://hackaday.com/2010/11/10/kinect-open-source-driver-demo-and-hacking/ Video]
[http://git.marcansoft.com/?p=libfreenect.git;a=commit;h=7655fcf7239ba4907654089dba535a196685dbe5 GIT]
| <!--Vendor ID-->0x045E
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2007 proprietary 2.4GHz RF protocol,
|-
| <!--Description-->Xbox One Wired Controller
| <!--Vendor ID-->0x045E
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{no| }}
| <!--Analogue Hack with Analog Stick-->{{no| }}
| <!--Opinion-->
|-
| <!--Description-->Xbox One wireless controller newer model with the 3.5mm headphone jack 1537 1697 and microsoft adapter
| <!--Vendor ID-->0x045E
| <!--Product ID-->0x02d1 or 0x02dd
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{no| }}
| <!--Opinion-->2014
|-
| <!--Description-->Microsoft Elite Series 1
| <!--Vendor ID-->0x045E
| <!--Product ID-->0x02e3
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{no| }}
| <!--Analogue Hack with Analog Stick-->{{no| }}
| <!--Opinion-->2016 ok -
|-
| <!--Description-->Xbox later models 1708+ Xbox One and Series use 5GHz and use Bluetooth,
| <!--Vendor ID-->0x045E
| <!--Product ID-->0x02e0
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{no| }}
| <!--Analogue Hack with Analog Stick-->{{no| }}
| <!--Opinion-->2017
|-
| <!--Description-->Xbox One S
| <!--Vendor ID-->0x045E
| <!--Product ID-->0x02ea 0x02fd
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{no| }}
| <!--Analogue Hack with Analog Stick-->{{no| }}
| <!--Opinion-->2019
|-
| <!--Description-->Microsoft Elite Series 2 Core
| <!--Vendor ID-->0x045E
| <!--Product ID-->0x02ff
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{no| }}
| <!--Analogue Hack with Analog Stick-->{{no| }}
| <!--Opinion-->2022 ok - no hall - 125Hz polling -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Minisform MGP01
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->MOBAPAD N1HD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 has liquid silicone face buttons, hall effect analog, D-Pad swap, two back paddles, USB-A dongle, HD Rumble -
|-
| <!--Description-->Mobapad Huben 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2025
|-
| <!--Description-->Mobapad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->BIGBIG WON Gale 墨将 mòjiāng
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->BIGBIG WON Blitz PRO 2 TMR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->BIGBIG WON now MOJHON AETHER
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2025 hall effect joysticks, hall effect triggers, mechanical bumpers, 1000hz polling rate, mechanical D-pad, membrane face buttons, mechanical back paddles, rumble, deadzone issues - tri mode
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->MSI FORCE GC20 GC30 V2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2021 not hall effect
|-
| <!--Description-->MSI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Mytrix Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->NACON GC-100XF Controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 average
|-
| <!--Description-->PXN P5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 hall effect joysticks & triggers, limited trigger stops, 1000hz polling rate on wired, 4 back paddles, 32 macro record, anti-deadzone mode, RAW mode, gyro, turbo, tri-mode connection -
|-
| <!--Description-->PXN P50L
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->PowerA
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->QRD Stellar T5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->QRD Junior E5 Mini
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->QRD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Razer Wolverine V3 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024 hall
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->RetroFlag
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Speedlink XEOX Pro Analog Wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->enclosed lithium battery? - xbox layout - switchable on back of controller to directinput (dinput) or xinput - USB dongle switchable to pc and ps3
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->SCUF Instinct Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2022 good
|-
| <!--Description-->SCUF Envision Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2023 good
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Steel Series Stratus Duo XL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->usb adapter needed
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->[https://inputlabs.io/Inputlabs InputLabs Alpakka Open Source and build yourself]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->DIY it with 3d printer, pcb and components - pi pico needed - 2 gyros for better accuracy -
|-
| <!--Description-->[https://inputlabs.io/kapybara Inputlabs kapybara]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->DIY one handed version wip
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Vilcorn Z03 BT Wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion-->2024 - other Bluetooth modes (green, red, blue, purple, etc.) Select + M1 (or M2) - 400mAh - not great latency wired - 800mhz polling -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->zd ultimate legend
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->zd 0+ elite
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024
|-
| <!--Description-->zd 0+excellent
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->2024
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
|}
<pre>
#ifndef AROSX_LIBRARY_H
#define AROSX_LIBRARY_H
#include <exec/types.h>
#define AROSX_CONTROLLER_TYPE_UNKNOWN 0x00
#define AROSX_CONTROLLER_TYPE_GAMEPAD 0x01
#define AROSX_GAMEPAD_DPAD_UP 0x0001
#define AROSX_GAMEPAD_DPAD_DOWN 0x0002
#define AROSX_GAMEPAD_DPAD_LEFT 0x0004
#define AROSX_GAMEPAD_DPAD_RIGHT 0x0008
#define AROSX_GAMEPAD_START 0x0010
#define AROSX_GAMEPAD_BACK 0x0020
#define AROSX_GAMEPAD_LEFT_THUMB 0x0040
#define AROSX_GAMEPAD_RIGHT_THUMB 0x0080
#define AROSX_GAMEPAD_LEFT_SHOULDER 0x0100
#define AROSX_GAMEPAD_RIGHT_SHOULDER 0x0200
#define AROSX_GAMEPAD_A 0x1000
#define AROSX_GAMEPAD_B 0x2000
#define AROSX_GAMEPAD_X 0x4000
#define AROSX_GAMEPAD_Y 0x8000
struct AROSX_GAMEPAD {
ULONG Timestamp;
UWORD Buttons;
UBYTE LeftTrigger;
UBYTE RightTrigger;
WORD ThumbLX;
WORD ThumbLY;
WORD ThumbRX;
WORD ThumbRY;
};
#define AROSX_EHMB_CONNECT 0x00
#define AROSX_EHMB_DISCONNECT 0x01
#define AROSX_EHMF_CONNECT (1L<<AROSX_EHMB_CONNECT)
#define AROSX_EHMF_DISCONNECT (1L<<AROSX_EHMB_DISCONNECT)
struct AROSX_EventHook {
struct Node eh_Node;
struct MsgPort *eh_MsgPort;
ULONG eh_MsgMask;
};
struct AROSX_EventNote {
struct Message en_Msg;
ULONG en_Event;
APTR en_Param1;
APTR en_Param2;
};
#endif /* AROSX_LIBRARY_H */
</pre>
=== Joystick ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |Merge with USB on Digital Pad
! width="10%" |Analogue Hack with Analog Stick
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->CH Products CombatStick 568
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Cyborg X
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Logitech Extreme 3D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| [Logitech Attack 3 Joystick]
| 0x0464
| 0xC214
| 0205
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| {{yes|works}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->saitek X-52 x52 pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->saitek aviator
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| Speedlink Competition Pro USB
|
|
|
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| {{maybe|works but games not working "out of the box"}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Trust Predator QZ 501
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{yes|works}}
|-
| <!--Description-->Trust Predator TH 400
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{yes|works}}
|-
| <!--Description-->Trust Predator GM-2500
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{yes|works}}
|-
| <!--Description-->Trust XK 100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{N/A|untested }}
|-
|}
===[https://github.com/JacKeTUs/linux-steering-wheels Gaming Racing Steering Wheels]===
{| class="wikitable sortable" width="90%"
! width="25%" |Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Merge with USB on Digital Pad
! width="10%" |Analogue Hack with Analog Stick
! width="40%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> [https://www.usb.org/sites/default/files/documents/pid1_01.pdf USB PID standard not supported],
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Cammus C5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Fanatec CSL Elite
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->PS4 and Xbox - belt driven wheel - 30cm wheel swapping
|-
| <!--Description-->Fanatec Club Sport
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> top belt $600 £500 system
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->FFBeast
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Genius TRIO RACER F1 Racing Wheel
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->Cheap and cheerful but not great - may need calibrating
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Hama PC Racing Wheel Thunder V18
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->Average
|-
| <!--Description-->Hori Racing Wheel 3 with pedals
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->PS3 PC
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Logic3 PXU450 TopDrive GT450 Steering Wheel for PS3, PS4, XBox One and PC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Logitech MOMO
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->Very good
|-
| <!--Description-->Logitech Driving Force GT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Logitech Drive Force Pro DFP
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> wheel 900 degree - weighs in at 15 lbs
|-
| <!--Description-->Logitech Formula Force EX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->200 degrees turn for the EX model is arcade-like driving - adds PS3 compatibility via the PSx/2 adaptor - weighs in at 9 lbs
|-
| <!--Description-->Logitech G25
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> - needs external psu -
|-
| <!--Description-->Logitech G27 PC/PS3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> comes with gear shifter - needs external psu -
|-
| <!--Description-->Logitech G29 PC PS3/PS4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> may need additional shifter - gear 900deg wheel / rumble - 3 peddle - needs external psu -
|-
| <!--Description-->Logitech G920 PC XboxOne
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> may need additional shifter - gear 900deg wheel / rumble - 3 peddle - needs external psu -
|-
| <!--Description-->Logitech G923
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Microsoft(R) SideWinder Precision Racing Wheel (1999)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Moza R3
| <!--Vendor ID-->0x346E
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Moza R5
| <!--Vendor ID-->0x346E
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Moza R9
| <!--Vendor ID-->0x346E
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Moza R12
| <!--Vendor ID-->0x346E
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[https://github.com/Ultrawipf/OpenFFBoard OpenFFBoard],
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->PXN V10
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->PXN V12
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->PXN V12 Lite
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Simagic M10
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> base direct drive $900 £800
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Simplicity Simwheel
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> direct
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Simucube
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Simucube
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Simucube
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Simxperience Accuforce V2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->SPEEDLINK Drift O.Z. Racing Wheel with Pedals and Gear Stick
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->SteelSeries Simraceway SRW-S1 Steering Wheel (PC)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Thrustmaster Nascar Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Thrustmaster Ferrari Challenge Wheel
| <!--Vendor ID-->0x044f
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> Poor
|-
| <!--Description-->Thrustmaster Ferrari FGT Rumble GT Experience 3-in-1 (PC/PS3)
| <!--Vendor ID-->0x044f
| <!--Product ID-->b658
| <!--Revision-->0102
| <!--Merge with USB Digital Pad-->{{Yes|Wheel and all buttons detected}}
| <!--Analogue Hack with Analog Stick-->{{Maybe|}}
| <!--Opinion-->Not great - gear driven 240deg wheel rotation - no psu needed - 2 peddle - flappy gear change - rumble untested - red switch for PC PS3 selection
|-
| <!--Description-->Thrustmaster F430
| <!--Vendor ID-->0x044f
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Thrustmaster T500 RS Wheel
| <!--Vendor ID-->0x044f
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> belt driven wheel/rumble for GT5
|-
| <!--Description-->Thrustmaster T60 Challenge
| <!--Vendor ID-->0x044f
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Thrustmaster T150 Wheel
| <!--Vendor ID-->0x044f
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> gear / belt combo wheel / rumble - 2 peddle
|-
| <!--Description-->Thrustmaster TMX Pro PC/XboxOne
| <!--Vendor ID-->0x044f
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->{{No| }}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| <!--Opinion--> direct drive rumble - no manual gear shift included
|-
| <!--Description-->Thrustmaster T80
| <!--Vendor ID-->0x044f
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->Base level and OK - PS4 - 270deg rumble - 2 peddle
|-
| <!--Description-->Thrustmaster T300 RS GT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->PS3 PS4 - belt driven - 900deg rotation and modular 28cm wheel out - 2 peddles but 3 available
|-
| <!--Description-->Thrustmaster TX Leather
| <!--Vendor ID-->0x044f
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->TX Xbox version - 900deg rotation
|-
| <!--Description-->Thrustermaster TS PC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->PC only belt wheel
|-
| <!--Description--> TS XW Racer PC Xbox1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> top belt system
|-
| <!--Description-->Thrustmaster T-GT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->PS4 $700 £600 with T-DFB
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| <!--Description-->Tracer Zonda Racing Steering Wheel PC PS3 Vibration Feedback Pedals Gearbox
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->{{unk| }}
|-
|}
===Gamepad Joypad Adapters===
* Most adapters will work in most OS's without installing a driver. Special functions needing drivers will be noted.
* Some adapters do not work with some [http://www.stepmania.com/wiki/Dance_Pads dance pads] because of voltage issues. Other adapters map the dancemat arrows as axes and not as buttons, causing problems.
* If using an adapters should be compatible with '''original''' PlayStation PS/Xbox Xbox/GameCube GC /Dreamcast DC/Sega Saturn SS gamepads.
{| class="wikitable sortable" width="90%"
! width="35%" |Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Merge with USB on Digital Pad
! width="10%" |Analogue Hack with Analog Stick
! width="30%" |Opinion
|-
| <!--Description-->[http://www.maplin.co.uk/psx-usb-bridge-34887?tabid=3&worldid=&doy=21m9&faqitem=playstation%20controller%20to%20pc%20adaptor Maplin] [http://www.rockfire.com.tw/ Padix Co. Ltd. Rockfire] PX-205 PSX/USB Bridge
| <!--Vendor ID-->0x0583
| <!--Product ID-->0x2050
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{Yes}} but buttons mapped different from others
| <!--Analogue Hack with Analog Stick-->{{Maybe|poor}}
| <!--Opinion-->Ok with dpads, but very poor support with analogue hack
|-
| Boom PS Joy Converter adaptor
|
|
|
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->
| discontinued (2004/5). Hold Up, Start, and Select for three seconds. Very good [http://www.stepmania.com stepmania] recommendation.
|-
| [http://www.hkems.com/m_main.htm EMS] [http://www.hkems.com/product/ps2/ps2-usb2.htm USB2] grey plastic box with 2 PSX ports, one on either side - UP and Select pressed for 3 seconds at the same time or the dance code (start+select+up)
|
|
|
| <!--Merge with USB Digital Pad-->{{Yes|Tests/joystick shows the PS port works in digital mode on d-pad}}
| <!--Analogue Hack with Analog Stick-->
| Set in PC switch mode. Does not work when using 2 pads at the same time, likely higher power requirements. FPSE emu DualShock untested, Mat and Guitar untested but known lag involved
|-
| Joytech (play.com) (EMS USB2 bad clone) Black box twin PSX
| 0x0b43
| 0x0003
| 0x0
| <!--Merge with USB Digital Pad-->{{Maybe| }}
| <!--Analogue Hack with Analog Stick-->{{No|buggy hardware}}
| but poor on dance ddr mat and guitar hero as the left and right keys do not like being pressed together, Dual shock untested
|-
| [ EMS Trio Linker ] 1 PSone connection at bottom
|
|
|
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| 1PSX discontinued 2005
|-
| [http://psxemulator.proboards.com/index.cgi?board=support&action=display&thread=421 EMS Trio Linker Plus] (blue box) 1 PSx at bottom
|
|
|
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| 1PSX discontinued
|-
| Gamtec [http://www.gamestone.co.uk/gradius/guides_usb_smartjoy_guide.php SmartJoy Plus] Lik Sang PS->USB converter Red 2005
| 0x0925
| 0x0005
| Low 0110
| <!--Merge with USB Digital Pad-->{{Maybe|detected and digital dpad works with [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4138&forum=2&post_id=35952#forumpost35952 joystick and testjoystick tests] but the second analog control is not mapping correctly in digital mode}}
| <!--Analogue Hack with Analog Stick-->{{No|Analogue Hack - hardware buggy not useable}}
| Dual shock untested, Mat and Guitar untested. Nothing picked up upon plugging it in. Quite common, these items have grounding issues or feed voltage back into the USB host and freeze the host controller, preventing any plugins or removals being detected.
|-
| Gamtec SmartJoy Plus Dual PS->USB converter Red
| 0x0925
| 0x00
| Low
| <!--Merge with USB Digital Pad-->{{Maybe| }}
| <!--Analogue Hack with Analog Stick-->{{No|buggy hardware}}
|
|-
| [http://uk.gear.ign.com/articles/700/700334p1.html Lik-Sang Super SmartJoy PSX]
|
|
|
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| 1PSX
|-
| Soyo Kiki Kiky
|
|
|
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
|
|-
| eXcel PSX adaptor shaped a little like a stealth bomber with USB pass through
|
|
|
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
|
|-
| Venom
|
|
|
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
|
|-
| Dragon Plus (Radio Shack) Pantherlord GreenAsia USB to PS2/PS3 converter single black cable
| 0x0e8f
| 0x03
| 1.07
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->{{Yes| }}
|
|-
| Deal Extreme 2 PSX black cables from 1 USB port
|
|
|
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| {{N/A|untested }}
|-
| <!--Description-->HDE 2014 Personal Communication Systems Inc
| <!--Vendor ID-->0x0810
| <!--Product ID-->0x0001
| <!--Revision-->0106
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Same as single cable above but with black block midway along cable
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
|-
| <!--Description-->TigerGame Ltd Mayflash PC001 Super Joy Box 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| TigerGame Ltd Mayflash PC016 Super Joy Box arrowhead triangle twin PSX] Original was lack with RED Leds. Clones Dilong pu203, Blue HDE Neewer ShineData SD-APS2USB, Red Octane and Black PC Power Box (NS3454) '''embossed circle''' on top
| 0x0810
| 0x0001
| 1.06
| <!--Merge with USB Digital Pad-->{{Yes|Tests/joystick shows one PS port does not work with analog control at all but the other port does and maps correctly in digital mode}}
| <!--Analogue Hack with Analog Stick-->{{Yes|Analogue hack works }}
| Still available 2013, poor construction though, falls to pieces easily. Dual Shock untested, Mat and Guitar untested
|-
| <!--Description-->TigerGame Ltd [http://www.mayflash.com/pc/pc038/pc038-1.htm Mayflash PC038 Super Joy Box Pro triangle twin PSX]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| TigerGame Limited Mayflash SuperJoy Box 5 PC006 long V-shaped 4 port PS/PS2 Game Controller Adapter
|
|
|
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->
|
|-
| <!--Description-->TigerGame Limited Mayflash SuperJoy Box 5 PRO PC039 PS/PS2 Game Controller Adapter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Merge with USB on Digital Pad
| Analogue Hack with Analog Stick
| Opinion
|-
| Boom PSX+N64 USB converter (purple or blue see through box) (2003/4) - red led for psx and green led for n64
| 0x6666
| 0x0667
| 0x0
| <!--Merge with USB Digital Pad-->{{No|not detected by Tests/joystick}}
| <!--Analogue Hack with Analog Stick-->{{No|Analogue hack }}
| Rumble Pak untested
|-
| [http://www.hkems.com/product/ps2/TrioLinkerPlus2.htm EMS Trio Linker Plus II]
|
|
|
| <!--Merge with USB Digital Pad-->{{Yes| }} [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4753&forum=24&post_id=43102#forumpost43102 ]
| <!--Analogue Hack with Analog Stick-->
| 1DC 1GC 1PSX but not for ddr mat games
|-
| TigerGame Mayflash PC043 clone HuiJia Black twin N64 converter for PC USB
| 0x0e8f
| 0x3013
| 0x0
| <!--Merge with USB Digital Pad-->{{No|detected by Tests/joystick though two digital pads have their settings wrong}}
| <!--Analogue Hack with Analog Stick-->{{Yes|Analogue hack works well with middle handle/grip little joystick}}
| Rumble Pack untested
|-
| TigerGame Mayflash PC MagicBox SuperBox 3
|
|
|
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| untested 1SS 1DC 1PSX }
|-
| <!--Description-->Lik Sang SmartJoy X
| <!--Vendor ID-->0x045e
| <!--Product ID-->0x0285
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->SmartJoy X2
| <!--Vendor ID-->0x045e
| <!--Product ID-->0x0289
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| TigerGame Mayflash PC018 Super Joy Box 9 Xbox (NOT 360)
| 0x05e3
| 0x060
|
| <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| does not work. Hub(s) 0x0288 detected but 0x0289 xbox1 joypads are not detected as hid let alone as [http://www.amiga.org/forums/archive/index.php/t-62940.html xpad] or [http://pingus.seul.org/~grumbel/xboxdrv/ linux xboxdrv driver]
|-
| TigerGame Mayflash PC019 Super Joy Box 10 Xbox Twin ports (NOT 360)
| 0x05e3
| 0x060
|
| <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}}
| <!--Analogue Hack with Analog Stick-->{{No| }}
| does not work with the big Fatty Duke or smaller S Akebono controller(s)
|-
| TigerGame Ltd Mayflash PC020 Super Joy Box 11 Xbox Quad ports (NOT 360)
| 0x05e3
| 0x0604
|
| <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}}
| <!--Analogue Hack with Analog Stick-->{{No| }}
|
|-
| <!--Description-->TigerGame Ltd Mayflash PC035 3 in 1 Magic Joy box PS GC Xbox
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->USB to NES [http://wiki.nesdev.com/w/index.php/Standard_controller SPI like protocol]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Buffalo Classic USB Pad SNES like
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Mayflash PC044 USB to SNES
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->USB to MEGADRIVE GENESIS Joypad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->[http://www.retrousb.com/product_info.php?cPath=21&products_id=70 USB to 9 pin ATARI RETROPORT style JOYSTICK PORT]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Atari RetroLink 9pin to SB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->SLS Sega Saturn USB pad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB on Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Mayflash PC050 Dual Saturn ports
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Guitar Hero for PC/Mac
| <!--Vendor ID-->0x1430
| <!--Product ID-->0x474C
| <!--Revision-->
| <!--Merge with USB Digital Pad-->{{Yes| }}
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Cronus Max
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->BrookX One
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Mayflash Gamecube to USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->Mayflash Magic NS
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion--> WiiU
|-
| <!--Description-->Brook Converter WiiU P3 P4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
| <!--Description-->CooV Xbox One Converter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Merge with USB Digital Pad-->
| <!--Analogue Hack with Analog Stick-->
| <!--Opinion-->
|-
|}
* [http://www.bemanistyle.com/forum/f6/best-metal-pad-19066/ Metal dance pads with LEDs] - My My Box Blue Shark (Nexen), Cobalt Flux (CF) (Let's Groove), Red Octane Afterburner, TX-2000, Logic3 (Dance Dance Dance), Gamerose (Stay Cool),
* Hard foam mat - [http://www.mayflash.eu/3in1-deluxe-dansmat-ignition-foam-ps2xboxpc-p-5.html Mayflash] FutureMax Deluxe 3 in 1 Ignition, [http://www.gamerose.com/ Gamerose] (Stay Cool), TrinPad orange,
* Soft foam mat - Logic3 (PS420N), [http://www.positivegaming.com/index.php?id=36 Positive Gaming Impact], Gamerose Miss Daisys Naki (Stay Cool), Pelican, MadCatz
*PS1 PS2 PS3 PS4 flex ribbon big source of button/trigger issues with all controllers
*PS2 Phat KSA1Q40A (Board), SA1Q33A (Membrane) SCHP-10010 H
*PS2 SA1Q42A SCHP-10010 A
*PS2 SA1Q43-A SCHP-10010 H
The primary axes are either the Control Pad or the left stick. Buttons come in a rough order: face buttons, then shoulder buttons, then Select and Start, then buttons under sticks, and finally Control Pad directions if not assigned to a hat. But the order and number of buttons within a category are unpredictable, as is which button the user expects to use for each action.
{| class="wikitable sortable" width="90%"
! width="10%" | Joypad
! width="5%" | HATS
! width="5%" | Button 01
! width="5%" | Button 02
! width="5%" | Button 03
! width="5%" | Button 04
! width="5%" | Button 05
! width="5%" | Button 06
! width="5%" | Button 07
! width="5%" | Button 08
! width="5%" | Button 09
! width="5%" | Button 10
! width="5%" | Button 11
! width="5%" | Button 12
! width="5%" | Button 13
! width="5%" | Button 14
! width="5%" | Axes 1
! width="5%" | Axes 2
! width="5%" | Axes 3
! width="5%" | Axes 4
! width="5%" | Axes 5
! width="5%" | Axes 6
! width="10%" | Comment
|-
| [https://pineight.com/mw/index.php?title=USB_game_controllers Xbox 360 Wired Controller]
|
| A (down-green)
| B (right-red)
| X (left-blue)
| Y (up-yellow)
| LB (white)
| RB (black)
| Back
| Start
| Guide
| L3
| R3
|
|
|
| Left X
| Left Y
| LT
| Right X
| Right Y
| RT
| Poor 2D, Good 3D
|-
| <!--Description-->Gravis GamePad / Original PlayStation Controller
| <!--HATS DPAD-->
| <!--Button 01-->Red (Sqleft)
| Yellow X (X down)
| Green O (O right)
| Blue (Tri up)
| L1
| R1
| L2
| R2
| Select
| <!--Button 10-->Start
|
|
|
|
| <!--Axes 1-->Stick X
| Stick Y
|
|
|
|
| <!--Opinion-->
|-
| <!--Description--> PlayStation 2 Older Adapters
| <!--HATS DPAD-->
| <!--Button 01-->Blue X (down)
| Red O (right)
| Pink Sq (left)
| Green Tri (up)
| L1
| R1
| L2
| R2
| Select
| <!--Button 10-->Start
| Stick 1
| Stick 2
|
|
| <!--Axes 1-->
|
|
|
|
|
| <!--Opinion-->
|-
| <!--Description--> PlayStation 2 Newer Adapters
| <!--HATS DPAD-->
| <!--Button 01-->Up
| Right
| Down
| Left
| L2
| R2
| L1
| R1
| Select
| <!--Button 10-->Start
| Stick 1 (analogue Hack)
| Stick 2
|
|
| <!--Axes 1-->
|
|
|
|
|
| <!--Opinion-->
|-
| <!--Description--> Wish Technologies N64 Adaptoid
| <!--HATS DPAD-->
| <!--Button 01--> A
| C Down
| C Right
| B
| C Left
| C Up
| L
| R
| Start
| <!--Button 10-->Z
| Pad Up
| Pad Down
| Pad Left
| Pad Right
| <!--Axes 1-->Stick X
| Stick Y
|
|
|
|
| <!--Opinion-->
|-
| <!--Description-->
| <!--HATS DPAD-->
| <!--Button 01-->
|
|
|
|
|
|
|
|
| <!--Button 10-->
|
|
|
|
| <!--Axes 1-->
|
|
|
|
|
| <!--Opinion-->
|-
| <!--Description-->
| <!--HATS DPAD-->
| <!--Button 01-->
|
|
|
|
|
|
|
|
| <!--Button 10-->
|
|
|
|
| <!--Axes 1-->
|
|
|
|
|
| <!--Opinion-->
|-
|}
Just plug in your digital/analogue joystick or gamepad into USB port. The device will be handled by Poseidon USB stack. Poseidon is the USB stack with Trident adding a GUI (graphical user interface) prefs.
the context sensitive page would come up right on pressing the help key inside the relevant window. The manual is in this archive, just in case it isn't in SYS:Locale/Help
*How to change joystick mode to analogue?
By default a connected USB joystick emulates Amiga digital joystick. To change this behaviour so that the joystick is presented as analogue you need to use Trident preferences application (System:Prefs/Trident).
Open Trident and go to Devices on the left hand side (mouse click once on it). Select your controller from the list to the right and then click on Settings button below. This will open a new window. On the "General" tab find the "Lowlevel Library Joypad Emulation" section near the bottom. Find ports which are set to "Merge with USB" or "Override with USB" and change them to "Analogue Hack".
Please note that analogue joystick support is an extension of original Amiga functionality, thus an Amiga application must be explicitly written to use it. AROS SDL library uses this functionality, thus all SDL applications that use joystick, can use the analogue joystick feature.
The HID class has several options how to handle the input data:
* Don't touch: The movement and button data for is not modified by the hid class. This is the default for the ports 0, 2, and 3.
* Overwrite with USB: This will kill the original data that might had come from the internal ports and overwrites it with the joypad data for this USB interface. Note well: If you have multiple joypads connected, take care which setting you have selected for each port, because only the last interface with this option will actually send the joypad data to the game.
* Merge with USB: This option merges the input data of the lowlevel.library with the USB stream. This only works, if the connected device on the original Amiga ports is NOT a mouse (because then the streams are incompatible). Merging should be the preferred method, because it leaves the original joysticks working.
* Disable: Turns off the port for the application.
* Analogue Hack: Tells Poseidon to force reporting of analogue data at the port. Please note that this only works with programs that understand the analogue data, because it's an extension to the original lowlevel.library standard made by Commodore. If you want to incorporate this feature in your software, just contact me and I will send you the necessary information.
* Rumble Port: As addition to the analogue data, the HID class supports applications and games that want to utilize a rumble pack or force feedback motors in the gamepads. This field selects to which lowlevel port the hid device responds, when attempting to use the rumble pack. Normally, this corresponds to the port that has been set in the actions for the joypad.
*How to change joystick port assignment?
The low level library supports up to four ports. Port 0 is usually used by the mouse, port 1 is the standard port for joysticks/joypads. By default a connected USB joystick is present in Port 1. To change its location to Port 0 you need to use Trident preferences.
Open Trident and go to Devices window. Select your controller from the list and then click on Settings button. This will open a new window. On the "General" tab find the "Lowlevel Library Joypad Emulation" section. Port 1 should be set as either "Merge with USB" or "Override with USB". Change this setting to "Don't touch". Change Port 0 setting to "Merge with USB".
Go to "Actions" tab. In the "Reports and collection" select first entry named "Joystick". in the "Usage items" select "X axis". Go to "Performed actions" area. On the left there will be a list of triggers. Each of them should have (port1) in their params. Click on the first trigger and using buttons to the right of the list change port1 into port 0. Repeat this for all triggers and for all items on "Usage items" list.
*How to make joystick simulate keyboard keys?
With Poseidon it is possible to make the joystick simulate the keyboard pressings. This might enable using joystick for playing games which only have keyboard support. This feature is configured in Trident preferences.
Open Trident and go to Devices window. Select your controller from the list and then click on Settings button. This will open a new window. Go to "Actions" tab. On the right top window select X axis. On the left bottom list select an entry "Digital Joystick, Push left(port 1)". On the panel to the right change "Digital joystick" into "Raw Key". A list of keys will be displayed. Select key you wish to send. Repeat the same procedure for "Digital Joystick, Release left (port 1)" option but this time check "Send key up even instead of key down". Open shell and move your joystick to the left - your selected letter should appear in the shell.
*Analogue in Trident Prefs
* Open the Trident USB Prefs -> Devices -> Select your joypad -> Settings button -> Action TAB
* See some "axis" listed under "Usage items" in the top right of the window. They are your analog stick(s)
* Check [x] Track Incoming Events which is half way down the window on the left
And you should see some axis activity in "Usage items" when you move the analog stick
*Actions
HID class item -> Settings -> HID Class Window -> Action Tab -> Action handling area
Reports and collections -> Usage Items -> Performed actions
Qualifier keys are *special*. You don't only need to create the actual keypress but also modify the qualifiers.
Go to the keyboard panel and find the windows menu key by enabling key tracking and pressing the windows menu key. Then assign the right amiga key to it.
Go to the actions panel and find the right amiga key (it's called "Keyboard right GUI"). Remember the actions stored there, best write them down in exact order. Then delete them.
Find the windows menu item and add the missing qualifier action. Be sure the parameters are exactly the same and the order is right.
Set them to Raw, then assign an up and down button for each character, etc.
when you change the settings to RAW so you can assign keyboard strokes. it will always say, KEYDOWN or what ever on the left, it never provides and option for key release.
The problem still remains though that if I try to assign the Directional Pad (Hat) to Arrow Keys, that things will get screwed up and you either can not move with the directional PAD (HAT), or movements are assigned to the Left Analog, and do not work as they should, it's as if the right and down arrow keys are ALWAYS On, regardless of the fact that I did indeed assign a Key release command to each input.
check that by pressing analog directions and see the current values, and the thresholds configured in poseidon to bind them to left/right/up/down.
misconfigured too much stuff in the HID settings, you can always go in poseidon->config list entry and delete the config item related to your device (or the HID class setting itself), back to basics.
*Rumble in Trident Prefs
Open Trident Prefs and click on the Devices option in the left hand window. Click with the mouse once on your gamepad choice on the right hand side and again on the Settings button below. In the new window, select the '''General''' TAB and half way down on the right there is an "Open Now" button in the section "HID output control window". Clicking on that button opens another window (HID Control) with sliders for the two rumble engines inside the controllers and you can test if they work. '''Sometimes clicking that button does nothing, other times it will open the window and say nothing is detected.''' The leftmost two sliders do nothing, the third one has a large rumble effect, and the fourth one has a small rumble effect.
===Graphic Drawing Tablet===
There is a standard in HID for tablets possibly mouse type. If the tablet is HID conforming in that sense, it should work. Aiptek does a fairly good job at this. The other competitor, Wacom, didn't pay too much attention to this and simply adapted their legacy serial protocol into HID in a very awkward way. Older Wacom tablets have worked with the special support in the HID class, but not the more recent ones.
to use graphic tablets fully, applications need to be written that make use of the AmigaOS NewTablet events (which AROS has)
* Entry level - A6 (6x4) work area
* Medium A5 (6x8) A4 (10x7) size (recommended but only a few ie years 2000 to 2003 models supported)
* Semi Pro A3 (12x9)
* Pro Cintiq
* 2005/6 Some support added for Wacom tablets
* 2008 Wacom's patent on battery free pens expires
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Micrograf Tabby (late 1980s and early 1990s)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|-
| <!--Description-->podscat pt 3030 graphics tablet
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|-
| <!--Description-->Summagraphics
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|-
| <!--Description-->Wacom IV compatible (Graphire, ArtPad, A3, A4, A5 and PenPartner CT-0405-P - Wacom intuos GD-0405-R) Waycom Digitiser II UD-0608-R
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|-
| <!--Description-->Wacom Artpad II (KT-0405-R)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|-
| <!--Description-->AceCad boards
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|-
| <!--Description-->AipTek HyperPen 6000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|-
| <!--Description-->Calcomp
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|-
| <!--Description-->AipTek HyperPen 8000 - Aldi/Medion MD 9310 and Aldi/Tevion LT 9310
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|-
| <!--Description-->Tablet PC penabled
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based like x61t X60t NC4200 NC4400 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|Serial RS232 based }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
* Wacom PenPartner
* PenPartner 2
* PenStation 2
| <!--Vendor ID-->0x056a
| <!--Product ID-->0x0000
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Wacom Graphire - Wacom Tablet ET-0405-U UV1.1-1 (Slate Blue) ET-0405UL (lime) (orange) (red) (purple)
| <!--Vendor ID-->0x056A
| <!--Product ID-->0X0010
| <!--Revision-->0100
| <!--Opinion-->{{Yes|late 90s with A6 size - [Wacom Support] of X-axis 00000-10205 Y-AXIS 0000-7421 Tip Pressure 000-511 under Trident prefs. Air pen mouse type movements }}
|-
| <!--Description-->
* Grapphire 2 4x5 ET-0405A-U UV2.0-3 (Steel Blue)
* Graphire 2 5x7 ET-0507A
| <!--Vendor ID-->0x056A
| <!--Product ID-->0x0011 and 0x0012
| <!--Revision-->0110
| <!--Opinion-->{{Yes|A6 and A5 versions - [Wacom Support] of X-axis 00000-10205 Y-AXIS 0000-7421 Tip Pressure 000-511. Air pen mouse type movements - mouse EC-120-0K tested}}
|-
| <!--Description-->Wacom Graphire 3
* cte-430/w 4x5 pearl sapphire
* cte 630 6x8
| <!--Vendor ID-->0x056A
| <!--Product ID-->0x0013 and 0x0014
| <!--Revision-->0314
| <!--Opinion-->{{Yes|A6 and A5 size - [Wacom Support] Xaxis 0-10207 yaxis 0-7423 tip pressure 0-511 and the erase end appears to respond but avoid bluetooth BT versions }}
|-
| Wacom Graphire 4
* cte-440/B Blue cte 440/s Silver 4x5
* cte-640 6x8 cte 640 u 0403
| <!--Vendor ID-->0x056A
| <!--Product ID-->0x0015 and 0x0016
| <!--Revision-->403
| {{Yes|A6 and A5 work area detected [Wacom Support] x-axis 0000-10207 Y axis 0000-7423 Tip Pressure 000-511 and delete rub out end of the pencil seems detected but avoid bluetooth BT versions }}
|-
| <!--Description-->
* Wacom Intuos 4x5 GD-0405
* Intuos 6x8 GD-0608
* Intuos 9x12 GD-0912
* Intuos 12x12 GD-1212-U
* Intuos 12x18 GD-1218
| <!--Vendor ID-->
| <!--Product ID-->0x0020 0x0021 0x0022 0x0023 0x0024
| <!--Revision-->
| <!--Opinion-->{{Yes|detected and responses delivered back - x axis up to 30479 and y axis 31679, tip pressure up to 1023 and x and y tilt up to 127 - Wacom intuos GD-0912-A for Apple Macs NOT SUPPORTED}}
|-
| <!--Description-->
* Intuos 2 4x5 A6 - XD-0405-U
* Intuos 2 6x8 A5 - xd 0608u uoc
* Intuos 2 9x12 XD-0912-U
* Intuos 2 12x12 XD-1212-U
* Intuos 2 12x18 XD-1218-U
| <!--Vendor ID-->0x056a
| <!--Product ID-->0x0041 0x0042 0x0043 0x0044 0x0045
| <!--Revision-->0126
| <!--Opinion-->{{No|various sizes and recognised as [Wacom Support] but not working. x-axis 00000-20319 y-axis 00000-16239 tip presure 0000-1023 x-tilt y-tilt 000-127. HID mouse xc-100-03 works but never could use it as a real tablet with pressure with TVPaint 3.6 }}
|-
| <!--Description-->
* Intuos 3 4x5 (PTZ-430)
* Intuos 3 4x6 (PTZ-431W )
* Intuos 3 6x8 (PTZ-630 PTZ630)
* Intuos 3 6x11 (PTZ-631W A3 wide)
* Intuos 3 9x12 (A4 PTZ-930 PTZ930)
* Intuos 3
| <!--Vendor ID-->056a
| <!--Product ID-->0x00b0 0x00b1 0x00b2 0x00b3 0x00b4 0x00b5
| <!--Revision-->
| <!--Opinion-->{{No}} Actions in HID setup window definitively locks the Pointer (mouse) reports settings and even after a clear and save, nothing changes, the configuration returns to default values. "[Wacom]" reports don't see any events from the tablet, even with "Pointer" reports cleared and save, so is locked a in "mouse" state - but can send a special command to the tablet in order to put it into a special vendor mode. This mode enables Wacom specificities like pressure, tilt, absolute position, buttons, etc... you should send an HID report feature with ReportID=2 and data=2, the current HID class driver doesn't give a way to change that, even using the "initial startup actions" item in the extra collection. No listed features work
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| Wacom Volito - Promethean FT-0405-U06 UV1.4-1
| <!--Vendor ID-->0x056A
| <!--Product ID-->0x0060
| <!--Revision-->0141
| <!--Opinion-->{{Yes|A6 work area with [Wacom Support] of x-axis 0000-5103 Y axis 0000-3711 Tip Pressure 000-511. Air and touch mouse movement - appears to be the budget option with some but limited features}}
|-
| <!--Description-->Wacom Volito 2
* CTF-??? 2x3
* CTF-420G CTF-420 V2.0-0 4x5
* Serif Penabled 6742 rebadge of CTF 420/020-B CTF-420/02
| <!--Vendor ID-->0x056A
| <!--Product ID-->0x0062
| <!--Revision-->0200
| <!--Opinion-->{{Yes|A6 work area with [Wacom Support] of x-axis 0000-5103 Y axis 0000-3711 Tip Pressure 000-511. Air and touch mouse movement - no erase function on the end of the pen - nylon nibs value option}}
|-
| <!--Description-->
* Wacom PL-400 LCD
* PL-500
* PL-510
* PL-550
| <!--Vendor ID-->
| <!--Product ID-->0x0030 0x0031 0x0032 0x0034
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
* PL-600
* PL-600 SX
* PL-700
* PL-710
* PL-800
| <!--Vendor ID-->
| <!--Product ID-->0x0033 0x0035 0x0036 0x0037
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Wacom Cintiq 21 UX and Cintiq Partner DTF-720
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Wacom PenTablet Bamboo (MTE), Bamboo Craft (CTH), Bamboo Fun (CTE), Bamboo Pen (CTL) and Bamboo Pen & Touch (CTH)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| Wacom Bamboo Fun Medium CTE-650
|
| 0x0018
|
| {{Maybe|[http://www.a1k.org/forum/showthread.php?t=11432 works on a1k forum]}}
|-
| <!--Description-->Bamboo Fun Small CTE-450 white
| <!--Vendor ID-->
| <!--Product ID-->0x0017
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Wacom Bamboo One CTF-430 V2.0-0 CTF 430/S
| <!--Vendor ID-->0x056A
| <!--Product ID-->0x0069
| <!--Revision-->0200
| <!--Opinion-->{{Maybe|A5 wired air pen and acts like a mouse only}}
|-
| <!--Description-->Wacom Intuos 4
* Small PTK-440 PTK-540
* Medium - PTK-640 - PTK 540WL Wireless -
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested Intuos4 surface sheet was revised in October 2010 to reduce nib wear}}
|-
| <!--Description-->Wacom Intuos 5 Touch
*
* Medium - PTH-650 - USB Wired and Wireless Kit
| <!--Vendor ID-->
| <!--Product ID-->0x0027
| <!--Revision-->
| <!--Opinion-->{{N/A|untested work, however wireless may glitch or drag }}
|-
| <!--Description-->Wacom Intuos Pro Medium - PTH-651 -
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Bamboo Small Pen Tablet - MTE 450 MTE-450A (MTE-450/k) -
| <!--Vendor ID-->0x056A
| <!--Product ID-->0x0065
| <!--Revision-->0116
| <!--Opinion-->{{Maybe|A6 work area - mouse movement but no pen detection except x-axis 2 to -2 and y-axis 2 to -2 - mini usb lead - 4 blue led lit buttons not detected as well as circular touch button?? }}
|-
| <!--Description-->Bamboo Pen CTL 460
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested all Bamboo versions were criticized for the drawing surface's roughness (which got smoother over time), which caused the small pressure-sensitive 'nib' to wear down, and become slanted or scratchy in the same way as pencil lead, albeit more slowly}}
|-
| <!--Description-->Wacom Bamboo Fun CTH-461/S wired
| <!--Vendor ID-->0x056A
| <!--Product ID-->0x00D2
| <!--Revision-->0106
| <!--Opinion-->{{Maybe|A6 size - Pen tracking not working but finger touch works }}
|-
| <!--Description-->Wacom Bamboo Connect Pen Tablet CTL-470 CTL-470K 470-DE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->CTH 470K
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Wacom CTH 480/S wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }} lithium battery for pad -
|-
| <!--Description-->Wacom Intuos Pen Small CTL-480/S CTL 480 K wired
| <!--Vendor ID-->0x056A
| <!--Product ID-->0x030E
| <!--Revision-->0200
| <!--Opinion-->{{No|A5 detected as Intuos PS but not working although the RHS blue led responds to pen on tablet }}
|-
| <!--Description-->CTH 490 PK S Photo - CTH-490CK-S Comic - CTH-490AK-S Art
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested lower hovering height pen nibs wear fast and input lag/responsiveness}}
|-
| <!--Description-->Intuos Pen & Touch Medium - CTH-680 - USB Wired and Wireless Kit work
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Wacom Intuos Pro (PTH-660 and PTH-860)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Waltop Media Tablet 10.6"
Genius G-Pen M609
Genius G-Pen M609X
iVista Media Tablet 10.6
Aiptek MediaTablet 10000u
| <!--Vendor ID-->172f:0501
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Slim Tablet 12.1"
| <!--Vendor ID-->0x172F
| <!--Product ID-->0x0034
| <!--Revision-->0x1105
| <!--Opinion-->{{yes|works}}
|-
| <!--Description-->Waltop Media Tablet 12 by 9"
Aiptek HyperPen 12000u T-12000U Tablet Series
Nisis T-12000u USB Tablet Series Version 1.05 (aiptek rebadged)
Trust item #1535
ADESSO Cyber Tablet 12000 Graphic design tablet
iVista Media Tablet 12
PENTAGRAM O'pen Wide P 2003
Genius G-Pen M712
| <!--Vendor ID-->172f:0500, 0x08ca
| <!--Product ID-->0x0010
| <!--Revision-->0105
| <!--Opinion-->{{Yes|detected with Nisis/Aiptek functioning as a tablet, untested with others - Puck (mouse) x axis 0000 to 6000 y axis 0000 to 6000 - stylus (pen) x axis 00000 to 12000 y axis 00000 to 12000 tip pressure 0000 to 1023 - 16 function keys - AAA battery needed for pen and another for the mouse}}
|-
| <!--Description-->Waltop Media Tablet 14.1" v5.1e
Genius G-Pen M714X
Aiptek MediaTablet 14000u WMK-H141
Trust item #15358
Adesso CyberTablet 14000 M14
iVista Media Tablet 14.1
PENTAGRAM O'pen Wide P 2004
| <!--Vendor ID-->0X172f
| <!--Product ID-->0X0500
| <!--Revision-->0114
| <!--Opinion-->{{Yes|detected with Nisis/Aiptek functioning as a tablet - Stylus (Pen) X 16838 Y 16838 Tip Pressure 1023 }}
|-
| <!--Description-->Waltop PID 0038
Genius G-Pen F509
Manhattan 177405
| <!--Vendor ID-->172f:0038
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Waltop PID 0052
Yiynova MSP19
| <!--Vendor ID-->172f:0052
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Waltop Q Pad
Aiptek HyperPen Mini
NGS Flexi Style
VisTablet PenPad
iVistaTablet Q Flex Pad
Bravod Q-PD65-S
Trust Flex Design Tablet (#16937)
| <!--Vendor ID-->172f:0037
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Waltop Sirius Battery Free Tablet
VisTablet Muse
PENTAGRAM Designer P 2700
Princeton PTB-S1BK
| <!--Vendor ID-->172f:0502
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Waltop Slim Tablet 12.1"
Genius G-Pen F610
Trust Slimline Widescreen Tablet (#16529)
VisTablet Original 12"
Adesso CyberTablet Z12
Adesso CT-Z12A
PenPower Tooya Pro
Aiptek Slim 12.1 Inch
Aiptek SlimTablet 600u Premium II
NGS Slim Proguess
iVistaTablet Slim 12.1
PENTAGRAM ThinType P 2006
| <!--Vendor ID-->172f:0034
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Waltop Slim Tablet 5.8"
Genius G-Pen F350
Trust item #16485
VisTablet Mini
iVistaTablet Slim 5.8
| <!--Vendor ID-->172f:0032
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Waltop Venus S Tablet
Trust eBrush Widescreen Tablet (#17939)
| <!--Vendor ID-->172f:0503
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Aiptek GmBH MediaTablet Ultimate II - 16:10 Professional Graphic Tablet Model 1400U
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Hanvon Beijing HanWang HW Micro Drawing Tablet ET0504U
| <!--Vendor ID-->0x0b57
| <!--Product ID-->0x8030
| <!--Revision-->01111
| <!--Opinion-->{{No|does not work - recognised as an HID mouse - no tablet extensions detected}}
|-
| <!--Description-->KYE EasyPen 340, Genius EasyPen 340
| <!--Vendor ID-->0458:5014
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|untested }}
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| Aiptek Hyper Pen 6000u PC Tablet APT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{No|detected but does not work - win98 era cordless 6in by 4.5in - }}
|-
| <!--Description-->nisis T-8000U APT-2 Aiptek rebadge
| <!--Vendor ID-->0x08CA
| <!--Product ID-->0x0021
| <!--Revision-->
| <!--Opinion-->{{No|A5 detected but no responses }}
|-
| <!--Description-->Acecad Flair II GT-504 Init Fkt Fkt 0x5ab450c0
AIPTEK HyperPen 10000 U
Aiptek HyperPen 10000U,
AIPTEK Slim Tablet U600 Premium II
| <!--Vendor ID-->0x0460
| <!--Product ID-->0x0004
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Ace Cad Enterprise Co., Ltd Tablet - 5x3.75 drawing area
| <!--Vendor ID-->0x0460
| <!--Product ID-->0x0004
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Bosto's
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }} UCLogic Digitizer
|-
| <!--Description-->Adesso CyberTablet Z7, Adesso CyberTablet 12000, Adesso CT-12000A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->UC-Logic / Lapazz WP8060, UC-Logic / Lapazz PF1209, UC-Logic / Lapazz Artistic Tablet 5540, Manhattan 8"x6", Manhattan 3"x4", Manhattan
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested but suspect not working}}
|-
| <!--Description-->DigiPro 5.5×4” Graphics Tablet
Digital Ink Pad (A4 format)
DigiPro WP8060, DigiPro WP5540,
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Genius G-pen
G-Pen 4500
Genius Wizardpen
Genius Mousepen
Genius Easypen i405 M610
Genius PenSketch 9x12, Genius MousePen i608, Genius MousePen 8x6, Genius MousePen / WizardPen 5x4,
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Genius G-Pen F610
Genius G-Pen M610
Genius G-Pen 340 (UC-LOGIC Tablet WP4030U)
Genius G-Pen 450 (UC-LOGIC Tablet WP5540U)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Genius
UC-LOGIC
iBall Tablet PF8060
iBall
Iball Pen Tablet 8060U, Iball Pen Tablet 5540U, Iball Pen Tablet 4030U, Iball Design Tablet PF1209,
NGS CADBOY (UC-LOGIC Tablet WP5540U)
Pentagram
QWare
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Trust TB-3100
Trust TB-5300 Trust 15356
Trust TB-6300 Trust 15357 WP8060U Slimline but bulky with metal backing A5 size
Trust 16486, Trust 16447, Sketch Design Tablet,
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|clashes with usb and crashes AROS }}
|-
| <!--Description-->UC-Logic Tablet WP1062
Aiptek HyperPen 10000U
Monoprice 10X6.25 Inches Graphic Drawing Tablet
Pickle 10x6.25 Inch Graphic Drawing tabletguess
| <!--Vendor ID-->5543:0064
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| [ VTech KidiPhoto Art Studio]
|
|
|
| {{yes|works}}
|-
|}
Tablet has a squared lines of wires which induce a current into the pen which is then detected by the metal grid in the tablet pad. Tablets report pressure (and tilt on expensive models) and are absolute pointing devices (put the pen at the top left and the mouse pointer will go to the top left of the screen). Graphic drawing area, what keys, report rate, resolution lpi lpmm, accuracy, pressure levels (may come from the app), origin position,
Wacom tablets use electromagnetic resonance technology. Since the tablet provides power to the pen through resonant inductive coupling, no power is required for the pointing device. As a result, no batteries are inside the pen (or the accompanying puck), making them lighter and slimmer.
Under the tablet's surface (or LCD in the case of the Cintiq) is a printed circuit board with a grid of multiple send/receive coils and a magnetic reflector attached behind the grid. In send mode, the tablet generates a close-coupled electromagnetic field (also known as a B-field) at a frequency of 531 kHz. This close-coupled field stimulates oscillation in the pen's coil/capacitor (LC) circuit when brought into range of the B-field. Any excess resonant electromagnetic energy is reflected back to the tablet. In receive mode, the energy of the resonant circuit’s oscillations in the pen is detected by the tablet's grid. This information is analyzed by the computer to determine the pen's position, by interpolation and Fourier analysis of the signal intensity.
In addition, the pen communicates information such as pen tip pressure, side-switch status, tip vs. eraser orientation and ID number (to differentiate between different pens, mice, etc.). For example, applying more or less pressure to the tip of the pen changes the value of the pen's timing circuit capacitor. This signal change can be communicated in an analog or digital method. An analog implementation modulates the phase angle of the resonant frequency, while a digital method is communicated to a modulator that distributes the information digitally. The tablet forwards this and other relevant tool information in packets, up to 200 times per second, to the computer.
If you disable (delete all of them except for one that needs to be set to "no action", so that it will not be regenerated as default) the Extra Startup actions, the tablet should remain in relative mouse mode—you will not get pressure information in that mode though. [http://tech.groups.yahoo.com/group/highway_usb/message/2394]}}
=== Handheld Barcode Scanner Readers ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Farsun 9100 barcode scanner 0-12"
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Motorola Symbol LS2203 CMOS
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Tysso
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested Simple}} Code 11, Code 39, Code 93, Code 128, Coda Bar, UPC-A, UPC-E, EAN-8, EAN-13, MSI/Plessey, Telepen, Interleaved 2 of 5, Industrial 2 of 5, Matrix 2 of 5
|-
| <!--Description-->Unitech MS320
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Wasp WCS3905 CCD 1"
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }} Code 93, Matrix 2 of 5, Industrial 2 of 5, Code 39, UCC/EAN-128, ISBN, Code 32, EAN/JAN-8 , EAN/JAN-13 , UPC-A, UPC-E, Codabar, Code 128, Code 11, Interleaved 2 of 5, MSI-Plessey, China Post, IATA 2 of 5, ISSN, UK-Plessey
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Datalogic Touch 90
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Intermec
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Honeywell Metrologic MK9540-32A38
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Motorola LS2208 Laser
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Wasp WWS800 Laser 1D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Datalogic GD4130-BK-C066
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Honeywell 1202G-1USB-5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Motorola / Symbol DS6707-DC20007ZZR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->DataMan 8000 2D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Honeywell Voyager 9520/40
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Metrologic MS1690 USB 2D Barcode Scanner
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }} QR Code GS1 Databar PDF417
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Syscan GM800
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
|}
[http://www.scandit.com/2011/11/04/types-of-barcodes-choosing-the-right-barcode-type-ean-upc-code128-itf-14-or-code39/ Types of Barcode]
<pre>
UPC-A Grocery most common
Code 128
EAN-13 Library Books ISBN & ISSN,
Code 39
Codabar blood bank,
2D barcodes such as
Data Matrix
PDF417e
Maxicode
Aztec
QR Code old Nokia handsets,
MicroPDF417
</pre>
===TouchScreens===
Projected capacitive (PCAP) touch screen product, amongst many options the widely used are I2C and USB
*USB host–device structure which dominates consumer and industrial electronics devices where higher bandwidth needed and user-friendly (multiswipes)
*I2C Inter-Integrated Circuit simple serial standard for LCD display in embedded systems because of cost and low power
*SPI arduino and rpi single boards
We cover the USB here
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| eGalax Touch 4a
| 0eef
| 0001
| 0001
| {{yes|2009 works}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Lilliput HDMI Monitors
669GL-70NP/C/T (7 inch)
869GL-80NP/C/T (8 inch)
FA1011-NP/C/T (10 inch)
FA1046-NP/C/T (10 inch)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Iilyama Prolite Monitors
PROLITE T1513SR-1 (15 inch)
PROLITE T1730 (17 inch)
PROLITE T1713SR-1 (17 inch)
PROLITE T1913SR-1 (19 inch)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Smart Display Company (SDC) Touchscreens TFT Monitors
TOUCH-TFT-TS07 (7 inch)
TOUCH-TFT-TS08 (8 inch)
TOUCH-TFT-TS10 (10 inch)
TOUCH-TFT-TS12 (12 inch)
TOUCH-TFT-TS15 (15 inch)
TOUCH-TFT-TS17 (17 inch)
TOUCH-TFT-TS19W (19 inch wide)
TOUCH-TFT-TS22W (22 inch wide)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->XENARC Monitors 7 inch models
700TSH
700TSU
700TSV
702TSV
705TSV
706TSA
700IDT
MDT-X7000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->XENARC
8 inch models:
800TSV
805TSV
10 inch models:
1020TSV
1026TSA
1040TS
12 inch models:
1200TS
1200TR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Asus VT229H 21.5"
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->CUQI 7" Monitor Touchscreen 1024x600 IPS
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Espresso 15" Portable Touchscreen Display Monitor
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Hannspree HT225HPB 21.5 inch
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->WaveShare 13.3inch HDMI LCD (H) (with case)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
===GPS tracking, running, cycling, biking, walking, hiking, ORIENTEERING, boaters and mapping===
Support for OpenStreetMap but not for Ordnance Survey, Map Pilot or National Geographic's Topo maps data gdb,
Data output supported nmea 0183 V1.5 APA, V1.5 XTE and V2.1 GSA formats, gpx, kml/kmz, tracks from tcx files, geo: URIs,
NMEA0183(which is RS232, voltages range from -15 volts to 15 volts, 4800 baud), or need NMEA sentences connected to your computer
other method that some units support is a special serial cable that actually emits raw RS232 NMEA. These usually take 10->30 volts input, can run the unit, and have full voltage I/O for RS232 (not like spanner mode, which effectively turns the unit into a USB->Serial adapter inside the case).
Equivalent apps - merkator, mapsource,
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Garmin gpsmap 180 GPS/chart plotter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->1992 GARMIN GPS 55 AVD Portable System
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Garmin GPS V
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested - waas pinpoint within 3 metres - nmea - 4AA battery}}
|-
| <!--Description-->Garmin GPS 12 12XL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Garmin Legend C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Garmin eMap
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|possibly through usbmodem rs232 connection nmea 0183 protocol}}
|-
| <!--Description-->Garmin eTrex
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}} rs232 these older units supported it and would provide the stream in either the standard NMEA 0183 format or a proprietary Garmin format.
|-
| <!--Description-->Garmin GPS 75 AVD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Magellan GPS Map 7000 model 45006 (1994)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Magellan GPS Tracker
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Magellan Pioneer Satellite Navigator
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Magellan GPS 300 315 320 Mentor Receiver (2003)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Not for dedicated sat nav units like the Nuvi, TomTom, etc
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->NaviLock NL-402U
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested u-blox 5 SuperSense® chipset with receivers for GPS, GLONASS, Galileo, BeiDou and QZSS}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->GM1-86UB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| U-BLOX UB-6010 GGA,GSA,GSV, RMC and support VTG, GLL, TXT ublox binary and NMEA Command Dynamic Condition }}
|-
| <!--Description-->NAVILOCK GPS NL-602U USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Yes|works via usbmodem.device - ublox ag 6 chipset - 50 channel}}
|-
| <!--Description-->TOPGNSS ton Receiver & Antenna GM702 u-blox 7
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Yes|UBLOX7020 chip design bloc u-blox}}
|-
| <!--Description-->VK-162 G-MOUSE u blox 7
| <!--Vendor ID-->0x1546
| <!--Product ID-->0x01a7
| <!--Revision-->0100
| <!--Opinion-->{{N/A|UBX G70xx with RMC VTG GSV TXT GLL GGA GSA}}
|-
| <!--Description-->VK-172 u-blox 7 G7020-KT gps gnss white pen stick receiver - over 1 inch long
| <!--Vendor ID-->0x1546
| <!--Product ID-->0x01a7
| <!--Revision-->0100
| <!--Opinion-->{{N/A| detected as cdc controlled plug in device - 18x18x2mm patch antenna but can be slow to update - nmea 0183 and ublox binary protocol}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->GlobalSat BU-353 WaterProof USB GPS Receiver
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested SiRF Star III}}
|-
| <!--Description-->Haicom HI-206 USB GPS receiver with RS-232 interfaces, RJ11 and PS/II connector EB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|usb-serial prolific pl2303 detected but GSP3F SiRF Star IV technology not detected or bound}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->BT760Y,
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested Skytraq Venus 5 GPS chipset}}
|-
| <!--Description-->GM-65 USB GPS Receiver
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested Skytraq Venus 6 GPS chipset - 65 channel}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested Skytraq Venus 7 GPS chipset}}
|-
| <!--Description-->GM-65 USB GPS Receiver
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested Skytraq Venus 8 GPS chipset - 167 channels}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Garmin Colorado 300
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}} USB
|-
| <!--Description-->Garmin Geko 101 201
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}} limited waas enabled only - waypoints - aaa battery
|-
| <!--Description-->Garmin Edge 200 bike mount
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Garmin ForeRunner 10 15 watch
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Garmin Montana 600
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Garmin Dakota 10 20
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Garmin Map76s
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Garmin Oregon 450T
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}} USB nmea 0183
|-
| <!--Description-->Garmin eTrex 10
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested - no nmea0183 sentences data stream output - configuration an option to set it to "Garmin" mode, or "Mass Storage" mode. Since the mass storage mode seems to be required for waypoint/track/etc data exchange, the 'Garmin' mode would be for this data stream. Yet putting it in that mode doesnt seem to produce anything.}}
|-
| <!--Description-->Garmin Oregon 650T
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Garmin GPSMAP 64S
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Maybe|untested}}
|-
| <!--Description-->GPSMap 78S or GPSMap 76CSX which has a NMEA port for talking to Nav equipment
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Maybe|untested}}
|-
| <!--Description-->Garmin eTrex Vista Cx GPS Receiver
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested - 2AA battery}}
|-
| <!--Description-->Garmin GPSmap 276c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Magellan 2000 XL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Magellan
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Magellan 3000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Magellan Triton 300
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}} SiRFstarIII™, Antenna Type Multidirectional Patch with WAAS, EGNOS, MSAS support
|-
| <!--Description-->Magellan Triton 400
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
|}
==massstorage.class (MSC/UMS - most cameras and mp3 players)==
=== USB Card Readers ===
{| class="wikitable sortable" width="90%"
! width="15%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="15%" |Installing
! width="15%" |Booting
! width="30%" |Opinion
|-
| A-Tec Model CR-362
|
|
|
| <!--Installing-->
| <!--Booting-->
| {{N/A|untested}}
|-
| [http://www.belkin.com/IWCatProductPage.process?Merchant_Id=&Section_Id=200406&pcount=&Product_Id=179164 Belkin 15 in 1 Card Reader]
|
|
|
| <!--Installing-->
| <!--Booting-->
| {{yes|works}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| Conrad CP440 60 in 1
|
|
|
| <!--Installing-->
| <!--Booting-->
| {{yes|works on a1k forum}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| Genesys Gtech Logic 19 in 1
| 0x05E3
| 0x0710
| High 0200
| <!--Installing-->
| <!--Booting-->
| {{yes|works}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| Hama 19 in 1 Card Reader
|
|
|
| <!--Installing-->
| <!--Booting-->
| {{yes|works}}
|-
| Hama 35 in 1 Card Reader
|
|
|
| <!--Installing-->
| <!--Booting-->
| {{yes|works}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Integral Single Slot SD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Kingston USB 3.0
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Lexar microsd adapter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }} but wider than Sandisk version - could block other slot if below
|-
| Pretec CardDriver
|
|
|
| <!--Installing-->
| <!--Booting-->
| {{no|no driver}}
|-
| Sandisk MicroMate
|
|
|
| <!--Installing-->
| <!--Booting-->
| {{yes|works}}
|-
| <!--Description-->Sandisk MobileMate SD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Sandisk MobileMate Micro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }} has satisfying 'click' when microsd inserted
|-
| <!--Description-->Sandisk MobileMate Duo MicroSD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }} no 'click' insertion uses pressure so future wear and tear issues
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Serena metal cased microsd only
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|Maybe}} hit or miss on quality
|-
| <!--Description-->Serena "Sandisk MobileMate" look-alike
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|Maybe}} hit or miss on quality
|-
| SilverCrest 16in1
|
|
|
| <!--Installing-->
| <!--Booting-->
| {{yes|works}}
|-
| <!--Description-->Transcend
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Transcend P5 8 in 1 TSRDP5K
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Transcend P8 15 in 1 TSRDP8K
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
| Zyxel integralmemory 8 in 1
| 0x0aec
| 0x3260
|
| <!--Installing-->
| <!--Booting-->
| {{no|not detected}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Installing-->
| <!--Booting-->
| <!--Opinion-->{{N/A|untested }}
|-
|}
=== USB Hard Drives ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| Datel MaxDrive
|
|
|
| {{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Inateck 2.5 Inch USB 3.0 Hard Drive Disk Enclosure/ Case (FE2001)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }} Full USB 3.0 port but plastic teeth keeping drive in place can snap
|-
| <!--Description-->Inateck case (FE2002)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }} full USB 3.0 port - updated design
|-
| <!--Description-->Inateck case (FE3001)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }} wider USB 3.0 port and no on/off switch Jmicron JMS578 chipset
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| Iomega Desktop Hard Drive 500GB, 3,5“, USB2.0
|
|
|
| {{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| Samsung
|
|
|
| {{N/A|untested}}
|-
| Samsung
|
|
|
| {{N/A|untested}}
|-
| Samsung T3 SSD
|
|
|
| {{N/A|untested}} USB 3.1 Gen 1 space grey / black metal/ plastic
|-
| Samsung T5 SSD
|
|
|
| {{N/A|untested}} USB 3.1 Gen 2 256GB 512GB alluring blue 1Tb 2Tb black unibody metal
|-
| Samsung
|
|
|
| {{N/A|untested}}
|-
| Seagate
|
|
|
| {{N/A|untested}}
|-
| Seagate
|
|
|
| {{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Toshiba Canvio 1TB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Yes|partition fat32 or sfs to 100GB max - ntfs partitions not detected out of the box - select usb drive in trident prefs and press disable to shutdown}}
|-
| Verbatim 160GB Smartdisk
|
|
|
| {{yes|works }}
|-
| Western Digital USB
|
|
|
| {{N/A|untested}}
|-
| <!--Description-->WD Essential
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->WD Passport
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
|}
=== USB DVD CD ROM Drives ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->12.5mm
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->12.5mm enclosure mini-sata dvd-rw
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested needs sole usb3 port to power it}}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->9.5mm enclosure ECD829 mini-sata dvd-rw with Initio Corporation INIC-1618L SATA
| <!--Vendor ID-->0x13fd
| <!--Product ID-->0x0840
| <!--Revision-->
| <!--Opinion-->{{N/A|untested but probably needs sole usb3 port to power it}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|}
=== USB to NGFF NVMe SDD HDD DVD CD ROM Drives ===
The older Jmicron JMS539B seems to result in massive filesystem corruption given the amount of corrupted content. Prehaps always avoided Jmicron and opted for Asmedia even if it costed a bit more. Realtek seems to be working okay for me generally speaking and newer Jmicron chipsets are less buggy – but evidently not perfect.
From [https://goughlui.com/2025/08/17/psa-validate-your-storage-jmicron-jms583-kioxia-bg4-series-ssd-issue/ thread]
Here is a [https://forums.anandtech.com/threads/stable-nvme-usb-adapter.2572973/ very long thread] that discusses data corruption and stability issues with these bridges. The majority of the posts are complaining of dropouts, hangs and the like, which usually down to either a poor USB 3.x implementation (SuperSpeed connections are very picky as to cables, ports and trace routing) or problematic compatibility. Regardless, the [https://www.legitreviews.com/jmicron-jms583-controller-version-matters-for-portable-usb-drives_219422 JMS583 is known to have several versions] noting that the last revision (C) in that article is a 2021 release which should fix earlier stability and cable quality compatibility issues.
JMS583-STD-Release-v00.02.01.04-Bus Power.bin is the latest JMS583 firmware as of August 2025.
Early firmware RTL9210 seems to have issues as well
* RTL9210B
* JMS583 rev1 with firmware A2 or A3
* RTL9210A
* JMS583 firmware 2.0.9
* Asmedia ASM2362
* RTL9201A
The reference Hardware ID for the JMS583 chipset from JMicron is:
VID_152D&PID_0583&REV_0209
where "VID_152D" identifies a JMicron product;
"PID_0583" is the generation chipset;
"REV_0209" is the firmware version installed.
In the same way, the reference Hardware ID for the RTL9210 from Realtek is:
VID_0BDA&PID_9210&REV_3100
"VID_0BDA" is for a Realtek product, "PID_9210" is referred to the chipset and "REV_3100" to the firmware.
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->ASM1153E / ASM1153 with firmware 140509_A1_82_40 or 141126_A1_EE_82. Both supports UASP and TRIM on USB 3.1 Gen.1 adapter
| <!--Vendor ID-->0x174c
| <!--Product ID-->0x55aa
| <!--Revision-->
| <!--Opinion-->{{maybe|works with sabrent ec-uasp}}
|-
| <!--Description-->ASM235CM Ugreen aluminum bridging the USB3.2 Gen2x1 to Serial ATA host interface
| <!--Vendor ID-->0x174c
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->TI 9261
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->ASM225
| <!--Vendor ID-->0x174c
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->JMicron JMS578 issues USB 3.1 Gen.1 adapter
| <!--Vendor ID-->152d
| <!--Product ID-->0578
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->JMicron JMS576 issues USB 3 to usb-c adapter
| <!--Vendor ID-->152d
| <!--Product ID-->0576
| <!--Revision-->
| <!--Opinion-->{{maybe|orico}}
|-
| <!--Description-->JMS562 JMicron Technology Corp
| <!--Vendor ID-->152d
| <!--Product ID-->0562
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->JMS561U
| <!--Vendor ID-->0x152d
| <!--Product ID-->0x1561
| <!--Revision-->
| <!--Opinion-->{{maybe|works with sabrent ec-uasp}}
|-
| <!--Description-->VL716Q4 Orico black meshed aluminum usb c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Asmedia ASM1053E
| <!--Vendor ID-->0x1B21
| <!--Product ID-->0x55aa
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->ASmedia ASM1051E
| <!--Vendor ID-->0x174c
| <!--Product ID-->0x55aa
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Asmedia ASM1053
| <!--Vendor ID-->0x174C
| <!--Product ID-->0x1536
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Asmedia ASM104x
| <!--Vendor ID-->0x1B21
| <!--Product ID-->0x1042
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Unknown Chinese version
| <!--Vendor ID-->0x0bc2
| <!--Product ID-->0x2312
| <!--Revision-->
| <!--Opinion-->{{maybe|sometimes works}}
|-
| <!--Description-->JMicron N5321 gr
| <!--Vendor ID-->0x152d
| <!--Product ID-->0xa583
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Initio Corp INIC-1618L mini slimline sata 6 + 7 pins to usb2 adapter
| <!--Vendor ID-->0x13FD
| <!--Product ID-->0x0840
| <!--Revision-->0114
| <!--Opinion-->{{maybe|sometimes works mini sata to usb2 detects 201x laptop DVD as MassStorage(CD/DVD) but may need powered USB hub}}
|-
| <!--Description-->Unknown mini sata to usb3 adaptor
| <!--Vendor ID-->0x01F75
| <!--Product ID-->0x0621
| <!--Revision-->0036
| <!--Opinion-->{{maybe|sometimes works mini sata to usb3 detects 201x notebook DVD drive as MassStorage(SCSI) but 5V 1.5Amp needs powered hub to burn }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|}
=== External Floppy ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->[http://techtravels.org/amiga/amigablog/ Amiga Floppy Project]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{no|no driver}}
|-
| <!--Description-->[http://amigakit.leamancomputing.com/catalog/product_info.php?products_id=842 Catweasel Mk4]
| 0xE159
| 0x0001
| 0x00
| {{yes|[http://archives.aros-exec.org/index.php?function=browse&cat=driver/storage works]}}
|-
| <!--Description-->[http://hxc2001.free.fr/floppy_drive_emulator/ HxC Floppy Emulator]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{no|no driver}}
|-
| <!--Description-->[http://www.softpres.org/glossary:kryoflux KyroFlux]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{no|no driver}}
|-
| <!--Description-->Samsung SFD-321U/EP USB Floppy
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{no|no driver}}
|-
| <!--Description-->[http://www.cbmstuff.com/proddetail.php?prod=SCP SuperCard Pro]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->[https://www.facebook.com/groups/greaseweazle Greaseweazle STM hardware], [https://cowlark.com/fluxengine/index.html Greaseweasel support], [https://github.com/keirf/Greaseweazle/wiki software], [https://amigakit.amiga.store/greaseweazle-p-91279.html buy],
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->FL-2501 USB Portable Diskette Drive
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2009 usb - [https://amiga.robsmithdev.co.uk/ Drawbridge] [https://github.com/RobSmithDev/ArduinoFloppyDiskReader software] ribbon cable compat with p/n 19308801-19 and s/n U356244 - model ASM P/N 27l4226 and FRU P/N 05k9283 -
|-
| <!--Description-->Dell Floppy Drive Module USB External 3.5" - Teac FD-05PUB 1.44mb
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2004 usb 1.1
|-
| <!--Description-->USB FLOPPY DISK DRIVE (USB External Floppy Disk)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->[https://github.com/SukkoPera/OpenFlops OpenFlops] with [https://github.com/keirf/flashfloppy FlashFloppy] Gotech clone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->[https://github.com/hmerrett/HenryFlops HenryFlops reworked OpenFlops]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested }}
|-
|}
==ptp.class (PTP and MTP - other cameras and mp3 players)==
=== Cameras ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Canon EOS 20D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2004 }}
|-
| <!--Description-->Canon 350D (also known as the Digital Rebel XT/Kiss Digital N)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2005 DIGIC II processor 8-megapixel }}
|-
| <!--Description-->Canon PowerShot A430 A560
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2006 }}
|-
| <!--Description-->Canon EOS 400D (XTi) digital SLR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2007 }}
|-
| <!--Description-->Canon EOS 1000D also known as Rebel XS
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 10.2mp 720p }}
|-
| <!--Description-->Canon 450D aka Rebel Xsi
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 12.2mp }}
|-
| <!--Description-->Canon PowerShot S90 S95
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009 2010 720p video - 10Mpixel }}
|-
| <!--Description-->Canon Powershot SD960 IS Digtal ELPH
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009 Still Image: Exif 2.2 (JPEG), Movie: MOV (Image: H.264; Audio: Linear PCM) Lithium-ion Battery Pack NB-4L }}
|-
| <!--Description-->Canon EOS 500D aka Rebel
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009 1080p 15.1MP Lithium }}
|-
| <!--Description-->Canon EOS 550D 600D aka Rebel T2i T3i DSLR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2010-2011 1080p 18MP Lithium LP-E8 }}
|-
| <!--Description-->Canon Powershot S100 S110 S120
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011-2013 720p-1080p video 12.1MP and above versions - }}
|-
| <!--Description-->Canon EOS 1100D DSLR Camera aka Rebel T3 SLR, EOS Kiss X50
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 720p 10Mpixels Lithium }}
|-
| <!--Description-->Canon EOS 650D 700D aka Rebel T4i T5i T6i SLR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012-2013 1080p 18Mpixels Lithium LP-E8 articulating flip out twistable screen }}
|-
| <!--Description-->Canon ELPH 300 HS (IXUS 220 HS) 230 100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012 blogging camera }}
|-
| <!--Description-->Canon PowerShot N
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2013 12.1 MP CMOS, DIGIC 5 Wifi Lithium Battery Pack NB-9L }}
|-
| <!--Description-->Canon Powershot G7 X, G7X-II
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014-2016 1080p video 12.1MP and above versions - }}
|-
| <!--Description-->Canon EOS 1300D DSLR Camera aka Rebel T6 SLR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2016 1080p 16Mpixels Lithium }}
|-
| <!--Description-->Canon Powershot G7x G5X
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| G7X flip up and G5X flip out - same batteries - no external microphone input - }}
|-
| <!--Description-->Canon EOS M3 M5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| flip out - same batteries - }}
|-
| <!--Description-->Canon EOS 60D 70D 80D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Canon 6D 7D 8D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|untested}}
|-
| <!--Description-->Canon 5D Mark II III IV DSLR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Canon
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Canon
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Fuji FinePix A850
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->FujiFilm Finepix F100fd
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Fuji FinePix F810
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Fuji xf1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| pocketable exr cmos 12mp }}
|-
| <!--Description-->Fuji xt1 x-t1 x10 x-t10
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 1080p }}
|-
| <!--Description-->Fujifilm x100 x100s x100t
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Fuji xPro1 xPro2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Fuji xt2 / x-t2 x-t20
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 4K video }}
|-
| <!--Description-->Fuji
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Fuji
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|untested}}
|-
| <!--Description-->Fuji
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|untested}}
|-
| <!--Description-->GoPro HERO 3 HERO4 HERO 5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Nikon
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Nikon D100, D60
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2004 Compact flash storage - non interchangeable lenses up to 12.3MP sensor }}
|-
| <!--Description-->Nikon D50, D50x
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2005 storage - 6.1MP sensor }}
|-
| <!--Description-->Nikon D70, D80, D90
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2006 Compact flash storage - 10MP sensor }}
|-
| <!--Description-->Nikon D40, D40x
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2007 storage - 10MP sensor }}
|-
| <!--Description-->Nikon D300, D700
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 storage - 12.3MP sensor }}
|-
| <!--Description-->Nikon D2Xs, D2Hs, D3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2006-2008 storage - sensor }}
|-
| <!--Description-->Nikon D3000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 720p video }}
|-
| <!--Description-->Nikon D5000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2010 720p video unlike D3000 }}
|-
| <!--Description-->Nikon D6000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2010 16mpixel}}
|-
| <!--Description-->Nikon D7000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2010 16.2mp 720p video }}
|-
| <!--Description-->Nikon L26 L27 L28 L29 L31 Coolpix compact cameras
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 720p video - 2 AA - pocket sized }}
|-
| <!--Description-->Nikon D3100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 720p video 14.2mp}}
|-
| <!--Description-->Nikon D5100 DSLR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 16.2mp 720p}}
|-
| <!--Description-->Nikon L810 L820 L830
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012-2014 720p video }}
|-
| <!--Description-->Nikon D4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012 storage - sensor }}
|-
| <!--Description-->Nikon D7100 D7200
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012-2014 up to 24.2mp 1080p video }}
|-
| <!--Description-->Nikon D3200
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012 1080p 24MPixel}}
|-
| <!--Description-->Nikon D5200 D5300
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2013 24.1MP 1080p }}
|-
| <!--Description-->Nikon D800 D600
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 1080p video sd card storage - dust/oil issue at start}}
|-
| <!--Description-->Nikon D3300 DSLR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 24.2MP 1080p }}
|-
| <!--Description-->Nikon D500, a high-performance DX-format (APS-C) DSLR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2016 }}
|-
| <!--Description-->Nikon D3400
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2016 24.2MP 1080p }}
|-
| <!--Description-->Nikon D5500 D5600
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2016-2018 24.1MP 1080p }}
|-
| <!--Description-->Nikon D810 D610
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 1080p video sd card storage }}
|-
| <!--Description-->Nikon D7300
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 4K UHD video }}
|-
| <!--Description-->Nikon D900 D850 D820
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 4k 46MP }}
|-
| <!--Description-->Nikon
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Nikon
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Olympus C-370
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2004 3.2mp }}
|-
| <!--Description-->Olympus Camedia C-725 Ultrazoom
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2004 3mp aa batteries, }}
|-
| <!--Description-->Olympus Evolt E-500
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2005 8mp }}
|-
| <!--Description-->Olympus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Olympus Evolt E-410
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2007 }}
|-
| <!--Description-->Olympus Evolt E-510
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2007 10MP Live MOS sensor with TruePic III processor, }}
|-
| <!--Description-->Olympus E-420
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 10mp, compactflash and xD cards, }}
|-
| <!--Description-->Olympus E-520
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 10mp, compactflash and xD cards, }}
|-
| <!--Description-->Olympus E-620
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009 12.3mp, compactflash, xD and microdrive cards, }}
|-
| <!--Description-->Olympus E-30
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009 }}
|-
| <!--Description-->Olympus E-450
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009 10mp, }}
|-
| <!--Description-->Olympus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Olympus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Pentax * ist DS DSLR camera
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2005 6.1mp }}
|-
| <!--Description-->Pentax K10D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2006 10.2mp APS-C CCD no video and older manual Pentax K-mount lenses}}
|-
| <!--Description-->Pentax K20D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2008 14.6MP APS-C but no video recording mode }}
|-
| <!--Description-->Pentax K30 K-5 II
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2012 16MP full HD (1080p) recording at 24/25/30 fps}}
|-
| <!--Description-->Pentax K-3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 24MP 1080p }}
|-
| <!--Description-->Pentax K-3 II
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2015 24MP }}
|-
| <!--Description-->Pentax K-3 III
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 25.7MP BSI CMOS sensor }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Panasonic Lumix LZ10 LZ20 DMC-LZ30
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 720p video }}
|-
| <!--Description-->Panasonic TZ1 TZ5 TZ9
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Panasonic Lumix GH1 GH2 like the DMC-GH2HEB-K - GH3 DMC-GH3HEB-K
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| Four Thirds (GH2) MFT Micro Four Thirds (GH3) limited to 29mins recording }}
|-
| <!--Description-->Panasonic AF series AF100 AF101 AF102
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Panasonic Lumix DMC-G2 DMC-G3 G5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Panasonic TZ60
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Panasonic DMC LX7 10 LX15
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Panasonic GF7 GX8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Panasonic G80 G85
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| micro 4/3 }}
|-
| <!--Description-->Panasonic GH4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| micro 4/3 - shooting in MOV or MP4 formats recording limited to sd card size but split files because the FAT32 file system only supports files up 4GB in size, which amounts to around 5 minutes of 4K (100mbps) footage - GH4 appears to create 4GB files as a rule, regardless of whether the memory card’s file system supports larger files or not - }}
|-
| <!--Description-->Panasonic GH5 gx80 gx85
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| Effective: 20.3 Megapixel 5184 x 3888 - 2 sd card slots compatible with high-speed, high capacity UHS-II - sd card v rating like the v90 should record at 60MB/s to be compatible with the GH5 in the All-I format - possible file corruption with .mdt files - new firmware 2.0 update, the Panasonic GH5 becomes the first 5K - }}
|-
| <!--Description-->Panasonic FZ2000 FZ2500
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Panasonic
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Samsung
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Samsung WB100 WB1100 WB150 WB2200
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 16MP }}
|-
| <!--Description-->Samsung NX11
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Samsung NX200, NX20, NX1000 and NX210
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 20.3Mp APS-C sized CMOS image sensor }}
|-
| <!--Description-->Samsung
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Samsung
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sanyo Xacti CG65
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sanyo
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sony Alpha DSLR-A100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2005 6.1MP }}
|-
| <!--Description-->Sony Cyber-shot DSC camera models W110 W220 H300 H400
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2007 }}
|-
| <!--Description-->Sony Alpha DSLR-A200
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 10.2MP }}
|-
| <!--Description-->Sony Alpha DSLR-A230
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009 10.2MP }}
|-
| <!--Description-->Sony A290 DSLR Camera
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2010 14.2MP }}
|-
| <!--Description-->Sony Cybershot HX20V HX30V
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 18mp 720p - steady shot unit / optical block can cause buzzing noise and/or jumping image in lcd / viewfinder - dots are dirt and this voids the warranty }}
|-
| <!--Description-->Sony Cybershot HX50V HX60V
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012 20.2MP 1080p - steady shot unit / optical block can cause buzzing noise and/or jumping image in lcd / viewfinder - dots are dirt and this voids the warranty }}
|-
| <!--Description-->Sony A77 A99
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012 }}
|-
| <!--Description-->Sony WX100 WX150 wx220
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012 2014 }}
|-
| <!--Description-->Sony NEX-6 Sony NEX-7
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 16 to 24MP }}
|-
| <!--Description-->Sony NEX-3N Sony NEX-5N
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2013 16MP }}
|-
| <!--Description-->Sony α58 Sony α68
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2013 20.1 MP 2014 24mp }}
|-
| <!--Description-->Sony rx100 mk III
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 20.1MP 1.0-type back-illuminated Exmor R CMOS sensor, often after boot-up, the motor starts running for no reason for first versions' - }}
|-
| <!--Description-->Sony α5000 a5000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 20.1 Megapixel APS-C Exmor APS HD CMOS 1080p Sony E-mount [https://github.com/ma1co/Sony-PMCA-RE hack] using [https://www.youtube.com/watch?v=8M4hR9HiOzM this] }}
|-
| <!--Description-->Sony α6000 a6000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 24MP APS-C sensor }}
|-
| <!--Description-->Sony α7 A7S a7r a7c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 mirror less - more compact }}
|-
| <!--Description-->Sony α77 II, α99 II,
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2015 24.3 MP, 2016 42.4mp }}
|-
| <!--Description-->Sony rx100 mk IV V
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2015 2016 }}
|-
| <!--Description-->Sony RX0 RX zero, RX0 II
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2015 2017 }}
|-
| <!--Description-->Sony α6500 a6500
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2016 24.2MP APS-C sensor 4K }}
|-
| <!--Description-->Sony α7 Alpha 7 II E-mount interchangeable lens mirrorless camera
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2017 24.2mp, }}
|-
| <!--Description-->Sony α7 A7Sii a7r a7c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 mirror less - more compact }}
|-
| <!--Description-->Sony a7 III α77 ILCE7M3/B Full-Frame Mirrorless Interchangeable-Lens Camera
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 24.2mp, }}
|-
| <!--Description-->Sony ZV-1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 24mm optical zoom, }}
|-
| <!--Description-->Sony ZV-1F
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 entry-level vlogging, 1-inch 20.1MP, ultra-wide 20mm f/2 prime lens}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|}
<pre >
Lens Mounts
Canon EF EF-S
Nikon F
Panasonic
Olympus OM
Pentax DA, FA, F, A, M, and K series
Fujifilm X mount
</pre >
<pre >
Sensors
APS-C
S35
Full Frame
43 Four Thirds
M43 MFT Micro four thirds
</pre >
=== Digital Voice Recorder Dictaphone Dictation Machine Handheld ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Olympus VN-7000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested 2011 }}
|-
| <!--Description-->Olympus VN-7200
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|untested 2012 no usb }}
|-
| <!--Description-->Olympus VN-7500
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested 2012 }}
|-
| <!--Description-->Olympus VN-7600
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested 2013 }}
|-
| <!--Description-->Olympus WS-100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested usb}}
|-
| <!--Description-->Olympus VN-7700
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Olympus VN-8600
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Olympus VN-711PC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Olympus VN-712PC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Olympus VN-731PC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Olympus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Olympus WS-811
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested slide out usb-a - aaa battery - ok recordings }}
|-
| <!--Description-->Olympus VN-540PC Olympus VN-541PC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Philips DVT1250
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Sony
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Sony
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Sony
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Sony ICD-UX470
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Sony ICD-UX560
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Sony ICD-UX570
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
|}
=== USB eBooks Readers drm free EPUB version 2.0.1 (2007), 3.0 (2011), 3.1 (2015) or [https://www.w3.org/TR/epub-33/ 3.3 (2024)] [https://github.com/thansen0/sample-epub-minimal epub examples] formats access ===
EPUB file format is an open standard based on XHTML for content and XML for metadata, contained in a zip file archive
PDF v2.0 in 2017, 2009 takeover by ISO Org, 1.7 in 2006 , 1.6 in 2005, 1.4 in 2001, 1.3 in 1999, 1.0 in 1993
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="15%" |Access
! width="30%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Barnes and Noble Nook Simple Touch NST BNRV300
| <!--Vendor ID-->0x2080
| <!--Product ID-->0x0003
| <!--Revision-->
| <!--Access-->when finding the right micro usb cable that works, internal nook memory not accessible but sd card fat32 readable and writable outside
| <!--Opinion-->{{N/A|2011 6in 600x800 e-ink 16 grayscale .jpg}} battery remove sd card and Torx T5 back top for Cameron Sino CS-BNR003SL - USA 1.2.2 md5sum 351e26527e80156183e74be2da2ce89f *nook_1_2_update.zip - 1.2.1 UK fdba3981f7f221cc5143db6329645bc2 *nook_1_2_update.zip - skip registration, Turn on the device, but do NOT start setting it up. Hold down the top right button on the front of the device and slide your finger from left to right across the top of the E Ink screen. A ‘Factory’ button should appear in the top left corner of the screen. Press it. Once in the Factory menu, hold down the top right button on the front of the device and tap the bottom right corner of the screen should now see a ‘Skip Oobe’ button. Tap that and the Nook should finally load the home screen. Poor battery management -
|-
| <!--Description-->Barnes and Noble Nook Simple Touch with Glowlight
*2012 Nook Simple Touch with GlowLight BNRV350
*2013 Nook GlowLight BNRV500
| <!--Vendor ID-->0x2080
| <!--Product ID-->0x0004 0x0007
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|2012 untested }} perform a hard reset: Turn off the nook completely, turn it on, as soon as you see the screen flash begin holding the bottom page turn buttons until the screen flashes with a message asking reset, press the 'n' key twice to start the reset - Poor battery management -
|-
| <!--Description-->Nook Glowlight 4 Plus 7.8-inch screen
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }} Poor battery management -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
*NOOK 1st Edition (2009-2018) BNRZ100
*NOOK Color (2010-2024) BNRV200
*NOOK Tablet (8GB/16GB) (2011-2024) BNTV250A / BNTV250
*NOOK HD (2012-2024) BNTV400
*NOOK HD+ (2012-2024) BNTV600
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Elonex 511EB
| <!--Vendor ID-->045e:ffff
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|2009 untested Preferences->advanced->debug device detection}}
|-
| <!--Description-->[https://jaforeck.wordpress.com/2012/08/05/ready-to-meet-viktor-navorski-gained-access-to-elonex-621ebs-terminal-52/ Elonex 621EB] eBook
| <!--Vendor ID-->0x1f85
| <!--Product ID-->0x1688
| <!--Revision-->
| <!--Access-->unlocked ootb
| <!--Opinion-->{{N/A|2010 untested usb mini charging 6" diagonal eInk Screen - 800 x 600 pixels, 8 Level 166dpi Paperlike screen, Embedded 1GB Flash NAND, full SD Card Slot up to 16GB - WAV, MP3, JPG, PNG, BMP, GIF support and ePub and PDF(with reflow) (TXT, HTML) support}}
|-
| <!--Description-->Elonex 700eb
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|2011 untested adjust screen blanking by menu then settings then device standby, you can then turn it off}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->iRiver Story HD eBook
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }} freescale imx.508 arm mcimx508cvkbb cpu with 2gb samsung nand, m13892aj charging chip, eb07_main_mp1_110321 mobo, mini usb, atheros ar61026 wifi -
|-
| <!--Description-->iRiver Story
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Kobo Rakuten Touch A/B kobo3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Kobo Touch C, Kobo Mini, Kobo Glo N613, Kobo Aura HD N514 N204 kobo4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Kobo Aura, Kobo Aura H2O, kobo5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|2013 6in untested }}
|-
| <!--Description-->Kobo Aura H2O Edition 2 v1, Kobo Glo HD, Kobo Touch 2.0, Kobo Aura ONE N709, Kobo Aura ONE Limited Edition, Kobo Aura Edition 2 v1 N236, kobo6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Kobo Aura H2O Edition 2 v2, Kobo Aura Edition 2 v2, Kobo Nia, Kobo Clara HD, Kobo Forma, Kobo Libra H2O kobo7
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Kobo Elipsa, Kobo Sage kobo8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
*Kobo Libra 2 kobo9, Kobo Clara 2E kobo10, Kobo Elipsa 2E kobo11
*Kobo Libra Colour kobo13, Kobo Clara BW, Kobo Clara Colour kobo12
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Pandigital Personal eReader aka? Papyre 6.2 very similar to BQ Avant Firmware
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2011 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sony PRS 300
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sony PRS 350
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|2009 epub bbeb cbz untested }}
|-
| <!--Description-->Sony PRS-650
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Kindle K1 D00111 - Main Menu=: Settings: Menu=: Device Info shows S/N
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x0002
| <!--Revision-->100
| <!--Access-->256mb
| <!--Opinion-->{{N/A|2007 untested Marvell Xscale PXA255}}
|-
| <!--Description-->Kindle K2, D00511 170-1012-00, D00701 D00801 S11S01B
* k2 means K2 US
* k2i means K2 GW
* dx means KDX US
* dxi means KDX GW
* dxg means KDX Graphite
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x0003
| <!--Revision-->100
| <!--Access-->2gb unless jb
| <!--Opinion-->{{N/A|2010 untested Freescale i.MX31 }} the Kindle is a small computer running Linux 2.6 on an ARM processor
|-
| <!--Description-->AMAZON Kindle D00901 3rd Gen with keyboard - Menu, Settings for S/N and then Menu again to choose Update
* S/N starts B006 means k3g aka K3 3G US
* S/N starts B008 means k3w aka K3 WiFi
* S/N starts B00A means k3gb aka K3 3G UK EU
- debug mode with ;debugON and ~help
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x0004
| <!--Revision-->100
| <!--Access-->{{yes|4Gb internal no access until jailbroken JB}}
| <!--Opinion-->2010 with mobi and azw3 formats only - micro usb 5v 0.85a - freescale i.mx35 ARM soc with 12bit parallel interface with epson e-ink cpu, 256MB synchronous dynamic RAM, 4GB eMMC internal memory only but no sd slot, MC13892 PMIC - atheros wifi 54mbit pci-e a e keyed wifi - ?? later models wm96103 audio codec - display has 2Mbit serial memory ic on ribbon cable with 4bpp inverse grayscale display not touchscreen - 3g module - screen replacement really annoying - 4 test points near T07 = TX RX GND ? - as of 2025, JB v0.13.N, MKK2014, MKK2025, KUAL, KoReader Legacy2025, and maybe later SS v0.47.N, Python 0.14.N, Fonts v5.16.N, USBNet v0.57.N - USB-downloader mode when Vol+ is pressed during startup - Shift + Alt + M for Minesweeper -
|-
| <!--Description-->Amazon Kindle 4th Generation k4 D01100 two buttons, square movement and two buttons at bottom
*B00E
plastic back clipped in [https://www.youtube.com/watch?v=LV1dyNkjjro many places] and strongly taped down to battery cover
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x0005
| <!--Revision-->100
| <!--Access-->2gb unless jb with USB MS, USBMS aka also known as USB MSC or UMS
| <!--Opinion-->{{unk|2012 once back off use Torx T5 to remove battery cover screws - battery glued down S2011-001-A 515-1058-01 DR-A015 MC-265360 - Freescale i.MX508 SOC, 2Gb eMMC storage, 256MiB of LPDDR1, MC13892 PMIC - vendor modified u-boot imximage based on u-boot v2009.08 - USB-downloader mode press the fiveway down button during startup resetmykindle - as of 2025 upgrade firmware from 4.1.x and to 4.1.4, sign into account and copy jb.1.8 bits, mkk-2014, mkk-2025, kual and then uninstall kual, koreader2025 - }}
|-
| <!--Description-->Kindle Touch WiFi (Kindle 5th Gen) D01200 K5, KT
*Once signed into an Amazon Account get S/N under Settings -> Device Options
*B00F Kindle Touch 3G + WiFi (Kindle 5) (U.S. and Canada) [Mostly]
*B011 Kindle Touch WiFi (Kindle 5)
*B010 Kindle Touch 3G + WiFi (Kindle 5) (Europe)
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x0006
| <!--Revision-->100
| <!--Access-->4gb unless jb
| <!--Opinion-->{{unk|2013 touchscreen i.MX508 SOC, 256MiB of LPDDR1 and USB-downloader mode by the SOC microcode when a specific key is pressed during startup: the home button on model D01200 - update firmware 5.3.2 to 5.3.7.3, access account, }}
|-
| <!--Description-->Kindle PaperWhite 3G + WiFi (U.S.) [Mostly] PW
<pre>
B024 Kindle PaperWhite WiFi
B01B Kindle PaperWhite 3G + WiFi (U.S.) [Mostly]
B020 Kindle PaperWhite 3G + WiFi (Brazil)
B01C Kindle PaperWhite 3G + WiFi (Canada)
B01D Kindle PaperWhite 3G + WiFi (Europe)
B01F Kindle PaperWhite 3G + WiFi (Japan)
</pre>
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x0007
| <!--Revision-->100
| <!--Access-->2gb
| <!--Opinion-->{{unk|2013 Freescale i.MX508 }}
|-
| <!--Description-->
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x0008
| <!--Revision-->100
| <!--Access-->2gb
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Kindle PaperWhite 2 (2013) PW2
*B0D4, 90D4 WiFi (U.S., Intl.)
*B05A, 905A WiFi (Japan)
*B0D5, 90D5 3G + WiFi (U.S.) [Mostly]
*B0D6, 90D6 3G + WiFi (Canada]
*B0D7, 90D7 3G + WiFi (Europe)
*B0D8, 90D8 3G + WiFi (Russia)
*B0F2, 90F2 3G + WiFi (Japan)
*B017, 9017 WiFi (4GB) (U.S., Intl.)
*B060, 9060 3G + WiFi (4GB) (Europe)
*B062, 9062 3G + WiFi (4GB) (U.S.) [Mostly]
*B05F, 905F 3G + WiFi (4GB) (Canada)
*B061, 9061 3G + WiFi (4GB) (Brazil)
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x0009
| <!--Revision-->100
| <!--Access-->2gb or 4gb
| <!--Opinion-->{{unk| PW2 uses Freescale/NXP i.MX6 SoloLite }}
|-
| <!--Description-->Kindle Paperwhite 3 PW3 i.e. Kindle 7th gen
*G090G1 (2015) WiFi
*G090G2 (2015) 3G + WiFi (U.S.) [Mostly]
*G090G4 (2015) 3G + WiFi (Mexico)
*G090G5 (2015) 3G + WiFi (Europe, Australia)
*G090G6 (2015) 3G + WiFi (Canada)
*G090G7 (2015) 3G + WiFi (Japan)
*G090KB (2015) WiFi
*G090KC (2015) 3G + WiFi (Japan)
*G090KE (2016) 3G + WiFi (International) White
*G090KF (2016) 3G + WiFi (International) White
*G090LK (2016) WiFi, 32GB (Japan)
*G090LL (2016) WiFi, 32GB (Japan) White
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x000A
| <!--Revision-->100
| <!--Access-->4gb
| <!--Opinion-->{{unk| ease up glued down front bezel rim panel gently, remove 11 screws underneath and lift screen up from bottom end - battery underneath - }}
|-
| <!--Description-->Kindle PaperWhite 4 (2018) PW4
*G000PP, G8S0PP WiFi, 8GB
*G000T6, G8S0T6 WiFi, 32GB
*G000T1 WiFi+4G, 32GB
*G000T2 WiFi+4G, 32GB (Europe)
*G00102 WiFi, 8GB (India)
*G000T3 WiFi+4G, 32GB (Japan)
*G0016T, G8S16T WiFi, 8GB Twilight Blue
*G0016Q, G8S16Q WiFi, 32GB Twilight Blue
*G0016U WiFi, 8GB Plum
*G0016V, G8S16V WiFi, 8GB Sage
*G00103 WiFi, 32GB (India)
*G0016R WiFi, 32GB Plum
*G0016S WiFi, 32GB Sage
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x000B
| <!--Revision-->100
| <!--Access-->8gb or 32gb
| <!--Opinion-->{{unk| Freescale/NXP i.MX6 SoloLite }}
|-
| <!--Description-->Kindle Oasis 2 and 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->8gb or 32gb
| <!--Opinion-->{{unk| NXP i.MX7D }}
|-
| <!--Description-->Kindle Paperwhite 5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->8gb or 16gb
| <!--Opinion-->{{unk| MediaTek MT8110 }}
|-
| <!--Description-->Kindle 11 Scribe
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->8gb or 16gb
| <!--Opinion-->{{unk| MediaTek MT8113 }}
|-
| <!--Description-->Kindle Paperwhite 6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->16gb or 32gb
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Kindle Paperwhite Gen 11 and 12 - Signature
| <!--Vendor ID-->0x1949
| <!--Product ID-->0x0
| <!--Revision-->
| <!--Access-->16Gb or 32Gb
| <!--Opinion-->{{unk|2024 account not blocked, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[https://github.com/Modos-Labs Modos Labs] open source e-ink 60Hz 75Hz caster controller and glider monitor
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Xteink X3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[https://www.xteink.com Xteink X4]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->2025 4.3in 220ppi no touchscreen so [https://www.youtube.com/watch?v=R7RuokaVauo buttons navigation] - 650mAh battery - micro-sd slot up to 512Gb covering epub, txt, and jpg in directories with [https://github.com/crosspoint-reader crosspoint reader] esp32 cpu custom rom firmware using [https://xteink.dve.al/ Flash website] on usb-c but no ecosystem store
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|}
{| class="wikitable sortable" width="90%"
! width="15%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="15%" |Access
! width="30%" |Opinion
|-
| <!--Description-->Amazon D01400 Kindle Fire (1st Generation)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{No|2010 too old }} android 2.3 and touchscreen digitizer fails often, battery SWE P/N 1002000004742 Model KC1 (EU) QP01 (US) 16.28whr, ti 257epl9l omap 4430 with elpida 88164b3pf-10-f88164b3pf or hynix, mobo ??,, DAOKC1MB8F0 Rev F, ti aic3110 audio codec,
|-
| <!--Description-->Amazon Fire 7in X43260 X43Z60 2nd Gen
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2012 untested FireOS Android 4 omap 4460 and PowerVR SGX540}}
|-
| <!--Description-->Amazon Kindle Fire HD (3rd Gen) P48WVB4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2013 untested }}
|-
| <!--Description-->Amazon
*Amazon Fire HD10 (2015)
*Amazon Fire HD8 (2015)
*Amazon Fire HD7 (2015) (5th Generation) 7 inch 8GB SV98LN
*Amazon Fire HD7 (2014)
*Amazon Fire HD6 (2014)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|untested android 5.1 max}}
|-
| <!--Description-->
*Amazon Fire 10 (2017)
*Amazon Fire 8 (2017) 7th Gen 8 inch SX034OT
*Amazon Fire 7 (2017) (7th Generation) 7 inch 16GB (SR043KL)
*Amazon Kindle Fire 7 (7th Generation) 7 inch 8GB WIFI Tablet (SR043KL)
*Amazon Fire HD8 (2016)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| Android 5.1 max 7in screen resolution of 1024 x 600, }}
|-
| <!--Description-->
*Amazon Fire 10/10+ (2021)
*Amazon Fire 8/8+ (2020)
*Amazon Fire 10 (2019)
*Amazon Fire 7 (2019)
*Amazon Kindle Fire 7 9th Gen 16GB M8S26G
*Amazon Fire 8 (2018) 8th Gen 8 inch 32GB L5S83A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| android 9 max}}
|-
| <!--Description-->Amazon
*Amazon Fire HD 10 (2023)
*Amazon Fire Max 11 (2023)
*Amazon Fire 8 (2022)
*Amazon Fire 7 (2022)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| android 11 max}}
|-
| <!--Description-->Amazon Kindle Scribe
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->Amazon
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Minimal Phone, Mudita Kompakt
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| eink }}
|-
| <!--Description-->Bigme B751C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|2022 android untested }}
|-
| <!--Description-->Bigme B7 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->Bigme B6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2025 android based color eink small - 300dpi b/w 150ppi color -}}
|-
| <!--Description-->Bigme
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| e-ink }}
|-
| <!--Description-->Bigme Hibreak Pro, Hisense A9
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| e-ink}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->iFlyTech AINote
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->iFlyTech AINote 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2026 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Meebook
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Onyx Boox Page Palma
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2016 android untested }}
|-
| <!--Description-->Onyx Boox Leaf3C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Onyx Boox Go Color 7
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2023 untested 7in e-ink e-reader android tablet }}
|-
| <!--Description-->Onyx BooxTab Ultra X C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Onyx Boox Note Max Air4 C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Onyx Boox Leaf5C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Onyx Boox Poke6S
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Onyx Boox Go 10.3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Onyx Boox MC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| color e-ink 13.3in }}
|-
| <!--Description-->Onyx Boox Go 10.3 (Gen 2) Lumi
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2026 b/w eink with front light, no EMR annd capacitance pen, }}
|-
| <!--Description-->Onyx Moaan Pantone 6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->reMarkable 1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|2021 untested but subscriptions needed for some features }}
|-
| <!--Description-->reMarkable 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|2023 untested but subscriptions needed for some features }}
|-
| <!--Description-->reMarkable Paper Pro Move
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{N/A|2024 untested but subscriptions needed for some features }}
|-
| <!--Description-->reMarkable 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2026 untested but subscriptions needed for some features}}
|-
| <!--Description-->reMarkable
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Supernote A5 X2 Manta
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2022 }}
|-
| <!--Description-->Supernote A6 X2 Nomad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk|2023 }}
|-
| <!--Description-->Supernote
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Tolino Vision 2 3 4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Tolino Epos2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Viwoods AI Paper and AI Paper Mini
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Access-->
| <!--Opinion-->{{unk| }}
|}
==printer.class - PostScript 3 and internal ghostscript drivers==
As the only printer driver that AROS supports natively is Postscript, our focus is on applications that generally output postscript formatted data for printing purposes and since the general Joe Public finds postscript capable printer very expensive, postscript interpreters (eg ghostscript) have been developed aas a cheaper option which sit in between postscript data streams and non postscript (HP PCL?) printers.
Set up Printer Prefs for Postscript and set the print to file option.
Ghostscript has internal printer drivers
gs -h
and with something like
gs -sDEVICE=stcolor -r300 -sOutputFile=RAM:tempfile gs813:examples/tiger.ps
copytopar ram:tempfile
It checks if in RAM: exists a outputfile (Cinnamon can export to PS postscript) then it sends this via copytopar to the printer. There was only support for parport (parallel) but Terminillis added support for USB and ethernet. A big issue with using ghostscript for drivers is that data has to originate as postscript (.PS) file.
gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=ljet4 -sOutputFile=RAM:tempfile RAM:file.pdf
the ljet4 output device generates PCL
also the pxlmono driver, which generates more generic PXL (PCL 6)
gs -q -sstdout=%stderr -sDEVICE=pswrite -sOutputFile=- -dBATCH -dNOPAUSE -dPARANOIDSAFER testpage-a4.ps > test.pdf
gs -q -sstdout=%stderr -sDEVICE=pxlmono -sOutputFile=- -dBATCH -dNOPAUSE -dPARANOIDSAFER test.pdf > test.pxl
Printers supported by ghostscript...Explanation [http://freebooks.by.ru/view/RedHatLinux6Unleashed/rhl6u151.htm here] or [http://www.gnu.org/software/ghostscript/devices.html here] and [http://pages.cs.wisc.edu/~ghost/doc/printer.htm here]
<pre>
bit cljet5 ljet4d pjxl300 pxlcolor
bitcmyk cljet5c ljetplus pkm pxlmono
bitrgb deskjet nullpage pkmraw stp
bj10e djet500 pbm pksm tiff12nc
bj200 epswrite pbmraw pksmraw tiff24nc
bjc600 faxg3 pcx16 png16 tiffcrle
bjc800 faxg32d pcx24b png16m tiffg3
bmp16 faxg4 pcx256 png256 tiffg32d
bmp16m ijs pcxcmyk pnggray tiffg4
bmp256 jpeg pcxgray pngmono tifflzw
bmp32b jpeggray pcxmono pnm tiffpack
bmpgray laserjet pdfwrite pnmraw uniprint
bmpmono lj5gray pgm ppm x11
bmpsep1 lj5mono pgmraw ppmraw x11alpha
bmpsep8 ljet2p pgnm psgray x11cmyk
cdeskjet ljet3 pgnmraw psmono x11gray2
cdj550 ljet3d pj psrgb x11gray4
cdjcolor ljet4 pjxl pswrite x11mono
cdjmono
</pre>
=== Internal Ghostscript support ===
{| class="wikitable sortable" width="90%"
! width="10%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Postscript Support
! width="10%" |GutenPrint Support
! width="20%" |Hardware Issues
! width="10%" |Running Costs
! width="20%" |Opinion
|-
| Canon BJ10e
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested with Ghostscript drivers }}
|-
| Canon BJ200
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested with Ghostscript drivers }}
|-
| Epson Stylus Color 600 parport inkjet
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{yes|works - internal ghostscript support}}
|-
| <!--Description-->HP Deskjet 500 Parallel Port
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Postscript Support
| GutenPrint Support
| Hardware Issues
| Running Costs
| Opinion
|-
| HP1220C/PS USB Inkjet
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{yes|works - PS3 emulation only}}
|-
| HP 1700PS USB Inkjet
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{yes|works - PS3 emulation only}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Postscript Support
| GutenPrint Support
| Hardware Issues
| Running Costs
| Opinion
|-
| <!--Description-->LJ-III
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested HP PostScript Cartridge Plus (C2089A) a.. Press <ON LINE> (and take machine off line)
b.. Press <Plus & Minus>, and while holding, press <ALT> and <RESET> together and watch the LCD and let go when the desired mode is displayed.}}
|-
| <!--Description-->HP Laserjet 4 4M 4MP (1992)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested PS2 emulation HP 4 with optional ps cartridge - HP 4M and 4M+ built in}}
|-
| <!--Description-->HP Laserjet 4L Parport
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{no|PCL5 HP 4L only - no postscript}}
|-
| <!--Description-->HP Laserjet 5M (1995)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->PS2 emulation
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested you can try the ljet4 for the various lj5 drivers which produce various flavours of PCL. The 4, 4+ and 5 only really had one issue that plagued them, and it's hardly an issue at all. You would get accordian jams at the exit. A lot of people worked through this by pulling the sheet out before it got caught. Easily fixed by opening back door and scrubbing grime off of rubber rollers. }}
|-
| HP Laserjet 5L Parport (1997) (C3906A bk)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->{{N/A}}
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{no|PCL5 support only.}}
|-
| HP Laserjet 5P 6P (1995) (C3906A bk)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested HP 5p, 6p - Less tiny, slightly less slow. They are pretty bullet proof for low volume best to get postscript module though }}
|-
| HP Laserjet 2100 2100N 2100TN (1999)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested PS2 emulation }}
|-
| HP Laserjet 4000 Series Parport (1998)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|PS3 emulation only (4200 and 4600 have issues)}}
|-
| HP Laserjet 4050 Parport (1999)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->PS3 emulation only
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{maybe|works }}
|-
| HP Laserjet 5000 Parallel Port
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->PS3 emulation only
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|}}
|-
| HP LaserJet 6M, 1200, 1300, 2100, 2200, P2050 (and P2055) P3005, M3025, M3027, 3050, 3300, 4000, 4050, 4100, 4200, 4300, M4345, P3005, P3015, P4010, P4410, M5025, M5035, 5100, 5200, 8000, 8100, or 9000 series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->PS3 emulation optional only
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{untested }}
|-
| <!--Description-->HP Color LaserJet 2550, 3700, 4650, 8500 and 8550
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Lexmark Optra C, T, and W series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Xerox Phaser 850, 860
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
|}
=== USB Monochrome ===
{| class="wikitable sortable" width="90%"
! width="10%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Postscript Support
! width="10%" |GutenPrint Support
! width="20%" |Hardware Issues
! width="10%" |Running Costs
! width="20%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Postscript Support
| GutenPrint Support
| Hardware Issues
| Running Costs
| Opinion
|-
| <!--Description-->Brother HL-1270N
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->BRScript
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Brother HL-3070CW Printer USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|BR-Script3 (PS3) untested}}
|-
| <!--Description-->Brother HL5240 HL5240L
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->BRScript (PostScript Level 2)
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Brother HL-7050N
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->BR3
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Brother MFC-7860DW Monochrome B/W BW
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->BR-Script BRScript (PostScript Level 3)
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Brother HL4570CDWT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Epson EPL-6200 Laser Printer USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|cheap to buy but untested - running cost unknown}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Kyocera FS-1370DN
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| HP LaserJet CP1515n USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|cheap to buy but untested - running cost unknown}}
|-
| <!--Description-->Lexmark Optra E312
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->built in?
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
|}
=== USB Color ===
{| class="wikitable sortable" width="90%"
! width="10%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="10%" |Postscript Support
! width="10%" |GutenPrint Support
! width="20%" |Hardware Issues
! width="10%" |Running Costs
! width="20%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Brother hl-3075cw
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->BR-Script 3
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Brother MFC-9120CN
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->BRS3
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->HP Color LaserJet 2500L (2003) USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{maybe|slow printing}}
|-
| HP Color LaserJet 2550L 2550Ln (2004) USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{maybe|slow printing}}
|-
| HP Color LaserJet CP1218, 2605, 3700, 4500, 4600, or 4650 series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{maybe|slow printing}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| Konica Minolta Magicolour 4650EN
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested}}
|-
| Kyocera FS-1010 FS-1010N
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested}}
|-
| Kyocera FS-C5200DN
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested}}
|-
| <!--Description-->Kyocera Mita FS-1030D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->Kyocera FS-C5150DN
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| Lexmark C540n
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested}}
|-
| Lexmark [http://www1.lexmark.com/products/view/Printers/Lexmark%20C780n/catId=cat10006-category&prodId=3907-product C780n]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->{{yes|works PS3 emulation only}}
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
|
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| OKI C3600 Color Laser
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested}}
|-
| <!--Description-->Samsung CLP-315
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->untested
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| Xerox 618x Color Laser
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| {{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Postscript Support-->
| <!--GutenPrint Support-->
| <!--Hardware Issues -->
| <!--Running Costs -->
| <!--Opinion-->{{N/A|untested }}
|-
|}
See [http://www.irseesoft.de/tp_drive7.htm here] for compatibility with TP7 (TurboPrint 7) Last update 2004. Not tested under emulation. Janus-UAE, Emumiga,
OS3.x support via [http://aminet.net/package/comm/tcp/NetPrinter NetPrinter] and [http://www.os4depot.net/index.php?function=browse&cat=driver/printer OS4 drivers] and [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=33955&forum=27#622365 experiences].
usbparallel.device
untested with USB->Centronics - The printer.class is rather 'clever'. It remembers to which unit the printers were connected (until you reboot). So if you first plug in Printer1, it gets unit 0, and Printer2 gets unit 1. If you now remove both printers and replug Printer2, it still will get unit 1 and not 0. This is used not to confuse the programs using the different units (moreover, if some program uses the usbparallel.device unit of an USB printer, and the printer is unplugged, the device unit cannot be freed immediately as the application still keeps it open). Sticking to the same units is generally a good idea I think (and therefore this mechanism is also used with all other classes creating exec.devices).
You may not send a short packet (packet less than maxpktsize == 64) nor zero byte packets until the very last byte of your printout. Otherwise the printer will silently ignore the data you sent. Some printer drivers print very short sequences that never fill the endpoint buffer, so printer ignore them. Bufferize all printer driver writes in the ieee1284.device and send them by epsize packets. So my hppsc2210 works fine with a classic HP560C driver, on a classic A2000 subwayized :)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Beige cream D shape centronics end (Prolific chipset?)
|
|
|
| {{N/A|untested}}
|-
| Belkin F5U002v1 centronics end (chipset?)
|
|
|
| {{N/A|untested}}
|-
| Belkin F5U002VEA v2 centronics end (Prolific PL2305L chipset)
|
|
|
| {{N/A|untested}}
|-
| DYNAMODE USB-C-PP-1284 USB to 36pin (Prolific 2305 chipset)
| 0x067b
| 0x2305
| 0x02
| {{N/A|untested but similar to BAFO below}}
|-
| IOGear GUC1284B
|
|
|
| {{N/A|untested}}
|-
| My-Link (raised ellipse on centronics plastic end) (unknown chipset)
|
|
|
| {{N/A|untested but more expensive }}
|-
| NEWLink (Prolific chipset?)
|
|
|
| {{N/A|untested}}
|-
| Targus PA096E centronics end (chipset?)
|
|
|
| {{N/A|untested}}
|-
| TRENDnet ware TU-P1284
|
|
|
| {{N/A|untested}}
|-
| True PnP (Prolific chipset 2305) cheap 36pin Centronics (series of ridges along both short sides)
| 0x067b
| 0x2305
| 2.00
| {{N/A|untested on BAFO BF-1284 but reports of poor quality and lack of support on other OSs }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| Transparent See Through Blue
|
|
|
| {{N/A|untested but possible poor quality build }}
|-
| Dynamode USB-PARALLEL 25pin female (prolific)
| 0x067b
| 0x2305
| 0x02
| {{N/A|untested}}
|-
| FDL USB to 25pin
|
|
|
| {{N/A|untested}}
|-
| PlusKom USB to 25pin female connector for printer (IEEE 1284)
|
|
|
| {{N/A|untested}}
|-
| QinHeng Electronics (CH340S chipset)
| 0x1a86
| 0x7584
|
| {{N/A|untested curvy sides - flat top }}
|-
| StarTech
|
|
|
| {{N/A|untested}}
|-
| Syba SD-USB-DB25
|
|
|
| {{N/A|untested}}
|-
|}
==rawwrap.class - some old flatbed scanners supported==
Scandal is the MUI frontend to [http://www.ppa.pl/bugtracker/ Betascan Bugtracker] and [http://aminet.net/search?query=betascan Search for Betascan scanner drivers] derived from [http://www.sane-project.org/sane-backends.html sane backends]
[http://www.sane-project.org/sane-backends.html#S-EPSON2 Epson2]
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Expression 1600 1640XL 1680 10000XL
| 0x04b8
| 0x0107
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Prefection 1200U, 1200 Photo,
| 0x04b8
| 0x0104
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Perfection 1240U
| 0x04b8
| 0x010b
| <!--Revision-->
| <!--Opinion-->{{[https://amigaworld.net/modules/newbb/viewtopic.php?topic_id=45760&forum=25 works]|Needs 24V 0.8A psu but in Trident, click on "Classes", then on "rawwrap.class", then on "Configure". There, under "Global", activate the Option "Bind to Vendor/Unknown Interfaces". Now go to the second tab "Default Interface" and select/enter these values:
Default usbraw.device Unit: 0
Exclusive access: Yes
Out NAK Timeout: 20000ms
In NAK Timeout: 20000ms
In Buffer Mode: No buffering
Buffer Size: 36 KB
Short Reads Terminate: Yes
Now click on "Use as Default" and select "Devices" on the left. There, click on your scanner and click on "Class Scan". Now close Trident by clicking on "Save". }}
|-
| Perfection 1640SU Photo
| 0x04b8
| 0x010a
| 0x0104
| {{yes|works, even the transparency unit}}
|-
| Perfection 1650 Photo, 1660 Photo, 3200 Photo
| 0x04b8
| 0x011c
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Perfection 2400 Photo, 2450 Photo
| 0x04b8
| 0x011b
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Perfection 4870 Photo, 4990 Photo,
| 0x04b8
| 0x0128
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Perfection V700 V750 Photo
| 0x04b8
| 0x012c
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Stylus CX2800 2900 3200 3500 3600 3650 3700 3800 3900
Stylus CX4100 4200 3500 4600 4700 4800 4900 500 5100 5200 5300 5400 5900
| 0x04b8
| 0x0802
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Stylus Office BX300F USB
| 0x04b8
| 0x0848
|
| {{yes| works with good scan quality}}
|-
|}
[http://www.meier-geinitz.de/sane/gt68xx-backend/ gt68xx] scanners based on the Grandtech GT-6801 and GT-6816 "System-On-Chip" scanner chipsets
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Artec Ultima 2000 and e+, Trust Flat Scan USB 19200 (ePlus2k.usb / Gt680xfw.usb)
| 0x05d8
| 0x4002
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Genius Colorpage Vivid3x 4x 1200x
| 0x0458
| 0x2011 to 0x201f
| <!--Revision-->
| <!--Opinion-->{{unk| (ccd548.fw)}}
|-
| <!--Description-->Lexmark X70 also X73 [http://subfusion.net/drivers/oslo3071b2.usb OSLO3071b2.usb]
| <!--Vendor ID-->0x043d
| <!--Product ID-->0x002d
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->Medion/Lifetec/Tevion/Cytron MD/LT 9375 and Artec Ultima 2000, MD LT 9385 Gt680xfw.usb
| <!--Vendor ID-->0x05d8
| <!--Product ID-->0x4002
| <!--Revision-->
| <!--Opinion-->
|-
| BearPaw 2448 CS and TA Plus [http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/A2Nfw.usb A2Nfw.usb]
| 0x055f
| 0x021a
| <!--Revision-->
| <!--Opinion-->{{unk|2009 }}
|-
| Mustek BearPaw 1200 CS
| 0x055f
| 0x021e
| <!--Revision-->
| <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/A1fw.usb A1fw.usb])}}
|-
| <!--Description-->Mustek 1200 CU Plus Scanner [http://www.meier-geinitz.de/sane/gt68xx-backend PS1Dfw.usb / SBSfw.usb]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2000 }}
|-
| Mustek ScanExpress 1200 UB plus, Trust Compact Scan USB 19200, ScanMagic 1200 UB Plus
| 0x05d8
| 0x4002
| <!--Revision-->
| <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/sbfw.usb sbfw.usb])}}
|-
| Mustek ScanExpress 1248 UB aka PC-World PC Line PCL-3000
| 0x055f
| 0x021f
| <!--Revision-->
| <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/SBSfw.usb SBSfw.usb])}}
|-
| Mustek BearPaw 2400CS TA aka Goodmans GSC 12/24
| 0x055f
| 0x0218
| <!--Revision-->
| <!--Opinion-->{{unk| (Transparency adapter untested) }}
|-
| BearPaw 2400 CS aka TA Plus
| 0x055f
| 0x0219
| <!--Revision-->
| <!--Opinion-->{{unk| (Transparency adapter) }}
|-
| Packard Bell Diamond 1200 Plus
| 0x055f
| 0x021c or 0x021b
| 0x0
| {{yes|works - [http://www.meier-geinitz.de/sane/gt68xx-backend/ firmware required] but slow usb 1.1 speed with poor quality output (scanner fault not scandal)}}
|-
| Packard Bell Diamond 2400 Plus aka BearPaw 2400 CU Plus [http://www.meier-geinitz.de/sane/gt68xx-backend/ PS2Dfw2.usb firmware rename to PS2Dfw.usb]
| 0x055f
| 0x021d
| 1.00
| {{yes|works slow usb 1.1 speed with ok quality output (scanner fault not scandal)}}
|-
| Plustek OpticPro 1248U
| 0x07B3
| 0x0400 0x0401
| <!--Revision-->
| <!--Opinion-->{{unk| (ccd548.fw)}}
|-
| Plustek OpticSlim 2400
| 0x07b3
| 0x0422
| <!--Revision-->
| <!--Opinion-->{{unk| (cis3R5B1.fw)}}
|-
| Visioneer OneTouch 7300
| 0x04a7
| 0x0444
| <!--Revision-->
| <!--Opinion-->{{unk| (Cis3r5b1.fw)}}
|-
| <!--Description-->Mustek ScanEpress 1200 UB (Plus) clone [http://www.meier-geinitz.de/sane/ use mustek_usb backend]
| <!--Vendor ID-->0x055f
| <!--Product ID-->0x0006
| <!--Revision-->
| <!--Opinion-->{{no| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
Lexmark - needs testing
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Lexmark X1110
|
|
|
| {{N/A|untested}}
|-
| Lexmark X1140
|
|
|
| {{N/A|untested}}
|-
| Lexmark X1150
|
|
|
| {{N/A|untested}}
|-
| Lexmark X1170
|
|
|
| {{N/A|untested}}
|-
| Lexmark X1180
|
|
|
| {{N/A|untested}}
|-
| Lexmark X1185
| 0x043d
| 0x007c
|
| {{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Lexmark X12xx
|
|
|
| {{N/A|untested in USB1.1, not fully tested in USB2.0}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Dell A920
|
|
|
| {{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
HP - no driver
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| HP ScanJet 4100C
| 0x03f0
| 0x0101
|
| {{no|no driver}}
|-
| HP ScanJet 5200C
| 0x03f0
| 0x0401
|
| {{no|no driver}}
|-
| HP ScanJet 62X0C
| 0x03f0
| 0x0201
|
| {{no|no driver}}
|-
| HP ScanJet 63X0C
| 0x03f0
| 0x0601
|
| {{no|no driver}}
|-
| HP
| 0x03f0
| 0x0102, 0x0105, 0x0205, 0x0305, 0x0405
|
| {{no|no driver}}
|-
| HP
| 0x03f0
| 0x0705, 0x0805, 0x0901, 0x0a01
|
| {{no|no driver}}
|-
| HP
| 0x03f0
| 0x1205, 0x1305, 0x2005, 0x2205
|
| {{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
Plustek [http://www.sane-project.org/sane-backends.html#S-PLUSTEK LM983x] - no driver
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Plustek OticPro U12 UT12 UT16 U24 UT24
| 0x07B3
| 0x0010 to 0x0017
|
| {{no|no driver}}
|-
| KYE/Genius Colorpage HR6-V2 HR6A HR7 HR7LE HR6X
| 0x0458
| 0x2008 to 0x2016
|
| {{no|no driver}}
|-
| Hewlett-Packard ScanJet 2100C and 2200C
| 0x03F0
| 0x0505 and 0x0605
|
| {{no|no driver}}
|-
| Mustek BearPaw 1200 and 2400
| 0x0400
| 0x1000 and 0x1001
|
| {{no|no driver}}
|-
| UMAX 3400/3450 and 5400
| 0x1606
| 0x0050, 0x0060 and 0x0160
|
| {{no|no driver}}
|-
| Epson Perfection 1250 and 1260
| 0x04B8
| 0x010f and 0x011d
|
| {{no|no driver}}
|-
| CANON CanoScan N650/656U N1220U D660U N670/676U N1240U LIDE20 LIDE25 LIDE30
| 0x04A9
| 0x2206 to 0x2220
|
| {{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|}
[http://snapscan.sourceforge.net/ SnapScan] - no driver
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Acer Benq 310U, 320U, 340U
| 0x4a5
| 0x0
|
| {{no|no driver}}
|-
| Acer Benq 620U, 620UT, 640U, 640UT
| 0x4a5
| 0x20
|
| {{no|no driver}}
|-
| Acer Benq 1240 3300 4300
| 0x4a5
| 0x020
|
| {{no|no driver}}
|-
| Agfa SnapScan e10 e20 e25 e26 e40 e42 e50 e52
| 0x06bd
| 0x20
|
| {{no|no driver}}
|-
| Epson Perfection 660
| 0x04b8
| 0x0114
|
| {{no|no driver}}
|-
| Epson Perfection 1270 1670
| 0x04b8
| 0x0
|
| {{no|no driver}}
|-
| Epson Perfection 2480 2580
| 0x04b8
| 0x0
|
| {{no|no driver}}
|-
| Epson Perfection 3490 3590
| 0x04b8
| 0x0
|
| {{no|no driver}}
|-
| Mitsubishi
| 0x0
| 0x0
|
| {{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
==hub.class (self-powered and external ac powered hubs)==
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Dynamode USB-H41 4 ports
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Belkin 4 Port
|
|
|
| {{yes|works}}
|-
| Conrad
|
|
|
| {{yes|[http://www.a1k.org/forum/showthread.php?t=11432 works on a1k forum] }}
|-
| DLink DUB-H4 AC Adapter
| 0x05e3
| 0x0608
| High 0200
| {{maybe|WARNING Genesys Logic Hub Broken - Will cause failures with USB}}
|-
| [http://service.targa.co.uk/faq.php?lang_id=2&baseid=178&artdesc=SilverCrest+USB+Hub+2040&artid=760&artpic=silvercrestHUB2040.jpg SilverCrest 4-port slim USB 2.0 HUB - HUB2040 (40775) - Targa GmbH]
| 0x05e3
| 0x0608
| 0901
| {{yes|works Genesys Logic, Inc., [http://service.targa.co.uk/dokumente/USB_HUB_2040_0109_manual_EN.pdf Manual]}}
|-
| Skymaster
| 0x05e3
| 0x0605
| 060B
| {{yes|works}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| No Name active 4-port
| 0x1a40
| 0x0101
| 0111
| {{yes|works}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->Thinkpad USB 3.0 Dock DU9019D1
| <!--Vendor ID-->0x17e9
| <!--Product ID-->0x4302
| <!--Revision-->0014
| <!--Opinion-->{{Maybe|works a bit}} classed as dfu.class with two further USB 2.0 hubs - USB 3.0 ports detected and work (2.0 backwards compatibility) - DisplayLink DL-3900 with VIA VL811 chipset - usb ethernet not working - two dvi not working - 20V psu 2a (40w) with a 5.5 - 2.5mm tip (no bus power) - data through a-b printer/scanner usb lead -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
|}
==Internet==
===rndis.class USB Tethering ===
The rndis class provides support for Ethernet access over Remote NDIS. Most USB based devices should be supported including smartfones.
Before opening Network Prefs, activate USB Tethering on the Smartfon, on Network prefs, type in usbrndis.device and tick "Start Network during system boot" and saved the configuration, the Connection is immediate no reboot is needed.
When restart AROS my Smartphone deactivates the connection and to access the network again, have to reactivate it before starting the browser.
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Alcatel
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes|untested}}
|-
| Huawei U8800
| 0x12d1
| 0x1039
|
| {{yes|works}}
|-
| <!--Description-->Huawei
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes|untested}}
|-
| HTC (Android phone)
| 0x0bb4
| 0x0ffe
|
| {{Yes|any android phone with usb tethering option}}
|-
| <!--Description-->Nokia
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes|untested}}
|-
| <!--Description-->Oppo
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes|untested}}
|-
| <!--Description-->Samsung Galaxy
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
|-
| <!--Description-->iPhone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Microsoft winPhone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|}
===USB → ethernet lan adaptor===
*2002 playstation 2 usb1.1 era - a little support but very old and slow
*2006 wii asix era - a little support but very much miss than hit
*2026 usb0: or eth0: of CDC Ethernet protocol (cdcether) with Ethernet Control Model (ECM) and [https://www.usb.org/document-library/class-definitions-communication-devices-12 others like Wireless Mobile Communication Devices WMC] and later CDC EEM (Ethernet Emulation Model) and NCM (Network Control Model) are USB Communication Device Class (CDC) protocols packing more Ethernet traffic over every USB bundle. For CDC Ethernet - NCM is better than EEM is better than ECM
* USB1.1 Up to 010 meg broadband (1.25MBytes/s) - ADM8511, DM9601 poor speeds
* USB2.0 Up to 400 meg broadband (60MBytes/s) - MCS7830, AX88772 a little especially the 2010 apple version but buy many as very very poor odds of working one
* USB3.0 Over 400 meg broadband (60+MBytes/s) - not supported at the moment
SANA (Standard Amiga Network Architecture) to usb
ADMtek Infineon ADM8511 Pegasus II (USB 1.1 and 10Mbit/s - Sony PlayStation 2 network adapter)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="50%" |Opinion
|-
| 3Com 3c460b
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2001 }}
|-
| Abocom UFE1000 / Abocom DSB650TX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Accton USB320-EC / Accton SpeedStream Ethernet
| 0x083a
| 0x0320
| <!--Revision-->
| {{unk|2002 }}
|-
| AEI USB Fast Ethernet / Allied Telesyn AT-USB100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2002 }}
|-
| ATEN UC-110T
| 0x0557
| 0x4000
|
| {{unk|2001 }}
|-
| BAFO USB To Ethernet Adapter BF-310
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2001 }}
|-
| Belkin F5D5050 v1 1101
| 0x050D
|
| <!--Revision-->
| {{maybe|2002 sometimes works from old amiga.org post which is now removed}}
|-
| Belkin F5D5050 v2 2101
| 0x050D
| 0x0121
| <!--Revision-->
| {{no|2006 does not works}}
|-
| Belkin F5U122-PC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Billionton USB-100 / Billionton USBLP-100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Billionton USBEL-100 / Billionton USBE-100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Compex LinkPort/UE202A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| D-Link DSB-H3ETX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| D-Link DSB-650 / D-Link DSB-650TX / D-Link DSB-650TX-PNA
| 0x2001
| 0x4000
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| D-Link DU-E10 / D-Link DU-E100
| 0x2001
|
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Edimax USB Ethernet Adapter EU-4201
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Elsa AG MicroLink USB2 Lan Ethernet adapter
| 0x05cc
| 0x3000
| <!--Revision-->1.01
| <!--Opinion-->{{unk| }}
|-
| GetNet
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| GIGABYTE GN-BR402W Wireless Router
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Goodway Fellowes USB UE-120 REV:V1 UE120 ADMTek 1011594 HO2419741
| <!--Vendor ID-->0x07a6
| <!--Product ID-->0x0986
| <!--Revision-->0001
| <!--Opinion-->{{maybe|2001 USB Specification 1.1 compliant}}
|-
| GWC Tech USB Ethernet Adapter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Hawking UF100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| HP HN210E / I/O DATA USB ETTX / Kingston KNU101TX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Jinco USB Ethernet Adapter 10/100 Base-T UE-110
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Kouwell USB to Ethernet 588A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Linksys USB10T / TA / TX
| 0x066b
| 0x2202
| <!--Revision-->
| <!--Opinion-->{{unk|untested - possible peg1/peg2}}
|-
| Linksys (Cisco) USB100TX / H1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Logitec LAN-TX/U1 H2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| [http://www.mayflash.com/psps2/ps2024/ps2024.htm Mayflash PS2024] Playstation2 compatible clone of Proxim/Farallon NetLine?
| 0x07a6
| 0x8511
| <!--Revision-->1.01
| <!--Opinion-->{{maybe|works with DHCP router option on old 32bit distros but not on newer 64bit, best to go asixeth apple 2010 but buy many of them as poor success rate i.e. a lottery}}
|-
| Netgear FA101
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Philips CPWUE01/00
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Planet UE-9500
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| PlayStation 2 SCPH-10000 50000 models
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Proxim (formerly Farallon) NetLine USB PN796-650
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Siemens SpeedStream USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| SOHOware NUB100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| SMC EZNET-USB 2202USB/ETH / SMC 2206USB/ETH
| 0x0707
| 0x0100 0x0200 0x0201
| <!--Revision-->
| {{unk|untested but should work very well }}
|-
| Surecom EP-1427X 100/10M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Target USB to 10/100M Fast Ethernet Converter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Trendnet TU-ET100C
| 0x07a6
| 0x8511
| <!--Revision-->0x0
| {{yes| sometimes works well, very stable}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Digitus USB NIC DN-3016-A
| 0x07a6
| 0x8513
| 1.01
| {{unk|untested new chipset }}
|-
| Digitus lanusb ADM8515
| 0x07a6
| 0x8515
| 1.01
| {{unk|untested because new chipset }}
|-
| VE285 usblan ADMtek 8515
| 0x07a6
| 0x8515
| 1.01
| {{no|not working as new chipset }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
Davicom DM9601 eth (USB 1.1 and up to 10Mbit/s)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Davicom USB-100 see clone below
| 0x0a46
| 0x9601
| <!--Revision-->
| <!--Opinion-->{{unk|2001 }}
|-
| [http://wiki.maemo.org/USB_to_ethernet_networking chinese translucent transparent crystal blue] but variants are also found in clear, white and black. Just over 6 cm long.
| 0x0a46
| 0x9601
| 0x0
| {{yes|2002 success can be sporadic so technically okay, but lacking in reliability. Out of 4 tested by me, only 2 worked. One case cracked open. }}
|-
| Corega FEther USB-TXC
| 0x07aa
| 0x9601
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Dynamode USB-NIC-1427-100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Hirose USB-100
| 0x0a47
| 0x9601
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| KY-RS9600
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585358&postcount=12 works] }}
|-
| ShanTou ST268 USB NIC
| 0x0a46
| 0x0268
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| ZT6688 USB NIC
| 0x0a46
| 0x6688
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->ICS Advent DM9601 USB 2.0 10/100M Ethenet Adaptor JP1081B
| <!--Vendor ID-->0x0FE6
| <!--Product ID-->0x9700
| <!--Revision-->0101
| <!--Opinion-->{{No|not working 32bit and 64bit - USB 1.1 10M ethernet}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
|}
MosChip MCS7830 (USB 2)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Digitus DN-10050
| 0x9710
| 0x7830
| <!--Revision-->
| <!--Opinion-->{{unk|2004 }}
|-
| Edimax [http://www.edimax.co.uk/images/Image/datasheet/USB/EU-4206/EU-4206.pdf EU-4206]
|
|
| <!--Revision-->
| <!--Opinion-->{{unk|2005 }}
|-
| Speed Dragon
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| STLabs
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| StarTech Compact USB2105S [http://www.kustompcs.co.uk/acatalog/info_6790.html USB2106S]
| 0x9710
| 0x7830
| <!--Revision-->
| <!--Opinion-->{{unk|2007 }}
|-
| Sunrich Technologies [http://www.st-lab.com/admin/upfile/UploadFile/manual/manual(u-250).zip U-250]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2006 }}
|-
| Syba
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->MCS 7832
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2008 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
|}
* USB2 [https://www.asix.com.tw/en/product/USBEthernet Asix Ethernet] AX88178A, AX88772C, AX88772B, AX88772A (wii), AX88172A
* USB3 AX88179A, AX88179
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| AirLink101 AGIGAUSB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009 AX88172}}
|-
| ATEN UC210T
| 0x0557
| 0x2009
| 0x
| <!--Opinion-->{{unk| AX88172}}
|-
| <!--Description-->Billionton Systems USB2AR
| <!--Vendor ID-->0x08dd
| <!--Product ID-->0x90ff
| <!--Revision-->
| <!--Opinion-->{{No| }}
|-
| <!--Description-->Buffalo LUA-U2-KTX
| <!--Vendor ID-->0x0411
| <!--Product ID-->0x003d
| <!--Revision-->
| <!--Opinion-->{{No| }}
|-
| <!--Description-->corega FEther USB2-TX
| <!--Vendor ID-->0x07aa
| <!--Product ID-->0x0017
| <!--Revision-->
| <!--Opinion-->{{no| }}
|-
| D-Link DUB-E100 up to rev A4
| 0x2001
| 0x1a00
|
| <!--Opinion-->{{No| }}
|-
| <!--Description-->D-Link DUB-E100 rev B1 onwards
| 0x07d1 or 0x2001
| 0x3c05
| <!--Revision-->
| <!--Opinion-->{{Maybe|AX88172 works on Deneb with [http://amigax.com/2010/02/21/usb-ethernet-speed-test-amigaos-4-0-classic/ Amiga OS4 Classic] and [http://www.a1k.org/forum/showthread.php?t=11432 on a1k] }}
|-
| <!--Description-->goodway corp USB gwusb2e
| <!--Vendor ID-->0x1631
| <!--Product ID-->0x6200
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Hawking UF200
| 0x07b8
| 0x420a
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[Linksys USB200M]
| 0x077b
| 0x2226
| <!--Revision-->
| <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585601&postcount=20 works] }}
|-
| <!--Description-->Netgear FA120
| 0x0846
| 0x1040
| <!--Revision-->
| <!--Opinion-->{{N/A|untested 2002 10/100 Rev.B1" is silkscreened on the board of the device populating this entry (S/N: FA12254CB100409, date code 0508). This device may be manuf. by [http://www.cameo.com.tw/ Cameo] "AX88172 L", "F05040157", and "ED3" Chip1 ASIX AX88172 Chip2 Realtek RTL8201BL}}
|-
| <!--Description-->Intellinet
| 0x0b95
| 0x1720
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->JVC MP-PRX1 Port Replicator
| <!--Vendor ID-->0x04f1
| <!--Product ID-->0x3008
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->ST Lab USB Ethernet
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x1720
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->Sitecom LN-029 "USB 2.0 10/100 Ethernet adapter"
| <!--Vendor ID-->0x6189
| <!--Product ID-->0x182d
| <!--Revision-->0
| <!--Opinion-->{{No| }}
|-
| <!--Description-->Surecom EP-1427X-2
| <!--Vendor ID-->0x1189
| <!--Product ID-->0x0893
| <!--Revision-->
| <!--Opinion-->{{No| }}
|-
| <!--Description-->TrendNet TU2-ET100 v2
| 0x07b8
| 0x420a
| <!--Revision-->
| <!--Opinion-->{{Maybe|version 2}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->A-LINK NA1GU
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 88772}}
|-
| <!--Description-->AirLink101 ASOHOUSB Wii
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->AirLive EtherWe-1000U
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->APPLE AX88772 Model No. A1277 MC704LL/A P/N 825-7098-A
| <!--Vendor ID-->0x05ac
| <!--Product ID-->0x1402
| <!--Revision-->
| <!--Opinion-->{{No|2008 usb2, }}
|-
| <!--Description-->APPLE Model No. A1277 (MB442Z/A 0885909217434) MC704ZM/A PN 825-7579-A
| <!--Vendor ID-->0x05ac
| <!--Product ID-->0x1402
| <!--Revision-->
| <!--Opinion-->{{Maybe|2010 model, usb2 and controller AX88772 where prehaps 1in3 units working with owb - really poor odds i.e. a lottery, could be situation where various ethernet phy chipsets are used - press Use in network prefs after Save initial setup typing in usbasixeth.device, }}
|-
| <!--Description-->ASIX AX88772 bulbous casing
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x7720
| <!--Revision-->0x0
| <!--Opinion-->{{maybe|2008 works on 32bit and 64bit though setup can take a few attempts but may have issues with phy ethernet chip changing, }}
|-
| <!--Description-->Datel Wii Lan Adapter DUS0204
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2007 }}
|-
| <!--Description-->EdiMax EU-4207
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 }}
|-
| <!--Description-->Goodway HE2230 Maplin ASIX 88772
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 }}
|-
| <!--Description-->Intec LAN G5626
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 }}
|-
| <!--Description-->LevelOne USB-0202
| 0x0b95
| <!--Product ID-->0x07720
| <!--Revision-->0x
| <!--Opinion-->{{unk|2008 }}
|-
| <!--Description-->LevelOne USB-0301
| 0x0b95
| <!--Product ID-->0x07720
| <!--Revision-->0x
| <!--Opinion-->{{unk|2009 }}
|-
| <!--Description-->Linksys USB200M Rev 2
| <!--Vendor ID-->0x13b1
| <!--Product ID-->0x0018
| <!--Revision-->
| <!--Opinion-->{{maybe|2008 sparsely randomly working AX88772 or with "Sana-II Meter Tool 37.11" network monitoring program, showing continuous "Bad Packet" errors which could means "CRC" errors}}
|-
| <!--Description-->Linksys USB300M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{maybe|2009 AX88772 }}
|-
| <!--Description-->Mayflash W001 or clones Lupo/PEGA S-Wii-0680 light gray rectangular with third of one top 45 degree angled slope
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x7720
| <!--Revision-->0x0
| <!--Opinion-->{{unk| may have randomly changed phy ethernet chips, }}
|-
| <!--Description-->Max Value MVF00446 ASIN B006EG568A
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x7720
| <!--Revision-->0x0
| <!--Opinion-->{{Maybe|Trident prefs recognises as AX88772 sometimes works on 32bit and 64bit}}
|-
| <!--Description-->NEWLink N14050
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->NEWLink Wii-ETH USB2.0
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Nintendo Wii LAN Adaptor 2110566 and clones
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x07720
| <!--Revision-->0x
| <!--Opinion-->{{Maybe|Poseidon recognises as AX88772 with usbasixeth.device sometimes works seems different ethernet phy chips can be matched affecting compatibility}}
|-
| <!--Description-->Nyko Wii Net Connect 87024
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585624&postcount=22 works] }}
|-
| <!--Description-->0Q0 cable ethernet
| <!--Vendor ID-->0x1557
| <!--Product ID-->0x7720
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Plugable USB2-E100 (2009/2010) Bulbous housing
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x7720
| <!--Revision-->0x0
| <!--Opinion-->{{Maybe|Trident prefs recognises it as ax88772A and typing in usbasixeth.device sometimes works}}
|-
| <!--Description-->Sabrent KINAMAX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->SpeedLink SL-3401-SGY
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->TrendNet TU2-ET100 v3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->UGreen 20254 USB2 to 10/100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| AX88772}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Afunta Apple-style White USB2.0 I/O Crest SY-ADA24005 ASIX Electronics Corp. AX88772A Fast Ethernet Adapter
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x772a
| <!--Revision-->0x
| <!--Opinion-->{{no|usbasixeth.device accepted by network prefs but does not work}}
|-
| <!--Description-->Amazon Basics USB 2.0 AX88772A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Digitus DN-10050-1
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x772a
| <!--Revision-->0x0
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Edimax EU-4230
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x772a
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sabrent KINAMAX NT-USB20 AX88772A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description--> AX88772B USB 2.0 to 10/100M
| <!--Vendor ID-->0x0B95
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2010 }}
|-
| <!--Description-->
| <!--Vendor ID-->0x0B95
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->EdiMax EU-4208
| <!--Vendor ID-->0x0B95
| <!--Product ID-->0x772b
| <!--Revision-->0x
| <!--Opinion-->{{No|Detected but not working}}
|-
| <!--Description-->
| <!--Vendor ID-->0x0B95
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->StarTech USB2100 ASIX AX88772C
| <!--Vendor ID-->0x0B95
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->0x0B95
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[https://www.asix.com.tw/en/product/USBEthernet/High-Speed_USB_Ethernet/AX88772D AX88772D]
| <!--Vendor ID-->0x0B95
| <!--Product ID-->0x1790
| <!--Revision-->
| <!--Opinion-->{{unk|2011 }}
|-
| <!--Description-->
| <!--Vendor ID-->0x0B95
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[https://www.asix.com.tw/en/product/USBEthernet/High-Speed_USB_Ethernet/AX88772E AX88772E]
| <!--Vendor ID-->0x0B95
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012 }}
|-
| <!--Description-->
| <!--Vendor ID-->0x0B95
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->AX88178
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2004 }}
|-
| <!--Description-->Plugable USB2-E1000 i.e. USB 2.0 to Gigabit Ethernet 10/100/1000 LAN
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 ASIX AX88178 Controller and Realtek RTL8211CL PHY}}
|-
| <!--Description-->AX88178A USB 2.0 to 10/100/1000M Gigabit Ethernet controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2005 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->AmazonBasics USB3.0 adapter [https://github.com/nothingstopsme/AX88179_178A_Linux_Driver AX88179]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Cable Matters SuperSpeed USB 3.0 RJ45 adapter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Hori Nintendo Switch 1 USB3 ethernet AX88179
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x1790
| <!--Revision-->
| <!--Opinion-->{{no|2017 AX88179 not binding to asixeth.class }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Plugable USB3-E1000
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x1790
| <!--Revision-->
| <!--Opinion-->{{no|2020 ASIX AX88179 not binding to class, USB 3.2 Gen1 to Gigabit Ethernet controller with integrated 10/100/1000Mbps Gigabit Ethernet PHY}}
|-
| <!--Description-->Plugable AX88179 = [https://plugable.com/products/usb3-e1000-deal USB3-E1000] before mid-2023 or USB3-E1000; AX88179A = USBC-E1000 after mid-2023
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 controller is AX88179 phy is ??, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->StarTech USB31000SPTW ax88179
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x1790
| <!--Revision-->
| <!--Opinion-->{{no| AX88179 not binding to asixeth.class, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->StarTech USB31000NDS AX88179 USB-A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->StarTech US1GC301AU AX88179 USB-c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->StarTech US1GC30B2 AX88179A USB-c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->StarTech USB32000SPT AX88179A USB-c Rev 1 (AX88179) Rev 2 (AX88179A)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->USB32000SPT the Lot code sticker will have a bar code accompanied by a 10 digit number. The 5th and 6th digits of this lot code number would signify the revision. (Ex. xxxx02xxxx which would indicate rev. 2)
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->SYBA SY-ADA24029 Gigabit AX88179
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| }} may depend on the PHY chip connected to the controller chipset
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->TP-Link UE306 AX88179
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->TeckNet® Orico UL677G 10/100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->TeckNet® UL688G USB 3.0 10/100/1000 Base-T Ethernet port
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->AX88179 178A
|-
| <!--Description-->Tecknet UL699G
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->TrendNet TU2-ET100 v6
| <!--Vendor ID-->0x07b8
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|no support }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->uGreen 50922 USB3-A to 100/1000 dark grey rounded barrels
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x
| <!--Revision-->
| <!--Opinion-->{{no| ax88179 not binding to asixeth.class, }}
|-
| <!--Description-->UGreen USB3-C to 100/1000
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x1790
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->uGreen CR111 20256 usb3 a black plastic
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| AX88179}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description--> AX88179A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Plugable USB3-E1000 USBC-E1000 after mid-2023 i.e. AX88179A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->StarTech USB31000SPTB
| <!--Vendor ID-->0x0b95
| <!--Product ID-->0x1790
| <!--Revision-->
| <!--Opinion-->{{unk| AX88179A USB-A, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description--> AX88179B
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|}
==USB → SerialPort Converter==
*2002 some support for early revisions of PL2303
*2005 Prolific PL2303H PL-2303X and Pl-2303HX (same usb ids as pl2303) no support
*2025 FTDI 232R [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1135&highlight=232r&rowstart=20 work in progress]
*2026 CDC-ACM i.e. Serial port over USB standard
serialpl2303.class make sure you specify serialpl2303.device or Echo "Test" >SER1:
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| ATEN UC-232A
| 0x0557
| 0x2008
| Full 0x0300
| {{N/A|untested}}
|-
| IOGear GUC232A
| 0x0557
| 0x2008
| Full 0x0110
| {{N/A|untested}}
|-
| Alcatel
| 0x11f7
| 0x02df
|
| {{N/A|untested}}
|-
| BAFO BF-810
| 0x067B
| 0x2303
| 0x0
| {{N/A|untested}}
|-
| Belkin F5U103
| 0x
| 0x
| 0x0
| {{N/A|untested}}
|-
| Davibe SP611
| 0x067B
| 0x2303
| 0x0
| {{N/A|untested}}
|-
| Dcu10
| 0x0731
| 0x0528
|
| {{N/A|untested}}
|-
| Elcom
| 0x056e
| 0x5003
|
| {{N/A|untested}}
|-
| IOData
| 0x04bb
| 0x0a03
| 0x0
| {{N/A|untested}}
|-
| Itegno
| 0x0eba
| 0x1080
|
| {{N/A|untested}}
|-
| Nokia CA42
|
|
|
| {{N/A|untested}}
|-
| Radioshack
| 0x1453
| 0x4026
|
| {{N/A|untested}}
|-
| Ratoc
| 0x0584
| 0xb000
|
| {{N/A|untested}}
|-
| Samsung
| 0x04e8
| 0x8001
|
| {{N/A|untested}}
|-
| Siemens DCA-510
| 0x067B
| 0x2303
| 0x0
| {{N/A|untested}}
|-
| Sitecom CN104
| 0x6189
| 0x2068
|
| {{N/A|untested}}
|-
| Sitecom CN116
| 0x6189
| 0x2068
|
| {{N/A|untested}}
|-
| Some Cut Ma620
| 0x0df7
| 0x0620
|
| {{N/A|untested}}
|-
| Speed Dragon Multimedia MS3303H
|
|
|
| {{N/A|untested}}
|-
| Syntech
|
|
|
| {{N/A|untested}}
|-
| <!--Description-->Tripp
| 0x2478
| 0x2008
|
| {{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Airlink101 AC-USBS
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver }}
|-
| <!--Description-->Belkin F5U103v
| 0x067B
| 0x2303
| 0x0
| {{no|no driver }}
|-
| Dynamode U232-P9
| 0x067B
| 0x2303
| 300
| {{no| no driver [http://koti.mbnet.fi/lonnberg/pl2303x.html linux patch] and using lsusb -v -d 067b:2303 gave bMaxPacketSize as 64 - pl2303x }}
|-
| Konig CABLE-146/2 USB to RS232
| 0x067b
| 0x2303
| 400
| {{no|no driver }}
|-
| MANHATTAN 205146 USB to Serial Converter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver }}
|-
| Sabrent SBT-USC1M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver }}
|-
| <!--Description-->Trendnet TU-59
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver }}
|-
| <!--Description-->Unbranded black case and lead USB 232 Converter
| <!--Vendor ID-->0x067B
| <!--Product ID-->0x2303
| <!--Revision-->0300
| <!--Opinion-->{{No| }}
|-
|}
[http://www.ftdichip.com/index.html Future Technology Devices International Ltd FTDI]-FT232R.class [https://ftdichip.com/software-examples/code-examples/c-builder/ FTProg src], [http://rtr.ca/ft232r/ ft232r src], [https://ftdichip.com/wp-content/uploads/2020/08/DS_FT232R.pdf FT232R datasheet], [],
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->0x0403
| <!--Product ID-->0x6001
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} [https://www.youtube.com/watch?v=1GE-gKgHxZI beware of cheap clones fake with s/n A50285BI SN]
|-
| <!--Description-->Lynx Astro FTDI
| <!--Vendor ID-->0x0403
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} FT232R
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->Sabrent CB-FTDI
| <!--Vendor ID-->0x0403
| <!--Product ID-->
| <!--Revision-->
| {{no|no driver TTL-232R cables use FTDI's [http://n1mm.hamdocs.com/tiki-index.php?page=USB+Interface+Devices FT232RQ ic device] }}
|-
| <!--Description-->Startech.com 1 Port FTDI USB to Serial RS232 DB9M Adapter Cable with COM Retention ICUSB2321F
| <!--Vendor ID-->0x0403
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} FT232RL Chipset
|-
| <!--Description-->StarTech.com 2 Port FTDI USB to Serial RS232 Adapter Cable ICUSB2322F
| <!--Vendor ID-->0x0403
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} FTDI FT2232D Chipset
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} FT232RL is the SSOP-28 and the FT232RQ is the QFN-32 package option
|}
[https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html ch341a.class]
*I2C EEPROMS (3.3V and 5V) compatible and also SPI FLASH memories (3.3V devices) making sure 1.8V is covered
*each having their own [https://winraid.level1techs.com/t/guide-how-to-use-a-ch341a-spi-programmer-flasher-with-pictures/33041 4x2 connection blocks] using [https://github.com/flashrom/flashrom flashrom]
sudo flashrom --programmer ch341a_spi -r backup.bin
sudo flashrom --programmer ch341a_spi -w <new bios name>
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Jiangsu QinHeng Ltd CH341A emulate UART communication, standard parallel port, memory parallel port and synchronous serial (I2C, SPI)
| <!--Vendor ID-->0x1A86
| <!--Product ID-->0x5512
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->QinHeng USB2.0-Serial HL-340
| <!--Vendor ID-->0x1A86
| <!--Product ID-->0x7523
| <!--Revision-->0252
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|}
==simplemidi.class and CAMD==
Currently support includes
* simplemidi.class SimpleMidi maps some keyboard keys to corresponding computer keys as used by music trackers to emulate a musical keyboard
* camdusbmidi.class follows the rules of the m68k implementation of Commodore's CAMD midi specification and usb class compliant
for
* usb host like a computer
* usb device controllers - keyboards, drum machines, djay turntables, grooveboxes, etc
* interfaces - cables or boxes which convert usb to 5pin DIN plug midi
What is needed is a fully class-compliant '''brand name''' USB MIDI keyboard, especially manufactured in the last 10 years are best
*Arturia
*Novation
*M-Audio
*Akai
Plugging this in one of your USB ports, the camd.library will make the keyboard's MIDI IN/OUT ports available in the system.
Then select the keyboard's MIDI IN port (known as a "cluster" in CAMD) for input, and the software instrument's cluster as output
ShowCluster (shows midi ports available in and out)
MidiWatch (usually port usbmidi.in.0 less often usbmidi.out.0) (Ctrl-C to end output stream)
usbmidi.in.0 Message on channel 01, NoteOn 90 39 08 00
usbmidi.in.0 Message on channel 01, NoteOff 80 39 00 00
MidiThru (forwards messages from one port to another)
run >nil: c:midithru usbmidi.out.0 usbmidi.out.2
MidiSendC (sends a middle C to a specific port)
Midi Controller + Sound Module (together aka as a synth) -> Audio Output
The difference between midi and midi over USB is that in old school Midi the transmitter transmits whenever it wants and the receiver always has to be prepared to receive data. Easy to do at the rate of a 1990's modem speed these days.
USB over midi.. turns midi into a polled protocol.. So the USB host (typically the computer) has to ask "do you have anything for me" before the remote will send. If the USB host gets busy doing other things or there is a lot of things on the USB bus to get polled, you can get delays.
For its age midi is still a great protocol for music
* [https://www.usb.org/sites/default/files/midi10.pdf USBIF's "USB Device Class Definition for MIDI Devices" document, version 1.0 from Nov 1, 1999]
* [https://www.usb.org/sites/default/files/USB%20MIDI%20v2_0.pdf MIDI v2.0 from 2020 which AROS still needs, adds support for MIDI 2.0, MIDI-CI, and Universal MIDI Packet]
Nearly all synthesizers now use the 16 MIDI channels available on a MIDI bus in one instrument alone, requiring multiple MIDI busses in a typical setup with more than
one MIDI instrument. In addition, by handling multiple "virtual" cables, USB offers a solution to go beyond MIDI's 16-channel limit.
MIDI data is transferred over USB using 32-bit USB-MIDI Event Packets. These packets provide an efficient method to transfer multiple MIDI streams with fixed length messages. The 32-bit USB-MIDI Event Packet allows multiple "virtual MIDI cables" routed over the same USB endpoint. This approach minimizes the number of required endpoints. It also makes parsing MIDI events easier by packetizing the separate bytes of a MIDI event into one parsed USB-MIDI event.
{| class="wikitable sortable" width="90%"
! width="25%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="15%" |CAMD
! width="30%" |Opinion
|-
| <!--Description-->Computer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{Yes|which acts as USB midi host to get all usb devices talking together}}
|-
| <!--Description-->Hobbytronics usb host standalone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->bomebox
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->raspberry pi with several midi interface(s) and linux scripting
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Kenton MIDI USB Host mk3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}}
|}
{| class="wikitable sortable" width="90%"
! width="25%" | Description
! width="5%" |Vendor ID
! width="5%" |Product ID
! width="5%" |Revision
! width="15%" |CAMD
! width="30%" |Opinion
|-
| <!--Description-->Acorn Instruments Masterkey 49 device
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2018 untested usb powered 5V regulated - similar keybed to keystation 49es but unplug then re-plug the USB cable while it is powered the device might reconnect
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion--> midi keyboard controller
|-
| <!--Description-->Akai SynthStation 25
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2010 - sticky rubber keys - usb
|-
| <!--Description-->Akai MPK Mini Laptop Production Keyboard
| <!--Vendor ID-->0x09e8
| <!--Product ID-->0x007c
| <!--Revision-->0100
| <!--CAMD-->{{Yes|detected and camd usb to use, not tested with apps}}
| <!--Opinion-->2010 25 mini key self powered by mini USB lead - sustain port - no top left corner joystick - tested icaros 2.3 -
|-
| <!--Description-->Akai LPK25 LPK37 LPK49 Laptop Production Keyboard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested }}
| <!--Opinion-->2012 untested velocity sensitive mini keys with synth action - weak mini USB port - latency issues -
|-
| <!--Description-->Akai Professional APC Key 25
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2012
|-
| <!--Description-->Akai MPK49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| untested}}
| <!--Opinion-->2012 untested 49 key 49-key full-sized, semi-weighted keyboard with aftertouch -
|-
| <!--Description-->AKAI Max25 MAX49 control keyboard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested }}
| <!--Opinion-->2014 usb compliant
|-
| <!--Description-->Akai Professional MPK249 MPK261
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2015 USB2 USB-b - full keys semi-weighted aftertouch - midi in out - sustain and peddle port
|-
| <!--Description-->Akai Professional Advance 49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2016
|-
| <!--Description-->Akai MPK Mini MKII MK2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| untested}}
| <!--Opinion-->2017 untested USB2 USB-b midi connection only - 4 way thumb joystick top left - 25 tiny keys - velocity drum pads - plastic build quality -
|-
| <!--Description-->AKAI Professional APC Key 25 MK2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| driver}}
| <!--Opinion-->2017
|-
| <!--Description-->Akai MPK Mini Play
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2021 untested USB2 USB-b midi connection only - synth basic samples - class compliant? - small led display top centre - 25 mini keys - press and hold the "Prog Select" button then use the "Program" knob to assign a MIDI channel -
|-
| <!--Description-->Akai MPK Mini 3 MKIII MK3
| <!--Vendor ID-->0x09E8
| <!--Product ID-->0x1049
| <!--Revision-->0200
| <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - - midi in out untested - }}
| <!--Opinion-->2021 USB2 USB-b midi controller connection no 5pin legacy - small led display top centre - 25 mini keys goofy uneven feel of the akai keyboards - press and hold the "Prog Select" button and press pad 1 to 8 to assign a MIDI channel - tested on AROS One 2.4 usb
|-
| <!--Description-->Akai Force / MPC One
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{Maybe| }}
| <!--Opinion-->
|-
| <!--Description-->Akai Pro MPK Mini Plus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{Maybe| }}
| <!--Opinion-->2023 untested 37 mini keys - class compliant device - usb-b bus powered only with 5pin midi in and out - Shift and Global for Midi Ch -
|-
| <!--Description-->Akai Pro Ableton Push Mk 1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Akai Professional MPC Key 37 49 61 midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| untested}}
| <!--Opinion-->2023 untested USB2 usb-b
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->Alesis Photon PH-25 X25 Midi & USB keyboard/synth
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2005 midi keyboard controller
|-
| <!--Description-->Alesis Q25 Q49 Q61 Q88
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{Maybe| }}
| <!--Opinion-->2014 untested
|-
| <!--Description-->Alesis Coda Pro Portable 88-Key Digital Piano USB MIDI Keyboard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2015
|-
| <!--Description-->Alesis V25 V49 V61 midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| untested}}
| <!--Opinion-->2017
|-
| <!--Description-->Alesis V Mini
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{Maybe| }}
| <!--Opinion-->
|-
| <!--Description-->Alesis VI49 VI61 midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{Maybe| }}
| <!--Opinion-->
|-
| <!--Description-->Alesis VX49 VX61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2016 1 5-pin MIDI input, 1 5-pin MIDI output, 1 USB port,
|-
| <!--Description-->Alesis Q25 Q49 Q61 Mk2 MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2018
|-
| <!--Description-->Alesis Recital 88
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2020
|-
| <!--Description-->Alesis V25 V49 V61 MK2 MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2022
|-
| <!--Description-->Alesis Qmini portable 32-key
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2023
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->audiothingies MicroMonsta
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2016 untested synth -
|-
| <!--Description-->audiothingies MicroMonsta 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2019 synth -
|-
| <!--Description-->Arturia Analog Experience “The Player” USB MIDI Master Keyboard Model APE25
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2010 usb-b bus powered -
|-
| <!--Description-->Arturia MiniLab Mk1
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2013 maybe class complaint
|-
| <!--Description-->Arturia MiniLab MkII Mk2
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2016 maybe class complaint
|-
| <!--Description-->Arturia Keystep 32
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{Maybe| }}
| <!--Opinion-->2016 untested 32 mini keys usb compliant
|-
| <!--Description-->Arturia KeyLab 61 88
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{Maybe| }}
| <!--Opinion-->2017 untested hammer-action Fatar keybed - reset Press and hold Oct + and Oct – buttons then insert the USB cable -
|-
| <!--Description-->Arturia MiniLab mkII
| <!--Vendor ID-->0x1C75
| <!--Product ID-->0x2209
| <!--Revision-->0100
| <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - - midi in out untested - }}
| <!--Opinion-->2017 USB2 usb-b bus power - metal base heavier than most - Shift and press a key to select the MIDI Channel - To reset to original factory, unplug the USB cable, hold down the Oct- and Oct + buttons, plug the USB cable back in and continue to hold the buttons until the pads turn white - need software to change parameters like velocity sensitive assistance -
|-
| <!--Description-->Arturia KeyLab MK2 MKII 61 88
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested }}
| <!--Opinion-->2017 untested hammer-action Fatar keybed
|-
| <!--Description-->Arturia MicroFreak
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2019 hybrid digital/analog synthesis,
|-
| <!--Description-->[https://www.youtube.com/watch?v=PeYIAfn3UMs Arturia Minilab 3] [https://www.youtube.com/shorts/chj1WgMupGw ] [https://www.youtube.com/shorts/FMVdfhzg1Dw ]
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| untested}}
| <!--Opinion-->2020 untested usb-c bus powered - 25 mini keys semi -
|-
| <!--Description-->Arturia Keystep Pro
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2020
|-
| <!--Description-->Arturia MiniLab 3 Mk3
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2022 maybe class complaint
|-
| <!--Description-->Arturia MiniFreak
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2022
|-
| <!--Description-->Arturia KeyLab Essential 49 61 88 mk3
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2023 untested usb-c and 1 midi out - lack of aftertouch -
|-
| <!--Description-->Arturia AstroLab
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2024
|-
| <!--Description-->Arturia KeyLab MK3 MKIII 61 88
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2025 untested hammer-action Fatar keybed
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Behringer UMX61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe|untested}}
| <!--Opinion-->2007
|-
| <!--Description-->Behringer U-Control UMX490 UMX610
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2010
|-
| <!--Description-->Behringer U-Control
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->Behringer Swing 32-Key
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Behringer MOTOR 49 - 49-Key USB/MIDI Master Controller Keyboard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion--> midi keyboard controller
|-
| <!--Description-->Creative EMU Xboard 25 E-MU X-Board 49 61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|untested}}
| <!--Opinion-->2008
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->CME M-Key Mkey 49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2008 stops sending MIDI on a regular basis. The simplest "fix" is to flip it off and on via the power switch at the back
|-
| <!--Description-->CME Ukey U-Key
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2009
|-
| <!--Description-->CME Xkey
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2014 low-profile aluminium full size pressure sensitive with polyphonic aftertouch but keys make too much noise and that they can be too sensitive to velocity - low power draw 25ma
|-
| <!--Description-->CME M-Key 49 V2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2014 simplified version of the U-key Mobiltone
|-
| <!--Description-->CME XKEY AIR 37
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2019
|-
| <!--Description-->cme xkey 37 le
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2020
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{ | }}
| <!--Opinion-->
|-
| <!--Description-->Donner Spaceline DMK-25 Donnerdeal Rantion
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Donner DMK25 PRO
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion--> 25 mini velocity keys with limited aftertouch - usb-c powered - 8 drum pads - 3.5mm "midi out" socket -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{ | }}
| <!--Opinion-->
|-
| <!--Description-->Elektron Digitakt
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2015 expensive later midi usb class compliant with since 1.5 Update
|-
| <!--Description-->Elecktron Digitone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Elektron Digitone Keys 37-key Digital FM Synthesizer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2018 expensive
|-
| <!--Description-->Elektron Analog Four MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Elektron Octatrak MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{ | }}
| <!--Opinion-->
|-
| <!--Description-->ESI keycontrol
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->ESI keycontrol 49+
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->ESI keycontrol 25xt
| <!--Vendor ID-->0x2702
| <!--Product ID-->0x2702
| <!--Revision-->0100
| <!--CAMD-->{{Yes|detected and usb driver working}}
| <!--Opinion-->2011 bus powered or 12v 0.5a dc in - metal base so heavy - midi out 5pin - sustain pedal port - modulation slider - rubber coated knobs becomes sticky -
|-
| <!--Description-->ESI keycontrol 49xt 61xt 88xt
| <!--Vendor ID-->0x2702
| <!--Product ID-->
| <!--Revision-->0100
| <!--CAMD-->{{Yes|detected}}
| <!--Opinion-->2011 12v 0.5a center pin +ve external psu required - USB i/o and 1 legacy 5pin out - full sized keys - heavy aluminium case keyboard metal base -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion-->
|-
| <!--Description-->Evolution MK-125 MK-149
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2000 9v
|-
| <!--Description-->Evolution MK-225C MK-249C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2003 9v
|-
| <!--Description-->Evolution USB/Midi Controller MK-425C MK-449C MK-461C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|25, 49, 61 keys - }}
| <!--Opinion-->2006 9V or 12V -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi keyboard controller
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->IK Multimedia iRig Keys Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2014 37 full keys
|-
| <!--Description-->IK Multimedia iRig Keys Pro Mobile
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2014 25 or 37 mini keys
|-
| <!--Description-->IK Multimedia iRig Keys 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2020 mini velocity keys no aftertouch -
|-
| <!--Description-->IK Multimedia iRig Keys 2 PRO
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2020 full velocity keys no aftertouch -
|-
| <!--Description-->IK Multimedia iRig Keys
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion-->
|-
| <!--Description-->Kawai VPC 1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion--> weighted keys - heavy build -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Keith McMillen Instruments K-Board
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion--> omni class compliant to all channels? each keypad makes them velocity, pressure, and location sensitive but not really suited for piano playing
|-
| <!--Description-->Keith McMillen BopPad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion--> omni class compliant to all channels?
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion-->
|-
| <!--Description-->Korg NanoKontrol 1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->mini usb
|-
| <!--Description-->Korg Prophecy
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->KORG microKONTROL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2010
|-
| <!--Description-->Korg microKEY
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| untested}}
| <!--Opinion-->2011 velocity-sensitive Natural Touch keys but joystick is an alternative to the common pitch/modulation wheel design - power draw -
|-
| <!--Description-->Korg nanoKey nanoPad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2011
|-
| <!--Description-->Korg Taktile
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Korg microKEY2 25 37 49 61 USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|2015 untested}}
| <!--Opinion-->2015 USB powered - semi weighted -
|-
| <!--Description-->Korg MiniList
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Korg MinKey nanoPad nanoPad 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Korg Nautilus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2024
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi keyboard controller
|-
| <!--Description-->Kurzweil PC3 7 series - Artis 7
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->fatar TP-8 semi-weighted action
|-
| <!--Description-->Kurzweil PC1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Kurzweil PC3 A8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion-->
|-
| <!--Description-->Line 6 Mobile keys 25
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2006
|-
| <!--Description-->Line 6 POD Studio KB37
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2006
|-
| <!--Description-->Line 6 Tone Port KB37
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2007
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->Midiman (later M-Audio) Oxygen8 Ozone Ozonic 25 32
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no|not class compliant - untested 5pin legacy }}
| <!--Opinion-->2002 2004 untested - 25 full keys - slider/fader to left of lcd display -
|-
| <!--Description-->m-audio oxygen keystation (61 key)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2004
|-
| <!--Description-->M-Audio eKeys 37
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2005
|-
| <!--Description-->M-Audio Axiom 25, 49, 61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2006 bus powered and 12v psu - if sliders/faders are on right - legacy midi 5pin - chunky unit -
|-
| <!--Description-->M-Audio Oxygen 8v2, 49, 61 (silver)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2006 full size velocity sensitive 12v psu - sending random pitchbend info -
|-
| <!--Description-->M-Audio Keystation 37e 49e, 61e MK1 MKI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2006 - ok key action -
|-
| <!--Description-->M-Audio Keystation 37es 49se 61es, 88es MK1 MKI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2008 -
|-
| <!--Description-->M-Audio Oxygen 25/49/61/88 (blue)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2008 [https://m-audio.com/products/view/oxygen-25-legacy advised Class-compliant and GM/GM2/XG SysEx messages] with full size velocity sensitive 12v psu - sending random pitchbend info -
|-
| <!--Description-->M-Audio Axiom 25, 49, 61 (2nd Gen)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2010 semi-weighted mini keys - bus powered and 9v psu for 25/49 and 12v for 61 - if sliders/faders are on left - legacy midi 5pin - chunky unit -
|-
| <!--Description-->M-Audio Axiom Pro 25, 49, 61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2011 poor construction
|-
| <!--Description-->MAudio Axiom AIR 25 M-Audio Axiom Air Mini 32
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2012
|-
| <!--Description-->M-Audio Oxygen 25 III (3rd Gen)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2012 untested - usb only - rubber keys sticky -
|-
| <!--Description-->MAudio Keyrig 49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->M-Audio Keystation Mini 32
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2012 - mini usb - plays a few notes and then stops responding randomly - try plugging it into port 1 or 2 on your pc -
|-
| <!--Description-->M-Audio Keystation 49 MK2 II
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2012 USB port and class compliant
|-
| <!--Description-->M-Audio Keystation 61 MK3 MKIII MIDI keyboard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2015 usb compliant untested
|-
| <!--Description-->M-Audio Oxygen 25 IV
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| untested}}
| <!--Opinion-->2016 choice
|-
| <!--Description-->M-Audio CTRL-49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2017
|-
| <!--Description-->M-Audio ProKeys 88, 88sx
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->M-Audio Keystation Mini 32 MK3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2019 mini usb - some power or incompatibility issue with the native USB ports of the laptop, plugged in a passive USB 2.0 HUB (not USB 3.0, not powered)
|-
| <!--Description-->[https://www.youtube.com/watch?v=3328SvuJsLw M-Audio Oxygen25 MKV]
| <!--Vendor ID-->0x0763
| <!--Product ID-->0x0001
| <!--Revision-->0023
| <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - midi in out untested}}
| <!--Opinion-->2020 25 full size semi keys - USB2 usb-b but no 5pin classic plugs - channel select SHIFT button and CHANNEL on keybed - plastic build - holding down both the Octave + and - for factory reset - more limited in what you can do with it than IV 4th one - tested on AROS One 2.4 usb
|-
| <!--Description-->M-Audio Oxygen Pro 25 49 61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2022 untested semi full keys
|-
| <!--Description-->M-Audio Oxygen Pro Mini
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2023 untested - 32 smaller keys - not endless encoders - usb only -
|-
| <!--Description-->M-Audio Hammer 88
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Moog
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Moog Minitaur
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->M-VAVE SMK-25mini 25key MIDI Control Keyboard Y6I0
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Native Instruments NI Primus A25 JamMate
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2008 not compliant,
|-
| <!--Description-->Native Instruments Maschine MK1 MKI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2009 not compliant uses snd-usb-caiaq module,
|-
| <!--Description-->Native Instruments Komplete Kontrol S88 S61 S49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2012 - weighted keys -
|-
| <!--Description-->Native Instruments Maschine MK2 MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2013 maybe compliant,
|-
| <!--Description-->Native Instruments Maschine Micro Mikro MK2 MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2014 maybe?
|-
| <!--Description-->NI Komplete Kontrol S49 S61 S88 MkII MK2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2017 all MK2 MK3 power up the keyboard using USB, it will set the keyboards MIDI port to computer MIDI only without any option to set it to use the MIDI DIN, meaning you cannot connect the keyboard to hardware and power from USB, you MUST power with the power adapter and physically unplug from any USB connection -
|-
| <!--Description-->Native Instruments Komplete Kontrol A25 A49 A61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2018 maybe compliant,
|-
| <!--Description-->[https://github.com/sikorak666/maschine-mikro-mk3-driver Native Instruments Maschine Micro Mikro Plus MK3 MKIII]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2019
|-
| <!--Description-->Native Instruments Komplete Kontrol M32
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2019 untested 32 smaller keys - no drum pads - USB only -
|-
| <!--Description-->NI Komplete Kontrol S49 S61 S88 MkIII MK3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2023
|-
| <!--Description-->NI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2025
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi keyboard controller
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Neusonik iBoard 4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Nektar Impact LX25+ LX49+ LX61+ LX88+ SE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2017 budget full-size velocity-sensitive synth-action keyboard -
|-
| <!--Description-->Nektar Impact GX49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> USB port -
|-
| <!--Description-->Nektar Panorama P4 P6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> USB & USB Micro B, 5-pin MIDI out, 2 x TRS inputs with 49 semi-weighted, velocity sensitive with aftertouch
|-
| <!--Description-->Nektar SE25 SE49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> mini keys - micro usb bus powered - velocity and sustain button
|-
| <!--Description-->Nektar Panorama P6 61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Nektar Panorama T6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Nord Stage 3 midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> sysex
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Novation ReMote 25 49 61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2003 lhs XY touchpad and the joystick -
|-
| <!--Description-->Novation LaunchKey 25 49 61 88 Mk1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2005 not USB class compliant
|-
| <!--Description-->Novation 49 61 SL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2006 semi-weighted Fatar TP-8 or TP-9 keybed
|-
| <!--Description-->Novation ReMote 25SL 49SL 61SL soft label
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2006 - two long top liquid-crystal display LCD strips - XY touchpad and the joystick -
|-
| <!--Description-->Novation ReMOTE 25LE
| <!--Vendor ID-->0x1235
| <!--Product ID-->0x0004
| <!--Revision-->0001
| <!--CAMD-->{{Yes|detected, usb driver in devs/midi for camd to use}}
| <!--Opinion-->2007 USB-b powered, 9v center pin positive or 6 MN1500 AA batteries - X/Y touchpad and the combined pitch and modulation joystick - no aftertouch but can use both the legacy MIDI OUT and USB port simultaneously
|-
| <!--Description-->Novation Nocturn 49 61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{Unk| }}
| <!--Opinion-->2008 untested sending random pitchbend info
|-
| <!--Description-->Novation 49 61 SL MkII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2009 semi-weighted Fatar TP-8 or TP-9 keybed
|-
| <!--Description-->Novation MiniNova
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2013
|-
| <!--Description-->Novation Impulse 25 49 61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2012 velocity aftertouch‑sensitive semi-weighted keyboards and eight backlit pads - USB, 5-pin MIDI out -
|-
| <!--Description-->Novation Circuit Tracks / Rhythm
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2015 untested
|-
| <!--Description-->Novation LaunchKey 25 49 61 88 MK2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2015 USB class compliant - full keys -
|-
| <!--Description-->Novation Launchpad Mini MK2 MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2016 untested 8x8 buttons with 16 backlit
|-
| <!--Description-->Novation LaunchKey Mini MK2 MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2018 untested - 25 soft mini keys - 2 rotary wheels lhs -
|-
| <!--Description-->Novation LaunchKey 25 37 49 61 88 MK3 MKIII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2020 USB class compliant choice - full keys -
|-
| <!--Description-->Novation LaunchKey Mini MK3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2023 untested - 25 soft mini keys - 2 sliders lhs -
|-
| <!--Description-->Novation 61SL Mk3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi keyboard controller
|-
| <!--Description-->Nymphes Dreadbox
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion--> 6 voice analog synth
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->Oberheim MC 2000 EX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2015 88 keys fully weighted - very heavy -
|-
| <!--Description-->PreSonus ATOM SQ Hybrid MIDI Keyboard/Pad
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->[https://polyend.com/tracker/ Polyend Tracker]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->
|-
| <!--Description-->Roland ED PC-300
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2002 USB MIDI keyboard controller 49-key
|-
| <!--Description-->Roland EDIROL PCR-M30 PCR-M50 PCR-M80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2005
|-
| <!--Description-->Roland Edirol PCR-30 PCR-50 PCR-80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2007 untested 32 key -
|-
| <!--Description-->Roland PC-50 PC-80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2007
|-
| <!--Description-->Roland PCR-500 PCR-800
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2008 61 velocity-sensitive keys with aftertouch
|-
| <!--Description-->Roland A-88 a-49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2013 USB port - weighted keys velocity no aftertouch - class compliant with press FUNCTION so it is lit. Press the key labelled "ADV.", Press the "+" button so it is lit -
|-
| <!--Description-->Roland PC-200 mkII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2014 some had fatar keys
|-
| <!--Description-->Roland MC-707 Groovebox
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2015
|-
| <!--Description-->Roland MC-101
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2015 untested
|-
| <!--Description-->Roland A-500 A500Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2018
|-
| <!--Description-->Roland A-300 A300Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2018
|-
| <!--Description-->Roland JUNO DS, FA, Fantom, JUPITER X / Xm
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2019 (be sure that USB driver is set to "Generic" - requires device rebooting)
|-
| <!--Description-->Roland A-88 a-49 MKii MK2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2020 expensive with USB-c port - hammer-action keyboard weighted keys - Class-compliant if USB-C enables bus power - MIDI 2.0 later -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->ROLI Seaboard RISE 25
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi keyboard controller
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi keyboard controller
|-
| <!--Description-->Samson Graphite 49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Samson Carbon 49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Sequential TAKE 5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Studiologic VMK-161 and VMK-161 Plus Organ version
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->TP-8O action is the unweighted, organ-style waterfall keybed - usb midi in out - 9v psu -
|-
| <!--Description-->Studiologic SL990XP midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Studiologic VMK176 Plus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->USB and midi connectivity
|-
| <!--Description-->Studiologic SL880 midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Studiologic SL73 SL88 Studio midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> hammer-action Fatar TP semi-weighted keys
|-
| <!--Description-->Studiologic Numa Organ 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> 73 key TP-8O action is the unweighted, organ-style waterfall keybed used in nearly all clonewheels
|-
| <!--Description-->Studiologic Numacompact 2/2x, Numa X Piano
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->SubZero CommandKey49 CommandKey25
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->SubZero SZ-MiniCommand Mini-Command USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->SubZero SPC61 MIDI Controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> bus powered - 5 octave
|-
| <!--Description-->SubZero ControlKey49S 49 Key Slim MIDI Controller Keyboard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion-->
|-
| <!--Description-->Synido TempoKey K25
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2023 25 mini keys - usb-c powered
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{maybe| }}
| <!--Opinion-->
|-
| <!--Description-->Worlde Panda
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi keyboard controller
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Yamaha KX8 KX49 KX61
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2008 not compliant
|-
| <!--Description-->Yamaha CMC-PD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2010
|-
| <!--Description-->Yamaha
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2011 not class compliant
|-
| <!--Description-->Yamaha P45B P-45 Digital Piano
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2011 not compliant
|-
| <!--Description-->Yamaha P-115 midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2016 untested weighted keys - USB midi port
|-
| <!--Description-->Yamaha MX49
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2020 should compliant untested
|-
| <!--Description-->Yamaha Montage, CP73/88, YC, MODX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi keyboard controller
|-
| <!--Description-->Yamaha PSR-E353, PSR-E443
PSR-S670, PSR-S770, PSR-S970, PSR-A3000, TYROS-5
NP-12, NP-32
DGX-650, DGX-660
P-105, P-115, P-255
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Yamaha MX49 II V2 Black Blue
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2023
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi keyboard controller
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->DJM V10
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion--> dj
|-
| <!--Description-->Native Instruments Kontrol DJ Pro midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> detected but untested
|-
| <!--Description-->Numark Mixtrack Pro II USB DJ Controller Djay
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->older generation pioneer DDJ-SX2 dj
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|}
{| class="wikitable sortable" width="90%"
! width="20%" | Description
! width="10%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |CAMD
! width="30%" |Opinion
|-
| <!--Description-->Alyseum AL-22 AL22c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Alyseum AL-88 Schneidersladen AL88c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Alyseum U3-88c Midi Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> no CopperLan support Midi network using a UTP Ethernet patch cable)
|-
| <!--Description-->Behringer BCF2000 midi interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->[http://www.behringer.com/EN/home.aspx Behringer] BCR2000 1in 2out
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->Behringer B-CONTROL DEEJAY BCD3000 DJ Mixer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Behringer UMD404 UMD202
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Creative EMU 0404/USB midi interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2006
|-
| <!--Description-->DigiDesign / Focusrite Command 8 Control Surface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2005 supports MIDI continuous controller (CC) and note data. SysEx dumping and loading is also supported
|-
| <!--Description-->Digidesign Digi 002
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2006 firewire only
|-
| <!--Description-->Digidesign Digi 003
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2009 firewire only
|-
| <!--Description-->emagic m4 2x4 AMT8 Unitor 8 Mk2 8x8
| <!--Vendor ID-->0x00d0
| <!--Product ID-->
| <!--Revision-->0x010 0x0103
| <!--CAMD-->{{No| }}
| <!--Opinion-->2000 offers MTS (Midi Time Stamping) - 12v 2a psu centre pos - usb mini with rs232 and rs422 serial ports - 16 channels (8-in / 8-out), this rack-mountable unit -
|-
| <!--Description-->Evolution U-Control UC-16
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| detected}}
| <!--Opinion-->
|-
| <!--Description-->Focusrite Saffire 6 USB 1.1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Guillemot Maxi Studio ISIS Vintage Sound Card MIDI Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|dedicated driver}}
| <!--Opinion-->1998
|-
| <!--Description-->[http://www.ucapps.de/mbhp_usb.html MidiBox] Hardware Platform USB Module
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2001
|-
| <!--Description-->Mackie Control Universal Pro XT with One Two Extenders
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2008 not compliant,
|-
| <!--Description-->M-Audio Audiophile USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2003 not compliant,
|-
| <!--Description-->M-Audio Midisport UNO old version
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2004 not compliant,
|-
| <!--Description-->M-Audio MidiMan 1x1 midi interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2004 [http://sourceforge.net/projects/linux-hotplug/ firmware update]
|-
| <!--Description-->M-Audio Midisport 2x2 yellowy green blue, green or silver chassis plastic box
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|MIDISPORT 2x2 or 4x4 interfaces from previous production series (blue, green or silver chassis) are not class-compliant}}
| <!--Opinion-->2004
|-
| <!--Description-->MAudio Audiosport Quattro USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|dedicated driver}}
| <!--Opinion-->2004 not usb compliant as [http://usb-midi-fw.sourceforge.net/ firmware required and that is buggy],
|-
| <!--Description-->M-Audio UC-33
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2004 not compliant,
|-
| <!--Description-->M-Audio Midisport 1x1 2x2 4x4 Anniversary Edition, black box
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2010 maybe class compliant,
|-
| <!--Description-->Mooer Steep II Multi-Platform USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->[http://www.amiga.org/forums/showthread.php?t=52920 Mark of the Unicorn Motu Fastlane] 2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|[http://www.amiga.org/forums/showpost.php?p=560852&postcount=8 not working on OS4]}}
| <!--Opinion--> not class compliant,
|-
| <!--Description-->Motu Micro Lite 1x1 and MOTU microlite 5x5 USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|dedicated driver}}
| <!--Opinion--> good unit but poor just plug in support and not class compliant - USB2 usb-b -
|-
| <!--Description-->Motu MIDI Express 128 8x8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|dedicated driver}}
| <!--Opinion-->poor support serial port only - offers MTS (Midi Time Stamping) A serial port based MIDI interface or a USB interface without MTS will have a MIDI slop of up to 2ms on record and playback. MTS provides accuracy for record and playback to around .3ms - five times more accurate than serial or non-MTS."
|-
| <!--Description-->MOTU.com MIDI Express XT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|dedicated driver}}
| <!--Opinion-->2008 for many USB should have octocoupled connection to reduce groundloop humm, usually the timing is off
|-
| <!--Description-->MOTU MIDI Timepiece AV
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|dedicated driver}}
| <!--Opinion--> not class compliant is one of the best multi-port MIDI interfaces ever made as USB model connects to the computer as an 8x16 interface
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Native Instruments GmbH Audio 8 DJ, 4 DJ, 2 DJ
| <!--Vendor ID-->0x17CC
| <!--Product ID-->0x
| <!--Revision-->
| <!--CAMD-->{{no|needs dedicated driver}}
| <!--Opinion-->2006 not class compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Qcon
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Roland Edirol UA-100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|did not match to camdusbmidi.class USB audio midi with onboard DSP}}
| <!--Opinion-->1998
|-
| <!--Description-->Roland Corp Edirol UM-2
| <!--Vendor ID-->0x0582
| <!--Product ID-->0x0005
| <!--Revision-->0200
| <!--CAMD-->{{no|is not bound via camdusbmidi.class }}
| <!--Opinion-->1999 not bound to any midi class - 2x2 - tested Aros One USb 2.4
|-
| <!--Description-->Roland Edirol UA-100G
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|detected but not working}}
| <!--Opinion-->1999 USB audio midi with onboard DSP
|-
| <!--Description-->Roland Edirol UM-880 8x8 midi interface
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|detected but not working}}
| <!--Opinion-->2000 under poseidon but could work with run >nil: c:midithru out.0 "EDIROL UM-880.out.2"
|-
| <!--Description-->Roland Edirol UM-1 blue plastic
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{Unk| bound??? via camdusbmidi.class - untested midi in out}}
| <!--Opinion-->2000 UM-1 - 1-in/1-out (16 channels)
|-
| <!--Description-->Roland Edirol UM-1S
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|not working}}
| <!--Opinion-->2000 1-in/1-out (16 channels)
|-
| <!--Description-->Roland Edirol UM-2E
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|not working}}
| <!--Opinion-->2000
|-
| <!--Description-->Roland Edirol UM550
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2001
|-
| <!--Description-->Roland Edirol UM-1X midi interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|do not have the Advanced Driver Switch on them}}
| <!--Opinion-->2001
|-
| <!--Description-->Roland Edirol UM-1SX
| <!--Vendor ID-->0x0582
| <!--Product ID-->0x0052
| <!--Revision-->0200
| <!--CAMD-->{{No|do not have the Advanced Driver Switch on them}}
| <!--Opinion-->2003
|-
| <!--Description-->Roland Edirol Cakewalk UM-2C - 2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2003
|-
| <!--Description-->Roland Edirol Cakewalk UM-1G 1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2004
|-
| <!--Description-->Roland Edirol Cakewalk UM-2G 2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2004
|-
| <!--Description-->[https://github.com/spotify/linux/blob/master/sound/usb/usbquirks.h Roland Edirol UA20 UA-20]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|not working}}
| <!--Opinion-->2004
|-
| <!--Description-->Roland UM-1EX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2005
|-
| <!--Description-->Roland Edirol UM-2EX 2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2005 adds a second MIDI OUT
|-
| <!--Description-->Roland Cakewalk UM-3G - 3x3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2006
|-
| <!--Description-->Roland Cakewalk ua-25excw 1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|detected but not working}}
| <!--Opinion-->2009 not class compliant mode
|-
| <!--Description-->[https://alsa.opensrc.org/Edirol_UA-25EX Roland Edirol UA55 UA-55 Cakewalk UA25 EX]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|detected but not working}}
| <!--Opinion-->2011 not usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Sonuus B2M Bass MIDI Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Sonuus G2M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Steinberg CMC Series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Subzero SZ-MB44
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Swisssonic MIDI1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2012 AmigaOS there is no output at midichannel one and two but if play a midi file there is only output on some channels and if pressed stop the prog freezes or the whole system crashes
|-
| <!--Description-->Teac Tascam US-428 US-422 midi interface
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion--> 2000 not compatible
|-
| <!--Description-->Teac Tascam [http://web.archive.org/web/*/http://www.tascam.com/Products/US-224.html US-224]
| <!--Vendor ID-->0x1604
| <!--Product ID-->0x8004
| <!--Revision-->0100
| <!--CAMD-->{{No| }}
| <!--Opinion--> 2002 does not bind to any class
|-
| <!--Description-->Teac Corp Tascam US-1x2
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->2002
|-
| <!--Description-->Teac Tascam US-122 MKII midi interface
| <!--Vendor ID-->0x0644
| <!--Product ID-->0x8021
| <!--Revision-->0100
| <!--CAMD-->{{No|not detected / binding to camdusbmidi.class on AROS 2.4 usb }}
| <!--Opinion-->2004 detected but not working 2-in/2-out USB two XLR microphone preamps with phantom power for condenser microphones
|-
| <!--Description-->Teac Tascam US-200 US-400 US-600 US-800 US-1200 US-1800
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|no driver}}
| <!--Opinion-->2010 may not be totally usb compliant
|-
| <!--Description-->Yamaha UX-16
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|no driver}}
| <!--Opinion-->2010
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| CAMD
| Opinion
|-
| <!--Description-->Akai EIE and Pro version midi interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2011 dc 6v power - 3 USB hubs, midi in out ,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Alesis I/O2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2007 powered USB hub required, not compliant
|-
| <!--Description-->Alesis IO2 Express
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2010 usb compliant?
|-
| <!--Description-->Alesis IO4 Express
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2010
|-
| <!--Description-->Behringer XTouch
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> psu needed
|-
| <!--Description-->Behringer X-Touch Compact
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2014 maybe usb compliant?
|-
| <!--Description-->Behringer X-Touch Mini
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2014 maybe usb compliant?, usb to 5pin midi interface
|-
| <!--Description-->Behringer U-Phoria UMD404HD UMD202HD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2019 maybe class compliant - volume low,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->CME U2 MIDI Pro 1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> current model
|-
| Creative EMU XMIDI 1X1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2008 early versions with sysex checksum errors
|-
| <!--Description-->Creative E-MU Xmidi 1x1 Tab (V3)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2010 tab version class compliant but report that when transferring 'System Exclusive' messages (SysEx) the unit could not handle the highest data rate leading to data corruption
|-
| Creative EMU XMIDI 2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2008 sysex errors
|-
| <!--Description-->Digidesign Mbox 2 Mini now Avid
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2005 USB powered but not compliant
|-
| <!--Description-->Digidesign Mbox II Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion-->2006 USB powered but not compliant
|-
| <!--Description-->Engl Z7 MIDI Interface (E660/E610/E360/E930)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> guitar?
|-
| <!--Description-->Elektron TurboMidi TM-1 1in 1out
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->ESI MidiTerminal M4U 4x4 midi interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->supposedly class compliant - USB bus powered -
|-
| <!--Description-->ESI MidiTerminal M8U 8x8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->ESI MidiTerminal M4U XL 4x4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> ploytec chipset
|-
| <!--Description-->ESI MidiTerminal M8U XL 8x8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> no hardware routing e.g. x on input 5 to synth y on output 7 - ploytec chipset
|-
| <!--Description-->ESI MidiMate 1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> supposedly class compliant - USB bus powered
|-
| <!--Description-->ESI MidiMate II 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->ESI ROM I/O
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2005 romio version
|-
| <!--Description-->ESI M4U XT
| <!--Vendor ID-->0x2573
| <!--Product ID-->0x0002
| <!--Revision-->0100
| <!--CAMD-->{{Maybe|is bound via camdusbmidi.class AROS One 2.4 - untested midi in out}}
| <!--Opinion-->2010 -
|-
| <!--Description-->ESI M8U XT 8in 8out
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2010 discontinued 2018
|-
| <!--Description-->ESI M8UEX USB3.0
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2018 current model
|-
| <!--Description-->ESI M4U eX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2018 current model
|-
| <!--Description-->ESI MidiMate eX midi interface 1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2016 curent model, well liked and might class compliant??
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->icon midiport 2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->iCON CubeMi 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> class compliant?
|-
| <!--Description-->iConnectivity
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->iConnectivity mio
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2010 class compliant but reported issues with sending System Exclusive (SysEx) MIDI messages and MIDI signals getting cut off
|-
| <!--Description--> iConnectMidi interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2010
|-
| <!--Description-->iCM2 iCM4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2012
|-
| <!--Description-->iConnectivity iConnectMIDI4+ L
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2014 class compliant??
|-
| <!--Description-->iConnectivity MioXL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->IK Multimedia iRig MIDI 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> class compliant
|-
| <!--Description-->iRig Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Kenton
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Kenton Electronics pro solo mk2 midi to cv converter
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Kenton Midi Thru-25 5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Keytech MT18E 8 Way Midi Thru box
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> 9 to 12v psu required
|-
| <!--Description-->MidiPlus Midi 2x2 midi interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->MidiPlus Midi 4x4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> supposedly class compliant - USB bus powered
|-
| <!--Description-->MidiTech MIT-00151 Midiface 4x4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->MidiTech Midiface 4x4 8x8 16x16 thru merge
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Miditech Midilink mini 1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->M-Audio Midisport UNO only if box is labeled Class Compliant and latest MIDISPORT 1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->M-Audio Fast Track Ultra (6 in 6 out)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2008 not usb compliant, -
|-
| <!--Description-->M-Audio Midiman Midisport 2x2 Anniversary Edition [https://gearspace.com/board/electronic-music-instruments-and-electronic-music-production/1133862-why-there-hardly-any-midi-interfaces.html not stable enough]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2009 USB2 usb-b - does not need firmware and supposedly plug and play -
|-
| <!--Description-->M-Audio Midisport 4x4 Anniversary Edition
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> rumored does not need firmware - supposedly plug and play - issues with its firmware for some and lacks configurable routing
|-
| <!--Description-->Maudio Fast Track Ultra 8R
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Native Instruments Komplete Audio 6 Mk1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2011 maybe usb compliant but bus powered,
|-
| <!--Description-->Nektar Midiflex 4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|untested}}
| <!--Opinion-->2015 class compliant and usb-b powered - used as a 1 in / 3 out, 2 in / 2 out or 4 out 5pin sockets -
|-
| <!--Description-->Neusonik IM-One
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Peavey Xport
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> guitars only
|-
| <!--Description-->Roland UM-ONE UM-1 mk2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->2010 USB class compliant if switch to TAB for class compliant mode rather than the COMPUTER mode
|-
| <!--Description-->Squarp Hermid
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Steinberg Midex 8x8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> class compliant? supporting MIDI Time Stamping protocol
|-
| <!--Description-->Swissonic MidiConnect 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Tapco LiNK.midi USB 4x4 (Loud technologies)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no|dedicated driver}}
| <!--Opinion-->2005
|-
| <!--Description-->Teac Corp Tascam US-2x2
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{no| }}
| <!--Opinion--> 2014 5v dc power, midi out in,
|-
| <!--Description-->Teac Corp Tascam US-4x4
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->Teac Tascam US-16x08 US-20x20
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No| }}
| <!--Opinion-->
|-
| <!--Description-->Zoom U-24
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi to 5pin interface
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi to 5pin interface
|-
| <!--Description-->Unbranded cable
| 0x552d
| 0x4348
| F110
| <!--CAMD-->{{Maybe|detected but no usb driver in devs/midi for camd to use}}
| <!--Opinion-->detected but not working the USB-MIDI conversion functionality of the cheapo USB MIDI "cable" interface is simply lacking, possibly being incapable of handling MIDI strings longer than 3 bytes long SysEx strings (e.g. SysEx dumps) - tested in Icaros 2.3 -
|-
| <!--Description-->USB2.0-MIDI Unbranded cable with clear braided underneath leads
| <!--Vendor ID-->0x1A86
| <!--Product ID-->0x752D
| <!--Revision-->0254
| <!--CAMD-->{{Maybe|detected binding to camdusbmidi.class but untested midi in / out}}
| <!--Opinion-->untested but better to get a branded version - tested AROS One 2.4 usb
|-
| <!--Description-->LogiLink USB to Midi In-Out
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk|}}
| <!--Opinion-->untested cheap cable version but issues with latency on other systems
|-
| <!--Description--> gm5 USB midi chip DIY option only
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Doremidi LEKATO MIDI USB C Interface 1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->Thomann Midi USB 1x1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> Prodipe made
|-
| <!--Description-->Prodipe MIDI 1i/1o
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> usb to 5pin midi interface
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|}
Classic 5pin DIN controllers for above interfaces
{| class="wikitable sortable" width="90%"
! width="20%" | Description
! width="10%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |CAMD
! width="30%" |Opinion
|-
| <!--Description-->Akai s5000 s6000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> midi digital samplers
|-
| <!--Description-->Akai AX80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Casio CZ-5000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Casio CZ-3000 CZ-1000 CZ-101
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Cheetah MS6 midi controller
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{No|untested}}
| <!--Opinion-->2000 multi-timbral, six-voice (twelve-oscillator), analogue synthesiser module is loaded with CEM 3396s
|-
| <!--Description-->Ensoniq ESQ1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Integra
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Korg Wavestation Ex A/D SR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->1986 ex has piano and drum sounds
|-
| <!--Description-->Korg DW-8000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Korg DW-6000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Korg Poly 800 MK1 Poly-800ii
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> all plastic and can run on batteries - 49 keys non-velocity dco synt analogue filter
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Roland D-50
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|1987 untested greater concern would be moisture and wear}}
|-
| <!--Description-->Roland A50 (76) A80 (88)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|1989 untested}}
|-
| <!--Description-->ROLAND JUNO-D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Roland Juno 106
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->80s kx73 or kx88
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Roland ED PC-160A PC-180A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->
| <!--Opinion-->{{N/A|untested}} legacy DIN5 MIDI port only - 6 AA batteries or 9v psu - One regular source of failure for me were emty batteries (even with red control light still active). Another source was a bad MIDI cable - unplug then re-plug the USB cable while it is powered the device might reconnect
|-
| <!--Description-->Roland M1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Roland S-550 S-760
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion--> digital samplers kontakt replaced these?
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Yamaha DX7
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->1983 12bit
|-
| <!--Description-->Yamaha DX7S DX72IID DX7IIFD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->1987 16bit versions
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--CAMD-->{{unk| }}
| <!--Opinion-->
|-
|}
The MIDI standard was published in August 1983. The inventors, Kakehashi and Smith finally received a Technical Grammy Award in 2013 for their work.
The MIDI files that contained just the note data, velocity and timing meant you could transfer an entire studio session from one place to another on one floppy disk and it could control all the synths and drum samplers. Pass-thru meant that one computer could run an entire bands worth of instruments.
It's bulletproof too. MIDI never goes wrong, it's always a bug in software that causes any issue - you can absolutely rely on it to go gigging with, take your synths, controllers and computers and not crash an entire gig at your 100,000 person venue.
The MIDI hardware specification is very simple (voltage, polarity, screening, protection and a fast enough opto-isolator), it assumes that the data it sends and receives between MIDI devices is to the MIDI data standard and just passes it on. The microprocessor in the hardware does all the work.
The minimum for a computer/MIDI interface is that it meets the MIDI hardware specification. It is attached to the computer bus and handles the electrical conversions required. To meet the MIDI hardware specification, to be class compliant as a USB device all it has to do is report itself properly when plugged in.
The other half of the equation is the MIDI data standard, and for a computer MIDI interface the main issue is the speed of data transmission. The bus speed of the computer is faster than the speed of the MIDI standard so it can generate and send MIDI data faster than a MIDI device can receive it. The MIDI standards have nothing to say on that bottleneck at all. MIDI was designed to be very simple and very open, it just defines a standard for the messages and leaves it up to manufacturers to implement them in the way they want. That's what makes it so powerful a tool, and also what makes it so confusing and frustrating at times.
For midi, the hardware/software combination at various connection points handles the translation to/from midi (or other protocols). Drivers would be needed for midi, including clock and SysEx signal (actually claiming to handle ALL midi quirks transparently
All the important MIDI data types can be sent (CC, NRPN, RPN, MMC, Note On/Off, program change)
There is no official way to solve the data bottleneck. Early software sequencers and librarians tried to solve it by having an option to buffer SYSEX data in software and transmit it at the MIDI data rate. The downside is that hogs the bus and can hit computer performance. Interface manufacturers would add a hardware buffer which would take all the MIDI data from the PC bus and feed it into the MIDI at the slower data rate, but that added cost and created timing issues.
Things have moved on since then, but the principles remain the same. You can buffer in the hardware or in software, whether that is in the application or the interface driver. SYSEX will work perfectly well with that budget cable if your software handles the buffering. And while the cables with hardware buffers make SYSEX easier, they still have potential problems because of the limitations of the MIDI data rate. Your MIDI clock doesn't like being interrupted with a big program dump
The serial / parallel ports were a direct connection, so faster. Now, everything in the computer is virtual and the only thing connected to the hardware is the kernel, hence everything is by default bottlenecked and jittery, regardless of which connection. So by the time the interface gets the information it's already too late.
Ethernet network cable to transport MIDI over large distances, connect 2 MIDI In and 2 MIDI Out ports to patch, remap, filter and merge MIDI flows on a fine channel basis for tight MIDI throughput, latency and jitter
Possibilities for DAWs of the future including a kind of sync reference for timing reference which an interface could sync to, hence all the timings then would be locked between the grid on the DAW screen and the MIDI info.
Preemptible, low latency and accuracy are essential for good communication.
One of the first things you need to do, is make sure your MIDI software sets the interface to the same MIDI channel as your keyboard (usually 1)
Do you want to send just your master keyboard to other synths or to be able to use any keyboard with any synth?
1st option is relatively simple. Just need to send midi from your master keyboard into a midi splitter that redistributes the signal onto your synths. Each synth will be set up to receive midi on a specific channel so the only challenge is to find a way to select to which channel you are sending midi. Some master keyboards can do that although not many that have a dedicated knob or switch on the panel and most require a bit of menu diving. Could use a midi box that offers channel selection but usually this is not very workflow friendly. The software route would require using the mouse.
2nd option is a bit more complex but superior workflow by sending midi messages into a merge box, from there into a hardware sequencer that allows to select midi channel, then on to a midi interface that distributes the signal to the synths.
Master keyboard MIDI-in to computer. External hardware sampler MIDI-out from computer. Audio-out from sampler to audio-in on computer/device.
Blue Ribbon Soundworks Bars & Pipes Professional (1993/4)
GM (1984), GS (1987), XG level 1-3 (1994-1997), GM level 2 (1999)
GM GM1 imposes several requirements beyond the MIDI 1.0 specification. While MIDI 1.0 by itself provides a communication protocol which ensures that different instruments can interoperate at a fundamental level e.g sound modules. GM goes further in two ways. First, GM requires that all compliant MIDI instruments meet a certain minimal set of features, such as being able to play at least 24 notes simultaneously (polyphony). Second, GM attaches specific interpretations to many parameters and control messages which were left unspecified in the MIDI 1.0 specification. A minimum of 128 MIDI Program Numbers (conforming to the GM 1 Instrument Patch Map) and 47 percussion sounds (conforming to the GM 1 Percussion Key Map). Support for controller number 1, 7, 10, 11, 64, 100, 101, 121 and 123; support for channel pressure and pitch bend controllers.
General MIDI Level 2 or GM2 is a specification for synthesizers which defines several requirements beyond the MIDI standard and is based on General MIDI (GM) and Roland GS extensions. It was adopted in 1999 by the MIDI Manufacturers Association (MMA).
* Number of Notes: 32 simultaneous notes
* MIDI Channels: 16
* Simultaneous Melodic Instruments – up to 16 (all Channels)
* Simultaneous Percussion Kits – up to 2 (Channel 10/11)
Program and bank change events
General MIDI 2 compatible synthesizers access all of the 256 instruments by setting cc#0 (Bank Select MSB) to 121 and using cc#32 (Bank Select LSB) to select the variation bank before a Program Change. Variation bank 0 contains the full GM (General MIDI 1) sound set. Variations using other bank numbers are new to General MIDI 2, and correspond to variation sounds introduced in Roland GS.
[https://www.youtube.com/watch?v=CluuHrr7HG4 Major WWHWWWH, Minor WHWWHWW scale], [https://www.youtube.com/watch?v=Jjm7Ti-iwz0 Chords],
==usb audio==
AROS currently does not support natively any USB audio interface for recording audio
USB audio is only available for limited Amiga like OSs, independent of the USB protocol version USB1.x USB2, USB3.x, which are not backwards compatible.
*Introduced 2000 and from 2014 USB Audio 1 UAC1 16bit 44.1kHz
*Introduced 2006 and from 2014 USB Audio 2 [https://www.usb.org/document-library/usb-device-class-definition-audio-devices-release-20-errata-and-ecn-through-april UAC2] 24bit 192kHz
*Introduced 2016 and from 2024 USB Audio 3 [https://www.usb.org/documents UAC3] 32bit 384kHz
USB group decided to rewrite the audio standard, so [https://os4depot.net/?function=showfile&file=audio/record/usbaudio2.lha UAC2] and [https://archive.fosdem.org/2019/schedule/event/linux_and_usb_audio_class_3/attachments/slides/3345/export/events/attachments/linux_and_usb_audio_class_3/slides/3345/Linux_and_USB_Audio_Class_3___FOSDEM_2019.pdf UAC3]. They added clock selection and control, timing domains and others. Part of the changes included changing many of the descriptors that an audio device uses to describe itself to the machine.
PsdErrorlog/PsdDevlister? The AHI driver generated only supports mono/stereo at any bit rates between 8 and 32 bit per sample, but not multichannel modes and only rates up to 65KHz (because AHI uses a 16-bit word for frequencies). If the soundcard does not offer such a PCM 8-32 bit mode at frequencies lower than 65 KHz, there's nothing much that can be done about it on the computer side other than revising and expanding the AHI standard. Most cheap USB soundcards do though.
AHI does not support six channel playback. It only supports mono, stereo and multichannel (8 channels). Due to the multichannel mode not being used by any application so far, the usbaudio.class does not support multichannel playback, especially not "upchannelling" stereo to six or more channels. If this USB device does not support a two channel mode, you can't use it under AHI.
Untested but most likely to work, at least 2 mic inputs (low impedance) & instruments (high impedance) and made in the last 10 years
*[https://www.youtube.com/watch?v=gMuA-2FbJxE Entry level <100Euro] BOMGE U202, Behringer UMC, Presonus Studio,
*[ Next tier <200Euro] Audient iD, Solid SSL2 and SSL2+, Lewitt, Focusrite Scarlett, Arturia MiniFuse,
*[ Prosumer <300Euro] Focusrite Clarett+,
*[ Professional <500Euro] RME Babyface,
*[ Studio >500Euros]
Bands may need 4 or more mic inputs
[http://forum.xda-developers.com/showthread.php?p=38364030 XDA Forum thread],
<pre>
<- Computer
<- Mobile Phone / Tablet (OTG)
<- Digital Cameras
<- Video <- Webcams
Base Computer <-> OBS like <- Audio Mixer <- Microphone(s)
-> Internet -> Youtube & Chat
</pre>
USB AUDIO CARDS - UAC Compliant
{| class="wikitable sortable" width="90%"
! width="20%" |Description
! width="10%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="10%" |Playback
! width="10%" |Records
! width="30%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Arturia Mini Fuse 1
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2021 maybe usb compliant, okay pre amp 1 combi input, cirrus logic cs4272 ad converter,
|-
| <!--Description-->Arturia MiniFuse 2
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2021 maybe usb compliant usb-c with usb2.0, okay pre amps with good dynamic range 110dB, cirrus logic cs4272 ad converter, two combi inputs for mic, line or guitar,
|-
| <!--Description-->Arturia MiniFuse 4
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2022 maybe usb compliant, okay 110dB dynamic range, -129dB EIN,
|-
| <!--Description-->Arturia AudioFuse 16Rig
| <!--Vendor ID-->0x1C75
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2023 maybe usb compliant, good
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Audient iD44 mk1 mki
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2018 maybe usb compliant, good,
|-
| <!--Description-->Audient evo4 EVO8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2020 maybe usb compliant,
|-
| <!--Description-->Audient iD4 mk2 mkII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2022 maybe usb compliant,
|-
| <!--Description-->Audient id14 mk2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2022 maybe usb compliant, good,
|-
| <!--Description-->Audient iD24
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2023 maybe usb compliant and usb-c bus powered, good, , 0-in/14-out audio interface with ADAT expandability, balanced inserts
|-
| <!--Description-->Audient iD44 Mk2 Mkii
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2022 maybe usb compliant, good,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Behringer U-PHORIA UMC22
| <!--Vendor ID-->0x1397
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps
|-
| <!--Description-->Behringer U-PHORIA UMC202HD
| <!--Vendor ID-->0x1397
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps ein -129 dBu, 24bit ADC,
|-
| <!--Description-->Behringer U-PHORIA UMC404HD
| <!--Vendor ID-->0x1397
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps, 24bit adc,
|-
| <!--Description-->Behringer U-PHORIA UMC204HD 192 Empower Tribe
| <!--Vendor ID-->0x1397
| <!--Product ID-->0x0508
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2015 maybe usb compliant, okay, midas pre-amps
|-
| <!--Description-->Behringer UMC1820
| <!--Vendor ID-->0x1397
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2016, bus complaint?, okay midas pre amps, adc,
|-
| <!--Description-->Behringer U-PHORIA UM2
| <!--Vendor ID-->0x1397
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2018 maybe usb compliant, poor zenyx pre-amps with high noise floor, plastic build no rf shielding, latency issues,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Focusrite Saffire 6 USB 1.1
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 maybe usb compliant, , , midi, strictly NEC USB 2.0,
|-
| <!--Description-->Focusrite Scarlett 8i6 Gen 1 MOSC0001
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 maybe usb compliant, but
|-
| <!--Description-->Focusrite Scarlett 2i2 Gen 1 MOSC0003
*TP1 - 3.3V, tested ok
*TP2 - U4 control signal, 3.3V present at all time.
*TP4 - Ground
*TP6 - 48V, tested ok
*TP7 - Ground
*TP8 - Ground
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 usually avoid early Gen 1,
|-
| <!--Description-->[https://khronscave.blogspot.com/2021/08/75-focusrite-scarlett-2i4-1st-gen.html Focusrite Scarlet 2i4 Gen 1 (slide toggles) MOSC0004]
*TP1 - 3.3V, tested 3.22v
*TP2 - U4 control signal, 3.3V present
*TP4 - Ground
*TP6 - measure 47.72v
* AKM 4384ET (VDD 5v)
* Cirrus Logic CS4272-CZZ (VA 4.94v/ VD 3.2v/ VL 3.2v)
* all four HC4066 (VCC 4.96v)
* XMOS XS1-L01A-TQ128-C5 (all VDD 1.08v/ all VVDIO 3.23v/ PPLAVDD 0.99v/ PCU-VDDIO 3.23v)
2i4S
*TP1 seems to be 0V
*TP2 should be 5V
*TP3 should be
*TP6 should be 48V
*TP8 should be 3.3V
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 maybe usb compliant, pre amps JRC NJM2122 and NJM4565, [https://statics.cirrus.com/pubs/proDatasheet/CS4272_F1.pdf CS4272 adc], [https://pdf.datasheet.live/e5e5fd1c/akm.com/AK4384.pdf AK4384 output pair], Xmos XS1-L8A-64-TQ128 processor and firmware in Winbond 25X40CL 4Mbit, an SMSC Microchip USB3343 interface and a Microchip PL611 clock generator - two Intersil / Renesas ISL97519A for the phantom power rail, two OnSemi NCP1521B for the 3.3V (digital) and 1V (Xmos core) rails -
|-
| <!--Description-->Focusrite iTrack Solo USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2012 maybe usb compliant,
|-
| <!--Description-->Focusrite Scarlett 18i20 1st Gen MOSC00
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe usb compliant, , Cirrus CS4272,
|-
| <!--Description-->[http://wiki.linuxaudio.org/wiki/current_audio_gear Focusrite ] Scarlett 4i4 Gen MOSC00
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant, , Cirrus CS4272,
|-
| <!--Description-->Focusrite Scarlett 6i6 Gen1 MOSC00
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe usb compliant, , , 12v psu, the headphone outs mirror the outs on the back panel, so that's six independent outs. 4 independent analog output paths, plus two over spdif,
|-
| <!--Description-->[https://khronscave.blogspot.com/2019/03/38-focusrite-scarlett-18i8-gen1-teardown.html Focusrite Scarlett 18i8 1st Gen MOSC0008]
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe usb compliant, JRC NJM4565 provide most of the opamps, pair of JRC NJM2122's for inputs 1 and 2, [http://www.mouser.com/ds/2/76/cs4272_f1-43250.pdf Cirrus CS4272], 12v 1a +central psu to a pair of National Semiconductor LM2672 for 3.3V rail and the +6.9V rail, Xmos XS1–L16A–128 dual-row QFN package, firmware a Winbond 25X40C 4Mbit SPI Flash and an SMSC USB3343 interface chip, the two headphone outs are completely independent so 6 independent analog output paths, plus two over spdif,
|-
| <!--Description-->Focusrite Clarett+ 8Pre
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2015 great, expensive, maybe usb compliant?
|-
| <!--Description-->Focusrite Scarlett 2i2 Gen 2 (slide toggles) MOSC0006
*TP6 should be 48V
| <!--Vendor ID-->0x1235
| <!--Product ID-->0x8202
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 maybe usb compliant, USB-b bus powered, good preamps ein equivalent input noise -128 dBu, 24-bit 192kHz CS4272 as well as an additional AKM AK4384ET for the second stereo output pair, 4 screws under bottom rubber,
|-
| <!--Description-->[https://khronscave.blogspot.com/2021/07/focusrite-scarlett-2i4-2nd-gen-teardown.html Focusrite Scarlett 2i4 Gen 2 (slide toggles) MOSC0014]
*TP6 should be 48V
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 maybe usb compliant, USB-b bus powered, good preamps NJM2122's, NJM4565's and CMOS switches (HEF4053 and HEF4066), CS4272 and a AKM AK4384ET, Xmos XU208-256-TQ64-C10 with firmware stored in a Macronix MX25L8006E 8Mbit flash memory, clocking by a Cirrus Logic CS2100, an MP1542 boost converter creates +6V and -6V rails, powering the opamps and the rest of the analog circuitry,
|-
| <!--Description-->Focusrite Scarlett 6i6 Gen2 MOSC0016
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 maybe usb compliant, 12v psu,
|-
| <!--Description-->Focusrite Scarlett Solo 2nd Gen MOSC0019
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 maybe usb compliant,
|-
| <!--Description-->[https://khronscave.blogspot.com/2024/03/focusrite-scarlett-18i8-gen2-teardown.html Focusrite Scarlett 18i8 2nd Gen MOSC00]
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 maybe usb compliant, 12v psu,
|-
| <!--Description-->Focusrite Scarlett Solo 3rd Gen MOSC0024
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant usb-c but usb2, preamps, ad/dc 24bit 192kHz, most Focusrite gen3 interfaces have encrypted processors,
|-
| <!--Description-->Focusrite Scarlett 18i6 Gen3 MOSC00
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant, USB2 class compliant device, but with custom mixer interface
|-
| <!--Description-->Focusrite Scarlett 2i2 Gen 3 (push in switches) MOSC00
| <!--Vendor ID-->0x1235
| <!--Product ID-->0x8210
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant, USB-c bus powered, good preamps ein equivalent input noise -128 dBu, 24-bit 192kHz Cirrus Logic xfr002c and cs4272 chips,
|-
| <!--Description-->Focusrite Scarlett 18i20 3rd gen MOSC00
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant,
|-
| <!--Description-->Focusrite Scarlett 18i8 3rd Gen MOSC00
| <!--Vendor ID-->0x1235
| <!--Product ID-->0x8214
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant, , , no screws under the rubber pads on the bottom, 12v psu,
|-
| <!--Description-->Focusrite Scarlett Solo Studio Mk3 USB Audio Interface MOSC0030
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2020
|-
| <!--Description-->Focusrite Scarlett 2i2 4th Gen USB
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2024 maybe usb compliant,
|-
| <!--Description-->Focusrite Scarlett 4i4 4th Gen USB
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2024 maybe usb compliant,
|-
| <!--Description-->Focusrite Scarlett Studio 4th Gen USB
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2024 maybe usb compliant,
|-
| <!--Description-->Focusrite Scarlett Solo 4th Gen MOSC00
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant,
|-
| <!--Description-->Focusrite Scarlett 18i20 4th Gen MOSC00
| <!--Vendor ID-->0x1235
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2024 maybe usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Lewitt Connect 6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant,
|-
| <!--Description-->Lewitt
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Mooer Steep II Multi-Platform USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Motu UltraLite AVB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> usb not compliant?
|-
| <!--Description-->MOTU M2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe not usb compliant?, usb-c, good pre amps, ad/dc,
|-
| <!--Description-->MOTU M4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe not usb compliant, okay,
|-
| <!--Description-->MOTU U2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe not usb compliant, good but latest had hardware revision
|-
| <!--Description-->MOTU UltraLite-mk3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2010 not usb compliant, great
|-
| <!--Description-->MOTU UltraLite-mk5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2020 not usb compliant, great
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Nuemann MT48
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant, okay
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Presonus AudioBox USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 maybe not usb compliant, usb1.1 usb-b bus powered, okay pre-amps, 24bit ADC 48Khz max,
|-
| <!--Description-->Presonus Audiobox 1818VSL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 maybe not usb compliant,
|-
| <!--Description-->Presonus AudioBox 44VSL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 may not be usb compliant, 12v psu,
|-
| <!--Description-->PreSonus AudioBox 22VSL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 maybe not usb compliant,
|-
| <!--Description-->|PreSonus Studio 2|4 2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant, usb-b,
|-
| <!--Description-->|PreSonus Studio 2|6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2017 maybe usb compliant,
|-
| <!--Description-->|PreSonus Studio 6|8 USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2017 maybe compliant, needs ext psu,
|-
| <!--Description-->PreSonus Studio 24c 2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant, usb-c, good, adc,
|-
| <!--Description-->PreSonus Studio 26c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant, usb-c,
|-
| <!--Description-->PreSonus® Studio 68c
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant, usb-c,
|-
| <!--Description-->PreSonus AudioBox USB 96
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2020 maybe usb compliant, high preamp noise,
|-
| <!--Description-->Presonus Quantum ES2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2022 maybe usb compliant, okay,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Prism
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Prism Lyra
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe not usb compliant, great
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Platane UP1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2024 maybe usb compliant usb- UAC2 asynchronous protocol, 64dB Low-noise Mic amplifier, 32Bit High End ADC and DAC, 16dBu High-power ti headphone amplifier
|-
| <!--Description-->Platane UP2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2024 maybe usb compliant,
|-
| <!--Description-->Platane
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->RME Babyface/UC/UFX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2010 maybe not usb compliant, good
|-
| <!--Description-->RME Fireface UCX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2012 might be able to put into class compliant cc although a firewire device, pre amps, adc,
|-
| <!--Description-->RME Babyface Pro FS
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe not usb compliant, good
|-
| <!--Description-->RME Fireface UCX II
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2021 might be class compliant usb-b, pre amps, adc,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Solid State Logic SSL2 SSL2+ Mk1 1st Gen
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2020 maybe usb compliant, good, adc,
|-
| <!--Description-->Solid State Logic SSL12 SSL18
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2022 maybe usb compliant, bus powered, good pre-amps, up to 32-bit 192kHz AD/DA converters, 12-in 8-out,
|-
| <!--Description-->Solid State Logic SSL2 SSL2+ MkII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2024 maybe usb compliant, good pre amps ein -130 dBu, ad/dc, okay latency,
|-
| <!--Description-->Solid State Logic
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Topping E1x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2023 maybe usb compliant, good
|-
| <!--Description-->Topping Pro E2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2023 maybe usb compliant, good
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->UAD UA Apollo
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2012 maybe not usb compliant,
|-
| <!--Description-->UA apollo 2nd Gen twin X (Duo/Quad), X4, X6, X8, X8P, and X16
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2015 bus compliant?, usb-
|-
| <!--Description-->UA apollo twin x quad 3rd Gen
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2018 bus compliant?, usb-
|-
| <!--Description-->Universal Audio Volt 1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2021 maybe usb compliant, good,
|-
| <!--Description-->|Universal Audio Volt 276 2|76
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2021 maybe usb compliant, good,
|-
| <!--Description-->Universal Audio Volt 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2022 maybe usb compliant, good,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Records
| Opinion
|-
| <!--Description-->Akai EIE Pro AI01 Electromusic Interface Expander -
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 maybe not usb compliant, 4-in/4-out USB 2.0 audio interface with a built-in USB hub and MIDI I/O, up to 24-bit/96kHz
|-
| <!--Description-->Akai EIE Pro AI02
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe not usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->|Alesis io2 io|2, io14 io|14, io26 io|26
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2006 bus powered but not usb compliant, okay pre-amps, 2, 4 or 8 mics respectively,
|-
| <!--Description-->Alesis iO2 Express
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2010 not usb compliant, poor pre-amps,
|-
| <!--Description-->Alesis Core 1 USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2014 maybe cc, mini usb, poor latency,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Apogee Duet 1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2009 firewire only, not usb compliant micro-usb with most features, , , two‑channel two‑in, two‑out,
|-
| <!--Description-->Apogee Ensemble
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2009 firewire, not usb compliant micro-usb with most features, , , two‑channel
|-
| <!--Description-->Apogee One USB 1st Gen
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2010 maybe not usb compliant micro-usb for basic features, , , single‑channel up to 48kHz
|-
| <!--Description-->Apogee One USB 2nd Gen
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe usb compliant usb- and maybe aa batteries,
|-
| <!--Description-->Apogee Duet 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2022 maybe usb compliant usb-c with most features, , ,
|-
| <!--Description-->Apogee One USB 3rd Gen
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 maybe usb compliant,
|-
| <!--Description-->Apogee Ensemble Thunderbolt
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2020 maybe not usb compliant micro-usb with most features, , , two‑channel
|-
| <!--Description-->Apogee Boom
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2022 maybe usb compliant usb-c, , ,
|-
| <!--Description-->Apogee Duet 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2022 maybe usb compliant usb-c with most features, , ,
|-
| <!--Description-->Apogee
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->ART PRO Audio Usb Mix
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 maybe usb compliant bus powered,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Avid Digidesign Mbox 1 USB Audio
| <!--Vendor ID-->0x0dba
| <!--Product ID-->01000
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2002 mbox original was usb1 and not a usb class compliant device, and had the much hated "focusrite designed" mic preamps, light blue front plate and the sticky out feet
|-
| <!--Description-->Avid Digidesign Mbox 2 USB Audio
| <!--Vendor ID-->0x0dba
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2005 midi not usb compliant
|-
| <!--Description-->Avid Digidesign Mbox 2 Pro USB Audio
| <!--Vendor ID-->0x0dba
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2006 not usb compliant
|-
| <!--Description-->Avid Digidesign Mbox 2 Mini USB Audio
| <!--Vendor ID-->0x0dba
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2007 not usb compliant
|-
| <!--Description-->Avid Digidesign Mbox 2 Micro USB Audio
| <!--Vendor ID-->0x0dba
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2009 not usb compliant
|-
| <!--Description-->AVID MBox 3rd gen Mini or Standard but Pro is Firewire
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2010 maybe usb compliant,
|-
| <!--Description-->behringer u-control uca202
| <!--Vendor ID-->0x8bb
| <!--Product ID-->0x2902
| <!--Revision-->1.00
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 maybe usb compliant, draws a lot of power - dac ti burr-brown - no microphone pre-amp -
|-
| <!--Description-->Behringer U-CONTROL UCA 222
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2009 maybe usb compliant, - no microphone pre-amp -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Black Lion Audio 2x2 evolution
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2021 maybe usb compliant but , okay with 109dB range - poor noise floor, 24-bit 192kHz Cirrus Logic CS4272, average latency,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Bomge 11s
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2021
|-
| <!--Description-->Bomge 22s
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2021
|-
| <!--Description-->Bomge BMG22 USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2021 usb-c, 24bit 192kHz but only use much lower, may have to spend time cleaning up some of the noise, high latency,
|-
| <!--Description-->Bomge U202
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2022 usb-c, 32bit 192kHz but only use much lower, may have to spend time cleaning up some of the noise, high latency,
|-
| <!--Description-->Bomge U204
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2022 usb-c, 32bit 192kHz but only use much lower , may have to spend time cleaning up some of the noise, high latency,
|-
| <!--Description-->Bomge Mini
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2024
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->TI Burr-Brown PCM2702E PCM2704 PCM2704C Muse Audio Mini USB DAC board
| <!--Vendor ID-->0x08bb
| <!--Product ID-->0x2704
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant, no mic input - goodish quality
|-
| <!--Description-->TI Burr-Brown PCM2900 PCM2902 PCM2906 USB DAC board
| <!--Vendor ID-->0x08bb
| <!--Product ID-->0x2900
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant, no mic input - goodish quality
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Depusheng MD22
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2022 usb-b powered, 24bit 192kHz though is 96kHz,
|-
| <!--Description-->Depusheng USB Audio
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2023 usb-b powered, 24bit 192kHz though is 96kHz,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->|Emagic emi 2|6 em2|6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2002 not uac
|-
| <!--Description-->|Emagic emi 6|2m
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2005 not uac
|-
| <!--Description-->|Emagic emi 6|2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2005 not uac
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Ego Systems, Inc. in Korea (ESI) joining with RIDI GmbH
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2006 maybe not usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->esi Mixvibes U46 Mk II USB audio
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2007 not usb compliant, usb-b powered,
|-
| <!--Description-->ESI ESU22
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2008 maybe not usb compliant,
|-
| <!--Description-->esi U24XL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 maybe usb compliant, usb-b powered, 24 bits, 2 analogue inputs and outputs with 6.3 mm jack connection, Output L can be used as a headphone output, S / PDIF digital input -
|-
| <!--Description-->esi U46XL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 maybe usb compliant, usb-b powered,
|-
| <!--Description-->ESI Originals, Inc ESIO MAYA22USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe usb compliant, usb-b powered, 1 xlr,
|-
| <!--Description-->ESI MAYA44USB+
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe usb compliant, usb-b powered, xlr,
|-
| <!--Description-->ESI Originals, Inc ESIO MARA22XTU
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2014 maybe usb compliant, usb-b powered, 1 xlr,
|-
| <!--Description-->ESI U22XT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 usb class compliant
|-
| <!--Description-->ESI Gigaport Ex
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2020 usb compliant?, usb-c usb3.1, , ,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->iConnectivity iConnectAUDIO2+ icaudio-02 USB audio interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->{{unk|2016 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->LexiconPro - Omega 8x4x2 (USB-1.1)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2003 not usb complaint
|-
| <!--Description-->Lexicon Alpha
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2006 not usb compliant,
|-
| <!--Description-->Lexicon Lambda
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2006 may not be compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Line 6 Toneport UX1 and Tone Port UX2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2004 not usb compliant,
|-
| <!--Description-->Line 6 TonePort UX8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2005 maybe not class compliant,
|-
| <!--Description-->Line 6 POD Studio UX1 UX2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2006 not usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Lokchonk UX22
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->[https://www.youtube.com/watch?v=ljSiNmudMm0 Lokchonk UX44HD]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2023 usb-b , , , 2in 2out only, average latency,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Mackie Onyx Artist 1·2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2006 maybe not usb compliant, usb-b powered,
|-
| <!--Description-->Mackie Onyx Producer 2X2 USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 maybe usb compliant, usb-b midi
|-
| <!--Description-->Mackie Onyx Blackjack
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 USB powered but maybe not usb compliant, Two Onyx Preamps, 2-in, 2-out which are combo Neutrik-type connectors to handle XLR, instrument or line level
|-
| <!--Description-->Mackie
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 maybe usb compliant, , ,
|-
| <!--Description-->Media Assistance USB-One
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2009 not uac cc comliant,
|-
| <!--Description-->M-Audio Fast Track USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2004 maybe not usb compliant, - guitar
|-
| <!--Description-->M-Audio Fast Track Ultra (6 in 6 out)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2008 maybe usb cc providing 24-bit/96kHz audio capabilities but requires manual configuration of the mixer settings
|-
| <!--Description-->M-Audio M-Track
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 usb compliant?, okay - guitar and vocal mainly
|-
| <!--Description-->[https://htyp.org/M-Audio/Fast_Track_Ultra/Linux M-Audio FastTrack Ultra] and Ultra 8R
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2010 maybe usb compliant, low round-trip latency, okay octane pre amps, adc,
|-
| <!--Description-->M-Audio M-Track 2x2M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 usb compliant? usb-c - okay pre-amps, ,
|-
| <!--Description-->M-Audio M-Track (MkII) 2x2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2016 usb compliant? usb-c - okay pre amps, ,
|-
| <!--Description-->M-Audio M-Track Solo
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2021 usb compliant? - okay but issues, MJN4580C opamps (lower gain 55 dB at volume 9-10), ti PCM2900C ADC 16bit means there is a hard noise floor at -96 dB, plastic build no rf shielding,
|-
| <!--Description-->M-Audio M-Track DUO
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2021 usb compliant? - okay but issues, MJN4580C opamps (lower gain 55 dB at volume 9-10), ti PCM2900C ADC 16bit means there is a hard noise floor at -96 dB, plastic build no rf sheild,
|-
| <!--Description-->M-Audio Air
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant, okay
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->NI AK1
| <!--Vendor ID-->0x17CC
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 maybe usb compliant,
|-
| <!--Description-->[https://www.pogo.org.uk/~mark/linuxdj/ Native Instruments Traktor Audio 8 DJ], [ Traktor Audio 4 DJ], [ Traktor Audio 2 DJ],
| <!--Vendor ID-->0x17cc
| <!--Product ID-->0x1978, 0x0839, 0x041C
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2009 not usb compliant uses snd-usb-caiaq module, [https://mixxx.discourse.group/t/problems-with-native-instruments-audio-8-dj-on-linux/14719/2 Audio 8 device has 4 subunits which are not recognized correctly], Cirrus Logic DACs spec'd at 24-bit/96KHz over a USB2,
|-
| <!--Description-->NI Komplete Audio 6 Mk1
| <!--Vendor ID-->0x17CC
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2011 maybe usb compliant, pre amps, 24bit 96kHz adc, ocassional dropouts, plastic build top with metal around 3/4,
|-
| <!--Description-->Native Instruments NI Komplete Audio 1 and 2 USB
| <!--Vendor ID-->0x17CC
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant, good pre amp ein -129.5 dBu, ad/dc,
|-
| <!--Description-->[https://support.native-instruments.com/hc/en-us/articles/360014683497-Apple-Silicon-Compatibility-News Native Instruments Komplete Audio 6 Mk2]
| <!--Vendor ID-->0x17CC
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant, pre amps, 24bit 192kHz adc, black aluminum glass build,
|-
| <!--Description-->[ Native Instruments Traktor Pro]
| <!--Vendor ID-->0x17cc
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2023 maybe usb compliant
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Novation AudioHub 2x4 NOVHUB01
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 maybe usb compliant, usb-b powered, no xlr, focusrite sounds inside,
|-
| <!--Description-->Novation AudioHub
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Prodipe Studio 22 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe not usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Schiit HEL 1 USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019
|-
| <!--Description-->Schiit HEL 2 USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2021 gaming headsets mostly
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Roland Edirol UA-3 Audio Capture
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->1998 maybe not usb compliant,
|-
| <!--Description-->Roland Edirol UA-30 Audio Capture
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->1999 not usb compliant,
|-
| <!--Description-->Roland Edirol UA1A UA-1D Audio Capture
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2000 not usb compliant,
|-
| <!--Description-->Roland Edirol UA-5 Audio Capture (Roland)
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2000 not usb compliant,
|-
| <!--Description-->Roland Edirol UA-1000 Audio Capture
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2004 not usb compliant,
|-
| <!--Description-->Roland Edirol UA-1EX, Cakewalk UA-1G
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2005 not usb compliant driver also supports ASIO (Steinberg Audio Stream I/O Interface), noisy
|-
| <!--Description-->Roland Duo Capture UA-11
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2006 not usb compliant,
|-
| <!--Description-->Roland QUAD-CAPTURE Analog 2x2 Digital 2x2 USB 2.0 4in/4out
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2005 not usb compliant, usb-b powered
|-
| <!--Description-->[https://wiki.debian.org/DebianEdu/Documentation/Manuals/Rosegarden/Setup Roland Edirol UA-101 and UA-1000 (Clemens Ladisch driver)]
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2006 not usb compliant,
|-
| <!--Description-->[https://github.com/mmueller-kaffeeschluerfercom/UA-25-Firmware-Modification Roland Edirol ua-25]
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2007 maybe usb compliant 16bit 44.1kHz sampling without MIDI but not USB class complient when in Advanced mode for 24bit or midi
|-
| <!--Description-->Edirol by Roland USB AudioCapture UA-25EX
| <!--Vendor ID-->0x0582
| <!--Product ID-->0x00e6, 0x00e7
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2008 maybe usb compliant if ADVANCED DRIVER switched to OFF might play and record at 44.1kHz and 16-bit samples
|-
| <!--Description-->Roland Audio Interface V-Studio 20 VS-20 Cakewalk
| <!--Vendor ID-->0x0582
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2010 maybe not usb compliant, usb-b powered, 1 xlr,
|-
| <!--Description-->Roland Edirol UA55 UA-55 Quad Cakewalk
| <!--Vendor ID-->0x0582
| <!--Product ID-->0x012f
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2011 not USB class compliant,
|-
| <!--Description-->Roland DUO-CAPTURE EX UA-22 USB Audio
| <!--Vendor ID-->0x0582
| <!--Product ID-->0x0159
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe usb compliant but not be used with a USB 3.0 port that is not compatible with USB 2.0 specification, vs pre amps, adc, three AA batteries in base, or an AC adapter psb-1u 9V 2A -
|-
| <!--Description-->Roland Rubix series Roland Rubix22 USB 2.0 Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2017 maybe usb compliant,
|-
| <!--Description-->Roland Rubix series Roland Rubix24 USB 2.0 Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2017 maybe usb compliant,
|-
| <!--Description-->Roland
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant
|-
| <!--Description-->Steinberg MI2, Steinberg MI4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2004 not usb compliant,
|-
| <!--Description-->Steinberg (2004 Yamaha buys) MIDI interface hardware including the CC like CC121 CC-121 and CI1 CI2 series.
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2008 not usb compliant,
|-
| <!--Description-->Steinberg UR12 UR22
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe not usb compliant, poor pre-amps,
|-
| <!--Description-->Steinberg UR44 usb audio interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2014 maybe not usb compliant, poor pre-amps,
|-
| <!--Description-->Steinberg UR242 audio interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2015 maybe usb compliant, usb powered or 5v psu, okay pre-amps,
|-
| <!--Description-->Steinberg UR22mkII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2018 maybe usb compliant, okay pre-amps ein -123 dBu, ad/dc,
|-
| <!--Description-->Steinberg UR-RT 2 USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2018 maybe usb compliant, usb2.0 usb-b, pre-amps, ad/dc,
|-
| <!--Description-->Steinberg UR44C (USB3)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2019 maybe usb compliant,
|-
| <!--Description-->Steinberg URX22C UR22C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2021 maybe usb compliant, preamps okay but little noisy, ad/dc.
|-
| <!--Description-->Steinberg UR22 MkIII UR series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2024 maybe usb compliant usb-c, okay pre-amps, adc,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Tapco LiNK.USB 2x2 (Loud technologies WA, USA)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2005 maybe not compliant, usb-b, poor pre-amps hum, latency issues,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->[https://git.alsa-project.org/?p=alsa-tools.git;a=blob;f=usx2yloader/README;hb=3843634ef0310a952b256bcb6a4ddd0ad4ebe396 Teac Tascam US-422 US-428 US2XYloader]
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2000 not usb compliant,
|-
| <!--Description-->Tascam US-122 US-224
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2003 not usb compliant, needing firmware usx2yloader/us122fw.ihx for audio sound card - Tascam US-122 and US-122L are not the same -
|-
| <!--Description-->Tascam US-122L
| <!--Vendor ID-->0x0644
| <!--Product ID-->0x800e
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2006 not usb compliant, obsolete needs tascam_loader.ihx and us122fw.ihx firmware loaded each time unless automated
|-
| <!--Description-->Tascam US122 US-122 Mk2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2004 not usb compliant although USB2 downgrade so using USB1.1 UHCI, tascam units suffer from high round-trip latency as do most typical USB units
|-
| <!--Description-->Tascam US144 US-144 Mk2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2004 maybe usb compliant although USB2 downgrade so using USB1.1 UHCI, tascam units suffer from high round-trip latency as do most typical USB units
|-
| <!--Description-->Teac TASCAM US-200 USB 2.0 Audio / MIDI Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2011 maybe not usb compliant,
|-
| <!--Description-->Teac US-366
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2011 maybe not usb compliant,
|-
| <!--Description-->Teac TASCAM US-600 USB 2.0 Audio / MIDI Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2011 maybe not usb compliant,
|-
| <!--Description-->Teac TASCAM US-800 USB 2.0 Audio / MIDI Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no|no driver}}
| <!--Records-->{{no|no driver}}
| <!--Opinion-->2011 may not be totally usb compliant
|-
| <!--Description-->Teac Tascam iU2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{no| }}
| <!--Records-->{{no| }}
| <!--Opinion-->2012 maybe not usb compliant,
|-
| <!--Description-->Teac Corp Tascam US-2x2
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2014 usb compliant?, 5v dc power, midi out in,
|-
| <!--Description-->Teac Corp Tascam US-4x4
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> usb compliant?,
|-
| <!--Description-->Teac Tascam US-16x08 US-20x20
| <!--Vendor ID-->0x0644
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->teyun q12 Q-12, q22 Q-22
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant - unknown pre amp, unknown ad/dc,
|-
| <!--Description-->Teyun q26 Q-26, q24 Q-24
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe usb compliant - unknown pre amp, unknown ad/dc,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Yamaha UW500
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2000 not class compliant,
|-
| <!--Description-->Yamaha Audiogram 3 USB Digital Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2012 maybe usb compliant, okay pre amp, 16bit 44kHz adc no advanced features without dedicated asio driver, 1 xlr, 1 instrument,
|-
| <!--Description-->Yamaha Audiogram 6 USB Digital Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2013 maybe usb compliant, okay, 2 xlr, 2 instrument,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Zoom UAC-232
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe not usb compliant, okay,
|-
| <!--Description-->Zoom UAC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> maybe not usb compliant, okay,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Records
| Opinion
|-
| <!--Description-->[http://www.arcam.co.uk/products,rseries,usb-dacs,rPAC.htm Arcam rPac]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Audioquest Dragonfly
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Audioengine D1 Premium 24-bit DAC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Beresford TC-7520 (Burr Brown PCM 1716)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Beresford TC-7520 + Burson Buffer + MK3 JKSPDIF
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->[http://epiphany-acoustics.co.uk/products-page/dacs/e-dac-24bit-miniature-usb-dac/ Epiphany E-DAC 24bit] ES9023 DAC chip
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Firestone Audio FUBAR II Mk2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Firestone Audio iLoveTW 24Bit USB DAC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->FiiO D5 ta2020 chip amp
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->FiiO E07K Andes
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->FiiO E17 Alpen
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->GoVibe Magnum
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->GoVibe Martini-U
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->GoVibe Vulcan
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Halide Design DAC HD (Wolfson WM8716)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->HRT Steamer II USB DAC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->John Kenny JKDAC uses a 24-bit/192 kHz Sabre ES9022 DAC or better JKDAC32
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description--> iBasso D12
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Leckerton UHA-6S MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->MyST 1866 PortaDAC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Objective DAC ODAC+O2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Rega DAC (Wolfson WM8742)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Records
| Opinion
|-
| <!--Description-->[http://www.henryaudio.com/open-source.php Henry Audio USB DAC 128 also known as QNKTC AB-1.2 open source DAC]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Henry Audio mkII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->AKM4430 DAC chip comes from Asahi Kasai
|-
| <!--Description-->DevilSound USB DAC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Zoom U series
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->KingRex UD-01 SE (Burr-Brown PCM 2702E)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->SuperPro 24/192 USB DAC (24bit 192 kHz, CS-4398 D/A chip)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Records
| Opinion
|-
| CMedia CM108 7.1ch emulation I2S in and out
| 0x1926
| 0x0003
| 0x0100
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| [http://www.lindy.co.uk/usb-2-audio-adapter/42961.html Lindy USB 2.0] (Chipset CM108)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| Speed-Link SL-8850-SBK Vigo ([http://mightyohm.com/forum/viewtopic.php?p=1036#p1030 CMedia CM108])
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| Dynamode USB SOUNDCARD 2.0
| <!--Vendor ID-->0x0003
| <!--Product ID-->0x1130
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| Dynamode Virtual 7.1 USB-SOUND7 (C-Media )
| 0x0d8c
| 0x000c 0x000e
| 1.00
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Generic White box with very little red led and white USB lead (CMedia )
| <!--Vendor ID-->0x0d8c
| <!--Product ID--> 0c000e
| <!--Revision-->1.00
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Records
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| CM109 CiT SC-U119 5.1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Records
| Opinion
|-
| CMedia CM1197.1ch I2C MCU port Penguin
| 0x0D8C
| 0x0000
| 0x010
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Records
| Opinion
|-
| <!--Description-->Sweex 7.1 Startech External USB, WMA Blue metal box SYBA SD-AUD20040, Sabrent USB-SND8, Sewell Vantec NBA-200U (C-Media CM6206 CM106 like)
| <!--Vendor ID-->0x0d8c
| <!--Product ID-->0x0102
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->50/50 if the item is detected but does not work
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Creative Labs SoundBlaster X-fi
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Creative X-Fi Go
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Creative X-Fi 5.1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Creative Sound Blaster Play! USB sound adapter (SB1140)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> working with [http://www.amiga.org/forums/showpost.php?p=646431&postcount=15 Deneb on OS3]
|-
| <!--Description-->Asus Xonar U1 (ASUS UA100 USB Audio Chip)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Asus Xonar U3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Playback
| Records
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Griffin iMic
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->M-Audio Transit
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Icemat Siberia (steel series) (Cmedia chipset)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->JMTek HY554, ZyXEL NSA-220, Logilink (Tenx Technology TP6911 and SSS-1623 headphone set)
| 0x0C76 0x1130
| 0x1605 0x1607 0xf211
| 0x
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion--> reports on other OS not good
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Plantronics "DSP Adapter-01" (or "USB Adapter-02")
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Rocksmith Real Tone Cable
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->RSA Intruder Predator
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->StarTech ICUSBAUDIO7
| <!--Vendor ID-->0x0d8c
| <!--Product ID-->0x000c
| <!--Revision-->1.00
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Stoner Acoustics UD100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Teac UDH01-B
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Terratec Aureon 5.1 USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Terratec Aureon 5.1 USB MKII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->TerraTec Electronic GmbH Aureon Dual USB
| 0x0ccd
| 0x0077
| <!--Product ID-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Terratec Phase26
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Trust 510 EX 5.1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Logitech A-5572A USB 2.0 to 3.5mm jacks Virtual 7.1 Surround Sound Adapter or accessory of Logitech Clearchat pro USB or Logitech USB Headset H530
| <!--Vendor ID-->0x0003
| <!--Product ID-->0x046D
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Trumix TM-10 USB Audio Interface
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->2024 maybe cc
|-
| <!--Description-->Trumix TM-12 USB-C
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->2024 maybe cc usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->Turtle Beach Audio Advantage Amigo Micro II USB Sound Card & Headset Adapter
| <!--Vendor ID-->0x10F5
| <!--Product ID-->0x0211
| <!--Revision-->0100
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|-
| <!--Description-->Vantec NBA-100U 7.1 Channel
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->{{unk| }}
| <!--Records-->{{unk| }}
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Playback-->
| <!--Records-->
| <!--Opinion-->
|}
Companies including Access, Alesis, Allen&Heath, American Audio, CME, ESI, Infrasonic, Lexicon, Numark, Presonus, Reloop, SIMS, Sound Devices, Steinberg, Swissonic, Tascam, Terrasoniq, Terratec, Yamaha and Yellowtec decided to license and bundle this driver. So fully functional custom drivers are available for Access Virus TI, Access Virus TI snow, Alesis Multimix 8 USB2.0, Alesis Multimix 16 USB2.0, Allen&Heath XONE:2D, Allen&Heath XONE:3D, Allen&Heath XONE:4D, Allen&Heath XONE:DX, Allen&Heath XONE:DB4, American Audio Versa Port, CME XCORPIO, ESI ESU1808, ESI Gigaport AG / DG, ESI Maya 44 USB, Infrasonic Amon, Lexicon I-ONIX U22, Lexicon I-ONIX U42S, Lexicon I-ONIX U82S, Mindprint DI-MOD USB, Numark DJ IO, Numark NS6, Numark NS7, Numark Omni Control, Numark V7, Presonus Audiobox USB, Reloop Digital Jockey, SIMS Primus, Sound Devices USB pre, Steinberg MI2, Steinberg MI4, Swissonic Easy USB, Tascam M-164UF, Tascam US-122L, Tascam US-144, Tascam US-Tascam US-144mkII 122mkII, Tascam US-200, Tascam US-600, Tascam US-1641, Tascam US-1800, Tascam US-2000, Terratec Area 61, Terrasoniq Phase X64, Terratec Phase 26 USB, Yamaha UW10, Yamaha UW500, Yellowtec PUC2 and many others.
Well, those companies are using the same driver framework because all of those interfaces use the same microprocessor/firmware architecture to communicate with the USB bus. Just like almost all FireWire audio interfaces use the same TC Dice or BridgeCo chipsets. Usually it does not make sense for companies to develop their own USB1.1/USB2/FW framework for a product they are going to sell for <$500.
However, that isn't the end of the story. The companies who develop audio interfaces implement different features into their devices and must update the driver and firmware to accommodate those features. That is where things can go wrong. Sometimes there is miss-communication about how things are coded, sometimes the developer who started a project leaves without transferring his knowledge to his successor, etc. You have to keep in mind that there are no "big" computer audio companies. Even the companies that seem big in the scale of the market, probably have fewer employees than you'd think.
A very well made interface that is designed from scratch from the ground up would be a very expensive device, regardless of whether it's USB, FW, PCIe or whatever.
Round-trip latency is the sum of the following:
<pre>
ASIO input buffer
ASIO output buffer
A/D D/A converter latency
The driver's hidden safety buffer
</pre>
At a 64-sample ASIO buffer size/44.1k, Tascam units yield ~18ms total round-trip latency.
Typical USB audio interfaces use a large hidden safety buffer.
This helps ensure glitch-free playback... even under less than ideal circumstances. But... this comes at the expense of much higher round-trip latency. Short of doubling the sample-rate, there's no means of mitigating the higher round-trip latency.
If you have no plans of ever monitoring in realtime thru software based EFX/processing (ie: playing/monitoring DI bass thru an AmpSim plugin as you're playing), then this may not matter to you.
If you want the ability this play/monitor in realtime thru software based EFX/processing, make sure to get an audio interface that yields low round-trip latency.
As a point of reference the best PCI/e audio interfaces yield about 5ms total round-trip latency at a 64-sample ASIO buffer size/44.1k
The best Firewire and USB units yield 5.5-5.6ms total round-trip latency at those same settings.
Typical USB and Firewire units (that use a large hidden safety buffer) yield 12-18ms total round-trip latency at those same settings.
Anything above ~6ms starts to feel sluggish.
Anything above ~10ms feels like playing thru molasses.
USB Microphones
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->C-Media Electronics, Inc. CM108 Audio Controller Mic
| <!--Vendor ID-->0x0d8c
| <!--Product ID-->0x013c
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Elgato WaveMic
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Elgato Wave:1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 no driver }}
|-
| <!--Description-->Elgato Wave:3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 no driver lightweight }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->hyperx solocast
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 no driver}}
|-
| <!--Description-->hyperx quadcast
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sennheiser CC510 USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Alesis USB-Mic microphone podcasting kit
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Audio-Technica AT2020 (AT202) AT4040
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Audio-Technica AT2035
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Behringer B1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Blue Microphones Snowball
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Blue Microphones Snowball iCE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| cardioid only }}
|-
| <!--Description-->Blue Microphones Yeti
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|can pick up a lot of background noise but not sure if right mode used }}
|-
| <!--Description-->Blue Microphones Yeti Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| can pick up a lot of background noise but not sure if right mode used }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->MXL 2001A/600 Studio Microphone Pack / MXL 2003A Studio Condenser
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Microsoft LifeChat LX-3000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Namtai SingStar(TM) PS2 SCEH-0001 USBMIC
| <!--Vendor ID-->0x1415
| <!--Product ID-->
| <!--Revision-->0.01
| <!--Opinion-->{{unk| mono microphones }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Neumann
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Razer Seiren X
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Razer Seiren Mini USB Condenser Microphone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Rockband USB Mic
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Rode NT1A VideoMic Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Rode Podcaster 2 USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| RODECaster Pro usb audio compatible}}
|-
| <!--Description-->Rode NT1A NT2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| NT2 better }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Roland R-07
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Samson Go Mic - Portable USB Microphone for Recording
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| mini usb r.h.s. and clip on the bottom left hand side}}
|-
| <!--Description-->Samson Go Mic Clip On USB Microphone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| switch to choose between Cardiod, Omni and -10 dB modes, a 3.5mm headphone socket and a USB socket}}
|-
| <!--Description-->Samson C01U
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| cardoid only}}
|-
| <!--Description-->Samson C03U
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Shure MV7 USB Podcast Microphone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->SONY PCM-D50 handy
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| one mini usb 5V, }}
|-
| <!--Description-->Sony PCM-M10
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| one mini usb out 5V, }}
|-
| <!--Description-->SONY
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| one mini usb out, }}
|-
| <!--Description-->SONY
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| one mini usb out, }}
|-
| <!--Description-->TASCAM DR-1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008, one mini usb out, lithium battery}}
|-
| <!--Description-->Tascam DR-07
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009, one mini usb out, aa battery}}
|-
| <!--Description-->Tascam DR05
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011, one mini usb port for file transfer and charging the AA batteries }}
|-
| <!--Description-->Tascam DR-40
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 mini usb aa battery }}
|-
| <!--Description-->Tascam DR-07mkII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012 , one mini usb out, }}
|-
| <!--Description-->Tascam DR-05X
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 , one micro usb out, }}
|-
| <!--Description-->Tascam DR-07X
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 , one micro usb out, }}
|-
| <!--Description-->Tascam DR-40X
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 , one micro usb 3 aa battery }}
|-
| <!--Description-->Tascam DR-05XP
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 , one usb-c , }}
|-
| <!--Description-->Tascam DR-07XP
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 , one usb-c , }}
|-
| <!--Description-->Tascam DR-40XP
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 , one usb-c, }}
|-
| <!--Description-->Tascam DR-100mkIII
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| , usb , }}
|-
| <!--Description-->Tascam
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| , usb , }}
|-
| <!--Description-->Zoom H4
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2006 no driver, mini usb 5V }}
|-
| <!--Description-->Zoom H2
| <!--Vendor ID-->0x1686
| <!--Product ID-->0x0095
| <!--Revision-->
| <!--Opinion-->{{unk|2007 no driver, mini usb 5V audio i/f USB Card and USB Audio; press the Record button when USB Audio is displayed. Press Record again to choose the default }}
|-
| <!--Description-->Zoom H4n
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2009 no driver, mini usb 5V }}
|-
| <!--Description-->Zoom H1
| <!--Vendor ID-->0x1686
| <!--Product ID-->0x0120
| <!--Revision-->
| <!--Opinion-->{{unk|2010 no driver, mini usb 5V and display will alternate between USB Card and USB Audio; press the Record button when USB Audio is displayed. Press Record again to choose the default }}
|-
| <!--Description-->Zoom H2n
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 no driver, mini usb 5V audio i/f press the Record. Press Record again to choose the default }}
|-
| <!--Description-->Zoom H4n PRO
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2011 no driver, mini usb 5V }}
|-
| <!--Description-->Zoom H6
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2013 untested, 2xlr, 5v mini usb, }}
|-
| <!--Description-->Zoom H5
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 no driver, 5v mini usb, 2 xlr, }}
|-
| <!--Description-->Zoom H1n-vp handy
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 no driver, mini usb 5V }}
|-
| <!--Description-->Zoom H6studio
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 untested}}
|-
| <!--Description-->Zoom
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|no driver}}
|-
| <!--Description-->Zoom Q3
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2008 untested usb a cord, no hdmi, 480p}}
|-
| <!--Description-->Zoom Q3HD Handy Video Recorder
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2010 untested, built in usb-a cord, mini hdmi, 1 hour on 2 AA batteries, H.264 movies 480p }}
|-
| <!--Description-->Zoom Q2HD Handy
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2012 untested, up 720p but no stablisation, mini usb cord, 1 hour on 2 AA batteries}}
|-
| <!--Description-->Zoom Q4
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 untested, li-ion battery}}
|-
| <!--Description-->Zoom Q4N
| <!--Vendor ID-->0x1686
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2015 untested, li-ion battery}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Audio Technica ATR4697-USB Boundary Microphone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->CAD Audio CAD USB Condenser Boundary Microphone
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->MXL AC-44 Boundary Conferencing Mic
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Samson Audio SAUB1 Boundary Microphone (USB)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|}
USB Speakers
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Focal XS 2.1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
USB Headset Wired/Wireless
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Logitech Vantage Wired (came free with PS2 Socom3)
|
|
|
| <!--Opinion-->{{unk| }}
|-
| Logitech G330
|
|
|
| <!--Opinion-->{{unk| }}
|-
| Logitech Premium USB Stereo Headset 350
|
|
|
| <!--Opinion-->{{unk| }}
|-
| Plantronics DSP-300
|
|
|
| <!--Opinion-->{{unk| }}
|-
| Plantronics GameCom 777
|
|
|
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Logitech G-930 Wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| [http://www.makeuseof.com/tag/set-usb-wireless-earphones/ Plantronics Audio 995 Wireless RF]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| Sennheiser Wireless
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
[https://www.youtube.com/watch?v=Be1e0QPIPK0 Mixers]
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->ALESIS MULTIMIX 4 CHANNEL USB MIXER
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Alesis - MultiMix 8 USB FX (USB 1.0)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2010 usb compliant?, up to 16-bit/48kHz, 18v 500mA -
|-
| <!--Description-->Alesis - MultiMix 8 USB 2.0 FX (USB 2.0)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2012 usb compliant?, up to 16-bit/48kHz,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Allen&Heath MixWiz16
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> maybe not usb compliant,
|-
| <!--Description-->Allen and Heath ZED Power 1000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb 8 xlr, usb-b out, }}
|-
| <!--Description-->Allen & Heath ZEDi-10
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> maybe not usb compliant,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Behringer XENYX 302USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 5-Input Mixer/Audio Interface - 1 xlr - }}
|-
| <!--Description-->Behringer Xenyx Q502USB Mixer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|no driver}} Behringer 2*18.5V 250ma psu - 1 xlr - phanton power -
|-
| <!--Description-->Behringer Xenyx Q802USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} Behringer 2*18.5V 250ma psu - 2 xlr - phanton power -
|-
| <!--Description-->BEHRINGER XENYX 1204USB 8-Channel 2-Bus Mixer USB/Audio Interface Studio/Live
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} iec kettle psu lead - can develop constant background hiss over time
|-
| <!--Description-->Behringer XENYX X1222USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver - 12-Channel Analog Mixer with USB Interface and Effects}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->Depusheng HT-7 HT7USB 7 Channel Audio Mixer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2023 cheap no driver, USB MP3 player to work, format your USB stick Fat32 as a Logical drive - not primary}}
|-
| <!--Description-->Depusheng XT7
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2025 cheap no driver}}
|-
| <!--Description-->Depusheng DT8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2025 cheap no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->Spirit soundcraft Folio FX8 with Lexicon Effects Processor
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} unusual power connector - [https://github.com/lack/soundcraft-utils usb routing] -
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->Weymic Professional F7 7-Channel 2-Bus Mixer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2022 no driver, cheap mixer with 3pin ac input (introduces noise) and 1 usb-a port}}
|-
| <!--Description-->Weymic Professional F7-Pro 7-Channel 2-Bus Mixer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2022 no driver}}
|-
| <!--Description-->Weymic A80
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2024 no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->Yamaha
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
|}
Mixer no hardware usb
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->ALTO Lynx MIX82FX Audio Mixer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->Alto L16
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->Behringer MXUL5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->Behringer MX602A
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->Behringer Eurorack UB502
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb 17.5V 3pin psu needed}}
|-
| <!--Description-->Behringer Eurorack UB802
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb 2 xlr,}}
|-
| <!--Description-->Behringer Eurorack UB1002
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb 2 xlr,}}
|-
| <!--Description-->Behringer Eurorack UB1202
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb 4 xlr, }}
|-
| <!--Description-->Behringer Eurorack UB1602
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->Behringer RX1602
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->Behringer 802 XENYX 8-Input 2-Bus Mixer Small Format Mixer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} Behringer 18.5V ???ma psu - 2 xlr - phanton power -
|-
| <!--Description-->Behringer Xenyx 502
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->Behringer Xenyx
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->Behringer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->IMG stage Line MMX-122
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb, 4 xlr, iec cable}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
| <!--Description-->Mackie 802VLZ4 Mackie 802-VLZ4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb , psu}}
|-
| <!--Description-->Mackie 1202-VLZ Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb, mains iec}}
|-
| <!--Description-->Mackie Mix5 Mixer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}} 18v 300mA psu - 5 Channel -
|-
| <!--Description-->Mackie Mix8 Mixer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}} 9v x2 600mA psu -
|-
| <!--Description-->Mackie MIX12FX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb, 4 xlr, 9v 500mA x2 psu, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no usb}}
|-
| <!--Description-->[https://www.soundcraft.com/en/product_documents/en/owners_manual Soundcraft] Spirit Folio F1 Fader 100
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} 16 Channel Mixer -
|-
| <!--Description-->Soundcraft EPM6
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
| <!--Description-->Soundcraft EPM8
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
| <!--Description-->Harman Soundcraft EPM 12
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}} iec kettle power lead -
|-
| <!--Description-->Soundcraft EPM 16
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->Soundcraft Notepad 8FX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
| <!--Description-->Soundcraft Notepad UI12
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> connect via wifi
|-
| <!--Description-->Soundcraft Notepad UI16
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion--> connect via wifi
|-
| <!--Description-->Soundcraft Notepad 124FX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection, 14.8V x2 3 pin psu}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
| <!--Description-->t.mix xmix 1402fx mp usb
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection, mains iec, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no hardware usb connection}}
|-
|}
==Webcameras==
A USB camera has two dedicated chips: a controller or bridge and an image sensor.
There was no Commodore support for video interfaces. The only commercial, now discontinued application that defined some sort of standard was VHI Studio by iospirit.
===OLD standards===
See [http://www.e3b.de/usb/main_supported_e.html support pages] and [http://www.e3b.de/usb/main_faq_e.html here] and some [http://webcam-osx.sourceforge.net/cameras/index.php?orderBy=status further compatibility]
Pencam STV680
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| AIPTEK stv680
| 0x0553
| 0x0202
|
| {{N/A|untested}}
|-
| Konica e-mini
| 0x04c8
| 0x0722
|
| {{N/A|untested }}
|-
| DigitalDream l'espion XS
| 0x1183
| 0x0001
|
| {{N/A|untested}}
|-
| [http://reviews.cnet.com/webcams/creative-webcam-go/1707-6502_7-1446174.html Creative WebCam Go mini]
| 0x041e
| 0x4007
|
| {{N/A|untested}}
|-
|}
SonixcamTool (Sonix webcams and derivates)
'''Note [http://amigadev.free.fr/sonix/ some] Sonix Webcams with a Sonix SN9C1xx controller ''and'' a pas106b or tas5110c1b sensor support bulk mode which works even with pciusb.device!'''
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Macally IceCam II
| 0x0c45
| 0x05d8
|
| {{N/A|untested}}
|-
| Sweex MiniCam 100K
| 0x0c45
| 0x6005
|
| {{N/A|untested - sensor tas5110c1b}}
|-
| Macally IceCam Portable
| 0x0c45
| 0x6007
|
| {{N/A|untested - sensor tas5110d}}
|-
| Sweex 100K
| 0x0c45
| 0x6009
| 0x0101
| {{yes|bulk works - sensor pas106b}}
|-
| [http://www.epinions.com/pr-Chicony_TwinkleCam_Webcam/display_~full_specs Chicony Twinkle DC-2110A]
| 0x0c45
| 0x600d
|
| {{no|no}}
|-
| Unknown
| 0x0c45
| 0x601e
|
| {{no|no}}
|-
| USB PC Camera (SN9C102)
| 0x0c45
| 0x6028
|
| {{no|no - sn9c10x + pas202b}}
|-
| Trust SpaceC@m 120 and 150
| 0x0c45
| 0x6029
|
| {{N/A|untested - sensor pas106a}}
|-
| HiRes Webcam Live
| 0x0c45
| 0x602c
|
| {{no|no - sensor ov7630}}
|-
| [http://www.sweex.com/en/assortiment/sound-vision/webcams/JA000020 Sweex USB Webcam 300K]
| 0x0c45
| 0x608f
|
| {{no|no - sensor ov7630}}
|-
| Speedlink Sphere Webcam SL-6820, 350K
| 0x0c45
| 0x613c
| 0x0101
| {{N/A|untested - sensor HV7131R}}
|-
| WB-3250P
| 0x0c45
| 0x613e
|
| {{no|no - sensor ov7630}}
|-
| Unknown
| 0x0c45
| 0x6207
|
| {{no|no}}
|}
<pre>
micromaxx USB Camera STM 1363 514 works ---
USB Tower Lego 1684 1 works need NCQ
Trust Spycam 100plus STM 1363 514 works
</pre>
ov51x.class - no driver
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| D-Link VGA Webcam (640x480)
| 0x05a9
| 0x8519
|
| {{no|no driver}}
|-
| Sony PS2 EyeToy Logitech/Logicool Black (ov519) SCEH-0004
| 0x054c
| 0x0154
|
| {{no|no driver}}
|-
| Sony PS2 EyeToy Namtai Silver (ov519) SLEH-00031 SLEH-00030
| 0x054c
| 0x0155
|
| {{no|no driver}}
|-
|}
===UVC.class - [https://www.usb.org/document-library/video-class-v15-document-set USB Device Class Definition for Video Devices or USB Video Class]===
AROS needs realtime isochronous transfers in EHCI and XHCI, then a usb uvc.class which might create a virtual UVC.VHI type device driver for use by AROS apps
since 2019 the market is filled with UVC Compliant USB HDMI Capture
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Acasis 4K30
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|}}
|-
| <!--Description-->Acasis 4K60 HD VS009
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|4k 60hz ok for chat streams}}
|-
| <!--Description-->Acasis 4K60 HDMI HDR Game Live Video Capture
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| for chat streams }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->AJA U-tap HDMI
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|}}
|-
| <!--Description-->ASUS TUF CU4K30
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->ATEN CAMLIVE HDMI to USB-C UVC Video Capture adapter UC3020 HDMI (F) TO USB-C M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 possibly UVC and UAC standard support allows up to 1080P @ 60}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Avermedia Live Streamer Cap 4K - BU113
| <!--Vendor ID-->0x07ca
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 uvc usb3}}
|-
| <!--Description-->AVerMedia GC515 video capturing device
| <!--Vendor ID-->0x07ca
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 USB 3.2 Gen 1 (3.1 Gen 1)}}
|-
| <!--Description-->AVerMedia Live Gamer Ultra GC553
| <!--Vendor ID-->0x07ca
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 usb3 powered by Type C USB cable and 4K HDMI cable}}
|-
| <!--Description-->AVerMedia Live Gamer Ultra S GC553PROW 302AGC553DL2
| <!--Vendor ID-->0x07ca
| <!--Product ID-->0x1553
| <!--Revision-->
| <!--Opinion-->{{unk|2021 powered by good quality type C USB3 cable and 4K HDMI 2.0 cable}}
|-
| <!--Description-->AVermedia Live Gamer Mini GC311 302AGC311DG9
| <!--Vendor ID-->0x07ca
| <!--Product ID-->0x1311
| <!--Revision-->
| <!--Opinion-->{{unk|2021 uvc compliant up to 1080p 60fps capture and supports internal hardware H.264 encoding }}
|-
| <!--Description-->AVerMedia Ez Recorder 330 (ER330)
| <!--Vendor ID-->0x07ca
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 designed to work independently and is generally not compatible as a plug-and-play UVC capture card }}
|-
| <!--Description-->AVerMedia Live Gamer extreme3 GC551G2 (LGX3)
| <!--Vendor ID-->0x07ca
| <!--Product ID-->0x3551
| <!--Revision-->
| <!--Opinion-->{{unk|2022 uvc compliant for intensive gaming streams, some vrr but no hdr with maximum recording resolution of 4K30/1080p60 from fully wired usb3 compatible cable - passing through 4K60/1080p120 Game Capture video capturing device HDMI}}
|-
| <!--Description-->AVerMedia Live Gamer Ultra Pro GC553Pro
| <!--Vendor ID-->0x07ca
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 usb3 }}
|-
| <!--Description-->AVerMedia Live Gamer Ultra 2.1 GC553G2 61GC553G20BV video capturing device
| <!--Vendor ID-->0x07ca
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 USB 3.2 Gen 1 (3.1 Gen 1)}}
|-
| <!--Description-->AVerMedia GC575
| <!--Vendor ID-->0x07ca
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 usb3 powered by Type C USB cable and 4K HDMI cable}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->AVMatrix
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->ClonerAlliance Flint 4KP Plus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->DIGITNOW U600 video capture card
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 uvc uac }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Epiphan AV.io HD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Epiphan AV.io 4K
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Elgato Cam Link 4K
| <!--Vendor ID-->0x0FD9
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 uvc }}
|-
| <!--Description-->[https://github.com/elgatosf/capture-device-support Elgato HD60 S+]
| <!--Vendor ID-->0x0FD9
| <!--Product ID-->0x006C, 0x006E
| <!--Revision-->
| <!--Opinion-->{{unk|2019 4K 30FPS capture, 1080p 60FPS uvc}}
|-
| <!--Description-->Elgato HD60 X
| <!--Vendor ID-->0x0FD9
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 uvc }}
|-
| <!--Description-->Elgato Cam Link 4K HDMI video capture card
| <!--Vendor ID-->0x0FD9
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 uvc compliant but can have usb disconnects}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->EVGA XR1 USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 USB 3.0 device with 1080/60 capture and 4K/60 passthrough}}
|-
| <!--Description-->EVGA XR1 lite USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 USB 3.0 device }}
|-
| <!--Description-->EVGA XR1 Pro USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 USB 3.0 device with 1080/60 capture and 4K/60 passthrough}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->EZcap Game Link Raw - ezcap321 usb3.1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 2160p30, 1080p120 and 1440p60 HDMI input and pass-through. - 1080p120, 2160p30 and 1440p60 recording. - Latency less than 50ms uvc}}
|-
| <!--Description-->EZCap GameDock Ultra
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 record at 4K30, 1440p60, and 1080p120}}
|-
| <!--Description-->EZcap 360 Game Capture Extreme
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2023 USB 3.0, 4K 60FPS passthru and 1080p 240FPS}}
|-
| <!--Description-->EZCAP 364 GameDock Extreme 2.1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Genki ShadowCast 1 & 2, the Pro version
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->HAUPPAUGE HD PVR Pro 60
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 4K in/Out 1080P 60fps Capture and Streaming PC Connected and Stand Alone }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Kondor Blue
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Nanjing Magewell Electronics Co ltd USB 3.0 XI100DUSB-HDMI Pro Capture
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2013 }}
|-
| <!--Description-->Magewell USB3.0 Silver HDMI Full HD Video Capture Device 1080p 32011
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2013 usb audio extract HDMI embedded audio output via headphones}}
|-
| <!--Description-->Magewell USB capture HDMI PLUS 2K 32040 320400000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2014 captures video up to 1920×1200, 1920×1080 or 2048×1080 at 60 fps over an HDMI capture from devices such as game consoles in up to DCI 4Kp60 4:2:0 input resolution, and it automatically upscales/downscales the signal to 2K for recording or streaming}}
|-
| <!--Description-->Magewell USB capture HDMI Gen2 32060
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2015 1080p gets hot, 165M HDMI receiver, max input 2048x1080 60fps 4:4:4, RGB/YUV 4:4:4 8/10/12-bit, YUY 4:2:2 12-bit, up to 8-channel 24-bit HDMI-embedded audio at 192kHz, HDMI 1.4a, output from 480p to 1080p, YUY2/UYVY/RGB24/RGB32 support video cropping, up/down scaling, de-interlacing, aspect ratio conversion, color format conversion, frame rate conversion, flip and mirror, up to 2-channel IEC60958 audio streams, 5V 0.5A 2.5W, }}
|-
| <!--Description-->Magewell USB Capture 4K Plus 32090
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 limited by the bandwidth of USB 3.0, the maximum frame rate can only reach 30 fps when capturing}}
|-
| <!--Description-->Magewell USB Capture 4K PRO
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 }}
|-
| <!--Description-->Magewell Pro Convert IP to USB
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|Captures one network eth NDI® High Bandwidth, NDI® HX2, NDI® HX3 sources or H.264/H.265 video source into software at resolutions up to 1080p60}}
|-
| <!--Description-->Magewell USB Fusion
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|versatile USB video capture device that allows users to switch between two HDMI inputs and one USB webcam input for live presentations}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->ROLAND UVC-01 USB Video Capture
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2020 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sunplus Innovation Technology Inc. MiraBox HSV321 ARX321 Video Capture device
| <!--Vendor ID-->ox1bcf
| <!--Product ID-->0x2c99
| <!--Revision-->
| <!--Opinion-->{{unk|2022 uvc uac }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->UGREEN CM716
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| uvc uac but disable HDCP on your source device (PS4/PS5, Xbox) }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->VisionTek UVC HD60 Capture Card
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Acer Aspire Crystal Eye AOA110 AOA150 0.3M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2008 webcam }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->AVerMedia Live Streamer CAM 313 (PW313)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2019 uvc 1080p/30 webcam}}
|-
| <!--Description-->AVerMedia Live Streamer DUO
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2021 uvc 1080p/60 webcam}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->[http://reviews.cnet.co.uk/webcams/creative-live-cam-optia-af-review-49294183/ Creative Live Cam Optia AF] 2.0M
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| {{no|2008 }}
|-
| <!--Description-->DSLR macro extensions + a cheap 50mm E-Series lens + some PVC tubing and a negative holder
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes| if uvc camera chosen}}
|-
| <!--Description-->DSLR scanning using a macro lens, for the adapter, for a 3d printed negative holder)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{yes| if uvc camera used }}
|-
| <!--Description-->Logitech C270
| <!--Vendor ID-->0x046d
| <!--Product ID-->0x0825
| <!--Revision-->
| <!--Opinion-->{{unk|720p }}
|-
| <!--Description-->Logitech C910 C920 HD Pro 5Megapixels 720p
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|Output mjpg 1080p}}
|-
| <!--Description-->Logitech C920s c922 HD Pro 5Megapixels 1080p
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|Output mjpg 1080p}}
|-
| <!--Description-->Logitech
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|}}
|-
| <!--Description-->Logitech Brio 100 300 500
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|}} 1080p
|-
| <!--Description-->Logitech MX Brio 4k
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|4k}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|}}
|-
| <!--Description-->Microsoft's LifeCam HD-3000 HD-5000
| <!--Vendor ID-->0x045e
| <!--Product ID--> 0x0779
| <!--Revision-->1.06
| <!--Opinion-->{{no|}}
|-
| <!--Description-->Microsoft LifeCam Cinema
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->Microsoft LifeCam Studio
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}} sony imx179 1080p
|-
| <!--Description-->Pi
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}} 1/2.8” Sony IMX291 image sensor, it's a 2MP, UVC-compliant, ultra-wide-angle, low light, high-speed USB 2.0
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}} OV5648
|-
| <!--Description-->razer kiyo
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}} 4 megapixel sensor 1080p 30fps 720p 60fps - 12 led ring light adjustable
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->TeckNet C068 1.3mpixel HTD USB2.0 Camera Vimicro Z-Star Corp
| <!--Vendor ID-->0x0AC8
| <!--Product ID--> 0x3420
| <!--Revision-->0x01FA
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->YEALINK(XIAMEN) NETWORK UVC50 is compatible with the UVC 1.1 protocol CP960-UVC50 and CP960-UVC80 kits PTZ, CP960-UVC30 Kit is UVC 1.5
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Amcrest ProHD 1080P WiFi Wireless IP Security Camera - 1080P (1920TVL), [https://www.ispyconnect.com/man.aspx%3Fn%3DAmcrest IP2M-841] nvr
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}} h264/rtsp, motion detection, features Sony image sensor and Ambarella processor - rtsp://[username]:[password]@[IPaddress]:[port]/cam/realmonitor?channel=[channel]&subtype=[stream] - [username] - username to login to the DVR or NVR, [password] - password, [IPaddress] - IP address of the device. If you are not on the same local network, this should be the external IP address of the device's network, [port] - port number, [channel] - channel number of the stream, [stream] - view the Main or Sub stream. (main stream is 0, sub stream is 1) , eg. rtsp://admin:admin@192.108.1.108:80/cam/realmonitor?channel=1&subtype=1 - utilizing RTSP ( rtsp://user:pass@ipcam1 )
|-
| <!--Description-->Axis all modern ones
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}} RTSP/RTP + H264/mjpeg or MJPEG over HTTP
|-
| <!--Description-->PTZ
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->DLink DCS-5222 5222L network camera
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}} camera streams H.264 over RTP controlled by RTSP
|-
| <!--Description-->Dlink DCS900
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->Sony
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->Wansview 1080p [http://marc.merlins.org/perso/linuxha/post_2013-11-10_Reviewing-IP-Webcams-for-Linux-and-Zoneminder_Dlink-DCS900_-Ubnt-Aircam_-Foscam-FI8904W-FI8910W_-FFI9820W_-FI9821W_-Wansview-NCB541W_-and-Zavio-F3210.html#NCM625GA NCM625GA] IP Camera WiFi Wireless IP Security Camera , Full HD Plug n Play Home Surveillance / Baby Monitor
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}} RTSP/RTP + H264/mjpeg - play its HD stream without problem with vlc rtsp://ip/live/ch0 and getting jpegs http://ipaddr/mjpeg/snap.cgi?chn=0 - methods involve transcoding h.264 video from the camera into jpeg's, which is cpu intensive - able to pull images manually, using http://username:password@ip/mjpeg/snap.cgi -
|-
| <!--Description-->Wansview NCB541W
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|}}
|-
|}
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc}}
|-
| <!--Description-->Avermedia Game Capture HD C281
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2011 standalone h.264 recording of up to component cable not hdmi but not uvc}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Avermedia GL310 Live Gamer Portable (LGP Lite)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2014 not working usb2 and USB Lite no uvc}}
|-
| <!--Description-->Avermedia AVerMedia Live Gamer Portable ([https://github.com/Trouffman/octv_gears_lgp Model C875])
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2014 usb2 no uvc}}
|-
| <!--Description-->AVerMedia LGX Live Gamer extreme GC550
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2015 but [https://github.com/ChrisAJS/lgx2userspace driver]}}
|-
| <!--Description-->AVerMedia LGX2 Live Gamer extreme2 gc550 plus gc551
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2017 but [https://github.com/ChrisAJS/lgx2userspace driver]}}
|-
| <!--Description-->Avermedia ExtremeCap UVC - BU110
| <!--Vendor ID-->0x07ca
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2017 maybe not uvc and uac}}
|-
| <!--Description-->AVerMedia Live Gamer Portable 2 Plus GC513 Micro-USB Capture Box LGP2 Plus
| <!--Vendor ID-->0x07ca
| <!--Product ID-->0x1513
| <!--Revision-->
| <!--Opinion-->{{no|2017 powered by a standard Micro-USB cable, video capture output up to 1080p60 capture to hdmi in, standalone sd card recording on exFAT or FAT32 of .MOV, 2160p pass-through hdmi out to tv - no vrr - [https://www.avermedia.com/uk/support/download#ans_part firmware latest 2.1.7.13, 2.1.7.14], SN74AVC8T245 8bit, DRV604 stereo, iTE IT6663FN hdmi 2.0 splitter, TLV320DAC3101 DAC, CS42L73 audio codec, CDCE913 PLL clock, W29N01HVSINA nand bios, I-Catch V35MA SOC CPU 32bit MIPS24K, ADV7480 hdmi mhl, }}
|-
| <!--Description-->AVerMedia Live Gamer 4K LG4K GC573
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2018 not uvc but [https://github.com/derrod/lg4k-linux drivers here], }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->Blackmagic intensity Extreme Capture Card
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2011 not uvc }}
|-
| <!--Description-->BlackMagic Intensity Pro 4k
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2015 }}
|-
| <!--Description-->Elgato Video Capture (1VC108601000)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->Elgato Game Capture HD60
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc, }}
|-
| <!--Description-->Elgato Game Capture HD GCHD
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc https://github.com/tolga9009/elgato-gchd needs firmware mb86h57_h58_idle.bin and mb86h57_h58_enc_h.bin}}
|-
| <!--Description-->Elgato HD60S Elgato Game Capture 4K60 S+ Video Capture
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|non uvc, }}
|-
| <!--Description-->August EZCap.tv model 116
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| }} poor audio recording
|-
| <!--Description-->E-SDS Diamond Maplin
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->Hauppauge 1212 HD PVR
| <!--Vendor ID-->0x2040
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| }} analog and component only - PlayStation (.m2ts), AVCHD (ts), or XBox(.mp4) recording formats - switched the component output from the default YPbPr to RGB.
|-
| <!--Description-->Hauppauge 1431 1445 HD PVR Gaming Edition HDMI Capture
| <!--Vendor ID-->0x2040
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2014 not working, can get warm}}
|-
| <!--Description-->Hauppauge HD Rocket
| <!--Vendor ID-->0x2040
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc}}
|-
| <!--Description-->Hauppauge HD-PVR2 (model 145210 Rev E4)
| <!--Vendor ID-->0x2040
| <!--Product ID-->0xE502
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->Hauppauge 1480 1482 HD PVR 2 GE Gaming Edition HDMI Capture green LED - 1498 1503 1504 Plus version with Mac support
| <!--Vendor ID-->0x2040
| <!--Product ID-->0xe514 0xe524
| <!--Revision-->
| <!--Opinion-->{{No| can get warm - [https://ez.analog.com/video/w/documents/581/adv7482-design-support-files ADV7482] [https://patchwork.kernel.org/patch/9201075/ video chip] with Magnum DXT H.264 encoder blob, IDR keyframe generation poor - best for model 157210 and not 157221 and Game Edition Plus (model 157320) 2040:E505 E505-00-00AF1234 [http://www.hauppauge.com/site/support/linux.html#tabs-3 ]}}
* HDMI: 1920x1080p50/60, 1920x1080i50/60, 1280x720p50/60, 720x480i, 720x576i, 640x480p60.
* Component: 1920x1080p50/60, 1920x1080i50/60*, 1280x720p50/60, 720x480p60, 720x480i, 720x576i.
* Composite: 720x480i and 720x576i
* Audio Inputs : HDMI PCM and RCA support with Adjustable Bitrate Quality 2 Channel AAC/AC3 audio codec
|-
| <!--Description-->Hauppauge 1512 HD PVR 2 PC blue LED with optical in input on the back
| <!--Vendor ID-->0x2040
| <!--Product ID-->0xe525
| <!--Revision-->
| <!--Opinion-->{{No| }} can get quite warm - IR Blaster added -
|-
| <!--Description-->Hauppauge Colossus2 E585-00-00AF4321
| <!--Vendor ID-->0x2040
| <!--Product ID-->0xe585
| <!--Revision-->
| <!--Opinion-->{{No| not uvc}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->Ion SLIDES2PC 35mm Portable Slide & Film Scanner
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->Ion Pics 2 PC
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->ION PowerScan USB film and slide scanner
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2011 not uvc }}
|-
| <!--Description-->Koolertron Sunny
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->FilmScan35 35mm Film Negative Scanner 1304 marks spencer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->U3 HD Capture
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->Razer Ripsaw HD - Game Capture
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc}} put in usb2 slot and use video BGR3 (Emulated) and OpenRazer drivers
|-
| <!--Description-->Razer Ripsaw HD USB HDMI Capture Card
| <!--Vendor ID-->0x1532
| <!--Product ID-->0x0d01
| <!--Revision-->
| <!--Opinion-->{{no| not uvc compliant}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->Silvercrest 35mm Photo Slide Scanner
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc but not great quality}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->Z-Star Microelectronics Corp. Traveler TV 6500 SF Dia-scanner
| <!--Vendor ID-->0x0ac8
| <!--Product ID-->0x3370
| <!--Revision-->
| <!--Opinion-->{{No|2010 not uvc and poor scans}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| not uvc }}
|-
|}
=== AR VR XR Headset ===
AROS needs realtime isochronous transfers in EHCI and XHCI, then an usb based uvc.class to vhi type driver for virtual display and maybe more
The primary engineering challenge of VR is motion sickness caused by a mismatch of visual and inner ear information, which is extremely well established as causing people to throw up in a wide range of contexts outside of VR. The experiences that make some people sick are low framerate. Foveated rendering doesn't solve vergence accommodation. Your eye will still be focused at infinity regardless of where you are looking, you'll just have the illusion that the foreground or background are out of focus. Eye tracking plus dynamic lenses (perhaps liquid lenses) or real light fields are necessary.
First start with apps that have simple static features at first, then advance to dioramasa and teleportation options for 10, 20 minutes and then gradually upgrade over a timespan of four weeks to train your brain. Avoid smooth motion stuff like rollercoaster or mountain heights until much later. Even with this preparation, VR makes 40% of people seasick nausea. If so, you may be able to use VR glasses just to watch videos and some slow moving apps [https://www.emuvr.net/ emuVR] instead.
*2014-2019 1st Gen, low resolution,
*2020-2025 2nd Gen, higher resolution,
*2026-
Most hardware typically has a 1-3 year retail lifespan with 1-3 years of updates after. Really need "right" tethered PCVR rather than wireless.
The advantage to being tethered to a PC is processing power. Any standalone headset is going to be running purely off of batteries.
VR and AR are known as XR
Technology will get immersed enough so not making people sick. Higher resolution, faster frame rates, and [https://github.com/opentrack/opentrack better tracking].
Eventually, hyper reality brings VR, AR and MR digital layers together as a less chaotic, optic tracking with no delay, agents understanding, experiences with objects
3Dgs 4Dgs gassian splats bullet time slice photo snaps .ply for WebXR
[https://lvra.gitlab.io/docs/hardware/ ],
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Big Screen Beyond 1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2023 pcvr 2560 x 2560, fixed IPD, }}
|-
| <!--Description-->bigscreen Beyond 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 pcvr oled 5120 x 2560 @75Hz 2688x2688 @90Hz over pancake lenses, 116 FOV, virtual screens, custom facial plate from iphone app, streamvr 2.0 basestations and controllers not included, no passthrough, 107g-196g, }}
|-
| <!--Description-->bigscreen Beyond 2e
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 pcvr oled 5120 x 2560 total up to 90Hz pancake lens 116 FOV adjustable IPD app needed for adjustment, eye tracking, custom face mask cushion, streamvr 2.0 basestations and controllers not included, seperate head strap and speaker modules extra costs, 110g-300g }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Dpvr P1 Pro 4k Ultra Vr Headset
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 wireless snapdragon, }}
|-
| <!--Description-->DPVR P2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Play for Dream MR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 android modular 3840x3552 uoled per eye 90Hz or qled mura issues, Arm snapdragon XR2+ Gen 2, eye tracking and 11 cameras 7 sensors 22 ir leds 14ms latency and foveated rendering, 1.5hrs battery, }}
|-
| <!--Description-->Play for Dream GravityXR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 ultralight head gear gx100 3w }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[https://lvra.gitlab.io/docs/community/ Valve Index HMD]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 tethered PC VR headset 1440 x 1600 120Hz, 108° and 104° FOV, fresnel lenses, SteamVR2 compatible tracking ir basestations, controllers aka Knuckles, dp 1.2 and usb3 cable proprietary cable end, no battery, }}
|-
| <!--Description-->Valve Steam Frame (Valve Deckard / Valve’s Index 2)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 - 2160 x 2160 up to 144Hz pancake lens, 108° and 96° FOV, wifi 6 fovelated streaming, Qualcomm Snapdragon 8 Gen 3 with [https://github.com/FEX-Emu/FEX fex] arm-to-x86 x64 translation layer, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sony PSVR2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|2023 PCVR with adapter, two, one for each eye, 2000 x 2040 resolution OLED panels from 90Hz 120Hz refresh rates, fresnel lenses, 116° and 102° FOV, sony proprietary headset cable end, needs additional comfort options, }}
|-
| <!--Description-->VisionPro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Goertek glasses
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->HTC Vive ?
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| 2016 2x 1080x1200 needs external power supply, }}
|-
| <!--Description-->HTC Vive Original
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2016 108° and 96° FOV}}
|-
| <!--Description-->HTC Vive Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2016 , uvc, at least 2 powered steamvr basestations so 3 to 5 wall warts in total, proprietary cable end, }}
|-
| <!--Description-->HTC Vive Pro 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2017 dual 1440x1600 oled displays, 116° and 100° FOV - steamvr 2.0 basestation 2 for 5m2 area 4 for 10m2 - steamvr 2.0 joypads - low latency wireless later - type USB-c headphone adapter required, [https://github.com/CertainLach/VivePro2-Linux-Driver Rust on Linux] with [https://github.com/santeri3700/vive-pro-2-on-linux Shell], proprietary cable end, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Lynx R1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2023 android Qualcomm Snapdragon XR2 Gen 1, }}
|-
| <!--Description-->Lynx R2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2026 company liquidated, 2 x 2312x2160 110 FOV pancake lenses, LynxOS android Qualcomm Snapdragon XR2 Gen, openxr 1.1, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Oculus Rift prototype development kit [https://www.virtual-boy.com/forums/t/the-oculus-rift-dk1-thread/ DK1] with [https://www.youtube.com/watch?v=X_T4DJyy2Bo wired razer hydra controllers]
| <!--Vendor ID-->0x2833
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2013 pcvr LCD 1280 × 800 resolution 640 × 800 per eye up to 110° FOV, and 3DoF rotational tracking via a 1000Hz 9-axis IMU (Accelerometer, gyroscope, and magnetometer), no positional optical tracking either inside-out or outside-in, 380g, nausea issues, , }}
|-
| <!--Description-->Oculus Rift prototype development kit [https://github.com/facebookarchive/RiftDK2/tree/master DK2], [https://www.ifixit.com/Teardown/Oculus+Rift+Development+Kit+2+Teardown/27613 ifixit teardown]
| <!--Vendor ID-->0x2833
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2014 pcvr, 5.7" Super AMOLED display with a resolution of 960 x 1080 per eye 100° field of view, 1 usb Positional Tracker DK2 camera, lots of wires}}
|-
| <!--Description-->Facebook [https://github.com/thaytan/OpenHMD/tree/rift-kalman-filter Oculus Rift CV1] [https://noraisin.net/diary/?m=202201 some Linux support] [] [https://github.com/OpenHMD/OpenHMD/issues/330 AMD usb issues] [https://github.com/OpenHMD/OpenHMD/wiki/Xorg ] [https://github.com/Doc-Ok/OculusRiftCV1Camera Live Video] [https://www.youtube.com/@thaytan Youtube] [https://github.com/Fredrum/riftOnLinux Pi] [https://github.com/OhioIon/riftDriverPi ], but not quite there with the [https://www.youtube.com/watch?v=DSsCN6HFkWc consumer CV1], [https://forum.dcs.world/topic/142259-cv1-not-working-in-dcs/#comment-2878168 orange led could be HDMI Signal is not within HDMI Spec and might be Overclocked or usb3 not getting enough power frustrating],
| <!--Vendor ID-->0x2833
| <!--Product ID-->0x3031, 0x2031, 0x0031 and 0x0211 for 3p-a basestations lighthouses, 0x045e 0x02e6 for xbox wireless adapter
| <!--Revision-->
| <!--Opinion-->{{No|2016 powered run from your PC maybe uvc via wired dual PenTile OLED 2160x1200 (1080x1200 per eye) @ exactly 90Hz but screen door effect (space between pixels), 87 FOV, IPD from 58mm to 72mm, good 3D audio and okay mic, constellation headset 6DOF (3-axis rotational tracking + 3-axis positional tracking) with up to 3 usb infrared basestation (1 in front and 2 behind pointing upwards) on usb3 and usb2 to your PC but the tracking can be fragile so set it up on a weekly basis, wired only HDMI 1.3, USB 3.0 bus powered with proprietary plug in headset, 470g 1lb front heavy, 2 robust 1st Gen touch controllers with external sensors i.e. outside-in - 1 aa alkaline over rechargable battery each , press occulus and B buttons for 2 secs to connect, headset traps air so gets very warm inside and random disconnects due to twisting action on the top of the headset and/or cables, t4 torx screws }}
|-
| <!--Description-->Facebook Occulus Go 32Gb
| <!--Vendor ID-->0x2833
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2018 discontinued 2020 android based, 1280x1440 per eye 60Hz LCD, not gaming, no inside-out and limited self tracking, }}
|-
| <!--Description-->Facebook Oculus Rift S [https://noraisin.net/diary/?m=202201 some Linux support]
| <!--Vendor ID-->0x2833
| <!--Product ID-->0x0051 headset (cdc, audio, tracking data), 0x2052 usb hub,
| <!--Revision-->
| <!--Opinion-->{{No|2019 PCVR wired dual LCD 1080 by 1200, 88 horizontal FOV, display port (fibre optic strands) and annoying USB3 copper cables (power, audio and other data) but proprietary port in the headset, cameras on the headset ("inside-out") tracking so no base stations, non removeable head band and cushions and ipd hard to set, requires specific fragile Rift S/Quest1 2nd Gen Touch controllers which has a ring of translucent plastic with leds inside - t5 torx to disassemble for sticks drifting}}
|-
| <!--Description-->Facebook Occulus Quest 1
*032Gb
*064Gb
| <!--Vendor ID-->0x2833
| <!--Product ID-->0x0183 (single adb boot), 0x0
| <!--Revision-->
| <!--Opinion-->{{No|2019 android standalone wireless, 1440 x 1600 72Hz oled, front heavy though, play area 2m x 2m or bigger, low clocked Qualcomm Snapdragon 835 (MSM8998) (4x Kryo 280 Gold cores ARM Cortex-A73) + (4x Kryo 280 Silver A53), 2 to 3 hrs play time, 575g, 2nd Gen touch controllers, }}
|-
| <!--Description-->Meta Oculus Quest 2 KW49CM aka Codename Del Mar [https://www.meta.com/en-gb/help/quest/967070027432609/ fragile 3rd Gen Touch controllers] [https://www.youtube.com/watch?v=Cgejky8ZeoM internal battery] and selling over 20 million, more than all other quest headsets combined
*064Gb
*128Gb (110Gb free)
*256Gb
Setup continuous wifi, create Meta Oculus account, [https://developers.meta.com/horizon/ verify dev account, click on My apps], [ create Organization -> My Organization Groupings], [https://www.youtube.com/watch?v=QPInS5xxF-0 finally, meta quest mobile app to switch on adb],
| <!--Vendor ID-->0x2833
| <!--Product ID-->0x5010 (), 0x0083 (massstorage), 0x0086 (), 0x0186 (adb and xrsp [https://github.com/shinyquagsire23/xrsp_tests tests]), 0x0090 (composite adb), 0x0081 (),
| <!--Revision-->0419
| <!--Opinion-->{{unk|2021 android stand alone, lcd 1832x1920 per-eye 90Hz refresh rate, 97 FOV, fresnel lenses, 6DOF (degrees of freedom), 58-63-68 IPD settings, low clocked Arm snapdragon xr2 gen 1 apps with Meta Link cable USB-C usb3.2 pcvr maybe, b/w but no color passthrough, 6 t2 torx and 5 ph00 screws in headset (long bit), discontinued December 31, 2024, feature updates until December 2026, critical bug fixes and security updates until December 2027, 470g, Oculus + B button on right controller (move) and Menu + Y button on left controller (click) for about 3 seconds, 10W 5v 2a, RTL8153 chipset usb support,
*V60 unable to
*V77 pcvr issues
*V79 unable to }}
|-
| <!--Description-->Facebook Occulus Quest Pro aka Codename Seacliffe
| <!--Vendor ID-->0x2833
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2022 android standalone wireless 1440 x 1600 72Hz oled, 106° and 96° FOV mini lcd local dimming, pancake lenses, limited eye tracking, play area 2m x 2m or bigger, higher clocked snapdragon xr2 gen 1 arm cpu Arm apps, 1 to 2 hrs play time, new pro controllers with 3 cameras each, battery at rear, wireless charging, color passthrough, 9V 3A or 5V 3A,
*v77 capped wifi }}
|-
| <!--Description-->Meta Oculus Quest 3 aka Codename Eureka [ Air Light ALVR] or [ WiVRn] with fragile touch plus q3 controllers
*128Gb
*512Gb
streaming from PC with [https://github.com/alvr-org/Monado-ALVR ALVR], runtime of [https://monado.freedesktop.org/ Monado steamvr alternative openxr openVR], with Envision GUI,
| <!--Vendor ID-->0x2833
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2023 standalone, pancake lenses on lcd 2064 x 2208 res panel per eye 1200ppi - 104° and 96° FOV - up to 120Hz, Arm snapdragon xr2 gen 2 apps, foveated rendering, Meta Link cable USB-C 3.2, headstrap clamshell or halo style, speaker arms fragile, color passthrough, 510g, 18W 9v 2A or 15W 5V 3A,
*v74 ok }}
*v76 pcvr issues }}
|-
| <!--Description-->Meta Quest 3S aka Codename Ventura
*128Gb
*256Gb
| <!--Vendor ID-->0x2833
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 Arm snapdragon xr2 gen 2 cpu, lcd 1832 x 1920 fresnel lenses, 97 FOV, headphone arms fragile, better air flow, no promixity sensor inside, Meta Link cable USB-C 3.2, passthrough, }}
|-
| <!--Description-->Meta Boba 3
| <!--Vendor ID-->0x2833
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2027 ultra-wide 180° x 120° FOV, snapdragon XR2 G2, }}
|-
| <!--Description-->Meta Tiramisu
| <!--Vendor ID-->0x2833
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2027 µOLED displays with 90 pixels per degree, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Pimax 5K Super Plus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 }}
|-
| <!--Description-->Pimax 8K
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2020 }}
|-
| <!--Description-->Pimax 8K-X 8KX
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 }}
|-
| <!--Description-->Pimax Crystal Light
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 tethered to PC with 2160 x 2160 4k 120Hz, 115° and 96° FOV, inside-out tracking, no battery, display port cable, variable qc and customer service, }}
|-
| <!--Description-->Pimax Crystal Super
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 tethered to PC with 3640 x 3640 4k 90hz, 116°+ and 100° FOV, eye tracking, inside-out tracking, no battery, display port cable, }}
|-
| <!--Description-->Pimax Dream Air with Lighthouse(s)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 tethered 3840 by 3552 @90Hz micro oled with pancake lens, 100 HFOV 96 VFOV but FOV IPD changes in app, link box for headset 2 split y cables, removable face gasket, 290g, steamVR2 bases and controllers, eye tracking, }}
|-
| <!--Description-->Pimax Dream Air SLAM
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 Simultaneous Localization and Mapping (SLAM) tracking inside-out so no base stations, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[https://somniumspace.com/ Somnium VR One VR1] [https://portal.vrgineers.com/user-guide/software/ open source] VR headset
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 pcvr 2880 x 2880 per eye @90 @120Hz, 125° horizontal 100° vertical FOV, 2 x SteamVR 2.0 bases, passthrough, 900g }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Varjo Aero VR-1 Headset
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 psu needed, 2 x Mini LED binocular of 150 nits, 2880x2720 per, 90Hz, FOV 102° horizontal, 73° vertical, 720g with headstrap, 2 x SteamVR 2.0 basestations, no speakers/mic, hdmi and usb3.0}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Varjo Aero XR-3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Varjo Aero XR-4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Camelo La Melaza Music Shield
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2026 no usb only bluetooth , }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->InAir 2 elite suite
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 ar nits 46FOV , , 4h battery life, 80g, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Oakley Vanguard
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->RayNeo Air 3s
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 AR 100in 46FOV 650nits, usb-c 79g }}
|-
| <!--Description-->RayNeo Air 3S Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 AR 135in virtual display 46FOV 1200nits, usb-c 80g }}
|-
| <!--Description-->RayNeo Air 4 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 AR oled vision 4000 processing, HDR10, 47 FOV }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Rokid Max 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 ar 147in 50 FOV 650nits, usb-c back left, 76g, }}
|-
| <!--Description-->Rokid AI Spatial with Station 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 AR 600nits 147in 50FOV 75g, }}
|-
| <!--Description-->Rokid
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| ar ai smart glass}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Viture Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 135in 46 FOV 1000nits, magnetic connector, 77g, }}
|-
| <!--Description-->VITURE XR Luma
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 ar 147in 1200p 50 FOV, }}
|-
| <!--Description-->Viture Luma Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 152in 52 FOV 1000nits 1200p, 3dof, , 79g, }}
|-
| <!--Description-->Viture Luma Ultra
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 in FOV, 2 cameras, 3dof 6dof, }}
|-
| <!--Description-->[https://github.com/wheaney/XRLinuxDriver Viture Luma Pro]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Viture Beast
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 ar 1250nits 58FOV 174in, magnetic, 88g, }}
|-
| <!--Description-->VITURE Beast X Glasses models (Immersive 3D Moonlight)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 based 2D to 3D conversion with support DP Alt Mode (DisplayPort over USB-C), 1200p, 3df tracking, practic lenses 58deg POV, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Xreal One
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 ar 600nits, 50FOV, 3dof, usb-c 84g, }}
|-
| <!--Description-->XReal One Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 ar 700nits 57FOV 171in, usb-c, x1 3dof, }}
|-
| <!--Description-->Nreal now Xreal Air
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 , micro-oled 1080p, audio, virtual uvc ar displays, }}
|-
| <!--Description-->Nreal now Xreal Real3D 1S
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 AI based 2D to 3D conversion 57 FOV, , virtual uvc ar displays not vr, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Xiami XR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Xtal 8k
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Apple Vision Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2022 tethered AR mixed reality glasses, 3300ppi, 800g, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Google XR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->HTC Vive Focus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 standalone }}
|-
| <!--Description-->HTC Vive Focus Plus
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 android with 2 1440 x 1600 75Hz amoled, inside-out, durable motion controllers, Vive port, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->HTC Vive Pro EYE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2019 dual-OLED displays 2880 x 1600 combined resolution), SteamVR 2.0 tracking, foveated rendering, Tobii, it enables gaze-based menu navigation with avatar eye contact, proprietary cables, }}
|-
| <!--Description-->HTC Vibe Cosmos
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2018 poor tracking and lifespan on controllers, }}
|-
| <!--Description-->HTC Vibe Cosmos Elite
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2020 1440x1700 per eye resolution, 90 Hz refresh rate, 6 DoF tracking, 2880 x 1700 combined pixel resolution, 97° FoV, two controllers and two base stations. Lighthouse tracking, }}
|-
| <!--Description-->HTC Vive Focus Vision Wired
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No| }}
|-
| <!--Description-->HTC Vive Focus 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2021 per-eye resolution of 2448×2448 at 90 Hz, a 120-degree field of view, Qualcomm Snapdragon XR2 Gen 1, }}
|-
| <!--Description-->HTC Vive XR Elite VR Headset Deluxe Pack
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2022 snapdragon xr2 gen 1, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Pico Goblin
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2017 android based, 2.5K 1280x1440 per eye @70Hz, 92° FoV, and 3DoF (three degrees of freedom) tracking (Orientation tracking only—yaw, pitch, roll), single controller, snapdragon 820, ipd adjustment 54-71 mm, 600g, }}
|-
| <!--Description-->ByteDance Pico G2 4K
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2020 android standalone VR headset, 3840 x 2160 (4K) LCD screen, Snapdragon 835 processor, 3DoF so rotational movement (looking around, pointing) rather than positional movement (walking, leaning), does not support hand or eye tracking, 800g }}
|-
| <!--Description-->ByteDance Pico NEO 2 EYE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2020 6DoF 360g snapdragon 845 display 4k 75Hz tracking inside-out - magnetic field for controllers - pico software on android 8 - eye tracking }}
|-
| <!--Description-->ByteDance Pico Neo 3
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 Snapdragon XR2 Gen, 4K 3664 x 1920 90Hz lcd, battery at rear, displayport, Pico apparently emulates Oculus controllers, }}
|-
| <!--Description-->ByteDance Pico Neo 3 Pro
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 }}
|-
| <!--Description-->ByteDance Pico Neo 3 Link
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 }}
|-
| <!--Description-->ByteDance Pico 4
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2023 2160x2160 panel per eye 75Hz 90Hz 105 FOV, Arm snapdragon xr gen 1, }}
|-
| <!--Description-->ByteDance Pico 4 ultra
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2023 2160 x 2160 @90 105 FOV, snapdragon XR2 G2, streaming from PC with alvr, wireless streaming from PC with WiVRn, Pico apparently emulates Oculus controllers, not plug and play, }}
|-
| <!--Description-->ByteDance Pico 5 aka Project Swan aka Vision Pro Competitor
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 micro-oled BOE 3840 x 3840 4000ppi per eye, MLA pancake lenses, custom pico arm cpu, pico os 6 android, eye and hand tracking, 300g, }}
|-
| <!--Description-->ByteDance Pico
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Samsung Galaxy XR VR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 3552 x 3840 @60-90 109 FOV , Arm snapdragon XR2+ Gen 2, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Shiftall MeganeX 8K
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2024 android }}
|-
| <!--Description-->[https://en.shiftall.net/products/meganex8k MeganeX Superlight 8K]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 android (3552 x 3840 pixels) into pixel count yields 27.27MP 10-bit HDR-compatible 4K resolution micro OLED panels @90Hz, pancake lenses 94 FOV, SteamVR™ tracking, 180g, 5V 2A, }}
|-
| <!--Description-->[https://en.shiftall.net/products/meganex8kmk2 MeganeX 8K Mk2 MkII] [https://github.com/sboys3/CustomHeadsetOpenVR community]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 pcvr linux, 4K per eye (1.35inch micro OLED 3552x3840 10 bit HDR) 27MP @90Hz 75Hz 72Hz pancake, upto 108 hor 100 vert FOV, usb-c and dp cables to breakout box, 5V 2.1A, 200g}}
|-
| <!--Description-->Shiftall
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2026 }}
|-
| <!--Description-->Shiftall
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->Acer Windows(TM) MR AH101
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 Dual 2.89” LCD panels 2880 x 1440 combined (1440 x 1440 per eye) Up to 90Hz (HDMI 2.0), or 60Hz (HDMI 1.4), Field of View FOV 95, Tracking Inside-out, lots of light leak, }}
|-
| <!--Description-->Acer H7001
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2017 wmr 1440 x 1440 per-eye resolution @90Hz refresh rate, and 100-degree field of view FOV, inside-out tracking with front-mounted cameras so no external sensors, flip-up visor design but has a "screen door effect," subpar foam padding, win10 to win11 24H2, }}
|-
| <!--Description-->Dell Visor Mixed Reality VRP100 VR118
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2017 2x 1440x1440 a bit of nose light leak }}
|-
| <!--Description-->Fujitsu
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2017 cheap and lots of light leak }}
|-
| <!--Description-->[https://github.com/HadesVR HadesVR] with [https://github.com/ManoloMancelli/Persephone-Classic-Controller Persephone Controller]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->[https://www.youtube.com/watch?v=HFaVjB1uNOM Persephone 3 Pro DiY 6Dof SteamVR Headset],
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->HP Reverb G1 VR1000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 WMR 2160 x 2160 @90Hz, 115 FOV, , hp proprietary headset cable end, 2 camera tracking but poor and controllers can be unresponsive, 500g front heavy, flight sims rather than gaming, }}
|-
| <!--Description-->HP 1440p Spatial Computing
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 dim display }}
|-
| <!--Description-->[https://forums.x-plane.org/forums/topic/294764-vr-in-linux-without-steam/ HP Reverb G2] WMR VR3000
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2020 2 2160 x 2160 90Hz, needs Windows10 or Win 11 24H2, 4 camera tracking, controllers can be unresponsive, hp proprietary headset cable end, , }}
|-
| <!--Description-->HP
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Mirage Solo is a Standalone VR headset
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 Qualcomm Snapdragon 835, 1280x1440 per eye resolution, 75 Hz refresh rate, }}
|-
| <!--Description-->Lenovo Explorer VR2511N (G0A2) VR windows mixed reality (WMR)
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 LCD 2.89" 1440 x 1440 per eye @90Hz, 6 DOF position tracking, 400g, }}
|-
| <!--Description-->[https://github.com/relativty/relativty open source relativty]
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Samsung MHD Odyssey XE800ZAA WMR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2018 9V 500mA oled screens 2x 1440x1600 with usb3 and hdmi cables but bluetooth dongle required }}
|-
| <!--Description-->Samsung MHD Odyssey+ Plus WMR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2019 dual 3.5-inch AMOLED displays 2880 x 1600 total @90Hz, 6DOF inside-out tracking with usb3 and hdmi cables but bluetooth dongle required, use only win10 or win11 24H2, }}
|-
| <!--Description-->Sony PSVR
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2016 2x 1080x960 up to 120Hz, lots of cables and computation brick, sony camera needed for tracking, ps4 or move controllers, }}
|-
| <!--Description-->Virtuality
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|1992 , , Amiga 3000 with TI chips, }}
|-
| <!--Description-->Virtuix Omni
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2013 VR treadmill changed course to commercial VR and pivotted back again 2020, }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
=== HDMI CEC transmitter and receiver ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
=== TV Remote Control MCE IR transmitter and receiver ===
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Compro K100 K300
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|need extra software support}}
|-
| <!--Description-->Elitegroup Computer Systems
| <!--Vendor ID-->0x1019
| <!--Product ID-->0x0f38
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->GMYLE MCE
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{Maybe|acts as usb-hid with limited keyboard like controls }}
|-
| <!--Description-->Hauppauge WinTV-PVR kit
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|untested}}
|-
| <!--Description-->Logitech Harmony 300 i300 600 650 800
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|need extra software support}}
|-
| <!--Description-->Microsoft MCE Commander
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|2005 need extra software support}}
|-
| <!--Description-->Microsoft 1039 rev 1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2005 home top of square shape direction keys}}
|-
| <!--Description-->Microsoft 1039 rev 2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2006 home under circle spaced direction keys}}
|-
| <!--Description-->Microsoft 1069 SMK Manufacturing, Inc
| <!--Vendor ID-->0x0609
| <!--Product ID-->0x0334
| <!--Revision-->
| <!--Opinion-->{{No|2007 untested}}
|-
| <!--Description-->Philips RC1974506/00
| <!--Vendor ID-->0x0471
| <!--Product ID-->0x0815
| <!--Revision-->
| <!--Opinion-->{{No|untested}}
|-
| <!--Description-->Sony RM-MCE10E PC REMOTE CONTROL VGN-AR21M VGX-XL100 VGN-AR21B/AR21S
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Sony RM-MCE20E PC REMOTE CONTROL
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Sony RM-MCE30E PC REMOTE CONTROL VGN-AW21XY VGX-TP3E VGX-TP3G
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Sony RM-MCE50E PC REMOTE CONTROL VGC-LA2R
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->TSDX-IR14 USB MCE Media Center External Infrared IR Receiver
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->chipsets support CIR (consumer IR) Winbond W83977F/AF, SMC IrCC 2.0
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|technical reasons it's not possible to use USB IrDA dongles}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| <!--Description-->Zotac RC2604323/01G Zbox Media Remote Control with IR USB Receiver OVU710
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
|}
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->Anycubic Cobra 2 Max
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Bambu Labs A1 Mini 3D printer
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{No|2019 EMS proprietary slicer app and cloud use, eSUN}}
|-
| <!--Description-->Bambu Labs X1 Carbon
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2022 }}
|-
| <!--Description-->Bambu Labs X2D
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Creality K1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Creality K2
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Creality
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Elegoo
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Lulzbot
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Prusa
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Qidi
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Snapmaker U1
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk|2025 tool changer }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->Sovol SV08 Max
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| open source voron model, }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->desktop pick and place machines AFARCO PNP running OpenPnP for Desktop SMT
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|}
==ethwrap.class - Host Data Link "Cable Bridge" for data transfer==
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Advance USBNET (eTEK design)
| 0x0525
| 0x9901
|
| {{N/A|untested}}
|-
| ALi Uli M5632 (chip)
|
|
|
| {{N/A|untested}}
|-
| Aten (Ali Corporation) UN201
| 0x0402
| 0x5632
|
| {{maybe|force binding from rawwarp to ethwrap}}
|-
| Belkin (eTek design see below)
| 0x050d
| 0x0004
|
| {{N/A|untested}}
|-
| Digitus DN-3004 - USB Host Link
|
|
|
| {{yes|works}}
|-
| EPSON USB client
| 0x0525
| 0x2888
|
| {{N/A|untested}}
|-
| eTEK
| 0x056c
| 0x8100
|
| {{N/A|untested}}
|-
| KC-190
| 0x050f
| 0x0190
|
| {{N/A|untested}}
|-
| GeneSys GL620USB
|
|
|
| {{no|no driver the half-duplex GL620USB is NOT supported, products using it include the Inland Pro USB Quick Link}}
|-
| GeneSys GL620USB-A
|
|
|
| {{N/A|untested}}
|-
| Laplink Gold (uses NetChip 1080)
|
|
|
| {{N/A|untested}}
|-
| Prolific 2301/2302 (Jaton USB ConNET) (BAFO DirectLinq)
| 0x067b
| 0x0000 and 0x0001
| 0x0004
| {{maybe|detected but untested}}
|-
| Xircom PGUNET (uses AnchorChips 2720)
| 0x0547
| 0x2727
|
| {{N/A|untested}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
|}
==cdcacm.class - USB modem==
The CDC ACM driver exposes the USB modem as a virtual serial modem or a virtual COM port to the operating system. The driver enables sending both data and AT commands, either through ACM (separating data and AT commands over different channels) or through Serial Emulation (passing the AT commands as is and as part of the data stream).
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Alcatel OT-I650
| 0x1bbb
| 0x0003
|
| {{N/A|untested}}
|-
| Acatel Dymamode/Dynamite
| 0x06b9
| 0xa5a5
|
| {{N/A|untested Zyxel Prestige 630-13 - untested PROLiNK Hurricane 8000 external link }}
|-
| AnyData ADU-100A ADU-E100A ADU-E100D ADU-E100H D10
| 0x16d5
| 0x6501
|
| {{N/A|untested}}
|-
| AnyData ADU-310
| 0x16d5
| 0x650
|
| {{N/A|untested}}
|-
| AnyData ADU-500A ADU-510A ADU-510L ADU-520A
| 0x16d5
| 0x6502
|
| {{N/A|untested}}
|-
| AnyData ADU-610 ADU-620
| 0x16d5
| 0x650
|
| {{N/A|untested}}
|-
| BT On-Air USB MODEM
| 0x079b
| 0x000f
|
| {{N/A|untested}}
|-
| Conexant USB MODEM CX93010
| 0x0572
| 0x1321
|
| {{N/A|untested}}
|-
| Conexant USB MODEM RD02-D400
| 0x0572
| 0x1324
|
| {{N/A|untested}}
|-
| Conexant Chipset
| 0x06ea
| 0x0002
|
| {{N/A|untested AUS N367 Roadster II 56 USB (Model AM5050R3) - untested }}
|-
| [http://accessrunner.sourceforge.net/ Conexant AccessRunner]
| 0x0586
| 0x330a
|
| {{N/A|untested }}
|-
| Creative Modem Blaster USB DE5670
| 0x1690
| 0x0101
|
| {{N/A|untested}}
|-
| FIREFLY, MediaTek Inc
| 0x0e8d
| 0x0003
|
| {{N/A|untested}}
|-
| Huawei E122
| 0x12d1
| 0x1446
|
| {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=49126#forumpost49126]
|-
| Huawei E160, E160E, E160G
| 0x12d1
| 0x1003
|
|{{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=51888#forumpost51888] (Chipset: Qualcomm MSM6246)
|-
| Huawei E169 also known as Vodafone K3715 and Huawei K3715
| 0x12d1
| 0x1001
|
|{{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4941&forum=4&post_id=44683#forumpost44683] (Chipset: Qualcomm MSM7200)
|-
| Huawei E220 "Vodafone EasyBox II" "T-Mobile wnw Box Micro" also known as Huawei K3565
| 0x12d1
| 0x1003
|
| {{yes|works, see E169 above (Chipset: Qualcomm MSM6280)}}
|-
| Huawei E1750
| 0x12d1
| 0x1001
|
| {{N/A|untested (Chipset: Qualcomm MSM6290)}}
|-
| Huawei E170, E172, E176
| 0x12d1
| 0x1003
|
| {{N/A|untested (Chipset: Qualcomm MSM7200)}}
|-
| Huawei E180
| 0x12d1
| 0x1406
|
| {{yes|Works (Chipset: Qualcomm MSM7200)}}
|-
| KYOCERA AH-K3001V
| 0x0482
| 0x0203
|
| {{N/A|untested}}
|-
| LG CU515
|
|
|
| {{N/A|untested}}
|-
| MediaTek Inc GPS
| 0x0e8d
| 0x3329
|
| {{N/A|untested}}
|-
| Metricom GS Modem
| 0x0870
| 0x0001
|
| {{N/A|untested}}
|-
| Motorola MOTOMAGX phones
| 0x22b8
| 0x6425
|
| {{N/A|untested}}
|-
| Motorola Q Phone
| 0x22b8
| 0x7000
|
| {{N/A|untested}}
|-
| Hummingbird huc56s (Conexant)
| 0x0572
| 0x1329
|
| {{N/A|untested}}
|-
| Netcomm Roadster II 128 ISDN
|
|
|
| {{N/A|untested}}
|-
| Nokia n70 N95 HSDPA
|
|
|
| {{yes|works - see [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=4415&viewmode=flat&order=ASC here]}}
|-
| OGO
| 0x045E
| 0x0079
| 0090
| {{no|no driver}}
|-
| Olitec ADSL Modem V2
| 0x08e3
| 0x0100 / 0x0102
|
| {{N/A|untested}}
|-
| <!--Description-->Onda PT502HS
| <!--Vendor ID-->0x19D2
| <!--Product ID-->0x0001
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
| Radicom V92HU-E2
|
|
|
| {{N/A|untested}}
|-
| <!--Description-->Samsung i8510 Innov8 Symbian smartphone
| 0x04e8
| 0x6651
| <!--Revision-->
| {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=5552&viewmode=flat&order=ASC&type=&mode=0]
|-
| Samsung Tocco Lite (aka GT-S5230)
| 0x04e8
| 0x6795
| <!--Revision-->
| {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=5552&viewmode=flat&order=ASC&type=&mode=0]
|-
| Shiro / Aztech USB MODEM UM-3100
| 0x0572
| 0x1328
|
| {{N/A|untested}}
|-
| ZyDAS 56K USB MODEM
| 0x0ace
| 0x1602
|
| {{N/A|untested}}
|-
| ZyDAS 56K USB MODEM
| 0x0ace
| 0x1608
|
| {{N/A|untested}}
|-
| ZyDAS 56K USB MODEM - new version
| 0x0ace
| 0x1611
|
| {{N/A|untested}}
|-
| Zoom Telephonics Model 3095F USB MODEM
| 0x0803
| 0x3095
|
| {{N/A|untested}}
|-
| Ugobe Pleo
| 0x6962
| 0x0100
| 0x0100
| {{Yes|Works}}
|}
==Misc==
palmpda.class - no [http://aminet.net/package/util/libs/PdaLinkPoseidon pdalink.library and tools] in AROS
Palm PDA (discontinued) synchronisation requires a port of pdalink.library and its tools through virtual usbpalm.device.
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Palm IIIx (OS3.1) serial rs-232 only
|
|
|
| {{no|no }}
|-
| Palm IIIc (OS3.5)
|
|
|
| {{no|no }}
|-
| Palm V
|
|
|
| {{no|no }}
|-
| Palm m100
|
|
|
| {{no|no }}
|-
| Palm m125 first USB - last with aaa batteries
|
|
|
| {{no|no }}
|-
| Palm m500 (OS4)
|
|
|
| {{no|no }}
|-
| Tungsten T (OS5) first arm cpu
| 0x
| 0x
| 0x
| {{no|no }}
|-
| Zire 31 (OS 5.28) color arm-based
|
|
|
| {{no|no }}
|-
| [[:w:Handspring (company)|Handspring Visor]] – USB support out of box
|
|
|
| {{no|no }}
|-
| Handspring Treo 600 – last one for [[:w:Handspring (company)|Handspring]]
|
|
|
| {{no|no }}
|-
| Treo 700w
|
|
|
| {{no|no }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
|}
bluetooth.class - needs Bluetooth (Viking King Harald "Bluetooth" Gormsson (Old Norse: Haraldr Blátǫnn Gormsson; Danish: Harald Blåtand Gormsen) stack to work (not written due to licensing fees to use the symbol merging the Younger Futhark runes for H (ᚼ) and B (ᛒ), representing Harald's initials)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
|}
ccid.class - Chip/Smart Card Interface Devices (not implemented)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->cyberJack RFID basis
| <!--Vendor ID-->0x0C4B
| <!--Product ID-->0x9102
| <!--Revision-->0001
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{no|no driver}}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{N/A|untested}}
|-
|}
dfu.class - DFU firmware upgrade
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| <!--Description-->iPhone 3, 4, 5, 5c
| <!--Vendor ID-->0x05ac
| <!--Product ID-->0x1290 0x1292 0x1294
| <!--Revision-->
| <!--Opinion-->{{unk| 32bit use with caution could cause damage}}
|-
| <!--Description-->iPhone 5s, 6, 7, 8, X
| <!--Vendor ID-->0x05ac
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| 64bit use with caution could cause damage}}
|-
| <!--Description-->M-Audio/Midiman USB audio
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Description
| Vendor ID
| Product ID
| Revision
| Opinion
|-
| <!--Description-->iPad 1, iPad 2 A1395 A1430, iPad 3, ipad mini A1432, iPad A1458 4th Gen (MD512LL/A),
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2008-2013 32bit A4, A5 up to Apple A6X, iOS 1 to 10,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|-
| <!--Description-->iPad Air (1st generation) A1474, A1475, A1476,
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2014-2015 [https://github.com/AsahiLinux 64bit], A7, iOS 11 up to
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2015 64bit A8, A8X,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2016 64bit A9, A9X,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2017 64bit A10, A10X,
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2018 64bit A11
|-
| <!--Description-->iPad Air 3rd Gen A2153, A2123, A2154, iPad Mini 5th Gen,
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->2019 64bit A12
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->{{unk| }}
|-
|}
RocketTool (USB Rocket Launchers - Toy missile launchers)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="3px" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Original Launcher and StrikerII (includes laser)
| 0x1130
| 0x0202
|
| {{yes|works }}
|-
| Dream Cheeky USB Missile Launcher or USB Cirus Cannon
| 0x1941
| 0x8021
|
| {{no|no driver }}
|-
| Dream Cheeky USB Webcam Missile Launcher
| 0x1941
|
|
| {{no|no driver }}
|-
| Rocket Baby
| 0x0a81
| 0x0701
|
| {{no|no driver }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|}
DRadioTool (FM Radios - USB radio devices D-Link/Gemtek)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="5%" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| D-Link DSB-R100 USB
| 0x04b4
| 0x1002
| 0x0410
| {{yes|works }}
|-
| [http://www.neoseeker.com/forums/383/t257009-link-usb-dru-r100-radio/ GemTek USB FM Radio 21]
| 0x04b4
| 0x1002
|
| {{N/A|untested }}
|-
| <!--Description-->
| <!--Vendor ID-->
| <!--Product ID-->
| <!--Revision-->
| <!--Opinion-->
|}
UproarTool (Valencia MPX mp3 player and others)
{| class="wikitable sortable" width="90%"
! width="30%" | Description
! width="3px" |Vendor ID
! width="10%" |Product ID
! width="10%" |Revision
! width="50%" |Opinion
|-
| Korean D Square Valencia MPX-Player
| 0x04e8
| various
|
| {{N/A|untested }}
|-
|}
[https://www.youtube.com/watch?v=vIuT7rJgc8w with unlocked android bootloader],
<pre>
Kill and restart the server a few times
sudo adb kill-server
sudo adb start-server
And finally type in
sudo adb devices
adb devices Lists connected devices
adb shell Opens a terminal shell on the device hollywood:/ $
su
id
df -h
top
ls -la
ls sdcard
ls sdcard/Android
ls sdcard/Oculus
wm size
cd ..
cd data/system look inside bad Corejava folder
cd data/system/etc/init look
cd data/system/app
cd /data
cd /dev/block
adb shell
pm disable-user --user 0 com.oculus.nux.ota
adb shell am start -a android.intent.action.VIEW -d com.oculus.tv -e uri com.android.settings/.DevelopmentSettings com.oculus.vrshell/.MainActivity
Don't change your Oculus account password after doing the FB account bypass. You'll break the log-in session, and have to factory-reset and start over
adb shell 'setprop debug.oculus.cpuLevel 5 && setprop debug.oculus.gpuLevel 5 && setprop debug.oculus.adaclocks.force 0 && setprop debug.oculus.phaseSync 1 && settings put global always_finish_activities 1 && settings put global wifi_scan_throttle_enabled 1 && settings put global window_animation_scale 0.25 && settings put global transition_animation_scale 0.25 && settings put global animator_duration_scale 0.25 && sync'
settings list --user 0 secure or global or system
user_setup_complete=0
adb shell
screenrecord
adb shell reboot
adb install <path_to_apk> Installs an app like adb install -g -r alvr_client_android.apk or adb install -r app.apk
memtester
lsmod
adb command to enable hand tracking, possible, but root access is required
adb root
oculussetting --set hand_tracking_opt_in 1 hand_tracking_enabled 1
adb push <local> <remote> Copies files to the device
adb pull <remote> <local> Copies files from the device
pull them using CFB, extract original apk using LL
adb forward tcp:9943 tcp:9943 (Used for advanced, such as ALVR streaming)
adb shell pm disable-user --user 0 com.oculus.partnercustomization Enterprise versions
adb reboot Performs a standard system restart
adb reboot bootloader Restarts the device into fastboot/bootloader mode
adb reboot recovery Restarts the device into recovery mode
adb reboot download Reboots Samsung devices into Download Mode
adb reboot fastboot Directly enters fastboot mode
[https://gist.github.com/pantasio/3d0eb4bb03a1e696aae8696f60730859#file-enable-usb-debug-adb usb dev debug adb]
</pre>
{{BookCat}}
8lapatptvs7bk3lh4ubqussb2mbl5iy
Aros/Platforms/x86 Complete System HCL
0
237398
4639908
4639592
2026-06-11T13:49:11Z
Jeff1138
301139
4639908
wikitext
text/x-wiki
{{ArosNav}}
==Introduction==
This a list of computer hardware tested with mostly native AROS installs and, in the recommended sections, of virtual machines
With 64bit support it is recommended 8Gb ram is needed and that SSE 4.1 and AVX are supported in the CPU i.e. from year 2012 for Intel CPUs and 2013 for AMD CPUs. They are x86-64 instruction sets designed to perform the same operations on multiple data items simultaneously, a technique known as Single Instruction, Multiple Data (SIMD). This allows for increased performance in tasks involving parallel computation. SSE 4.1 is a 128-bit SIMD instruction set, while AVX introduced 256-bit SIMD, further enhancing performance. Some apps require these features to run well, like 3D, multimedia decoding or JIT (javascript) in Odyssey web browser. If not the apps may work slower or might fail.
If you have encountered differently (i.e. problems, incompatibilities, faults, annoyances, environment, errors, review of setup etc) please update this information.
Please bear in mind that AROS has only a few hardware driver developers, whilst Linux counts in the tens and Windows in the hundreds.
[[#Laptops]]
[[#Netbook]]
[[#Desktop Systems]]
[[#AMD Sockets]]
[[#Intel Sockets]]
[[#Recommended hardware (32-bit)]]
[[#Recommended hardware (64-bit)]]
=== Laptops ===
[[#top|...to the top]]
* 2006/2007 Dell Latitude D-series laptops - business class machines, good support in Aros, easy to replace wifi card
* 2006 some [https://www.techradar.com/reviews/pc-mac/laptops-portable-pcs/laptops-and-netbooks/toshiba-satellite-pro-a200-28550/review Satellite Pro A200]
* 2008 For the tiny carry anywhere, the early run of Acer Aspire netbooks
Rough estimate from taking a random laptop notebook what you can expect from a Native install of AROS
{| class="wikitable sortable" width="100%"
! width="10%" |Date
! width="5%" |Overall
! width="5%" |Gfx VESA
! width="5%" |Gfx 2D Acceleration
! width="10%" |Gfx 3D Acceleration
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="10%" |Wireless
! width="20%" |Comments
|-
| Before 2002 || Poor to OK || VESA 90% || 2D 10% || {{N/A}} || Audio 10% || 40% || Wired 70% || 2% || Max RAM 512MB
|-
| 2002-2005 || OK || VESA 95% || 2D 10% || 3D 0% || Audio 30% || 70% || Wired 50% || 10% || Max RAM 2GB (for 32bit)
|-
| 2005-2012 || Good || VESA 98% || 2D 60% || 3D 30% || Audio 40% || 80% || Wired 30% || 10% || Max RAM 3Gb (32bit) to 8GB (64bit)
|-
| 2013-2017 || OK || VESA 98% || 2D 30% || 3D 0% || Audio 30% || 60% || Wired 20% || 0% || Max RAM 8GB / 16GB better to go Intel / AMD Ryzen over AMD A series
|-
| 2018-2024 || OK || VESA 98% || 2D 20% || 3D 0% || Audio 40% || 60% || Wired 30% || 0% || Max RAM 32GB better 64bit options if has an internal dvd drive and working ethernet
|-
| 2025-202x || Poor || VESA 95% || 2D 0% || 3D 0% || Audio 0% || 0% || Wired 10% || 0% || Max RAM 64GB AI disruption of previous hardware
|-
|}
3D tests now conducted with apps found in Demos/AROS/Mesa and run at default size (may need to View As -> Show All to see them.
Any laptop with Windows 7(TM) 64bit or higher install, the bios and hard drive set in uefi/gpt mode (install of AROS incompatible)
Most vendor suppliers get OEM (original equipment manufacturers) to make their laptops. These brand name companies purchase their laptops from
*80% ODM (Original Design Manufacturer) such as Quanta, Compal, Wistron, Inventec, Foxconn (Hon Hai), Flextronics and Asus (now Pegatron)
*20% MiTAC, FIC, Arima, Uniwill, ECS, Tonfang Origin and Clevo
{| class="wikitable sortable" width="100%"
| <!--OK-->{{Yes|'''Works well'''}} || <!--May work-->{{Maybe|'''Works a little'''}} || <!--Not working-->{{No|'''Does not work'''}} || <!--Not applicable-->{{N/A|'''N/A not applicable'''}}
|-
|}
====Acer/Gateway/Emachines====
Company founded under the name of Multitech in Taiwan in 1976, renamed to Acer or Acer Group in 1987
Order of build quality (Lowest to highest)
<pre >
Packard Bell
Aspire
Extensa
TimeLine
Travelmate
</pre >
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="2%" |Ethernet
! width="5%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->Travelmate 505 506 507 508 Series || <!--Chipset-->P2 Celeron 466Mhz || <!--IDE-->{{Yes|boots}} || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA Neo Magic Magic Graph 128XD (NM2160)}} || <!--Audio-->{{No|AC97 Crystal CS}} || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->1998 minimal support but no audio etc - 506T, 506DX, 507T, 507DX, 508T
|-
| <!--Name-->TravelMate 340 342 343 345 347 || <!--Chipset-->ALi M1621 with piii || <!--IDE--> || <!--SATA--> || <!--Gfx-->Trident Cyber 9525 || <!--Audio-->{{No|ESS ES1969 Solo-1}} || <!--USB-->2 ALi OHCI USB 1.1 || <!--Ethernet-->a few have Intel e100 || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->2000 32bit - 340T, 341T, 342T, 342TV, 343TV, 345T, 347TV
|-
| <!--Name-->TravelMate 350 351 352 353 || <!--Chipset-->Ali with piii || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->Trident Cyber Blade DSTN/Ai1 || <!--Audio-->{{No|ali5451}} || <!--USB-->2 USB 1.1 Ali M5237 OHCI || <!--Ethernet-->e100 || <!--Wireless-->Acer InviLink IEEE 802.11b || <!--Test Distro--> || <!--Comments-->2001 32bit very limited support but no support for PCMCIA O2 Micro OZ6933 - 350T, 351TEV, 352TEV, 353TEV
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->TravelMate 610 series 611 612 613 614 || <!--Chipset-->815 P3 || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->Intel 82815 cgc || <!--Audio-->AC97 || <!--USB-->USB 1.1 || <!--Ethernet-->Intel e100 pro || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->2001 32bit - 610TXVi 610T 611TXV 612TX 613TXC
|-
| Aspire 3003LM || SIS AMD 3000 1.8GHz || {{yes}} || {{N/A}} || {{maybe|SIS AGP M760GX (VESA only)}} || {{yes|AC97 SIS codec}} || 3 USB 2.0 || {{yes|SIS900}} || {{no|Broadcom BCM4318 AirForce One 54g}} || Icaros 1.2.4 || 2003 sempron
|-
| Travelmate 2310 Series ZL6 || Intel Celeron M 360 1.4GHz with SiS 661MX || {{yes}} || {{N/A}} || {{maybe|SiS Mirage M661MX (VESA only)}} || {{yes|SIS SI7012 AC97 with realtek ALC203 codec speakers only}} || || {{yes|SIS900}} || {{N/A|LM version has pci card slot but no antenna}} || 2017 Icaros 2.1.1 || 2004 32bit - No USB boot option but boot from DVD - reports of wifi losing connection (isolate/remove the metallic grounding foil ends of the antennas) - 2312LM_L -
|-
| <!--Name-->Aspire 3000 3002LMi 3500 5000 || <!--Chipset-->AMD CPU W-with SIS M760 || <!--IDE--> || <!--SATA--> || <!--Gfx-->SIS 760 || <!--Audio-->SIS || <!--USB--> || <!--Ethernet-->SIS 900 || <!--Wireless-->{{No|Broadcom BCM4318 swap for Atheros}} || <!--Test Distro--> || <!--Comments-->2005 32bit
|-
| <!--Name-->Aspire 3050 5020 5050 || <!--Chipset-->AMD Single and Turion MK-36 Dual and RS480 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Use VESA - RS482M Xpress 1100 or RS485M Xpress 1150 || <!--Audio-->HD Audio Realtek ALC883 || <!--USB--> || <!--Ethernet-->8139 || <!--Wireless-->Atheros 5006G or Broadcom BCM 4318 || <!--Test Distro--> || <!--Comments-->2005 32bit MK36 gets very hot
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->TravelMate 2410 2420 2430 series || <!--Chipset-->915GM || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel Mobile 915GMS 910GML || <!--Audio-->Intel AC97 ICH6 with ALC203 codec || <!--USB-->4 USB2.0 || <!--Ethernet-->Realtek RTL-8139 || <!--Wireless-->Atheros 5005GS || <!--Test Distro--> || <!--Comments-->2005 32bit 2428AWXMi -
|-
| <!--Name-->Acer Aspire 3610 - WISTRON MORAR 3614WLMI || <!--Chipset-->Intel 915 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|Intel GMA 2D and 3D}} || <!--Audio-->{{yes|[http://www.amiga.org/forums/showpost.php?p=644066&postcount=13 AC97]}} || <!--USB--> || <!--Ethernet-->{{yes|RTL 8139 8139C+}} || <!--Wireless-->{{Maybe|Atheros AR5001X+, AR5BMB5 or Broadcom 4318}} || <!--Test Distro--> Icaros 1.2.4 || <!--Comments-->2005 32bit with good support [http://ubuntuforums.org/showthread.php?p=6205188#post6205188 wifi issues]
|-
| <!--Name-->TravelMate 2480 series 2483 WXMi (HannStar J MV4 94V) 2483NWXCi Aspire 3680, 3690 || <!--Chipset-->940GML i943 with Celeron 430 1.77GHz - 14.1" || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes| }} || <!--Gfx-->{{Yes|2D and 3D openGL 1.x - Tunnel 181 gearbox 104 scores}} || <!--Audio-->{{Yes|HD Audio with ALC883 codec playback}} || <!--USB-->{{Yes|3 USB 2.0}} || <!--Ethernet-->{{No|Marvell 88E8038 yukon sky2}} || <!--Wireless-->{{No|Atheros 5k AR5005G AR5BMB5 mini pci}} suspect laptop hardware issues || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2006 Works well shame about the internet options - noisy fan - poor battery life - no boot option for TI based mass storage sd card - Max 2GB memory - LCD Inverter Board IV12090/T-LF -
|-
| <!--Name-->TravelMate 2490 series 2492WXMi || <!--Chipset-->940GML || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|Intel 945 2D and 3D tunnel 164 gearbox 105}} || <!--Audio-->{{Yes|HD Audio}} || <!--USB--> || <!--Ethernet-->{{Maybe|Broadcom BCM4401}} || <!--Wireless-->{{No|Atheros AR5005GS suspect hardware issue}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2006 32bit - 15inch screen - strange curved up at ends keyboard style - overall plastic construction - Atheros AR5005G(s) -
|-
| <!--Name-->Gateway ML6227B MA7 || <!--Chipset-->Celeron M 520 1.6Ghz with 945GM || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Yes|945GM 2D and 3D tunnel 169 gearbox 132}} || <!--Audio-->{{No|HDA Intel with STAC9250 codec}} || <!--USB--> || <!--Ethernet-->{{No|Marvell 88E8038}} || <!--Wireless-->{{No|8187L but swap ath5k mini pcie}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2006 15.4 ultrabrite widescreen - Wifi Switch on side Fn/F2 -
|-
| <!--Name-->Acer Aspire 5630-6796 6288 BL50 || <!--Chipset-->T5200 T5500 Intel® Core™2 Duo T7200 T7400 T7600 || <!--IDE-->{{Yes| }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|Intel® GMA 950 with S-Video out with 2D and 3D}} || <!--Audio-->{{Yes|HDAudio with ALC883? codec}} || <!--USB-->{{Yes|4 USB}} || <!--Ethernet-->{{yes|Broadcom BCM4401}} || <!--Wireless-->{{No|Intel 3945abg swap for Atheros 5K}} || <!--Test Distro-->Tiny AROS || <!--Comments-->2006 - 64bit 39.1 cm (15.4" 1280 x 800) - 2 DDR2-SDRAM slots max 4GB - green mobo?? -
|-
| <!--Name-->Acer Aspire 5633WMLI BL51 || <!--Chipset-->T5500 with Intel® 945PM/GM Express || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE mode}} || <!--Gfx-->{{Yes|Nvidia Go 7300 with 2D and 3D}} || <!--Audio-->{{Yes|HD Audio with Realtek codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{yes|Broadcom 440x}} || <!--Wireless-->{{No|Intel 3945 swap for Atheros 5k}} || <!--Test Distro-->Tiny Aros || <!--Comments-->2007 64 bit dual core2 - 15.4 WXGA screen - ddr2 max 4gb - OrbiCam no support - ENE chipset SD card - blue mobo?? -
|-
| <!--Name-->Acer Aspire 9410 9420 || <!--Chipset-->Intel Core Duo with 945PM Express || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes| }} || <!--Gfx-->{{Yes|2D NVIDIA GeForce Go 7300 - 128 MB VRAM G72M}} || <!--Audio-->{{Yes|Intel HD audio with codec}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{Yes|rtl8169 8111 }} || <!--Wireless-->{{No|Intel 3945ABG but could swap with atheros 5k}} || <!--Test Distro-->Icaros 2.3 || <!--Comments-->2007 32bit - 17in TFT 1,440 x 900 WXGA+ - 2 ddr2 sodimm slots max 4gb -
|-
| <!--Name-->eMachines E510 series KAL10 || <!--Chipset-->Intel Celeron M 560 2.13Ghz with PM965 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel x3100 || <!--Audio-->{{Yes|Intel with codec}} || <!--USB-->Intel || <!--Ethernet-->{{No|Broadcom BCM5906M}} || <!--Wireless-->{{No|Atheros G AR5BXB63 bios issue??}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2007 32bit very budget machine with InsydeH20 bios and F10 boot menu
|-
| <!--Name-->ACER Aspire 5920 [http://tim.id.au/laptops/acer/aspire%205920g.pdf 5920G] || <!--Chipset-->Santa Rosa Core 2 Duo T7300 T7500 later T9300 with GM965 and PM965(G) Express || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|use VESA for X3100M or 8600M GS (rev a1) 9500M GT 256MB vram (G) but some AMD/ATI RV635 M86 HD 3650}} || <!--Audio-->{{No|HD Audio with realtek alc268, [https://forums.opensuse.org/t/no-sound-on-acer-aspire-5920g/32392 ALC883] or Realtek ALC1200 / alc888s codec ICH8}} || <!--USB-->{{Yes|USB2 }} || <!--Ethernet-->{{No|Broadcom BCM5787M}} || <!--Wireless-->{{unk|Intel 3945ABG 4965 or Atheros 9k AR9285}} || <!--Test Distro-->Deadwood test iso 2023-01 2023-11 || <!--Comments-->2008 64bit boot with 'noacpi' or 'noioapic' - 15.4in 1280 x 800 pixels 16:10 - BMW Designworks ‘Gemstone’ design - over 3.0kg with options for 8-cell or 6-cell batteries - 2 SODIMM DDR2 667MT/s max 4GB - synaptics touchpad -
|-
| <!--Name-->Acer A0521 Ao721 || Athlon II Neo K125 + AMD M880G || {{N/A}} || {{maybe| }} || {{maybe|ATI Radeon HD 4225 (VESA only)}} || {{No|Conexant}} || {{Maybe| }} || {{no|AR8152 l1c}} || {{unk|AR9285 ath9k}} || AspireOS 1.7 || 2006 64bit possible
|-
| <!--Name--> Extensa 5630Z || <!--Chipset-->T6600 with Intel GL40 Express || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe|IDE mode}} || <!--Gfx--> {{Yes|Intel GMA 4500M HD (2D)}} || <!--Audio--> {{Yes|HD Audio}} || <!--USB--> {{Yes|USB 2.0}} || <!--Ethernet--> {{No|Broadcom BCM 5764M}} || <!--Wireless--> {{No|RaLink RT2860}} || <!--Test Distro--> || <!--Comments-->2008 64bit
|-
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Aspire 5250 series 5253 BZ400 BZ602 || <!--Chipset-->E350 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{no|VESA 2D for AMD HD6310}} || <!--Audio-->{{yes|HDaudio for codec Conexant CX20584}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no|Atheros AR8151}} || <!--Wireless-->{{no|Atheros 9k AR5B97}} || <!--Test Distro--> || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->Aspire V5 V5-121 V5121 AO725 One 725 || <!--Chipset-->AMD C-70 C70 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{no|VESA for AMD 6290G}} || <!--Audio-->{{no|Realtek ALC269 codec}} || <!--USB-->{{yes|2 x USB2}} || <!--Ethernet-->{{no|Broadcom}} || <!--Wireless-->{{no|Broadcom}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->Aspire V5-122P MS2377 || <!--Chipset-->C-70 C70 with M55, AMD A4-1250 or A6 1450 up to 1.4Ghz || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->AMD 8210 || <!--Audio-->{{unk|HDaudio with codec}} || <!--USB-->{{maybe|FCH USB EHCI OHCI}} || <!--Ethernet-->{{Maybe|rtl8169 but LAN/VGA Combo Port Cable (AK.LAVGCA 001) or MiniCP port to Acer Converter Cable (Mini CP to VGA/LAN/USB) (NP.OTH11 00C) needed}} || <!--Wireless-->{{unk|Atheros 9k AR9565}} || <!--Test Distro-->Aros One || <!--Comments-->2012 64bit but no sse4 or avx - 26w battery internal, extension possible - 11.6in 1366 x 768 ips touchscreen - 7mm hd ssd - 2gb ddr3l soldered with 1 slot free max 4GB - bios hacking needed for virtualisation -
|-
| <!--Name-->Packard Bell EasyNote TE69 TE69KB 522 || <!--Chipset-->slow E1-2500, E2-3800 2c2t Dual or A4-5000 4c4t Quad both soldered BGA769 (FT3) on Hudson-2 FCH || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe|Use IDE mode}} setting AHCI to IDE mode - boots if UEFI set to Legacy || <!--Gfx-->{{Maybe|VESA 2D for ATI Radeon 8120 8240, 8320, 8330 or 8280 islands}} || <!--Audio-->{{Yes|HDAudio with ALC282 0x10ec, 0x0282 codec but not HDMI}} || <!--USB-->{{Yes|Bios, Boot, set Boot mode to Legacy, nothing from USB3}} || <!--Ethernet-->{{No|Atheros AR8171 AR8175 or Broadcom BCM57780}} || <!--Wireless-->{{unk|Atheros AR9565 0x1969 0x10a1}} || <!--Test Distro-->Aspire OS Xenon and AROS One 1.6 usb || <!--Comments-->2013 64bit with sse4.1 and AVX - 15.6in washed out screen big netbook - Boots with noacpi after using F2 to enter EFI firmware and f12 boot device - 2 ddr3 sodimm slots max 16Gb -
|-
| <!--Name-->ASPIRE Acer Aspire ES1-520 521 522 Series N15C4 ES1-523 || <!--Chipset-->AMD AMD E1-7010, A8-7410 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{partial|VESA for RADEON R5}} || <!--Audio-->{{no|Realtek ALC 233 or CX20752 HD AUDIO CODEC}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{no|Atheros AR8151 Gigabit or Broadcom 590x}} || <!--Wireless-->{{no|Realtek RTL8187 or 8812BU}} || <!--Test Distro-->Aros One || <!--Comments-->2015 64bit with sse4.1 and AVX - 2 ddr3l slots - keyboard connected to top case -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Nitro 5 an515-42 || <!--Chipset-->Ryzen 2500u || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->AMD rx560x || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2018 64bit -
|-
| <!--Name-->aspire 3 A315-41 || <!--Chipset-->Ryzen 2500u || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->AMD Vega || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2018 64bit -
|-
| <!--Name-->swift 3 sf315-41 || <!--Chipset-->Ryzen 2500u || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->AMD Vega || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2018 64bit -
|-
| <!--Name-->Acer Aspire 3 A315-23 || <!--Chipset-->AMD Ryzen 3020e, r3 3200u || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD || <!--Audio-->{{unk|HDAudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe| }} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2019 64bit -
|-
| <!--Name-->Aspire 3, 5 A515-44-R0ZN || <!--Chipset-->AMD Ryzen 5 4500u || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{unk|HDAudio with ALC codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2020 64bit - 14in or 15.6" 1080p - 19v round charging - [https://www.youtube.com/watch?v=vr0tC3QJWxk repair], 4gb soldered with 1 ddr4 sodimm slot -
|-
| <!--Name-->Swift 3 SF314-42 series N19C4 , Swift SF315-4 || <!--Chipset-->Ryzen 5 4500U, 7 4700U|| <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD || <!--Audio-->{{unk|HDAudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2020 64bit 1080p - small round ac 19v 3.42A or usb-c - mobo FH4FR LA-J731P -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Acer Swift 3 SF314-43, Swift SF315-41 || <!--Chipset-->Ryzen 7 5700U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD || <!--Audio-->{{unk|HDAudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit 1080p - small round ac or usb-c -
|-
| <!--Name-->Aspire 5 A515-45 || <!--Chipset-->r7 5700U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->AMD || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit - 15.6in 1080p - asus round ac -
|-
| <!--Name-->Aspire 5 A515-47 || <!--Chipset-->ryzen 5 5625U, || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->AMD || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit - 15.6in 1080p - asus round ac -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====Asus====
[[#top|...to the top]]
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->Asus L8400-K Medion MD9467 || <!--Chipset-->Intel desktop 850MHz || <!--IDE--> || <!--SATA--> || <!--Gfx-->S3 Savage MX || <!--Audio-->{{No|ESS allegro 1988}} || <!--USB--> || <!--Ethernet-->Realtek 8139 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2001 32bit
|-
| <!--Name-->Asus L2000 L2400 L2D Series Medion 9675 || <!--Chipset-->Athlon 4 mobile || <!--IDE--> || <!--SATA--> || <!--Gfx-->use vesa sis630 || <!--Audio-->{{No|sis7018}} || <!--USB--> || <!--Ethernet-->sis900 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2002 32bit
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->x51R X51RL || <!--Chipset-->Duo T2250 T2330 with RS480 || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->{{Maybe|use VESA RC410 [Radeon Xpress 200M]}} || <!--Audio-->{{Yes|HD with codec}} || <!--USB-->{{Maybe|boots and detects}} || <!--Ethernet-->{{Yes|RTL-8139}} || <!--Wireless-->{{No|Atheros AR5006EG AR5111 ath5k AzureWave AW-GE780 - could be ATI Chipset}} || <!--Test Distro-->Icaros 2.2, deadwood 2021, || <!--Comments-->2003 32bit 15.4 WXGA - 19v barrel - ESC boot select - F2 bios -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Asus R2H Ultra Mobile PC UMPC || <!--Chipset-->Celeron 900Mhz 910GML || <!--IDE--> || <!--SATA--> || <!--Gfx-->GMA900 || <!--Audio-->Ac97 ALC880 || <!--USB--> || <!--Ethernet-->realtek 8169 8101e || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2004 32bit [https://www.youtube.com/watch?v=Jm4fOrqyj3g boots]
|-
| <!--Name-->Asus A3 series A3F Ergo Ensis 211 RM || <!--Chipset-->P-M 1.6GHz to Core Duo with 950 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 945 || <!--Audio-->Ac97 ALC655 || <!--USB--> || <!--Ethernet-->Realtek 8100CL 10/100 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2004 32bit only
|-
| <!--Name-->Z33 || <!--Chipset-->915 || <!--IDE--> || <!--SATA--> || <!--Gfx-->915GM || <!--Audio-->HD Audio ALC880 || <!--USB--> || <!--Ethernet-->Realtek 8139 || <!--Wireless-->Intel 2915ABG || <!--Test Distro--> || <!--Comments-->2005 32bit Z33A Z33AE N5M N5A
|-
| Z70A Z70V Z70Va M6A z7000 z7000a || i915 + ICH6 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{yes|mobile 915GML}} || <!--Audio-->{{no|ICH6 HD Audio}} || <!--USB-->{{yes|USB2.0}} || <!--Ethernet-->{{no|Marvell 88E8001}} || {{no|Intel PRO 2200BG Fn / F2}} || Icaros 1.3 || 2005 32bit
|-
| [http://www.progweb.com/en/2010/09/linux-sur-un-portable-asus-a6jm/ A6jm] A6JC || 945GM || IDE || SATA || {{yes|nVidia GeForce Go 7600 G70}} || {{no|HD Audio}} || {{yes|USB}} || {{yes|RTL8111 8168B}} || {{no|Intel 3945 ABG}} || Icaros 1.2.4 || 2006 32bit only
|-
| <!--Name-->F3Jc || <!--Chipset-->945PM || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->G72M Quadro NVS 110M, GeForce Go 7300 || <!--Audio-->D audio || <!--USB--> || <!--Ethernet-->realtek 8169 8111 || <!--Wireless-->Intel 3945 || <!--Test Distro--> || <!--Comments-->2007 32bit -
|-
| <!--Name-->X50GL F5GL || <!--Chipset-->T5800 with 965 || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe}} || <!--Gfx-->{{Maybe|use VESA 2d - Nvidia 8200M G84 runs hot}} || <!--Audio-->{{No|HD Audio MCP79 with codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|MCP79}} || <!--Wireless-->{{No|Atheros AR5B91 AW-NE77}} || <!--Test Distro-->Icaros 2.2 || <!--Comments-->2008 64bit not much support no display with nouveau - 19v barrel - ddr2 max 4gb -
|-
| <!--Name-->ASUS G50 & G51 series G50V G50Vt G51V G51VX G51J G51Jx G50VT X1 X5 ROG || <!--Chipset-->AMD64 with MCP71 || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes}} || <!--Gfx-->nVidia GeForce 9800M GS (G94M) up to GT200 [GeForce GTX 260M] (G92M) || <!--Audio-->Nvidia HD Audio with codec || <!--USB--> || <!--Ethernet-->{{No|Atheros L1C atl1c}} || <!--Wireless-->Atheros G or Intel || <!--Test Distro-->Icaros 2.3 || <!--Comments-->2009 64bit not all GPUs are failing but a much higher % failing early, 8x00 and 9x00 G84, G86, G92, G94, and G96 series chips dying - ddr2 max 4gb -
|-
| <!--Name-->M50V M50 series || <!--Chipset-->Intel Core 2 Duo P8400 or T9400 with Intel PM45 ICH9 || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|BIOS set to compatibility IDE mode}} || <!--Gfx-->NVIDIA GeForce 9600M GS or 9650M GT || <!--Audio-->HDAudio with Realtek ALC663 || <!--USB-->USB2 || <!--Ethernet-->{{Yes|rtl8169 realtek 8169 8111C}} || <!--Wireless-->{{unk|Intel 5100 or Atheros AR928X}}|| <!--Test Distro-->AROS One 2.0 USB || <!--Comments-->2009 64bit - 15.40 inch 16:10, 1680 x 1050 glossy - the "Infusion" design - heavy 3kg - ddr2 ram max 4gb -
|-
| <!--Name-->Series F9 F9E F9dc F9f F9j F9s || <!--Chipset-->965GM || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{maybe|Vesa}} || <!--Audio-->{{yes|HD Audio ALC660 playback}} || <!--USB-->{{yes|works}} || <!--Ethernet-->{{yes|RTL8169 }} || <!--Wireless-->{{no|intel 3495 not working}} || <!--Test Distro-->Icaros 1.41 || <!--Comments-->2009 64bit - ddr2 max 4gb -
|-
| P52F SO006X || i3-370M || IDE || SATA || {{yes|nVidia G92 [GeForce 9800 GT] (2D)}} || {{no|Intel HD Audio}} || {{yes|2 USB2.0}} || {{no|Atheros AR8121 AR8113 AR8114 (l1e)}} || {{dunno}} || Icaros 1.3 || 2010 64bit - ddr3 slot -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Asus
* X53U MB Ver K53U or K52U Asus K53U MB Ver K53U
* A53U XT2 X53B MB ver: K53BY (compal)
|| <!--Chipset-->Slow atom like speed E-350 (2011), E-450 (2011) on AMD M780G, much slower C-50 C50 (2012), C-60 C60 on the AMD A50M dark brown plastic build || <!--IDE-->{{N/A|}} || <!--SATA-->{{yes|Set IN Bios IDE MODE}} || <!--Gfx-->{{Maybe|use VESA ATi 6310M, 6320M later 6250M or 6290M}} || <!--Audio-->{{Yes|HD audio with alc269 codec Altec Lansing® Speakers}} || <!--USB-->{{Yes|3 x USB2}} || <!--Ethernet-->{{Unk|rtl8169 with RTL8111 phy}} || <!--Wireless-->{{unk|Atheros half height ar9285}} || <!--Test Distro-->2016 Icaros 2.1.2 and 2018 AROS One 1.6 USB || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - 15.6in 1368 x 768 dull 50% srgb screen - f2 bios setup, esc boot drive - 5200 or 7800 mAh battery covers ASUS K53S K53E X54C X53S K84L X53SV X54HR K53F X53U laptops - 2 DDR3L slots max 8Gb - 19v barrel 5.5 / 2.5 mm -
|-
| <!--Name-->Asus K53T, Asus A53Z X53Z
|| <!--Chipset-->AMD A4-3305M on AMD M780G, A6-3420M dark brown plastic build || <!--IDE-->{{N/A|}} || <!--SATA-->{{yes|Set IN Bios IDE MODE}} || <!--Gfx-->{{Maybe|VESA 2D for AMD 6520G, 7670M}} || <!--Audio-->{{Yes|HD audio with codec}} || <!--USB-->{{Yes|3 x USB2}} || <!--Ethernet-->{{Yes|rtl8169 with RTL8111 phy}} || <!--Wireless-->{{No|Atheros half height}} || <!--Test Distro-->AROS One USB || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - 15.6in 1368 x 768 dull 50% srgb screen - f2 bios setup, esc boot drive - 2 DDR3L slots max 8Gb - 19v barrel 5.5 / 2.5 mm - Altec Lansing® Speakers -
|-
| <!--Name-->X55U X401U X501U 1225B || <!--Chipset-->slow C-60 C60, C-70 C70 or E1 1200 E2 1800 || <!--IDE--> || <!--SATA--> || <!--Gfx-->6290G || <!--Audio-->{{No| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->Realtek 8111 8169 || <!--Wireless-->{{unk| Atheros AR9485}} || <!--Test Distro--> || <!--Comments-->2013 64bit does not support AVX or SSE 4.1 - 11.6" display - ram soldered -
|-
| <!--Name-->Asus A43TA A53TA K53TA XE2 A73T || <!--Chipset-->AMD A4-3300M, A6 3400M (laptop chip) || <!--IDE-->{{N/A|}} || <!--SATA-->{{yes|Set IN Bios IDE MODE}} || <!--Gfx-->{{Maybe|use VESA AMD Radeon HD 6520G Integrated + HD 6470M (1GB GDDR3)}} || <!--Audio-->{{yes| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{Unk|}} || <!--Wireless-->{{No|Atheros}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - f2 bios setup, esc boot drive -
|-
| <!--Name-->X102BA || <!--Chipset-->Llano E1 1200 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes|ide bios setting}} || <!--Gfx-->Radeon HD 8180 || <!--Audio-->{{No| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->RTL8101E RTL8102E || <!--Wireless-->{{unk| Qualcomm Atheros AR9485}} || <!--Test Distro--> || <!--Comments-->2013 64bit does not support AVX or SSE 4.1 - 10.1” Touchscreen - special asus 45w ac adapter -
|-
| <!--Name-->K55N, K75DE || <!--Chipset-->AMD a6 4400M A8 4500M || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->AMD 7640G || <!--Audio-->HD Audio with ALC codec none through ATi Trinity HDMI || <!--USB-->{{maybe| }} || <!--Ethernet-->rtl8169 || <!--Wireless-->{{unk| Atheros AR9485}} || <!--Test Distro--> || <!--Comments-->2013 64bit does support AVX or SSE 4.1 - 17.3-inch -
|-
| <!--Name-->X452EA X552EA F552E || <!--Chipset-->AMD E1 2100 or A4 5000M A8 4500M A10 4600M with A || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA for AMD ATI Sun XT Radeon HD 8330 8670A 8670M 8690M}} || <!--Audio-->{{Yes|AMD FCH Azalia rev 02 with ALC898 codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{{Yes|Realtek RTL8111 8168 8411}} || <!--Wireless-->{{unk|Atheros AR9485}} || <!--Test Distro-->2016 Icaros 2.1 || <!--Comments-->2013 64bit may support avx kabini trinity -
|-
| <!--Name-->Asus X555Y || <!--Chipset-->AMD A6-7210 A8-7410 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|2.5" and mSATA form factors using SATA Rev 3.0 interface }} || <!--Gfx-->{{Maybe|VESA 2D for AMD R5}} || <!--Audio-->{{unk|HD Audio codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{Maybe|rtl8169 Realtek}} || <!--Wireless-->{{no| }}Realtek || <!--Test Distro--> || <!--Comments-->2015 64bit does support AVX or SSE 4.1 - 4gb soldered with 1 ddr3 slot - silver-colored plastic - internal battery -
|-
| <!--Name-->Asus X555B X555DG X555S X555U X555YI X555LAB || <!--Chipset-->Intel Core i5-4210U to || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|2.5" and mSATA form factors using SATA Rev 3.0 interface }} || <!--Gfx-->{{Maybe|VESA 2D for Intel}} || <!--Audio-->{{No|HDAudio with coxenant and realtek alc codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{Maybe|Realtek}} || <!--Wireless-->{{no| }}Realtek || <!--Test Distro--> || <!--Comments-->2015 64bit does support AVX or SSE 4.1 - 4gb soldered with 1 ddr3 slot - silver-colored plastic - internal battery -
|-
| <!--Name-->Asus X555D || <!--Chipset-->AMD A10-8700P || <!--IDE-->{{N/A}} || <!--SATA-->{{unk|2.5" and mSATA form factors using SATA Rev 3.0 interface }} || <!--Gfx-->{{Maybe|VESA 2D for AMD R6}} || <!--Audio-->{{unk|HD Audio codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek}} || <!--Wireless-->{{No|Realtek}} || <!--Test Distro--> || <!--Comments-->2016 64bit - 15.6in 1366 x 768 - 4gb soldered with 1 ddr3 slot - silver-coloured plastic - internal battery - keyboard swap problematic -
|-
| <!--Name-->ASUS X555Q || <!--Chipset-->AMD® Bristol Ridge A10-9600P 7th Gen, A12-9720p || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|2.5" and mSATA form factors using SATA Rev 3.0 interface}} || <!--Gfx-->{{Maybe|R5 + Radeon™ R6 M435DX Dual Graphics with VRAM GCN 3}} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no|Realtek 8821AE}} || <!--Test Distro--> || <!--Comments-->2017 64bit - FHD 15.6 1920x1080 - 37W battery internal - 4gb soldered with 1 ddr3 slot - internal battery -
|-
| <!--Name-->ASUS M509ba || <!--Chipset-->AMD A9-9425 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|2.5" and mSATA form factors using SATA Rev 3.0 interface}} || <!--Gfx-->{{Maybe|Vesa 2d for RADEON R5}} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2020 64bit - 15.6in 1366 x 768 - 1 ddr4 sodimm slot max 16Gb - 19VDC 2.37A Max 45W 4.0mm x 1.35mm - keyboard swap problematic -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->ExpertBook P1410, ASUS ExpertBook P1 P1510CD, Expertbook Y1511CD || <!--Chipset-->Ryzen 3 3200U, Ryzen 5 3500U || <!--IDE-->{{N/A}} || <!--SATA-->Nvme || <!--Gfx-->{{Maybe|Vesa 2d for AMD}} || <!--Audio-->{{unk|HDaudio with codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2019 64bit 14in or 15.6in 768p to 1080p - keyboard swap problematic - 19V 3.42A asus barrel connector 4.0MM X 1.35MM 4phi -
|-
| <!--Name-->ASUSTeK ASUS EXPERTBOOK L1 L1400CDA, L1500CDA - 19v 3.42a 4.5phi Barrel with centre pin Outer 4.5mm Inner 3mm asus special untested EXA1203XH, EXA1203YH, EXA1208UH, PA-1650-30, PA-1650-78, PA-1650-93, ADP-65GD B, ADP-65DW B (Euro) || <!--Chipset-->'''tested''' Ryzen 5 3500U - '''untested''' Ryzen 3 3200U, 3250U || <!--IDE-->{{N/A}} || <!--SATA-->{{no|1 Nvme m.2 slot will not boot with sata3 m.2, optional 1 sata hdd with ribbon cable, no dvd drive}} || <!--Gfx-->{{Maybe|Vesa 2d for AMD vega 3, 8}} || <!--Audio-->{{unk|HDaudio 0x15de 0x15e3 with ALC256 codec 0x10ec 0x0256}} || <!--USB-->{{maybe|USB3 1 usb-c and 3 usb-a }} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111HSH-CG }} || <!--Wireless-->{{No| }} || <!--Test Distro-->3500U with AROS One 64bit 1.2 usb installed to m.2 sata on another machine || <!--Comments-->2019 64bit 14in or 15.6in 1080p - keyboard swap problematic - up to 8Gb ddr4 sodimm soldered on board and 1 slot - micro sd card slot on some models - 42Whr B31N1915 C31N1915 C31N2204 - hold down F2 and press power for bios setup -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
==== Dell ====
[[#top|...to the top]]
Order of build quality (Lowest to highest)
<pre >
Studio
Inspiron
Vostro
XPS
Alienware
Precision
Latitude
</pre >
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="10%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="5%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->Latitude CP 233GT, CPi d233xt d266xt D300XT a366xt, CPt S400GT S500GT S550GT S600GT S700ST, CPt C333GT C400GT || <!--Chipset-->Neo Magic || <!--IDE--> || <!--SATA--> || <!--Gfx-->Use VESA - Neo magic Magic Media 2160 2360 256ZX || <!--Audio-->{{No|crystal pnp 4237b or magic media 256zx sound nm2360}} || <!--USB-->USB 1.1 || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->1998 32bit Low-Density 16-chip 144p 144-pin 32Mx64 3.3V SODIMM -
|-
| <!--Name-->Dell Latitude CPx H450GT H500GT H Series, CPt V433GT V466GT V600, Inspiron 5000 || <!--Chipset-->Intel 440BX with Pentium 3M (CPx) or Celeron (CPt) || <!--IDE-->{{{Yes| }} || <!--SATA-->{{N/A| }} || <!--Gfx-->{{Maybe|Use Vesa - ATi Rage Pro Mobility M1}} || <!--Audio-->{{No|ESS ES1978 Maestro 2E Canyon 3D}} || <!--USB-->{{Yes|1 slot 1.1 only}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A| }} || <!--Test Distro-->NB May 2013 || <!--Comments-->1998 32bit - 3 pin PA-6 PA6 power adapter plug - CDROM DVD Cxxx family media bay accessories untested
|-
| <!--Name-->Latitude C500 C600 (Quanta TM6) Inspiron 4000 7500, CPx J Series || <!--Chipset-->440BX ZX/DX || <!--IDE-->{{yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{partial|ATI Rage 128Pro Mobility M3 (VESA only)}} || <!--Audio-->{{no|ES1983S Maestro 3i}} || <!--USB-->{{yes|USB 1.1 only}} || <!--Ethernet-->{{N/A|some models had mini pci e100}}|| <!--Wireless-->{{N/A|a few came with internal antenna wiring}} || <!--Test Distro--> || <!--Opinion-->1999 square 3 pin charger PA9 PA-9 - C/Dock II untested - C/Port untested - Parallel to Floppy cable untested - CPx J600GT J650GT J700GT J750GT J800GT J850GT
|-
| <!--Name-->Latitude C510 C610 Insprion 4100 PP01L 2600 || <!--Chipset-->i830 and 1GHz+ P3-M || <!--IDE-->{{yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{partial|use VESA - ATI Radeon Mobility M6}} || <!--Audio-->{{No|AC97 CS4205}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{yes|3Com Etherlink}} || <!--Wireless-->{{Maybe|internal antenna wiring for an Atheros mini pci card}} || <!--Test Distro--> || <!--Opinion-->2000 poor build quality - hard to find in good working order
|-
| <!--Name-->Latitude C400 || <!--Chipset-->Intel 830 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA Intel 830 CGC}} || <!--Audio-->{{No|ac97 Crystal 4205}} || <!--USB--> || <!--Ethernet-->{{Yes|3Com 3c905C TX/TX-M}} || <!--Wireless-->{{N/A| }} || <!--Test Distro--> || <!--Comments-->2000 Slim for the time - no media bays
|-
| <!--Name-->Latitude C640 (Quanta TM8) C840 Inspiron 8k2 8200 i8200 precision m50 || <!--Chipset-->P4M with 845EP || <!--IDE--> || <!--SATA--> || <!--Gfx-->use VESA if ATi - use nouveau if 64mb Nvidia Gforce 4 440 Go || <!--Audio-->AC97 CS4205 || <!--USB--> || <!--Ethernet-->3com 905c || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2001 C640 had one fan so was noisy and hot - C840 had 2 fans and ran slightly cooler but fan noise louder
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| Latitude D400 || P-M 82845 || {{yes|82801 ide}} || {{N/A}} || {{partial|VESA only}} || {{yes|AC97 Audio playback only}} || {{maybe|USB 2.0}} || {{maybe|PRO 100 VM (KM)}} || {{no|BCM4318 AirForce one 54g replace with atheros 5k mini pci}} || <!--Test Distro--> Icaros 1.2.4 || 2003 32bit might boot from USB stick but won't boot from USB-DVD - no sd card slot - power plug style -
|-
| Latitude D500 / D505 PP10L, Inspiron 510m
|| 855GME
* revA00
* revA03
* revA06
| {{yes|IDE but needs the Dell adapter}} || {{N/A}} || {{partial|855GM Gfx (VESA only)}} || {{Yes|Intel AC97 with IDT STAC 9750 codec playback head phones only}} || {{maybe| }} || {{yes|Intel PRO 100 VE}} || {{no|Broadcom BCM4306 but exchange with atheros g in panel on laptop bottom}} || <!--Test Distro-->2016 Icaros 2.1.1 || 2003 - 14 / 15 inch XGA 4:3 screen - plastic build - no sd card slot - boots from bay optical drive - not powering on/off with ac adapter is a [http://www.geekzone.co.nz/forums.asp?forumid=37&topicid=30585 mobo fault of PC13 SMT 1206 ceramic cap hot] suggest [http://www.die4laser.com/D505fix/ 0.1uF 50V instead] - pc2700 333Mhz ram 1Gb max -
|-
| Latitude D505 (some) || VIA VT8237 VX700 || {{yes|IDE}} || || {{partial|VESA 2d on ATI RV350 Radeon 9550}} || {{no|VIA AC97 with codec}} || {{maybe|VIA USB glitchy}} || {{yes|VIA VT6102 Rhine-II}} || {{no|Intel 2200g Calexico2}} || <!--Test Distro--> || 2003 32bit little support - diagnostics pressing holding the Fn key, press the Power ON button (battery removed). Check the LEDs pattern - cmos battery behind flap in laptop battery slot -
|-
| <!--Name-->Inspiron 1000 || <!--Chipset-->SIS || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->{{maybe|use VESA SIS}} || <!--Audio-->{{Yes|AC97 SIS with AD1981B codec playback}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{Yes|SIS 900 but}} || <!--Wireless-->{{N/A}} || <!--Test Distro-->2016 Icaros 2.1 || <!--Comments-->2004 32bit [https://forum.level1techs.com/t/my-time-with-icaros-desktop-and-what-i-am-doing-as-a-dev-contributor-also-some-other-shit/113358 aremis using it]
|-
| <!--Name-->Inspiron 1100 PP07L || <!--Chipset-->845 || <!--IDE-->{{Yes| }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Maybe|use VESA Intel 845G}} || <!--Audio-->{{Yes|AC'97 playback}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{Maybe|Broadcom 4401}} || <!--Wireless--> || <!--Test Distro-->Icaros 1.5 || <!--Comments-->2004
|-
| <!--Name-->Inspiron 8500 5150 || <!--Chipset-->P4 855GM || <!--IDE-->{{Yes| }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|Nvidia 5200 Go - VESA if intel gfx}} || <!--Audio-->{{Yes|MCP AC97 with SigmaTel 9750}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{Yes|Broadcom 440x}} || <!--Wireless-->{{No|Broadcom 4306 rev 02 use Atheros Mini PCI}} || <!--Test Distro-->Icaros 2.3 || <!--Comments-->2004 32bit P4 runs well but hot
|-
| Latitude X300 PP04S small, slim and light case
|| 855GME
* revA00 Intel ULV 1.2 Ghz
* revA01 Intel ULV 1.4Ghz
| {{yes|IDE internal and will boot cd/dvd through dock PR04S}} || {{N/A}} || {{partial|855GM Gfx (VESA only)}} || {{Yes|Intel AC97 with STAC 97xx codec but no audio out of the dock}} || {{maybe|works but dock usb ports and usb DVD PD01S not detected}} || {{No|Broadcom BCM5705M gigabit}} || {{no|Broadcom BCM4306 later intel - replace with atheros in the underside}} || <!--Test Distro-->2016 Icaros 2.1.1, 2020 AROS One 1.6 usb, || 2003 12.1" 1024 x 768 - 19.5v PA-10 or PA-12 dell - ACPI works but bad s3 ram suspend sleep - no sd card boot - 1Gb max sodimm ddr 2700
|-
| <!--Name-->Latitude D600 (Quanta JM2) PP05L - 600m
|| <!--Chipset-->82855 PM i855
* reva00
* revA01
* revA02
* revA03
* revA04
| <!--IDE--> {{yes}} || <!--SATA--> {{N/A}} || <!--Gfx-->{{Maybe|Use VESA - ATI Radeon RV250 Mobility FireGL 9000}} || <!--Audio-->{{Yes|AC97 - STAC 9750}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|Broadcom BCM5705}} || <!--Wireless-->{{no|Intel 2100 or Broadcom BCM4306 - swap for Atheros panel in base}} || <!--Test Distro-->2011 Icaros 1.3 and [http://www.amiga.org/forums/archive/index.php/t-62187.html 1.4.1 and 2016 2.1.1] || <!--Opinion-->2003 32bit 14inch using pc2100 memory with Caps light blinking is usually a memory error - Dell D505 D600 power up pressing the case docking port -
|-
| <!--Name-->Latitude D600 (Quanta JM2) || <!--Chipset-->82855 PM i855 || <!--IDE--> {{yes}} || <!--SATA--> {{N/A}} || <!--Gfx-->{{Yes|2D only vidia NV28 GeForce4 Ti 4200 Go 5200 Go 5650 Go}} || <!--Audio-->{{Yes|AC97 - STAC 9750}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|Broadcom BCM5705}} || <!--Wireless-->{{no|Broadcom BCM4306 mini pci - swap for Atheros}} || <!--Test Distro--> Icaros 1.3 and [http://www.amiga.org/forums/archive/index.php/t-62187.html 1.4.1] || <!--Opinion-->2003 32bit 14" - solder joints on the bios chip (press down f7/f8 keys) - RAM clean with eraser - memory cover plate maybe apply some pressure -
|-
| <!--Name-->D800 (Compal LA-1901) || <!--Chipset-->Intel 855 || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio-->AC97 || <!--USB-->{{maybe| }} || <!--Ethernet-->Broadcom 570x || <!--Wireless-->Broadcom 4309 || <!--Test Distro--> || <!--Comments-->2004 32bit - trackpoint type pointing device -
|-
| <!--Name-->D800 || <!--Chipset-->Intel 855 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{No|Nvidia }} || <!--Audio-->AC97 || <!--USB-->{{maybe| }} || <!--Ethernet-->Broadcom 570x || <!--Wireless-->Broadcom 4309 || <!--Test Distro--> || <!--Comments-->2004 32bit 15inch 39cm
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Inspiron 1200 2200 PP10S Latitude 110L m350 1.3Ghz || <!--Chipset-->Intel 915GM || <!--IDE--> {{yes|UDMA boots cd or DVD and installs to HDisk}} || <!--SATA--> {{N/A}}|| <!--Gfx-->{{yes|Intel GMA900 (2D and 3D openGL 1.x) Gearbox 56}} || <!--Audio-->{{yes|Intel AC97 playback only}} || <!--USB-->{{maybe|USB 2.0}} || <!--Ethernet-->{{yes|Intel PRO 100 VE}} || <!--Wireless-->{{no|BroadCom BCM4318 - swap for Atheros mini PCI in base panel}} || <!--Test Distro-->Icaros 1.4.5 || <!--Comments-->2005 single core 32bit 14" 4:3 1024 768 XGA screen - heavy 6 lbs - PA16 barrel 19V 3.16A AC adapter - battery life 4cell 29WHr lasts 2 hours - 256mb soldered with 1 ddr pc2100 sodimm 1gb max -
|-
| <!--Name-->Inspiron 1300 business B130 home PP21L Latitude 120L B120 by Compal - Inspiron 630m || <!--Chipset-->Intel Celeron M360 1.4GHz, M370 1.50 GHz, M380 1.73GHz || <!--IDE-->{{Yes|boots cd or DVD and installs to HDisk}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|GMA 915 2D and 3D openGL 1.x tunnel 172 gearbox 70}} || <!--Audio-->{{Yes|HD Audio playback ear phones only}} || <!--USB-->{{maybe|works but waiting boot fail with AROS One usb version}} || <!--Ethernet-->{{Yes|Broadcom 440x}} || <!--Wireless-->{{No|intel 2200 or BCM4318 swap for Atheros mini pci underside - one antenna lead for main wifi}} || <!--Test Distro-->2016 Icaros 2.1.2, 2020 AROS One 1.6 usb, || <!--Comments-->2005 32bit single core - 14.1″ XGA 4:3 or 15.4" WXGA wide 1280 x 800 matte - ddr2 sodimm ram 2gb max - PA-16 19v psu tip 7.4mm * 5mm - f10 boot select f1 f2 bios
|-
| Latitude X1 PP05S || PP-M GMA915 rev A00 1.1GHz non-pae || {{yes|ide 1.8in zif/ce under keyboard}} || {{N/A}} || {{Maybe|Vesa for Intel 915GM}} || {{yes|AC97 6.6 playback only with STAC codec}} || {{maybe|USB 2.0 but partial boot to blank screen}} || {{No|Broadcom 5751}} || {{no|Intel 2200BG - swap for Atheros mini pci under keyboard palm rest - disassembly of all laptop}} || <!--Test Distro-->Icaros 2.3 dvd iso image virtualbox'd onto usb, Aros One 1.5 and 1.8 usb (2022) || 2005 32bit 12.1" 4:3 1024 x 768 - sd slot not bootable - 256mb soldered to board and 1 sodimm max 1GB ddr2 under keyboard - F12 bios boot F2 - pa-17 pa17 19v octagonal psu port
|-
| Latitude D410 PP06S
*rev A00
*A01, A02
*A03
|| GMA915 1.6GHz Pentium® M 730, 1.7GHz, 750 1.86GHz & 760 2.0GHz, 770 2.13GHz || {{yes|caddy and adapter needed 2.5" - remove hdd and write}} || {{N/A}} || {{Yes|Intel 915GM 2D and 3D OpenGL 1.3 tunnel 170 and gearbox 75}} || {{yes|AC97 playback only with STAC 9751 codec}} || {{maybe|works but will not boot from USB-DVD or AROS One 1.5 usb version}} || {{No|Broadcom 5751}} || {{no|Intel 2915ABG or later 2200BG - swap for Atheros mini pci under keyboard}} || <!--Test Distro-->2015 Icaros 1.4, 2016 2.1.1 and AROS One 1.5 usb, || 2005 32bit 12.1" 4:3 1024 x 768 - no sd card slot - PR06S dock base
|-
| <!--Name-->Latitude D510 (Quanta DM1) || <!--Chipset-->915GM socket 479 || <!--IDE--> {{N/A}} || <!--SATA--> {{partial|IDE mode}}|| <!--Gfx-->{{yes|Intel GMA 915 2D and 3D}} || <!--Audio-->{{Yes|AC97 STAC 975x}} || <!--USB--> {{maybe|USB 2.0}} || <!--Ethernet-->{{no|Broadcom BCM5751}} || <!--Wireless-->{{no|Intel PRO Wireless 2200BG swap Atheros mini pci in base}} || <!--Test Distro--> || <!--Comments-->2005 14.1" 32bit single core Intel Celeron M 1.6GHz Pentium M 730 1.73Ghz - squarish 3:2 - issues with 3rd party battery 4 quick flashes of red led with 1 final green
|-
| <!--Name-->Latitude D610 (Quanta JM5B) PP11L
|| <!--Chipset-->910GML 915GM with mobile 1.6 to 2.26ghz
* Rev A0x
* Rev A0x
* Rev A07 1.73Ghz
| <!--IDE--> {{N/A}} || <!--SATA--> {{partial|IDE mode}}|| <!--Gfx-->{{yes|Intel GMA 915 2D and 3D tunnel 174 gearbox 74}} || <!--Audio-->{{yes|Intel AC97 speaker head phones playback only with stac codec}} || <!--USB--> {{maybe|USB 2.0}} || <!--Ethernet-->{{no|Broadcom BCM5751}} || <!--Wireless-->{{no|Intel 2200BG or Broadcom mini pci under keyboard, swap wifi card for atheros 5k}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2005 32bit 14" 1024 x 768 - very noisy clicky trackpad buttons - one dimm slot under keyboard and other in underside 2GB 533Mhz 667Mhz DDR2 max -
|-
| <!--Name-->Latitude D610 (Quanta JM5B) 0C4717 REV A05, 0K3879 REV.A00 || <!--Chipset-->915GM || <!--IDE--> {{N/A}} || <!--SATA--> {{partial|IDE mode}}|| <!--Gfx-->{{Maybe|Use VESA 2d - Ati X300 no radeon 2d}} || <!--Audio-->{{yes|Intel AC97}} || <!--USB--> {{maybe|USB 2.0}} || <!--Ethernet-->{{no|Broadcom NetXtreme 57xx Gigabit replace with Atheros 5k}} || <!--Wireless-->{{no|Intel PRO Wireless 2200BG mini pci use Atheros 5k}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2005 32bit 14" 1024 x 768 - very noisy clicky trackpad buttons - 19.5v psu
|-
| <!--Name-->Latitude D810 (Quanta ) || <!--Chipset-->915GM || <!--IDE-->{{Yes| }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Maybe|Use VESA 2d - Ati X300 RV370 M22 later x600}} || <!--Audio-->{{yes|Intel AC97 stereo playback only idt 9751 codec}} || <!--USB--> {{maybe|USB 2.0 but no boot from usb on 1.5}} || <!--Ethernet-->{{no|Broadcom NetXtreme 57xx Gigabit}} || <!--Wireless-->{{no|Intel PRO Wireless 2200BG mini pci replace with Atheros 5k}} || <!--Test Distro-->2017 Icaros 2.1.1, aros one 1.5 || <!--Comments-->2005 32bit 15.4" F12 one time boot menu - 19.5v 90w psu ideal - battery not same as later dx20 ones -
|-
| <!--Name-->Inspiron 6000 6400, E1505 PP20L
*A00 Pentium M
*A0? Core Duo
|| <!--Chipset-->GM945 with PM 1.73Ghz, T2050 or T2060 || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe|}} || <!--Gfx-->{{Maybe|vesa 2d - Ati 9700, x1300 RV515 M52, x1400 or nvidia go 7300 on mxm board}} || <!--Audio-->{{yes|HD Audio IDT 9200}} || <!--USB-->{{Yes|usb boot }} || <!--Ethernet-->{{Yes|Broadcom BCM4401 B0}} || <!--Wireless-->{{No|Intel 2200 3945 - swap for Atheros 5k}} || <!--Test Distro-->2016 Icaros 2.1, AROS One 1.6 || <!--Comments-->2006 mostly 32bit - 15.4 inch glossy - 2 ddr2 sodimm slots - broadcom bcm92045 bluetooth detected but no support - 19.5v dell psu socket - f2 bios setup, f12 boot order -
|-
| <!--Name-->Inspirion E1705 9200 9300 9400 PP12L PP14L || <!--Chipset-->945GM || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->proprietary Dell card/socket format Nvidia 6800, ati X300 or nVidia 7900GS gpu 3d corrupt || <!--Audio-->{{Maybe| }} || <!--USB-->{{Maybe| }} || <!--Ethernet-->{{Maybe|Broadcom BCM4401}} || <!--Wireless-->Intel 3945 swap with Atheros 5k mini pcie || <!--Test Distro--> || <!--Comments-->2006 [http://amigaworld.net/modules/news/article.php?mode=flat&order=0&item_id=6481 increasing vertical lines issues] 32bit -
|-
| <!--Name-->Studio XPS M1210 || <!--Chipset-->GM945 with Core Duo to intel C2D T5500, T7400 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->nVidia G72M 7300 7400m || <!--Audio-->HD Audio IDT 92xx || <!--USB-->{{Maybe| }} || <!--Ethernet-->{{Maybe|Broadcom BCM4401 B0}} || <!--Wireless-->{{No|Broadcom BCM4311 - swap for Atheros 5k mini pci-e}} || <!--Test Distro--> || <!--Comments-->2006 64bit - 2 ddr2 slots max 4Gb -
|-
| <!--Name-->Inspiron 1501 PP23LA Latitude 131L || <!--Chipset-->AMD Sempron 1.8GHz Turion MK-36 or X2 1.6Ghz TL-50 or TL-56 on ATI RS480 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|Use VESA 2d - ATI 1150 (x300) RS482M Mobility Radeon Xpress 200}} || <!--Audio-->{{Yes|HD audio with stac 92xx codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{Maybe|Broadcom bcm 4401}} || <!--Wireless-->{{No|Broadcom bcm4311 replace with Atheros 5k}} || <!--Test Distro-->Icaros 1.5 || <!--Comments-->2006 64bit 15.4 inch matt 16:10 1280x800 WXGA -
|-
| <!--Name-->Inspiron 6400 (Quanta FM1)
*A00 Pentium M
*A0? Core Duo
*A08 Core2 Duo
|| <!--Chipset-->GM945 with BGA479 (socket M) T2050 1.6Ghz, T2060 1.60Ghz, T2080 1.73Ghz much later T5500 1.66Ghz || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Yes|GMA 2D and 3D}} || <!--Audio-->{{Yes|HD Audio with IDT 92xx codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{Yes|Broadcom BCM4401 B0}} || <!--Wireless-->{{No|Broadcom BCM4311 swap for Atheros 5k mini pci-e under keyboard}} || <!--Test Distro-->deadwood 2019-04-16 iso || <!--Comments-->2006 mostly 32bit - 15.4" glossy - sd card - front multimedia keys - dvd rw - generic dell keyboard - coin cr2032 bios battery under keyboard -
|-
| <!--Name-->Inspiron 640m PP19L XPS M140 e1405 || <!--Chipset-->Core Solo T2050, T2300 Duo 1.83GHz T2400 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel GMA 950 || <!--Audio-->HD Audio IDT || <!--USB--> || <!--Ethernet-->Broadcom BCM4401-B0 100Base || <!--Wireless-->{{No|Intel 3945 or Broadcom 43xx, swap for Atheros 5k - Wireless Internet ON or OFF press the Function key + F2}} || <!--Test Distro--> || <!--Comments-->2006 32 bit - 12.1 LCD CCFL WXGA 1280x800 up to 14.1 inch 16:10 1440x900 pixel, WXGA+ UltraSharp - supports also SSE3 on duos -
|-
| <!--Name-->Latitude D420 (Compal LA-3071P) PP09S
|| <!--Chipset-->945
* revA00 Solo 1.2Ghz ULV U1400
* revA01 Duo 1.06Ghz u2500
* revA02 Duo 1.2Ghz
| <!--IDE-->{{yes|ZIF/CE 1.8" slow under battery, ribbon cable}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{yes|Intel GMA950 - 2D and 3D opengl tunnel 138 gearbox 103}} || <!--Audio-->{{yes|HD Audio with STAC 92xx playback speakers head phones only)}} || <!--USB-->{{yes|2 and external usb optical drive works}} || <!--Ethernet-->{{no|Broadcom BCM5752}} || <!--Wireless-->{{No|Intel 3945 mini pcie - swap Atheros 5k in base panel}} || <!--Test Distro-->Icaros Desktop 1.4 || <!--Opinion-->2006 32bit only - 12.1" 1280x800 - PR09S dock base rev02 DVD-RW usb boots - 1GB DDR2 2Rx16 max in base panel - f2 setup f5 diagnostics f12 boot list -
|-
| <!--Name-->Latitude D520 PP17L
|| <!--Chipset-->
* 64bit rev A01, A02 945GM Core2 Duo 1.83Ghz to 2.3Ghz
* 32bit rev A00, A01 940GML Solo later Duo T2400
| <!--IDE-->{{yes| Philips SDR089, Philips CDD5263, TEAC DW224EV, Optiarc AD-5540A, HL-DL-ST GSAT21N, TSSTcorp TS-L632D}} || {{Yes|bios sata set to ide mode}} || {{Yes|Intel GMA 900 series 2D and OpenGL1 3D tunnel 210 gearbox 153 teapot 27}} || {{Yes|HD audio with STAC 9200 codec}} || {{Yes|Boots and detects USB2.0}} || {{Yes|Broadcom 4400}} || {{No|Broadcom BCM4312 BCM4321 Dell 1390 / 1490 mini pcie - easy to replace with atheros 5k in base panel}} || <!--Test Distro-->Icaros 1.4 and 2.2 and both AROS One 1.8 and AROS One x64 1.1 USB boot || 2006 mostly 64bit 4:3 aspect ratio 14.1 (XGA 1024x768) or later 15 inches (XGA+ 1400 by 1050) - F2 enter bios F12 choose boot - 19.5v dell tip pa-12 charger - bios coin cell cr2032 battery socketed in base panel -
|-
| <!--Name-->Latitude D620 (Compal LA-2792) PP18L
|| <!--Chipset-->945GMS
* rev A00 all Core Duo's 32 bit
* rev A0x all Core 2 Duo's 64 bit
| <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Intel GMA 950 (2D and 3D tunnel gearbox opengl1 || <!--Audio-->{{yes|HD Audio playback}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no|Broadcom BCM5752}} || <!--Wireless-->{{no|Intel 3945 mini pcie swap with Atheros 5k}} || <!--Test Distro-->AspireOS Xenon || <!--Opinion-->2006 64bit AROS capable with later revisions - 14" 1280 x 800
|-
| <!--Name-->Latitude D620
|| <!--Chipset-->Intel i945
* revA00 all Core Duo's 32 bit
* revA01 all Core 2 Duo's 64 bit
| <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Nvidia 7300, 7600 NVS 110M G72 || <!--Audio-->{{dunno|HD Audio with STAC 9200 codec}} || <!--USB--> || <!--Ethernet-->{{No|Broadcom BCM5752}} || <!--Wireless--> {{dunno}} || <!--Test Distro--> || <!--Opinion-->2007 1440x900 screen - LA-2792P Rev.2.0 - DT785 UC218 Fan/ Heatsink (64bit) -
|-
| <!--Name-->Latitude D820 (Quanta JM6)
|| <!--Chipset-->945GMS 940GML
* rev A00
* rev A01
| <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Yes|Intel GMA 2D and 3D tunnel 195 - 100? gearbox 156}} || <!--Audio-->{{Yes|HD Audio with STAC 9200 playback}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|Broadcom BCM5752}} || <!--Wireless-->{{No|BCM4310 replace with mini pcie atheros 5k}} || <!--Test Distro-->2016 Icaros 2.1.2 || <!--Opinion-->2007 widescreen 15 inch 1280 x 800 matte - -
|-
| <!--Name-->Latitude D820 (Quanta JM)
|| <!--Chipset-->945GMS 940GML
* revA00
* revA01
| <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|Nvidia NVS 110M 120M G72}} || <!--Audio-->{{Yes|HD Audio STAC 9200}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|Broadcom BCM5752}} || <!--Wireless-->{{No|BCM4310 swap with Atheros 5k mini pcie}} || <!--Test Distro--> || <!--Opinion-->2007 64bit 15.4 1650x1050 WXGA or WSXGA+ or 1920x1200 WUXGA -
|-
| <!--Name-->Dell Latitude D531 15" || <!--Chipset-->AMD Turion X2 TL56 or TL60 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Maybe|Use VESA - ATi xpress X1270}} || <!--Audio-->HD Audio with IDT codec || <!--USB-->{{Maybe| }} || <!--Ethernet-->{{No|Broadcom 57xx}} || <!--Wireless-->Intel 3945 or Dell Wireless 1390, 1505 or BCM4311 mini pcie || <!--Test Distro--> || <!--Comments-->2007 64bit possible - no trackpoint - fails and goes wrong often -
|-
| <!--Name-->Latitude D430 PP09S
|| <!--Chipset-->945 with Core2 Duo C2D U7500 1.06GHz U7600 1.2GHz U7700 1.33GHz
* rev A00
* rev A01
* rev A02
| <!--IDE-->ZIF PATA IDE 1.8inch under battery and ribbon cable - slow use USB instead || <!--SATA-->{{N/A}} || <!--Gfx-->{{yes|945GML 2D and 3D opengl 1.x 171 tunnel 105 gearbox}} || <!--Audio-->{{yes|STAC 92xx HD Audio speaker and ear phone - mono speaker}} || <!--USB-->{{yes|3 }} || <!--Ethernet-->{{no|Broadcom BCM5752}} || <!--Wireless-->{{no|Intel 4965 AGN or 3945 ABG mini pci-e underside with Atheros 5k mini pci-e}} || <!--Test Distro-->Aspire 1.8 || <!--Comments-->2007 64bit capable - sd card not supported - 19.5v PA12 power adapter - 12.1" 1280x800 matte - f2 setup f5 diagnostics f12 boot list -
|-
| <!--Name-->Latitude D530 || <!--Chipset-->GM965 + ICH8 || <!--IDE-->{{N/A}} || <!--SATA-->{{partial|IDE mode}}|| <!--Gfx-->{{partial|nVidia Quadro NVS 135M 2D 3d glitches G86}} || <!--Audio-->{{partial|HD Audio with STAC 9205 head phones only}} || <!--USB-->{{yes|USB 2.0}}|| <!--Ethernet-->{{no|Broadcom BCM5755M}} || <!--Wireless-->{{no|Intel PRO Wireless 3945ABG swap with Atheros 5k}} || <!--Test Distro-->Icaros 1.4.5 || <!--Comments-->2007 [http://amigaworld.net/modules/news/article.php?mode=flat&order=0&item_id=6481 ] cool air intake from underneath needed with pa-10 or pa-3e 90w psu required - standard 4:3 ratio aspect screen -
|-
| <!--Name-->Latitude D630 (Compal LA-3301P) PP18L
|| <!--Chipset-->GM965 + ICH8 T7250 2.0Ghz T7300
* revA00
* revA01
| <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{yes|Intel GMA X3100 (2D only, no external monitor)}} || <!--Audio-->{{yes|HD Audio STAC 9205 but speaker and head phones}} || <!--USB-->{{yes|4 USB 2.0}}|| <!--Ethernet-->{{no|Broadcom BCM5755M}} || <!--Wireless-->{{no|Broadcom BCM4312 swap with pci-e Atheros 5k under keyboard}} || <!--Test Distro--> || <!--Comments-->2007 64bit possible - F12 to choose boot option - 2 ddr2 sodimm max 4G - 4400mah 48Wh battery lasts 2 hours - 6600mah 73Wh lasts just over 3 hours
|-
| <!--Name-->Latitude D630
|| <!--Chipset-->GM965 + ICH8
* revA00 [http://amigaworld.net/modules/news/article.php?mode=flat&order=0&item_id=6481 ] GPU heatpad, no copper
* revA01 0DT785 heatsink
| <!--IDE-->{{N/A}} || <!--SATA-->{{partial|IDE mode}}|| <!--Gfx-->{{partial|use VESA as nVidia NVS 135M 3d corrupts 0.7 tunnel 0.25 gearbox G86}} || <!--Audio-->{{partial|HD Audio with STAC 9205 head phones only}} || <!--USB-->{{yes|USB 2.0}}|| <!--Ethernet-->{{no|Broadcom BCM5755M}} || <!--Wireless-->{{no|Intel PRO Wireless 3945ABG swap with Atheros 5k mini pcie}} || <!--Test Distro-->Icaros 1.4.5 || <!--Comments-->2007 64bit
|-
| <!--Name-->Latitude D830
|| <!--Chipset-->965GM with Core2
* revA00
* revA01
| <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Yes|GM965 crestline 2d and 3d tunnel 115}} || <!--Audio-->{{Yes| }} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No| }} || <!--Wireless-->{{Maybe|replace with Atheros 5k mini pcie}} || <!--Test Distro-->Icaros || <!--Comments-->2007 15 inch 1280 x 900 but updating the LCD to WXGA or WSXGA+ could be better - 2 ddr2 sodimm -
|-
| <!--Name-->Latitude D830 || <!--Chipset-->ICH8, Core2 DUO T7800 @ 2.60GHz || <!--IDE-->{{N/A}} || <!--SATA-->Intel ICH8M Serial ATA || <!--Gfx-->nVidia Quadro NVS 140M G86 || <!--Audio-->{{yes|HD Audio with STAC 92XX codec}} || <!--USB-->{{yes|USB 2.0}} || <!--Ethernet-->Broadcom NetXtreme 57xx Gigabit || <!--Wireless-->Intel Wireless 4965AGN swap with Atheros 5k || <!--Test Distro-->Icaros 2.03 || <!--Comments-->2007 64bit 15." - FN,F2 or FN,F8 or FN,F12
|-
| <!--Name-->XPS M1710 || <!--Chipset-->945PM with T2400 T2600 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->proprietary Dell card socket format GTX 7950 || <!--Audio-->HD Audio with STAC 92XX codec || <!--USB--> || <!--Ethernet-->Intel 1000 or Broadcom BCM5752 || <!--Wireless-->Intel swap with Atheros 5k || <!--Test Distro-->Aros One 64bit || <!--Comments-->2007 64bit 17.3" workstation type WXGA+ screen 1920x1200 - 2 ddr-2 667Mhz sodimm slots,
|-
| <!--Name-->XPS M1730 || <!--Chipset-->965 with T7200 T7600 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->GTX 7950 || <!--Audio-->HD Audio with STAC 92XX codec || <!--USB--> || <!--Ethernet-->Intel 1000 || <!--Wireless-->Intel swap with Atheros 5k || <!--Test Distro--> || <!--Comments-->2008 64bit 17" workstation type WXGA+ screen manufactured by AU Optronics poor viewing angles, unevenly lit, light leakage, 2 ddr-2 800Mhz slots,
|-
| <!--Name-->Latitude E6410 P27LA, E6510 PP30LA, E6310 || <!--Chipset-->Intel Core i5-520M to i7-620M i7 820QM but no sse4.1 or AVX || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|NVidia NVS 3100M GT218 2D but 3D through external monitor}} || <!--Audio-->{{Maybe|HD Audio IDT 92HD81}} || <!--USB-->{{Yes|USB2 }} || <!--Ethernet-->{{No|Intel}} || <!--Wireless-->{{No|Broadcom or Intel 6200AGN or Link 6300}} || <!--Test Distro-->Icaros 1.3 || <!--Comments-->2010 64 bit - 14.1” WXGA+ up to 15.6in 15.6” FHD 1080p - 2 ddr3l 1333Mhz max 8Gb - 90w dell charger -
|-
| <!--Name-->Inspiron M5030 || <!--Chipset-->rev A01 AMD V120, V140 rev A0? V160 M880G || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE}} || <!--Gfx-->{{Maybe|VESA RS880M Radeon HD 4225, 4250}} || <!--Audio-->{{Yes|HD audio with ALC269q codec}} || <!--USB--> || <!--Ethernet-->{{No|Atheros AR8152 v2}} || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro--> || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - DDR3 sodimm -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->E6420 E6520 ATG semi ruggized XFR || <!--Chipset-->sandy bridge i5 2520M 2540M or duo I7 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|set to Bios UEFI mode AHCI}} || <!--Gfx-->{{Maybe|Intel HD 3000 with optional fermi Nvidia NVS 4200M GF119}} || <!--Audio-->{{Maybe|HD Audio with IDT 92HD90 BXX codec but not HDMI codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|Intel}} || <!--Wireless-->{{No|Intel 6205}} || <!--Test Distro-->Icaros 2.03 || <!--Comments-->2011 64bit 15.6in - fan exhausts a lot of hot air when cpu taxed - VGA if Bios ATA set and Vesa only with Bios ACHI set -
|-
| <!--Name-->Inspiron M5040 || <!--Chipset-->slow amd E450, later C-50 C50 or C-60 C60 with A50M chipset || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|non efi sata in IDE mode but base plastic difficult to remove for access}} || <!--Gfx-->{{Maybe|use VESA AMD Radeon 6320, 6250 or 6290}} || <!--Audio-->{{Yes|HD Audio IDT}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{Yes|rtl8169 Realtek RTL8105E VB 10/100}} || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro-->2016 icaros 2.1.1 and AROS USB 1.6 || <!--Comments-->2012 64bit 15INCH 1388 X 768 - f2 bios setup, f12 boot order - under removable keyboard via 4 top spring loaded catches is 1 ddr3l sodimm max 8gb and wifi -
|-
| Latitude e6230 E6330 E6430 || i3 3320M 3350M 2.8 GHz i5 3360M i7 3520M || {{N/A}} || {{partial|non RAID mode}} || {{partial|Intel HD 4000 (VESA only)}} || {{no|HD Audio}} || {{partial|Intel USB 3.0 (USB 1.1 2.0 only)}} || {{No|Intel 82579LM Gigabit}} || {{No|Broadcom BCM4313}} || <!--Test Distro-->Nightly Build 2014 09-27 || 2013 64bit Ivy Bridge - 12.5-inch 13.3-inch 14-inch screen - not great support, better under hosted -
|-
| <!--Name-->Dell Latitude 3330 || <!--Chipset-->Core i3 – 2375M to i5 – 3337U, Intel® Core i3 – 3227U, Celeron 1007U on HM77 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{maybe|VESA 2d for intel Hd 2000 3000 vga hdmi}} || <!--Audio-->{{maybe|HDAudio with IDT 92HD93 Controller codec }} || <!--USB-->{{maybe|USB 3.0 (2), USB 2.0 PowerShare capable }} || <!--Ethernet-->{{no|Intel }} || <!--Wireless-->{{no|Intel }} || <!--Test Distro-->Deadwood usb3 test iso || <!--Comments-->2013 64bit, 13.3” HD 1366X768 16:9, 2 ddr3l slots max 8Gb, 720p HD video webcam,
|-
| <!--Name-->Inspiron 15 5565 5567 AMD versions, Inspiron 3595 || <!--Chipset-->AMD A6-9200u A9-9400 9425 A12-9700P Bristol Ridge || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->Radeon R5 R8 GCN 3 || <!--Audio-->{{No| }} || <!--USB-->{{partial| }} || <!--Ethernet-->{{maybe|Realtek 1GbE}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2017 64bit AVX2 - 15.6in 768p or 900p - there are intel versions avoid -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Latitude 5495, Inspiron 15 3585 || <!--Chipset-->Ryzen 2300U 2500U 2700U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|NVMe or optional 2.5in sata if caddy and ribbon cable}} || <!--Gfx-->Radeon Vega 3 or 7 || <!--Audio-->{{No|HDAudio with Realtek ALC3246 aka ALC295 0x10ec, 0x0295 or ALC3263 aka ALC 0x10ec, 0x0 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2018 64bit - 14.0" FHD WVA 1080p (16:9) 220 nits or HD 768p - 2 ddr4 sodimm slots max 32gb - 68whr battery with 2pin cmos bios coin - DC 19.5V 4.62A (90W) or 19.5V 3.34W (65W) 5.0mm x 7.4mm PA12 charging adapter -
|-
| <!--Name-->Inspiron 3505, Vostro 3515 || <!--Chipset-->athlon 300u, Ryzen 3250u (2c4t) 3450u 3500u 3700u (4c8t), Athlon Silver (2c2t) Gold (2c4t) || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|up to 2 nvme with optional 2.5in sata ribbon connector}} || <!--Gfx-->{{Maybe|VESA 2D for Vega 8, 10}} || <!--Audio-->{{No|Realtek ALC3204, Cirrus Logic CS8409 (CS42L42 and SN005825)}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{No|RTL 8106E}} || <!--Wireless-->{{No|Realtek RTL8723DE}} || <!--Test Distro--> || <!--Comments-->2019 64-bit - 15.6inch - 2 ddr4 sodimm max 16G - avoid knocking usb-c charging whilst in use -
|-
| <!--Name-->Inspiron 5485 2-in-1 || <!--Chipset-->athlon 300u, Ryzen 3250u (2c4t) 3450u 3500u 3700u (4c8t), Athlon Silver (2c2t) Gold (2c4t) || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|nvme}} || <!--Gfx-->{{Maybe|VESA 2D for Vega 8, 10}} || <!--Audio-->{{No|Realtek ALC3204}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No|Realtek RTL8723DE}} || <!--Test Distro--> || <!--Comments-->2019 64-bit - 14inch - 2 ddr4 sodimm max 16G - avoid knocking usb-c charging whilst in use -
|-
| <!--Name-->Latitude 3500, 3310, 3410, 3510, || <!--Chipset-->Intel Celeron-4205U, Pentium-5405U, Core i5 (8th Gen) i3-8145U, 8265U, i5-8365U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|nvme}} || <!--Gfx-->{{Maybe|Vesa 2D for Intel UHD Graphics 610 or 620 hdmi}} || <!--Audio-->{{no|Realtek ALC}} || <!--USB-->{{maybe|USB3 usb-c usb-a}} || <!--Ethernet-->{{Maybe|rtl8169 RTL8111H}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2019 64bit - 14in or 15.6in 768p to 1080p 220nits - 65w - 2 ddr4 sodimm slots - rtc cr2032 cmos 2 pin -
|-
| <!--Name-->Inspiron 5405 || <!--Chipset-->AMD Ryzen 5 4500U || <!--IDE-->{{N/A}} || <!--SATA-->One M.2 2230/2280 nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{No|HDAudio with Realtek ALC3204 codec}} || <!--USB-->{{maybe|USB3 }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2020 64bit - 14" 1080p - dell round ac 19.50 VDC 4.50 mm x 2.90 mm 65W(19.5V-3.34A) round 4.5mm tip -
|-
| <!--Name-->Vostro 5415, Inspiron 5515 || <!--Chipset-->AMD Ryzen 3 5300U, Ryzen 5 5500U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|nvme}} || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{No|HDaudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit 14" or 15.6in - avoid knocking usb-c charging whilst in use or use dell round ac 65W 4.5MM x 3.0MM - replacing keyboard not easy - 1 ddr4 sodimm -
|-
| <!--Name-->Vostro 3425, Vostro 3525, Vostro 5625 || <!--Chipset-->AMD Ryzen 3 5425U, Ryzen 5 5625U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{no|HDAudio with codec}} || <!--USB-->{{maybe|USB4}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit - 14in 15.6" to 16" FHD 1080p - dell round ac 65w 4.5MM x 3.0MM or avoid knocking usb-c charging whilst in use -
|-
| <!--Name-->Dell Inspiron 15 Model 3535, Inspiron 14 7435 || <!--Chipset-->AMD Ryzen 5 7520U, AMD Ryzen 5 7530U, 7 7730U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->{{No| hdmi 1.4 but no gpmi}} || <!--Audio-->{{No|HDaudio with codec }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2024 64bit - 14.0" or 15.6" 1080p - dell round ac 65w 4.5MM x 3.0MM or usb-c charging - full sd card slot -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|}
====Fujitsu-Siemens====
[[#top|...to the top]]
Order of build quality (Lowest to highest)
<pre >
Amilo
Esprimo
Lifebook
</pre >
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="5%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->Fujitsu [http://www.labri.fr/perso/fleury/index.php?page=bug_transmeta FMV-Biblo Loox S73A (Japan P1100) LifeBook P1120 Biblo Loox T93C (Japan P2120) P2020] || <!--Chipset-->Transmeta Crusoe CPU TM5600 633MHz with Ali M1535 chipset || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->ATI Rage Mobility M with 4MB SDRAM || <!--Audio-->{{No|AC97 Ali M1535 + STAC9723 Codec}} || <!--USB-->USB 1.1 only || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->1999 32bit 10" 1280 x 600 matte LCD - QuickPoint IV mouse - metal chassis with palm rest plastic - 15GB 2.5 inch drive and SR 8175 8X DVD-ROM drive -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Lifebook S7000 S7010 S7010D S2020 || <!--Chipset-->Pentium M 1.6 or 1.7GHz || <!--IDE-->{{Yes| }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Maybe|use VESA - Intel 855}} || <!--Audio-->{{maybe|AC97 with STAC 9751T or 9767 codec}} || <!--USB--> || <!--Ethernet-->{{No|Broadcom}} || <!--Wireless-->{{No|Atheros, Broadcom or Intel 2200BG - FN,F10}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2002 32bit 14.1 inch with minimal support
|-
| <!--Name-->Lifebook e8010 || <!--Chipset--> || <!--IDE-->{{Yes| }} || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA Intel 855GM}} || <!--Audio-->AC97 STAC9767 or ALC203 codec || <!--USB--> || <!--Ethernet-->{{No|Broadcom NetXtreme BCM5705M}} || <!--Wireless-->Intel PRO Wireless 2200BG || <!--Test Distro-->Icaros 1.3.1 || <!--Comments-->2002 32bit 15.1 inch
|-
| <!--Name-->Stylistic ST5000 ST5010 ST5011 ST5012 ST5020 ST5021 ST5022 || <!--Chipset-->1.0GHz P-M and later 1.1GHz on Intel 855GME || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->Intel 800 use VESA || <!--Audio-->Intel AC97 || <!--USB--> || <!--Ethernet-->Broadcom BCM5788 tg3 || <!--Wireless-->{{No|Intel 2200BG}} || <!--Test Distro--> || <!--Comments-->2003 32bit charged via a proprietary port power connector 16V 3.75A with wacom serial pen interface - indoor Screen transmissive 10.1 and later 12.1 XGA TFT -
|-
| <!--Name-->Amilo Pro V2010 || <!--Chipset-->VIA CN400 PM880 || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->{{No|S3 unichrome use VESA}} || <!--Audio-->{{No|VIA AC97 VT8237 with codec}} || <!--USB--> || <!--Ethernet-->Rhine 6102 6103 || <!--Wireless-->RaLink RT2500 || <!--Test Distro-->2017 Icaros 2.1.2 || <!--Comments-->2003 32bit boot mount - unknown bootstrap error then crashes
|-
| <!--Name-->Amilo Li 1705 CN896 || <!--Chipset--> with VIA P4M900 || <!--IDE--> || <!--SATA-->{{Maybe|IDE}} || <!--Gfx-->ATi || <!--Audio-->{{No|VIA VT8237 HD Audio with codec}} || <!--USB-->VT82xx 62xx || <!--Ethernet-->{{Yes|VIA Rhine}} || <!--Wireless-->{{No|Atheros G}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2005 32bit random freezes
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name--> Esprimo Mobile V5535 Skt mPGA 478MN
| <!--Chipset-->
| <!--IDE--> {{yes|IDE and EIDE}}
| <!--SATA--> {{maybe|IDE mode with SIS 5513}}
| <!--Gfx--> {{maybe|SiS 771 / 671 (VESA only)}}
| <!--Audio--> {{yes|HD Audio SIS968 SIS966 SI7012 with ALC268 codec}}
| <!--USB--> {{no|USB 1.1 and 2.0 issues}}
| <!--Ethernet--> {{no|SiS 191 gigabit}}
| <!--Wireless--> {{yes|Atheros AR5001 mini pci express}}
| <!--Test Distro-->aros one 1.5 usb
| <!--Comments-->2005 32bit 20v barrel - f2 setup f12 multi boot - random freezing short time after booting - chipset SIS 671MX -
|-
| <!--Name-->Amilo SI 1520 1521p || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|GMA 2D}} || <!--Audio-->{{No|HD Audio Conexant codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{Yes|Intel Pro 100}} || <!--Wireless--> || <!--Test Distro-->Icaros 1.4.2 || <!--Comments-->2005 32bit - Set Bios option ATA Control Mode to Compatible
|-
| <!--Name-->Lifebook S7020 S7020D || <!--Chipset--> Pentium M 740 1.73MHz || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 915 || <!--Audio-->HD Audio ALC260 codec || <!--USB-->{{Yes| }} || <!--Ethernet-->Broadcom BCM5751M Gigabit || <!--Wireless-->Intel PRO Wireless 2200BG or Atheros 5k || <!--Test Distro--> || <!--Comments-->2006 32bit
|-
| <!--Name-->Stylistic ST5030 ST5031 ST5032 || <!--Chipset-->1 to 1.2GHx Pentium M with 915GM || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->Intel 900 || <!--Audio--> || <!--USB-->{{Yes| }} || <!--Ethernet-->Marvell || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2006 32bit charged via a proprietary port power connector 6.0 x 4.4 mm round - 200 pin ddr2 ram
|-
| <!--Name-->Stylistic ST5110 ST5111 ST5112 || <!--Chipset-->945GM with 1.2GHz Core Duo and Core2 Duo || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Intel 900 || <!--Audio-->HD audio with STAC9228 codec || <!--USB-->{{No| }} || <!--Ethernet--> || <!--Wireless-->Intel 3945 ABG or optional atheros || <!--Test Distro--> || <!--Comments-->2006 either 32 or 64 bit - charged via a proprietary port power connector 6.0 x 4.4 mm round - SigmaTel® touchscreen -
|-
| <!--Name-->E8110 S7110 E8210 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|945GM}} || <!--Audio-->{{Yes|HD Audio with ALC262 codec playback}} || <!--USB-->{{Yes}} || <!--Ethernet-->{{No|Marvell 88E8055 Gigabit}} || <!--Wireless-->{{No|Intel PRO Wireless 3945ABG}} || <!--Test Distro-->Icaros 2.0 || <!--Comments-->2006 32bit Core Duo
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || CHIPSET || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Lifebook PH521 || <!--Chipset-->AMD E-350 E-450 1.65GHz || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->HD 6310M 6320M || <!--Audio-->Realtek ALC269 || <!--USB-->{{No| }} || <!--Ethernet-->Realtek || <!--Wireless-->{{No|Atheros 802.11 bgn}} || <!--Test Distro--> || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - 11.6 inch 1366x768 pixels - DDR3 1066MHz -
|-
| <!--Name-->LIFEBOOK E752/E782/S752/S782 || <!--Chipset--> with Intel Core i3-2328M to i3-3110M || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{Maybe| }} || <!--Audio-->{{yes| }} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no|Intel 82579V 1000 }} || <!--Wireless-->{{no|Intel Wireless 6205 may be able to swap for Atheros 5k }} || <!--Test Distro-->Aros One 64bit || <!--Comments-->2012 64bit
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====HP Compaq====
[[#top|...to the top]]
Build quality (Lowest to highest)
<pre >
Presario
Pavilion
Omnibook
ProBook
Armada
Elitebook
</pre >
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->1c00 series Compaq Presario [http://users.utu.fi/sjsepp/linuxcompaqarmada100s.html Armada 100S made by Mitac], 1247 || <!--Chipset-->K6-II with PE133 MVP-4 || <!--IDE--> || <!--SATA--> || <!--Gfx-->use VESA - Trident Blade3D AGP sp16953 || <!--Audio-->VIA ac'97 audio [rev20] with AD1881A codec || <!--USB-->{{Maybe|usual VIA issues [rev10]}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->1998 32bit 192MB max - PCcard Texas PC1211 no support - 1200 XL1 1200-XL1xx, XL101, XL103 XL105 XL106 XL109 XL110 XL111 XL116 XL118 XL119 XL125
|-
| <!--Name-->1c01 series Armada 110, Evo N150 || <!--Chipset-->Intel with VIA PLE133 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Use VESA - Trident Cyber Blade i1 chipset || <!--Audio-->VIA 686 rev20 82xxx 686a || <!--USB--> || <!--Ethernet-->Intel 82557 Pro 100 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->1998 32bit max 192mb sodimm 100Mhz 133Mhz ram memory - 1200-XL405A 12XL405A XL502A 12XL502A 1600XL
|-
| Armada M300 M700 E500 || 440BX || {{Yes| }} || {{N/A}} || {{maybe|ATI Rage LT M1 Mobility (VESA only)}} || {{no|AC97 ESS Maestro 2E M2E ES1987 sound}} || {{yes|USB1.1 only}} || {{No|[http://perho.org/stuff/m300/index_en.html Intel PRO 100+ Mini PCI]}} || {{N/A}} || Aspire OS 2012, Nightly 30-01 2013 and 04-05 2013 || 1999 32bit - F10 bios options and Fn+F11 reset CMOS with 64mb ram already on board
|-
| <!--Name-->HP Omnibook XE3 || <!--Chipset-->Intel BX 600Mhz GC model 256mb or AMD GD 500Mhz || <!--IDE--> || <!--SATA--> || <!--Gfx-->Use VESA - S3 Inc. 86C270 294 Savage IX-MV (rev 11) || <!--Audio-->{{No|ESS ES1988 Allegro 1 (rev 12)}} || <!--USB-->Intel 82371AB PIIX4 USB (rev 01) || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->2002 32bit no cardbus pcmcia support - no audio from Polk Audio Speakers -
|-
| <!--Name-->HP Omnibook XE3 || <!--Chipset-->82830 ICH3 P3-M 750MHz 800Mhz 900MHz || <!--IDE-->{{Yes| }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Maybe|use VESA - CGC 830MG}} || <!--Audio-->{{No|ESS ES1988 Maestro 3i}} || <!--USB-->{{Yes|only one 1.1 port}} || <!--Ethernet-->{{Yes|e100 82557}} || <!--Wireless-->{{N/A|}} || <!--Test Distro-->Icaros 1.51 || <!--Comments-->2002 32bit Boots USB Stick via Plop boot floppy - Memory for GF 256-512mb, GS up 1GB
|-
| <!--Name-->TC1000 TC-1000 Tablet PC || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->NVIDIA NV11 [GeForce2 Go] (rev b2) || <!--Audio-->VIA AC97 Audio (rev 50) || <!--USB-->OHCI NEC USB 2.0 (rev 02) || <!--Ethernet-->Intel 82551 QM (rev 10) || <!--Wireless-->Atmel at76c506 802.11b || <!--Test Distro--> || <!--Comments-->2002 32bit Transmeta LongRun (rev 03) with VT82C686 - Texas Instruments TI PCI1520 PC card Cardbus
|-
| <!--Name-->HP Compaq R3000 ZV5000 (Compal LA-1851) || <!--Chipset-->Nvidia nForce 3 with AMD CPU || <!--IDE--> || <!--SATA--> || <!--Gfx-->Nvidia NV17 [GeForce4 420 Go 32M] || <!--Audio-->Nvidia || <!--USB--> || <!--Ethernet-->Broadcom or Realtek RTL8139 || <!--Wireless-->{{Maybe|Broadcom BCM4303 BCM4306 or Atheros bios locked}} || <!--Test Distro--> || <!--Comments-->2003 32bit - HPs have a setting to automatically disable wireless if a wired connection is detected
|-
| <!--Name-->Compaq [http://www.walterswebsite.us/drivers.htm Presario 700 series] || <!--Chipset-->VT8363 VT8365 [Apollo Pro KT133 KM133] || <!--IDE-->{{yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{maybe|VT8636A (S3 Savage TwisterK) (VESA only)}} || <!--Audio-->{{Maybe|VIA AC97 [rev50] with AD1886 codec}} || <!--USB-->{{maybe|VIA UHCI USB 1.1 [rev1a]}} || <!--Ethernet-->{{yes|RealTek RTL8139}} || <!--Wireless-->{{no|Broadcom BCM4306}} || <!--Test Distro--> || <!--Comments-->2003 32bit poor consumer grade level construction - jbl audio pro speakers - no support for cardbus pcmcia TI PCI1410 - 700A EA LA UK US Z 701AP EA BR FR 701Z 702US 703US AP JP audio sp18895 Sp19472
|-
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| N400c || P3-M 82845 || {{yes|82801 CAM IDE U100}} || {{N/A}} || {{maybe|Rage Mobility 128 (VESA only)}} || {{No|Maestro 3 allegro 1}} || {{yes|USB1.1}} || {{yes|Intel PRO 100 VM (KM)}} || {{N/A}} || Icaros 1.2.4 || 2003 32bit Has no optical disc drive
|-
| N410c || P3-M 82845 || {{yes|82801 CAM IDE U100}} || {{N/A}} || {{maybe|Radeon Mobility M7 LW 7500 (VESA only)}} || {{yes|Intel AC97 with AD1886 codec}} || {{yes|USB1.1}} || {{yes|Intel PRO 100 VM (KM)}} || {{N/A}} || Icaros 1.2.4 || 2003 32bit Has no optical disc drive
|-
| Evo N600c || Pentium 4 || {{yes|IDE}} || {{N/A}} || {{partial|ATI Radeon Mobility M7 (VESA only)}} || {{No|ESS ES1968 Maestro 2}} || {{yes|USB}} || {{yes|Intel PRO 100}} || {{dunno}} || Icaros 1.3 || 2003 32bit
|-
| Evo N610c || Pentium 4 || {{yes|IDE}} || {{N/A}} || {{partial|ATI Radeon Mobility M7 (VESA only)}} || {{yes|Intel ICH AC97 with AD1886 codec}} || {{yes|USB}} || {{yes|Intel PRO 100}} || {{dunno}} || Icaros 1.2.4 ||
|-
| N800c || P4 || {{Yes|IDE}} || {{N/A}} || {{partial|ATI Radeon Mobility 7500 (VESA only)}} || {{yes|AC97}} || {{yes|USB}} || {{yes|Intel PRO 100}} || {{N/A}} || Icaros 1.2.4 || 2003 32bit P4M CPU can get very warm
|-
| <!--Name-->NX7010 || <!--Chipset-->Intel || <!--IDE-->{{yes|IDE}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{partial|ATI mobility 7500 or 9000 Radeon 9200 64MB (VESA only)}} || <!--Audio-->{{yes|AC97 ADI codec}} || <!--USB-->{{yes|uhci (1.1) and ehci (2.0)}} || <!--Ethernet-->{{yes|Realtek 8139}} || <!--Wireless-->{{No|Intel 2200b bios locked}} || <!--Test Distro--> || <!--Comments-->2003 32bit
|-
| <!--Name-->Compaq Preasrio V5000 (Compal LA-2771) || <!--Chipset-->AMD Sempron 3000+ or Turion ML with SB400 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA - Ati RS480M Xpress 200}} || <!--Audio-->{{No|AC97 ATI with Conexant CX 20468 codec}} || <!--USB--> || <!--Ethernet-->{{Yes|Realtek 8100 8101L 8139}} || <!--Wireless-->{{No|bcm4318 bios locked}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2004 64bit single core machine V5001 V5002 V5002EA V5003
|-
| <!--Name-->TC1100 TC-1100 Tablet PC || <!--Chipset-->855PM || <!--IDE--> || <!--SATA--> || <!--Gfx-->Nvidia Geforce4 Go || <!--Audio-->AC97 || <!--USB--> || <!--Ethernet-->{{Maybe|BCM 4400}} || <!--Wireless-->{{Maybe|Atheros wlan W400 W500 or ? bios locked}} || <!--Test Distro--> || <!--Comments-->2004 32bit
|-
| <!--Name-->NC6000 NC8000 NW8000 || <!--Chipset-->855PM with Pentium M 1.5 1.6 1.8GHz 2.0GHz || <!--IDE-->max 160 GB for NW 8000 || <!--SATA--> || <!--Gfx-->{{Maybe|Ati RV350 mobility 9600 M10 Fire GL T2 ISV use VESA 2D as no laptop display}} || <!--Audio-->{{Yes|Intel AC97 with ADI codec playback only}} || <!--USB-->{{Yes|2 ports}} || <!--Ethernet-->{{No|Broadcom BCM 5705M}} || <!--Wireless-->{{Maybe|mini pci Atheros 5212 BG W400 W500 or Intel - all bios locked}} || <!--Test Distro--> || <!--Comments-->2005 based [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=41916&forum=47 works] - Firewire TI TSB43AB22/A - 8 pound 2.5 kg travel weight - an SD slot as well as two PC Card slots - 15-inch UXGA screen (1,600 x 1,200) or 15" SXGA+ (1400 x 1050) (4:3 ratio)
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Compaq NC6110 NX6110 NC6120 NC6220 NC4200 NC8200 TC4200 || <!--Chipset-->GMA 915GML || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|2D GMA 900}} || <!--Audio-->{{Yes|AC97 with ADI AD1981B playback}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{Unk|440x or BCM 5705M or 5751M}} || <!--Wireless-->{{No|Intel IPW 2200 bios locked}} || <!--Test Distro-->Icaros 1.5.2 || <!--Comments-->2005 32bit Sonoma based - Wifi with Atheros AR5007eg if apply hacked bios RISKY else use USB one - (INVENTEC ASPEN UMA MV) (INVENTEC ASPEN DIS PV) -
|-
| <!--Name-->Compaq C500 CTO aka HP G7000 || <!--Chipset-->Intel 945GM || <!--IDE--> || <!--SATA--> || <!--Gfx-->GMA 950 || <!--Audio-->HD Audio with realtek ALC262 codec || <!--USB--> || <!--Ethernet-->Realtek 8139 || <!--Wireless-->Broadcom BCM 4311 bios locked || <!--Test Distro--> || <!--Comments-->2005 32bit
|-
| <!--Name-->HP DV6000 || <!--Chipset-->945GMS || <!--IDE--> || <!--SATA--> || <!--Gfx-->GMA 950 || <!--Audio-->HD Audio IDT 92HD 91B || <!--USB--> || <!--Ethernet-->Intel PRO 100 VE || <!--Wireless-->{{No|Intel 3945 bios locked}} || <!--Test Distro--> || <!--Comments-->2006 32 bit only - Mosfet FDS6679 common cause of shorts giving no power to the tip. To reset adapter, unplug from AC (mains) and wait 15-30 sec. Then plug in again -
|-
| Presario F700 series, HP G6000 f730us F750 F750us F755US F756NR F765em || AMD Turion Mono MK-36 2.0Ghz NForce 560m or Twin X2 TK-55 with nForce 610m MCP67 || {{N/A| }} || {{Yes|but needs special sata adapt bit and caddy}} || {{Yes|GF Go 7000m 2D and 3D 640x350 to 1280x800 - ball solder issues due to poor cooling}} || {{Maybe| }} || {{Maybe|uhci and ehci boots}} || {{No|Nvidia }} || {{Yes|Atheros AR5007 bios locked}} || Icaros 1.3.1 and Aros One 1.6 USB || 2006 64bit - f9 boot device f10 bios setup - random freezes after a minutes use means internal ventilation maintenance needed each year essential - No sd card and overall limited phoenix bios options -
|-
| <!--Name-->Presario v6604au v6608au V3500 || <!--Chipset-->NVIDIA MCP67M with AMD Athlon64 X2 TK 55 amd 1.8ghz || <!--IDE--> || <!--SATA-->{{Yes|SATA 150}} || <!--Gfx-->NVIDIA GeForce Go 7150M 630i or C67 630M MCP67 || <!--Audio-->conexant codec || <!--USB--> || <!--Ethernet-->Nvidia or Realtek 10/100 || <!--Wireless-->{{No|Broadcom 4311 bios locked}} || <!--Test Distro--> || <!--Comments-->2006 64bit Altec Lansing Stereo Speakers - ball solder issues -
|-
| <!--Name-->Compaq presario v6610 v6615eo v6620us || <!--Chipset-->Turion 64 X2 mobile TK-55 / 1.8 GHz to athlon 64x2 @ 2.4ghz || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|SATA 150}} || <!--Gfx-->{{Yes|geforce 7150 or 7300m 2d and 3d}} || <!--Audio-->{{Yes|AMD HD Audio with IDT codec stereo playback only}} || <!--USB-->3 OHCI EHCI || <!--Ethernet-->{{Maybe| }} || <!--Wireless-->{{No|Broadcom bios locked}} || <!--Test Distro-->Icaros 1.3 - || <!--Comments-->2007 [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=40956&forum=48 works well] - 1 x ExpressCard/54 - SD Card slot - AO4407 test voltage of the Drain side (pins 5-8) with AC adapter and no battery, see 0 volts, connect the battery you should have 10-14v -
|-
| <!--Name-->v6630em v6642em || <!--Chipset-->nForce 630M with AMD Turion 64 X2 Mobile TL-58 || <!--IDE--> || <!--SATA--> || <!--Gfx-->NVIDIA GeForce 6150M or 7150M || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless-->{{No|Broadcom bios locked}} || <!--Test Distro--> || <!--Comments-->2007 64bit 15.4 in 1280 x 800 ( WXGA ) -
|-
| <!--Name-->HP Compaq NC6400 || <!--Chipset-->945GM Core Duo || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|GMA 950 2D issues and no 3d}} || <!--Audio-->{{No|HD Audio AD1981HD}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|BCM }} || <!--Wireless-->{{No|Broadcom locked}} || <!--Test Distro-->Icaros || <!--Comments-->2007 - replaced with Atheros AR5007eg if apply hacked bios RISKY else use USB g -
* 32bit Core Duo T2400
* 64bit Core 2 Duo T5600 T7600
|-
| <!--Name-->HP Compaq NV NC6400 || <!--Chipset-->Core Duo + 945PM || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|use VESA Radeon x1300M (2D)}} || <!--Audio-->{{Maybe|HD Audio with ADI1981 low volume}} || <!--USB-->{{yes}} || <!--Ethernet-->{{no|BCM 5753M}} || <!--Wireless-->{{No|Intel 3945 ABG bios locked}} || <!--Test Distro--> Icaros 1.4.2 || <!--Opinion-->2007 Harmon Kardon speakers
|-
| <!--Name-->HP Compaq NC6320 || <!--Chipset-->945GM with
* 32bit Core Duo 1.83GHz T2400
* 64bit Core2 Duo 1.83GHz T5600
|| <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|GMA 950 2D with a little 3D tunnel 213}} || <!--Audio-->{{Maybe|Intel HD Audio with AD1981HD codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|BCM 5788}} || <!--Wireless-->{{No|Intel 3945 bios locked}} || <!--Test Distro-->Icaros 2 || <!--Comments-->2007 replaced with Atheros AR5007eg if applying hacked wifi bios RISKY!! else use USB - 14.1" or 15 inch XGA 1024x768 - noisy cpu fan for core2 - trackpad rhs acts as window scroller -
|-
| <!--Name-->HP NC4400 TC4400 Tablet || <!--Chipset-->Core Duo with 82945 chipset || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|bios F.07 limits to 100GB 120GB}} || <!--Gfx-->{{yes|2D and 3D 282 tunnel and gearbox 150}} || <!--Audio-->{{Yes|HD Audio with ADI 1981HD codec via ear phones}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{No|BCM 5753M}} || <!--Wireless-->{{No|Intel 3945 or BCM 4306 - Whitelist BIOS F.0C needed but risky}} || <!--Test Distro-->2017 Icaros 2.1.2 || <!--Comments-->2008 64 bit possible with Core2 - TI SD card reader non bootable - wacom serial digitiser pen not working -
* 32bit 1.86GHz core duo
* 64bit 2Ghz T7200, 2.16Ghz Core 2 Duo T7600 2.33GHz
|-
| <!--Name-->HP Pavilion DV2000 CTO || <!--Chipset-->945GMS || <!--IDE--> || <!--SATA--> || <!--Gfx-->GMA 950, X3100, Nvidia 8400M || <!--Audio-->HD Audio Conexant CX 20549 Venice || <!--USB--> || <!--Ethernet-->Nvidia MCP51 || <!--Wireless-->{{No|Broadcom BCM 4311 or Intel 3945 4965 ABG bios locked}} || <!--Test Distro--> || <!--Comments-->2008 Atheros AR5007eg if apply hacked bios RISKY
|-
| <!--Name-->Compaq Presario C700 || <!--Chipset-->GMA960 || <!--IDE--> || <!--SATA--> || <!--Gfx-->X3100 || <!--Audio-->HD Audio || <!--USB--> || <!--Ethernet-->RTL 8139 || <!--Wireless-->{{Maybe|Atheros AR5007 AR5001 AR242x}} || <!--Test Distro--> || <!--Comments-->2008
|-
| <!--Name-->Compaq 2510p 6510b 6710b 6910b || <!--Chipset-->GMA 965GM GL960 || <!--IDE-->{{yes| }} || <!--SATA--> || <!--Gfx-->{{yes|X3100 some 2d but slow software 3d only}} || <!--Audio-->{{maybe|HD Audio ADI AD1981 HD low volume on head phones}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no|Intel 82566 or Broadcom BCM 5787M}} || <!--Wireless-->{{No|Intel 3945ABG or 4965ABG bios locked}} || <!--Test Distro-->Aspire OS Xenon 2014 || <!--Comments-->2008 no sd card boot support - F9 to choose boot option - [http://forums.mydigitallife.info/threads/7681-This-is-no-request-thread!-HP-COMPAQ-bioses-how-to-modify-the-bios/page111?p=333358#post333358 whitelist removal (risky) bios block for wifi card swap]
|-
| <!--Name-->CQ40 CQ41 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|VESA Intel}} || <!--Audio-->HD Audio || <!--USB--> || <!--Ethernet-->Realtek RTL8101E || <!--Wireless-->{{No|Broadcom BC4310 bios locked}} || <!--Test Distro--> || <!--Comments-->2008
|-
| <!--Name-->Compaq Presario CQ35 CQ36 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|VESA }} || <!--Audio--> || <!--USB--> || <!--Ethernet-->Realtek RTL8101E RTL8102E || <!--Wireless-->{{No|Broadcom BCM4312 bios locked}} || <!--Test Distro--> || <!--Comments-->2008 Compal LA-4743P -
|-
| <!--Name-->HP Compaq CQ42 CQ43 CQ45 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|VESA }} || <!--Audio-->HD Audio with Coxenant codec || <!--USB--> || <!--Ethernet-->Realtek || <!--Wireless-->{{No|Realtek RTL8191SE, Realtek 8188CE}} || <!--Test Distro--> || <!--Comments-->2008 (Quanta AX1)
|-
| <!--Name-->Compaq Presario CQ50 CQ56 || <!--Chipset-->Nvidia MCP78S || <!--IDE--> || <!--SATA--> || <!--Gfx-->Geforce 8200M || <!--Audio-->nVidia HD Audio with codec || <!--USB--> || <!--Ethernet-->nvidia MCP77 || <!--Wireless-->{{unk|Atheros AR928X bios locked}} || <!--Test Distro--> || <!--Comments-->2008 [http://donovan6000.blogspot.co.uk/2013/06/insyde-bios-modding-wifi-and-wwan-whitelists.html bios modding risky] MCP72XE MCP72P MCP78U MCP78S
|-
| <!--Name-->CQ60 || <!--Chipset-->Single core Sempron to dual turion || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|VESA for Nvidia 8200M}} || <!--Audio-->{{yes|HD Audio}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{No| bios locked}} || <!--Test Distro--> || <!--Comments-->2008
|-
| <!--Name-->HP DV6700 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{no|Vesa for Nvidia 8400M}} || <!--Audio-->{{no| }} || <!--USB-->{{no| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{No|Intel }} || <!--Test Distro--> || <!--Comments-->2008 64bit -
|-
| <!--Name-->CQ60 || <!--Chipset-->Intel C2D || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|VESA for Nvidia 9200M}} || <!--Audio-->{{yes|HD Audio}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{No| bios locked}} || <!--Test Distro--> || <!--Comments-->2009 64bit -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->CQ57z || <!--Chipset-->AMD slow E-300 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{Maybe|VESA ATi HD 6310 wrestler}} || <!--Audio-->{{unk| }} || <!--USB-->{{yes| }} || <!--Ethernet-->{{maybe|Realtek RTL8101 RTL8102}} || <!--Wireless-->{{No|RaLink RT5390}} || <!--Test Distro--> || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->HP CQ58z 103SA E5K15EA || <!--Chipset-->AMD slow Dual-Core E1-1500 APU with A68M FCH || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{Maybe|VESA 2D for Radeon HD 7310}} || <!--Audio-->Realtek idt codec || <!--USB-->{{yes| }} || <!--Ethernet-->{{yes|Realtek 10/100 BASE-T}} || <!--Wireless-->{{No|Broadcom}} || <!--Test Distro--> || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - 39.6 cm (15.6") HD BrightView LED-backlit (1366 x 768)
|-
| <!--Name-->HP 635 DM1 || <!--Chipset-->AMD slow E-300, E-450 later E2-1800 on SB7x0 SB8x0 SB9x0 || <!--IDE-->{{N/A}} || <!--SATA-->ATI non efi SATA AHCI - IDE mode || <!--Gfx-->{{Maybe|use VESA 2D - AMD HD6310, 6320 to HD7340}} || <!--Audio-->{{Yes|Realtek ALC270A GR but not Wrestler HDMI Audio}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{Yes|rtl8169 driver covers Realtek RTL8101E RTL8102E}} || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - 14" 1366 x 768 - f9 f10 - external battery - 2 stacked ddr3l sodimm slots max 16Gb under one base plate - removable keyboard -
|-
| <!--Name-->HP G6 2000-2b10NR 2000-2d10SX 2000-2d80NR || <!--Chipset-->AMD very slow E1-2000 E2-3000M on A50M (soldered) A4-3305A on A60M (socket) || <!--IDE-->{{N/A}} || <!--SATA-->2.5in || <!--Gfx-->{{Maybe|VESA AMD Radeon 6320, 6620G, 6520G, 6480G, 6380G}} || <!--Audio-->{{No| }} || <!--USB-->{{No| }} || <!--Ethernet-->{{maybe|Realtek 100 1000}} || <!--Wireless-->{{No|Realtek}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - 39.6-cm (15.6-in) HD LED BrightView (1366×768) - 1 or 2 ddr3l max 8G - 19VDC 3.42A Max 65W Tip 7.4mm x 5.0mm -
|-
| <!--Name-->HP ProBook 6465B || <!--Chipset-->AMD massively slow A6-3310MX or A6-3410MX with A60M || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA AMD 6480G or 6520G}} || <!--Audio-->{{No|IDT 92HD81B1X}} || <!--USB-->{{No| }} || <!--Ethernet-->{{maybe|rtl8169 Realtek 8111}} || <!--Wireless-->{{No|Intel AC 6205 or broadcom 4313 bios locked}} || <!--Test Distro--> || <!--Comments-->2013 64bit does not support AVX or SSE 4.1 - 13-inch or 14-inch runs hot -
|-
| <!--Name-->HP Elitebook 8470p 8570p || <!--Chipset-->Intel Quad i7-3840QM, i7-3610QM, i7-3520M, i5-3210M, i3-3130M, i3-2370M on Intel QM77 chipset || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|set the bios boot options to not fastboot and drive mode IDE rather than AHCI }} || <!--Gfx-->{{Maybe|Vesa 2d for HD4000 with some having switchable Radeon M2000 or 7570M}} || <!--Audio-->{{yes|HDAudio for IDT codec}} || <!--USB-->{{yes|USB2}} || <!--Ethernet-->{{No|Intel 82579LM }} || <!--Wireless-->{{No|Intel, Broadcom, Atheros}} || <!--Test Distro-->64 bit boots from CD* if safe mode 2 is used, although it is possible to remove the 'nodma' and 'debug' entries and boot || <!--Comments-->2013 64bit with SSE4.1 and AVX - 14in 1600 x 900 to 1366 x 768 - 2 DDR3L sodimm slots max 16Gb - TPM 1.2 - dual boot 32/64 bit is working fine -
|-
| <!--Name-->HP ProBook 6475b, Probook 4445s 4545s, HP Pavilion 15-b115sa, [https://support.hp.com/gb-en/document/c04015674#AbT6 HP mt41 Mobile Thin Client PC] || <!--Chipset-->AMD very slow A4 4300M, A6 4400M 4455M or A8 4500M with AMD A70M A76M FCH || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA 7420 7520G 7640G 7660G}} || <!--Audio-->{{no|HD Audio with idt or realtek codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{No|Realtek RTL8151FH-CG}} || <!--Wireless-->{{No|Intel 6205 or Broadcom BCM 43228 bios locked}} || <!--Test Distro--> || <!--Comments-->2014 64bit does support AVX or SSE 4.1 - 15.6-inch -
|-
| <!--Name-->HP ENVY 15-k112nl K1Y78EA || <!--Chipset-->Intel® Core™ i7 i7-4510U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe| }} || <!--Gfx-->Intel HD4400 and/without NVIDIA® GeForce® GTX 850M || <!--Audio-->{{maybe| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{no| }} || <!--Test Distro-->Deadwood usb3 test iso || <!--Comments-->2014 64bit - 15.6" 768p to 1080p - 19.5V 3.33A/4.62A/6.15A 65W/90W/120W AC -
|-
| <!--Name-->HP ProBook 255 G1, 455 G1 F2P93UT#ABA, 645 G1, Envy 15-j151ea G7V80EA, Envy m6-1310sa (E4R01EA#ABU) || <!--Chipset-->AMD very slow Dual-Core E1-1500, or AMD Quad A4-4300M A8-4500M A10-4600M A4-5150M A6-5350M 2.9Ghz A10-5750M || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA 2D for 7310, 7420G 7520G 7640G 7660G 8350G 8450G or 8550G, 8650G, 8750G }} || <!--Audio-->{{No|HD Audio IDT 92HD91 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|realtek}} || <!--Wireless-->{{No|Atheros}} || <!--Test Distro--> || <!--Comments-->2015 64bit does support AVX or SSE 4.1 - 14in and 15in 1366 x 768 - external battery - 2 ddr3l sodimm slots - 19.5v / 4.62A psu runs hot -
|-
| <!--Name-->HP ProBook 245 G4, 255 G2, 455 G2, 255 G3, 455 G3, 255 G4 80CB, 255 G5 82F6, 355 G2, HP Pavilion 15-p038na 15-g092sa 15-p091sa 15-G094S 15-p144na 15-p142na, 15-Af156sa || <!--Chipset-->AMD very slow A4-5000 A6-5200, E2-6110, E1-6010 E2-2000, E1-2100 E2-3800, A4-6210 A6-6310 A8-6410, E2-7110, A6-7310 A8-7410 APU on A68M || <!--IDE-->{{N/A}} || <!--SATA-->sata some with cdrw dvdrw || <!--Gfx-->{{Maybe|VESA Radeon R2 R4 R5}} || <!--Audio-->{{no|HD Audio ALC3201-GR}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 RTL8102E or Atheros 1GbE}} || <!--Wireless-->{{unk|Qualcomm Atheros AR9565}} || <!--Test Distro--> || <!--Comments-->2015 64bit most have SSE4 AVX but E2-2000 does not - 15.6-inch (1366 x 768) - 2 ddr3l sodimm slots - small 31Whr or 41Whr external battery covers 240 G4, 245 G4, 250 G4, 255 G4, 256 G4, 14G, 15G - keyboard repair swap requires removal of all components -
|-
| <!--Name-->HP Elitebook 725 G2, 745 G2, 755 G2 || <!--Chipset-->Amd Quad very slow A6-7050B A8-7150B 1.9GHz A10-7350B || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA on AMD R4 R5 Radeon R6 with DP and vga}} || <!--Audio-->{{No|HD audio with IDT 92HD91}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 PCIe GBE}} || <!--Wireless-->{{no|Broadcom or Atheros}} || <!--Test Distro--> || <!--Comments-->2016 64bit - 12.5-inch, 14" or 15.6in (all 1366 x 768) - 19.5V 65w 45W AC adapter - internal pull up tab battery under base which slides off - 2 ddr3l sodimm slots - keyboard swap requires removal of all components -
|-
| <!--Name-->HP ProBook 645 g2, Probook 445 G2, Probook 245 G2 most have cmos rtc battery || <!--Chipset-->AMD very slow A6-8600 A8-8700 a10- || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA 2D for Radeon R5 R6}} || <!--Audio-->{{No|HD Audio }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{No|Intel I219V 100/1000}} || <!--Wireless-->{{No|Intel or Qualcomm Atheros}} || <!--Test Distro--> || <!--Comments-->2016 64bit - 14in and 15.6-inch HD (1366 x 768) or FHD 1080p - 2 ddr3l sodimm slots max 16GB - internal battery - hp ac psu tip -
|-
| <!--Name-->HP Probook 455 G3 should have a cmos battery || <!--Chipset-->AMD slow A10-8700P || <!--IDE-->{{N/A}} || <!--SATA-->1 2.5in sata and most should have 9.5mm dvd-rw || <!--Gfx-->{{Maybe|VESA 2D for Radeon R5}} || <!--Audio-->{{No|HDAudio with Conexant CX7501 codec }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111HSH-CG}} || <!--Wireless-->{{no|RTL8188EE }} || <!--Test Distro--> || <!--Comments-->2016 64bit - 2 ddr3l sodimm slots - keyboard swap problematic -
|-
| <!--Name-->HP Elitebook 725 G3, 745 G3, 755 G3, 725 G4, 745 G4, 755 G4, HP mt43 || <!--Chipset-->Amd slow A8-8600B, A10-8700B, A12-8800B to Quad A8 Pro 9600B to A10 9800 || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA on AMD R5 R6 R7 with DP and vga but screen is low res, dull colours, and blurry}} || <!--Audio-->{{No|HD audio with IDT codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{No|Broadcom 5762 PCIe GBE}} || <!--Wireless-->{{no|Realtek RTL8723BE-VB}} || <!--Test Distro--> || <!--Comments-->2016 64bit - 12.5-inch (1366 x 768) to 14" and 15.6in - 2 sodimm ddr3 - 19.5V 45W AC slim 4.5mm hp adapter - randomly shuts down and the noisy fans constantly on - keyboard swap problematic -
|-
| <!--Name-->HP ProBook 645 G3, 655 G3 should have a cmos rtc battery underside of mb || <!--Chipset-->AMD 8th Gen slow A10-8730B, A8-9600B (4c4t) A6-8530B (2c2t) || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA 2d for AMD R5}} || <!--Audio-->{{No|HD Audio}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 RTL8111HSH}} || <!--Wireless-->{{No|Intel or Realtek}} || <!--Test Distro--> || <!--Comments-->2016 64bit - 15.6in - 2 ddr4 sodimm slots - keyboard repair swap requires removal of all components -
|-
| <!--Name-->HP ProBook 250 G5 easy cmos and external main battery || <!--Chipset-->Intel i7-6500U, i5-6200U, i3-6100U to slow i3-6006U, N3710 all sse4.1 and avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe| }} || <!--Gfx-->{{maybe|VESA 2D for iGPU Intel HD405 to HD520 dGPU or AMD Radeon R5 430M}} || <!--Audio-->{{unk|HDAudio with Realtek ALC3227 (or ALC282) codec 0x0282 }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 rtl8111HSH}} || <!--Wireless-->{{no| }} || <!--Test Distro-->Deadwoods' latest usb3 test iso with noacpi || <!--Comments-->2016 64bit - 15.6 inch 768p - HP ac psu - 2 ddr4 sodimm slots -
|-
| <!--Name-->HP ProBook 250 G6 SL52 LA-E801P - easy cmos battery and external battery || <!--Chipset-->Intel tested '''7200U''' untested 7500U to slow N3060 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|ahci on M.2 sata or 2.5in whichever installed with 1 m.2 permanent and internal dvdrw}} || <!--Gfx-->{{Maybe|VESA 2D for Intel Intel HD Graphics 620 or AMD Radeon 520}} || <!--Audio-->{{yes|HDAudio 0x8086, 0xa170 or 0x8086, 0x9dc8 with ALC3227 aka ALC282 codec 0x10EC, x0282}} || <!--USB-->{{maybe|intel sunrise point-lp USB3.0 xHCI}} || <!--Ethernet-->{{yes|rtl8169 Realtek RTL8111}} || <!--Wireless-->{{No|RTL8821CE or Intel wifi}} || <!--Test Distro-->Deadwoods' latest usb3 test iso with noacpi || <!--Comments-->2017 64bit 768p or 1080p - 19.5V 65W - 2 DDR4 sodimm slots max 16Gb - keyboard swap problematic - synaptics touchpad - poor hinges -
|-
| <!--Name-->HP Pavilion 14-BS, HP 15-BS LA-E802P cmos battery and external battery || <!--Chipset-->Intel i3-7200U to slow Celeron || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata 2.5in (possibly requires the drive cable and M.2 sata3, most have no cdrw dvdrw}} || <!--Gfx-->{{Maybe|VESA 2d for Intel}} || <!--Audio-->{{No|HDAudio 0x8086, 0x9d70 with ALC codec 0x10EC, x0}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek rtl8169}} || <!--Wireless-->{{No|RTL8188CTV, RTL8821CE or Intel Dual Band Wireless-AC 3168}} || <!--Test Distro-->Deadwoods' latest usb3 test iso || <!--Comments-->2017 64bit 768p all - 19.5V 65W - DDR4 slot max 8Gb - keyboard swap problematic - synaptics touchpad -
|-
| <!--Name-->HP 14-bw022na - cmos coin battery and external battery || <!--Chipset-->AMD very slow A6-9120 APU || <!--IDE-->{{N/A}} || <!--SATA-->m.2 sata || <!--Gfx-->{{Maybe|VESA 2D for R3}} || <!--Audio-->{{no|HDAudio VOID with conexant CX7501 codec}} || <!--USB-->{{maybe|USB3 not working but port on the right works}} || <!--Ethernet-->{{yes|Realtek GbE}} || <!--Wireless-->{{No|Realtek}} || <!--Test Distro-->Deadwoods' latest usb3 test iso with noacpi || <!--Comments-->2017 64bit 768p to 900p - keyboard swap problematic -
|-
| <!--Name-->HP Probook 455 G4, Probook 455 G5, cmos battery on underside of mb take off back cover and below wifi card || <!--Chipset-->AMD very slow A10-9600P APU, A9-9410, A6-9210 APU || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA Radeon R4, R5 or R6}} || <!--Audio-->{{No|HD }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|realtek 1GbE}} || <!--Wireless-->{{no|realtek or intel Wireless-AC 7265}} || <!--Test Distro--> || <!--Comments-->2017 64bit 15.6in 768p - 2 ddr4 sodimm slots - keyboard swap problematic - rr03xl battery -
|-
| <!--Name-->HP ProBook 255 G6 (), easy cmos and external battery || <!--Chipset-->AMD very slow E2-9000e, A9-9420, 9220P, A4-9125 (all 2c) AMD A6-9225 AMD A9-9425 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata 2.5in (possibly requires the drive cable and M.2 sata3 and internal cdrw dvdrw}} || <!--Gfx-->{{Maybe|VESA 2d for R2 R3 R4}} || <!--Audio-->{{No|HDAudio 0x1022, 0x157a or 0x1002, 0x15b3 with ALC codec 0x10EC, x0}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek rtl8169}} || <!--Wireless-->{{No|RTL8188CTV, RTL8821CE or Intel Dual Band Wireless-AC 3168}} || <!--Test Distro--> || <!--Comments-->2017 64bit 768p all - 19.5V 65W - DDR4 slot max 8Gb - keyboard swap problematic - synaptics touchpad -
|-
| <!--Name-->HP ProBook 255 G7 (la-g078p) - no cmos battery so needs internal battery || <!--Chipset-->AMD very slow E2-9000e, A9-9420, 9220P, A4-9125 (all 2c) AMD A6-9225 AMD A9-9425 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata 2.5in (possibly requires the drive cable and M.2 sata3, most have no internal cdrw dvdrw}} || <!--Gfx-->{{Maybe|VESA 2d for R2 R3 R4}} || <!--Audio-->{{No|HDAudio 0x1022, 0x157a or 0x1002, 0x15b3 with ALC codec 0x10EC, x0}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek rtl8169}} || <!--Wireless-->{{No|RTL8188CTV, RTL8821CE or Intel Dual Band Wireless-AC 3168}} || <!--Test Distro--> || <!--Comments-->2017 64bit 768p all - 19.5V 65W - DDR4 slot max 8Gb - keyboard swap problematic - synaptics touchpad -
|-
| <!--Name-->ProBook 245 g8 - no cmos rtc coin battery but uses internal battery || <!--Chipset-->AMD very slow A6-9225, A4-9125, A6-8350B, A4-5350B APU || <!--IDE-->{{N/A}} || <!--SATA-->m.2 sata || <!--Gfx-->{{Maybe|VESA R4 R6}} || <!--Audio-->{{no|HDAudio}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek GbE}} || <!--Wireless-->{{No|Realtek}} || <!--Test Distro-->Deadwoods' latest usb3 test iso || <!--Comments-->2017 64bit 768p - many later variants - keyboard swap problematic -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Probook 255 G7 84AE 7DE72EA 7DE73EA (epv51 la-g076p) - CMOS Error (502) replace main internal battery HT03XL to have bios remember settings || <!--Chipset-->Ryzen 3 2200U 2300U (2c4t), R5 2500U, R7 2700U (4c8t) Raven Ridge || <!--IDE-->{{N/A}} || <!--SATA-->{{no|M.2 (Sata or NVMe) and very optional 2.5in sata, most have mini sata port}} || <!--Gfx-->{{Maybe|VESA 2d 640p to 768p for AMD Vega 3, 6, or 8}} || <!--Audio-->{{unk|HDAudio 0x1022, 0x15e3 with ALC236 0x10ec, 0x0236 codec}} || <!--USB-->{{maybe|USB3 }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no|Realtek RTL8821CE, 8822BE or Intel AC 8265}} || <!--Test Distro-->AROS x64 deadwoods' iso does not boot with cd/dvd and installed to 2.5in ssd, boots to grub choice, select but no further and reboots || <!--Comments-->2017 64bit - 12.5 to 15.6in 768p mostly to 1080p - 1 on smaller laptops or 2 ddr4 2400mhz sodimm slots on larger laptops max 16Gb - hp 4.5mm blue tip charging - keyboard swap problematic - esc boot options f9 boot order f10 bios - synaptics touchpad -
|-
| <!--Name-->HP EliteBook 725 G5, 735 G5, 745 G5, 755 G5, Probook 455 G6, ProBook 645 G6 || <!--Chipset-->Ryzen 3 2200U 2300U (2c4t), R5 2500U, R7 2700U (4c8t) Raven Ridge || <!--IDE-->{{N/A}} || <!--SATA-->{{no|M.2 (Sata or NVMe) and very optional 2.5in sata, some have mini sata port but no cdrw dvdrw}} || <!--Gfx-->{{Maybe|VESA 2d 640p to 768p for AMD Vega 3, 6, or 8}} || <!--Audio-->{{No|HDAudio 0x1022, 0x15e3 with ALC 0x10ec, 0x0 codec}} || <!--USB-->{{maybe|USB3 }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no|Realtek RTL8821CE, 8822BE or Intel AC 8265}} || <!--Test Distro-->Deadwoods' latest usb3 test iso does not boot software error || <!--Comments-->2017 64bit - 12.5 to 15.6in 768p mostly to 1080p - 1 on smaller laptops or 2 ddr4 2400mhz sodimm slots on larger laptops max 16Gb - hp 4.5mm blue tip charging - keyboard swap problematic - esc boot options f9 boot order f10 bios - synaptics touchpad -
|-
| <!--Name-->HP 14-cm, 15-bw0, HP 15-db0043na, HP 15-db0996na, HP 15-db0997na, 17-ca0007na, 17-ca1, ProBook 645 G4 - no cmos battery || <!--Chipset-->Ryzen 2200U (2c 4t) 2500U (4c 8t) with AMD Carrizo FCH 51 || <!--IDE-->{{N/A}} || <!--SATA-->{{no|1 M.2 and 1 2.5in on some larger models and hdd port }} || <!--Gfx-->{{Maybe|VESA Radeon R5 and later Vega 3 or 7}} || <!--Audio-->{{No|HDaudio 0x1002, 0x103c or 0x1022, 0x157a with Realtek ALC3227 0x10ec, 0x0282 but ATI HDMI}} || <!--USB-->{{Maybe|USB3 USB boot drive stuck on kitty's eyes}} || <!--Ethernet-->rtl8169 RTL8111E || <!--Wireless-->{{No|RTL 8723DE 8821 bios locked}} || <!--Test Distro-->2020 Icaros 2.3 USB, Deadwoods' latest usb3 test iso does not boot software error || <!--Comments-->2018 64bit 2kg - screen is dim 14in, 15.6in or 17.3" 768p or 1080p - 65W 19.5V ac adapter - internal 3-cell 41 Wh Li-ion battery does not last long - 2 ddr4 sodimm slots - no DVD-Writer - keyboard swap problematic -
|-
| <!--Name-->HP ProBook 250 G7, 250 G8 - no cmos battery so needs internal battery and needs usb3 boot due to garbage bios boot options || <!--Chipset-->Intel 8235U 8265U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|M.2 nvme not working, optional sata 2.5in requires LS-G072P and ribbon cable, if internal cdrw dvdrw partial boot}} || <!--Gfx-->{{Maybe|VESA 2D for Intel WhiskeyLake-U 620 GT2 UHD}} || <!--Audio-->{{No|HDAudio 0x8086, 0xa170 or 0x8086, 0x9dc8 with ALC236 codec 0x10EC, x0236}} || <!--USB-->{{maybe|Cannon Point-LP USB3.1 xHCI}} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111}} || <!--Wireless-->{{No|RTL8821CE or Intel Dual Band Wireless-AC 3168}} || <!--Test Distro-->Deadwoods' latest usb3 test iso does not boot stuck on kittys eyes || <!--Comments-->2018 64bit 1080p all - 19.5V 65W - DDR4 slot max 16Gb - keyboard swap problematic - synaptics touchpad -
|-
| <!--Name-->HP 255 G7 7DC73EA 2D200EA 87CE (fpp55 la-g07jp), - CMOS Error (502) replace 41.04Wh ht03xl hto3xl dynapack suzhou main battery to have bios remember settings || <!--Chipset-->'''tested''' R5 3500U (4c8t) '''untested''' mostly dual cores - AMD Athlon Gold 3150U (2c2t), Silver 3050U APU (2c2t), Ryzen 3 Pro 3145U APU, 3200U (2c4t) || <!--IDE-->{{N/A}} || <!--SATA-->{{no|1 m.2 NVMe or sata3 up to 2280, optional 2.5in sata, many have mini-sata slimline 6+7 internal port but no physical 9mm drive}} || <!--Gfx-->{{Maybe|VESA 2D from 640p to 1080p for AMD Vega 3, 6 or 8 with up to 2gb ram taken}} || <!--Audio-->{{unk|HDAudio 0x1022, 0x15e3 with realtek ALC236 codec 0x10ec, 0x0236}} || <!--USB-->{{maybe|USB3 but no usb-c}} || <!--Ethernet-->{{maybe|rtl8169 Realtek GbE RTL8111HSH}} || <!--Wireless-->{{No|Realtek 8822BE}} || <!--Test Distro-->2025 Aros One 32bit and 64bit burnt iso does not fully boot (stuck on kitty's eyes) and installed onto 2.5in on another compatible computer, sometimes has dosboot bootstrap error -6 || <!--Comments-->2018 64bit - 14in / 15.6in dim tn panel 768p or 1080p - 2 ddr4 sodimm slots max 16gb - hp 19.5V 45W 65W AC blue tip round 4.5 mm - keyboard swap problematic - synaptics touchpad - caps lock blinking 3 times then 2 quick pulses means ram or bios issue - f9 boot order f10 uefi - laptop needs usb3 to boot and use so avoid until usb3 arrives
|-
| <!--Name-->HP ProBook 450 G5 needs main battery for bios settings saved || <!--Chipset-->Intel i7-8550U, i5-8250U, i3-8130U, i7-7500U, i5-7200U, i3-7100U, i3-7020, i3-6006U all sse4.1 and avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe| }} || <!--Gfx-->{{maybe|VESA 2D for Intel UHD}} || <!--Audio-->{{unk|HDAudio with codec }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 rtl8111HSH}} || <!--Wireless-->{{no| }} || <!--Test Distro-->Deadwoods' latest usb3 test iso with noacpi || <!--Comments-->2018 64bit - 15.6 inch 768p or 1080p - HP ac psu, 1 ddr4 sodimm slot -
|-
| <!--Name-->[https://support.hp.com/gb-en/document/c06955717 ProBook 245 g8], Probook 445R G6, 455R G6, HP14-dk0599sa, pavilion 15-cw1511na 15-cw1507sa, HP 15s-eq1516sa no cmos battery || <!--Chipset-->AMD Athlon Gold 3150U (2c2t), Silver 3050U APU (2c2t), Ryzen 3 Pro 3145U APU, 3200U (2c4t) and 3500U (4c8t) || <!--IDE-->{{N/A}} || <!--SATA-->{{no|1 m.2 (NVMe or sata3 up to 2280), optional 2.5in sata but resets}} || <!--Gfx-->{{Maybe|VESA 2D from 640p to 1080p for AMD Vega 3, 6 or 8 with up to 2gb ram taken}} || <!--Audio-->{{unk|HDAudio 0x1022, 0x15e3 with realtek ALC codec 0x10ec, 0x0}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 Realtek GbE RTL8111HSH}} || <!--Wireless-->{{No|Realtek 8822BE}} || <!--Test Distro-->Aros || <!--Comments-->2018 64bit - 14in / 15.6in dim tn panel 768p or 1080p - 2 ddr4 sodimm slots max 16gb - hp 19.5V 45W 65W AC blue tip round 4.5 mm - keyboard swap problematic - synaptics touchpad - f9 boot order f10 uefi
|-
| <!--Name-->HP ProBook 450 G6 needs main battery for bios settings saved || <!--Chipset-->Intel i7-8565U, i5-8265U, i3-8165U all sse4.1 and avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe| }} || <!--Gfx-->{{maybe|VESA 2D for Intel UHD 620}} || <!--Audio-->{{unk|HDAudio with Realtek ALC3246 aka ALC295 codec }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 rtl8111HSH}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2019 64bit - 15.6 inch 768p or 1080p - 45W 19.5V HP ac psu - 2 ddr4 sodimm slots -
|-
| <!--Name-->Elitebook 735 G6 5VA23AV, Elitebook 745 G6, 255 g8, HP 15s-dy - no cmos battery || <!--Chipset-->AMD® Ryzen™ 5-3500U Ryzen 3-3300U AMD Ryzen 3-3250U AMD Athlon® Gold 3150U AMD Athlon Silver 3050U AMD 3020e || <!--IDE-->{{N/A}} || <!--SATA-->{{no|m.2 2280 nvme in legacy - hp sure start and secure boot disabled but still issues with gpt installs - LS-H323P LS-K201P}} || <!--Gfx-->{{Maybe|VESA for Vega 8, 5 or 3}} || <!--Audio-->{{No|HDAudio 6.34 ahi with realtek ALC codec 0x10EC, 0x0295}} || <!--USB-->{{maybe|USB3 type-A port boots stick partially to kitty eyes}} || <!--Ethernet-->{{Maybe|rtl8169 realtek RTL8111E or 8111H}} || <!--Wireless-->{{No|realtek or intel}} || <!--Test Distro-->2020 Icaros 2.3 onto USB and AROS One 1.8 USB, Deadwoods' latest usb3 test iso with noacpi || <!--Comments-->2019 64bit - 15.6in 1366x768 to 1920x1080 - 2 3200MHz DDR4 sodimms - 19.5V 2.31A or 20V 2.25 45W 4.5X3.0MM hp - esc bios setup, f9 boot device select - low travel keyboard - poor hw03xl or battery life - plastic hooked base with retained screws - touchpad? -
|-
| <!--Name-->HP ProBook 445 G7, 455 G7 || <!--Chipset-->Ryzen 3 4300U 5 4500U 4700U || <!--IDE-->{{N/A}} || <!--SATA-->1 sata and 1 nvme || <!--Gfx-->{{Maybe|VESA Vega 3}} || <!--Audio-->{{unk|HDAudio with realtek alc236 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|realtek rtl8111ep}} || <!--Wireless-->{{No|realtek RTL8822CE or intel AC 9260 or Wi-Fi 6 AX200}} || <!--Test Distro-->Deadwoods' latest usb3 test iso || <!--Comments-->2020 64bit - 14 inch 768p or 1080p - 2 ddr4 sodimm slots - smart 45w 65w hp or usb-c charging - keyboard swap problematic - RE03XL battery -
|-
| <!--Name-->HP ProBook 450 G7 || <!--Chipset-->Intel || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe| }} || <!--Gfx-->{{maybe|VESA 2D for Intel UHD}} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 rtl8111EP}} || <!--Wireless-->{{no| }} || <!--Test Distro-->Deadwoods' latest usb3 test iso with noacpi || <!--Comments-->2020 15.6 inch 768p or 1080p - 1 ddr4 sodimm slot -
|-
| <!--Name-->HP EliteBook 745 G7, 845 G7, HP 15-EH0006NA || <!--Chipset-->AMD Ryzen 3 4300U, 5 4500U, PRO 4650U || <!--IDE-->{{N/A}} || <!--SATA-->SSD M.2 || <!--Gfx-->{{Maybe|VESA AMD Radeon Vega 8}} || <!--Audio-->{{unk|Hdaudio with codec 0x10EC, 0x0257}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2020 64bit - 15.6in 1080p - 1 ddr4 sodimm slot - Bang & Olufsen speakers - keyboard swap problematic -
|-
| <!--Name-->HP ProBook 255 G8, HP 245 G9, ProBook 255 G9 816C2EA#ABE, - no cmos battery only internal battery || <!--Chipset-->AMD RYZEN 3 5300u, 5425U, 5 5500U 5625U, 7 5700u || <!--IDE-->{{N/A}} || <!--SATA-->{{no|NVMe}} || <!--Gfx-->{{Maybe|VESA AMD Vega 6 or 8 hdmi 1.4B}} || <!--Audio-->{{unk|HDAudio}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111HSH-CG GbE}} || <!--Wireless-->{{No|Realtek RTL8822CE or Intel}} || <!--Test Distro--> || <!--Comments-->2021 64bit - 14" to 15.6in 768p to 1080p poor gamut - 45 or 65w hp psu - 2 ddr4 sodimm slots max 16GB - keyboard swap problematic -
|-
| <!--Name-->HP ProBook 450 G9 || <!--Chipset--> || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe| }} || <!--Gfx-->{{maybe|VESA 2D for Intel Iris Xe}} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 rtl8111H}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2020 15.6 inch - 1 ddr4 sodimm slot -
|-
| <!--Name-->HP EliteBook 645 g7, 835 G8, 845 g8, HP ENVY x360 13 15, HP 17-cp0021na || <!--Chipset-->AMD Ryzen 5 5650U, 7 5800U, R7 Pro 5850U || <!--IDE-->{{N/A}} || <!--SATA-->NVMe || <!--Gfx-->{{Maybe|VESA 2D for AMD Radeon}} || <!--Audio-->{{unk|HDAudio 0x, 0x with ALC3247 aka ALC236 codec 0x10ec, 0x0236}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{Maybe|Realtek 1Gbe on 645 only}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2021 64bit - 13.3" or 14" 1080p - poor screens low nits and srgb score - 845 gets hot ue to poor cooling - slim round hp ac - keyboard swap problematic -
|-
| <!--Name-->HP Dev One, HP ProBook 455 G8 || <!--Chipset-->AMD Ryzen 7 5800U, R7 5850U || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|VESA }} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit 15.6" 1080p - 2 internal sodimm slots - hp barrel charging -
|-
| <!--Name-->Elitebook 655 g9 669y1ut#aba, || <!--Chipset-->AMD Ryzen 5 PRO 5675U || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|VESA }} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit 15.6" 1080p - 1 or 2 internal sodimm slots - usb-c charging -
|-
| <!--Name-->HP probook 635 Aero G8 || <!--Chipset-->AMD Ryzen 5 5600U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2921 64bit - 14in 1080p - 2 ddr4 slots - ec chip nuvoton NPCX797HA1B - bios winbond 250256JYEN -
|-
| <!--Name-->HP Elitebook 845 g9 || <!--Chipset-->AMD 6000 series 6850u || <!--IDE-->{{N/A}} || <!--SATA-->M.2 NVMe || <!--Gfx-->{{Maybe|VESA 2D for Vega 8}} || <!--Audio-->{{unk|HDaudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| }}Qualcomm Atheros || <!--Test Distro--> || <!--Comments-->2022 64bit aluminum case - 14in 1080p to 2140p 16:10 poor screen again - 2 internal ddr5 sodimm slots - usb-c ac charging avoid any knocks - keyboard swap problematic -
|-
| <!--Name-->HP ProBook 445 G10, 455 G10 || <!--Chipset-->AMD Ryzen 5 7530U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Vega 7 || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2023 64bit - 15.6in - hp round ac -
|-
| <!--Name-->Hp 455 G11 || <!--Chipset-->AMD Ryzen 3 7335U (4c8t), 5 7535U (6c12t), 7 7735U (8c16t) || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Vega 7 || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 RTL8111HSH}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2023 64bit - 35.6 cm (14.0 in) 1920x1200 or 2560x1600 - usb-c 45w or 65w ac - 2 ddr5 sodimm slots max 32gb -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|}
====IBM/Lenovo====
[[#top|...to the top]]
Build quality (Lowest to highest)
<pre >
iSeries
Edge
Ideapad
Thinkpad - good cases and construction but electronic internals same as anyone else
</pre >
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->Thinkpad 390X 390E (2626) || <!--Chipset-->Neo Magic MM2200 with C400 P2-266 to P3 500MHz || <!--IDE--> || <!--SATA--> || <!--Gfx-->use VESA || <!--Audio-->{{No|256AV or ESS Solo-1}} || <!--USB--> || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->1998 32bit
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Thinkpad 600x || <!--Chipset-->Intel 440BX || <!--IDE-->{{Maybe| }} || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA Neomagic NM2360 MagicMedia 256ZX}} || <!--Audio-->{{No|Crystal CS4297A codec}} || <!--USB--> || <!--Ethernet-->{{N/A| }} || <!--Wireless-->{{N/A| }} || <!--Test Distro-->Icaros 1.3.1 || <!--Comments-->1998 32bit a little support - earlier 600 and 600e were Pentium 2 based
|-
| <!--Name-->Thinkpad X20 (2662-32U) X21 || <!--Chipset-->Intel 440 BX ZX DX || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio-->{{no|AC97 with Cirrus Logic Crystal cs4281}} || <!--USB-->1.1 || <!--Ethernet-->no mini pci intel e100 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2002 32bit
|-
| Thinkpad T20 (2647) T21 (26) T22 || 440BX || {{Maybe| }} || {{N/A}} || {{partial|Savage IX-MV (VESA only)}} || {{no|Cirrus Logic CS 4614/22/ 24/30}} || {{yes|USB 1.1}} || {{yes|Intel PRO 100}} || {{N/A}} || Icaros 1.2.4 || 2002 32bit
|-
| <!--Name-->A21e (2628, 2655) A22e || <!--Chipset-->440MX || <!--IDE--> || <!--SATA--> || <!--Gfx-->Ati rage mobility || <!--Audio-->{{no|AC97 Cs4299 CS4229}} || <!--USB--> || <!--Ethernet-->intel e100 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2002
|-
| Thinkpad T23 (2647) || i810 || {{yes|IDE}} || {{N/A}} || {{maybe|S3 Super Savage IX/C SDR (VESA only)}} || {{maybe|AC'97 CS4299}} || {{yes|USB 1.1}} || {{yes|Intel ICH3 PRO 100 VE}} || {{no|Realtek RTL8180L others with bios hacking risky}} || || 2003 32bit with some support
|-
| <!--Name-->Thinkpad X22 X23 X24 || <!--Chipset-->830 || <!--IDE--> || <!--SATA--> || <!--Gfx-->ATi Mobility M6 LY || <!--Audio-->Ac97 CS4299 || <!--USB-->2 x 1.1 || <!--Ethernet-->Intel Pro 100 || <!--Wireless-->Actiontec Harris Semi Intersil Prism 2.5 (X23 and X24 only) || <!--Test Distro--> || <!--Comments-->2003 32bit with slice Ultrabase X2 -
|-
| <!--Name-->A30 A30p || <!--Chipset-->830 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Ati Radeon M6 || <!--Audio-->AC97 CS 4299 || <!--USB--> || <!--Ethernet-->Intel Pro 100 ve || <!--Wireless-->{{No|Intel 2200 bios locked}} || <!--Test Distro--> || <!--Comments-->2003 32bit
|-
| <!--Name-->A31 A31p R31 R32 T30 || <!--Chipset-->830 || <!--IDE-->{{yes| }} || <!--SATA-->{{N/A| }} || <!--Gfx-->Ati Radeon 7500 or FireGL || <!--Audio-->{{yes|AC97 Intel with AD1881A codec}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{yes| Intel Pro 100 ve}} || <!--Wireless-->{{No|Intel bios locked}} || <!--Test Distro-->[https://forums.lenovo.com/t5/Android-Ecosystem-Developers/AROS-An-operation-system-inside-Android/td-p/1441741 Icaros 1.5.2] || <!--Comments-->2003 32bit Also tested with Icaros 2.0.3.
|-
| Thinkpad X30 (2673) X31 (2884-xx2) X31t || i830 || {{yes}} || {{N/A}} || {{maybe|VESA only Radeon M6 Mobility}} || {{yes|AC97 - AD1981B codec}} || {{yes|USB 1.1}} || {{yes|Intel PRO 100}} || {{no|Cisco Aironet or Intel 2915 but atheros with bios hacking}} || Icaros 1.4 || 2004 32bit sound bit distorted
|-
| <!--Name-->R50e R51 || <!--Chipset-->855M || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|Intel 855M use VESA}} || <!--Audio-->intel AC97 with AD1981B codec || <!--USB--> || <!--Ethernet-->{{Yes|Intel 100 VE}} || <!--Wireless-->{{No|Intel PRO Wireless 2200BG bios locked}} || <!--Test Distro--> || <!--Comments-->2004 32bit -
|-
| IBM Thinkpad T40 (2373) T41 T41p (2379) T42 T42p T43 T43p || Intel 8xx || {{partial|PIO}} || {{N/A}} || {{partial|ATI mobility 7500 9000 (VESA only)}} || {{yes|AC97 playback}} || {{yes|uhci 1.1 and ehci 2.0}} || {{no|e1000}} || {{Maybe|Intel 2200bg bios locked but possible AR5BMB-44 AR5212 FRU 39T0081 mini PCI}} || Icaros 1.2.4 || 2004 32bit 16v IBM plug - Centrino Needs ATA=nodma option - issues with the inner chip of the SMT BGA graphics chip
|-
| Thinkpad X32 || i855 || {{yes|40, 60 or 80GB 2.5" PATA HDD}} || {{N/A}} || {{maybe|VESA only ATI Mobility Radeon 7000 with 16MB}} || {{maybe| Intel AC'97 Audio with a AD1981B codec}} || {{yes|USB}} || {{no|Intel 1000}} || {{no|Intel 2200 but atheros with bios hacking}} || 2016 Icaros 2.1 || 2004 32bit - 12.1" TFT display with 1024x768 resolution; 256 or 512MB PC2700 memory standard (2GB max)
|-
| <!--Name-->Thinkpad X40 X40t by Quanta || <!--Chipset--> || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->{{maybe|Intel 800 (VESA only)}} || <!--Audio-->{{yes|AC97 AD1981B}} || <!--USB-->{{yes}} || <!--Ethernet-->{{no|Intel e1000}} || <!--Wireless-->{{Maybe|Intel but most atheros with bios hacking - difficult though}} || <!--Test Distro--> || <!--Comments-->2004 32bit last IBM design
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Thinkpad X41 (IBM) MT 1864 1865 2525 2526 2527 2528 x41t (Lenovo) MT 1866 1867 || <!--Chipset-->Intel with single core 1.5 1.6 and tablet 1.2GHz || <!--IDE-->{{yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|Intel 915GML 2D}} || <!--Audio-->{{yes|AC97 AD1981B}} || <!--USB-->{{yes}} || <!--Ethernet-->{{no|Broadcom BCM5751M tg3}} || <!--Wireless-->{{Maybe|Intel or MiniPCI Wi-Fi Atheros AR5BMB FRU 39T0081 but ordinary atheros 54meg needs risky bios hacking}} || <!--Test Distro--> || <!--Comments-->2005 32bit - amongst first Lenovo design
|-
| <!--Name-->R52 (most 18xx) || <!--Chipset-->Intel 915 || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|Intel 915GML 2D}} || <!--Audio-->{{yes|AC97 AD1981B}} || <!--USB-->{{yes}} || <!--Ethernet-->{{no|Broadcom}} || <!--Wireless-->{{no|Broadcom bios locked}} || <!--Test Distro--> || <!--Comments-->2005 32bit
|-
| <!--Name-->R52 1846, 1847, 1848, 1849, 1850, 1870 || <!--Chipset-->ATi 200m || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{No|ATI}} || <!--Audio-->{{yes|AC97 AD1981B}} || <!--USB-->{{yes}} || <!--Ethernet-->{{no|Broadcom BCM5751M tg3}} || <!--Wireless-->{{no|Broadcom bios locked}} || <!--Test Distro--> || <!--Comments-->2005 32bit
|-
| <!--Name-->Thinkpad T60 T60P
* 64bit - 6 or 8 is 16:10 on T60/p, eg. 8742-CTO 15.4"
* 32bit - 1 and 2 are 14", 15" 4:3, like 2007-YM3 or 1952-CTO
|| <!--Chipset-->*any* T60/p will take a Core 2 Duo CPU with newer BIOS || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->Intel GMA (2D) with "p" graphics card (ATi V5200 or V5250) || <!--Audio-->{{no|HD Audio}} || <!--USB-->{{yes}} || {{no|e1000e 82573L}} || <!--Wireless-->{{No|Intel ipw3945 ABG but atheros with Middleton's or Zender BIOS hacking risky}} || Icaros 1.4 || <!--Comments-->2006 -
|-
| <!--Name-->X60 x60s x60t tablet || <!--Chipset-->945GMS 940GML || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{yes|Intel GMA (2D)}} || <!--Audio-->{{no|AD1981 HD Audio}} || <!--USB-->{{yes}} || <!--Ethernet-->{{no|Intel}} || <!--Wireless-->{{no|Intel 3945 ABG or fru 39T5578 Atheros 5K AR5BXB6 ar5007eg with bios hacking}} || <!--Comments-->Icaros 1.4 || 2006 32bit - perhaps needs a zendered bios update but risky
|-
| <!--Name-->R60 R60e || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->intel 950 with optional radeon x1300 x1400 || <!--Audio-->HD Audio with 1981HD codec || <!--USB--> || <!--Ethernet-->Intel or Broadcom || <!--Wireless-->{{Maybe|Intel 3945 or atheros fru 39T5578 bios locked}} || <!--Test Distro--> || <!--Comments-->2006 32bit
|-
| Thinkpad T61 T61p without Middleton's or Zender BIOS || Core 2 Duo CPU T7300 T8300 || {{N/A}} || <!--SATA-->{{yes| }} || Intel GMA (2D), NVS 140m or Quadro FX 570M () || {{maybe|HD Audio with Analog Devices AD1984 or AD1984A HD Audio Codec routed to the line output}} || <!--USB-->{{yes}} || {{no|intel e1000e 82573L}} || {{No|Intel but atheros with bios hacking risky}} || Icaros 1.6, AROS One || 2007 64bit
|-
| <!--Name-->X61 x61s X61T Tablet || <!--Chipset-->Core Duo T8100 on i965 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{yes|Intel GMA 3100 (2D) slow 3D}} || <!--Audio-->{{no|AD1984 HD Audio}} || <!--USB-->{{yes|USB 2.0}} || <!--Ethernet-->{{no|Intel 82566DM}} || <!--Wireless-->{{maybe|Atheros AR5212 (some revisions use Intel WLAN runs very hot) bios locked}} || <!--Test Distro--> || <!--Opinion-->2007 64bit ultrabook running very hot - ddr2 max 4gb -
|-
| <!--Name-->R61 R61i || <!--Chipset-->Intel 965 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->intel 965 || <!--Audio-->HD Audio with conexant codec || <!--USB--> || <!--Ethernet-->Broadcom BCM5787M || <!--Wireless-->{{No|Intel 3945 bios locked}} || <!--Test Distro--> || <!--Comments-->2008 64bit
|-
| Lenovo 3000 N200 || <!--Chipset-->Santa Rosa || {{N/A}} || <!--SATA-->{{maybe| }} || {{yes|Geforce 7300 (2D)}} || {{yes|ALC262 HD Audio}} || <!--USB-->{{yes}} || {{no|Broadcom}} || {{no|Intel 3945 bios locked}} || Icaros 1.4 || 2007 64bit 3D graphics parts are supported but buggy.
|-
| Lenovo 3000 N200 / V200 || GM965 ICH9-M with Intel Mobile Core 2 Duo T5450 || {{N/A}} || <!--SATA-->{{maybe| }} || {{yes|X3100 (2D)}} || {{Maybe|HD Audio ALC269VB or CX20549}} || {{yes| }} || {{no|BCM5906M}} || {{no|Intel 3965 / 4965AGN bios locked}} || Icaros 1.4.1 2.1 || 2007 64bits of laptop works
|-
| <!--Name-->X300 || <!--Chipset-->Core 2 Duo Merom SL7100 1.2GHz || <!--IDE-->{{N/A}} || <!--SATA-->1.8 inch || <!--Gfx-->{{maybe|Intel X3100}} || <!--Audio-->HD Audio AD1984A || <!--USB--> || <!--Ethernet-->Intel || <!--Wireless-->{{No|Intel 4965 bios locked}} || <!--Test Distro--> || <!--Comments-->2007 64bit 13.3" TFT 1440x900 (WXGA+) with LED backlight
|-
| <!--Name-->Thinkpad Edge 11″ AMD K325 || <!--Chipset-->M880G || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{maybe|VESA for ATI HD4200}} || <!--Audio-->{{maybe| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 8111}} || <!--Wireless-->{{no|8192CE (Realtek 8176) bios locked}} || <!--Test Distro--> || <!--Comments-->2007 little support
|-
| <!--Name-->Thinkpad X301 || <!--Chipset-->Core 2 Duo Penryn SU9400 Su9600 with GM45 chipset || <!--IDE-->{{N/A}} || <!--SATA-->1.8 inch micro SATA (uSATA) || <!--Gfx-->{{maybe|Intel X4500}} || <!--Audio-->AD1984A || <!--USB--> || <!--Ethernet-->Intel || <!--Wireless-->{{No|Intel 5xxx WiFi link 5100, 5150, 5300 and 5350 (WiMAX) bios locked}} || <!--Test Distro--> || <!--Comments-->2009 WXGA+ (1440×900) LED backlight display - 2774 or 4057 Alps and 2776 Synaptics touchpad - optical bay interface is Legacy IDE (PATA) - Addonics ADMS18SA, Lycom ST-170m
|-
| <!--Name-->X100e || <!--Chipset-->AMD Athlon Neo Single-Core (MV-40) and dual cores || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|2.5in tray in ide mode in bios}} || <!--Gfx-->{{Maybe|Vesa ATI HD3200}} || <!--Audio-->{{yes|HD Audio with CX20582 codec playback}} || <!--USB-->{{Maybe| }} || <!--Ethernet-->{{Yes|Realtek 8111}} || <!--Wireless-->{{no|Realtek r8192se bios locked}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2009 64bit 11.6in 1366 x 768 - 20v 65W round barrel - enter f1 setup f11 diagnostics f12 boot list - runs very warm -
|-
| <!--Name-->SL400 SL500 || Intel || {{N/A}} || {{Yes|IDE mode}} || {{Maybe|Nvidia 9400M}} || {{Maybe|ALC269}} || {{yes|USB 2.0}} || {{Maybe|RTL8169}} || {{Maybe| bios locked}} || ||
|-
| <!--Name-->SL410 SL510 || 965 || {{N/A}} || {{maybe|IDE mode}} || {{maybe|Intel GMA X4500M (some 2D)}} || {{yes|HD Audio with ALC269 codec - speaker and ear phones}} || {{yes|USB 2.0}} || {{yes|RTL8169}} || {{Maybe| bios locked}} || [http://www.amiga.org/forums/showpost.php?p=645774&postcount=28 Icaros 1.3] || 2009 64bit SL-410
|-
| <!--Name-->T400 ODM Wistron || <!--Chipset-->i || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{Maybe|Intel 4500MHD works limited 2d no 3d - optional switchable Nvidia or ATi HD3470 untested}} || <!--Audio-->{{Yes|HD Audio with Codec CX20561 (T400)}} || <!--USB--> || <!--Ethernet-->{{no|Intel e1000e}} || <!--Wireless-->{{No|Intel Wifi Link 5100 (AGN) half height card with FRU 43Y6493 or 5300 bios locked}} || <!--Test Distro--> || <!--Comments-->2009 64bit 20v lenovo plug - non-free firmware required iwlwifi
|-
| <!--Name-->T400s || <!--Chipset-->i || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{Maybe|VSEA for Intel 4500MHD works limited 2d no 3d}} || <!--Audio-->{{Maybe|HD Audio with CX20585}} || <!--USB--> || <!--Ethernet-->{{no|Intel e1000e}} || <!--Wireless-->{{No|Intel Wifi Link 5100 (AGN) half height card with FRU 43Y6493 or 5300 bios locked}} || <!--Test Distro--> || <!--Comments-->2009 64bit non-free firmware required iwlwifi
|-
| <!--Name-->Lenovo T500 T510 || <!--Chipset-->i || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{maybe|VESA for switchable Intel / AMD HD 3640}} || <!--Audio-->{{maybe|Intel HD Audio with a CX20561 (t500) and CX20585 (T510) codec}} || <!--USB--> || <!--Ethernet-->{{no|Intel }} || <!--Wireless-->{{no|Intel or Lenovo branded unit Atheros AR5007EG AR5BHB63 bios locked}} || <!--Test Distro--> || <!--Comments-->2009 64bit
|-
| <!--Name-->X200 ODM Wistron [http://itgen.blogspot.co.uk/2008/12/installing-arch-linux-on-lenovo.html X200s] and x200t tablet model without [http://fsfe.soup.io/post/590865884/the-unconventionals-blog-English-Flashing-Libreboot-on Risky flash of the Libreboot BIOS] || <!--Chipset-->GM45 GS45 with slow Celeron, SU or faster SL Core 2 Duos CPUs || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{maybe||Intel GMA 4500 MHD 2D but slow software 3D tunnel 10 gearbox 8 tests}} || <!--Audio-->{{yes|Intel HD Audio with Conexant CX20561 codec playback}} || <!--USB-->{{{Yes|USB 2.0 USB SD card reads and writes}} || <!--Ethernet-->{{no|Intel 82567LM Gigabit}} || <!--Wireless-->{{no|Intel Pro 5100 5150 5300 5350 AGN due to whitelist prevention bios locked}} || <!--Test Distro-->Icaros 2.0.1 || <!--Comments-->2009 64bit 12.1" CCFL (webcam version) or LED backlit (no webcam). no support for 54mm express cards or Authentec 2810 fingerprint reader - thinkpoint only no trackpad - thinklight -
|-
| <!--Name-->Lenovo T410 T410s T410si || <!--Chipset-->qm57 with i5 m || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{maybe|use vesa Intel 5700MHD (Ironlake) core processor igp with optional Nvidia Quadro NVS 3100M}} || <!--Audio-->{{yes|HD Audio Conexant CX20585 codec playback}} || <!--USB-->{{Yes|2.0}} || <!--Ethernet-->{{no|Intel 82577lm gigabit}} || <!--Wireless-->{{unk|Intel n 6200 or Atheros AR9280 AR5BHB92 half size minipcie bios locked}} || <!--Test Distro-->Icaros 2.2 xmas || <!--Comments-->2009 64bit battery life much lower with Nvidia graphics version - no support firewire ricoh r5c832 - ricoh sd card - series 5 3400
|-
| <!--Name-->X201 X201s x201t || <!--Chipset-->QM57 Core i3 370m, i5 M520 2.4GHz or i7 620LM 2.0GHz || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{Maybe|vesa 2d on Intel GMA HD}} || <!--Audio-->{{yes|Intel HD with [https://ae.amigalife.org/index.php?topic=94.0 Conexant 20585] codec}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no|Intel}} || <!--Wireless-->{{No|bios locked}} || <!--Test Distro--> || <!--Comments-->2010 X201 arrandale power consumption limits battery life to 3-4 hours for 48Whr though to 6 on 72Whr - 12.5" WXGA
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Ideapad B470, B570, V370, V470, V570 || <!--Chipset-->Intel® Core™ i5 i5-2430M, i5-2450M, || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->Vesa 2d for Intel || <!--Audio-->HDaudio 0x8086, 0x1c20 with codec || <!--USB-->USB3 || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no|whitelisted}} || <!--Test Distro--> || <!--Comments-->2011 64bit - 14in or 15.6in 768p -
|-
| <!--Name-->T420 type 4180 4236, t420s , T520 4239 L520 || <!--Chipset-->i5 2540, 2520 or i7 2860QM 2620 has sse4.1 avx || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS but not AHCI}} || <!--Gfx-->{{Maybe|Vesa 136 x 768 - Intel HD 3000 with optional NVS 4200M Nvidia optimus or Radeon HD 565v }} || <!--Audio-->{{Yes|HD Audio playback ear phones only with Conexant CX20672 codec - AHI 6.27}} || <!--USB-->{{Maybe| }} || <!--Ethernet-->{{No|Intel PRO 1000 82579LM}} || <!--Wireless-->{{No|Realtek 1x1, Intel Ultimate-N 6205 6250 2x2 6300 3x3 all bios locked}} || <!--Test Distro-->Icaros 2.2.2 add noacpi to grub boot options || <!--Comments-->2011 64bit - screen 1600x900 or 1366x768 - 2 ddr3l sodimm slots max 16gb -
|-
| <!--Name-->Thinkpad W520 || <!--Chipset--> has sse4.1 avx || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{Maybe|VESA Intel HD 3000 with nvidia quadro 1000m 2000m optimus issues with Nvidia Intel hybrids}} || <!--Audio-->{{Maybe|Intel Hd with CX 20585 codec}} || <!--USB--> || <!--Ethernet-->{{No|Intel 82579 Lm}} || <!--Wireless-->{{No|Intel 6000s}} || <!--Test Distro--> || <!--Comments-->2011 64bit - 15.6" TFT display with 1366x768 (HD), 1600x900 (HD+) or 1920x1080 (FHD) resolution with LED backlight
|-
| <!--Name-->X220 x220t || <!--Chipset-->QM67 express, dual i5 2520M or i7 dual 2620M sse4.1 avx support || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS but not AHCI}} || <!--Gfx-->{{Maybe|VESA 2D 1024 x 768 for Intel HD Graphics 3000}} || <!--Audio-->{{Yes|Intel HD playback with Conexant 20672 codec ear phones and speaker - AHI 6.27 6.34}} || <!--USB-->{{Yes|USB 2.0}} || <!--Ethernet-->{{No|Intel 82579LM}} || <!--Wireless-->{{No|Intel Centrino Advanced-N 6205 Wi-Fi bios locked}} || <!--Test Distro-->Icaros 2.3, Aros One USB 1.6 || <!--Comments-->2011 64bit possible - uses slimmer 7 mm storage sata devices - NEC USB 3.0 on i7's - unwanted trackpad gestures when palms rests on it - 2 ddr3 sodimm slots - external battery -
|-
| <!--Name-->Thinkpad X120e, x121e Quanta FL8A DAFL8AMB8D0 Rev D || <!--Chipset-->Hudson M1 with slow AMD E350 has no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA ATI 0x9802}} || <!--Audio-->{{Maybe|ATI SBx00 Azalia HD Audio}} || <!--USB-->USB 2.0 || <!--Ethernet-->RTL8169 RTL8111 || <!--Wireless-->{{no|Broadcom 0x0576 bios locked}} || <!--Test Distro--> || <!--Comments-->2011 64bit 11.6 inch screen - 1 inch think - chiclet keyboard
|-
| <!--Name-->Ideapad S205 G575 G585, Edge 11 E325 || <!--Chipset-->Slow E-350 later E-450 with A75 or AMD Athlon II Neo has no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA HD6310}} || <!--Audio-->{{Yes| }} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|Atheros}} || <!--Wireless-->{{No|Broadcom}} || <!--Test Distro--> || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - removeable and plug in battery - 2pin CR2032 CMOS battery -
|-
| <!--Name-->Ideapad S206 || <!--Chipset-->AMD E300 1.3GHZ Dual has no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA }} || <!--Audio-->{{Maybe|Intel HD Audio with CX20672 codec}} || <!--USB-->{{Maybe|3.0}} || <!--Ethernet-->Broadcom 10/100 || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - 11.6" and integrated battery - Conexant®
|-
| <!--Name-->Lenovo x130e or x131e edu || <!--Chipset-->Slow AMD E-300 or E-450 has no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA Radeon HD 6310 or 6320 }} || <!--Audio-->{{Maybe|HD Audio Realtek ALC269VC / ALC3202 codec}} || <!--USB-->{{Maybe|USB 30 and USB 20}} || <!--Ethernet-->{{maybe|Realtek RTL8111 RTL8168B}} || <!--Wireless-->{{No|Realtek RTL8188CE or Broadcom BCM43228 bios locked}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - rubber edged bumper for K12 education market - 2pin CR2032 CMOS battery -
|-
| <!--Name-->Thinkpad Edge E135 E335 || <!--Chipset-->amd dual E-300, E2-1800 or E2-2000 slow atom like A68M FCH has no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|SATA 3.0Gb/s 2.5" wide 7mm high}} || <!--Gfx-->{{Maybe|VESA radeon 6310 or 7340 vga or hdmi}} || <!--Audio-->{{Maybe|HDAudio with Realtek ALC3202 codec}} || <!--USB-->{{maybe|2 usb3, 1 powered usb2}} || <!--Ethernet-->{{maybe|rtl8169 8111f}} || <!--Wireless-->{{no|Realtek WLAN whitelist bios locked}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - 11.6 inch to 13.3in 1366x768 - Acrylonitrile-Butadiene-Styrene (ABS) plastic case - external battery - 20v 65w lenovo barrel ac - 2 ddr3 sodimm 8Gb max -
|-
| <!--Name-->ThinkPad Edge E525 E535 LENOVO IDEAPAD Z575 || <!--Chipset-->AMD A6-3420M A8-3500M later A8-4500M has no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA AMD 6620G later 7640G}} || <!--Audio-->{{No|HDAudio with Conexant codec}} || <!--USB-->{{Maybe|USB2 but not usb3}} || <!--Ethernet-->{{maybe|rtl8169 Realtek 8111}} || <!--Wireless-->{{No|Broadcom bios locked}} || <!--Test Distro--> || <!--Comments-->2013 64bit does not support AVX or SSE 4.1 - 15.6in 1368 x 768 matt - 65W 20v lenovo round psu - thick desktop replacement - ThinkPad Edge E520 E520S E525 E530 E545 E535 E530C Laptop Keyboard swap -
|-
| <!--Name-->T430 t430i T530 || <!--Chipset-->ivy bridge i5 3320 3230m on Intel QM77 has sse4.1 and avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA 1366 x 768 for Intel HD 4000 with optional Nvidia 5400M}} || <!--Audio-->{{Maybe|Intel HD with Realtek ALC3202 aka ALC269VC codec playback ear head phones - HDA 6.27}} || <!--USB-->{{Yes|USB 2 ports and usb2.0 devices thru usb 3.0 ports}} || <!--Ethernet-->{{No|Intel e1000}} || <!--Wireless-->{{unk|Intel or Atheros AR9285 bios locked}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2013 64bit fan noise and chiclet keyboard, synaptics trackpad - HD+ 768p -
|-
| <!--Name-->Thinkpad X230 x230t || <!--Chipset-->Intel QM67 express i5 has sse4.1 and avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA }} || <!--Audio-->{{Maybe|Intel HD with ALC269 aka ALC3202}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|Intel }} || <!--Wireless-->{{No|I}} || <!--Test Distro--> || <!--Comments-->2013 64bit - 12.2 in 1366 x 768 - 2 ddr3 sodimm slots - external battery -
|-
| <!--Name-->Thinkpad T440 t440s t440p T540 L440 L540 || <!--Chipset-->intel haswell 8 series Core i3 to i7 has sse4.1 and avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA - Intel 4600 or Nvidia}} || <!--Audio-->Intel HD with Realtek ALC3232 alc269 codec or ALC292 || <!--USB-->{{maybe| }} || <!--Ethernet-->{{No|Intel}} || <!--Wireless-->{{No|Intel AC 7260 bios locked}} || <!--Test Distro--> || <!--Comments-->2014 64bit - 14 and 15" models with glitchy trackpad and no physical buttons - keyboard repair not easy as well as 4 variants of key caps - 2pin CR2032 CMOS battery -
|-
| <!--Name-->Thinkpad X240 x240t ultrabook TN (20AL0081GE), HD IPS display without touch (20AL007NGE) and touch (20AL0076GE) but all 65% sRGB || <!--Chipset-->haswell i7-4600U i5 4200U 4210U 4300U i3-4100U - two batteries, one internal 3cell 45N1110 (45N1111) or 45N1112 (FRU 45N1113) and external 3 / 6cell 45N1126 (FRU 45N1127) || <!--IDE-->{{N/A}} || <!--SATA-->2.5in 7mm sata (torq t7), m.2 2242 in WWAN slot (m and b key NGFF Sata) || <!--Gfx-->{{Maybe|use VESA for Intel 4400 for vga or mini-dp}} || <!--Audio-->{{No|HDAudio 0x8086, 0x0a0c 0x8086, 0x9c20 with Realtek ALC3232 aka ALC292 0x10ec, 0x0292}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{no|Intel® 82577LM Gigabit (Hanksville) }} || <!--Wireless-->{{no|Realtek or Intel 7260n I218-V or I218-LM bios locked}} || <!--Test Distro-->AROS One USB || <!--Comments-->2014 64bit - 12.2in 1366 x 768 or 1080p - 1 ddr3l sodimm slot - no keyboard spill drainage and at least 2 variants of key caps - lenovo rectangle pwr ac - TPM 1.2 - Bluetooth 4.0 no support - bottom panel with 8 retained screws - 2pin CR2032 CMOS battery -
|-
| <!--Name-->ThinkPad Edge E545
* key cap swap with E440 E531 E540 L440 L450 T431S T440S T440P T540
* Keyboard swap L540 T540p W540 Edge E531 E540 W541 T550 W550S L560 P50S T560
|| <!--Chipset-->AMD Socket FS1r2 A6-5350M (2c2t) or A8-4500M, A8-5550M, A10-5750M (4c4t) with A76M FCH has sse4.1 and avx || <!--IDE-->{{N/A}} || <!--SATA-->2.5in 9.5mm - enter UEFI bios with Enter or ESC, config section, sata into compatibility and security, secure boot disabled - mini sata DVD burner PLSD DS8A9SH || <!--Gfx-->{{Maybe|VESA 2D for AMD 7640G, 8450G, 8550G, 8650G ?? Islands}} || <!--Audio-->{{no|VOID for HDAudio 6.34 0x1022, 0x780d with Conexant CX20590 Analog 0x14f1, 0x506e CX20671 codec 0x14f1, 0x5069 or audio over Trinity HDMI}} || <!--USB-->{{maybe|boots pen drives from yellow usb port but not from blue USB3 ones, issues with AMD usb3 hardware quirks}} || <!--Ethernet-->{{yes|rtl8169 1GbE 8111F}} || <!--Wireless-->{{No|Broadcom BCM43142 bios locked}} || <!--Test Distro-->AROS One 2.3 USB works with noacpi added to end of grub2 boot line but not booting on AROS One 64bit 1.1 via usb2 stick or iso burnt to dvd || <!--Comments-->2015 64bit - 15.6in 1366 x 768 matt - 20v 65w 90w round lenovo plug psu - 2 DDR3 SODIMM slots 16GB Max - external 6 Cell Li-Ion Battery 48Wh l11s6y01 45n1043 - 2pin CR2032 CMOS battery in wifi area jp1202 - amd v(tm) virtualization not working -
|-
|<!--Name-->AMD platform codes
*Beema: ABM,
*Carizzo-L: ACL,
*Carizzo: ACZ,
*Godavari: AGR,
*Kaveri: AKV,
*Stoney Ridge: ASR,
*Stoney Ridge: AST (NB),
|| <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
*Summit Ridge: ASU,
*Bristol Ridge-L: ABL,
*Bristol Ridge: ABR,
*Raven Ridge: ARR,
*Picasso: API
|-
| <!--Name-->[https://www.laptop-schematics.com/db/78/V%20series%20laptops%20(Lenovo)/ V110-14AST (14in) V110-15AST, V110-14ISK V110-15ISK 80TL (15")], || <!--Chipset-->AMD E1-9000, A6-9210 to A9-9410 all dual core and intel 6006u, 6100u, 6200u || <!--IDE-->{{N/A}} || <!--SATA-->1 2.5in sata most 7mm some 9.5mm || <!--Gfx-->{{Maybe|VESA 2D for AMD R2, R3, R5 or R6 or Intel Gfx}} || <!--Audio-->{{No|HDAudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2016 64bit - 14in to 15.6in mostly 768p 220 nits - 20v 45W or 65W lenovo slim rectangle end ac - keyboard swap hard - integrated 24WHr battery - 4gb ddr4 ram soldered and 1 2133Mhz ddr4 slot max 12Gb - abs plastic -
|-
|<!--Name-->
*ThinkPad A275 12in (1 ddr4 1866MHz sodimm)
*Thinkpad A475 14in (2 ddr4 1866MHz sodimm) - both internal (main) and external (secondary) battery
|| <!--Chipset-->A10-8730B A10-9700B 2.500Ghz later A12-8830B A12-9800B all 4c4t (AVX2 on 9000s) || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe|7mm 2.5in sata with mbr and not gpt, setup in another machine - secure boot disabled, bios startup boot set to legacy then uefi - WWAN slot cannot use M.2 2242 sata with M and B key}} || <!--Gfx-->{{Maybe|VESA 2D for AMD R5 or R7}} || <!--Audio-->{{No|HDAudio 6.34 ahi 0x1022, 0x157a with ALC3268 aka ALC298 codec 0x10ec, 0x0298 - VOID even with QUERY / QUERYD added}} || <!--USB-->{{no|USB3 error on boot suspect AMD usb3 quirk}} || <!--Ethernet-->{{Yes|rtl8169 RTL8111EPV}} || <!--Wireless-->{{No|Realtek RTL8822BE WLAN whitelist locked cannot swap}} || <!--Test Distro-->{{maybe|AROSOne USB 32bit 1.8 with noacpi noapic noioapic added to grub2 boot line but Aros One 64bit 1.2 USB has krnPanic }} || <!--Comments-->2016 64bit 12 or 14in 768p - 45W or 65w lenovo rectangle ac adapter - F1 enter bios and F12 boot order - 6 retained screws and snap on base - 2100 error message no solution except using only efi/gpt bios option -
|-
|<!--Name-->320S-15AST, 320S-15ABR, ideapad Slim 1-11AST-05 81VR || <!--Chipset-->AMD A6-9220e, AMD A6-9225, A9-9425, A10-9600P 7th Gen || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata 2.5in}} || <!--Gfx-->{{maybe| Vesa 2D for AMD}} || <!--Audio-->{{No| }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No|Qualcomm Atheros QCA9377 or Realtek RTL8821CE}} || <!--Test Distro--> || <!--Comments-->2018 64bit AVX2 - 14in or 15.6" 768p - 1 ddr4 sodimm slot - keyboard swap problematic -
|-
|<!--Name-->Lenovo Ideapad S145-14AST S145-15AST 81N3 || <!--Chipset-->AMD A6-9225, A9-9425, A10-9600P 7th Gen, AMD A12-9720P Mobo 5B20P11110 NMB341 Bristol Ridge || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata 2.5in}} || <!--Gfx-->{{Maybe|VESA Radeon 8670A 8670M 8690M GCN 3}} || <!--Audio-->{{No| }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No|Qualcomm Atheros QCA9377 or Realtek RTL8821CE}} || <!--Test Distro--> || <!--Comments-->2018 64bit AVX2 - 14in or 15.6" 768p or 1080p - 1 ddr4 sodimm slot -
|-
|<!--Name-->Lenovo Ideapad V145-14AST V145-15AST, 81mt, Ideapad 310, Ideapad 320-15ABR, Ideapad 330-14AST 330-15AST 330-17AST || <!--Chipset-->AMD A6-9225, A9-9425 (2c2t), A10-9600P 7th Gen, AMD A12-9720P Mobo 5B20P11110 NMB341 Bristol Ridge || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata 2.5in with optional dvd}} || <!--Gfx-->{{Maybe|VESA Radeon 8670A 8670M 8690M GCN 3}} || <!--Audio-->{{unk|HDaudio with ALC3240-va3-cg aka ALC236? codec 0x10de, 0x0236}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{no|rtl8169 8106E 10/100 only}} || <!--Wireless-->{{No|Qualcomm Atheros QCA9377 or Realtek RTL8821CE}} || <!--Test Distro--> || <!--Comments-->2017 64bit AVX2 - 14in or 15.6" 768p or 1080p - 1 ddr4 sodimm slot - 45w 65w slim ac adapter -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
|<!--Name-->Lenovo V330-14ARR 81B1, V330-15ARR 81, 330-14ARR 81 330-15ARR 81D2 - battery internal about 30whr || <!--Chipset-->AMD Ryzen R3 2200U, 2300U or R5 2500U Raven Ridge || <!--IDE-->{{N/A}} || <!--SATA-->M.2 nvme/sata, optional 2.5in sata but no dvd || <!--Gfx-->{{Maybe|VESA Vega 3, 6 or 8 up to 1Gb of soldered ram memory taken}} || <!--Audio-->{{No|HDAudio 0x1002, 0x15de with Realtek® ALC5682I-VD codec 0x10de, 0x or coxenant CX11802 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek 1GbE}} || <!--Wireless-->{{no|Realtek}} || <!--Test Distro--> || <!--Comments-->2018 64bit - 14" 768p 20mm thick 1.8kg - 20v 2.25a 45w ac round barrel - chiclet keyboard - 4Gb soldered and 1 ddr4 sodimm - TPM 2.0 in bios - 4GB soldered -
|-
|<!--Name-->Ideapad 330s-14ARR, 330s-15ARR, ideapad 330S-14IKB, 330S-15IKB, - battery internal about 30whr || <!--Chipset-->AMD Ryzen R3 2200U, 2300U or R5 2500U Raven Ridge || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|nvme}} || <!--Gfx-->{{Maybe|VESA 2D for AMD or Intel 610, 620 up to 1Gb of soldered ram memory taken}} || <!--Audio-->{{No|HD Audio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Realtek}} || <!--Test Distro--> || <!--Comments-->2018 64bit - 14" 20mm thick 1.8kg - 20v 2.25a 45w ac round barrel - chiclet keyboard - 4Gb soldered and 1 ddr4 sodimm - TPM 2.0 in bios - 4GB soldered -
|-
|<!--Name-->Thinkpad Edge E485 E585 - internal battery only || <!--Chipset-->AMD Ryzen R3 2300U R5 2500U R7 2700U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|m.2 nvme optional 1 2.5in sata}} || <!--Gfx-->{{Maybe|VESA for Vega 3, 8 or 10}} || <!--Audio-->{{No|HDAudio with CX11852 codec }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 rtl8111GUS}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2018 64bit - 14in or 15.6in 768p or 1080p - USB-C 20V 2.25A 3.25A avoid knocking charging port as damages easily - 2 ddr4 sodimm slot max 2400Mhz 32GB - TPM 2.0 software -
|-
|<!--Name-->Thinkpad A285 - internal and external battery || <!--Chipset-->AMD Ryzen PRO 3 2200U 5 2500U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|m.2 nvme/sata}} || <!--Gfx-->{{Maybe|VESA Vega up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HD Audio with ALC ALC3287 codec aka ALC257 }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{No|Mini-Ethernet/Docking}} || <!--Wireless-->{{no|Realtek or Qualcomm - WLAN whitelist no more??}} || <!--Test Distro--> || <!--Comments-->2018 64bit - 12.5in 1080p - avoid usb-c port being lifted/moved whilst in use as damages laptop easily - soldered ram 8gb or 16gb - WWAN whitelist - keyboard swap problematic -
|-
|<!--Name-->Thinkpad A485 bios setting [https://github.com/PSPReverse/PSPTool AMD PSP Platform Security Processor Key] - internal and external battery || <!--Chipset-->AMD Ryzen PRO 5 2500U || <!--IDE-->{{N/A}} || <!--SATA-->sata port and m.2 nvme port || <!--Gfx-->{{Maybe|VESA Vega }} || <!--Audio-->{{unk|HD Audio with ALC ALC3287 codec aka ALC 257 }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 RTL8111GUL}} || <!--Wireless-->{{no|Realtek or Qualcomm wifi - WLAN whitelist no more??}} || <!--Test Distro--> || <!--Comments-->2018 64bit - 14in 768p, 1080p or 1440p - avoid usb-c port being lifted/moved whilst in use as damages laptop easily - 2 ddr4 sodimm slots max 32gb - WWAN whitelist - keyboard swap problematic -
|-
|<!--Name-->[https://www.diy-laptoprepair.com/forum/fix-Lenovo-V155-15-repair-guide-schematics.php Lenovo v155-15api 81V5] V155 (15" AMD) budget all plastic build - MS new protocol, HID over I2C so [https://askubuntu.com/questions/1033033/elantech-touchpad-does-not-work-i2c-hid i2c] [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/input/mouse/elantech.c?h=v6.17 i2c] [https://www.kernel.org/doc/html/v4.16/input/devices/elantech.html PS2 hybrid trackpad] [https://cgit.freebsd.org/src/tree/sys/dev/atkbdc/psm.c?h=releng/14.3 elantech] [https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pckbc/?only_with_tag=OPENBSD_7_8_BASE i2c-hid] 04F3:3140 touchpad not working - internal sunwoda battery L18D3PF1, L18L3PF1, L18C3PF2 35Whr most dead after 5 years || <!--Chipset-->'''tested''' Ryzen 5 3500U and Ryzen 3 3200U - '''untested''' AMD Athlon 300U with bios winbond 25q64fwsiq soic 1.8v bios near nvme || <!--IDE-->{{N/A}} || <!--SATA-->1 M.2 nvme and usually 2.5in 7mm sata - install on mbr not gpt 2.5in in another compatible machine - mini sata dvd/cd da-8aesh11b will boot cd or dvd aros || <!--Gfx-->{{Maybe|VESA 2D to 1080p work for Vega 3 or 8 with up to 2Gb of soldered ram memory taken but hdmi 1.4b no output}} || <!--Audio-->{{Yes|HDAudio add 0x1022, 0x15E3 with ALC3287 aka Realtek ALC257 codec 0x10ec, 0x0257 with 32bit on external speaker and most of the time works on 64bit}} || <!--USB-->{{maybe|2 USB3.0, on left hand side, detected but no usb-c ports}} || <!--Ethernet-->{{yes|rtl8169 RTL8111GUS works well with 32bit and 64bit}} || <!--Wireless-->{{no|Realtek or Intel wifi}} || <!--Test Distro-->2025 AROS One 2.8 DVD 32bit and AROS One x64 1.1 and 1.2 iso DVD burnt || <!--Comments-->2019 64bit - 15.6in 768p or 1080p 200nits tn panel - 4Gb ddr4 2400MHz soldered with 1 dimm slot max 20Gb - round ac 20V 65W psu 4.0mm x 1.7mm - Fn+F2 to enter bios and F12 boot order - no sd card slot - 2pin cr2032 cmos coin battery -
|-
|<!--Name-->V15-ADA 82C700E4UK- elan touchpad not working - internal battery 34whr L16M2PB2 l16l2pb3 || <!--Chipset-->AMD r5 3500U || <!--IDE-->{{N/A}} || <!--SATA-->1x 2.5" HDD + 1x M.2 SSD NVMe near fan, no cd dvd || <!--Gfx-->{{Maybe|VESA 2D for Vega 3, 8 with up to 1080p with 2Gb of soldered ram memory taken}} || <!--Audio-->{{Yes|HD Audio 6.36 0x1022, 0x15E3 with R155189 ALC236 codec 0x10ec, 0x0236 on 32bit and on 64bit}} || <!--USB-->{{maybe|3 USB3, on left hand side,}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Realtek or Qualcomm wifi}} || <!--Test Distro-->2025 3500U with Aros One 32bit 2.8 installed to 2.5in drive on another machine and same for 64bit || <!--Comments-->2019 64bit - 14 or 15.6in 768p on low spec machines to 1080p - 4GB soldered with 1 ddr4 sodimm slot - 2pin cr2032 cmos coin battery - sd card slot - noisy fan -
|-
|<!--Name-->V15-ADA 82C7 - elan touchpad not working - internal battery 34whr L16M2PB2 l16l2pb3 || <!--Chipset-->AMD Athlon Silver 3020e, Ryzen 3 3050U, 3150U, 3250U || <!--IDE-->{{N/A}} || <!--SATA-->1x 2.5" HDD + 1x M.2 SSD NVme near fan, no cd dvd || <!--Gfx-->{{Maybe|VESA 2D for Vega 3, 8 with up to 1080p with 2Gb of soldered ram memory taken}} || <!--Audio-->{{No|HD Audio 6.36 0x1022, 0x15E3 with RTS5119 R155119 ALC230 codec}} || <!--USB-->{{maybe|3 USB3.0, on left hand side,}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Realtek or Qualcomm wifi}} || <!--Test Distro-->2025 Aros One 32bit 2.8 and 64bit || <!--Comments-->2019 64bit - 14 or 15.6in 768p on low spec machines to 1080p - 4GB soldered with 1 ddr4 sodimm slot - 2pin cr2032 cmos coin battery - sd card slot - for this mbd bios ram disable doesn't work - noisy fan -
|-
|<!--Name-->Lenovo V14-ADA 82C6, - elan touchpad not working - if blank black display, bios bug going from uefi->legacy so reset bios rhs push in with pin, then Down, ent, Right x3, ent, up, ent, right, ent x2 - internal battery 34whr L16M2PB2 l16l2pb3 || <!--Chipset-->'''tested''' 3250U - '''untested''' AMD Athlon Silver 3020e, Ryzen 3 3050U, 3150U - for this mbd GV451&GV551 NM-D151 bios ram disable doesn't work || <!--IDE-->{{N/A}} || <!--SATA-->1x 2.5" HDD if cbl + 1x M.2 SSD NVMe near fan, no cd dvd || <!--Gfx-->{{Maybe|VESA 2D for Vega 3 up to 1080p with 2Gb of soldered ram memory taken}} || <!--Audio-->{{no|HD Audio 6.36 0x1022, 0x15E3 with Realtek ALC3223 RTS5119 R185199 aka ALC230 codec 0x10ec, 0x0230 on 32bit and on 64bit}} || <!--USB-->{{maybe|3 USB3, on left hand side,}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Realtek or Qualcomm wifi}} || <!--Test Distro-->2025 AMD 3250U with Aros One 32bit 2.8 installed to 2.5in drive on another machine and same for 64bit || <!--Comments-->2019 64bit - 14 or 15.6in 768p on low spec machines to 1080p - 4GB soldered with 1 ddr4 sodimm slot - 2pin cr2032 cmos coin battery - sd card slot - F2 bios F12 select -
|-
|<!--Name-->IdeaPad 1 14ADA5 (low spec cpus) ideaPad 3 14ADA05, IdeaPad 3 15ADA05 81W100QVUK, IdeaPad 3 17ADA05 - elan touchpad not working - internal battery 34whr L16M2PB2 l16l2pb3 || <!--Chipset-->AMD Athlon Silver 3020e, Ryzen 3 3050U, 3150U, 3250U, Ryzen 5 3500U on mobo NM-C821 REV 0.2 1.0 || <!--IDE-->{{N/A}} || <!--SATA-->1x 2.5" HDD if cbl + 1x M.2 SSD NVMe near fan, no cd dvd || <!--Gfx-->{{Maybe|VESA 2D for Vega 3, 8 up to 1080p with 2Gb of soldered ram memory taken}} || <!--Audio-->{{no|HD Audio 6.36 0x1022, 0x15E3 with ALC230 codec 0x10ec, 0x0230 on 32bit and on 64bit}} || <!--USB-->{{maybe|3 USB3, on left hand side,}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Realtek or Qualcomm wifi}} || <!--Test Distro-->2025 Aros One 32bit 2.8 installed to 2.5in drive on another machine and same for 64bit || <!--Comments-->2019 64bit - 14 or 15.6in 768p on low spec machines to 1080p - 4GB soldered with 1 ddr4 sodimm slot - 2pin cr2032 cmos coin battery - sd card slot - F2 bios F12 boot select -
|-
|<!--Name-->Lenovo IdeaPad L340-15API 81LW001CUS L340-17API - elan trackpad not functioning - internal battery L18M3PF2 || <!--Chipset-->AMD Athlon 300U, Ryzen 3 3200U r5 3500U || <!--IDE-->{{N/A}} || <!--SATA-->1 M.2 nvme and usually 2.5in sata if ribbon cable present - mini sata dvd/cd da-8aesh11b || <!--Gfx-->{{Maybe|VESA 2D for Vega 3 or 8 with up to 2Gb of soldered ram memory taken - hdmi 1.4b}} || <!--Audio-->{{unk|HDAudio add 0x1022, 0x15E3 with Realtek ALC236 0x10ec, 0x0236}} || <!--USB-->{{maybe|USB3 not detected}} || <!--Ethernet-->{{maybe|rtl8169 RTL8111GUS}} || <!--Wireless-->{{no|Realtek or Intel wifi}} || <!--Test Distro-->AROS One 2.8 USB - install on mbr not gpt 2.5in in another compatible machine || <!--Comments-->2019 64bit - 15.6in 768p or 1080p 200nits - 4Gb ddr4 2400MHz soldered with 1 dimm slot max 20Gb - round ac 20V 65W psu 4.0mm x 1.7mm - Return or F1 to enter bios and F12 boot order - no sd card slot -
|-
|<!--Name-->[https://www.laptop-schematics.com/db/78/T%20series%20laptops%20(ThinkPad)/ ThinkPad T295 T495] || <!--Chipset-->Ryzen 3 3300U, R5 Pro 3500U or R7 3700U || <!--IDE-->{{N/A}} || <!--SATA-->1 NVMe up to 2280 || <!--Gfx-->{{Maybe|VESA Vega 6, 8 or 10 up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HD Audio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111EPV}} || <!--Wireless-->{{No|Realtek RTL8822BE or Intel AC 9260}} || <!--Test Distro--> || <!--Comments-->2019 64bit - 14in 768p but mostly FHD 1080p 250 nits - internal battery - ram 8gb or 16gb 2400Mhz soldered with 1 ddr4 slot on T495 only - TPM 2.0 - usb-c charging avoid knock whilst in use - keyboard swap problematic -
|-
|<!--Name-->ThinkPad T495s (14in) X395 (13in) || <!--Chipset-->Ryzen 3 3300U, R5 Pro 3500U or R7 3700U || <!--IDE-->{{N/A}} || <!--SATA-->1 NVMe up to 2280 || <!--Gfx-->{{Maybe|VESA Vega 6, 8 or 10 up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HD Audio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{unk| needs Lenovo ThinkPad Ethernet Adapter Gen 2 SC10P42352 or SC10P42354}} || <!--Wireless-->{{No|Realtek RTL8822BE or Intel AC 9260 wifi}} || <!--Test Distro--> || <!--Comments-->2019 64bit - 13in or 14in 768p but mostly FHD 1080p 250 nits - internal battery - ram 8gb or 16gb 2400Mhz soldered - TPM 2.0 - usb-c charging avoid knock whilst in use - keyboard swap problematic -
|-
|<!--Name-->ThinkPad E14 Gen2, E15 Gen 2 (AMD) 20T8, - lenovo has a mobile phone PC Diagnostic App for error/beep codes || <!--Chipset-->AMD Ryzen 3 4300U, 5 4500U, 7 4700U || <!--IDE-->{{N/A}} || <!--SATA-->2 m.2 nvme, 1 2242 and 1 2280 || <!--Gfx-->{{Maybe|VESA 2D for AMD Radeon up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HD Audio with ALC ALC3287 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 RTL8111GUS}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2020 15.6in 1080p 220 nits - TPM 2.0 - usb-c charging of internal 45Whr battery - 4gb ddr4 3200Mhz soldered and 1 ddr4 sodimm slot max 20Gb - keyboard swap problematic - plastic bendy case -
|-
|<!--Name-->Lenovo ThinkPad T14 Gen 1, ThinkPad P14s Gen 1 (AMD) || <!--Chipset-->AMD Ryzen 3 4300u, 5 4500U, Ryzen 5 Pro 4650U, Ryzen 7 Pro 4750U || <!--IDE-->{{N/A}} || <!--SATA-->1 NVMe || <!--Gfx-->{{Maybe|VESA 2D for AMD Vega }} || <!--Audio-->{{unk|HDAudio with Realtek® ALC3287 0x10EC, 0x0257}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 RTL8111EPV (DASH models) or RTL8111HN}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2020 64bit - USB-C charging avoid moving whilst in use - 14" or 15" 1080p - keyboard swap problematic - 8gb or 16gb 3200MHz soldered with 1 ddr4 sodimm slot - sd card slot -
|-
|<!--Name-->Thinkpad L14 Gen 1, L15 Gen 1, || <!--Chipset-->AMD Ryzen 3 4300u, 5 4500U, Ryzen 5 Pro 4650U, Ryzen 7 Pro 4750U || <!--IDE-->{{N/A}} || <!--SATA-->1 NVMe || <!--Gfx-->{{Maybe|VESA 2D for AMD Vega }} || <!--Audio-->{{unk|HDAudio with Realtek® ALC3287 0x10EC, 0x0257}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{no|rtl8169 needs dongle RTL8111EPV (DASH models) or RTL8111HN}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2020 64bit - USB-C charger avoid moving whilst in use - 14" or 15" 1080p - keyboard swap problematic - 8gb or 16gb 3200MHz soldered with 1 ddr4 sodimm slot - sd card slot -
|-
|<!--Name-->Lenovo ThinkPad X13 Gen1 AMD, || <!--Chipset-->AMD RYZEN 3 4450U, 5 4650U or 7 4750U || <!--IDE-->{{N/A}} || <!--SATA-->One drive, up to 512GB M.2 2242 SSD or 1TB M.2 2280 SSD NVMe || <!--Gfx-->{{partial|VESA Radeon up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HDAudio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe| but USB-C ports can fail}} || <!--Ethernet-->{{no|Realtek RTL8111EPV, mini RJ-45 to RJ-45 via optional ThinkPad Ethernet Extension Adapter Gen 2}} || <!--Wireless-->{{no|Realtek Wi-Fi 6 RTL8852AE}} || <!--Test Distro--> || <!--Comments-->2020 13.3" HD 1366x768 to 1080p - USB-C port care needed as damages easily - Memory soldered to systemboard, no slots, dual-channel DDR4-3200 -
|-
|<!--Name-->Lenovo ThinkBook 14 G2, 15 G2 Are || <!--Chipset-->Ryzen 5 4500u, 7 4700U || <!--IDE-->{{N/A}} || <!--SATA-->14in has 2 m.2 nvme but 15in has 1 nvme and might have 2.5in sata metal caddy if smaller battery version || <!--Gfx-->VESA 2d for AMD Radeon up to 2Gb of soldered ram memory taken || <!--Audio-->{{unk|HDAudio with ALC???? codec 0x10EC, 0x0}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 }} || <!--Wireless-->{{No| wifi}} || <!--Test Distro--> || <!--Comments-->2020 64bit - 14in or 15in 1080p - usb-c charging but high failure rate on the charging port - 4gb or 8gb soldered with 1 ddr4 sodimm slot 3200mhz - hinge(s) issues -
|-
|<!--Name-->IdeaPad 5 14ARE05 (81YM), Ideapad 5 15ARE05 (), IdeaPad 3 17ARE05 (model 81W5) - elan touchpad MSFT0004:00 06CB:CD98 not working || <!--Chipset-->'''tested''' 4500u - '''untested''' AMD 3 4300U (4c4t), 4600U (6c12t), 7 4700u (8c16t) on AMD Promontory Bixby FCH || <!--IDE-->{{N/A}} || <!--SATA-->{{no|1x M.2 2242 slot and 1x M.2 2280 NVMe which will take sata m.2 will boot to grub then laptop reset after choice}} || <!--Gfx-->{{Maybe|VESA 2D for Vega 6 via hdmi output up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HDAudio 6.36 0x1637 0x15e3 with Realtek ALC3287 aka ALC257 codec 0x10ec 0x0257}} || <!--USB-->{{maybe|USB 3.1 or 3.2 gen 1}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Intel ax200 wifi 6}} || <!--Test Distro-->4500u with AROS One 64bit 1.2 usb installed to m.2 sata on another machine || <!--Comments-->2020 64bit 14inch 768p or 1080p - round lenovo ac - 4gb, 8gb, or 16gb ddr4 3200Mhz ram soldered with 1 slot - keyboard swap problematic - integrated battery -
|-
|<!--Name-->Ideapad Flex 5 81X2, Lenovo Yoga 6 13ALC6 || <!--Chipset-->AMD R5 4500u, R7 4800U, R3 5300 R5 5500U || <!--IDE-->{{N/A}} || <!--SATA-->M.2 NVMe ssd || <!--Gfx-->{{Maybe|VESA AMD Vega up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HD Audio with ALC? codec}} || <!--USB-->{{maybe|USB3.1 gen 1}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|realtek ac wifi}} || <!--Test Distro--> || <!--Comments-->2020 64bit abs plastic case 14in convertible 1080p touch low nits - 65w usb-c psu ac - possible wacom esr note taking pen supplied - ram soldered DDR4 - keyboard swap problematic -
|-
|<!--Name-->ThinkPad T14 Gen 2, P14s Gen 2 || <!--Chipset-->AMD 5850U || <!--IDE-->{{N/A}} || <!--SATA-->NVme || <!--Gfx-->VESA 2D || <!--Audio-->{{unk|HDaudio with ALC3287-CG codec 0x10EC, 0x0}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{Maybe| }} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2021 - usb-c power 90% failure rate on the charging port -
|-
|<!--Name-->Lenovo ThinkBook 14 G3, 15 G3 ACL, || <!--Chipset-->Ryzen 5 5500U || <!--IDE-->{{N/A}} || <!--SATA-->m.2 nvme || <!--Gfx-->VESA 2d for AMD Radeon || <!--Audio-->{{unk|HDAudio with ALC codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 }} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2021 64bit - 14in or 15in 1080p - usb-c charging powered -
|-
|<!--Name-->ThinkPad E14 G3, E15 Gen 3 (AMD) || <!--Chipset-->AMD 5300U 5500U 5650U 5700U 5800U || <!--IDE-->{{N/A}} || <!--SATA-->up to 2 m.2 nvme || <!--Gfx-->{{Maybe|VESA }} || <!--Audio-->{{unk|HDaudio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 RTL8111GUS}} || <!--Wireless-->{{no|realtek or intel }} || <!--Test Distro--> || <!--Comments-->2021 64bit - 15.6in 1080p - - usb-c charging issues - keyboard swap problematic - 4gb or 8gb soldered with 1 ddr4 3200Mhz sodimm slot - plastic bendy case -
|-
|<!--Name-->V14 Gen 2 (82KA, 82KC)
*ALO
*ALC 82KD
|| <!--Chipset-->Ryzen 3 5300U, 5 5500U, 7 5700U || <!--IDE-->{{N/A}} || <!--SATA-->1 nvme 2280 and optional 2.5in sata after sourcing ribbon cable and connector, no dvd || <!--Gfx-->VESA 2D for AMD radeon || <!--Audio-->{{unk|HDAudio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe|USB3 }} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111H-CG}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2022 64bit - 15.6" FHD 1080p - 4gb or 8gb soldered with 1 ddr4 sodimm slot - 65w round ac adaptor -
|-
|<!--Name-->V15 G2 Gen2 (82KB, 82KD)
*ALO
*ALC 82KD
|| <!--Chipset-->Ryzen 3 5300U, 5 5500U, 7 5700U || <!--IDE-->{{N/A}} || <!--SATA-->1 nvme 2280 and optional 2.5in sata after sourcing ribbon cable and connector, no dvd || <!--Gfx-->VESA 2D for AMD radeon || <!--Audio-->{{unk|HDAudio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe|USB3 }} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111H-CG}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2022 64bit - 15.6" FHD 1080p - 4gb or 8gb soldered with 1 ddr4 sodimm slot - 65w round ac adaptor -
|-
|<!--Name-->ThinkPad L15 Gen 2 (15″, AMD) || <!--Chipset-->AMD 5000 series AMD Ryzen 3 5400U (4c8t), 5 5600U, 5 5650U (6c12t), 7 PRO 5850U (8c16t) || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{unk|HDAudio with Realtek® ALC3287}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{no|rtl8169 needs dongle RTL8111EPV (DASH models) or RTL8111HN}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2022 64bit - 15.6in 768p or 1080p - usb-c charging - 4gb soldered with 1 ddr4 3200Mhz sodimm slot -
|-
|<!--Name-->ThinkPad E14 Gen 4, E15 Gen 4 (15″, AMD) || <!--Chipset-->AMD 3 5425u, 5 5625U, 7 5825u || <!--IDE-->{{N/A}} || <!--SATA-->1 (14") or 2 (15") nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{unk|HDAudio with ALC3287 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 }} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit - 15.6in 1080p - usb-c charging - 4gb or 8gb soldered with 1 ddr4 3200Mhz sodimm slot - L19M3PDA 45Whr battery - U24 TPS65994 and QB6 QB5 mosfet issues - plastic bendy case -
|-
|<!--Name-->ThinkPad T14 Gen 3 Machine types MT 21AH 21AJ 21CF and 21CG, P14s Gen 3 || <!--Chipset-->AMD 6850U || <!--IDE-->{{n/a}} || <!--SATA-->NVme || <!--Gfx-->VESA 2d || <!--Audio-->{{unk| ALC3287-VA2-CG codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{Maybe|rtl8169 }} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2022 64bit - 14in
|-
|<!--Name-->ThinkPad T14s Gen 3 || <!--Chipset-->AMD 6500U || <!--IDE-->{{n/a}} || <!--SATA-->NVme || <!--Gfx-->VESA 2d || <!--Audio-->{{unk| ALC3287-VA2-CG codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|Ethernet support via optional Lenovo® USB-C® to Ethernet Adapter}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2022 64bit - 14in
|-
|<!--Name-->V14 G3, V15 G3 Gen3 ALC || <!--Chipset-->Ryzen 5 6500U || <!--IDE-->{{N/A}} || <!--SATA-->nvme and optional 2.5in sata if smaller 38Wh battery and after sourcing ribbon cable and connector, no dvd || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 }} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit - 15"FHD - battery BYD L20B2PFO -
|-
|<!--Name-->ThinkPad L15 Gen 3 (15″, AMD) || <!--Chipset-->AMD 6000 series || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{No| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|rtl8169 needs dongle}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2023 64bit- 15.6in 1080p -
|-
|<!--Name-->Lenovo Yoga 7 14ARB7 || <!--Chipset-->AMD Ryzen 5, 6600U, 7 6800U || <!--IDE-->{{N/A}} || <!--SATA-->1 nvme || <!--Gfx-->AMD 660M or 680M || <!--Audio-->{{No|HDaudio with ALC3306 aka alc287 codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2022 64bit - 14in 1800p ips 300 nits - usb-c ac charging 71whr integrated battery - sd card slot - digital pen input - 8gb, 6gb or 32gb soldered ddr5 ram -
|-
|<!--Name-->ThinkPad T14 Gen 4, P14s Gen 4 || <!--Chipset-->AMD Ryzen Pro 5 7540U, Ryzen Pro 7 7840U (AI NPU) || <!--IDE-->{{n/a}} || <!--SATA-->NVme || <!--Gfx-->VESA 2D for AMD 740M 780M|| <!--Audio-->{{unk|HDAudio ALC3287 codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 }} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit - 14in 1920x1200 - 8gb, 16gb or 32gb lpddr5 soldered - usb-c charging -
|-
|<!--Name-->ThinkPad E14 g5, E15 Gen 5 (15″, AMD) || <!--Chipset-->AMD 7000 series Ryzen 5-7530U, 7-7730U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{unk|HDAudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe| }} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit- 15.6in 1080p -
|-
|<!--Name-->Thinkbook 14 G6 ABP IRL, ThinkBook 16 G6ABP (21KK001CUK) || <!--Chipset-->AMD Ryzen 7530U 7730U || <!--IDE-->{{N/A}} || <!--SATA-->m.2 nvme || <!--Gfx-->VESA 2d for AMD Radeon || <!--Audio-->{{unk|HDaudio with codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 untested}} || <!--Wireless-->{{No| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit - 14in 1200p or 1440p - 100W USB-C AC power adapter -
|-
|<!--Name-->IdeaPad Slim 5 Light 14ABR8 Laptop || <!--Chipset-->AMD Ryzen 3 7330U (4c8t) 5 7530U (6c12t) 7 7730U (8c16t) || <!--IDE-->{{N/A}} || <!--SATA-->2 m.2 nvme slot - 1 2242, 1 2280 || <!--Gfx-->VESA 2d for AMD Radeon || <!--Audio-->{{unk|HDaudio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit - 14in 1080p - 8Gb or 16Gb soldered ram - usb-c charging only -
|-
|<!--Name-->ThinkPad X13 Gen 4 (13" AMD) || <!--Chipset-->AMD 7480U 7040U || <!--IDE-->{{N/A}} || <!--SATA-->NVMe || <!--Gfx-->{{partial|VESA}} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 - avoid usb-c port damage -
|-
|<!--Name-->ThinkPad L14 (Gen4), L15 Gen 4 (15" AMD) || <!--Chipset-->MD Ryzen 5 PRO 7530U, 7480U 7040U || <!--IDE-->{{N/A}} || <!--SATA-->NVMe || <!--Gfx-->{{partial|VESA}} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|rtl8169 needs dongle}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit - elan trackpad -
|-
|<!--Name-->Lenovo Gen 4 V14 (82YT, 82YV, 83A0, 83A1, 83CC, 83FR, 82YX, 83FG), V15 (82YU, 82YW, 83FS, 82YY, 83CR), V17 (83A2), || <!--Chipset-->AMD AMD Athlon™ Gold 7220U (2c4t), AMD Athlon™ Silver 7120U (2c2t), AMD Ryzen™ 3 7320U (4c8t), AMD Ryzen™ 5 7520U (4c8t) || <!--IDE-->{{N/A}} || <!--SATA-->nvme and 2.5in sata if smaller 38Wh battery, no dvd || <!--Gfx-->{{Maybe|VESA 2d for AMD 610M HDMI® and USB-C}} || <!--Audio-->{{unk|HDaudio with ALC3287 codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|Gigabit Ethernet, 1x RJ-45}} || <!--Wireless-->{{no|wifi 6}} || <!--Test Distro--> || <!--Comments-->2023 64bit - 15.6" FHD 1080p - 8 or 16Gb soldered - 65W round tip (3-pin) AC adapter or USB-C -
|-
|<!--Name-->ThinkPad e14 G6, e15 Gen 6 (15″, AMD) || <!--Chipset-->AMD 7000 series AMD Ryzen™ 7 7735HS || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{unk|HDAudio codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe| }} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit- 15.6in 1080p -
|-
|<!--Name-->ThinkPad L16 (16" AMD), || <!--Chipset-->AMD 8000 || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D || <!--Audio-->{{unk|HDAudio with codec}} || <!--USB-->{{maybe|USB4}} || <!--Ethernet-->{{no|rtl8169 needs dongle}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2025 64bit
|-
|<!--Name-->ThinkPad T14 Gen 5, P14s Gen 5 || <!--Chipset-->AMD Ryzen 7 PRO 8840U, AMD Ryzen™ 5 PRO 8540U || <!--IDE-->{{N/A}} || <!--SATA-->NVME || <!--Gfx-->VESA 2d || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 }} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2025 64bit - 14inch 1920 x 1200 -
|-
|<!--Name--> Lenovo WinBook 300e SKU: 82GKS00000 || <!--Chipset-->AMD 3015E || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2023 64bit 4GB 64GB SSD 11.6 Inch Touchscreen Windows 10 Pro Laptop
|-
|<!--Name-->ThinkPad || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
|<!--Name-->Lenovo Yoga Slim 7a || <!--Chipset-->AMD Ryzen AI 7350 || <!--IDE-->{{N/A}} || <!--SATA-->1 nvme || <!--Gfx-->AMD 860M || <!--Audio-->{{No|HDaudio with ALC3306 aka alc287 codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2025 64bit - 14in 1800p ips 300 nits - usb-c ac charging 71whr integrated battery - sd card slot - digital pen input - 8gb, 6gb or 32gb soldered ddr5 ram -
|-
|<!--Name-->ThinkPad || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|<!--Name-->ThinkPad || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====Samsung====
[[#top|...to the top]]
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="2%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->NP-Q1 Q1 || <!--Chipset-->Celeron-M 353 ULV 600Mhz || <!--IDE-->{{Yes|1.8" SFF HDD 20 / 60 GB }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|GMA 915 2D and 3D opengl1 tunnel 95 gearbox 68}} || <!--Audio-->{{Yes|HD Audio with codec - head phones only}} || <!--USB-->{{Yes}} || <!--Ethernet-->{{No|Marvell}} || <!--Wireless-->{{Yes|Atheros 5006EX}} || <!--Test Distro-->2016 Icaros 2.1 || <!--Comments-->2005 32bit old style tablet UltraMobile PC UMPC - Wacom serial resistive pen or finger no support - 1 sodimm ddr2 max 1Gb - LCD 7" WVGA (800 x 480) - CompactFlash port Type II -
|-
| <!--Name-->NP Q1U Ultra Mobile PC UMPC Q1F NP-Q1-F000 || <!--Chipset-->Intel A100 600 / A110 Stealey 800 MHz CPU || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Maybe|GMA 950 2D and 3D opengl1}} || <!--Audio-->{{No|HD Audio 1986}} || <!--USB--> || <!--Ethernet-->Intel || <!--Wireless-->{{Maybe|Atheros 5006EX}} || <!--Test Distro-->2016 Icaros 2.1 || <!--Comments-->2006 32bit 1024×600 - sd card slot -
|-
| <!--Name-->NP P500 family P500Y || <!--Chipset-->AMD with SB600 || <!--IDE-->{{N/A| }} || <!--SATA-->{{Yes| }} || <!--Gfx-->{{Maybe|use VESA Ati x1250}} || <!--Audio-->{{Yes| Audio with codec }} || <!--USB--> || <!--Ethernet-->{{No|Marvell 88E8039 yukon}} || <!--Wireless-->{{yes|Atheros G}} || <!--Test Distro-->2017 Icaros 2.1.2 || <!--Comments-->64bit possible - 15.4 tft display - cheap plastic okay build - 19v propriety end -
|-
| <!--Name-->R505 R510 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless-->Atheros G || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->R520 R522 R610H R620 || <!--Chipset-->Intel Mobile Core i3 Intel PM45 82801M ICH9-M|| <!--IDE--> || <!--SATA--> || <!--Gfx-->ATI Mobility Radeon HD 4650 (RV730) || <!--Audio-->Intel HD Audio with Realtek ALC272 || <!--USB--> || <!--Ethernet-->Marvell Yukon 88E8057 || <!--Wireless-->Atheros AR5007EG || <!--Test Distro--> || <!--Comments-->2010 64 bit possible
|-
| NP-R530 || || {{N/A}} || {{partial|IDE mode}} || {{yes|Intel GMA (2D)}} || {{partial|HD Audio playback}} || {{yes|USB 2.0}} || {{no|Marvell}} || {{unk|Atheros AR9285}} || Icaros 1.5.2 || <!--Comments-->
|-
| <!--Name-->Samsung R730 17.3 Essential Notebook NP-R730-JA02UK, NP-R730-JA01SE, R730-JT06 || <!--Chipset-->Intel HM55 Dual Core T4300 i3-370M || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA for Intel 4500MHD and GeForce G 310M with 1 VGA, 1 HDMI}} || <!--Audio-->{{Yes|HDAudio ALC??? codec Realtek}} || <!--USB-->{{yes|USB2}} || <!--Ethernet-->{{No|Marvell Yukon 88E8059 PCI-E}} || <!--Wireless-->{{unk|Broadcom, Intel or Atheros 9k AR9285}} || <!--Test Distro-->Deadwoods ISO 2023-11 || <!--Comments-->2010 64bit - 17.3in HD 1280 x 720 pixels low contrast or some 1600x900 - 2 DDR3 sodimm slots - 2.84 kg 6.26 lbs -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->[http://www.notebookcheck.net/Review-Samsung-305U1A-A01DE-Subnotebook.68246.0.html Series 3 Samsung 305u1a] || <!--Chipset-->AMD Zacate E350 or E450 || <!--IDE--> || <!--SATA--> || <!--Gfx-->AMD Radeon 6320 || <!--Audio-->ALC ACL 269 || <!--USB--> || <!--Ethernet-->Realtek 8111 8169 || <!--Wireless-->Broadcom 4313 || <!--Comments-->2011 64bit
|-
| <!--Name-->NP-RV415 NP-RV515 || <!--Chipset-->E350 or E450 plus A50M chipset || <!--IDE--> || <!--SATA--> || <!--Gfx-->AMD Radeon HD 6470 || <!--Audio-->HD Audio Realtek || <!--USB--> || <!--Ethernet-->{{unk|RTL8169 Realtek RTL8111 8168B}} || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro--> || <!--Comments-->2012 64bit slow -
|-
| <!--Name-->Series 5 NP535U3C || <!--Chipset-->A6-4455M || <!--IDE-->{{N/A}} || <!--SATA-->2.5in || <!--Gfx-->radeon || <!--Audio-->HDAudio || <!--USB-->USB2 || <!--Ethernet-->Realtek GbE || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2012 64bit slow - 13.3in 1368 x 768 - plastic build - 65w 19v psu -
|-
| <!--Name-->series 3 NP355V5C || <!--Chipset-->A6-4400M, A8-4500M, A10-4600M || <!--IDE-->{{N/A}} || <!--SATA-->2.5in || <!--Gfx-->7640M || <!--Audio-->HDAudio || <!--USB-->USB2 || <!--Ethernet-->Realtek GbE || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2012 64bit - 15.4in 1368 x 768 - plastic build - 65w 19v psu -
|-
| <!--Name-->Samsung ATIV Book 9 Lite NP905S3G || <!--Chipset-->AMD A6-1450 quad 1GHz Temash atom like || <!--IDE--> || <!--SATA-->128gb || <!--Gfx-->AMD 8250 || <!--Audio-->HD Audio || <!--USB--> || <!--Ethernet-->{{Maybe|Realtek rtl8169 but only with mini LAN AA-AE2N12B Ethernet Adapter RJ45 dongle}} || <!--Wireless-->{{unk|Atheros AR9565}} || <!--Test Distro--> || <!--Comments-->2014 64bit - 13.3 TN glossy 1366 x 768 200nits 60% srgb - plastic case - 26W battery built in with 4hr life - 19V 2.1A 3.0*1.0mm psu - 1 ddr3l slot max 4gb - 720p webcam - mini hdmi out - 1w speakers -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====Toshiba====
[[#top|...to the top]]
Order of Build Quality (Lowest to highest)
<pre >
Equium
Satellite (Pro)
Libretto
Portege
Tecra
</pre >
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| Tecra 8100 8200 9000 || 440BX || {{yes|IDE}} || {{N/A}} || {{maybe|S3 Savage MX 3D (VESA only)}} || {{no|Yamaha DS-XG ymf744 ymf-754}} || {{yes|USB1.1 only}} || {{N/A}} || {{N/A}} || Icaros 1.5 || little support
|-
| <!--Name-->Tecra 9100 || <!--Chipset-->810 || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{maybe|S3 Savage IX}} || <!--Audio-->{{no|ymf754}} || <!--USB-->USB 1.1 || <!--Ethernet-->eeee pro100 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->PSU Adapter For Toshiba Tecra 9000 9100 A1 A10 A11 A3 A3X A4 A5 A7 M1 M2 M3 M4 M5 M7 M9 R10 S1 series 75 Watt 15V 5A
|-
| [http://tuxmobil.org/toshiba_sp4600.html Satellite Pro 4600] || i810 || IDE || {{N/A}} || {{maybe|Trident Cyber Blade XP (VESA only)}} || {{no|YAMAHA DS-XG AC97 ymf754}} || {{yes|USB}} || {{yes|Intel e100}} || {{no|Agere (internal PCMCIA)}} || || little support
|-
| Satellite 2805 S603 || Intel 815 || {{yes|IDE}} || {{N/A}} || {{maybe|nVidia GeForce2 Go}} || {{no|Yamaha Corp YMF 754}} || {{yes|USB}} || {{yes|Intel PRO/100}} || {{dunno}} || || little support
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Satellite A10 S167 S1291 - A15 A20 A25 || <!--Chipset-->P4M || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 852GM or Radeon || <!--Audio--> || <!--USB--> || <!--Ethernet-->RTL 8139 || <!--Wireless-->{{Maybe|Intel 2100, Agere or Atheros PA3399U 1MPC minipci}} || <!--Test Distro--> || <!--Comments-->a few models came with antenna leads
|-
| Satellite [http://eu.computers.toshiba-europe.com/innovation/jsp/SUPPORTSECTION/discontinuedProductPage.do?service=EU&com.broadvision.session.new=Yes&PRODUCT_ID=76230 A30-714] || P4-M / 82845 i845 || {{yes|82801}} || {{N/A}} || {{maybe|VESA}} || {{yes|AC97}} || {{yes}} || {{yes|RTL8139}} || {{N/A}} || Icaros 1.2.4 || nice laptop, drawbacks: heavy, really hot (P4-3.06 GHz!!) - A30 (EU) A33 (Australian) A35 (USA) -
|-
| <!--Name-->Satellite A40 A45 || <!--Chipset-->P4M or Celeron M with Intel 845 865 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 852GME or Radeon 7000 Mobility || <!--Audio-->AC97 Realtek || <!--USB-->USB2.0 || <!--Ethernet--> || <!--Wireless-->Atheros 5002G 5004G - PA3299U mini pci || <!--Test Distro--> || <!--Comments-->2003 32bit - A40 S161 A40-S1611 A40-2701, A45-S120 A45-S1201 S130 S1301 S1501 -
|-
| <!--Name-->Satellite a50 A55 a60-s156 Equium A60 PSA67E A65 || <!--Chipset-->P4M or Celeron M with Intel 845 865 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 852GME or Radeon 7000 Mobility || <!--Audio-->AC97 Realtek || <!--USB-->USB2.0 || <!--Ethernet--> || <!--Wireless-->Atheros 5002G 5004G - PA3299U mini-pci || <!--Test Distro--> || <!--Comments-->2003 32bit -
|-
| <!--Name-->Satellite A70 A75-S206 A80 A85-S107 || <!--Chipset-->P4M or Celeron-M with Intel 845 865 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 852GME or Radeon 7000 Mobility || <!--Audio-->AC97 Realtek || <!--USB-->USB2.0 || <!--Ethernet--> || <!--Wireless-->Atheros 5002G 5004G - PA3299U mini-pci || <!--Test Distro-->Icaros 1.5.1 || <!--Comments-->2003 32bit -
|-
| Toshiba Satellite Pro M30 || intel 855 || {{yes|boots with ATA=nodma option}} || {{N/A}} || {{maybe|VESA}} || {{yes|AC97}} || {{yes|USB2.0}} || {{yes|Intel PRO/100 VE}} || {{dunno}} || Icaros 1.5 || nice laptop with some support
|-
| <!--Name-->Portege M300 - M200 tablet || <!--Chipset-->855GM with 1.2GHz Pentium M 753 || <!--IDE-->{{yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{maybe|VESA 2d only - tablet with nvidia 5200 go}} || <!--Audio-->{{no|AC97 STAC 9750}} || <!--USB-->{{yes}} || <!--Ethernet-->{{yes|Intel PRO 100}} || <!--Wireless-->{{no|Intel PRO Wireless 2200BG}} || <!--Test Distro--> || <!--Comments-->little support
|-
| <!--Name-->Tecra M2 M2-S || <!--Chipset-->Intel 855P Pentium-M || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->nvidia fx go5200 32mb or 64mb agp || <!--Audio-->AC97 1981B || <!--USB--> || <!--Ethernet--> || <!--Wireless-->Intel Pro || <!--Test Distro--> || <!--Comments-->2003 32bit - PSU 15V 5A -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Satellite Pro L20 267 (PSL2YE PSL2XE) PSL25E L30 || <!--Chipset-->Celeron M 370 1.4 1.5GHz, 1.73Ghz with RC410M SB400 || <!--IDE-->{{N/A| }} || <!--SATA-->{{yes|IDE mode}} || <!--Gfx-->{{Maybe|use VESA - Ati x200}} || <!--Audio-->{{No|[https://forums.gentoo.org/viewtopic-t-490297-start-0.html ALC861]}} || <!--USB-->{{Maybe|Boots usb sticks}} || <!--Ethernet-->{{yes|rtl8139 Realtek 8139}} || <!--Wireless-->{{No|Atheros mini-pci should work maybe not working with ATi chipset or need to swap??}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2004 32bit 14" pioneer dvd-rw - 19v
|-
| <!--Name-->Satellite L30 PSL30E L33 PSL33E || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 800 or ATi RC410 x200 || <!--Audio-->AC97 AD1981B or HD Audio ALC861 || <!--USB--> || <!--Ethernet-->realtek 8139 || <!--Wireless-->Atheros or Intel || <!--Test Distro--> || <!--Comments-->L30 PSL30L 101 PSL33E 113 115 134 00M019 -
|-
| Satellite Pro M40 313 psm44e || AMD with Ati || {{yes|boots with ATA=nodma}} || {{N/A}} || {{maybe|VESA}} || {{yes|AC97}} || {{yes|USB2.0}} || {{yes|}} || {{maybe|atheros askey ar5bmb5 mini pci}} || || 2005 32bit - nice laptop with some support
|-
| <!--Name-->Satellite L40 PSL40E PSL40L, PSL43E || <!--Chipset-->945GM with U7700 1.3GHz ULV || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 945 || <!--Audio-->{{No|Intel HD with AD1986A codec}} || <!--USB-->2 USB2.0 || <!--Ethernet-->realtek 8139 || <!--Wireless-->Atheros AR24xx Askey || <!--Test Distro-->Icaros 2.0.3 || <!--Comments-->2006 32bit only - - 12X 13G 139 14B 143 15J 19O -
|-
| <!--Name-->Satellite L45 PSL40U S7409 S2416 || <!--Chipset-->945GM with Celeron M 440 1.86 GHz || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 945 || <!--Audio-->{{No|Intel HD with AD1986A codec}} || <!--USB-->2 USB2.0 || <!--Ethernet-->realtek 8139 || <!--Wireless-->Atheros AR24xx Askey || <!--Test Distro-->Icaros 2.0.3 || <!--Comments-->2006 32bit only -
|-
| <!--Name-->Satellite Pro A100 || <!--Chipset-->940G || <!--IDE--> || <!--SATA--> || <!--Gfx-->Nvidia G72M Quadro NVS 110M GeForce Go 7300 / Ati (PSAA3E)|| <!--Audio-->HD Audio with ALC861 codec || <!--USB--> || <!--Ethernet-->Intel 100 || <!--Wireless-->Intel 3945 swap with atheros || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Satellite A110 159 (PSAB0), Equium A110 (PSAB2E), Satellite A110 233 (PSAB6), || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio-->ALC861 || <!--USB--> || <!--Ethernet-->Realtek 8136 || <!--Wireless-->Atheros || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Satellite Pro A120 PSAC0 PSAC1 PSAC1E || <!--Chipset-->Core Solo GMA 950 to T2300 || <!--IDE--> || <!--SATA--> || <!--Gfx-->GMA 945 || <!--Audio-->ALC262 or AC97 AD1981B || <!--USB-->UHCI EHCI || <!--Ethernet--> || <!--Wireless-->Atheros Ar5001 or Intel or Broadcom || <!--Test Distro--> || <!--Comments-->15V 4A charger -
|-
| <!--Name-->Satellite Pro A120 || <!--Chipset-->Core Duo ATi RS480 + SB450 || <!--IDE--> || <!--SATA--> || <!--Gfx-->use VESA - ATI RC410 Radeon Xpress 200M || <!--Audio-->ALC262 || <!--USB-->OCHI UHCI || <!--Ethernet-->RTL 8139 || <!--Wireless-->Intel 3945 or Atheros Ar5001 || <!--Test Distro--> || <!--Comments-->15v 5a proprietary charger needed
|-
| <!--Name-->Satelite A130 PSAD6U || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet-->Realtek 8101E || <!--Wireless-->Atheros or Intel || <!--Test Distro--> || <!--Comments-->ST1311 s1311 ST1312 S2276 S2386 -
|-
| <!--Name-->Satellite A135 S2686 (Compal LA 3391P) || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet-->Realtek 8101E || <!--Wireless-->Atheros or Intel || <!--Test Distro--> || <!--Comments-->S2246 S2346 S2256 S4477 S4666 S4827 -
|-
| <!--Name-->Satellite A200 PSAE1E (Inventec MW10M) || <!--Chipset-->Pentium M with 945GM Express Celeron M 520 1.6Ghz or Pentium® Core Duo T2130 1.86 GHz || <!--IDE--> {{N/A}}|| <!--SATA--> {{Maybe|SATA}}|| <!--Gfx--> {{Yes|Intel GMA 950 (2D and 3D)}}|| <!--Audio--> {{Yes|HD Audio ALC862}}|| <!--USB--> {{Yes| }}|| <!--Ethernet--> {{yes|RTL8101E rtl8139}}|| <!--Wireless--> {{yes|Atheros 5000 - FN,F5 or FN,F8 or switch}} || <!--Test Distro-->2016 AspireOS 1.8 || <!--Comments-->2006 Excellent 32 bit support! - make sure that your WLAN card is enabled, do this using the hardware switch and FN+F8 key combination
|-
| <!--Name--> A210, Satellite A215 AMD (Inventec 10A) S5808 || <!--Chipset--> Ati with SB690 || <!--IDE--> {{N/A}}|| <!--SATA-->{{Maybe|SATA}}|| <!--Gfx-->{{Maybe|use VESA HD2600 Mobility M76}} || <!--Audio-->HD Audio ALC268 || <!--USB--> {{Yes| }}|| <!--Ethernet-->{{yes|RTL8101E}}|| <!--Wireless--> {{yes|Atheros 5000}}|| <!--Test Distro-->2018 AspireOS 1.8 || <!--Comments-->A215-S7422 A215-S7472 A215-S4697 (USA) -
|-
| <!--Name--> [http://www.amiga.org/forums/showthread.php?t=62036 A215 S4757] || <!--Chipset--> Ati X1200 with SB600 || <!--IDE--> {{N/A}}|| <!--SATA-->{{Maybe|SATA}}|| <!--Gfx-->{{Maybe}} || <!--Audio-->HD Audio || <!--USB--> {{Yes| }}|| <!--Ethernet-->{{yes|RTL8101E}}|| <!--Wireless--> {{yes|Atheros 5000}}|| <!--Test Distro-->2017 AspireOS 1.8 || <!--Comments-->
|-
| <!--Name-->Qosmio G30 (PQG31C-HD202E) || <!--Chipset-->945 with Duo T2500 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{yes|Nouveau Nvidia Go 7600 2d and 3d}} || <!--Audio-->{{yes| }} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2006 32bit - 17" UXGA 1920x1200,
|-
| <!--Name-->Tecra A10 || <!--Chipset--> || <!--IDE--> {{N/A}} || <!--SATA--> {{Maybe|IDE mode}} || <!--Gfx--> {{Maybe|Intel GMA 4500M (2D)}} || <!--Audio--> {{Yes|HD Audio}} || <!--USB--> {{Yes|USB 2.0}} || <!--Ethernet-->{{No|Intel PRO 1000}} || <!--Wireless-->{{No|Intel WiFi Link 5100}} || <!--Test Distro--> || <!--Comments-->64 bit possible
|-
| <!--Name-->L35 - L40 PSL48E - L45 S7423 || <!--Chipset-->GL960 with Intel Celeron || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|X3100 some 2D but software 3d tunnel 9 gearbox 4}} || <!--Audio-->{{Yes|HD Audio with ALC660 codec playback}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{Yes|REALTEK 8139}} || <!--Wireless-->{{No|Realtek 8187b replace with Atheros 5k}} || <!--Test Distro-->2017 Icaros 2.1.2 || <!--Comments-->1,73Ghz M 520 or M 540 or Dual T2310 (1.46 GHz) T2330 (1.6 GHz) - 14H 14N 15B 17H 17K 17R 17S 18Z -
|-
| <!--Name-->Satellite a300 - inventec potomac 10s pt10s A300D 21H || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->ATI Mobility Radeon HD 3650 || <!--Audio-->HD Audio - Realtek || <!--USB--> || <!--Ethernet-->Realtek 8102E || <!--Wireless-->Atheros 5005 || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->satellite L300D-224 PSLC8E PSLC9E, l305 (inventec ps10s) || <!--Chipset-->AMD M780 with Turion RM70 or QL-64 || <!--IDE--> {{yes|IDE}} || <!--SATA--> {{yes|SATA}} || <!--Gfx--> {{Maybe|use VESA for Radeon 3100}} || <!--Audio-->{{maybe|HD Audio with Realtek ALC268}} || <!--USB--> {{yes|USB 2.0}} || <!--Ethernet--> {{no|rtl8169 Realtek RTL8101E RTL8102E}} || <!--Wireless-->{{no|Atheros G XB63L or Intel or Realtek}} || <!--Test Distro--> Icaros Desktop Live 2.3 AROS One 2.3 || <!--Comments--> Wireless-handler crashing when using Atheros-Wireless-Card
|-
| <!--Name-->Satellite P300 (PSPC0C-01D01C) || <!--Chipset-->945GM with Intel Core 2 Duo T5750 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{maybe| }} || <!--Audio-->{{No| codec}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{No| swap with Atheros 5k }} || <!--Test Distro-->AROS One 64bit || <!--Comments-->2007
|-
| <!--Name-->satellite l300-1bw PSLBDE-005005AR, L300-148 PSLB0E, l300-20D PSLB8E-06Q007EN, l300-294 L300-23L PSLB9E || <!--Chipset-->Intel GM45 + PGA478 socket Celeron 900, Pentium T1600, T2390, T3400 (Socket P) to Core2 Duo T6400 T6670 || <!--IDE--> {{unk|IDE}} || <!--SATA--> {{unk|SATA}} || <!--Gfx--> {{Maybe|use VESA for Intel gma 4500M}} || <!--Audio-->{{maybe|HD Audio with Realtek ALC???}} || <!--USB--> {{unk|USB 2.0}} || <!--Ethernet--> {{unk|rtl8169 Realtek 810xE}} || <!--Wireless-->{{no|Intel or Realtek}} || <!--Test Distro--> || <!--Comments-->2009 64-bit - new unfamiliar Bios called insyde H20 -
|-
| <!--Name-->satellite l350d || <!--Chipset-->AMD Athlon (tm) X2 QL-60 + RS780M || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Radeon HD 3100 || <!--Audio-->HD Audio with Realtek || <!--USB--> || <!--Ethernet-->Realtek || <!--Wireless-->Realtek 8187b || <!--Test Distro--> || <!--Comments-->2009 64bit
|-
| <!--Name-->Satellite L450 12 13 14 || <!--Chipset-->AMD Sempron, 2.1GHz with AMD RS780M || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Radeon HD 3200 (based on HD 2400) || <!--Audio--> || <!--USB--> || <!--Ethernet-->Realtek RTL8101E RTL8102E || <!--Wireless-->Realtek 8172 || <!--Test Distro--> || <!--Comments-->2009 64bit - 12X 13P 13X 14V PSLY6E00C006EN
|-
| <!--Name-->Satellite Pro L450 (Compal LA-5821P) 179 || <!--Chipset-->intel celeron 900 2.20 Ghz no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->intel 4500m || <!--Audio-->HD Audio with codec || <!--USB--> || <!--Ethernet-->RTL8101 /2 /6E PCI Express Gigabit || <!--Wireless-->RTL8191 SEvB || <!--Test Distro--> || <!--Comments-->2009 64bit - 39.6cm (15.6”) Toshiba TruBrite® HD TFT 16:9 768p
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Toshiba Satellite P775, P775-S7320 and P775-10K || <!--Chipset-->Intel Core i5 (2nd Gen) 2430M i7-2630QM || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|Vesa 2D for Intel}} || <!--Audio-->{{maybe| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2011 17.3" - 1600 x 900 (HD+) - 2 DDR3 sodimm max 16Gb -
|-
|<!--Name-->Toshiba Satellite C660D-19X || <!--Chipset-->AMD E-300 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{maybe|Vesa 2D for ATi}} || <!--Audio-->{{no|HD Audio with Realtek codec}} || <!--USB-->{{no| }} || <!--Ethernet-->{{Maybe|r8169 rtl8101e}} || <!--Wireless-->{{no|Realtek RTL8188 8192ce rtl8192ce}} || <!--Test Distro--> || <!--Comments-->2011 64bit -
|-
| <!--Name-->L755D (E-350) L750D (E-450) || <!--Chipset-->AMD E350 E450 no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Radeon HD 6310 6320 || <!--Audio-->HDAudio conexant codec || <!--USB--> || <!--Ethernet--> || <!--Wireless-->Realtek || <!--Test Distro--> || <!--Comments-->2012 64bit
|-
| <!--Name-->Satellite Pro SP C640 C660D-15X (PSC1YE) C670D- () || <!--Chipset-->AMD E350 no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->6310G || <!--Audio-->HD Realtek ALC259 || <!--USB-->USB2 || <!--Ethernet-->Realtek || <!--Wireless-->Broadcom || <!--Test Distro--> || <!--Comments-->2012 64bit
|-
| <!--Name-->C70D-A C75D-A || <!--Chipset-->E1-1200 no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{maybe|AMD HD8330}} || <!--Audio-->{{no|HA Audio CX20751 11Z}} || <!--USB-->{{no| }} || <!--Ethernet-->{{no|Atheros AR8162 alx}} || <!--Wireless-->{{no|Realtek 8188e}} || <!--Test Distro--> || <!--Comments-->2013 64bit -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
|}
====Misc====
[[#top|...to the top]]
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->Time 500 Packard Bell EasyOne 1450 1550 || <!--Chipset-->K6-3 500Mhz + VIA MVP4 vt82c686a || <!--IDE-->{{N/A|Issues}} || <!--SATA-->{{N/A}} || <!--Gfx-->Use VESA || <!--Audio-->{{No|VIA AC97 3058 with wolfson codec WM9703 WM9704 WM9707 WM9708 or WM9717}} || <!--USB-->via 3038 2 ports USB 1.1 untested || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A}} || <!--Test Distro-->NB May 2013 || <!--Comments-->2001 32bit grub runs but stalls around [PCI] Everything OK
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Sony Vaio PCG FX201/FX202 FX210/FX215 FX401/FX402 FX404/FX405 972M, FX501/FX502 FX504/FX505 || <!--Chipset-->VIA KT133A KM133 Duron 800Mhz Athlon 1.3Ghz || <!--IDE-->{{partial|boot issue with 2013 kernel VIA [rev 06]}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{partial|ATI Rage Mobility Pro (VESA only)}} || <!--Audio-->{{Yes|VIA AC97 686b [rev 50] AD1881A Ear phone and Mic}} || <!--USB-->{{Maybe|issues}} || <!--Ethernet-->{{Yes|RTL 8139}} || <!--Wireless-->{{N/A}} || <!--Comments-->Nightly 1st March 2013 || <!--Comments-->booting usb pendrive from Plop Boot Loader floppy (no bios USB boot). Can freeze coz hardware issue or a ram slot problem - no support for iLink firewire VT8363/8365 pci - vt82c686b
|-
| <!--Name-->Sony Vaio PCG FX601/FX602, FX604/FX605 FXA53(US), FX701/FX702, FX704/FX705, FX801/FX802 FX804/FX805 || <!--Chipset-->VIA KT133A KM133 Duron 800Mhz Athlon 1.3Ghz || <!--IDE-->{{partial|boot issue with 2013 kernel VIA [rev 06]}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{partial|ATI Rage Mobility Pro (VESA only)}} || <!--Audio-->{{Yes|VIA AC97 686b [rev 50] AD1881A Ear phone and Mic}} || <!--USB-->{{Maybe|issues}} || <!--Ethernet-->{{Yes|RTL 8139}} || <!--Wireless-->{{N/A}} || <!--Comments-->Nightly 1st March 2013 || <!--Comments-->booting usb pendrive somes works
|-
| <!--Name-->Sony Vaio PCG FX100 R505LE || <!--Chipset-->Intel i815 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Use VESA Intel 82815 CGC || <!--Audio-->Intel ICH AC97 with ADI AD1881A codec || <!--USB--> || <!--Ethernet-->Intel e100 || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->PCG-FX105 FX105K PCG-FX108 FX108K PCG-FX109 FX109K FX200 FX203/FX203K FX205 FX205K FX209 FX209K FX220 [http://juljas.net/linux/vaiofx240/ FX240] FX250 FX270 FX290 FX301 FX302 FX340 FX370 FX390 FX403 FX503 FX950
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| Sony VAIO VGN X505VP || Pentium M ULV and Intel 855GM || {{yes}} || {{N/A}} || {{maybe|Intel 855 (VESA only)}} || {{yes|AC97}} || {{yes|USB}} || {{yes|Intel PRO 100 VE}} || {{N/A}} || || 2004 32bit - 0.38 inches at its thinnest point - first laptop to feature a "chiclet" keyboard resemble Chiclets gum -
|-
| <!--Name-->Sony Z505LE Z505JE || <!--Chipset-->P3 || <!--IDE--> || <!--SATA-->n/a || <!--Gfx-->Rage Mobility M1 AGP mach64 || <!--Audio-->no Yamaha DS-XG PCI YMF744 || <!--USB--> || <!--Ethernet-->Intel 8255x based PCI e100 || <!--Wireless-->n/a || <!--Test Distro--> || <!--Comments-->2004 32bit -
|-
| <!--Name-->Panasonic Toughbook CF-18 || <!--Chipset-->Core || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{yes|gma for i915}} || <!--Audio-->{{yes|AC97 SigmaTel}} || <!--USB-->{{yes|usb2 }} || <!--Ethernet-->{{yes|RTL 8139C}} || <!--Wireless-->{{no|Intel swap for atheros 5k}} || <!--Test Distro-->Deadwoods' D02 test || <!--Comments-->2003 32bit
|-
| <!--Name-->Panasonic Toughbook CF-29 CF-30 || <!--Chipset-->Core || <!--IDE--> || <!--SATA--> || <!--Gfx-->use VESA || <!--Audio-->AC97 SigmaTel || <!--USB--> || <!--Ethernet-->RTL 8139C || <!--Wireless-->Intel || <!--Test Distro--> || <!--Comments-->2003 32bit
|-
| <!--Name-->MSI Microstar PR210 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA ATi RS690M}} || <!--Audio-->{{Yes|HD Audio through speaker / head phones but not hdmi}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{yes|Realtek 8111 8169}} || <!--Wireless-->Atheros AR242x AR542x aw-ge780 mini pci-e || <!--Test Distro-->2017 Icaros 2.1.2 || <!--Comments-->2004 32bit - ENE PCI based SD card with no bios boot option
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Advent 7106 EAA-88 || <!--Chipset-->Pentium M 1.7GHz with 915GM || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|2D and 3D tunnel 187 gearbox 67}} || <!--Audio-->{{Yes|AC97 Intel ICH6 with Conexant Cx20468 31 codec playback head phones only}} || <!--USB--> || <!--Ethernet-->{{Yes|Realtek 8169}} || <!--Wireless-->{{No|Intel 2200BG Fn/F2 replaced with atheros mini pci in small base panel - startup errors in wireless manager}} || <!--Test Distro-->2017 Icaros 2.1.1 || <!--Comments-->2005 32bit 14" cheap rubbish sadly - fan noise through audio channel -
|-
| <!--Name-->Motion Computing LE1600 PC Slate || <!--Chipset-->915 || <!--IDE--> || <!--SATA--> || <!--Gfx-->915 || <!--Audio-->Intel AC97 SigmaTel STAC9758 9759 || <!--USB--> || <!--Ethernet-->Realtek 8169 || <!--Wireless-->Intel PRO Wireless 2200BG || <!--Test Distro--> || <!--Comments-->2005 serial Wacom digitiser not usb
|-
| <!--Name-->Panasonic Toughbook CF-51 CF-P1 CF-T5 CF-Y2 || <!--Chipset-->945GMS || <!--IDE--> || <!--SATA--> || <!--Gfx-->GMA 950 || <!--Audio-->HD Audio || <!--USB--> || <!--Ethernet-->Broadcom || <!--Wireless-->Intel || <!--Test Distro--> || <!--Comments-->2006 32bit
|-
| <!--Name-->Sony Vaio VGN-AR11S || <!--Chipset-->ntel Core Duo T2500 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{yes| Nvidia Go 7600}} || <!--Audio-->{{yes| }} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{No| }} || <!--Test Distro-->Aros One 32bit || <!--Comments-->2006 32bit - 17" 1920x1200 - blu-ray -
|-
| Sony Vaio VGN SR29VN || Intel ICH9 || {{N/A}} || {{maybe|IDE legacy}} || {{partial|ATI HD 3400 (VESA only)}} || {{partial|HD Audio (too quiet)}} || {{yes|USB1.1 and USB2.0}} || {{no|Marvell 8040}} || {{no|Intel 5100}} || Icaros 1.5 || 2007 32bit -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Wyse XM Class DELL WYSE Xn0m LAPTOP || <!--Chipset-->AMD T-G56N 1.6 1.65Ghz || <!--IDE-->{{N/A| }} || <!--SATA-->decased 2.5in ssd || <!--Gfx-->{{Maybe|Vesa 2d only AMD 6320}} || <!--Audio-->{{Maybe| }} || <!--USB-->{{Maybe|EHCI 2.0 with NEC uPD720200 USB 3.0}} || <!--Ethernet-->{{Yes|Realtek rtl8169 8111E}} || <!--Wireless-->{{No|Atheros 93xx}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - 1366 x 768 14" - 2 ddr3l slots max 16gb - 19v coax barrel plug psu -
|-
| <!--Name-->Panasonic Toughpad FZ-G1 MK2 || <!--Chipset-->Core i5-3437U, 1.9GHz || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet-->{{N/A}} || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2014 64bit -
|-
| <!--Name-->ToughPad FZ-G1 Mk3 || <!--Chipset-->Intel Core i5-4310U || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->Intel HD 4400 || <!--Audio-->HDaudio Codec ALC255 || <!--USB--> || <!--Ethernet-->{{N/A}} || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2015 64bit -
|-
| <!--Name-->[https://wiki.recessim.com/view/Panasonic_Toughpad_FZ-G1_MK4 Panasonic Toughpad FZ-G1 MK4] || <!--Chipset-->intel 6300U || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->Intel 520 || <!--Audio-->HDaudio with ALC256 codec - o/c or s/c fails early || <!--USB-->{{maybe|USB3 but options on the right hand side of screen case}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|intel ac 8260}} || <!--Test Distro--> || <!--Comments-->2016 64bit - 10.1in 1600x1200 - 4gb ddr3l soldered - waterproof pen left hand side base - optional slot-in 4g lte and sdhc - 16v 4.06A 64.96W panasonic barrel -
|-
| <!--Name-->Panasonic Toughpad FZ-G1 MK5 || <!--Chipset-->intel i5-7300U || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->Intel 620 || <!--Audio-->HDaudio ALC295 codec - o/c or s/c fails early || <!--USB-->{{maybe|USB3 but optional usb2 plugin r.h.s. of screen casing}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Intel}} || <!--Test Distro--> || <!--Comments-->2018 64bit - 8gb ddr3l soldered - 10.1" WUXGA 1920 x 1200 with LED backlighting screen 2-800 nit - 10-point capacitive multi touch + Waterproof Digitizer pen l.h.s -
|-
| <!--Name-->ToughPad FZ-M1 || <!--Chipset-->Intel® Core TM m5-6Y57 vPro TM || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->Intel HD 4200 || <!--Audio-->HDaudio with ALC codec || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2016 64bit - 7in 800p - 8gb ddr3l soldered -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Any Razor Razer laptops || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->AVOID unable to remove secure boot
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
===Netbook===
[[#top|...to the top]]
* PC to write Aros image onto an USB pendrive with Raspberry PI writer, USB writer or Rufus for boot purposes on a netbook
* SD card sometimes can boot like Dell 2100, EeePC 1001P, ASUS EeePC 900, acer aspire one d150, MSI Wind U100,
====Acer Packard Bell Netbooks====
[[#top|...to the top]]
{| class="wikitable sortable" width=100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| Aspire One AOA110 (A110) (ZG5) || Intel 945GSE || {{N/A}} || {{Maybe|IDE legacy mode}} || {{Yes|Intel GMA (2D and 3D) tunnel 99 and gearbox 84 score}} || {{Yes|HD Audio ALC6628}} || {{Yes|USB1.1 and USB2.0}} || {{Yes|rtl8169 RTL8101E}} || {{Yes|AR5006}} atheros 5k || 2016 AspireOS 1.8, 2025 Aros One 2.6 32bit USB || 2007 32bit 1 core - 19v barrel A13-045N2A 19V2.37A 45W 5.5x1.7mm -
|-
| Aspire One AOA150 (A150) (ZG5) || Intel 945GSE || {{N/A}} || {{Maybe|ide mode}} || {{Yes|Intel GMA 2D and accelerated 3D with tunnel 99 and gearbox 84.1 result}} || {{Yes|HD Audio ALC6628}} || {{Yes|uhci and ehci}} || {{Yes|rtl8169 RTL8101E}} || {{Yes|AR5006}} atheros 5k || 2016 AspireOS 1.8, 2025 aros one 2.6 32bit USB || 2007 32bit 1 core - 19v barrel -
|-
| Aspire One AOD150 D150 (Compal LA-4781P), AOD110 D110 (ssd) || Intel 945GME || {{N/A}} || {{Maybe|ide legacy}} || {{Yes|Intel GMA 950 (2D)}} || {{Yes|HDAudio with alc272}} || {{Yes|USB}} || {{No|Atheros AR8121 AR8113 AR8114 l1e}} || {{Maybe|AR5007EG AR5BXB63 works but Broadcom BCM4312 has no support}} || 2010 Icaros Desktop 1.3, 2024 Aros one 32bit USB || 2008 32bit 1 core - 19v barrel -
|-
| Aspire One (ZG8) || Intel 945G and N270 || {{N/A}} || {{Maybe|ide mode}} || {{Yes|Intel GMA 2D and accelerated 3D}} || {{maybe|HD Audio }} || {{Yes|uhci and ehci}} || {{No|Broadcom }} || {{no|Intel}} || 2014 AspireOS 1.8 || 2009 32bit -
|-
| Aspire One AOD250 D250 emachines em250 || 945GME || {{N/A}} || {{Maybe|ide legacy}} || {{Yes|Intel GMA (2D)}} || {{Yes|alc272 HD Audio}} || {{Yes}} || {{No|AR8132 (L1c)}} || {{No|BCM4312 or Atheros AR5B95}} || 2010 Icaros 1.3 || 2009 32bit 1 core - 19v barrel -
|-
| <!--Name-->Aspire AO532H (Compal LA-5651p) 533H Pineview || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio-->{{Yes|HD Audio playback}} || <!--USB--> || <!--Ethernet-->{{No|AR8132 (L1c)}} || <!--Wireless-->{{No|Atheros 9k}} || [http://www.amigaworld.net/modules/news/article.php?mode=flat&order=0&item_id=5968 Tested AspireOS June 2011] || <!--Comments-->
|-
| <!--Name-->emachines eM350 NAV51 || <!--Chipset--> with N450 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 3150 || <!--Audio-->HD Audio with codec || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro-->Icaros 2.2 || <!--Comments-->Single core 64bit - 160GB HDD 1GB RAM 10.1" LED backlit screen and Webcam - 3 cell li-ion battery for 3 hours usage -
|-
| <!--Name-->emachines eM355 || <!--Chipset--> with N455 || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->64bit support possible -
|-
| <!--Name-->Aspire One 533 || <!--Chipset-->N455 with NM10 || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes}} || <!--Gfx-->{{Yes|2D 0x8086 0xa011}} || <!--Audio-->{{Yes| ALC272 codec ich7}} || <!--USB-->{{Yes}} || <!--Ethernet-->{{No|Atheros AR8152 v1.1 1c}} || <!--Wireless-->{{No|Broadcom 4313}} || <!--Test Distro-->2016 Icaros 2.1 and AROS One 2.3 || <!--Comments-->2011 64bit - f2 setup - 10.1inch 1024 x 768 -
|-
| Aspire One AOD255 AOD255e AOD260 AOHAPPY (Compal LA-6221P) || N570 and Nm10 || {{N/A}} || {{Maybe|SATA}} || {{Maybe|Intel GMA 3150}} || Audio || USB || {{No|Atheros AR8152 V1.1 (1lc)}} || {{No|Broadcom BCM4313}} || || a little support
|-
| Aspire One 522 AO522 (Compal LA-7072p) || 1GHz dual C-50 C50 or C-60 C60 + Hudson M1 || {{N/A}} || SATA || AMD 6250 (ATI 9804) or 6290 || ATI SB CX20584 HD Audio || USB || Atheros 8152 v2.0 l1c || {{No|Broadcom BCM4313 or Atheros ath9k}} || ||
|-
| <!--Name-->AAOD270 Aspire One D270 || <!--Chipset-->N2600 Cedarview || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes| }} || <!--Gfx-->{{Yes|2D on Intel GMA 3650}} || <!--Audio-->{{Yes| }} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{Yes|RTL 8169 RTL8101E}} || <!--Wireless-->{{No|Broadcom BCM4313 but swap for Atheros 5k}} || <!--Test Distro--> || <!--Opinion-->2011 64bit atom - ddr2 so-dimm 2gb max -
|-
| <!--Name-->Aspire One AO532G (Compal LA-6091p) || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Aspire One D257 (Quanta ZE6) || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Acer Aspire One 722 AO722 P1VE6 || <!--Chipset-->AMD C-60 C60 with SB900 || <!--IDE-->{{N/A| }} || <!--SATA--> || <!--Gfx-->{{Maybe| use VESA Ati 6290}} || <!--Audio-->{{Yes|HD Audio with codec but no Wrestler HDMI output}} || <!--USB--> || <!--Ethernet-->{{No|Qualcomm Atheros AR8152 v2.0}} || <!--Wireless-->{{unk|Atheros AR9485}} || <!--Test Distro-->2017 Icaros 2.1.2 || <!--Comments-->
|-
| <!--Name-->Aspire One AO721 (Wistron SJV10-NL) || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->AO751 AO751H (Quanta ZA3) || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Packard Bell Dot .S || <!--Chipset-->N280 + || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|legacy}} || <!--Gfx-->{{yes|Intel GMA950 (2D)}}|| <!--Audio-->HD Audio ALC272X || <!--USB--> USB2.0 || <!--Ethernet--> {{no|Atheros l1e}} || <!--Wireless-->{{no|Atheros 9k}} || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Packard Bell Dot .SE || <!--Chipset-->N450 + || <!--IDE-->{{N/A}} || <!--SATA-->legacy || <!--Gfx-->Intel GMA950 (2D) || <!--Audio-->HD Audio ALC|| <!--USB-->USB2.0 || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Packard Bell Dot .S2 NAV50 || <!--Chipset-->N455 NM10 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Intel X3150 || <!--Audio-->HD Audio ALC269 || <!--USB--> || <!--Ethernet-->Atheros || <!--Wireless-->Atheros || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Packard Bell Dot M/A || <!--Chipset-->1.2GHz Athlon L110 + RS690E || <!--IDE-->{{N/A}} || <!--SATA-->legacy mode? || <!--Gfx-->AMD ATI Radeon Xpress X1270 (VESA only) || <!--Audio-->HD Audio ATI SBx00 || <!--USB--> || <!--Ethernet-->Realtek RTL8101E RTL8102E rtl8169 || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro--> || <!--Opinion-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====Asus Netbooks====
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| [http://wiki.debian.org/DebianEeePC/Models eeePC] 700 701 2G 4G 8G Surf || Intel 910GML + ICH7 || {{N/A}} || {{Maybe|IDE legacy mode}} || {{Yes|Intel GMA 900 2D and 3D tunnel 68 gearbox 43 on 701 800x480}} || {{Yes|ALC662 HD Audio}} || {{Yes|UHCI and EHCI}} || {{No|Atheros L2}} || {{Yes|Atheros 5k AR5007EG (AR2425 works}} || 2016 Icaros 2.1.1, 2.1.2, Aros One 2.5 32bit USB, || 2007 32bit - power supplies fail due to bad caps issue 9.5V 2.5A 24W Charger AD59930 4.8*1.7MM -
|-
| [http://wiki.debian.org/DebianEeePC/Models eeePC] 701SD || Intel 910GML + ICH7 || {{N/A}} || {{Maybe|IDE legacy mode}} || {{Maybe|Intel GMA 900 (2D)}} || {{Yes|ALC662 HD Audio}} || {{Yes|UHCI and EHCI}} || {{No|Atheros L2}} || {{No|RTL8187SE swap with Atheros 5k}} || 2014 AspireOS 1.7, || 2007 32bit - boot issues but does boot with ATA=32bit,nopoll or ATA=nodma,nopoll
|-
| [http://wiki.debian.org/DebianEeePC/Models eeePC] 900 || Intel 910GML + ICH7 || {{N/A}} || {{Maybe|IDE legacy mode}} || {{Maybe|Intel GMA 900 (2D, 3D in some models)}} || {{Yes|ALC662 HD Audio}} || {{Yes|UHCI and EHCI}} || {{No|Atheros L2}} || {{Maybe|depends on chipset AR5007EG (AR2425) works but not RaLink}} || 2014 AspireOS 1.7, || 2008 32bit - boot issues but does boot with ATA=32bit,nopoll or ATA=nodma,nopoll. 900's may need BIOS upgrade to boot usb optical drives. 3D available in some model revisions - AD59230 9.5v 2.31a psu -
|-
| eeePC 900A || 945GSE || {{N/A}} || {{Maybe|IDE legacy mode}} || {{Yes|Intel GMA 950 (3D)}} || {{Yes|HD Audio ALC269}} || {{Yes|USB2.0}} || {{No|Atheros L1e [1969 1026]}} || {{Yes|Atheros 5k AR242x}} || Nightly Build 2012, 2023 Aros One 32bit 2.4 || 2009 32bit
|-
| eeePC 901 1000 || 945GM || {{N/A}} || {{Maybe|IDE legacy mode}} || {{yes|Intel GMA 950 (2D)}} || {{Yes|ALC269 HD Audio}} || {{Yes|USB}} || {{No|Atheros L1E (AR8121 AR8113 AR8114)}} || {{No|RaLink Device 2860 swap with Atheros 5k}} || 2011 Icaros 1.4, || 2009 32bit - 12v 3a psu -
|-
| eeePC Seashell 1000HA 1000HE 1008 1005HA || N280 + Intel GMA950 || {{N/A}} || SATA || {{Yes|Intel GMA (2D)}} || {{Yes|HD Audio ALC269}} || {{Yes|USB}} || {{Maybe|Realtek but not Atheros AR8132 (L1c)}} || {{unk|Atheros AR9285}} || 2014 Aspire OS 1.6, || 2010 32bit - 12v 3a psu -
|-
| <!--Name-->eeePC 1001ha || <!--Chipset-->GMA945 || <!--IDE-->{{N/A}} || <!--SATA-->legacy || <!--Gfx-->Intel GMA 950 (2D) || <!--Audio-->ALC269 HD Audio || <!--USB--> || <!--Ethernet-->{{No|Attansic Atheros AR8132 l1c}} || <!--Wireless-->{{No|RaLink RT3090 swap with Atheros 5k}} || <!--Test Distro-->untested || <!--Opinion-->2010 32bit
|-
| eeePC 1001P T101MT 1005PX 1005PE 1015PE Pineview 1001PXD || NM10 and N450 N455 CPU || {{N/A}} || {{Maybe|IDE mode}} || {{Yes|Intel GMA 3150 (2D)}} || {{Yes|HD Audio}} || {{Yes|USB 2.0}} || {{No|Atheros AR8132 (l1c)}} || {{unk|Atheros AR928x 802.11n}} || 2010 Icaros 1.3.3, || 2011 64bit - 19V 2.1A 2.3x0.7 -
|-
| EeePC 1015B 1215B || single C-30 C30 or dual C-50 C50 + Hudson M1 || {{N/A}} || SATA || {{partial|AMD 6250 (VESA only)}} || ATI SBx00 HD Audio || USB || {{No|AR8152 v2.0 atl1c}} || {{No|Broadcom BCM4313 [14e4 4727]}} || untested recently || 2011 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->Flare X101CH Cedarview || <!--Chipset-->N2600 + N10 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Intel GMA 6300 || <!--Audio--> || <!--USB--> || <!--Ethernet-->{{No|Atheros l1c 2.0}} || <!--Wireless-->{{unk|Atheros 9k AR9285}} || <!--Test Distro--> || <!--Comments-->2012 64bit
|-
| <!--Name-->Flare 1025CE 1225CE || <!--Chipset-->N2800 + N10 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{dunno|Intel GMA 3600}} || <!--Audio--> || <!--USB--> || <!--Ethernet-->{{No|Atheros l1c 2.0}} || <!--Wireless-->{{unk|Atheros 9k AR9285}} || <!--Test Distro--> || <!--Comments-->2012 64bit
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====Dell Netbooks====
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| Inspiron 910 Mini 9 PP39S Vostro A90 || GMA945 || {{Maybe|STEC 8G 16G 32G IDE PATA Parallel ATA miniPCIE SSD 50MM / 70MM very slow}} || {{N/A| }} || {{yes|Intel GMA 2D and 3D opengl1}} || {{yes|ALC268 HD Audio}} || {{yes|USB2 boots and works}} || {{yes|rtl8169 Realtek RTL8102E}} || {{no|Broadcom BCM4310 and 4312 swap with atheros 5k bx32}} || ICAROS 1.3 but Icaros 2.3 (pci issues), AROS One 2.6 and Tiny AROS (digiclock startup) mouse cursor vanishes || 2008 32bit - 9inch 1024x600 screen - 1 ddr2 sodimm slot max 2gig - 19v 1.58a - 0 boot disk select - cr2032 battery under laptop base cover, while mem 2GB max under base flap -
|-
| <!--Name-->Inspiron Mini 10 1010 PP19S || <!--Chipset-->Atom Z520 Z530 Intel US15W Poulsbo || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{maybe|Intel GMA 500 (VESA only)}} || <!--Audio-->{{Maybe|HD Audio ALC269 codec}} || <!--USB--> || <!--Ethernet-->{{yes|rtl8169 RTL8102E}} || <!--Wireless-->{{no|Intel or BCM4312}} || <!--Test Distro-->untested || <!--Comments-->2008 32bit - 10.10 inch 16:9, 1366 x 768 glossy - 28whr or 56wHr battery options -
|-
| [https://wiki.ubuntu.com/HardwareSupport/Machines/Netbooks#Dell%20Mini%2010v%20(Inspiron%201011) Mini 10v 1011] [http://wiki.debian.org/InstallingDebianOn/Dell/InspironMini10v ] || Intel 950 || {{N/A}} || {{maybe|ide legacy mode}} || {{yes|Intel GMA (2D)}} || {{maybe|HDAudio}} || {{yes|USB}} || {{yes|RTL8102E 8103E}} || {{no|Dell 1397 Wireless}} || untested || 2008 32bit -
|-
| <!--Name-->Inspiron Mini 1018 || <!--Chipset-->Intel Atom N455 || <!--IDE-->{{N/A}} || <!--SATA-->{{partial|IDE mode }} || <!--Gfx-->{{yes|Intel GMA 3150 (2D, no VGA output)}} || <!--Audio-->{{partial|HD Audio head phones only - speaker and micro phone do not work}} || <!--USB-->{{yes|USB 2.0}} || <!--Ethernet-->{{yes|RTL8169}} || <!--Wireless-->{{unk|RTL8188CE or AR928X}} || <!--Test Distro-->2011 Icaros 1.5.1, || <!--Comments-->2009 64bit - 1 DDR3 max 2gb -
|-
| Latitude 2100 || Intel Atom N270 N280 1.60Ghz GMA 945GME || {{N/A}} || {{Yes|set to IDE in bios as ahci not working || {{yes|Intel GMA 950 (2D and 3D with tunnel 98 and gearbox 84)}} || {{yes|HD Audio with ALC272 codec}} || {{yes|USB2.0}} || {{No|Broadcom BCM5764M}} || {{No|Intel 5100 or BCM4322 DW 1510 half height mini pcie use small Atheros 5k}} || <!--Test Distro-->2016 AspireOS 1.8, Icaros 2.1.1 and AROS One USB 2.4 || 2009 32bit ddr2 sodimm max 2G - [https://sites.google.com/site/arosaspireone/about-aspire-one Webcam and card reader not working] lcd cable over hinge an issue - f12 bios and boot -
|-
| <!--Name-->Latitude 2110 2120 || <!--Chipset-->N470 1.83Ghz, N455 1.6Ghz, N550 1.5Ghz || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|ATA mode in bios not ahci}} || <!--Gfx-->{{Yes|Intel 3150 2D only}} || <!--Audio-->{{Maybe|HD Audio with ALC269 codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No| }} || <!--Wireless-->{{No| swap for Atheros}} || <!--Test Distro-->2014 Icaros 2.3, || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - ddr2 sodimm
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====HP Compaq Netbooks====
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| HP Mini 2133 || VIA C7-M P4M900 / 8237 VX700 || {{N/A}} || {{maybe|SATA}} || {{maybe|VIA Chrome 9 HC (VESA only)}} || {{no|VT1708/A HD Audio}} || USB || {{no|Broadcom Corp NetXtreme BCM5788}} || {{no|Broadcom Corp BCM4312}} || untested || 2008 32bit -
|-
| HP mini 1000 Mi 2140 ks145ut || N270 + 945GM || {{N/A}} || SATA || <!--Gfx-->{{Yes|Intel GMA 950 (2D and opengl1 3d)}} || <!--Audio-->{{Yes|HD Audio (playback tested)}} || <!--USB-->{{Yes| }} || {{no|Marvell 88E8040}} || {{no|Broadcom Corp BCM4312 hard blocked}} || untested || 2009 32Bit - unable to change wifi card
|-
| <!--Name-->HP Mini 700 702 || <!--Chipset-->N270 + 945GSE || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Yes|Intel GMA 950 (2D)}} || <!--Audio-->{{Yes|HD Audio IDT 92HD75B (111d:7608, only playback tested)}} || <!--USB-->{{Yes| }} || <!--Ethernet--> || <!--Wireless-->{{No|Broadcom hard locked}} || <!--Test Distro-->untested || <!--Comments-->2009 32bit -
|-
| Compaq HP Mini 110 110-3112sa || 945GM Express || {{N/A}} || {{maybe|IDE mode}} || {{yes|Intel GMA 950 (2D)}} || {{yes|HD Audio IDT STAC 92xx}} || {{yes|USB 2.0}} || {{no|Atheros}} || {{no|Broadcom hard blocked Fn+F12}} || untested || 2009 32bit - unable to change wifi
|-
| HP Mini 200 210 || 945GM NM10 Express || {{N/A}} || SATA || Intel GMA 950 || {{Maybe|HDAudio with }} || USB || RTL8101E RTL8102E || {{no|Broadcom BCM4312 hard locked}} || untested || 2009 32bit -
|-
| HP Mini 311 DM1 (Quanta FP7) || N280 + ION LE || {{N/A}} || SATA || nVidia Geforce ION || {{maybe|HDAudio with }} || USB || eth || {{No|hard locked}} || untested || 2009 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|}
====Lenovo Netbooks====
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| IdeaPad S9 S9e(3G) S10 S10e(3G) || 945GME || {{N/A}} || {{maybe|SATA}} || {{yes|Intel GMA (2D)}} || {{maybe|ALC269 or SigmaTel HD Audio}} || {{yes|USB}} || {{no|Broadcom NetLink BCM5906M}} || {{no|Broadcom BCM4312 hard blocked}} || untested || 2009 32bit -
|-
| IdeaPad S12 || Intel Atom N270 + Nvidia ION LE MCP79 || {{N/A}} || SATA || nVidia C79 ION [Quadro FX 470M] || {{maybe|ALC269 HD Audio}} || USB || {{no|Broadcom}} || {{no|Intel locked down}} || 2012 Icaros 2.0, || 2009 32bit - does not boot - cause unknown
|-
| S10-2 || 945GME and N280 CPU || {{N/A}} || SATA || {{yes|Intel GMA (2D)}} || {{maybe|ALC269 HD Audio}} || {{yes}} || {{yes|rtl8169}} || {{no|Broadcom BCM4312 hard blocked}} || 2011 Icaros 1.3, || 2009 32bit -
|-
| S10-3 || NM410 and N450 CPU || {{N/A}} || SATA || {{yes|Intel GMA 3150 (2D)}} || {{maybe|HD Audio ALC269}} || {{yes|USB}} || {{yes|rtl8169}} || {{no|Atheros 9285 or Broadcom BCM4312 hard blocked}} || 2011 Icaros 1.3, || 2009 32bit -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====Samsung Netbooks====
[[#top|...to the top]]
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| [http://www.amigaworld.net/modules/newbb/viewtopic.php?post_id=616910&topic_id=33755&forum=28#616910 NC10] || 945GME || {{N/A}} || {{maybe|SATA}} || {{yes|Intel GMA 950 (2D)}} || {{partial|SigmaTel HD Audio (playback only)}} || {{yes|USB}} || {{maybe|rtl8169 works but not Marvell 88E8040 sky2}} || {{yes|AR5007EG}} || 2011 Icaros 1.4, || 2009 32bit - Nano silver on keyboard and lcd ribbon cable over hinge issues
|-
| [http://www.sammywiki.com/wiki/Samsung_NC20 NC20] || VIA VX800 || {{N/A}} || SATA || {{maybe|VIA Chrome9 (VESA only)}} || ALC272 GR (VT1708A) HD Audio || {{yes|USB}} || {{no|Marvell 88E8040}} || {{yes|Atheros AR5001}} || untested || 2009 32bit -
|-
| NP-N110 NP-N120 || 945GSE || {{N/A}} || SATA || {{yes|Intel GMA 950 (2D)}} || {{yes|ALC272 HD Audio or ALC6628}} || {{yes|USB}} || {{no|Marvell 88E8040}} || {{no|Realtek rtl8187}} || untested || 2009 32bit - Namuga 1.3M Webcam none
|-
| NP-N130 || 945GSE || {{N/A}} || {{yes|SATA in IDE mode}} || {{yes|Intel GMA 2D and opengl 1.x 99.5 tunnel 99 gearbox}} || {{yes|Intel HD with ALC272 ALC269 codec playback}} || {{yes|USB}} || {{yes|RTL 8169.device - 8101e 8102e}} || {{no|rtl 8192se rtl8187 too small an area to swap for atheros 5k}} || untested || 2009 32bit - 10.x inch 1024 x 600 - Namuga 1.3M Webcam - front slide power on and f2 setup bios - keyboard 17.7mm Pitch is made with Silver Nano (Anti-Bacterial) tech - small touchpad - 1 ddr2 2rx16 sodimm slot 2G max - 44Wh
|-
| <!--Name-->Go NP-N310 || <!--Chipset-->N270 + 945GME || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|IDE legacy mode}} || <!--Gfx-->{{yes|Intel GMA 950 (2D)}} || <!--Audio-->{{yes|HD Audio ALC6628}} || <!--USB-->{{yes}} || <!--Ethernet-->{{yes|rtl8169}} || <!--Wireless-->{{yes|Atheros5k}} || <!--Test Distro-->untested || <!--Opinion-->2010 32bit - N280 version changed specs
|-
| NP-N510 || N270 euro N280 uk + ION MCP79 || {{N/A}} || SATA || nVidia C79 ION [Quadro FX 470M] || HD Audio || USB || Marvell 88E8040 || Realtek 8192E || untested || 2010 32bit - does not boot - cause unknown
|-
| NP-N145 Plus || n450 + NM10 || {{N/A}} || {{maybe|IDE legacy mode}} || {{yes|Intel GMA 3150 (2D, no VGA output)}} || {{yes|Realtek HD Audio}} || {{yes|USB2.0}} || {{no|Marvell 88E8040}} || {{unk|Atheros AR9285}} || untested || 2010 some support but often the trackpad does not work
|-
| <!--Name-->NC110 Axx || <!--Chipset-->NM10 || <!--IDE-->{{N/A}} || <!--SATA-->Sata || <!--Gfx--> || <!--Audio-->HDAudio with ALC269 codec A9M22Q2 || <!--USB--> || <!--Ethernet-->{{Maybe|Rtl8169}} || <!--Wireless-->{{No|Broadcom BCM4313 or Atheros}} || <!--Test Distro-->untested || <!--Comments-->2011 64bit -
|-
| NF210 Pineview || n455 or n550 + N10 || {{N/A}} || {{maybe|SATA}} || {{maybe|Intel GMA 3150 (needs retesting, VESA works)}} || {{yes|HD Audio}} || {{yes|USB}} || {{no|Marvell 88E8040}} || Wireless || untested || 2011 64bit - some support
|-
| <!--Name-->NS310 NP-NS310-A03UK || <!--Chipset-->N570 with NM10 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{Maybe|use Vesa 2d }} || <!--Audio-->{{yes| ich7}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{yes|rtl8169 realtek 810xe }} || <!--Wireless-->{{no|bcm4313 }} || <!--Test Distro-->2022 AROS One 2.3, || <!--Comments-->2011 64bit Atom N570 or 1.5 GHz Intel Atom N550 dual core processor, 1 DDR3 sodimm slot memory, a 250GB hard drive, and a 10.1 inch, 1024 x 600 pixel 10.1" W7St - 2300mAh short life -
|-
| <!--Name-->[https://wiki.archlinux.org/index.php/Samsung_N150 N150] NB30 || <!--Chipset-->MN10 || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Yes|Intel GMA 3150 (2D)}} || <!--Audio-->{{No| }} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|Marvell 88E8040}} || <!--Wireless-->{{unk|Atheros AR9285 or Realtek 8192E}} || <!--Test Distro-->untested || <!--Comments-->2011 a little support
|-
| <!--Name-->[http://www.kruedewagen.de/wiki/index.php/Samsung_N220 N210 N220] N230 || <!--Chipset-->N450 + NM10 || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Yes|Intel GMA 3150 (2D)}} || <!--Audio-->HD Audio ALC269 || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|Marvell}} || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro-->untested || <!--Comments-->2011 64bit no sse4.1 or avx -
|-
| <!--Name-->NC110 Pxx Cedarview || <!--Chipset--> || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{dunno|Intel GMA 3600}} || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless-->{{No|Intel 6000g}} || <!--Test Distro-->untested || <!--Comments-->2012 64bit
|-
|}
====Toshiba Netbooks====
[[#top|...to the top]]
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->NB100 || <!--Chipset-->945GM || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|legacy}} || <!--Gfx-->{{yes|Intel GMA (2D)}} || <!--Audio-->{{yes|ALC262 HD Audio}} || <!--USB--> || <!--Ethernet-->{{yes|rtl8169}} || <!--Wireless-->{{yes|AR5001}} || <!--Test Distro-->untested || <!--Comments-->2009 32bit -
|-
| <!--Name-->Mini NB200 series NB205 || <!--Chipset-->N280 + GSE945 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|IDE legacy mode}}|| <!--Gfx-->{{yes|Intel GMA (2D)}} || <!--Audio-->ALC272 HD Audio || <!--USB-->{{yes}} || <!--Ethernet-->{{yes|RTL8169}} || <!--Wireless-->{{maybe|AR9285}} || <!--Test Distro-->untested || <!--Opinion-->2009 32bit -
|-
| <!--Name-->Mini 300 series NB305 || <!--Chipset-->N455 with NM10 || <!--IDE-->{{N/A}} || <!--SATA-->legacy || <!--Gfx-->Intel GMA 3150 (2D) || <!--Audio-->ALC272 HD Audio || <!--USB--> || <!--Ethernet-->{{maybe|RTL8101E RTL8102E}} || <!--Wireless-->{{maybe|AR9285}} || <!--Test Distro-->untested || <!--Opinion-->2010 64bit -
|-
| <!--Name-->Mini 500 series NB505 NB520 NB550-10v || <!--Chipset--> || <!--IDE-->{{N/A}} || <!--SATA-->legacy || <!--Gfx-->Intel GMA 3150 (2D) || <!--Audio-->HD Audio || <!--USB--> || <!--Ethernet-->{{maybe|RTL8101E RTL8102E}} || <!--Wireless-->{{no|Realtek 8176 RTL 8188CE}} || <!--Test Distro-->untested || <!--Opinion-->2011 64bit -
|-
| [http://www.notebookcheck.net/Review-Toshiba-NB550D-AMD-Fusion-Netbook.46551.0.html Mini NB550D 10G] 108 (c30) 109 (c50) || C-50 + M1 || {{N/A}} || SATA || AMD 6250 (VESA only) || HD Audio || USB || {{maybe|rtl8169 Realtek 8111e}} || {{maybe|Atheros 9k}} || untested || 2011 64bit Realtek SD card reader
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====Misc Netbooks====
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="30%" |Comments
|-
| Cammy's A1600 || GME945 || {{N/A}} || {{maybe}} || {{yes|Intel GMA950 (2D)}} || {{yes|HD Audio playback}} || {{yes}} || {{no|JMC 250/260}} || Wireless || 2010 Icaros 1.2.4, || 2009 32bit -
|-
| <!--Name-->Fujitsu Siemens Amilo Mini Ui 3520 || <!--Chipset-->Intel 945 || <!--ACPI--> || <!--SATA-->{{yes}} || <!--Gfx-->{{yes|Intel GMA (2D)}} || <!--Audio-->ALC269 HD Audio || <!--USB-->{{yes}} || <!--Ethernet-->{{yes|rtl8169}} || <!--Wireless-->{{yes|AR5001}} || <!--Test Distro-->untested || <!--Comments-->2009 32bit -
|-
| Guillemot Hercules eCafe EC-900 H60G-IA], Mitac MiStation and Pioneer Computers Dreambook Light U11 IL1 || Intel 945GME || {{N/A}} || {{maybe}} || {{yes|Intel GMA950 (2D)}} || {{Yes|HD Audio (playback only)}} || {{yes|uhci and ehci}} || {{yes|rtl8169}} || {{no|RAlink RT2860}} || untested || 2009 32bit -
|-
| <!--Name-->Hannspree Hannsnote SN10E2 24 48 || <!--Chipset-->N450 + NM10 || <!--IDE-->{{N/A}} || <!--SATA-->IDE legacy mode || <!--Gfx-->Pineview Intel (2D) || <!--Audio-->ALC HD Audio || <!--USB-->USB2.0 || <!--Ethernet-->Atheros l1c || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro-->untested || <!--Opinion-->2009 32bit -
|-
| MSI Wind U90/U100 || GME945 || {{N/A}} || {{maybe}} || {{yes|Intel GMA 950 (2D)}} || {{partial|HD Audio ALC888s (playback only?)}} || {{yes|uhci 1.1 and ehci 2.0}} || {{yes|rtl8169}} || {{no|RaLink RT2860 RT2700E or rtl8187se (u100x)}} || 2011 Icaros 1.3, || 2009 32bit -
|-
| Advent 4211 || 945GSE || {{N/A}} || {{maybe|IDE legacy mode}} || Intel GMA950 (2D) || ALC HD Audio || USB || rtl8169 || {{no|Intel 3945 ABG}} || untested || 2009 32bit - MSI U100 clone
|-
| <!--Name-->Hannspree Hannsnote SN10E1 || <!--Chipset-->N270 + GMA945 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|IDE legacy mode}} || <!--Gfx-->{{yes|Intel GMA 950 (2D)}} || <!--Audio-->ALC HD Audio || <!--USB-->USB2.0 || <!--Ethernet-->{{yes|Realtek RTL8101E RTL8102E RTL8169}} || <!--Wireless-->{{no|RaLink RT2860}} || <!--Test Distro-->untested || <!--Comments-->2009 32bit MSI U100 clone
|-
| <!--Name--> Vaio VGN-P11Z
| <!--Chipset-->
| <!--IDE--> {{dunno}}
| <!--SATA--> {{N/A}}
| <!--Gfx--> {{Partial|Intel (VESA only)}}
| <!--Audio--> {{no|HD Audio}}
| <!--USB--> {{yes|USB 2.0}}
| <!--Ethernet--> {{no|Marvell}}
| <!--Wireless--> {{unk|Atheros AR928X}}
| <!--Test Distro-->2012 Icaros 2.0.3
| <!--Comments-->2008 32bit Rarely boots!
|-
| <!--Name-->Sony VPC-W11S1E
| <!--Chipset-->N280 with 945GSE
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Yes| }}
| <!--Gfx-->{{yes|Intel GMA950 - hdmi}}
| <!--Audio-->HD Audio with realtek codec
| <!--USB-->3 USB2
| <!--Ethernet-->{{No|Atheros AR8132}}
| <!--Wireless-->{{unk|Atheros AR9285}}
| <!--Test Distro-->untested
| <!--Comments-->2009 32bit - 10.1" 1366 x 768 glossy - 3hr battery life -
|-
| <!--Name-->Archos 10 Netbook || <!--Chipset-->Atom with ICH7 NM10 945GSE || <!--IDE-->{{No }} || <!--SATA--> || <!--Gfx-->GMA 950 || <!--Audio-->HD Audio with ALC662 codec || <!--USB--> || <!--Ethernet-->Realtek 8139 || <!--Wireless--> || <!--Test Distro-->untested || <!--Comments-->2008 32bit -
|-
| <!--Name-->MSI Wind U135 DX MS-N014 || <!--Chipset-->Intel N455 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Yes|2D only accelerated}} || <!--Audio-->{{No|ALC662 rev 1}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{Maybe|RTL}} || <!--Wireless-->{{No|Atheros AR 9K}} || <!--Test Distro-->2015 Icaros 2.1, || <!--Comments-->2009 32bit - needs noacpi notls added to grub boot line to start up
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
===Desktop Systems===
[[#top|...to the top]]
{| class="wikitable sortable" width="100%"
| <!--OK-->{{Yes|'''Works well'''}} || <!--May work-->{{Maybe|'''Works a little'''}} || <!--Not working-->{{No|'''Does not work'''}} || <!--Not applicable-->{{N/A|'''N/A not applicable'''}}
|-
|}
====Acer====
{| class="wikitable sortable" width="100%"
! width="15%" |Name
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Integrated Gfx
! width="10%" |Audio
! width="10%" |USB
! width="10%" |Ethernet
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->[https://www.acer.com/ac/en/ID/content/support-product/486;-; Veriton X270 VTX270] Intel Core 2 Duo ED7400C or Pentium dual-core UD7600C with 630i
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->{{Maybe|Vesa 2d Nvidia 7100 VGA and HDMI connections}}
| <!--Audio-->{{Maybe| with realtek codec}}
| <!--USB-->{{Maybe|4 rear and 5 front}}
| <!--Ethernet-->{{Maybe| nForce}}
| <!--Test Distro-->Icaros 2.3 dvd
| <!--Comments-->2009 64bit capable but would not fully boot, DHCP address timeout too short and failed often. Put in a third party NIC, worked - 1 PCI Express x16 slot and a free PCI x1 slot - internal thin long psu with 12pin -
|-
| <!--Name--> Imedia S1710 with Intel Dual Core E5200
| <!--IDE--> {{Yes|SATA/AHCI}}
| <!--SATA--> {{Maybe|Native IDE}}
| <!--Gfx--> {{Yes|Nvidia nForce 7100}}
| <!--Audio--> {{Yes|Nvidia MCP73}}
| <!--USB--> {{Yes|USB 2.0}}
| <!--Ethernet--> {{No|NVIDIA MCP73 Ethernet}}
| <!--Test Distro--> Nightly Build 14-09-2023, AROS One 2.3
| <!--Comments--> 2009 64-bit - Boot over USB not working on front - 2 DDR2 dual channel max 8GB - DEL for entering Bios - F12 for boot menu - Bus weird, could be reason for Ethernet issue
|-
| <!--Name-->Acer Revo AR1600, R1600 AR3600, R3600 Packard Bell iMax Mini, ACER Veriton N260G N270G slim nettop subcompact
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Maybe|Native IDE mode, '''when it works''' boots}}
| <!--Gfx-->{{Maybe|Nvidia ION GeForce 9300M - nouveau 3d - '''when it boots''' 400 fps in shell'ed gearbox, 278 in tunnel, 42 in teapot}}
| <!--Audio-->{{Maybe|HD Audio with alc662 codec but nothing from HDMI audio}}
| <!--USB-->{{Maybe|Nvidia USB boot usb2 stick issues and slower with usb3 drives}}
| <!--Ethernet-->{{No|MCP79 nForce}}
| <!--Test Distro-->
| <!--Comments-->2009 64bit does not support AVX or SSE 4.1 Intel Atom 230 N280 - 20cm/8" high 1 ltr noisy fan - very often boot stuck around ehciInit - DEL setup F12 boot options - 2 ddr2 sodimm slots max 4GB - 19v special barrel size 5.5mm/1.7mm psu - 2 ddr2 sodimm slots max 4GB - atheros 5k AR5BXB63 wifi -
|-
| <!--Name-->Revo AR3610 R3610 3610 Atom 330 nettop subcompact dual core
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Maybe|Native IDE mode, '''when it works''' boots}}
| <!--Gfx-->{{Maybe|Nvidia ION GeForce 9400M LE MCP79MX - nouveau 3d - '''when it boots''' 400 fps in shell'ed gearbox, 278 in tunnel, 42 in teapot}}
| <!--Audio-->{{Yes|HD Audio with Realtek alc662 rev1 alc662-hd later ALC885 codec but nothing from HDMI audio}}
| <!--USB-->{{Maybe|Nvidia USB with 1% chance boot with usb2 sticks, more issues with usb3 drives}}
| <!--Ethernet-->{{No|RTL 8211CL MCP79 nForce}}
| <!--Test Distro-->{{no|AROS One 32bit 1.5, 1.6 and 2.4 usb and 64bit 1.2 USB}}
| <!--Comments-->2010 64bit does not support AVX or SSE 4.1 20cm/8" high 1 ltr noisy fan - boot often stuck at Kernel or around ehciInit, SATA, etc try ATA=off, non usb hub keyboard, - DEL bios setup, F12 BBS POPUP/drive boot - 2 ddr2 sodimm slots max 4GB - 19v barrel psu with smaller inner pin size 5.5mm/1.7mm - replace wifi RT3090 ver c (linux) with atheros 5k -
|-
| <!--Name-->Revo N281G
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Maybe| }}
| <!--Gfx-->{{maybe|GMA 2d for GMA 3100}}
| <!--Audio-->HD audio codec
| <!--USB-->USB2
| <!--Ethernet-->Realtek
| <!--Test Distro-->
| <!--Comments-->2011 64bit does not support AVX and SSE 4.1 Atom D425 - 19v 65w barrel psu thinner inner pin - 2 DDR3L single channel max 4GB - replace wifi RT3090 ver d with atheros 5k mini pci-e - 1lr or 1.5 ltr dvdrw case 209.89 mm, (D) 209.89 mm, (H) 35.35 mm - del enter bios -
|-
| <!--Name-->REVO AR3700 R3700 3700 Atom D525 dual core - ACER Veriton N282G
*one long beep followed by two short, bios damaged
*looping one long two short, a video card fault
*two short beeps... CMOS damaged
*got one long and one short beep... board error?
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Yes|IDE ready in Bios}}
| <!--Gfx-->{{Yes|Nvidia ION2 GT218 ION vga fine '''but''' hdmi fussy over display used - nouveau 2d & 3d gearbox 404 tunnel 292 teapot 48}}
| <!--Audio-->{{Yes|HDA Intel with Realtek ALC662 rev1 codec, head phones only but nothing from NVidia HDMI}}
| <!--USB-->{{Yes|Intel® NM10 Express (NM10 is basically an ICH7 with a die shrink and IDE removed) USB boots usb, installs usb, accesses ok}}
| <!--Ethernet-->{{Yes|Realtek 8169 8111g}}
| <!--Test Distro-->AROS one 32bit USB 1.5 and 1.6 and ArosOne 64bit usb 1.2
| <!--Comments-->2011 64bit does not support AVX or SSE 4.1 20cm/8" high 1 ltr noisy fan - early 2 ddr2 sodimm slots but later 2 ddr3 sodimm slots 1Rx8 max 4GB - 19v barrel psu thinner pin - replace wifi RT3090 ver d with atheros 5k mini pci-e - ACPI Suspend Mode = S1, S3 (STR), S4 - Power on PCIe
* Known Acer issue, Boot into bios, set bios to UEFI and reboot, set bios back to defaults and reboot, blank display, repair with reflash of 8 pin Winbond W25Q socketed bios chip with ch341a using 2011/09/19 P01.B0L, 2011/05/09 P01.A4, 2011/05/03 P01.A3L, 2010/12/27 P01.A2L, 2010/12/27 P01.A2 amiboot.rom -
|-
| <!--Name-->Revo 70 (RL70) with or without dvdrw
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->6320 or 6310
| <!--Audio-->HD audio ALC662-VCO-GR codec
| <!--USB-->USB2, 1.1 Hudson D1
| <!--Ethernet-->Realtek 8111E
| <!--Test Distro-->
| <!--Comments-->2012 64bit does not support AVX or SSE 4.1 AMD E450 1.65GHz - 19v 65w barrel psu thinner inner pin - 2 DDR3L single channel max 4GB - replace wifi RT3090 ver d with atheros 5k mini pci-e - 1lr or 1.5 ltr dvdrw case 209.89 mm, (D) 209.89 mm, (H) 35.35 mm - del enter bios -
|-
|}
====Asus====
{| class="wikitable sortable" width="100%"
! width="15%" |Name
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Integrated Gfx
! width="10%" |Audio
! width="10%" |USB
! width="10%" |Ethernet
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->EEEbox B202
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Intel GMA950
| <!--Audio-->Intel Azalia HDaudio with Realtek ALC662 or ALC888-GR CODEC
| <!--USB-->
| <!--Ethernet-->Realtek 8111 or JM250
| <!--Test Distro-->Icaros
| <!--Comments-->internal 3 types of wifi chipset not supported
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
|}
====Dell====
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Integrated Gfx
! width="10%" |Audio
! width="10%" |USB
! width="10%" |Ethernet
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name--> Precision 340
| <!--IDE--> {{yes}}
| <!--SATA--> {{n/a}}
| <!--Gfx--> {{n/a}}
| <!--Audio--> {{yes|Intel AC97}}
| <!--USB--> {{yes|USB 1.1 (UHCI)}}
| <!--Ethernet--> {{yes|3Com}}
| <!--Test Distro--> Nightly Build 2014 09-27
| <!--Comments-->
|-
| <!--Name-->Dimension 2400
| <!--IDE-->{{Yes}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->{{Yes|Intel 82845GL Brookdale G/GE (VESA 640x480 by 16)}}
| <!--Audio-->{{Unk|AC97 with ADI codec}}
| <!--USB-->{{Yes|UHCI EHCI}}
| <!--Ethernet-->{{Maybe|Broadcom 440x 4401}}
| <!--Test Distro-->[http://eab.abime.net/showthread.php?p=832495 Icaros 1.4]
| <!--Comments-->Graphics chipset is capable of higher resolution.
|-
| <!--Name-->Dimension 4600
| <!--IDE-->{{yes}}
| <!--SATA-->{{dunno}}
| <!--Gfx-->{{partial|Intel Extreme (VESA only)}}
| <!--Audio-->{{yes|Intel AC97 (use rear black port)}}
| <!--USB-->{{Yes|UHCI/EHCI}}
| <!--Ethernet-->{{yes|Intel PRO/100}}
| <!--Test Distro-->Icaros 1.5.2
| <!--Comments-->
|-
| <!--Name--> Optiplex 170L
| <!--IDE--> {{yes|IDE}}
| <!--SATA--> {{partial|IDE mode}}
| <!--Gfx--> {{partial|Intel Extreme (VESA only)}}
| <!--Audio--> {{no|Intel AC97}}
| <!--USB--> {{yes|USB 2.0}}
| <!--Ethernet--> {{yes|Intel PRO/100}}
| <!--Test Distro--> {{dunno}}
| <!--Comments-->
|-
| <!--Name--> Optiplex GX260
| <!--IDE--> {{yes|IDE}}
| <!--SATA--> {{N/A}}
| <!--Gfx--> {{partial|Intel Extreme (VESA only)}}
| <!--Audio--> {{yes|Intel AC97}}
| <!--USB--> {{yes|USB 2.0}}
| <!--Ethernet--> {{no|Intel PRO/1000}}
| <!--Test Distro--> Nightly Build 2014 09-27
| <!--Comments-->
|-
| Optiplex GX270
| {{yes|Working}}
| {{partial|IDE mode}}
| {{partial|Intel Extreme (VESA only)}}
| {{yes|Intel AC97}}
| {{yes|USB 2.0}}
| {{no|Intel PRO/1000}}
| Icaros 1.5.2
| <!--Comments-->
|-
| Optiplex GX280
| {{yes|Working}}
| {{partial|IDE mode}}
| {{maybe|Intel GMA (only VESA tested)}}
| {{yes|Intel AC97}}
| {{yes|USB 2.0}}
| {{no|Broadcom}}
| Nightly Build 2014 09-27
| <!--Comments-->
|-
| <!--Name--> Optiplex GX520
| <!--IDE--> {{yes|IDE}}
| <!--SATA--> {{partial|IDE mode}}
| <!--Gfx--> {{yes|Intel GMA}}
| <!--Audio--> {{partial|Intel AC97 (no line-out)}}
| <!--USB--> {{yes|USB 2.0}}
| <!--Ethernet--> {{no|Broadcom}}
| <!--Test Distro--> {{dunno}}
| <!--Comments-->
|-
| <!--Name--> Optiplex 745
| <!--IDE--> {{N/A}}
| <!--SATA--> {{partial|IDE mode}}
| <!--Gfx--> {{partial|Intel GMA (VESA only)}}
| <!--Audio--> {{partial|HD Audio (no volume control)}}
| <!--USB--> {{partial|Only keyboard mouse (legacy mode)}}
| <!--Ethernet--> {{no|Broadcom}}
| <!--Test Distro--> {{dunno}}
| <!--Comments-->
|-
| <!--Name--> Optiplex 755
| <!--IDE--> {{N/A}}
| <!--SATA--> {{partial|IDE mode}}
| <!--Gfx--> {{partial|Intel GMA (VESA only)}}
| <!--Audio--> {{no|HD Audio}}
| <!--USB--> {{yes|USB 2.0}}
| <!--Ethernet--> {{no|Intel Gigabit}}
| <!--Test Distro--> Icaros 1.5.1
| <!--Comments--> Around 25 second delay in booting from USB
|-
| <!--Name--> Optiplex 990
| <!--IDE--> {{N/A}}
| <!--SATA--> {{partial|non-RAID mode}}
| <!--Gfx--> {{partial|Intel HD (VESA only)}}
| <!--Audio-->{{no|HD Audio}}
| <!--USB--> {{yes|USB 2.0}}
| <!--Ethernet--> {{no|Intel Gigabit}}
| <!--Test Distro--> Nightly Build 2014 09-27
| <!--Comments-->
|-
| <!--Name-->Optiplex 360
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->{{maybe|ordinary boot gives VGA mode only - VESA}}
| <!--Audio-->{{no|HD Audio (Analog Devices ID 194a)}}
| <!--USB-->
| <!--Ethernet-->{{no|Broadcom}}
| <!--Test Distro-->Aspire Xenon
| <!--Comments-->poor support
|-
| <!--Name-->Dell Wyse Vx0 (V90 V30), Vx0L (V10L V90L), Vx0LE (V30LE V90LE) from VIA C7 800GHz to Eden 1.2GHz
| <!--IDE-->{{Maybe| }}
| <!--SATA-->{{N/A| }}
| <!--Gfx-->{{Maybe|Vesa 2d for S3 UniChrome Pro}}
| <!--Audio-->{{No|AC97 VIA VT8233A with ?? codec}}
| <!--USB-->{{yes|2 back and 1 front USB2}}
| <!--Ethernet-->{{Maybe|early models work but later VT6102-3 do not}}
| <!--Test Distro-->AROS One 2.2
| <!--Comments-->2006 to 2009 32bit - 12V 4A Coax 5.5mm/2.1mm - 1 sodimm DDR 333MHz SO-DIMM later DDR2 - early V90s do seem to have a reliability problem -
|-
| <!--Name-->[https://www.poppedinmyhead.com/2021/01/wyse-cx0-thin-client-notes-experiences.html Dell Wyse Cx0] C00LE, C10LE, C30LE, C50LE, C90LE, C90LE7, C90LEW VIA C7 Eden 1GHz
| <!--IDE-->{{Maybe| }}
| <!--SATA-->{{N/A| }}
| <!--Gfx-->{{Maybe|Vesa 2d VX855 VX875 Chrome 9}}
| <!--Audio-->{{Maybe|some VIA VT8237A VT8251 HDA with ?? codec work}}
| <!--USB-->{{yes|4 outside 2 inside USB2}}
| <!--Ethernet-->{{No|VT6120 VT6121 VT6122 Gigabit}}
| <!--Test Distro-->Icaros 2.3
| <!--Comments-->2010 to 2013 32bit - [https://ae.amigalife.org/index.php?topic=815.0 boots and works] - 12V 2.5A Coax 5.5mm/2.1mm - 1 sodimm ddr2 -
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->Dell RxxL Rx0L thin client
*R00L Cloud PC of Wyse WSM
*R10L Wyse Thin OS
*R50L Suse Linux Enterprise
*R90L Win XP Embedded
*R90LW Win Embedded Standard 2009
*R90L7 Win Embedded Standard 7
| <!--IDE-->128Mb IDE or 1GB
| <!--SATA-->{{Maybe|SATA Hyperdisk}}
| <!--Gfx-->AMD 690E RS690M Radeon Xpress 1200 1250 1270
| <!--Audio-->
| <!--USB-->4 usb2
| <!--Ethernet-->Realtek
| <!--Test Distro-->
| <!--Comments-->2009 64bit AMD Sempron™ 210U SMG210UOAX3DVE 1.5GHz SB600, up to 4GB single slot 240-pin DDR2 DIMM, 19v barrel psu, DEL key bios - Late 2012 2 data sockets added but only CN18 be used with two white sockets (CN13 & CN15) can used to power the SATA device "4-pin Micro JST 1.25mm
|-
| <!--Name-->Optiplex 390 sff small form factor - mt mini tower desktop - dt full desktop
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->{{maybe|1 pci-e}}
| <!--Audio-->{{maybe|HD Audio}}
| <!--USB-->
| <!--Ethernet-->{{maybe|realtek}}
| <!--Test Distro-->aros one 1.6 usb
| <!--Comments-->2011 64bit dual i3 2xxx - kettle iec plug psu cable - add nvidia gf218 gfx - error code 3 mobo or cpu -
|-
| <!--Name-->Optiplex 3010 sff small form factor
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->{{maybe|1 pci-e}}
| <!--Audio-->{{maybe|HD Audio}}
| <!--USB-->{{maybe| }}
| <!--Ethernet-->{{no|Broadcom 57XX}}
| <!--Test Distro-->
| <!--Comments-->2012 64bit dual i3 3xxx - kettle iec plug psu cable -
|-
| <!--Name-->Optiplex 7010 sff small form factor
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->{{maybe|1 pci-e}}
| <!--Audio-->{{maybe|HD Audio}}
| <!--USB-->
| <!--Ethernet-->{{no|Broadcom or Intel 825xx}}
| <!--Test Distro-->
| <!--Comments-->2012 64bit dual i3 3xxx Q77 - kettle iec plug psu cable - add pci-e ethernet and nvidia gf218 gfx -
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->Dell Wyse 5010 thin client ThinOS D class (D10D D00D D00DX, Dx0D), PCoIP (D10DP) or D90D7, 5040
*username: Administrator, admin, [blank]
*password: Fireport, DellCCCvdi, rappot, Wyse#123, Administrator, administrator, r@p8p0r+
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Yes|IDE mode may need 30cm ext cable as small area for half-slim sata ssd - decased new ssd??}}
| <!--Gfx-->{{Maybe|Vesa 2d 1400x1050 HD6250E IGP by using DVI to hdmi cable and 1 display port, no hdmi port}}
| <!--Audio-->{{Maybe|HD 6.34 audio chipset detected but codec alc269 working from one case speaker - none if v6.29 used}}
| <!--USB-->{{Yes|most 5010 have 4 USB 2.0 but D90Q7 has 2 USB3 instead}}
| <!--Ethernet-->{{Yes|rtl8169 Realtek 8168 8169 - rev 1.?? 8111? - rev 1.91 8111E}}
| <!--Test Distro-->Icaros 2.3
| <!--Comments-->2011 64bit no SSE4.1 or AVX slow AMD G-T44R 1.2Ghz later G-T48E 1.4Ghz Dual Bobcat Brazos BGA413 - Del for BIOS - p key to select boot with noacpi - single DDR3 sodimm slot max 4Gb, (8Gb hynix 2rx8 ddr3l)? (remove small board to upgrade) - passive no fan - 15cm/6" small 1ltr case and lack of expansion options - PA16 19v barrel psu Coax 5.5mm/2.5mm
|-
| <!--Name-->Dell Wyse 7010 DTS thin client (Z class Zx0D)
*2011 Zx0 Z90D7 2GF/2GR
*2013 Z10D
*2014 Z50D 2GF/2GR
*2012 Cisco VXC 6000 CVXC-6215-K9 white
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Yes|Bios set Sata mode to IDE mode and grub boot add 'noacpi' for half slim sata2 ssd or/with 50cm sata ext cable}}
| <!--Gfx-->{{Maybe|VESA 2d HD6310 HD6320 Terascale 2 through DVI and sometimes DP 1.1a - no 3d support r600 and no hdmi port}}
| <!--Audio-->{{Maybe|HD Audio 6.34 detected but ALC269VB codec works on the one case speaker only}}
| <!--USB-->{{Yes|2.0 works but NEC 720200 3.0 not working}}
| <!--Ethernet-->{{Yes|rtl8169 Realtek 8169 8111e 8111F}}
| <!--Test Distro-->Icaros 2.3 and Aros One 32bit 1.5, 1.9 and 2.3 usb and 64bit 1.2
| <!--Comments-->2011 64bit does not support AVX or SSE 4.1 slow cores AMD G-t52R 1.5GHz later G-T56N 1.65 GHz Dual with A50M FCH - 20cm/8" high 1.5ltr larger fanless black plastic case with metal ventilated box inside - 2 desktop DIMM slots max 16GB - miniPCIe CN14 - PA-16 19v external psu Coax 5.5mm/2.5mm - 2 40cm SMA female WiFi Antenna to IPEX IPX u.fl Ufl Cable pigtail needed - does not like uefi boot devices -
|-
| <!--Name-->Wyse 7020 Thin Client
* 2013 Quad-core AMD GX-420CA 2.0 GHz (25W) -
* 2018 Zx0Q Quad-core AMD GX-415GA 1.5 GHz (15W) with Quad display 3dp and 1dvi
| <!--IDE-->{{N/A}}
| <!--SATA-->1 sata port
| <!--Gfx-->{{Maybe|Vesa 2d only for AMD Radeon HD8400E radeonsi (dual display) or AMD Radeon HD 8330E IGP with AMD Radeon E6240 Seymour E6460 (quad display), no hdmi ports}}
| <!--Audio-->
| <!--USB-->4 x USB2.0 works but 2 USB3.0
| <!--Ethernet-->rtl8169 Realtek 8169 8111
| <!--Test Distro-->
| <!--Comments-->2013 64bit does support AVX or SSE 4.1 quad eKabini Jaguar cores - two SODIMM sockets layered in centre of mobo DDR3L RAM - Coax 5.5mm/2.5mm ac psu 9mm plug is too short but 14mm length is fine - 15cm/6" high smaller 1ltr case and lack of expansion options -
|-
| <!--Name-->Dell Wyse Dx0Q (5020) D90Q8 NJXG4 AMD G-Series
| <!--IDE-->{{N/A}}
| <!--SATA-->1 sata port
| <!--Gfx-->HD 8330E
| <!--Audio--> with Realtek codec
| <!--USB-->4 x USB2.0 works but 2 USB3.0
| <!--Ethernet-->rtl8169 Realtek 8169 8111
| <!--Test Distro-->
| <!--Comments-->2014 64bit does support AVX or SSE 4.1 Quad-core AMD GX-415GA 1.5 GHz - 2 layered near edge of mobo 204-pin DDR3L SODIMM (bottom one tricky to insert) - 19v Coax 5.5mm/2.5mm - passive no fan - 15cm/6" high smaller 1ltr case and lack of expansion options
|-
| <!--Name-->Dell Wyse 5060 N07D thin client
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Yes|IDE bios mode for sata2 port}}
| <!--Gfx-->{{maybe|Vesa 2d - AMD R5E GCN2 IGP Sea Islands thru dp1 with an hdmi adapter no output thru dp2 - no hdmi dvi ports}}
| <!--Audio-->{{maybe|HD Audio with Realtek ALC231 codec head phones only}}
| <!--USB-->{{Maybe|4 x USB2.0 works but 2 USB3.0}}
| <!--Ethernet-->{{yes|rtl8169 realtek 8169 8111h}}
| <!--Test Distro-->AROS One 1.6 usb
| <!--Comments-->2017 64bit does support AVX or SSE 4.1 quad GX-424CC 19.5v external psu - CN-0Y62H1 mobo with 2 layered ddr3l 16Gb max sodimm slots at edge of mobo, bottom 0 one blocking - passive no fan so quiet - 15cm/6" high smaller 1ltr case and lack of expansion options -
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
|}
====Fujitsu Siemens====
{| class="wikitable sortable" width="100%"
! width="15%" |Name
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Integrated Gfx
! width="10%" |Audio
! width="10%" |USB
! width="10%" |Ethernet
! width="15%" |Test Distro
! width="20%" |Comments
|-
| Scenic [http://uk.ts.fujitsu.com/rl/servicesupport/techsupport/ProfessionalPC/Scenic/ScenicE/ScenicE.htm E600] (compact desktop)
|
|
| {{partial|VESA only}}
| {{yes|AC97}}
|
| {{no|Intel PRO/1000}}
| {{dunno}}
| Nice small, silent PC with good AROS support.
|-
| Scenic T i845
| {{dunno}}
| {{n/a}}
| {{n/a}}
| {{dunno|Intel AC97}}
| {{dunno|UHCI}}
| {{dunno|Intel PRO/100}}
| Icaros 1.5.2
| AROS does not boot
|-
| <!--Name-->Futro S200 S210 S220 and later S300
| <!--IDE-->{{yes| compactflash CF card max ??}}
| <!--SATA-->
| <!--Gfx-->{{maybe|VESA Silicon Integrated Systems [SiS] 315PRO PCI/AGP }}
| <!--Audio-->{{unk|AC97 via }}
| <!--USB-->{{unk|via uhci and ehci}}
| <!--Ethernet-->{{unk|via VT6102 [Rhine-II] (rev 74) }}
| <!--Test Distro-->
| <!--Comments-->2008 32bit - TR5670 Rev 1.4 mother with Transmeta TM5800 cpu - pci socket - single SODIMM socket for DDR memory PC2700S max 512MB -
|-
| <!--Name-->Futro S400
| <!--IDE-->{{yes| but swap with compactflash CF card already with AROS installed}}
| <!--SATA-->
| <!--Gfx-->{{maybe|VESA Silicon Integrated Systems [SiS] SiS741CX }}
| <!--Audio-->{{unk|AC97 SiS7018}}
| <!--USB-->{{unk|sis uhci and ehci}}
| <!--Ethernet-->{{unk|rtl8169 }}
| <!--Test Distro-->
| <!--Comments-->2008 32bit - AMD Geode NX1500 1GHz gets hot - SiS 963L / SiS 741CX chipset - 12V 4.2A 4-pin (DP-003-R) psu - single SODIMM socket for DDR PC2700S max 1G - large case 246 x 48 x 177cms torx screws - pci socket -
|-
| <!--Name-->FUJITSU Futro S700 and S900 Thin Client (based on mini-ITX motherboard D3003-A12, D3003-C1 lesser variant of [https://www.parkytowers.me.uk/thin/Futro/s900/TechNotes_V3.1_Mini-ITX_D3003-S.pdf D3003-S])
*G-T56N 1.65GHz
*G-T40N 1.00GHz
*G-T44R 1.20GHz
| <!--IDE-->{{N/A}}
| <!--SATA-->1 sata data socket but mSata 18+8pins 1GB-16GB
| <!--Gfx-->Radeon HD 6320, HD 6250, HD 6290 dvi or displayport (DP runs higher)
| <!--Audio-->HDAudio
| <!--USB-->{{yes|two USB2 front sockets and four on the rear}}
| <!--Ethernet-->{{Maybe|Realtek}}
| <!--Test Distro-->
| <!--Comments-->2011 64bit AMD slow atom-like and fanless - 20V 2A psu 5.5mm/2.1mm coax (S900) - 2 DDR3L SODIMM sockets max 8GB tricky to run 1333 MHz on the Futro S900 - proprietary X2 PCI-e - 1 PCI socket but need a right-angle adaptor -
|-
| <!--Name-->esprimo p420 e85 desktop case
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Maybe|IDE mode}}
| <!--Gfx-->Intel 4600 or old Geforce in pci-e slot
| <!--Audio-->HDAudio realtek alc671 codec
| <!--USB-->USB3
| <!--Ethernet-->rtl8169 8111
| <!--Test Distro-->
| <!--Comments-->2013 64bit - 2 ddr3 dimm slots - 16 pin special psu -
|-
| <!--Name-->esprimo E420 e85+ SFF case
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Maybe|IDE mode}}
| <!--Gfx-->Intel 4600 or low profile pci-e card
| <!--Audio-->HDAudio realtek alc671 codec
| <!--USB-->USB3
| <!--Ethernet-->rtl8169 8111G
| <!--Test Distro-->
| <!--Comments-->2013 64bit - 2 ddr3 dimm slots - 16ish pin special psu - hd under front metal bracket, take front cover off first with 3 tabs - 3 slim pci-e slots -
|-
| <!--Name-->Futro S520 AMD dual 1.0Ghz codenamed "Steppe Eagle"
* GX-210HA @ 1.0GHz
* GX-212ZC @ 1.2GHz
| <!--IDE-->{{N/A}}
| <!--SATA-->no sata - 4Gb or 16Gb flash memory soldered to the board
| <!--Gfx-->AMD Radeon HD 8210E (GX210HA) or AMD Radeon R1E (GX212ZC)
| <!--Audio-->HDAudio
| <!--USB-->
| <!--Ethernet-->rtl8169 rtl8111e
| <!--Test Distro-->
| <!--Comments-->2016 64bit does support AVX or SSE 4.1 - smaller than ITX 160mm x 160mm Fujitsu D3314-A11 - 19V 3.4A PSU standard 5.5mm/2.1mm coax plug - 1 ddr3 sodimm slot -
|-
| <!--Name-->Fujitsu Futro S720 ThinClient D3313-B13 D3313-F
*2014 64bit AMD GX-217GA 1.65GHz VFY:S0720P8009FR VFY:S0720P8008DE VFY:S0720P4009GB
*2015 64bit AMD GX-222GC 2.20GHz VFY:S0720P702BDE VFY:S0720P702BFR
all begin VFY:S0720P and end two digit country code
| <!--IDE--> {{N/A|}}
| <!--SATA--> {{Yes|up to 2 Sata-cable-connector with space in casing so normal SSD/HDD over Sata was running very well on AHCI and IDE-Mode and 2242 mSata}}
| <!--Gfx--> {{Maybe|use VESA 2D for AMD Radeon HD 8280E IGP ( islands) or later R5E IGP ( islands)}}
| <!--Audio--> {{yes|HDAudio ALC671 codec partially working, external audio speaker}}
| <!--USB--> {{yes|4 rear USB 2.0 but not front 2 USB 3.1}}
| <!--Ethernet-->{{yes|rtl8169 Realtek 8169}}
| <!--Test Distro-->AROS One USB 2.0
| <!--Comments-->2014 64bit supports AVX and SSE 4.1 - 1 ddr3 Sodimm slot max 8Gb - 19V-20V 2A 5.5mm/2.5mm coax - D3313-B13 stripped down Mini-ITX mobo D3313-S1/-S2/-S3 (eKabini) D3313-S4/-S5/-S6 - SATA data socket can be located under the fins of the cpu heatsink is fanless - mPCIe socket for wireless card -
|-
| <!--Name-->Fujitsu FUTRO S920 D3313-E D3313-G
*2016 AMD GX-222GC SOC 2.20GHz Dual
*2017 AMD G-Series GX-415GA (1.50 GHz, Quad Core, 2 MB, AMD Radeon™ HD 8330E)
*2017 AMD G-Series GX-424CC 2.40 GHz Quad
| <!--IDE--> {{N/A}}
| <!--SATA--> {{yes|2242 mSata and 1 Sata-cable-connector with space in casing so normal SSD/HDD over Sata possible}}
| <!--Gfx--> {{yes|use VESA 2D for Radeon R5E GCN2/3 IGP}}
| <!--Audio--> {{yes|HDAudio ALC671 codec partially working}}
| <!--USB--> {{yes|4 rear USB 2.0, front 2 USB 3.1 downgradable to 2.0 in BIOS setting}}
| <!--Ethernet--> {{yes|rtl8169 Realtek 8169}}
| <!--Test Distro--> AROS One USB 2.4
| <!--Comments-->2016 64bit does support AVX or SSE 4.1 - 2 so dimm slot with max of 8 GB - 19v barrel psu 5.5mm 2.5mm - SATA data socket can be located under the fins of the heatsink - mPCIe a e keyed socket for wireless card - propetary X2 connector with official raizer to X1 connector - almost silent background noise, not affecting sound quality in any way
|-
| <!--Name-->Fujitsu Thin Client Futro S5011 S7011
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->{{maybe|Vesa 2D for AMD Vega 3 on 2 dp 1.4}}
| <!--Audio-->{{No|HDAudio with ALC623 codec}}
| <!--USB-->{{maybe|USB3 USB 3.2 Gen 2 front and 3 usb2 rear }}
| <!--Ethernet-->rtl8169 Realtek RTL8111H
| <!--Test Distro-->
| <!--Comments-->2019 64bit - AMD Ryzen Dual Core R1305G or R1505G 1ltr case - 2 ddr4 sodimm slots - TPM 2.0 - 19v 3.42amp round coax or usb-c 20c 3.25a external psu -
|-
| <!--Name-->Fujitsu FUTRO S9011 Thin Client VFY:S9011THU1EIN || <!--IDE-->{{N/A}} || <!--SATA-->NVMe || <!--Gfx-->{{maybe|Vesa 2D for AMD Vega 3 on 2 dp 1.4}} || <!--Audio-->{{No|HDAudio with ALC623 codec}} || <!--USB-->{{maybe|USB3 USB 3.2 Gen 2 front and 3 usb2 rear }} || <!--Ethernet-->rtl8169 Realtek RTL8111H || <!--Test Distro--> || <!--Comments-->2020 64bit Ryzen Embedded R1606G - 2 ddr4 sodimm slots - TPM 2.0 -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
|}
====HP Compaq====
{| class="wikitable sortable" width="100%"
! width="15%" |Name
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Integrated Gfx
! width="10%" |Audio
! width="10%" |USB
! width="10%" |Ethernet
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->Compaq presario 7360
| <!--IDE-->{{yes|Working}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->{{Maybe|VESA}}
| <!--Audio-->{{Maybe|AC97 via}}
| <!--USB-->{{Maybe|issues}}
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->Compaq EP Series 6400/10
| <!--IDE--> {{yes|IDE}}
| <!--SATA--> {{N/A}}
| <!--Gfx--> {{N/A}}
| <!--Audio--> {{no|ISA}}
| <!--USB--> {{yes|USB 1.1}}
| <!--Ethernet--> {{N/A}}
| <!--Test Distro--> {{dunno}}
| <!--Comments-->
|-
| <!--Name-->Compaq Evo D510
| {{yes|Working}}
| {{N/A}}
| {{partial|Intel Extreme (VESA only)}}
| {{yes|AC97}}
| {{yes|Working}}
| {{yes|Intel PRO/100}}
| Icaros 1.5
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->Compaq DX2000 MT
| <!--IDE-->{{yes}}
| <!--SATA-->{{maybe}}
| <!--Gfx-->{{maybe|Intel Extreme 2 (VESA only)}}
| <!--Audio-->{{no|detects AC97 but no support for ADI AD1888 codec}}
| <!--USB-->{{yes|OHCI/EHCI }}
| <!--Ethernet-->{{no|Intel 82526EZ e1000}}
| <!--Test Distro--> Icaros 1.51
| <!--Comments-->boots ok but no audio
|-
| <!--Name-->Compaq DX 2200
| <!--IDE-->{{yes}}
| <!--SATA-->{{maybe}}
| <!--Gfx-->{{maybe|RC410 [Radeon Xpress 200] (VESA only)}}
| <!--Audio-->{{dunno|HD Audio}}
| <!--USB-->{{maybe|OHCI/EHCI issues }}
| <!--Ethernet-->{{N/A}}
| <!--Test Distro--> {{dunno}}
| <!--Comments-->issues
|-
| <!--Name--> d230
| <!--IDE--> {{yes|UDMA}}
| <!--SATA--> {{N/A}}
| <!--Gfx--> {{partial|Intel Extreme (VESA only)}}
| <!--Audio--> {{partial|Intel AC97 (speaker and headphones only, no line-out)}}
| <!--USB--> {{yes|USB}}
| <!--Ethernet--> {{Maybe|Broadcom BCM4401}}
| <!--Test Distro--> Icaros 1.4.5
| <!--Comments-->
|-
| <!--Name-->HP Pavilion a220n || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|VESA 1024x768 on nVidia GF4 MX with 64MB shared video ram}} || <!--Audio-->{{Yes|Realtek ALC650 AC'97 comp.}} || <!--USB-->{{Yes|USB 2.0}} || <!--Ethernet-->{{Yes|Realtek 8201BL 10/100 LAN}} || <!--Test Distro-->AROS One 2.5|| <!--Comments-->2004 32bit athlon xp 2600+ Socket 462 / Socket A - 2 dimm ddr pc2700 -
|-
| <!--Name-->t500
| <!--IDE-->{{Yes}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->{{Yes|FX5200 (2D; 3D with older driver)}}
| <!--Audio-->{{Yes|AC97 ICH4 ALC658D}}
| <!--USB-->{{Yes|UHCI/EHCI}}
| <!--Ethernet-->{{Yes|RTL 8101L 8139}}
| <!--Test Distro-->Nightly Build 2012-09-22
| <!--Comments-->2004
|-
| <!--Name-->DC7700
| <!--IDE-->{{Yes}}
| <!--SATA-->{{Yes}}
| <!--Gfx-->{{Yes|GMA 2D}}
| <!--Audio-->{{Yes| ICH8}}
| <!--USB-->{{Yes}}
| <!--Ethernet-->{{No|82566DM e1000e}}
| <!--Test Distro-->Nightly Build 2013-??-??
| <!--Comments-->2006 Some support at low cost
|-
| <!--Name-->HP dc 7600 CMT
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->{{Yes|Intel Graphics Media Accelerator 950}}
| <!--Audio-->{{Yes|Realtek ACL 260}}
| <!--USB-->{{Yes|USB 2.0}}
| <!--Ethernet-->{{No|Intel PRO/1000 GT}}
| <!--Test Distro-->
| <!--Comments-->2007
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->HP t5000 thin client series t5500 t5510 t5515 PC538A or PC542A t5700 t5710 Transmeta Crusoe Code Morphing TM 5400 5600 800Mhz
| <!--IDE-->128mb to 512MB
| <!--SATA-->{{N/A}}
| <!--Gfx-->Ati Radeon 7000M
| <!--Audio-->VIA with codec
| <!--USB-->{{No|Issues}}
| <!--Ethernet-->VIA Rhine 2
| <!--Test Distro-->
| <!--Comments-->2006 32bit - ddr max 1GB - F10 setup - all t51xx and some t55xx units will not include a SODIMM slot -
|-
| <!--Name-->HP t5000 thin client series CN700
*HSTNC-002L-TC t5135, t5530
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Vesa 2d 128Mb Via S3 32-bit colour
| <!--Audio-->AC97
| <!--USB-->
| <!--Ethernet-->VIA VT6102 VT6103 [Rhine-II] (rev 78)
| <!--Test Distro-->
| <!--Comments-->2007 32bit t5135 appears identical to the t5530 except the CPU VIA Esther 400 MHz - RAM 64Mb (? max) - 8 x USB2.0 - 12V 3.33A Coax 5.5mm/2.1mm
|-
| <!--Name-->HP t5720, t5725 HSTNC-001L-TC
| <!--IDE-->{{unk| }}
| <!--SATA-->{{N/A}}
| <!--Gfx-->VESA 2d SiS741GX 2048 x 1536 32-bit colour
| <!--Audio-->AC97 SiS SiS7012 AC'97
| <!--USB-->6 x USB2.0
| <!--Ethernet-->VIA VT6102 VT6103 [Rhine-II] (rev 8d)
| <!--Test Distro-->
| <!--Comments-->2007 32bit AMD Geode NX1500 1GHz socketed - RAM 512MB or 1GB, 256MB, 512MB or 1GB - 12V psu - sis DDMA support - custom 1.13 BIOS - pci low profile -
|-
| <!--Name-->t5000 series VX800 HSTNC-004-TC t5145, t5540, t5545, t5630
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Vesa 2d VIA Chrome9
| <!--Audio-->HD Audio VIA
| <!--USB-->
| <!--Ethernet-->{{No|VT6120 VT6121 VT6122 Gigabit (rev 82)}}
| <!--Test Distro-->
| <!--Comments-->2010 32bit - RAM 64Mb (? max) - 8 x USB2.0 - 12V 4.16A Coax: 5.5mm/2.1mm -
|-
| <!--Name-->t5730w HSTNC-003-TC t5730
| <!--IDE-->{{n/a|ATA 44pin DOM Flash}}
| <!--SATA-->
| <!--Gfx-->Vesa 2d ATI Radeon X1250 2048 x 1536 no 3D
| <!--Audio-->HD audio with codec
| <!--USB-->{{Yes|6 x USB2.0}}
| <!--Ethernet-->{{No|Broadcom 5707M tg3 10/100/1000}}
| <!--Test Distro-->
| <!--Comments-->2008 64bit AMD Sempron 2100+ 1GHz - 1 slot of ddr2 sodimm (Max 2GB) - 12V 4.16A Coax 5.5mm/2.1mm - F10 enter bios F12 boot devices -
|-
| <!--Name-->HSTNC-005-TC gt7720, gt7725
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Vesa 2d AMD RS780G HD 3200 - 2560 x 1600 DVI-D & DVI-H
| <!--Audio-->
| <!--USB-->8 x USB2.0
| <!--Ethernet-->{{No|Broadcom BCM5787M}}
| <!--Test Distro-->
| <!--Comments-->2009 64bit AMD Turion Dual Core CPU 2.3GHz - 1 DDR2 200-pin SODIMM - 19V 4.16A Coax 7.4mm/5.0mm (gt7725) -
|-
| <!--Name-->HP t5740 Thin Client HSTNC-006-TC t5740, t5745, st5742
| <!--IDE-->1 port
| <!--SATA-->1 port
| <!--Gfx-->{{Maybe|VESA for Intel CL40 VGA and DisplayPort connectors}}
| <!--Audio-->{{Yes|HD audio with IDT codec}}
| <!--USB-->{{Maybe| }}
| <!--Ethernet-->{{No|Broadcom BCM57780 Gigabit}}
| <!--Test Distro-->Nightly build and Icaros
| <!--Comments-->2009 32bit Atom N280 - F10 on power up to get into the BIOS screens. F12 brings up the boot options - hp 19V one with a coax connector, outer diameter 4.8mm with inner to be 1.7mm to 1.4mm - 2 ddr3 sodimm slots max 3gb due to 32bit - 1 pci-e slot completely non standard -
|-
| <!--Name-->t5000 series HSTNC-012-TC VIA Nano u3500 VX900
*t5550 512MB/1GB Windows CE6 R3
*t5565 1GB/1GB HP ThinPro
*t5570 2GB/1GB WES 2009
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Vesa 2d VIA ChromotionHD 2.0 GPU Chrome9
| <!--Audio-->VIA 9170 VT1708S codec
| <!--USB-->
| <!--Ethernet-->{{No|Broadcom BCM57780 Gigabit}}
| <!--Test Distro-->
| <!--Comments-->32bit - 1 sodimm - 19V 3.42A supply connector standard yellow-tip coax plug 4.8mm/1.8mm "Standard HP Compaq DC Power Plug 4.8mm x 1.5mm / 1.7mm Yellow Tip Connector -
|-
| <!--Name-->HP t510 Via Eden X2 U4200 HSTNC-012-TC shares features with t5570e, t5565z
| <!--IDE-->2G ATA Flash DOM
| <!--SATA-->one
| <!--Gfx-->{{Maybe|Vesa 2d for Chrome9 VIA ChromotionHD 2.0 gfx}}
| <!--Audio-->{{Maybe|VIA VT8237A VT8251 HDA with codec}}
| <!--USB-->{{Maybe|6 USB2 }}
| <!--Ethernet-->{{No|Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe}}
| <!--Test Distro-->
| <!--Comments-->2010 32bit - one slot ddr3 sodimm max 4GB - 19V 3.42A Coax 4.8mm/1.8mm -
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->HP T610 Thin Client and thicker PLUS version AMD G-T56N A55E
| <!--IDE-->{{Maybe|}}
| <!--SATA-->2 sata
| <!--Gfx-->Radeon 6320 1 dp port 1 dvi
| <!--Audio-->HDAudio with ALC codec
| <!--USB-->two USB2 on the front, two USB2 and two USB 3 ports on the rear
| <!--Ethernet-->{{No|Broadcom BCM57780}}
| <!--Test Distro-->
| <!--Comments-->2010 64bit does not support AVX SSE 4.1 - 2 204-pin DDR3 1600MHz SODIMMs PC3-12800 under motherboard via removable panel - 19.5V 3A Coax male 7.4mm/5.0mm + centre pin -
|-
| <!--Name-->HP T420 Thin Client
*AMD Embedded G-Series GX-209JA SOC (1 GHz, 2 cores)
| <!--IDE-->{{N/A}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->Radeon 8180 dvi vga
| <!--Audio-->HDAudio with ALC codec
| <!--USB-->2 front 2 rear USB2
| <!--Ethernet-->{{Yes|Realtek}}
| <!--Test Distro-->
| <!--Comments-->2015 64bit supports AVX SSE 4.1 - soldered in place 2GB DDR3 - smaller than usual 19.5V 2.31A Coax male 4.5mm/3.0mm + centre pin - usb stick internal for storage - E15 BBR -
|-
| <!--Name-->HP t520 TPC-W016
*AMD GX-212JC 1.2Ghz (2 core)
| <!--IDE-->{{N/A}}
| <!--SATA-->1 m.2 mounting holes for 2242 and 2260 SSDs SATA (not NVME)
| <!--Gfx-->Radeon R2E GCN2 IGP Sea Islands
| <!--Audio-->HDAudio with ALC codec
| <!--USB-->2 USB3 front, 4 USB2 back
| <!--Ethernet-->{{Yes|Realtek}}
| <!--Test Distro-->
| <!--Comments-->2014 2017 64 bit supports AVX SSE 4.1 - 1 204-pin DDR3 SODIMM - 19.5V 3.33A 7.4mm Coax with central pin
|-
| <!--Name-->HP t620 TPC-I004-TC
*AMD G-Series GX-217GA 2 core APU 1.65GHz (65W)
*AMD GX-415GA (65W)
and t620 PLUS (PRO wider version) TPC-I020-TC
*AMD GX-420CA SOC (Plus 85W)
| <!--IDE-->{{N/A}}
| <!--SATA-->{{yes|single M.2 2280 socket sata3, mSATA socket removed end of 2014}}
| <!--Gfx-->{{maybe|Vesa 2d for Radeon HD 8280E graphics 8330E Islands GCN2 IGP - 2 dp ports no dvi}}
| <!--Audio-->{{yes|HDAudio with Realtek ALC221 codec 0x10EC 0x0221}}
| <!--USB-->{{unk|4 front, 2 back, 1 inside limited space}}
| <!--Ethernet-->{{Yes|Realtek 8169}}
| <!--Test Distro-->Aros One 32bit
| <!--Comments-->2014 64bit supports AVX SSE 4.1 - 2 DDR3L SODIMMs side by side - mSATA ssd and M.2 SSD are M1.6 screws, M2.0 screws used on most SSDs - 19.5V 3.33A Coax male 7.4mm 5mm with centre pin - changed the network card to a Atheros 5000 compatible -
|-
| <!--Name-->HP T530
*AMD GX-215JJ (2 core) 1.5GHz
| <!--IDE-->{{N/A}}
| <!--SATA-->1 m.2 sata ssd up to 2280
| <!--Gfx-->Radeon R2E
| <!--Audio-->HDAudio with ALC codec
| <!--USB-->1 USB3.1, 1 usb-c front, 4 USB2 back
| <!--Ethernet-->{{Yes|Realtek}}
| <!--Test Distro-->
| <!--Comments-->2015 64 bit does support AVX SSE 4.1 - 1 204-pin DDR4 SODIMM - 19.5V 2.31A Coax male 4.5mm/3.0mm with centre pin -
|-
| <!--Name-->HP T730 Wider "Thin" Client TPC-I018-TC Pixar RX-427BB (2c4t) - no display and fans blowing full speed caused by '''disabling internal gpu in bios''' flash L43_0116.bin onto smc MX25L6473F (3.3V 8-PIN SOP (200mil) SPI 25xx) ([https://www.badcaps.net/forum/troubleshooting-hardware-devices-and-electronics-theory/troubleshooting-desktop-motherboards-graphics-cards-and-pc-peripherals/bios-schematic-requests/96303-hp-t730-password-locked-bios in the rom rcvry socket under a delicate thin narrow surface flap]) with ch341a alike switchable from 5v, 3.3v to 1.8v
| <!--IDE-->{{N/A}}
| <!--SATA-->{{partial|Storage bios option to IDE and not AHCI to prevent constant install error messages to DH0: - add noacpi to end of grub boot line - 1 M.2 SATA slot (Key B+M) up to 2280 with T8 torx secure stub}}
| <!--Gfx-->{{maybe|use VESA for non-vulkan Radeon R7 GCN 2 UVD4.2 Sea Islands with 4 dp outs '''but too easy bricking''' if swapping with 1 PCIe 3.0 x8 slot 30W slim factor low profile 8400gs gt210 nvs295 nvs310 gt1030}}
| <!--Audio-->{{yes|HDaudio 6.34 realtek alc221 codec thru case speaker only}}
| <!--USB-->{{yes|'''Works''' for 4 USB2 in the back with 2 in the front, 2 USB3.0 ports on front and 1 more internal (not bootable)}}
| <!--Ethernet-->{{yes|rtl8169 Realtek RTL8111HSH-CG set up first in Prefs/Network}}
| <!--Test Distro-->boots with AROS One 32bit and 64bit USB with added noacpi added to grub boot line - press e - Latest distros can select grub boot options with Aros One 64bit USB and Aros One USB 2.8 but system seems to freeze after choice
| <!--Comments-->2016 64bit supports AVX SSE 4.1 - 2 DDR3L sodimm stacked slots max 32GB - '''Larger''' 20cm/8" high 3.5ltr case noisy fan - TPM2 - esc/F9 boot selector F10 enter bios - 2 serial and 1 parallel old ports - Key E Wireless - PCIe slot (x16 physical, x8 electrical) - 19.5V 4.36A 85w TPC-LA561 HP 7.4mm black-ring-tip power plug, red flashing power button, wrong psu or bad MotherBoard MB -
|-
| <!--Name-->HP t630 Thin Client TPC-I020-TC
*AMD Embedded G-Series SoC GX-420GI quad core 2Ghz
| <!--IDE-->{{N/A}}
| <!--SATA-->{{yes|ahci.device mbr msdos partiton table for 2 Sata M.2, sata0 up to 2280 (1tb max), sata1 2242 (64gb max), both T8 torx secure stubs}}
| <!--Gfx-->{{maybe|use VESA for Radeon AMD Wani R7E with 2 displayport 1.2 sockets, use one nearest to power jack - no dvi / hdmi}}
| <!--Audio-->{{Yes|HDAudio 6.36 0x1022, 0x157a and ALC255 aka ALC3234 codec 0x10ec, 0x0255, pins 0x17 as LFE and 0x1b as int speaker but not ahi 6.34}}
| <!--USB-->{{yes|USB2 2 front and 2 rear, 2 front USB3 and 1 inside}}
| <!--Ethernet-->{{Yes|Realtek 8169 8111H}}
| <!--Test Distro-->AROS One USB 2.2, 2.8 and 64bit USB 1.0, 1.2 with noacpi added to the end of the grub bootline (press e)
| <!--Comments-->2016 64bit supports AVX SSE 4.1 - 2 DDR4 SODIMMs side by side speed 1866Mhz limit - 19.5V 3.33A 65W TPC-BA54 Coax male 7.4mm with centre pin - can be easily bricked, might reflash bios with M40 SP149736 - 20cm/8" high 1.5ltr larger fanless case - esc f1 f9 f10 -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->HP Compaq Elite 7200 7300 8200 8300 SFF with kettle IEC psu cable
| <!--IDE-->
| <!--SATA-->{{yes|IDE ata legacy only in BIOS}}
| <!--Gfx-->i pci-e
| <!--Audio-->{{Maybe|8200 works}}
| <!--USB-->{{yes| }}
| <!--Ethernet-->{{no|Intel or Broadcom}}
| <!--Test Distro-->icaros 2.3
| <!--Comments-->2013 64bit dual core - add pci-e rtl8169 ethernet card and pci-e gf210 nvidia low height -
|-
| <!--Name-->HP Compaq Pro 6305 Small Form Factor SFF AMD A75 chipset (FCH 6 SATA 6 Gb/s, 4 USB 3.0)
*AMD Quad A10-5800B
*AMD A8-5500B
*AMD Dual A6-5400B
*AMD A4-5300B
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Radeon 7000 Terascale iGPU series Radeon HD 7660D, Radeon HD 7560D, Radeon HD 7540D, Radeon HD 7480D
| <!--Audio-->HD ALC221
| <!--USB-->
| <!--Ethernet-->{{No|Broadcom 5761}}
| <!--Test Distro-->
| <!--Comments-->2012 64bit
|-
| <!--Name-->Elitedesk 705 G1 - SFF
*AMD A10-8850B, Quad-Core A10 PRO-7850B, A10-8750B
*AMD A10-7800B, A10 PRO-6800B, A8-7600B
*AMD A8-8650B, A6-8550B
*AMD A6-8350B, Dual A6 PRO 7400B, A4-7300B
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Maybe| }}
| <!--Gfx-->{{Maybe|VESA 2D with Radeon R7 or 8000}}
| <!--Audio-->{{Maybe|HD audio with Realtek ALC221 codec}}
| <!--USB-->{{Maybe| }}
| <!--Ethernet-->{{No|Broadcom or Intel}}
| <!--Test Distro-->
| <!--Comments-->2014 64bit - T15 security torx psu with 6pin PWR 200W connector -
|-
| <!--Name-->HP EliteDesk 705 G2, 705 G3 Mini PC USFF thin client
| <!--IDE-->{{N/A}}
| <!--SATA-->2.5in and m.2
| <!--Gfx-->Radeon R7
| <!--Audio-->HDAudio
| <!--USB-->USB3
| <!--Ethernet-->{{No|Broadcom BCM5762 GbE}}
| <!--Test Distro-->
| <!--Comments-->2014 64bit AM4 socket with 35W TDP A10-8770E (4c), AMD PRO A6-8570E (2c), AMD Pro A6-9500E, or AMD PRO A10-9700E on AMD B300 FCH - ddr4 sodimm slots - 77 x 175 x 34mm (6.97 x 6.89 x 1.34in) 1L and about 3lbs -
|-
| <!--Name-->HP EliteDesk 705 G4 Mini 1ltr USFF AMD Ryzen 3 2200G (4c t) or 5 2400G (4c t)
| <!--IDE-->{{N/A|}}
| <!--SATA-->{{Maybe|Nvme 2280 and 2.5in sata}}
| <!--Gfx-->Vega 8 thru DP1.2 port
| <!--Audio-->{{No|HD Audio Conexant codec}}
| <!--USB-->USB2 usb3
| <!--Ethernet-->rtl8169 realtek
| <!--Test Distro-->
| <!--Comments-->2016 64bit Am4 socket - 2 sodimm 16GB max - 19.5v hp socket ext psu -
|-
| <!--Name-->Elitedesk 705 G4 35w, HP Prodesk 405 G4 35W USFF - baseboard 83e9 35W - AMD Athlon PRO 200GE (2c 4t), 2200GE (4c t) or 2400GE (4c t) on AMD B350 FCH
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Maybe|Nvme 2280 and older models 2.5in sata}}
| <!--Gfx-->Vega 3, 8 or 11 with 2 dp1.2 ports
| <!--Audio-->{{no|HDAudio with Conexant CX20632 codec}}
| <!--USB-->USB3
| <!--Ethernet-->rtl8169 Realtek 8169 8111EPH 1Gbe or Realtek RTL8111F
| <!--Test Distro-->
| <!--Comments-->2017 64bit - realtek wifi 8821 or 8822 - up to 1 ddr4 dimm slots - hp barrel external ac -
|-
| <!--Name-->Elitedesk 705 G5, HP Elitedesk 806 G6, Prodesk 405 G6 || <!--IDE-->{{N/A}} || <!--SATA-->2x NVMe or 1x SATA + 1x NVMe, but not all three drives at the same time without serious modding of hd caddie || <!--Gfx-->Vega with DP1.4 port || <!--Audio-->{{no|HDAudio with Realtek ALC3205 codec}} || <!--USB-->USB3 || <!--Ethernet-->{{maybe|Realtek}} || <!--Test Distro--> || <!--Comments-->2018 64bit - 2 ddr4 sodimm slots - 3400GE Ryzen 5 PRO 3350GE (4c 8t), Ryzen 3 PRO 3200GE 3150GE (4c 4t), AMD Athlon Silver PRO 3125GE (2c 4t) on AMD PRO 565
|-
| <!--Name-->HP t540 1ddr4 slot, t640 2 DDR4 SDRAM sodimm SO-DIMM 260-pin non-ECC max 32gb thin client USFF
| <!--IDE-->{{N/A}}
| <!--SATA-->1 NVM Express (NVMe) 2230 or 2280
| <!--Gfx-->Vega 3 VGA, DisplayPort
| <!--Audio-->HD Audio with codec
| <!--USB-->2 USB3 gen1
| <!--Ethernet-->rtl8169 Realtek Realtek RTL8111HSH or RTL8111E PH-CG
| <!--Test Distro-->
| <!--Comments-->2019 64bit ryzen r1000 series Ryzen Embedded R1305G 1.5 GHz, R1505G dual (2c 4t) 2.0Ghz or R1606G ?.?Ghz (2c4t) - Realtek RTL8852AE wifi - 45W psu Coax male 4.5mm/3.0mm + centre pin -
|-
| <!--Name-->HP t740 SFF Thin Client
| <!--IDE-->{{N/A}}
| <!--SATA-->2 M.2, one is sata and other nvme
| <!--Gfx-->Vega 8 DisplayPort or + optional pci-e 30W Radeon E9173
| <!--Audio-->HD Audio with codec
| <!--USB-->USB3
| <!--Ethernet-->Realtek RTL8111E PH-CG 1Gbe
| <!--Test Distro-->
| <!--Comments-->2019 64bit - Ryzen Embedded V1756B 3.25Ghz quad - 90W 19.5V 4.62A psu Coax male 4.5mm/3.0mm + centre pin - sodimm DDR4 max 64Gb - slightly noisy fan -
|-
| <!--Name-->HP EliteDesk 805 G6 Mini 4750GE (8t 16t), Prodesk 405 G6 Ryzen 5 PRO 4650GE (6c 12t) or Ryzen 3 PRO 4350GE (4c 8t) on AMD PRO 565
| <!--IDE-->{{N/A}}
| <!--SATA-->2.5in carrier and 2 slots m.2 nvme
| <!--Gfx-->Vega 8 with DP1.4 and HDMI flex io2 output options
| <!--Audio-->HDAudio with Realtek ALC3205 codec
| <!--USB-->4 usb a - gen 2 10gig and gen 1 5gig ports
| <!--Ethernet-->{{N/A}}
| <!--Test Distro-->
| <!--Comments-->2021 64bit AMD Ryzen 4000 SBC unlocked - 2 sodimm ddr4 slots - wifi6 - 90W ac -
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====Lenovo====
{| class="wikitable sortable" width="100%"
! width="15%" |Name
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Integrated Gfx
! width="10%" |Audio
! width="10%" |USB
! width="10%" |Ethernet
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->Lenovo Nettop IdeaCentre Q150 (40812HU)
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->ION2
| <!--Audio--> realtek codec
| <!--USB-->USB2
| <!--Ethernet-->intel 10/100
| <!--Test Distro-->
| <!--Comments-->2011 64bit D510
|-
| <!--Name-->M625q Tiny (1L)
| <!--IDE-->{{N/A}}
| <!--SATA-->M.2 Sata
| <!--Gfx-->Stoney Radeon R2, R3 or R4 and later R5 with 2 dp ports
| <!--Audio-->HD audio with ALC233-VB2-CG codec 0x10EC 0x0233
| <!--USB-->{{No|3 usb3.1 Gen 1 and 3 usb2}}
| <!--Ethernet-->rtl8169 RTL8111
| <!--Test Distro-->
| <!--Comments-->2016 64bit all dual cores - e2-9000e or a4-9120e later A9-9420e - heatsink covers 70% area covers wifi - 65w or 135w lenovo rectangle ac - 1 ddr4 2666MHz slot max 8gb - tpm 2.0 -
|-
| <!--Name-->M715q Gen 1 AMD A6 A8 A10-9700E 9770E (2c2t)
| <!--IDE-->{{N/A}}
| <!--SATA-->m.2
| <!--Gfx-->R4
| <!--Audio-->HDAudio
| <!--USB-->USB3
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->2016 64bit -
|-
| <!--Name-->M715q Gen 2 Ryzen 5 PRO 2400GE 4C 8T
| <!--IDE-->{{N/A}}
| <!--SATA-->m.2
| <!--Gfx-->Vega 11
| <!--Audio-->HD Audio with codec
| <!--USB-->USB3
| <!--Ethernet-->1GbE
| <!--Test Distro-->
| <!--Comments-->2018 64bit - f1 enter setup, esc device boot - fixed 1.8v ch341a needed to reflash 1.8v bios if no boot SOP8 DIP8 Winbond W25Q64, MXIC MX25U1635, MX25U6435 -
|-
| <!--Name-->ThinkCenter M75n nano Ryzen3 3300U
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->ThinkCentre M75q M75q-1 Tiny 1ltr TMM
*AMD Ryzen 5 PRO Quad 3500 Pro 3400GE (4c 8t) 11a5 soe400
*AMD 3200GE (2c 4t) zen1+ 11a4
| <!--IDE-->{{N/A|}}
| <!--SATA-->{{Maybe|NVMe 2280 1Tb max - untested 2.5inch}}
| <!--Gfx-->Vega 11
| <!--Audio-->HD Audio Realtek ALC222-CG codec ALC3287
| <!--USB-->3 USB3 Gen 1
| <!--Ethernet-->rtl8169 Realtek 8169 8111
| <!--Test Distro-->
| <!--Comments-->2019 64bit - 65w 20v 3.25A to 135W rectangle psu - 2 sodimm ddr4 sodimm max 32GB locked 2666MHz -
|-
| <!--Name-->ThinkCentre Ryzen 7 PRO Tiny 1ltr Gen 2 AMD 4000 series
*AMD 4650GE (6c12t) 4750GE (8c16t) 4350G (4c8t) Zen2 -
| <!--IDE-->{{N/A|}}
| <!--SATA-->{{Maybe|NVme}}
| <!--Gfx-->Vega 8
| <!--Audio-->HD Audio codec
| <!--USB-->
| <!--Ethernet-->Realtek 8169 8111
| <!--Test Distro-->
| <!--Comments-->2021 64bit vendor locked - 20v psu - 2 sodimm -
|-
| <!--Name-->Thinkcenter M75q-2 Gen2 refresh
| <!--IDE-->{{N/A}}
| <!--SATA-->m.2 nvme
| <!--Gfx-->Radeon Vega
| <!--Audio-->HDAudio
| <!--USB-->USB3
| <!--Ethernet-->1GigE
| <!--Test Distro-->
| <!--Comments-->2022 64bit 5650GE (6c12t) 5750GE (8c16t) - vendor/PSB can lock your AMD CPU - f12 boot devices
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->Thinkcentre M75q Tiny Gen5
| <!--IDE-->{{N/A| }}
| <!--SATA-->2 NVMe
| <!--Gfx-->Radeon 780M dp1.4a or hdmi
| <!--Audio-->HDAudio with codec
| <!--USB-->USB3 usb-c
| <!--Ethernet-->1GBe port
| <!--Test Distro-->
| <!--Comments-->2024 Ryzen PRO 7 8700GE - 90W yellow rectangle connector psu - 2 DDR5 sodimm slots max 128Gb -
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|}
====Misc====
{| class="wikitable sortable" width="100%"
! width="15%" |Name
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Integrated Gfx
! width="10%" |Audio
! width="10%" |USB
! width="10%" |Ethernet
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->Impart impact Media Group IQ Box mini Digital Signage with MB896 mini itx
| <!--IDE-->{{Yes| }}
| <!--SATA-->{{N/A}}
| <!--Gfx-->GMA 915 gme
| <!--Audio--> via audio
| <!--USB-->{{yes| }}
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->2007 32bit - 1 ddr2 slot - pentium m 1.73GHz -
|-
| <!--Name-->[https://everymac.com/systems/apple/mac_mini/specs/mac_mini_cd_1.83-specs.html Apple A1176 Intel MacMini1,1]
| <!--IDE-->{{N/A}}
| <!--SATA-->{{unk|gpt/efi }}
| <!--Gfx-->{{Yes|gma950 2d and 3d}}
| <!--Audio-->{{No|HDAudio with ICH7 [https://answers.launchpad.net/ubuntu/+source/alsa-driver/+question/186749 Sigmatel Stac 9221] [https://android.googlesource.com/kernel/msm/+/android-wear-5.1.1_r0.6/sound/pci/hda/patch_sigmatel.c codec][https://alsa-devel.alsa-project.narkive.com/Yt20W6cE/sigmatel-stac9221-mux-amp-out-0x02-microphone-not-working mic]}}
| <!--USB-->{{Yes|USB2}}
| <!--Ethernet-->{{No|Marvell}}
| <!--Test Distro-->
| <!--Comments-->2006 32bit possible 1.83 GHz Intel “Core Duo” (T2400) - swap pci-e wifi for atheros 5k AR5007EG - maybe hack with a 2,1 firmware - max 4GB Ram ddr2 sodimms - external apple psu - dvd boot only with c key -
|-
| <!--Name-->[https://everymac.com/systems/apple/mac_mini/specs/mac-mini-core-2-duo-1.83-specs.html Apple A1176 Intel Mac Mini2,1]
| <!--IDE-->{{N/A}}
| <!--SATA-->{{unk|gpt/efi }}
| <!--Gfx-->{{Yes|gma950 2d and 3d}}
| <!--Audio-->{{No|HDAudio with ICH7 Sigmatel Stac 9221 codec}}
| <!--USB-->{{Yes|USB2}}
| <!--Ethernet-->{{No|Marvell}}
| <!--Test Distro-->Aros One 2.0/ Icaros
| <!--Comments-->2007 64bit - swap pci-e wifi for atheros 5k AR5007EG - hacked with a 2,1 firmware and replaced the cpu for T7600 2.33 Ghz C2D and max 4GB Ram ddr2 sodimms - external apple psu - dvd boot only via c key
|-
| <!--Name-->Apple iMac 5,1 "Core 2 Duo" 1.83GHz 17" T5600 MA710LL || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->GMA 950 with 64Mb || <!--Audio-->HDAudio idt codec || <!--USB-->3 USB2 || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->2006 64bit - 2 ddr2 667MHz sodimm slots - 17.0" TFT widescreen 1440x900 - polycarbonate
|-
| <!--Name-->Apple iMac 6,1 "Core 2 Duo" 2.16 2.33 24" only T7400 T7600 aka MA456LL/A A1200 (EMC 2111) || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Nvidia 7300GT with 128 MB of GDDR3 SDRAM PCI Express or GeForce 7600GT with 256Mb mini dvi, vga || <!--Audio-->HDAudio || <!--USB-->3 USB2 || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->2006 64bit - 2 ddr2 667MHz sodimm slots - 24.0" TFT widescreen 1920 x 1200 - polycarbonate plastic case iMacs of this generation are the most difficult iMacs to service due to their front bezel design
|-
| <!--Name-->Neoware CA2
| <!--IDE-->flash DOM
| <!--SATA-->{{N/A}}
| <!--Gfx-->S3 Inc ProSavage PM133 (rev 02) vga
| <!--Audio-->VIA VT82C686 AC97 Audio
| <!--USB-->USB
| <!--Ethernet-->rtl8139
| <!--Test Distro-->
| <!--Comments-->2003 32bit - VIA Ezra 800MHz - 2 PC100 sodimm slots - riser board carries an ISA slot and a PCI slot - external 12V power supply.with 4 pins -
|-
| <!--Name-->Neoware CA5 Capio One
| <!--IDE-->44pin Disk On Module DOM
| <!--SATA-->{{N/A}}
| <!--Gfx-->SiS550 vga
| <!--Audio-->AC97 with SiS7019 codec
| <!--USB-->USB1.1
| <!--Ethernet-->rtl8139
| <!--Test Distro-->
| <!--Comments-->2004 32bit - internal power supply with mains lead has a "clover leaf" style - 2 144-pin PC100 or PC133 SODIMM might have 24MB of RAM soldered -
|-
| <!--Name-->Neoware CA10
*E140 model BL-XX-XX (800MHz CPU) later
*E100 model BK-XX-XX (1GHz CPU)
| <!--IDE-->
| <!--SATA-->{{N/A}}
| <!--Gfx-->VIA VT8623 (Apollo CLE266) vga
| <!--Audio-->AC97 with
| <!--USB-->4 USB2
| <!--Ethernet-->VIA VT6102/VT6103 [Rhine-II] (rev 74)
| <!--Test Distro-->
| <!--Comments-->2004/5 32bit - 12v 5.5mm/2.1mm - 2 184-pin DDR DIMM -
|-
| <!--Name-->VXL Itona thin client
*TC3200,
*TC3x41 (P3VB-VXL) TC3541 TC3641 TC3841,
*TC3xx1 (6VLE-VXL0) TC3931,
*TC43xx (Gigabyte C7V7VX) TC4321
| <!--IDE-->
| <!--SATA-->{{N/A}}
| <!--Gfx-->VIA vga
| <!--Audio-->AC'97 Audio with VIA VT
| <!--USB-->VIA USB
| <!--Ethernet-->Realtek 8100B
| <!--Test Distro-->
| <!--Comments-->2005 2006 32bit VIA Samuel 2, VIA C3 Nehamiah CPU, 1 DIMM slot, internal psu,
|-
| <!--Name-->Neoware Capio C50, model CA15 Thin Clients]
*Login Administrator Password Administrator
*Login User Password User
| <!--IDE-->1 flash Disk On Module
| <!--SATA-->{{N/A}}
| <!--Gfx-->VIA VT8623 (Apollo CLE266) vga
| <!--Audio-->AC97 with via codec
| <!--USB-->USB
| <!--Ethernet-->VIA
| <!--Test Distro-->
| <!--Comments-->2006 32bit VIA Eden (Samuel II core) CPU - 1 ddr sodimm slot max 512mb - slot - internal psu clover leaf -
|-
| <!--Name-->[http://etoy.spritesmind.net/neowareca21.html Neoware CA21 Thin Clients] Igel 3210 (and maybe the Clientron G270)
*Login Administrator Password Administrator
*Login User Password User
| <!--IDE-->1 flash Disk On Module DOM
| <!--SATA-->{{N/A}}
| <!--Gfx-->VIA CN700 vga
| <!--Audio-->AC97 with via codec
| <!--USB-->USB2
| <!--Ethernet-->VIA
| <!--Test Distro-->
| <!--Comments-->2007 32bit VIA C3 Nehemiah instead of Ezra-T - made 2 version of the CA 21, one with an Award bios and one with a Phoenix bios - 1 ddr2 sodimm slot max 1gb - VT6656 wireless - slot - internal psu iec -
|-
| <!--Name-->Neoware CA22 (e140), part number DD-L2-GE with BCOM WinNET P680 (V4) as the Igel 4210LX (Igel 5/4)
| <!--IDE-->1 VIA VT82C586A/B VT82C686/A/B VT823x/A/C PIPC Bus Master IDE (rev 06)
| <!--SATA-->{{N/A}}
| <!--Gfx-->VIA CN700 P4M800 Pro CE VN800 Graphics [S3 UniChrome Pro] (rev 01) vga
| <!--Audio-->AC97 with codec
| <!--USB-->USB2 VIA VT8237R Plus
| <!--Ethernet-->VIA VT6102/VT6103 [Rhine-II] (rev 78)
| <!--Test Distro-->
| <!--Comments-->2007 32bit - VIA Esther to later C7 1GHz - 1 ddr2 sodimm slots max 512mb - +12V DC/4.16A/50W 5.5mm/2.1mm coaxial -
|-
| <!--Name-->10Zig RBT402, Clientron U700,
| <!--IDE-->{{Yes|44 pin header very little room}}
| <!--SATA-->{{N/A|}}
| <!--Gfx-->{{Partial|VESA dvi}}
| <!--Audio-->{{unk|AC97 with codec}}
| <!--USB-->{{unk|VIA }}
| <!--Ethernet-->{{unk|}}
| <!--Test Distro-->
| <!--Comments-->2008 32bit - very small cases with very limited expansion - 1 sodimm 2GB max - 12v 3a psu - Password Fireport
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->Dell Optiplex FX170 D05U thin client, 10Zig 56xx range 5602, 5616v, 5617v, 5672v, Clientron U800, Devon IT TC5,
| <!--IDE-->{{Yes|44 pin header very little room}}
| <!--SATA-->{{N/A|}}
| <!--Gfx-->{{partial|GMA 950 dvi}}
| <!--Audio-->{{Yes|HD Audio with codec}}
| <!--USB-->{{Yes| }}
| <!--Ethernet-->{{No|Broadcom}}
| <!--Test Distro-->Icaros 2.3
| <!--Comments-->2009 32bit - very small cases with very limited expansion - 1 ddr2 sodimm 2GB max - 12v 3a psu - Password Fireport - ps2 keyboard socket -
|-
| <!--Name-->10Zig RBT-616V or Chip PC Technologies EX-PC (model number XPD4741)
| <!--IDE-->{{unk|44 pin header very little room}}
| <!--SATA-->{{N/A|}}
| <!--Gfx-->{{Yes|GMA 950}}
| <!--Audio-->{{unk|HD Audio with codec}}
| <!--USB-->{{unk| }}
| <!--Ethernet-->{{unk|rtl8169}}
| <!--Test Distro-->
| <!--Comments-->2010 32bit N270 on NM10 with ICH7 - very small cases with very limited expansion - 1 sodimm 2GB max - 12v 4a psu - Password Fireport
|-
| <!--Name-->Gigabyte Brix GS-A21S-RH (rev. 1.0) SFF
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->{{maybe|X3100}}
| <!--Audio-->{{No|HD Audio with ALC883-GR codec}}
| <!--USB-->Intel USB
| <!--Ethernet-->{{no|Intel 82566DC}}
| <!--Test Distro-->ICAROS 2.3
| <!--Comments-->2009 64bit Intel GME965 chipset with Intel ICH8M - 2 DDR2 Dimm slots - GA-6KIEH2-RH Rev.1.x mini ITX Case 213mm(D) x 64mm(W) x 234mm(H) - custom psu -
|-
| <!--Name-->VXL Itona MD+24 MD27 MD54 MD64 MD76 thin client
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->VIA Chrome 9
| <!--Audio-->HD Audio with VIA VT
| <!--USB-->VIA
| <!--Ethernet-->VIA
| <!--Test Distro-->
| <!--Comments-->2009 32bit VIA X2 U4200 - 12v-19v barrel psu -
|-
| <!--Name-->Acer Revo 100 RL100 AMD Athlon II X2 K325 || <!--IDE--> || <!--SATA--> || <!--Gfx-->NVIDIA® ION™ 9300m || <!--Audio-->HDAudio with ALC662 codec || <!--USB-->USB2 1 front 2 back || <!--Ethernet-->NVIDIA nForce 10/100/1000 || <!--Test Distro--> || <!--Comments-->2010 64bit but no AVX - 4Gb DDR3 sodimm - 500 GB - 19v 3.42a 65W - dvd but later BD drive -
|-
| <!--Name-->Asrock ION 330 330Pro HT-BD, Foxconn NT-330i, Zotac ION F (IONITX mini itx),
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->{{Maybe|ION geforce 9400}}
| <!--Audio-->{{Maybe| }}
| <!--USB-->{{Maybe|Nvidia USB}}
| <!--Ethernet-->{{No|Nvidia }}
| <!--Test Distro-->
| <!--Comments-->2010 32bit slow atom cpu - 2.5L 8" by 8" plastic case - 2 ddr2 sodimm max 4G - external 19v 65W 3.42A Plug 5.5mm X 2.5mm - little whiny fan -
|-
| <!--Name-->Zotac ZBOXHD-ND01
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->ION1
| <!--Audio-->HDaudio
| <!--USB-->USB2
| <!--Ethernet-->NVidia
| <!--Test Distro-->
| <!--Comments-->2009 32bit
|-
| <!--Name-->Zotac ZBOX HD-ID11
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->ION2
| <!--Audio-->HDaudio with ALC888 codec
| <!--USB-->USB2
| <!--Ethernet-->rtl8169 rtl8111D
| <!--Test Distro-->
| <!--Comments-->2010
|-
| <!--Name-->ZOTAC ZBOX Blu-ray 3D ID36 Plus
| <!--IDE-->{{N/A}}
| <!--SATA-->sata
| <!--Gfx-->ION2
| <!--Audio-->HDaudio
| <!--USB-->2 USB3
| <!--Ethernet-->GbE
| <!--Opinion-->2011 64bit -
|-
| <!--Name-->Shuttle XS35GT || <!--IDE--> || <!--SATA--> || <!--Gfx-->ION || <!--Audio-->HD audio IDT92HD81 || <!--USB--> || <!--Ethernet-->{{No|JMC261}} || <!--Test Distro--> || <!--Comments-->2011 64bit - Atom™ D510 NM10 - DDR2
|-
| <!--Name-->Shuttle XS35GT V2 || <!--IDE--> || <!--SATA--> || <!--Gfx-->ION2 || <!--Audio-->HD audio IDT92HD81 || <!--USB-->Intel || <!--Ethernet-->{{No|JMC251}} || <!--Test Distro--> || <!--Comments-->2011 64bit Atom™ D525 NM10 chipset - DDR3
|-
| <!--Name-->Sapphire Edge-HD || <!--IDE--> || <!--SATA--> || <!--Gfx-->ION2 GT218 with vga and hdmi || <!--Audio-->HDAudio realtek codec || <!--USB--> || <!--Ethernet-->{{Unk|Realtek}} || <!--Test Distro--> || <!--Comments-->2011 64bit - Atom™ D510 NM10 - DDR2 65 W AC, DC 19V~3.42A, 19.3L x 14.8w x 2.2H cm (1l), weight 530g,
|-
| <!--Name-->Sapphire Edge-HD2 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes|IDE mode}} || <!--Gfx-->{{Yes|nouveau ION2 GT218 with vga and hdmi 2d and 3d}} || <!--Audio-->{{Yes|HDAudio}} || <!--USB-->{{Yes|Intel USB2}} || <!--Ethernet-->{{Yes|}} || <!--Test Distro--> || <!--Comments-->2011 64bit Atom™ D525 NM10 chipset - DDR3
|-
| <!--Name-->AOPEN Digital Engine DE67-HA(I)
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Maybe| }}
| <!--Gfx-->{{Maybe| Vesa 2d for Intel HD}}
| <!--Audio-->{{maybe|HDAudio for ALC662 codec}}
| <!--USB-->{{maybe|usb3}}
| <!--Ethernet-->{{no|Intel WG82579LM}}
| <!--Test Distro-->
| <!--Comments-->2011
|-
| <!--Name-->[https://www.jetwaycomputer.com/JBC600C99352W.html Jetway JBC600C99352W]
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->ION2
| <!--Audio-->{{No|C-Media CM108AH}}
| <!--USB-->USB2
| <!--Ethernet-->Realtek 8111DL
| <!--Test Distro-->
| <!--Comments-->2011 64bit D525 - DDR3 - 12v psu
|-
| <!--Name-->Foxconn nT-A3550 A3500 AMD A45 Chipset DDR3 Nettop Barebones - White
| <!--IDE-->{{N/A}}
| <!--SATA-->1 slot
| <!--Gfx-->AMD Radeon HD6310
| <!--Audio-->
| <!--USB-->4 USB2 back and 2 USB3 front
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->2012 64bit does not support AVX or SSE 4.1 AMD Dual-core E350 1.6GHz CPU - 1 ddr3 sodimm -
|-
| <!--Name-->Asus EeeBox PC EB1021 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Radeon HD6320M || <!--Audio-->HDAudio with ALC codec || <!--USB-->USB2 || <!--Ethernet-->Realtek GbE1 || <!--Test Distro--> || <!--Comments-->2012 64bit - AMD® Brazos E-350 SFF or E-450 with A50M - 2 ddr3l so-dimm - 40W ac -
|-
| <!--Name-->Xi3 Piston PC Athlon64 X2 3400e (X5A), AMD R-464L quad (X7A) Z3RO NUC
| <!--IDE-->{{N/A}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->AMD mobility HD3650 to radeon HD 7660G
| <!--Audio--> codec
| <!--USB-->4 USB2 3 USB3
| <!--Ethernet-->{{no|Atheros AR8161}}
| <!--Test Distro-->
| <!--Comments-->2012 - 2 sodimm 8GB max - 19v 3.3a round - Titan105 bios update -
|-
| <!--Name-->Sapphire Edge-HD3 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Radeon HD6320M with vga and hdmi || <!--Audio-->HDAudio with Realtek ALC662 codec || <!--USB-->USB2 || <!--Ethernet-->Realtek GbE1 || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 AMD® Brazos E-450 with A45M - ddr3l so-dimm - 65W ac - Wireless is Realtek 8191SU WiFi (802.11n) or AzureWave (802.11bgn) -
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->Samsung Syncmaster Thin Client Display TC-W Series 24" LF24 TOWHBFM/EN TC220W LED LF22TOW HBDN/EN || <!--IDE-->{{N/A}} || <!--SATA-->8gb SSD || <!--Gfx-->{{Maybe| VESA mode only Radeon HD 6290}} || <!--Audio--> || <!--USB-->2 USB 2.0 || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 thin Client C-50 C50 AMD® 1000 MHz and no wireless
|-
| <!--Name-->Advantech TPC-2140 thin client
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->{{Maybe|VESA }}
| <!--Audio-->
| <!--USB-->USB2
| <!--Ethernet-->{{Yes|Realtek}}
| <!--Test Distro-->
| <!--Comments-->2012 64bit does not support AVX or SSE 4.1 atom-like G-T56E 1.65Ghz up to SSE3, BGA413 soldered -
|-
| <!--Name-->CompuLab FIT-PC3 fitPC3 USFF PC AMD G-T56N || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->RADEON HD 6320 || <!--Audio-->{{yes|HDAudio ALC888 codec}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{yes|rtl8169 8111}} || <!--Test Distro--> || <!--Comments-->2012 64 bit does not support AVX or SSE 4.1 - 12v 3a - 2x sodimm DDR3 max 4GB - wifi rtl8188ce
|-
| <!--Name-->10Zig 6872 thin client
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->{{Maybe|VESA }}
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->{{Yes|Realtek}}
| <!--Test Distro-->
| <!--Comments-->2012 64bit does not support AVX or SSE 4.1 atom-like G-T56N up to SSE3 BGA413 (FT1) soldered - DDR3l single channel -
|-
| <!--Name-->10ZiG Technology 9972 1.6 GHz Linux 1.47 kg Black RX-216GD thin client
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->AMD Radeon 5E 3840 x 2160 @ 30Hz to 2560 x 1600 @ 60Hz 2 x Display Port
| <!--Audio-->
| <!--USB-->6 x USB2.0 2 x USB3.0
| <!--Ethernet-->{{Maybe|Realtek}}
| <!--Test Distro-->
| <!--Comments-->2016 64bit does support AVX or SSE 4.1 AMD RX-216TD - 1 ddr3 sodimm - 12V 4A Coax 5.5mm/2.1mm
|-
| <!--Name-->10ZiG 7800q thin client
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->AMD Radeon 5E 3840 x 2160 @ 30Hz to 2560 x 1600 @ 60Hz 2 x Display Port
| <!--Audio-->
| <!--USB-->6 x USB2.0 2 x USB3.0
| <!--Ethernet-->{{Maybe|Realtek}}
| <!--Test Distro-->
| <!--Comments-->2016 64bit does support AVX or SSE 4.1 AMD GX-424CC (Quad Core) 2.4GHz BGA769 (FT3b) - 1 ddr3 sodimm - 12V 4A Coax 5.5mm/2.1mm
|-
| <!--Name-->
*Itona VXL MZE12 AMD a4-5000 thin client
*VXL Itona LQ27 LQ+27 LQ44 LQ+44 LQ49 LQ+49 LQ50 LQ+50 LQ64 LQ+64 thin client
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->Ati 8330 vga hdmi dp
| <!--Audio-->
| <!--USB-->4 usb2 2 usb3
| <!--Ethernet-->Realtek
| <!--Test Distro-->
| <!--Comments-->2014 64bit quad BGA769 (FT3) soldered - 2 stacked sodimm ddr3 middle of mobo - 2 m.2 sata slots - 1 sata short cable half size space - limited 1ltr 8in case no fan - 19v hp style psu connector -
|-
| <!--Name-->Dell Wyse 5212 21.5" AIO Thin Client W11B
| <!--IDE-->{{N/A}}
| <!--SATA-->Sata
| <!--Gfx-->R3 out from DP or vga
| <!--Audio-->HDAudio
| <!--USB-->USB2
| <!--Ethernet-->Realtek
| <!--Test Distro-->
| <!--Comments-->2015 64bit slow atom like dual core AMD G-T48E 1.4 GHz - dell type round ac needed 90W 19.5V 4.62A - 21 inch 1080p screen -
|-
| <!--Name-->LG 24CK560N-3A 24' All-in-One Thin Client Monitor, 27CN650N-6N 27CN650W-AC 27', 34CN650W-AC 34',
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->2018 64bit AMD Prairie Falcon GX-212JJ
|-
| <!--Name-->CompuLab fit-PC4 fitPC4 4x 2Ghz AMD || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet-->{{no|Intel}} || <!--Test Distro--> || <!--Comments-->2018 64 - 2x DDR4 sodimm -
|-
| <!--Name-->IGEL Hedgehog M340C UD3 thin client
*2016 V1.0 AMD GX-412HC 1.2GHz-1.6GHz Radeon R3E, normal bios DEL for Bios or F12 boot selector
*2018 AMD GX-424CC 2.4GHz, Radeon R5E, UEFI hit DEL and choose boot or SCU icon
| <!--IDE-->{{N/A|}}
| <!--SATA-->SATA half slim version '''limited space''' with msata 8+18pins slot on earlier 2016 models
| <!--Gfx-->{{Maybe|VESA for Radeon R3E later R5E sea islands vulkan 1.2 with dvi dp output}}
| <!--Audio-->{{Yes|HD Audio with codec ?? (412) and Realtek ALC662-VD0-GR (424), both case speaker}}
| <!--USB-->amd usb3 boot usb2 with bios "disable usb" entry
| <!--Ethernet-->{{Yes|Realtek 8169 8111 (412) and (424)}}
| <!--Test Distro-->Aros One x86 USB 1.5, 1.8 and 2.2
| <!--Comments-->2016 64bit - 20cm/8" high case - 1 DDR3L sodimm slot max 8Gb 1600MHz - external '''12V 3A''' supply with 5.5mm/2.1mm coaxial - IDE like interface under base stand is for legacy addon ports RS232 parallel etc - capacitive touch power on - case opening 3 stages, remove stand and narrow black plastic strip from the back, top cover slides off to the back and lifts off -
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->10ZiG 6148v 6048qv (6100 series)
| <!--IDE-->{{N/A}}
| <!--SATA-->{{maybe| }}
| <!--Gfx-->
| <!--Audio-->{{maybe| }}
| <!--USB-->{{No| }}
| <!--Ethernet-->{{maybe| }}
| <!--Test Distro-->
| <!--Comments-->2018 64bit AMD Ryzen V1202B
|-
| <!--Name-->10ZiG 7111q
| <!--IDE-->{{N/A}}
| <!--SATA-->{{maybe| }}
| <!--Gfx-->
| <!--Audio-->{{maybe| }}
| <!--USB-->{{maybe| }}
| <!--Ethernet-->{{maybe| }}
| <!--Test Distro-->
| <!--Comments-->2019 64bit AMD Ryzen R2514 2.1 GHz -
|-
| <!--Name-->Shuttle DA320
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->R3 R5
| <!--Audio-->HD Audio with ALC662 codec
| <!--USB-->{{maybe| }}
| <!--Ethernet-->dual realtek 1GbE 8111H
| <!--Test Distro-->
| <!--Opinion-->2017 64bit AMD 2200G 2400G - Robust metal 1.3-liter case - A320 chipset DDR4 - 19V 6.32A DC PSU -
|-
| <!--Name-->IGEL UD7 H850C around december 2019 '''AMD Secure Processor''' is a built-in dedicated security system that checks if the BIOS has a valid signature and thus secures the next step in the boot process. This ensures that only devices with a signed BIOS will boot
| <!--IDE-->{{N/A}}
| <!--SATA-->None but 8gb emmc
| <!--Gfx-->Vega 3
| <!--Audio-->HD Audio with Realtek ALC897 or ALC888S codec
| <!--USB-->USB 3.2 and 2.0
| <!--Ethernet-->1GbE
| <!--Test Distro-->
| <!--Comments-->2018 64bit - AMD Ryzen™ Dual-Core 10W TDP - 2 DDR4 sodimms slots max 16Gb - 12V 4A psu - 2x DisplayPort 1.2 no dvi or hdmi - Intel® 9260 or SparkLAN WNFT-238AX wifi - 1x rear serial Prolific PL2303 chipset - locked down components and very limited expansion options
|-
| <!--Name-->IGEL UD7 H860C - '''AMD Secure Processor''' is a built-in dedicated security system that checks if the BIOS has a valid signature and thus secures the next step in the boot process. This ensures that only devices with a signed BIOS will boot
| <!--IDE-->{{N/A}}
| <!--SATA-->None but 8gb emmc
| <!--Gfx-->Vega 3
| <!--Audio-->HD Audio with Realtek ALC897 or ALC888S codec
| <!--USB-->USB 3.2 and 2.0
| <!--Ethernet-->1GbE
| <!--Test Distro-->
| <!--Comments-->2018 64bit - AMD Ryzen™ Dual-Core 10W TDP - 2 DDR4 sodimms slots max 16Gb - 12V 4A psu - 2x DisplayPort 1.2 no dvi or hdmi - Intel® 9260 or SparkLAN WNFT-238AX wifi - 1x rear serial Prolific PL2303 chipset - locked down components and very limited expansion options
|-
| <!--Name-->IGEL UD3 M350C (UEFI issues)
| <!--IDE-->{{N/A}}
| <!--SATA-->None but 8gb emmc
| <!--Gfx-->Vega 3
| <!--Audio-->HD Audio with Realtek ALC897 or ALC888S codec
| <!--USB-->USB 3.2 and 2.0
| <!--Ethernet-->1GbE
| <!--Test Distro-->
| <!--Comments-->2018 64bit - AMD Ryzen™ R R1505G Dual-Core 10W TDP - 2 DDR4 sodimms slots max 16Gb - 12V 4A psu - 2x DisplayPort 1.2 no dvi or hdmi - Intel® 9260 or SparkLAN WNFT-238AX wifi - 1x rear serial Prolific PL2303 chipset - locked down components and very limited expansion options
|-
| <!--Name-->IGEL UD7 H860C AMD Ryzen V1605B Thin Client - '''AMD Secure Processor''' is a built-in dedicated security system that checks if the BIOS has a valid signature and thus secures the next step in the boot process. This ensures that only devices with a signed BIOS will boot
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->HDAudio
| <!--USB-->{{maybe| }}
| <!--Ethernet-->1GbE
| <!--Test Distro-->
| <!--Comments-->2020 AMD Ryzen™ Embedded V1605B 2 – 3.6 GHz (Quad-Core) - 12v 5A psu - up to 16GB RAM DDR4 - locked down components and very limited expansion options
|-
| <!--Name-->Gigabyte Brix Barebone Mini PC BSRE-1605
| <!--IDE-->{{N/A}}
| <!--SATA-->2 M.2
| <!--Gfx-->Vega 8
| <!--Audio-->HD Audio ALC269 codec
| <!--USB-->USB3
| <!--Ethernet-->2 GbE
| <!--Test Distro-->
| <!--Comments-->2020 64bit AMD Ryzen V1605B - 2 DDR4 sodimm slots
|-
| <!--Name-->MINISFORUM Deskmini UM250 Mini PC
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->{{maybe| }}
| <!--Ethernet-->{{maybe| }}
| <!--Test Distro-->
| <!--Comments-->2020 64bit AMD Ryzen V1605B -
|-
| <!--Name-->T-Bao MN25 Mini PC 2500U
| <!--IDE-->{{N/A| }}
| <!--SATA-->{{Unk|Intel NVMe}}
| <!--Gfx-->{{No|VESA Radeon Vega 8}}
| <!--Audio-->{{Unk| }}
| <!--USB-->{{maybe|USB 3}}
| <!--Ethernet-->{{Yes|Realtek PCIe 1GbE}}
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->Atari VCS || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{maybe|Vesa 2D for AMD Vega 3}} || <!--Audio-->{{unk|HDAudio with ALC codec}} || <!--USB-->{{maybe|USB3 USB 3.2 Gen 2 front and 3 usb2 rear }} || <!--Ethernet-->rtl8169 Realtek RTL8111H || <!--Test Distro--> || <!--Comments-->2021 64bit Ryzen Embedded R1606G - 2 ddr4 sodimm slots - TPM 2.0 -
|-
| <!--Name-->Minis Forum M200 Silver Athlon M300 3300U
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->Vega 8
| <!--Audio-->
| <!--USB-->{{maybe|USB 3.1 gen 1 and 2}}
| <!--Ethernet-->{{No|Realtek PCIe 2.5G}}
| <!--Test Distro-->
| <!--Comments-->2021 64bit
|-
| <!--Name-->Minis Forum DeskMini UM300 3300U, UM350 DMAF5 3550H, UM370 and UM700 with 3750H
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->Vega 8
| <!--Audio-->
| <!--USB-->{{maybe|USB 3.1 gen 1 and 2}}
| <!--Ethernet-->{{No|Realtek PCIe 2.5G}}
| <!--Test Distro-->
| <!--Comments-->2021 64bit
|-
| <!--Name-->MinisForum X300 with AMD 3400G
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->Vega 8
| <!--Audio-->
| <!--USB-->{{maybe|USB 3.1 gen 1 and 2}}
| <!--Ethernet-->{{No|Realtek PCIe 2.5G}}
| <!--Test Distro-->
| <!--Comments-->2021 64bit
|-
| <!--Name-->Beelink SER3 GTR4
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->AMD Vega 3 or 10
| <!--Audio-->HD Audio with codec
| <!--USB-->{{maybe|USB3}}
| <!--Ethernet-->Realtek RJ45 1GbE
| <!--Test Distro-->
| <!--Comments-->2020 64bit 3200u or 3750h
|-
| <!--Name-->AsRock DeskMini X300
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->2020 Ryzen 7 Pro 4750G 5600G
|-
| <!--Name-->MinisForum Besstar Tech X400 with AMD 4650G
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->AMD
| <!--Audio-->
| <!--USB-->{{maybe|USB 3.1 gen 1 and 2}}
| <!--Ethernet-->{{No|Realtek PCIe 2.5G}}
| <!--Test Distro-->
| <!--Comments-->2021 64bit - MP1584 - kill NB679 NB679GD-Z=ALTM=AL** QFN-12 IC-REG-DL buck/linear synchronous chip IC with bad usb cables -
|-
| <!--Name-->Beelink SER4 GTR5
| <!--IDE-->{{N/A}}
| <!--SATA-->cant boot from installed SSDs unless its an M.2
| <!--Gfx-->AMD Vega
| <!--Audio-->
| <!--USB-->{{maybe|USB3}}
| <!--Ethernet-->1 or 2 Realtek
| <!--Test Distro-->
| <!--Comments-->2021 64bit 4700U or 5900HX
|-
| <!--Name-->MSI PRO DP20Z 5M Mini PC - AMD Ryzen 5 5300G
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->{{No|Realtek 2.5G LAN RTL8125}}
| <!--Test Distro-->
| <!--Comments-->2018-2021 R3 3200G Vega 8 - R5 3400G Vega 11 - Ryzen 5 5600G Vega 7 - Athlon 3000G
|-
| <!--Name-->Minisforum UM450
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->Vega
| <!--Audio-->HDaudio
| <!--USB-->USB3
| <!--Ethernet-->{{No|Realtek 2.5G LAN RTL8125}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit - Ryzen 4500U -
|-
| <!--Name-->Gigabyte Brix
GB-BRR7-4800 (rev. 1.0)
GB-BRR7-4700 (rev. 1.0)
GB-BRR5-4500 (rev. 1.0)
GB-BRR3-4300 (rev. 1.0)
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->{{maybe|}}
| <!--Ethernet-->Realtek 2.5G LAN RTL8125
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->ASUS PN50 mini PC AMD Ryzen 7 4700U
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Vega
| <!--Audio-->HD audio with codec
| <!--USB-->{{maybe|3.1 gen1}}
| <!--Ethernet-->{{No|realtek 2.5GbE}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit -
|-
| <!--Name-->ASUS PN51-S1 mini PC AMD Ryzen 7 5700U
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->Vega thru dp or hdmi
| <!--Audio-->HD audio with codec
| <!--USB-->{{maybe|3.1 gen1}}
| <!--Ethernet-->{{No|realtek 2.5GbE}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit - 19v or 19.5v 90w psu round barrel - 32gb ddr4 sodimm -
|-
| <!--Name-->Minis Forum Bessstar Tech EliteMini B550
| <!--IDE-->{{N/A}}
| <!--SATA-->1 x 2.5in and 2 nvme
| <!--Gfx-->Vega 8
| <!--Audio-->
| <!--USB-->{{maybe|4 usb3.1}}
| <!--Ethernet-->{{No|realtek 8125 2.5GbE}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit AMD 4700G 5700G desktop cpu - 19v 120w round barrel -
|-
| <!--Name-->ASRock A300 and later X300 Mini itx with Desktop AM4 socket
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->Vega
| <!--Audio-->HDAudio
| <!--USB-->USB3
| <!--Ethernet-->1GbE
| <!--Test Distro-->
| <!--Comments-->2022 64bit - choose your own AMD APU GE 35w based - DDR4 -
|-
| <!--Name-->ASRock 4x4 BOX-5800U Zen 3-based AMD Ryzen 7 5800U 15W -
| <!--IDE-->{{N/A}}
| <!--SATA-->m.2 slot gen 3 and sata
| <!--Gfx-->vega
| <!--Audio-->HD audio with codec
| <!--USB-->{{maybe|}}
| <!--Ethernet-->{{Maybe|1 GbE and 1 2.5GbE}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit - WiFi 6E -
|-
| <!--Name-->Topton S500+ Gaming Mini PC - Morefine S500+ 5900HX Mini PC - Minisforum UM590 Ryzen AMD Zen3 Ryzen 9 5900HX 7 5800H 45W -
| <!--IDE-->{{N/A}}
| <!--SATA-->2 nvme 1 sata
| <!--Gfx-->Vega 8 thru HDMI 2.0, DP 1.4, and USB type-C
| <!--Audio-->
| <!--USB-->{{maybe|usb3.1}}
| <!--Ethernet-->{{Maybe|1 realtek rtl 8111h and 1 8125 2.5GbE bg-cg}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit - 2 sodimm ddr4 3200MHz -
|-
| <!--Name-->Chuwi RzBox later Ubox
| <!--IDE-->{{N/A}}
| <!--SATA-->2 nvme
| <!--Gfx-->Vega 8 later to 660m vga, dp, hdmi
| <!--Audio-->HDaudio
| <!--USB-->{{maybe|usb-c usb2}}
| <!--Ethernet-->dual gigabit
| <!--Test Distro-->
| <!--Comments-->2022 2025 64bit amd 5800h 4800h 6600H - 90w psu -
|-
| <!--Name-->Beelink Mini PC SER5, Trigkey AZW S5, Asus PN52, ZHI BEN MX-JB560,
| <!--IDE-->{{N/A}}
| <!--SATA-->PCIe3 M.2 2280 nvme
| <!--Gfx-->AMD Vega 6 with 1 or 2 hdmi
| <!--Audio-->HDAudio
| <!--USB-->{{maybe|USB3.0}}
| <!--Ethernet-->{{Maybe|Realtek 1GbE}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit 5500U 5560u 5600U to PRO 5600H 5800H - 19v 3.42W 65W psu -
|-
| <!--Name-->NIPOGI Kamrui ACEMAGICIAN AM06PRO Dual LAN Mini PC AMD Ryzen 7 5800U, 5 5500U or 5600U/5625U
| <!--IDE-->{{N/A}}
| <!--SATA-->M.2 and 2.5in sata
| <!--Gfx-->Vega 7
| <!--Audio-->HDAudio
| <!--USB-->USB3
| <!--Ethernet-->2 GbE ports
| <!--Test Distro-->
| <!--Comments-->2022 64bit - plastic build - 90w usb-c power - loud at 25W setting -
|-
| <!--Name-->Topton FU02 Fanless Mini PC AMD Ryzen 7 4700U 5600U 5800U 8 Core 16 Threads
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe and 2.5in sata
| <!--Gfx-->Vega
| <!--Audio-->HDAudio
| <!--USB-->4 3.0 with 2 2.0
| <!--Ethernet-->2 x 1G
| <!--Test Distro-->
| <!--Comments-->2022 64 - 2 ddr4 sodimm slots - fanless with copper cube from cpu to metal sheet which gets warm
|-
| <!--Name-->Xuu XR1 Lite (5300u 4c 8t) PRO 5400U MAX 5600U
| <!--IDE-->{{N/A}}
| <!--SATA-->1 NVMe 2242 slot
| <!--Gfx-->Vega 6
| <!--Audio-->HDAudio
| <!--USB-->2 3.0
| <!--Ethernet-->1G
| <!--Test Distro-->
| <!--Comments-->2022 64 quiet fan - very small case no expansions -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->MINISFORUM UM690 Venus Series
| <!--IDE-->{{N/A}}
| <!--SATA-->pcie4 nvme 2280 and 1 sata3 2.5in
| <!--Gfx-->680m RNDA2 12CU with 2 hdmi
| <!--Audio-->HD Audio with codec
| <!--USB-->{{maybe|1 USB4 and 2 USB3.2}}
| <!--Ethernet-->{{No|2.5G LAN}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit 6900hx 8C16T - 2 ddr5 sodimmm - 19v ???W -
|-
| <!--Name-->Beelink Mini PC GTR6
| <!--IDE-->{{N/A}}
| <!--SATA-->PCIe4
| <!--Gfx-->AMD 680M RDNA2
| <!--Audio-->
| <!--USB-->USB3.2
| <!--Ethernet-->{{No|Realtek 2.5GbE or intel i225}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit Ryzen 9 6900HX Zen3+ and a 2gb Radeon 680m 12CU ddr5 sodimm - 19v 120w psu -
|-
| <!--Name-->Asus PN53, Geekom AS 6,
| <!--IDE-->{{N/A}}
| <!--SATA-->pcie gen4 nvme and ata 2.5in
| <!--Gfx-->680m RNDA2 12CU with 2 hdmi and 1 dp
| <!--Audio-->HD Audio with codec
| <!--USB-->{{maybe|2 usb-c, 2 USB2.1 and 3 USB3.2}}
| <!--Ethernet-->{{No|1G LAN}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit 6900hx 8C 16T - 2 slots ddr5 sodimmm (64Gb max) - 19v 120W - 4 retained base screws beware ribbon cable -
|-
| <!--Name-->Micro Computer (HK) Tech Ltd MinisForum UM773 Lite later UM750L slim, GMKtec K2 Mini PC
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe PCIe4.0
| <!--Gfx-->RDNA
| <!--Audio-->HD Audio
| <!--USB-->USB4
| <!--Ethernet-->2.5GbE
| <!--Test Distro-->
| <!--Comments-->2023 2025 64bit - AMD Zen 3+ (8c 16t) Ryzen 7 7735HS, 7840HS and AMD Ryzen 9 7845HX AMD Ryzen™5 7545U (6c12t) - 19v up to 120w ac adapter - ddr5 sodimm 4800Mhz -
|-
| <!--Name-->[https://www.asrockind.com/en-gb/4x4 ASrock 4x4 SBC]
| <!--IDE-->{{N/A}}
| <!--SATA-->sata or nvme
| <!--Gfx-->Vega or 680M
| <!--Audio-->HDAudio
| <!--USB-->USB3 or USB4
| <!--Ethernet-->Realtek 1GbE or intel 2.5GbE
| <!--Test Distro-->
| <!--Comments-->2022 64bit -
|-
| <!--Name-->Beelink Mini PC GTR7 SER7
| <!--IDE-->{{N/A}}
| <!--SATA-->PCIe4 nvme 2280 up to 2Tb
| <!--Gfx-->AMD 780M RDNA3 GPU output on hdmi and dp
| <!--Audio-->HDAudio
| <!--USB-->USB3.2
| <!--Ethernet-->{{No|1 or 2 2.5GbE}}
| <!--Test Distro-->
| <!--Comments-->2023 64bit AMD Phoenix APUs Zen 4 CPU Ryzen 7 7840HS or 9 7940HS (8c 16t) - 19v 5.26A 120w psu - del dios setup f7 choose boot - 2 usb-c on back - up to 64gb via 2 ddr5 sodimm slots -
|-
| <!--Name-->MINISFORUM BD770i Ryzen 7 7745HX (8c16t) or BD795i SE 790i 9 7945HX (16c32t) or F1FXM_MB_V1.1 795M LGA1700 mATX
| <!--IDE-->{{N/A}}
| <!--SATA-->2 NVMe
| <!--Gfx-->Radeon 610m over usb-c, dp or hdmi
| <!--Audio-->HDAudio with codec
| <!--USB-->USB3 with 2 rear USB2
| <!--Ethernet-->Realtek 2.5G
| <!--Test Distro-->
| <!--Opinion-->2024 mini-ITX M/B is the first MoDT (Mobile on Desktop) with soldered AMD CPU - 2 dual PCIe4.0 M.2 slots - 2 ddr5 sodimm slots max 5200Mhz - 8pin cpu power - battery not easily replaceable underneath -
|-
| <!--Name-->Minisforum ms-a1 MS-a2
* 5700G to 8700G apu
* 9955HX
| <!--IDE-->{{N/A}}
| <!--SATA-->2 nvme
| <!--Gfx-->AMD 610M
| <!--Audio-->HDAudio
| <!--USB-->USB3
| <!--Ethernet-->dual 2.5GbE
| <!--Test Distro-->
| <!--Comments-->2024 64bit - 19v ?A round barrel jack - 2 ddr5 so-dimm slots -
|-
| <!--Name-->AOOSTAR GT68
| <!--IDE-->{{N/A}}
| <!--SATA-->Nvme
| <!--Gfx-->680m
| <!--Audio-->HDaudio
| <!--USB-->USB3
| <!--Ethernet-->2 2.5Gb
| <!--Test Distro-->
| <!--Comments-->2025 Ryzen7 Pro 6850H,
|-
| <!--Name-->NextSBC 7840HS
| <!--IDE-->{{N/A}}
| <!--SATA-->Nvme
| <!--Gfx-->AMD 780M 12CU
| <!--Audio-->HDAudio with codec
| <!--USB-->USB4 and USB 3.2
| <!--Ethernet-->2 GbE
| <!--Test Distro-->
| <!--Comments-->2025 64bit - 32Gb soldered -
|-
| <!--Name-->Firebat A6 R7 6800H
| <!--IDE-->{{N/A}}
| <!--SATA-->nvme
| <!--Gfx-->AMD 680M
| <!--Audio-->HDaudio
| <!--USB-->USB3
| <!--Ethernet-->rtl8169
| <!--Test Distro-->
| <!--Comments-->2025 64bit -
|-
| <!--Name-->Minisforum UM760 7640HS
| <!--IDE-->{{N/A}}
| <!--SATA-->nvme
| <!--Gfx-->AMD 760
| <!--Audio-->HDaudio
| <!--USB-->USB4
| <!--Ethernet-->rtl8169 and 2.5Gb
| <!--Test Distro-->
| <!--Comments-->2025 64bit -
|-
| <!--Name-->Peladn WO4 Mini PC
| <!--IDE-->{{N/A}}
| <!--SATA-->nvme
| <!--Gfx-->AMD 760
| <!--Audio-->HDaudio
| <!--USB-->USB3
| <!--Ethernet-->rtl8169
| <!--Test Distro-->
| <!--Comments-->2025 64bit 7640HS - 19v 5.26A 120W -
|-
| <!--Name-->BossGame M4 Neo 7840HS
| <!--IDE-->{{N/A}}
| <!--SATA-->nvme
| <!--Gfx-->AMD 780
| <!--Audio-->HDaudio
| <!--USB-->USB3
| <!--Ethernet-->rtl8169
| <!--Test Distro-->
| <!--Comments-->2025 64bit -
|-
| <!--Name-->Minisforum UM870 || <!--IDE-->{{N/A}} || <!--SATA-->NVme || <!--Gfx-->AMD 780M || <!--Audio-->HDaudio || <!--USB-->USB3 || <!--Ethernet-->2.5GbE || <!--Test Distro--> || <!--Comments-->2025 64bit -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->GEEKOM A8 Max AI Mini PC AMD Ryzen™ 9 8945HS, Ryzen™ 7 8845HS or 8745HS
| <!--IDE-->{{N/A}}
| <!--SATA-->NVme
| <!--Gfx-->AMD 780M
| <!--Audio-->HDAudio with codec
| <!--USB-->{{maybe| USB4}}
| <!--Ethernet-->{{No|Dual 2.5 G Ethernet ports}}
| <!--Test Distro-->
| <!--Comments-->2025 64bit -
|-
| <!--Name-->Beelink SER 9
| <!--IDE-->{{N/A}}
| <!--SATA-->NVme
| <!--Gfx-->Radeon 890M
| <!--Audio-->HDaudio
| <!--USB-->USB4
| <!--Ethernet-->{{No| }}
| <!--Test Distro-->
| <!--Comments-->2025 64bit - Ryzen AI HX 370 strix point -
|-
| <!--Name-->GMKtec EVO-X2 mini pc
| <!--IDE-->{{n/a}}
| <!--SATA-->nvme
| <!--Gfx-->AMD 8060S iGPU RDNA3.5 RADV GFX1151
| <!--Audio-->HDaudio
| <!--USB-->USB4
| <!--Ethernet-->{{No| }}
| <!--Test Distro-->
| <!--Comments-->2025 64bit - amd ryzen AI Max+ 395 (16c32t) strix halo -
|-
| <!--Name-->BosGame M5
| <!--IDE-->{{n/a}}
| <!--SATA-->nvme
| <!--Gfx-->AMD 8060S iGPU RDNA3.5 RADV GFX1151
| <!--Audio-->HDaudio
| <!--USB-->USB4
| <!--Ethernet-->{{No| }}
| <!--Test Distro-->
| <!--Comments-->2025 64bit - amd ryzen AI Max+ 395 (16c32t) -
|-
| <!--Name-->Steam Machine GabeCube
| <!--IDE-->{{N/A}}
| <!--SATA-->nvme
| <!--Gfx-->semi-custom 1080p amd 7600m like with 28cu 8gb ddr6 gddr 10GFlops
| <!--Audio-->hdaudio with codec
| <!--USB-->usb3
| <!--Ethernet-->{{maybe|rtl8169}}
| <!--Test Distro-->
| <!--Comments-->2026 64bit amd 1772 hawk point2 6c12t zen4 avx512 FP7 socket with FCH51 - 16gb ddr5 -
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|}
===Server Systems===
[[#top|...to the top]]
====IBM====
{| class="wikitable sortable" width="100%"
! width="15%" |Name
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Integrated Gfx
! width="10%" |Audio
! width="10%" |USB
! width="10%" |Ethernet
! width="15%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->xSeries 206m
| <!--IDE-->{{yes}}
| <!--SATA-->{{yes}}
| <!--Gfx-->{{Maybe|ATI RN50b (VESA only)}}
| <!--Audio-->{{n/a}}
| <!--USB-->{{yes|USB 2.0 (UHCI/EHCI)}}
| <!--Ethernet-->{{no|Broadcom}}
| <!--Test Distro-->Nightly Build 2014-09-27
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
|}
===Motherboard===
[[#top|...to the top]]
* Late 2002, USB2.0 added and slightly better AROS sound support (AC97) appeared
* 2002-2005 and still, to a limited extent, ongoing [http://en.wikipedia.org/wiki/Capacitor_plague bad capacitors]
* Late 2003, ATX PSUs moved from 5V to 12v rails (extra 4pin on motherboard for CPU)
* Late 2005, PCI Express replaced AGP and HDAudio replaced AC97
* Late 2007, ATX PSUs added extra 12V PCI-E connectors and 4+4pin for CPUs
* Late 2010, USB3.0 appears on motherboards or needing a PCI-E motherboard slot
* Late 2014 Hardware USB2 removed from USB3 chipsets
====AMD Sockets====
[[#top|...to the top]]
=====Socket 7 (1997/1999)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->1997 VT82C586B (QFP-208) is the first from VIA with DDMA
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2000 VT82C686 has close to excellent DDMA support
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->SiS 5581/5582
SiS 5591/5595
SiS 530 /5595
SiS 600/5595
SiS 620/5595
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|}
=====Socket A 462 (2001/4)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->[http://www.sharkyextreme.com/hardware/motherboards/article.php/2217921/ABIT-NF7-S-nForce2-Motherboard-Review.htm Abit NF7-S]
| <!--Chipset-->nForce 2
| <!--ACPI-->
| <!--IDE-->2 ports
| <!--SATA-->SIL 3112A
| <!--Gfx-->
| <!--Audio-->{{yes|ALC650 AC97 (Nvidia APU)}}
| <!--USB-->{{yes}}
| <!--Ethernet-->Realtek RTL 8201LB
| <!--Opinion-->Firewire Realtek RTL8801B
|-
| <!--Name-->ASRock K7NF2
| <!--Chipset-->nforce2 ultra 400
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->{{yes|AGP 8x}}
| <!--Audio-->CMedia CMI 9761A AC'97
| <!--USB-->{{yes}}
| <!--Ethernet-->Realtek 8201
| <!--Opinion-->
|-
| <!--Name-->ASRock K7S8X
| <!--Chipset-->SIS 746FX
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->
| <!--Gfx-->{{yes|AGP 8x}}
| <!--Audio-->{{yes|AC'97 cmedia}}
| <!--USB-->{{maybe|USB2.0 works but does not boot}}
| <!--Ethernet-->{{yes|SiS900}}
| <!--Opinion-->
|-
| <!--Name-->ASRock K7S41GX
| <!--Chipset-->SIS 741GX + DDR 333
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->
| <!--Gfx-->{{maybe|onboard sis does not work with vga or vesa but AGP 8x works}}
| <!--Audio-->{{yes|AC97 SIS 7012}}
| <!--USB-->{{maybe|USB2.0 works but does not boot}}
| <!--Ethernet-->{{yes|SiS 900}}
| <!--Opinion-->works ok
|-
| <!--Name-->[http://www.asus.com ASUS A7N8X]
| <!--Chipset-->nForce2
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->Silicon Image Sil 3112A
| <!--Gfx-->1 AGP slot
| <!--Audio-->{{yes|ac97 ALC650}}
| <!--USB-->{{yes|ehci USB2.0}}
| <!--Ethernet-->{{yes|rtl8201BL - nforce}}
| <!--Opinion-->first total support for AROS in 2004/5 - damocles and M Schulz
|-
| <!--Name-->Biostar M7NCD
| <!--Chipset-->nForce2 Ultra 400
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->{{yes|ALC650 AC97}}
| <!--USB-->
| <!--Ethernet-->{{yes|RTL8201BL}}
| <!--Opinion-->
|-
| <!--Name-->Chaintech 7NJS Ultra Zenith
| <!--Chipset-->nForce2 Ultra 400
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->Promise PDC 20376
| <!--Gfx-->
| <!--Audio-->{{yes|CMI8738}}
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->DFI Lanparty NF2 Ultra
| <!--Chipset-->nForce2 Ultra 400
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->{{no|via ac97 VT1616}}
| <!--USB-->
| <!--Ethernet-->RTL8139C
| <!--Opinion-->
|-
| <!--Name-->ECS N2U400-A
| <!--Chipset-->nForce2 Ultra 400
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->{{no|Cmedia 9379A AC97}}
| <!--USB-->{{yes|usb2.0}}
| <!--Ethernet-->{{no|VIA VT6103L}}
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA7N400L
| <!--Chipset-->nForce2 Ultra 400
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->1 AGP 8x slot
| <!--Audio-->{{yes|AC97 ALC650}}
| <!--USB-->2 USB2.0
| <!--Ethernet-->RTL8100C
| <!--Opinion-->
|-
| <!--Name-->[http://www.gigabyte.lv/products/page/mb/ga-8siml Gigabyte 8SIML]
| <!--Chipset-->SIS 650
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->
| <!--Gfx-->{{maybe|VESA}}
| <!--Audio-->{{yes|AC'97}}
| <!--USB-->{{maybe|working}}
| <!--Ethernet-->{{no|Realtek RTL8100L LAN}}
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Matsonic [http://www.elhvb.com/mobokive/archive/matsonic/manual/index.html Manuals] MS83708E
| <!--Chipset-->SIS730
| <!--ACPI-->
| <!--IDE-->{{yes|SiS 5513}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->{{maybe|sis 305 no support use VESA}}
| <!--Audio-->{{no|sis7018}}
| <!--USB-->{{no|SiS 7001 USB 1.1 only}}
| <!--Ethernet-->{{yes|SIS900}}
| <!--Opinion-->little support
|-
| <!--Name-->[http://h10025.www1.hp.com/ewfrf/wc/document?docname=bph07585&lc=en&dlc=en&cc=us&dest_page=softwareCategory&os=228&tool=softwareCategory&query=Pavilion%20742n&product=89232 MSI MS-6367 HP 722n 742n (Mambo) (2001/2)]
| <!--Chipset-->Nvidia nforce 220D (2001/2)
| <!--ACPI-->
| <!--IDE-->{{Yes}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->GeForce2 AGP works 2D nouveau only
| <!--Audio-->{{Maybe|AC97 ADI 1885 no volume control on Units 0-3}}
| <!--USB-->{{Yes|4 USB1.1 ports AMD based - front 2 ports iffy}}
| <!--Ethernet-->{{No|nForce}}
| <!--Opinion-->Tested 20th Aug 2012 NB
|-
| <!--Name-->MSI K7N2 [http://us.msi.com/index.php?func=proddesc&maincat_no=1&prod_no=546/ Delta ILSR] Delta-L
| <!--Chipset-->nForce2 (2002/3)
| <!--ACPI-->
| <!--IDE-->{{yes|Primary & Secondary ports}} IDE Tertiary port (RAID)
| <!--SATA-->2 ports (RAID)
| <!--Gfx-->{{yes|when fitted with an agp video card}}
| <!--Audio-->{{yes|ac97 ALC650}}
| <!--USB-->{{yes}}
| <!--Ethernet-->{{yes|rtl8201BL - nforce}}
| <!--Opinion-->runs AROS well. Tested with Icaros 1.2.3
|-
| <!--Name-->MSI K7N2 Delta2-LSR Platinum
| <!--Chipset-->nForce2 (2002/3)
| <!--ACPI-->
| <!--IDE-->{{yes|Primary & Secondary ports}} IDE Tertiary port (RAID)
| <!--SATA-->2 ports (RAID)
| <!--Gfx-->{{yes|when fitted with an agp video card}}
| <!--Audio-->{{No|ac97 ALC655}}
| <!--USB-->{{yes}}
| <!--Ethernet-->{{yes|rtl8201BL - nforce}}
| <!--Opinion-->runs AROS well. Tested with Icaros 1.2.3
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->[http://www.sharkyextreme.com/hardware/motherboards/article.php/2204281/Soltek-SL-75MRN-L-nForce2-Motherboard-Review.htm Soltek 75FRN-L]
| <!--Chipset-->nForce2
| <!--ACPI-->
| <!--IDE-->{{yes|2 ports}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->AGP slot
| <!--Audio-->{{yes|ALC650}}
| <!--USB-->{{yes|2 usb2.0}}
| <!--Ethernet-->{{yes|Realtek RTL8201BL}}
| <!--Opinion-->good support
|-
| <!--Name-->[http://www.3dvelocity.com/reviews/mach4nf2ultra/mach4.htm XFX Pine Mach4 nForce2 Ultra 400]
| <!--Chipset-->nForce2
| <!--ACPI-->
| <!--IDE-->{{yes|3 ports}}
| <!--SATA-->{{maybe|2 ports VIA VT6240}}
| <!--Gfx-->1 AGP 8x slot
| <!--Audio-->{{yes|ALC650}}
| <!--USB-->{{yes|2 USB2.0}}
| <!--Ethernet-->{{yes|RTL8201BL}}
| <!--Opinion-->some support
|-
| <!--Name-->ASUS A7V266
| <!--Chipset-->via KT266A + 8233
| <!--ACPI-->
| <!--IDE-->{{no|issues}}
| <!--SATA-->
| <!--Gfx-->1 AGP slot
| <!--Audio-->AC97 with AD1980 codec
| <!--USB-->via 8233
| <!--Ethernet-->VIA VT6103
| <!--Opinion-->2002 issues with booting
|-
| <!--Name-->Asus A7V8X-X
| <!--Chipset-->VIA KT400
| <!--ACPI-->
| <!--IDE-->{{unk| }}
| <!--SATA-->{{N/A}}
| <!--Gfx-->{{yes|agp}}
| <!--Audio-->{{unk|AC97 with ADI AD1980 codec}}
| <!--USB-->{{unk|VIA 8235}}
| <!--Ethernet-->{{unk|Realtek 10/100}}
| <!--Opinion-->2003 not booting for Socket A for AMD Barton/Thoroughbred/Athlon XP/Athlon/Duron 2.25+ GHz CPU - 3 x DDR DIMM Sockets Max. 3 GB -
|-
|}
=====Socket 754 (2004/5)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->Abit NF8-V2
| <!--Chipset-->nForce3 250GB (2004/5)
| <!--ACPI-->
| <!--IDE-->{{yes|2 ports}}
| <!--SATA-->{{maybe|2 ports}}
| <!--Gfx-->1 AGP slot x8
| <!--Audio-->ALC658 ac97
| <!--USB-->{{yes|2 USB2.0}}
| <!--Ethernet-->{{no|RTL8201C}}
| <!--Opinion-->a little support but no Firewire VIA VT6306
|-
| <!--Name-->Biostar CK8 K8HNA Pro
| <!--Chipset-->nforce3 150
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->VT6420 thru ide legacy only
| <!--Gfx-->
| <!--Audio-->{{no|AC97 ALC655}}
| <!--USB-->
| <!--Ethernet-->Realtek RTL8110S
| <!--Opinion-->Firewire VT6307 no
|-
| <!--Name-->[http://www.extremeoverclocking.com/reviews/motherboards/Chaintech_ZNF3-150_3.html Chaintech ZNF3-150 Zenith]
| <!--Chipset-->nforce3 150
| <!--ACPI-->
| <!--IDE-->2 ports
| <!--SATA-->{{maybe|Sli3114 SATA via IDE emul}}
| <!--Gfx-->1 AGP slot
| <!--Audio-->{{no|VIA Envy24PT (VT1720) + VT1616}}
| <!--USB-->{{Maybe|2 USB2.0}}
| <!--Ethernet-->{{no|Broadcom GbE 5788}}
| <!--Opinion-->very little support needs PCI cards but no Firewire VIA VT6306
|-
| <!--Name-->DFI Lanparty UT nF3 250GB
| <!--Chipset-->nForce3 250gb
| <!--ACPI-->
| <!--IDE-->2 ports
| <!--SATA-->{{maybe|2 ports nForce3 and 2 Marvell SATA PHY}}
| <!--Gfx-->
| <!--Audio-->{{yes|AC97 ALC850}}
| <!--USB-->{{Maybe|2 USB2.0}}
| <!--Ethernet-->CK8S - Winfast NF3 250K8AA works and Marvell 88E1111 does not work
| <!--Opinion-->2005 some support but no Firewire VIA VT6307
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Gigabyte GA-K8N
| <!--Chipset-->NVIDIA nForce3 150
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->Realtek ALC658 AC97
| <!--USB-->
| <!--Ethernet-->Realtek RTL8100C
| <!--Opinion-->Firewire TI43AB23 no
|-
| <!--Name-->Gigabyte K8NNXP
| <!--Chipset-->nForce3 150
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->Sata sil3512
| <!--Gfx-->
| <!--Audio-->ALC658 AC97
| <!--USB-->
| <!--Ethernet-->RTl8110S
| <!--Opinion-->Firewire TI STB82AA2 no
|-
| <!--Name-->Gigabyte GA-K8NSNXP
| <!--Chipset-->nForce3 250GB
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->SiI 3512 CT128 Sata Sil3515
| <!--Gfx-->
| <!--Audio-->ALC850 AC97
| <!--USB-->
| <!--Ethernet-->{{No|Marvel 88E8001}}
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->MSI K8N Neo-FIS2R
| <!--Chipset-->nVIDIA NF3-250Gb
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->Realtek 7.1 AC'97 ALC850
| <!--USB-->
| <!--Ethernet-->{{No|Marvell 88E1111}}
| <!--Opinion-->
|-
| <!--Name-->[http://techreport.com/articles.x/5748/1 Shuttle AN50R]
| <!--Chipset-->nF3-150
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->Sil 3112
| <!--Gfx-->
| <!--Audio-->ALC650 AC97
| <!--USB-->
| <!--Ethernet-->Nvidia nF3 (10/100) Intel 82540EM Gigabit
| <!--Opinion-->Firewire VT6307 no
|-
| <!--Name--> Foxconn WinFast K8S755A
| <!--Chipset-->SiS755 + SiS964 (DDR333)
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio--> {{yes|AC97}}
| <!--USB-->
| <!--Ethernet--> {{yes|RTL8169}}
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket 939 (2005)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->Asus A8N-LA GeForce 6150 LE
| <!--Chipset-->Geforce 6150 (MCP51) + nForce 430 (PC-3200)
| <!--ACPI-->
| <!--IDE-->{{yes|two ATA 133}}
| <!--SATA-->{{maybe|four 3.0GB/s SATAII ports}}
| <!--Gfx-->built in or PCI-E x16
| <!--Audio-->Realtek ALC883 HD Audio
| <!--USB-->6 USB2.0
| <!--Ethernet-->Realtek RTL 8201CL
| <!--Opinion-->
|-
| <!--Name-->Asus A8N-SLI Premium
| <!--Chipset-->NVidia
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->{{Yes|PCIe slot}}
| <!--Audio-->{{Yes|AC97}}
| <!--USB-->{{Maybe}}
| <!--Ethernet-->{{Yes|nForce LAN but not Marvell}}
| <!--Opinion-->Works well
|-
| <!--Name-->DFI nF4 Ultra-D LanParty - Diamond Flower International sold to BenQ group 2010
| <!--Chipset-->nF4
| <!--ACPI-->
| <!--IDE-->2 ports
| <!--SATA-->4 ports SATA 2
| <!--Gfx-->2 PCIe x16 slots
| <!--Audio-->AC97 with ALC850 codec
| <!--USB-->
| <!--Ethernet-->Dual Gigabit Ethernet, PCIe by Vitesse VSC8201 PHY nee Cicada 8201, PCI by Marvel 88E8001
| <!--Opinion-->2006 64bit - Four 184-pin DDR Dual-Channel Slots - 1 pci on Ultra, 2 pci on sli,
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus A8V E SE
| <!--Chipset-->VIA K8T890 +VT8237R CHIPSET ATX AMD Motherboard with Athlon 64 X2 / Athlon 64 FX / Athlon 64
| <!--ACPI-->{{N/A}}
| <!--IDE-->{{Yes}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->{{N/A}}
| <!--Audio-->{{Maybe}} AC97 driver using Realtek ALC850 codec
| <!--USB-->{{Yes}} USB 2.0 only
| <!--Ethernet-->{{No}} Marvell 88E8053
| <!--Opinion-->Good base but needs additional PCI cards added for better support
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->ASUS A8V Deluxe (2004)
| <!--Chipset-->VIA K8T800 Pro (DDR400)
| <!--ACPI-->
| <!--IDE-->Promise 20378 2 ports
| <!--SATA-->2 SATA2
| <!--Gfx-->
| <!--Audio-->{{no|VIA VT8233A 8235 8237 AC97}}
| <!--USB-->
| <!--Ethernet-->{{no|Marvell 88E8001 Gigabit}}
| <!--Opinion-->needs extra PCI cards
|-
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->AsRock 939Dual-SATA2
| <!--Chipset-->Ali Uli M1695 PCIe with M1567 AGP
| <!--ACPI-->
| <!--IDE-->2 ports
| <!--SATA-->1 Sata with JMicron JMB360 chip
| <!--Gfx-->1 pci-e and 1 agp
| <!--Audio-->AC97 with ALC850 codec
| <!--USB-->
| <!--Ethernet-->Realtek RTL8201CL PHY ULi 10/100
| <!--Opinion-->64bit pci-e and agp combo on board - 4 ddr slots -
|}
=====Socket AM2 (2006/8) and AM2+ (2007-2010) =====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-M61PME-S2 (rev. 2.x)
| <!--Chipset-->NVIDIA® GeForce 6100 / nForce 430 chipset
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->{{maybe|VESA 2d for vga}}
| <!--Audio-->{{yes|HDAudio Realtek ALC662 Audio Codec}}
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus M2N61-AR mini itx
| <!--Chipset-->NVIDIA nForce 430
| <!--ACPI-->
| <!--IDE-->1
| <!--SATA-->2
| <!--Gfx-->GeForce 6150SE via vga or 1 pci-e slot
| <!--Audio-->HD Audio with codec
| <!--USB-->Nvidia
| <!--Ethernet-->Nvidia
| <!--Opinion-->2006 32bit - 1 pci - 2 ddr2 dimm slots non-eec -
|-
| <!--Name-->asus m2n68-am se2
| <!--Chipset-->nvidia 630a 630/a MCP68SE
| <!--ACPI-->
| <!--IDE-->1 ports
| <!--SATA-->2 ports MCP61 chipset is SATA over IDE, not SATA over AHCI and reports subsystem as 0x1 IDE, not 0x6 SATA
| <!--Gfx-->{{Yes|nvidia 7025 2d and 3d thru vga}}
| <!--Audio-->{{Yes|hd audio with realtek alc662 codec}}
| <!--USB-->{{Yes| }}
| <!--Ethernet-->{{Yes|nForce chipset RTL 8201CP}}
| <!--Opinion-->2007 64bit Phenom IIX2, Athlon 64 LE X2, Sempron, and Phenom FX processors - ddr2 667Mhz ram max 4Gb -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-MA770-UD3 (rev. 1.0)
| <!--Chipset-->AMD 770 with SB700
| <!--ACPI-->
| <!--IDE-->{{yes| }}
| <!--SATA-->{{yes| }}
| <!--Gfx-->pci-e
| <!--Audio-->{{yes|ALC888 codec }}
| <!--USB-->{{yes|USB2}}
| <!--Ethernet-->{{yes|rtl8169 8111C later 8111D}}
| <!--Opinion-->Good support for AM2+ / AM2 with 4 ddr2 ram - 4 x PCI Express x1, 2 x PCI slots - firewire T.I. TSB43AB23 chip no support -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus M3A32-MVP Deluxe
| <!--Chipset-->AMD 790FX RD790 + SB600
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->{{No|Marvell 88SE6121 SATA II}}
| <!--Gfx-->pci-e 1.1 support
| <!--Audio-->{{No|HD Audio ADI® AD1988}}
| <!--USB-->
| <!--Ethernet-->{{No|Marvell 88E8056}}
| <!--Opinion-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->ASROCK N68-S N68C-S
| <!--Chipset-->AMD based nForce 630a
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->{{yes|slimline DVD drive works}}
| <!--Gfx-->{{maybe|GF 7025 use vesa}}
| <!--Audio-->{{yes|HDAudio for VIA 1708S VT1705}}
| <!--USB-->{{Maybe|echi usb 2.0}}
| <!--Ethernet-->{{no|RTL8201EL / 8201CL - nforce}}
| <!--Opinion-->2008 unbuffered 1066Mhz ddr2 ram - N68C-S may need noacpi added to grub boot line to disable pci temporarily to run as it cannot get to [PCI] Everything OK -
|-
| <!--Name-->Asus M2N68-AM Plus
| <!--Chipset-->Athlon 64, Sempron, Athlon 64 X2, Athlon 64 FX with nvidia 630a
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->no vga, pci-e slot only
| <!--Audio-->{{yes|HD Audio with ALC662 codec}}
| <!--USB-->
| <!--Ethernet-->{{no|RTL8211CL Gigabit LAN}}
| <!--Opinion-->adding "noacpi noapic noioapic" to the GRUB options - Dual channel DDR2 1066, 800, 667 MHz -
|-
| <!--Name-->Gigabyte GA-M68M-S2 (1.0) S2P (2.3) S2L GA-M68SM-S2 (1.x)
| <!--Chipset-->nForce 630a chipset
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->NVIDIA® GeForce 7025, vga (s2 and s2p), dvi (s2l)
| <!--Audio-->ALC883 (S2), ALC888B (S2P), ALC662 (S2L),
| <!--USB-->
| <!--Ethernet-->RTL 8201CL (S2), 8211CL (S2P), 8211BL (S2L),
| <!--Opinion-->2008 64bit possible with AMD AM2+ CPU on AM2 motherboard, the system bus speed will downgrade from HT3.0(5200MHz) to HT1.0(2000 MT/s) spec
|-
| <!--Name-->ASUS M2N68-VM
| <!--Chipset-->nForce 630a (MCP68PVNT)
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Nvidia GeForce ® 7050PV hdmi, dvi and vga
| <!--Audio-->HD audio VIA 1708B codec
| <!--USB-->
| <!--Ethernet-->RTL 8211C
| <!--Opinion-->2008 64bit - ddr2 800Mhz
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket AM3 White socket (2010/11)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->Gigabyte GA-MA74GM-S2 GA-MA74GM-S2H
| <!--Chipset-->740g with sb710
| <!--ACPI-->
| <!--IDE-->{{yes| }}
| <!--SATA-->{{yes|bios IDE}}
| <!--Gfx-->Radeon 2100 and pci-e slot
| <!--Audio-->ALC888 (r1.x),ALC888b (r2.0), ALC888B (rev4.x)
| <!--USB-->USB2
| <!--Ethernet-->rtl8169 Realtek 8111C later 8111D
| <!--Opinion-->2010 64bit - 2 x 1.8V DDR2 DIMM sockets max 8 GB - Micro ATX Form Factor 24.4cm x 23.4cm -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->[http://www.vesalia.de/e_aresone2011.htm Aresone 2011]
| <!--Chipset-->760g
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Yes}}
| <!--Gfx-->{{Maybe|no Radeon HD3000 driver yet<br>vesa driver works<br>and add PCIe card}}
| <!--Audio-->{{Yes|HD Audio}}
| <!--USB-->{{Yes|USB2.0}}
| <!--Ethernet-->{{yes}}
| <!--Opinion-->Good support - 4 DDR3 memory sockets -
|-
| <!--Name-->Foxconn A76ML-K 3.0
| <!--Chipset-->AMD 760g rev3.0
| <!--ACPI-->
| <!--IDE-->{{Yes|1 }}
| <!--SATA-->{{Yes|4 in IDE mode }}
| <!--Gfx-->HD3000 with pci-e slot
| <!--Audio-->HDAudio with ALC662-GR codec
| <!--USB-->USB2
| <!--Ethernet-->rtl8169 rtl8111E
| <!--Opinion-->2011 64bit - 2 ddr3 slots - 2 pci slots -
|-
| <!--Name-->GA-MA770T-UD3P (rev. 1.0 to 1.4)
| <!--Chipset-->amd 770 with sb710
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{yes|4 sata}}
| <!--Gfx-->pci-e
| <!--Audio-->{{yes|HDAudio with Realtek ALC888 codec}}
| <!--USB-->{{yes| }}
| <!--Ethernet-->{{yes|rtl8168 rtl8111c/d}}
| <!--Opinion-->2011 64 - 4 ddr3 dimm slots -
|-
| <!--Name-->Gigabyte GA-MA770-UD3 (rev. 2.0 2.1)
| <!--Chipset-->AMD 770 with SB700
| <!--ACPI-->
| <!--IDE-->{{yes| }}
| <!--SATA-->{{yes| }}
| <!--Gfx-->pci-e
| <!--Audio-->{{yes|ALC888 codec }}
| <!--USB-->{{yes|USB2}}
| <!--Ethernet-->{{yes|rtl8169 8111C later 8111D}}
| <!--Opinion-->Good support for AM3 with 4 ddr2 ram - 4 x PCI Express x1, 2 x PCI slots - firewire T.I. TSB43AB23 chip no support -
|-
| <!--Name-->Asus M4A785TD-M PRO
| <!--Chipset-->785G and SB710
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Maybe|ide legacy}}
| <!--Gfx-->{{Maybe|ATI Radeon HD 4200 - use vesa}} or pci-e 2.0 slot
| <!--Audio-->{{Yes|HD Audio}}
| <!--USB-->{{Yes| }}
| <!--Ethernet-->{{Yes| }}
| <!--Opinion-->Good support with 1366 ddr3 ram -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->ASUS M4A88T-I Deluxe ITX
| <!--Chipset-->AMD 880G with AMD SB710
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->Three SATA 3Gbps
| <!--Gfx-->Radeon HD 4350 GPU with HDMI and DVI or One 16x PCI-Express 2.0
| <!--Audio-->HDAudio with Realtek ALC889
| <!--USB-->6 x USB 2, 2 x USB 3
| <!--Ethernet-->{{No|Realtek RTL8112L}}
| <!--Opinion-->2014 64bit - 2 SODIMM DDR3 slots max 8GB
|-
| <!--Name-->Asus M4A88T-M Version E5907 E5826
| <!--Chipset-->AMD 880G SB710
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Radeon 4250
| <!--Audio-->HD Audio with VIA VT 1708S codec
| <!--USB-->
| <!--Ethernet-->Realtek rtl8169 8111E
| <!--Opinion-->2010 64bit -
|-
| <!--Name-->GigaByte 890GPA-UD3H
| <!--Chipset-->AMD 890GX together with SB850
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->Yes
| <!--Gfx-->use pci-e nvidia
| <!--Audio-->Maybe - ALC892 rev. 1.0, ALC892 rev 2.1, ALC889 rev. 3.1
| <!--USB-->Yes
| <!--Ethernet-->Yes
| <!--Opinion-->works well overall
|-
| <!--Name-->Gigabyte GA-890FXA-UD7
| <!--Chipset-->AMD 890FX with SB850
| <!--ACPI-->
| <!--IDE-->{{yes| }}
| <!--SATA-->{{yes|IDE }}
| <!--Gfx-->
| <!--Audio-->ALC889 (rev 2.x)
| <!--USB-->{{Yes|AMD USB2 but limited with NEC D720200F1 USB3}}
| <!--Ethernet-->2 x Realtek 8111D
| <!--Opinion-->2012 64bit - XL-ATX Form Factor 32.5cm x 24.4cm - 4 ddr3 slots -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MSI 890GXM-G65
| <!--Chipset-->890GX + SB750
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->{{Maybe|legacy}}
| <!--Gfx-->{{Maybe|ATI 4290 built-in (vesa)}}
| <!--Audio-->{{Maybe|ALC889 DD GR}} HD Audio crackles
| <!--USB-->{{Yes}}
| <!--Ethernet-->{{Yes|RTL 8169}}
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->ASRock N68-VS3 FX
| <!--Chipset-->NVIDIA® GeForce 7025 / nForce 630a
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 Sata2
| <!--Gfx-->Integrated NVIDIA® GeForce 7025
| <!--Audio-->HD Audio with VIA® VT1705 Codec
| <!--USB-->USB2
| <!--Ethernet-->Realtek PHY RTL8201EL
| <!--Opinion-->2010 64bit - 2 x DDR3 DIMM slots -
|-
| <!--Name-->MSI GF615M-P35 MS-7597
| <!--Chipset-->NVIDIA® nForce 430
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->GeForce 6150SE
| <!--Audio-->{{Maybe|HD Audio with Realtek® ALC888S}}
| <!--USB-->{{No|freezes}}
| <!--Ethernet-->{{No|Realtek 8211CL}}
| <!--Opinion-->2010 64bit
|-
| <!--Name-->Gigabyte GA-M68MT-S2
| <!--Chipset--> nForce 630a
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->NVIDIA® GeForce 7025 vga
| <!--Audio-->ALC888B (1.3), ACL887 (3.1),
| <!--USB-->
| <!--Ethernet-->RTL8211CL (all)
| <!--Opinion-->2010 64bit possible, AMD AM3 CPU on this motherboard, the system bus speed will downgrade from HT3.0 (5200MT/s) to HT1.0 (2000 MT/s) spec
|-
| <!--Name-->Gigabyte GA-M68MT-S2P
| <!--Chipset--> nForce 630a
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->NVIDIA® GeForce 7025 vga
| <!--Audio-->ALC888B (1.x 2.x), ALC889 (3.0), ALC888B/889 (3.1),
| <!--USB-->
| <!--Ethernet-->RTL8211CL (all)
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus M4N78 PRO
| <!--Chipset-->NVIDIA GeForce 8300
| <!--ACPI-->
| <!--IDE-->1 xUltraDMA 133/100
| <!--SATA-->6 xSATA 3 Gbit/s ports
| <!--Gfx-->Integrated NVIDIA® GeForce® 8 series GPU with 1 PCIe 2.0 slot
| <!--Audio-->HD Audio with VIA1708S 8 -Channel codec
| <!--USB-->12 USB 2.0 ports (8 ports at mid-board, 4 ports at back panel)
| <!--Ethernet-->NVIDIA Gigabit
| <!--Opinion-->4 x DIMM, Max. 16 GB, DDR2 1200(O.C.)/1066*/800/667 ECC,Non-ECC,Un-buffered Memory - ATX Form Factor 12 inch x 9.6 inch ( 30.5 cm x 24.4 cm ) -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|}
=====Socket AM3+ Black socket (2012/15)=====
*095W FX-6300 FD6300WMHKBOX (bulldozer SSE4.1 AVX) 970 mobos with FX-8320E 8core Black Editions FD832EWMHKBOX FX-8370E (Vishera/Piledriver)
*125W FX-6310 (bulldozer) 970 mobos with FX-8320 FX-8350 FX-8370 (Vishera/Piledriver)
*220W 990FX mobos with FX-9000 FX-9370 FX-9590
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->ASUS M5A78L-M LX3
| <!--Chipset-->AMD 760G with SB710
| <!--ACPI-->
| <!--IDE-->{{yes| }}
| <!--SATA-->{{Yes|bios IDE mode}}
| <!--Gfx-->HD3000 with pci-e slot
| <!--Audio-->HDAudio with ALC887, V? ALC892 codecs
| <!--USB-->USB2
| <!--Ethernet-->{{No|Qualcomm Atheros 8161/8171 add realtek 8111? pci-e card}}
| <!--Opinion-->2012 64bit - uATX Form Factor 9.6 inch x 7.4 inch ( 24.4 cm x 18.8 cm ) - 2 x DIMM, Max. 16GB, DDR3 -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-78LMT-S2P
| <!--Chipset-->AMD 760G and SB710
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{yes|6 SATA2 ports}}
| <!--Gfx-->GT240 and a nv7900gs, both pci-e
| <!--Audio-->{{Maybe|ALC889 (r3.1), ALC??? (rev. 4.0), ALC887 (r5.x)}}
| <!--USB-->4 USB2
| <!--Ethernet-->{{Maybe|Realtek 8111E (r3.1), Atheros (rev4.0), Atheros (r5.x) }}
| <!--Opinion-->2012 offers very poor control over its EFI vs. BIOS booting partition features
|-
| <!--Name-->Gigabyte GA-78LMT-USB3 (r3.0), (r4.1 Blue board), (r5.0 dark board), (rev6 dark mobo)
| <!--Chipset-->AMD 760G and SB710
| <!--ACPI-->
| <!--IDE-->{{yes| }}
| <!--SATA-->{{yes|Bios IDE mode for SATA2 on early ones}}
| <!--Gfx-->AMD HD3000, pci-e GT240 and a nv7900gs
| <!--Audio-->{{Maybe|ALC??? (r3.0), ALC887 (r4.1), VIA VT2021 (r5.0), Realtek® ALC892 codec (rev6) }}
| <!--USB-->{{yes|AMD USB2 but not VIA® VL805 USB3}}
| <!--Ethernet-->Realtek GbE
| <!--Opinion-->2013 64bit - Micro ATX Form Factor 24.4cm x 24.4cm - 4 x DDR3 DIMM sockets -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MSI 760GM
| <!--Chipset-->ATI 760G plus SB710
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{yes| }}
| <!--Gfx-->HD3000 Use Vesa
| <!--Audio-->{{Maybe|P33 VT1705; P34, P21 and P23 (FX) MS7641 v3.0 ALC887, E51 ALC892}}
| <!--USB-->{{yes| }}
| <!--Ethernet-->{{Yes|Realtek}}
| <!--Opinion-->P23 issues with audio ALC887 crackles thru earphones -
|-
| <!--Name-->Gigayte GA-MA770T-UD3P (rev. 3.1)
| <!--Chipset-->amd 770 with sb710
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 sata
| <!--Gfx-->pci-e slot
| <!--Audio-->HDaudio with Realtek ALC888/892 codec
| <!--USB-->
| <!--Ethernet-->rtl8169 rtl8111d/e
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->ASRock 890FX Deluxe5 Extreme3
| <!--Chipset-->AMD 890FX + AMD SB850 or SB950 (Extreme3)
| <!--ACPI-->
| <!--IDE-->{{Yes}}
| <!--SATA-->{{Yes}}
| <!--Gfx-->{{N/A}}
| <!--Audio-->{{Maybe|ALC892}}
| <!--USB-->{{Yes}}
| <!--Ethernet-->{{Yes|RTL8111E rtl8169}}
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus M5A97 R2.0 EVO
| <!--Chipset-->AMD 970 and SB950
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->Asmedia SATA Controller
| <!--Gfx-->n/a
| <!--Audio-->HDAudio with Realtek ALC887 (LE), ALC887 (Regular), ALC892 (EVO) codec
| <!--USB-->4 USB 2.0 and 2 Asmedia USB3.0 Controller
| <!--Ethernet-->Realtek 8111F
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-970A-D3
| <!--Chipset-->AMD 970 with SB950
| <!--ACPI-->
| <!--IDE-->{{Yes| }}
| <!--SATA-->{{Yes|IDE mode}}
| <!--Gfx-->pci-e
| <!--Audio--> ALC??? (rev. 1.0/1.1), ALC887 (rev1.2), VIA VT2021 codec (rev 1.3 1.4 and rev3.0)
| <!--USB-->{{yes|AMD USB2 but not Etron EJ168 chip (USB3)}}
| <!--Ethernet-->Realtek GbE 8111E (all revisions),
| <!--Opinion-->2015 64bit - ATX Form Factor 30.5cm x 22.4cm - 4 x 1.5V DDR3 DIMM sockets -
|-
| <!--Name-->MSI 970 Gaming
| <!--Chipset-->970FX SB950
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->Realtek® ALC1150 Codec
| <!--USB-->6 usb2 with 2 USB3 VIA VL806 Chipset
| <!--Ethernet-->Killer E2205 Gigabit LAN
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus M5A99X EVO
| <!--Chipset-->990X - RD980 with SB920
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->2 pci-e gen ?
| <!--Audio-->HDAudio with ALC892 codec
| <!--USB-->
| <!--Ethernet-->rtl8169 realtek 8111e
| <!--Opinion-->2012 64bit -
|-
| <!--Name-->Gigabyte GA-990XA-UD3
| <!--Chipset-->AMD 990 with SB950
| <!--ACPI-->
| <!--IDE-->{{yes| }}
| <!--SATA-->{{yes| }}
| <!--Gfx-->
| <!--Audio-->ALC889 (rev 1.x, 3.0, 3.1),
| <!--USB-->{{yes|AMD USB2 not 2 x Etron EJ168 chips for USB3}}
| <!--Ethernet-->realtek rtl8169 8111e
| <!--Opinion-->2012 64bit - ATX Form Factor; 30.5cm x 24.4cm - 4 ddr3 slots -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====AMD Fusion (2011/14)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| 1.2GHz single Bobcat Fusion C30 + Hudson M1
| ACPI
| IDE
| SATA
| AMD 6250
| Audio
| USB
| Ethernet
| <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| Asus E35M1-M PRO uATX
| 1.6GHz 18W AMD Fusion E-350 dual core + Hudson M1
| ACPI
| {{N/A}}
| SATA
| AMD 6310 - no HD driver yet
| ALC887 VD2
| USB
| RTL8111E
| 2011 64bit does not support AVX or SSE 4.1 - EFI bios [http://www.anandtech.com/show/4023/the-brazos-performance-preview-amd-e350-benchmarked]
|-
| Asus E35M1-I Deluxe miniITX
| 1.6GHz dual AMD Fusion E350 + Hudson M1 + DDR3
| ACPI
| {{N/A}}
| SATA
| AMD 6310 - no HD driver yet
| ALC892
| USB
| Realtek 8111E
| 2011 64bit does not support AVX or SSE 4.1 - no support for Atheros AR5008 on a Mini PCI-E
|-
| ASRock E350M1 / USB3 (also version with USB3.0 added)
| 1.6GHz dual AMD Fusion E350 + Hudson M1
| ACPI
| {{N/A}}
| SATA - 4 SATA3
| {{Maybe|AMD 6310 - use vesa with hdmi and dvi}}
| {{Yes|Audio ALC892 playback but no HDMI output}}
| USB - 4 USB2.0 and 2 USB3.0
| {{Yes|rtl8169 for Realtek 8111E 8411 ethernet chipset}}
| 2011 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->Gigabyte GA-E350N-USB3 mini-ITX
| <!--Chipset--> Hudson M1 FCH
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 SATA3
| <!--Gfx--> plus HDMI, DVI
| <!--Audio-->ALC892
| <!--USB-->2 NEC USB3.0 with 4 USB2.0
| <!--Ethernet-->Realtek 8111E
| <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->Gigabyte GA-E350N Win8 V1.0
| <!--Chipset-->Hudson M1 FCH A45
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 SATA3
| <!--Gfx-->{{maybe|Use VESA - AMD 6310 plus HDMI, DVI}}
| <!--Audio-->{{yes|ALC887 playback through headphones but not thru hdmi}}
| <!--USB-->{{maybe|4 USB2.0 needs more testing}}
| <!--Ethernet-->{{yes|Realtek 8111 8168B}}
| <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 - works well but need to test with sata hard disk
|-
| <!--Name-->MSI E350IA-E45
| <!--Chipset-->e-350 + Hudson M1 + DDR3
| <!--ACPI-->no support
| <!--IDE-->{{N/A}}
| <!--SATA-->4 Sata3 ports
| <!--Gfx-->AMD 6310 gpu
| <!--Audio-->ALC HDA
| <!--USB-->6 USB2.0 and 2 USB3.0 through NEC 720200 chipset
| <!--Ethernet-->Realtek RTL8111E
| <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 -
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->ASUS E45M1-M PRO
| <!--Chipset-->E450 APU with Hudson M1
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->ALC887
| <!--USB-->
| <!--Ethernet-->Realtek
| <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->ASUS E45M1-I Deluxe
| <!--Chipset-->E-450 together
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->ALC892
| <!--USB-->
| <!--Ethernet-->Realtek 8111E
| <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket FM1 (2011/13)=====
On board Graphic on CPU - HD6410D, HD6530D, HD6550D,
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->ASUS F1A55-M LE
| <!--Chipset--> with AMD A55 FCH (Hudson D2)
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->6 x SATA 3Gbit/s port(s), blue Support Raid 0, 1, 10, JBOD
| <!--Gfx-->PCI-e 2.0 slot or Integrated AMD Radeon™ HD 6000 in Llano APU
| <!--Audio-->Realtek® ALC887 Audio CODEC
| <!--USB-->6 USB2.0 ports
| <!--Ethernet-->Realtek 8111E rtl8169
| <!--Opinion-->2012 2011 64bit does not support AVX or SSE 4.1 - A-Series/E2- Series APUs up to 4 cores - 2 x DIMM, Max. 32GB, DDR3 2250(O.C.)/1866/1600/1333/1066 MHz Non-ECC, Un-buffered Memory Dual Channel Memory Architecture -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket FM2 White Socket (2012/13)=====
Onboard Gfx on CPU - HD6570, HD7480D, HD7540D,
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| <!--Chipset-->A75 A85X
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2012 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket FM2 Plus Black socket (2013/15)=====
Onboard Gfx on CPU - HD6570, HD7480D, HD7540D,
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| <!--Chipset-->A88X
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket AM1 FS1b socket (2014/1x)=====
5350 4 core Jaguar cores 2GHz with Integrated AMD Radeon R Series Graphics in the APU Kabini [Radeon HD 8400]
Later Beema APU with 2/4 core Puma (slightly updated Jaguar) cores, GCN graphics and a compute capable Radeon core, along with a brand new AMD security processor and FT3 BGA packaging (probably best avoided for long term survival).
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->ASUS AM1I-A
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->HD Audio Realtek® ALC887-VD
| <!--USB-->
| <!--Ethernet-->Realtek 8111GR 8168
| <!--Opinion-->2011 64bit may support AVX or SSE 4.1 -
|-
| <!--Name-->MSI AM1I
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->HD Audio ALC887
| <!--USB-->
| <!--Ethernet-->Realtek 8111G
| <!--Opinion-->
|-
| <!--Name-->MSI AM1M
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->HD Audio ALC887
| <!--USB-->
| <!--Ethernet-->Realtek 8111G
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->BGA FT3 AM1x
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket AM4 FM3 Summit Ridge Zen Zen+ (2016/22)=====
Jim Keller’s group designed x86 Zen CPU - new and covering the same AM4 platform/socket for desktop
Zen will also shift from Bulldozer’s Clustered Multithreading (CMT) to Simultaneous Multithreading (SMT, aka Intel’s Hyperthreading). CMT is the basis for Bulldozer’s unusual combination of multiple integer cores sharing a single FPU within a module, so the move to SMT is a more “traditional” design for improving resource usage
Trusted Platform Module, or fTPM, that Windows 11 requires. Ryzen processors using a firmware TPM are causing stutters, even when doing mundane tasks. To enable TPM 2.0 on your AMD system please follow the steps below.
<pre>
Power on system and press DEL or F2 to get into the BIOS.
Navigate to Advanced\CPU Configuration.
Enable AMD fTPM switch.
Press F10 to save changes.
</pre>
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->Asus ROG Crosshair VI Hero
| <!--Chipset-->X370
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->pci-e 3.0 (1x16 or 2x8)
| <!--Audio-->SupremeFX audio features an S1220 codec
| <!--USB-->
| <!--Ethernet-->Intel I211
| <!--Opinion-->Ryzen 7 1800X 1700X
|-
| <!--Name-->Biostar X370gtn Itx Am4
| <!--Chipset-->AMD X370
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCIe 3.0
| <!--Audio-->HDAudio with ALC892
| <!--USB-->
| <!--Ethernet-->Realtek Dragon LAN RTL8118AS
| <!--Opinion--> 2 ddr4 slots
|-
| <!--Name-->Gigabyte GA-AX370 K7
| <!--Chipset--> X370
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCIe 3.0
| <!--Audio-->HDAudio with 2 x Realtek® ALC1220 codec 0x10EC, 0x0295
| <!--USB-->
| <!--Ethernet-->1 intel and 1 E2500
| <!--Opinion--> 4 ddr4 slots
|-
| <!--Name-->MSI Xpower Gaming Titanium
| <!--Chipset--> X370
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCIe 3.0
| <!--Audio-->8-channel Realtek 1220 Codec 0x10EC, 0x0295
| <!--USB-->ASMedia® ASM2142 and amd cpu
| <!--Ethernet-->1 x Intel® I211AT Gigabit LAN
| <!--Opinion--> 2 ddr4 slots
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus Prime B350 Plus ATX
| <!--Chipset-->B350
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx--> x PCIe 3.0/2.0 x16 (x16 mode)
| <!--Audio-->Realtek® ALC887 8-Channel
| <!--USB-->
| <!--Ethernet-->Realtek® RTL8111H
| <!--Opinion-->Ryzen 5 1600x 1600 1500X 1400 - 4 x DIMM Max 64GB, DDR4 up to 2666MHz ECC and non-ECC Memory - ATX 12 inch x 9.35 inch ( 30.5 cm x 23.7 cm ) - 2 pci
|-
| <!--Name-->Asus PRIME B350M-A/CSM Micro ATX
| <!--Chipset-->AMD B350
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCIe 3.0
| <!--Audio-->HDaudio with
| <!--USB-->
| <!--Ethernet-->Realtek LAN
| <!--Opinion-->Ryzen 3 1300x 1200 1100
|-
| <!--Name-->AsRock Pro4 AB350
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->2 PCIe 3.0 x16, 4 PCIe 2.0 x1
| <!--Audio-->Realtek ALC892
| <!--USB-->
| <!--Ethernet-->Realtek
| <!--Opinion-->2017 64bit -
|-
| <!--Name-->ASRock AB350 Gaming-ITX/ac
| <!--Chipset--> B350
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->PCIe 3.0
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->Intel LAN
| <!--Opinion-->
|-
| <!--Name-->MSI B350 Tomahawk Arctic Mortar
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->1 x PCIe 3.0 x16 (x16 mode)
| <!--Audio-->Realtek ALC892
| <!--USB-->
| <!--Ethernet-->Realtek RTL8111H
| <!--Opinion-->white and grey colours - 2 pci-e and 2 pci slots - m.2 in middle - atx 12 in by 9.6 in and matx versions -
|-
| <!--Name-->Jginyue M-ATX B350M-TI
| <!--Chipset-->B350
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Jginyue B350I-Plus ITX
| <!--Chipset-->B350
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->ASRock A320M-ITX MINI ITX Rev1.0 Rev2 Rev2.1
| <!--Chipset-->A320
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->pci-e
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2018
|-
| <!--Name-->Asus PRIME A320M-C R2.0 rev1.1 A320M-K
| <!--Chipset-->A320 A/B300 SFF
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->PCIe 3.0
| <!--Audio-->HD audio with Realtek ALC887 alc897 CODEC
| <!--USB-->2 usb 3.1 gen 1
| <!--Ethernet-->Realtek 8111E
| <!--Opinion-->2019 64bit - 3rd/2nd/1st Gen AMD Ryzen™ / 2nd and 1st Gen AMD Ryzen™ with Radeon™ Vega
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MSI A320M-A PRO MicroATX
| <!--Chipset-->AMD A320
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->pci-e 3.0
| <!--Audio-->HDAudio Realtek® ALC892
| <!--USB-->USB3
| <!--Ethernet-->Realtek® 8111H
| <!--Opinion-->2019 64bit -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus ROG X399 Zenith Extreme
| <!--Chipset-->AMD X399
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCIe 3.0
| <!--Audio--> supremefx s1220
| <!--USB-->
| <!--Ethernet-->intel
| <!--Opinion-->Threadripper 1950X 1920X 1900X TR4 skt
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCIe 3.0
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->AsRock Fatality X470 Gaming K4 mATX
| <!--Chipset-->X470
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->nvme
| <!--Gfx-->pci-e rebar possible
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->intel
| <!--Opinion-->
|-
| <!--Name-->Asrock Fatal1ty X470 Gaming-ITXac AMD AM4
| <!--Chipset-->AMD X470
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->intel
| <!--Comments-->
|-
| <!--Name-->ASUS ROG STRIX X470-I GAMING AM4 ITX Motherboard
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus B450-I Gaming
| <!--Chipset-->AMD B450
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCIe 3.0
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->high VRM temps - raven ridge 14nm+ like 2200G 2400G
|-
| <!--Name-->AsRock B450 Gaming K4
| <!--Chipset-->B450
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio--> alc892
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion--> 4 ddr4 slots - low VRM thermals 3900x 3950x
|-
| <!--Name-->Gigabyte B450 I Aorus Pro Wifi
| <!--Chipset-->AMD B450
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->1 nvme pcie3 with 4 sata
| <!--Gfx-->pcie
| <!--Audio-->HDAudio with Realtek® ALC1220-VB codec
| <!--USB-->
| <!--Ethernet-->Intel LAN
| <!--Opinion-->very high vrm temps
|-
| <!--Name-->Jginyue B450i Gaming ITX
| <!--Chipset-->B450
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 sata3 - none nvme
| <!--Gfx-->pcie3
| <!--Audio-->HDAudio
| <!--USB-->
| <!--Ethernet-->1G
| <!--Opinion-->2021 64 2nd 3rd AMD - 2 ddr4 dimm slots
|-
| <!--Name-->MSI b450 tomahawk max
| <!--Chipset--> b450
| <!--ACPI-->
| <!--IDE-->{{n/A}}
| <!--SATA-->
| <!--Gfx-->PCIe 3.0
| <!--Audio-->HD audio with Realtek® ALC892 Codec
| <!--USB-->
| <!--Ethernet-->Realtek 8111H
| <!--Opinion-->
|-
| <!--Name-->MSI B450 Pro Carbon
| <!--Chipset-->B450
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio--> ALC codec
| <!--USB-->
| <!--Ethernet-->Intel LAN
| <!--Opinion-->
|-
| <!--Name-->MSI B450-A PRO
| <!--Chipset-->B450
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->ALC892
| <!--USB-->
| <!--Ethernet-->rtl8169 8111h
| <!--Opinion-->
|-
| <!--Name-->MSI B450I GAMING Plus AC ITX
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2019 - 2nd and 3rd gen AMD - 2 ddr4 slots -
|-
| <!--Name-->MSI B450 GAMING PLUS MAX
| <!--Chipset-->B450
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->HDAudio with Realtek® ALC892/ALC897 Codec
| <!--USB-->USB3
| <!--Ethernet-->rtl8169 8111H
| <!--Opinion-->
|-
| <!--Name-->MAXSUN AMD Challenger B450M M-ATX (aka Soyo)
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->ASRock X570 PHANTOM GAMING-ITX/TB3 Mini ITX AM4
| <!--Chipset-->X570
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->nvme
| <!--Gfx-->PCIe 4.0
| <!--Audio--> ALC1200
| <!--USB-->
| <!--Ethernet-->Intel LAN
| <!--Comments-->
|-
| <!--Name-->Asus ROG Crosshair VIII Dark Hero
| <!--Chipset-->AMD X570
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio--> SupremeFX7.1 codec
| <!--USB-->
| <!--Ethernet-->Intel® I211-AT and Realtek® RTL8125-CG 2.5G LAN
| <!--Opinion-->
|-
| <!--Name-->Asus ROG Strix X570-I Gaming Mini ITX AM4 Motherboard
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MSI MPG X570 Gaming Plus
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio--> alc1220 codec
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus ROG Strix B550-i AM4 ITX Motherboard
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2022 -
|-
| <!--Name-->Jginyue Jingyue B550i Gaming itx
| <!--Chipset-->B550
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->3 with 1 nvme
| <!--Gfx-->1 pci-e 4
| <!--Audio-->HDAudio alc
| <!--USB-->
| <!--Ethernet-->1G
| <!--Comments-->2022 64bit max of Ryzen 5500 (c t), 5600, 5600g (6c12t) - 2 ddr4
|-
| <!--Name-->Asrock B550 PHANTOM GAMING ITX/AX
| <!--Chipset-->AMD B550
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio--> alc1220
| <!--USB-->
| <!--Ethernet-->intel 2.5G
| <!--Comments-->
|-
| <!--Name-->AsRock B550M-ITX/ac
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio--> Realtek ALC887/897 Audio Codec
| <!--USB-->
| <!--Ethernet-->Realtek Gigabit LAN
| <!--Opinion-->2022 - 2 ddr4 slots
|-
| <!--Name-->Asus ROG STRIX B550-A GAMING
| <!--Chipset-->B550
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->PCIe Gen4 x4 & SATA3
| <!--Gfx-->pci-e 4
| <!--Audio--> supremefx S1220A
| <!--USB-->
| <!--Ethernet-->Intel® I225-V 2.5Gb
| <!--Opinion-->
|-
| <!--Name-->Gigabyte AMD B550I AORUS PRO AX Mini-ITX rev 1.0
| <!--Chipset-->AMD B550
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->2 nvme pci-e3 with 4 sata3
| <!--Gfx-->pci-e
| <!--Audio-->Realtek® ALC1220-VB codec
| <!--USB-->
| <!--Ethernet-->Realtek® 2.5GbE LAN
| <!--Opinion-->2021 2 x DDR4 DIMM sockets 1Rx8/2Rx8/1Rx16 -
|-
| <!--Name-->Gigabyte B550 AORUS ELITE AX V2 ATX
| <!--Chipset-->B550
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->PCI-e 4.0 DP and hdmi
| <!--Audio-->HDAudio ALC1200
| <!--USB-->USB3 USB 3.2 Gen1 Type-C
| <!--Ethernet-->2.5GbE LAN
| <!--Opinion-->2022 64bit- finer tuning than A520's - AMD Ryzen 5000 Series/ 3rd Gen Ryzen and 3rd Gen Ryzen with Radeon Graphics CPU - Dual Channel ECC/ Non-ECC Unbuffered DDR4, 4 DIMMs -
|-
| <!--Name-->Gigabyte B550M DS3H mATX
| <!--Chipset--> B550
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->2 NVMe
| <!--Gfx-->PCI-e 4.0
| <!--Audio-->HDaudio ALC887
| <!--USB-->USB3
| <!--Ethernet-->realtek rtl8118
| <!--Opinion-->2021 64bit - 4 ddr4 dimms -
|-
| <!--Name-->MSI MPG B550 GAMING PLUS ATX
| <!--Chipset--> B550
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->PCI-e 4.0
| <!--Audio-->HDAudio ALC892
| <!--USB-->USB 3
| <!--Ethernet-->rtl8169 Realtek 8111H
| <!--Opinion-->2022 64bit - 3rd Gen AMD Ryzen Processors - 4 dimm ddr4 -
|-
| <!--Name-->MSI MAG B550 TOMAHAWK ATX
| <!--Chipset--> B550
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe 1 x M.2, Socket 3, M Key (up to Type 22110) and 1 x M.2, Socket 3, M Key (Type 2242/2260/2280)
| <!--Gfx-->PCI-e 4.0 with dp and hdmi
| <!--Audio-->HDaudio ALC1200
| <!--USB-->USB3 1 x USB 3.1 Type-C and 1 x USB 3.1 Type-A
| <!--Ethernet-->Realtek RTL8125B and Realtek RTL8111H
| <!--Opinion-->2022 64bit - 4 Dimm slots -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Jginyue A520M-H mATX
| <!--Chipset-->A520
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion--> old bios with random issues with APU ryzens -
|-
| <!--Name-->Gigabyte A520M S2H mATX
| <!--Chipset-->AMD A520
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->HDAudio
| <!--USB-->
| <!--Ethernet-->Realtek 1GbE
| <!--Opinion-->2022 64bit Zen3 65W and up - 2 ddr4 -
|-
| <!--Name-->Gigabyte A520I AC mITX mini-itx
| <!--Chipset-->AMD A520
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->HDAudio
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2022 64bit Zen3 65W and up 5600G (6c12t) or 5700G (8c16t) - 2 ddr4 dimm slots -
|-
| <!--Name-->MSI A520M-A PRO mATX
| <!--Chipset-->A520
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe 1 x M.2, Socket 3, M Key (Type 2242/2260/2280)
| <!--Gfx-->PCI-e 3.0
| <!--Audio-->HDAudio ALC892
| <!--USB-->USB3
| <!--Ethernet-->rtl8169 rtl8111H
| <!--Opinion-->2022 64bit - 2 ddr4 dimm slots - 3rd Gen AMD Ryzen Desktop and AMD Ryzen 4000 G-Series CPU
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|}
===== (Socket AM5 LGA1718 Zen4 Zen5 Zen6 2022/27)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->Asrock Steel Legend
| <!--Chipset-->x670e
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->PCI-e rnda2
| <!--Audio-->HD audio
| <!--USB-->USB3
| <!--Ethernet-->
| <!--Opinion-->2022 64bit - ddr5 ecc (10 chip) and non-ecc (8 chips) 64Gb @ 6000Mhz or 128GB @ 4800Mhz -
|-
| <!--Name-->Asrock TaiChi
| <!--Chipset-->x670e
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->PCI-e rnda2
| <!--Audio-->HD Audio
| <!--USB-->USB4 with Thunderbolt 4 equivalent
| <!--Ethernet-->{{No|Realtek killer E3000 2.5GbE}}
| <!--Opinion-->2022 64bit - ddr5 ecc (10 chip) and non-ecc (8 chips)
|-
| <!--Name-->Asus ROG Crosshair Hero
| <!--Chipset-->x670e
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCIe rnda2
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2022 64bit
|-
| <!--Name-->
| <!--Chipset-->x670e
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->rnda3
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2022 64bit 7950x3d 120W, 7900 7800 7600 90W
|-
| <!--Name-->
| <!--Chipset-->x670e
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->rnda3
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2022 64bit
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus B650E-I
| <!--Chipset-->B650
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->pci-e 5
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2023 - better sound with an actual AMP, PCIe 5, USB-C display outs -
|-
| <!--Name-->
| <!--Chipset-->x650 B650
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->x650 B650
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->x650 B650
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MAXSUN AMD Challenger B650M WIFI M-ATX (aka Soyo)
| <!--Chipset-->B650
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MSI b650i mini itx
| <!--Chipset-->B650
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->pci-e 4
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->Realtek
| <!--Opinion-->2023 - front panel connectors at the back of the board - dead rear nvme slot and a drained CMOS battery as the CMOS button being pressed during shipping -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->A620M Zen4
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->A620M
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->A620M
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->A620M
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset--> Zen5
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset--> Zen6
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name--> || <!--Chipset--> || <!--ACPI--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Opinion-->2026 FP8 Zen 6 Medusa Point 4bigC, 4 econC, 2lpC, 8coreGPU -
|-
| <!--Name--> || <!--Chipset--> || <!--ACPI--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Opinion-->2026 FP10 Zen 6 Medusa Point 4bigC, 4 econC, 2lpC, 8coreGPU -
|-
|}
===== (Zen7 AM6 2027/3x)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
===== (Zen AM 203x/3x)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
====Intel Sockets====
[[#top|...to the top]]
=====Socket 370 (2000/2)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->Intel D815EEA
| <!--Chipset-->866Mhz P3 and i815 chipset
| <!--ACPI-->
| <!--IDE-->{{Yes}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->{{Yes|Nvidia AGPx8 6200LE added}}
| <!--Audio-->{{N/A}}
| <!--USB-->{{Yes|2 USB1.1}}
| <!--Ethernet-->{{N/A}}
| <!--Opinion-->Tested AspireOS 1.7, simple basic board with useful 5 PCI slots
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|}
=====Socket 478 (2002/4)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->[http://translate.google.co.uk/translate?hl=en&sl=zh-CN&u=http://detail.zol.com.cn/motherboard/index46381.shtml&prev=/search%3Fq%3Dc.865pe.l%2Bmotherboard%26client%3Dfirefox-a%26hs%3DsZB%26rls%3Dorg.mozilla:en-US:official Colorful Technology C.865PE-L Silver Fighter Warrior V2.3]
| <!--Chipset-->865PE
| <!--ACPI-->{{dunno| }}
| <!--IDE-->{{Yes|tested with CDROM}}
| <!--SATA-->{{dunno| }}
| <!--Gfx-->{{Maybe|AGP slot}}
| <!--Audio-->{{Yes|ALC650 AC97}}
| <!--USB-->{{Yes|USB 1.1 and 2.0}}
| <!--Ethernet-->{{Yes|RTL 8100 8139}}
| <!--Opinion-->Still testing with NB (Nightly Build) May 2013
|-
| <!--Name-->Intel 845
| <!--Chipset-->865P
| <!--ACPI-->
| <!--IDE-->{{Yes}}
| <!--SATA-->
| <!--Gfx-->{{No|intel 800}}
| <!--Audio-->{{No|AC97 AD1985}}
| <!--USB-->{{Yes|USB1.1 and USB2.0}}
| <!--Ethernet-->{{No|e1000}}
| <!--Opinion-->Tested ICAROS 1.3
|-
| <!--Name-->Intel 845
| <!--Chipset-->865GC
| <!--ACPI-->
| <!--IDE-->{{Yes}}
| <!--SATA-->
| <!--Gfx-->{{No|intel 865 Extreme Graphics 2}}
| <!--Audio-->{{No|AC97 AD1985}}
| <!--USB-->{{Yes|USB1.1 and USB2.0}}
| <!--Ethernet-->{{No|e1000}}
| <!--Opinion-->Tested ICAROS 1.3
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket LGA775 s775 (2005/8)=====
an industry standard DDR2 module could in theory contain fallback JEDEC, intel XMP and AMD EPP configuration data
Intel PC CL5 ram modules but an "AMD" CL5 ram module the BIOS cannot read the AMD EPP info on the SPD (Serial Presence Detect) but can recognize the CL5 timing info in the JEDEC data table. PC BIOS auto configures for the AMD ram module and boots normally.
an AMD PC CL6 ram modules but an "INTEL" CL6 ram module the BIOS cannot read the INTEL XMP info on the SPD but can recognize the CL6 timing info in JEDEC data table. PC BIOS auto configures for the AMD ram module and boots normally.
an INTEL PC needs CL6 ram modules but have an "AMD" CL4 ram module. INTEL BIOS cannot read the AMD EPP info on the SPD but can recognize the CL4 timing info in JEDEC data table. PC BIOS recognizes module timings as incompatible an refuses to boot.
entirely separate issue if the RAM module timing specs are incompatible.(i.e. CL4 RAM in a "CL6 only" PC)
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->Abit AG8
| <!--Chipset-->P915 + ICH6R
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 ports SATA1
| <!--Gfx-->1 PCIe x16 Slot
| <!--Audio-->Realtek ALC658 AC97
| <!--USB-->4 USB2.0
| <!--Ethernet-->Realtek 8110S-32
| <!--Opinion-->2004 32bit - Firewire TI 4200R7T no
|-
| <!--Name-->MSI 915 Neo2
| <!--Chipset-->P915 + ICH6R
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 ports SATA1
| <!--Gfx-->1 PCIe x16 Slot
| <!--Audio-->CMI 9880L HD Audio
| <!--USB-->4 USB2.0
| <!--Ethernet-->{{no|Broadcomm BCM5751 PCIe}}
| <!--Opinion-->Firewire VIA VT6306 no
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus P5GC P5GC-MX
| <!--Chipset-->P945GC Lakeport-GC + ICH7R northbridge
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 SATA1 3.0 Gbit/s ports
| <!--Gfx-->1 PCIe 1.1 slot
| <!--Audio-->HD Audio with ALC662 codec
| <!--USB-->{{yes|2 usb2.0}}
| <!--Ethernet-->{{no|atheros L2}}
| <!--Opinion-->2005 32bit - 3 pci slots - 4 x 240-pin DIMM Sockets max. 4GB DDR2 667/533 non-ECC -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Foxconn PC45CM-SA 45CM-S
| <!--Chipset-->945GC with ICH7
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 sata2 ports
| <!--Gfx-->{{Yes|pcie 1.0 slot with gma950 integrated}}
| <!--Audio-->{{Yes|HD audio with aLC883 codec playback}}
| <!--USB-->{{Yes|}}
| <!--Ethernet-->{{Yes|realtek 8139 8100sc}}
| <!--Opinion-->2 dimm slots 667mhz max 4gb - can be found in Advent desktops - 2 pci-e and 2 pci - core 2 duo only e6xxx - Micro ATX (9.6” x 8.8”) -
|-
| <!--Name-->Gigabyte GA-81945GM MFY-RH
| <!--Chipset-->Intel® 945GM Express with ICH7M-DH
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->{{Yes|GMA950 VGA15 and PCI-e 1.0 slot}}
| <!--Audio-->{{Yes|HD Audio with ALC880 codec playback only rear port}}
| <!--USB-->{{Yes|4 usb 2.0}}
| <!--Ethernet-->{{No|Intel PRO1000PL 82573L Gigabit Ethernet}}
| <!--Opinion-->2006 MoDT term “Mobile on DeskTop.”, low TDP CPUs to work on desktop form-factor motherboards. mATX Micro ATX 24.4cm x 24.4cm - 2 DDR2 dimm 1.8v slots with 4Gb max - will not boot if PCI2 slot occupied -
|-
| <!--Name-->Gigabyte GA-945 GCM S2C
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->{{yes|ALC662 (1.x)}}
| <!--USB-->
| <!--Ethernet-->{{yes|8101E Rtl 8169 (1.x)}}
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA945-GCM S2L
| <!--Chipset-->945GC with ICH7
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 SATA1 ports
| <!--Gfx-->PCi-E slot
| <!--Audio-->{{Maybe|Intel HD Audio with ALC662 codec 2/4/5.1-channel (1.x)}}
| <!--USB-->{{Yes|4 USB2.0}}
| <!--Ethernet-->{{Yes|Realtek 8111c 8169 (1.x)}}
| <!--Opinion-->2 x 1.8V DDR2 DIMM 4GB DDR2 memory max - 2 PCI-e and 2 PCI - Micro ATX form factor; 24.4cm x 19.3cm -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MSI 945P Neo-F rev 1.0
| <!--Chipset-->P945 + ICH7
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 SATA1 ports
| <!--Gfx-->PCie 1.0 slot
| <!--Audio-->ALC662 HDA
| <!--USB-->4 USB2.0
| <!--Ethernet-->8110SC (rtl8169)
| <!--Opinion-->
|-
| <!--Name-->MSI 945P Neo2-F rev 1.2
| <!--Chipset-->P945 + ICH7
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 SATA1 ports
| <!--Gfx-->PCie 1.0 slot
| <!--Audio-->ALC850 AC97
| <!--USB-->4 USB2.0
| <!--Ethernet-->8110SC (rtl8169)
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-P31-DS3L
| <!--Chipset-->P31 with ICH7
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCI Express x16
| <!--Audio-->HD Audio with ALC888 codec
| <!--USB-->4 USB 2.0
| <!--Ethernet-->Realtek 8111B
| <!--Opinion-->DDR2 800Mhz up to 4Gb 4 x 240 pin - 3 PCI - ATX 12.0" x 8.3" -
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus P5KPL-AM /PS
| <!--Chipset-->G31 with ICH7
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->4 xSATA 3 Gbit/s ports
| <!--Gfx-->PCIe 1.1 with integrated Intel® GMA 3100
| <!--Audio-->HD Audio with VIA VT1708B with ALC662 codec
| <!--USB-->
| <!--Ethernet-->Realtek RTL8102EL 100/10 LAN with Realtek RTL8111C Gigabit LAN
| <!--Opinion-->2 x 2 GB DDR2 Non-ECC,Un-buffered DIMMs with 2 PCI - Intel Graphics Media Accelerator -
|-
| <!--Name-->Asus P5KPL/EPU
| <!--Chipset-->G31 with ICH7
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Pci-e 1.0 slot
| <!--Audio-->{{Yes|HD audio with ALC887 codec}}
| <!--USB-->
| <!--Ethernet-->{{Yes|RTL8169 Realtek 8111C}}
| <!--Opinion-->Tested - 4 240-pin DIMM, Max. 4 GB - 4 pci-e and 3 pci - ATX Form Factor 12 inch x 8.2 inch ( 30.5 cm x 20.8 cm ) -
|-
| <!--Name-->Gigabyte GA-G31M ES2L
| <!--Chipset-->G31 plus ICH7
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->{{Yes|Intel GMA 3100 2d}}
| <!--Audio-->{{Maybe|ALC883 (1.x), ALC883/888B (2.x)}}
| <!--USB-->
| <!--Ethernet-->{{Maybe|RTL8111C (1.x), Atheros 8131 (2.x)}}
| <!--Opinion-->reduces DRAM capacity to 4GB
|-
| <!--Name-->ASRock G31M-S r1.0 G31M-GS
| <!--Chipset-->G31 + ICH7
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->{{maybe|4 sata2}}
| <!--Gfx-->{{maybe|GMA 3100 2d not 3d}}
| <!--Audio-->{{yes|ALC662}}
| <!--USB-->{{yes|4 USB2.0}}
| <!--Ethernet-->{{partial|rtl8169 RTL8111DL 8169 (for -GS) RTL8102EL (for -S)}}
| <!--Opinion-->2007 64bit Core2 - 2 DDR2 800 max 8Gig AMI bios MicroATX -
|-
| <!--Name-->ASRock G31M-S r2.0
| <!--Chipset-->G31 + ICH7
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->{{maybe|4 sata2}}
| <!--Gfx-->{{maybe|GMA 3100 2d not 3d}}
| <!--Audio-->{{yes|ALC662}}
| <!--USB-->{{yes|4 USB2.0}}
| <!--Ethernet-->{{yes|RTL 8111DL 8169}}
| <!--Opinion-->2008 64bit core2 - 2 DDR2 800 max 8Gig MicroATX
|-
| <!--Name-->[http://www.intel.com/cd/channel/reseller/apac/eng/products/desktop/bdb/dg31pr/feature/index.htm Intel DG31PR]
| <!--Chipset-->iG31
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->{{maybe|3100 but can use PCIe 1.1 slot}}
| <!--Audio-->{{yes|ALC888 playback}}
| <!--USB-->
| <!--Ethernet-->{{yes|RTL8111B Rtl 8169}}
| <!--Opinion-->good support
|-
| <!--Name-->
| <!--Chipset-->Intel G33 Express Chipset with ich9 southbridge
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Intel 3100 powervr tile based
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2008 64bit - embedded on Core 2 Quad, Core 2 Duo, Pentium Dual-Core CPUS with Integrated GPU Intel GMA 3100 -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->ASUS P5G41T-M LX
| <!--Chipset-->G41 + ICH8 + DDR3
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->{{maybe}}
| <!--Gfx-->{{yes|X4500 some 2d only)}}
| <!--Audio-->ALC887
| <!--USB-->3 USB2.0
| <!--Ethernet-->{{no|Atheros L1c AR8131}}
| <!--Opinion-->reduces maximum supported memory ddr3 from 16 to 8GB 2 dimm slots non-EEC - demotes the PCIe controller mode from revision 2.0 (5.0GT/s) to revision 1.1 (2.5GT/s
|-
| <!--Name-->Gigabyte GA-G41MT S2
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->VT1708S (1.3), ALC887-VD2 (1.4), ALC887 (2.1),
| <!--USB-->
| <!--Ethernet-->Atheros AR8151 l1c (1.x 2.x),
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-G41MT S2PT
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->ALC887 (1.0), VIA (2.0), ALC887 (2.1)
| <!--USB-->
| <!--Ethernet-->RTL8111E (1.x), Atheros AR8151 l1c (2.1),
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-G41MT D3
| <!--Chipset-->G41 + ICH7
| <!--ACPI-->
| <!--IDE-->1 Port
| <!--SATA-->4 Ports
| <!--Gfx-->{{yes|GMA X4500 2d only and pci-e 1.1 slot}}
| <!--Audio-->{{yes|ALC888B}}
| <!--USB-->4 ports + headers
| <!--Ethernet-->{{yes|RTL8111 D/E}}
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-P41T D3P
| <!--Chipset-->G41 + ICH7 with Intel Core 2 Duo (E6xxx) CPU
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4ports
| <!--Gfx-->GMA X4500 2d
| <!--Audio-->ALC888 889/892
| <!--USB-->4 ports
| <!--Ethernet-->RTL 8111C or D/E
| <!--Opinion-->
|-
| <!--Name-->Intel DG41AN Classic
| <!--Chipset-->iG41 +
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 ports
| <!--Gfx-->X4500 2d
| <!--Audio-->ALC888S ALC888VC
| <!--USB-->4 ports
| <!--Ethernet-->8111E
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->AsRock P5B-DE
| <!--Chipset-->P965 + ICH8
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->{{Maybe|works ide legacy}}
|<!--Gfx-->{{Yes|with PCI-E 1.1 slot}}
| <!--Audio-->{{Yes|HD Audio via VT1708S}}
| <!--USB-->{{Yes}}
| <!--Ethernet-->{{Yes|RTL8169}}
| <!--Opinion-->2006 works well
|-
| <!--Name-->Asus P5B SE
| <!--Chipset-->965 intel
| <!--ACPI-->
| <!--IDE-->{{Yes| }}
| <!--SATA-->{{Yes| }}
| <!--Gfx-->{{N/A}}
| <!--Audio-->{{Yes|HD Audio ALC662 codec}}
| <!--USB-->{{Yes}}
| <!--Ethernet-->{{No| }}
| <!--Opinion-->works well except ethernet
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus P5W DH Deluxe P5WDG2 WS PRO
| <!--Chipset-->975X
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->2 ports
| <!--Gfx-->2 PCIe x16 slots
| <!--Audio-->ALC882 AND LATER ADI 1988B
| <!--USB-->2 USB2.0
| <!--Ethernet-->{{No|Marvell 88E8052 88E8053}}
| <!--Opinion-->Firewire TI TSB43AB22A no
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Abit IP35
| <!--Chipset-->P35 Express + ICH9R
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->6 ports
| <!--Gfx-->
| <!--Audio-->ALC888 HDA
| <!--USB-->4 USB2.0
| <!--Ethernet-->two RTL8110SC
| <!--Opinion-->Firewire Texas TSB43 AB22A no
|-
| <!--Name-->MSI P35 Neo F FL MS-7630 rev 1
| <!--Chipset-->Intel P35
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->pci-e 1.1 support
| <!--Audio-->HD Audio ALC888
| <!--USB-->
| <!--Ethernet-->Realtek
| <!--Opinion-->Base model of this range of P35 mobos
|-
| <!--Name-->GA-P35-DS3
| <!--Chipset-->P35 and ICH9
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 ports
| <!--Gfx-->
| <!--Audio-->HDAudio with Realtek ALC889A codec
| <!--USB-->
| <!--Ethernet-->rtl8169 Realtek 8111B
| <!--Opinion-->2008 - 4 x 1.8V DDR2 DIMM sockets max 8 GB -
|-
| <!--Name-->GA-EP35-DS3 (rev. 2.1)
| <!--Chipset-->Intel® P35 + ICH9 Chipset
| <!--ACPI-->
| <!--IDE-->{{unk|}}
| <!--SATA-->{{unk|4 }}
| <!--Gfx-->pci-e
| <!--Audio-->{{unk|Realtek ALC889A codec }}
| <!--USB-->{{yes | }}
| <!--Ethernet-->{{yes|rtl8169 Realtek 8111B}}
| <!--Opinion-->good
|-
| <!--Name-->Abit IX38 Quad GT
| <!--Chipset-->X38 / ICH9R Chipset
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->6 ports
| <!--Gfx-->PCI-E 2.0 slot
| <!--Audio--> HD Audio ALC888
| <!--USB-->4 USB2.0
| <!--Ethernet-->Realtek RTL 8110SC 8169SC
| <!--Opinion-->Firewire Texas TSB 43AB22A no
|-
| <!--Name-->Gigabyte X38-DQ6
| <!--Chipset-->X38 / ICH9R Chipset
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->6 ports
| <!--Gfx-->PCI-E 2.0 slot
| <!--Audio-->ALC889A HDA
| <!--USB-->4 USB2.0
| <!--Ethernet-->twin 8111B 8169
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Gigabyte GA-EP45 DS3 (2008)
| <!--Chipset-->P45 + ICH9 or ICH10
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->6 x SATA 3Gbit/s (SATAII0, SATAII1, SATAII2, SATAII3, SATAII4, SATAII5)
| <!--Gfx-->two PCI-E v2.0 x16 slots support splitting its 16 PCIe 2.0 lanes across two cards at x8 transfers
| <!--Audio-->HD Audio with ALC888 or ALC889A codec
| <!--USB-->6 USB2.0
| <!--Ethernet-->2 x Realtek 8111C chips (10/100 /1000 Mbit)
| <!--Opinion-->4 x 1.8V DDR2 DIMM sockets non-EEC
|-
| <!--Name-->MSI P45 Platinum (2008)
| <!--Chipset-->P45 + ICH9
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->6 sata2 ports
| <!--Gfx-->two PCI-E x16 v2.0 slots
| <!--Audio-->ALC888 HD Audio
| <!--USB-->6 USB2.0
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->G45 +
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->adds Intel’s GMA X4500HD graphics engine to P45 Express features
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->G43 +
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->GMA X4500 2d
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->removes HD video acceleration from the G45’s features
|-
| <!--Name-->Asus P5E Deluxe
| <!--Chipset--> X48 with ICH9
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->HD Audio with ADI 1988B codec
| <!--USB-->
| <!--Ethernet-->Marvell 88E8001
| <!--Opinion-->
|-
| <!--Name-->GigaByte GA-X48 DQ6
| <!--Chipset-->X48 plus ICH9R
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->8 ports
| <!--Gfx-->two PCI-E x16 v2.0 slots
| <!--Audio-->ALC889A
| <!--USB-->8 USB2.0
| <!--Ethernet-->RTL 8111B 8169
| <!--Opinion-->Firewire TSB43AB23 no - ICH9 pairs with Intel’s 3-series (X38, P35, etc.) chipsets, in addition to the X48 Express, but excluding the G35 Express
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Gigabyte EP43-DS3L and Gigabyte GA-EP43-UD3L
| <!--Chipset-->P43 with ICH10
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->6 x SATA 3Gbit/s connectors
| <!--Gfx-->1 x PCI Express x16 slot PCI Express 2.0 standard
| <!--Audio-->HD Audio with ALC888 codec
| <!--USB-->
| <!--Ethernet-->realtek 8111C
| <!--Opinion-->4 x 1.8V DDR2 DIMM sockets - 4 pcie x1 - 2 pci - ATX Form Factor; 30.5cm x 21.0cm
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Gigabyte 73-pvm-s2h rev.1.0
| <!--Chipset-->NVIDIA GeForce 7100 nForce 630i
| <!--ACPI-->
| <!--IDE-->{{Yes|1 port}}
| <!--SATA-->{{yes|3 ports SATA2}}
| <!--Gfx-->{{Maybe|Vesa 2d GeForce 7100 (vga /hdmi/dvi), 1 PCIe x16 Slot }}
| <!--Audio-->{{Yes|Realtek ALC889A MCP73}}
| <!--USB-->{{Yes|7 USB2.0}}
| <!--Ethernet-->{{no|RTL 8211B MCP73}}
| <!--Opinion-->Firewire Not, tested with Icaros Desktop 2.0.3 MCP73 is a single chip solution in three different versions
|-
| <!--Name-->Nvidia 7150 630i
| <!--Chipset-->intel based nForce 630i (MCP73)
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->{{maybe|ide legacy}}
| <!--GFX-->GF 7150
| <!--Audio-->{{yes|HD AUDIO ALC883}}
| <!--USB-->{{yes|ohci echi}}
| <!--Ethernet-->{{no|RTL8201C}}
| <!--Opinion-->being tested
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->pci-e 2.0 x16
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion--> the MCP73PV or the GeForce 7050/nForce 630i
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->the MCP73S or the GeForce7025/nForce 630i
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->the MCP73V or the GeForce 7025/nForce 610i
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Atom SOC (2008/2x)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->D945CLF
| <!--Chipset-->N230 single core
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->
| <!--Gfx-->{{yes|GMA945}}
| <!--Audio-->{{yes|ALC662}} Skt 441
| <!--USB-->{{yes|uhci and ehci}}
| <!--Ethernet-->{{yes|rtl8169}}
| <!--Opinion-->works very well
|-
| <!--Name-->[http://www.clusteruk.com iMica D945GCKF2 mobo]
| <!--Chipset-->Intel Atom N330 Dual Core
| <!--ACPI-->wip
| <!--IDE-->{{yes|IDE}}
| <!--SATA-->{{maybe}}
| <!--Gfx-->{{yes|gma}}
| <!--Audio-->{{yes|HD AUDIO}}
| <!--USB-->{{yes|uhci ehci}}
| <!--Ethernet-->{{yes|rtl8169}}
| <!--Opinion-->
|-
| <!--Name-->D945GSEJT + Morex T1610
| <!--Chipset-->Atom 230 with 945GSE
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->{{maybe}}
| <!--Gfx-->{{yes|GMA900 vga but issues with DVI output}}
| <!--Audio-->{{yes|HDAudio with ALC662 codec}}
| <!--USB-->{{yes| }}
| <!--Ethernet-->{{yes|RTL8169 8111DL}}
| <!--Opinion-->small size, runs off 12V
|-
| <!--Name-->ASUS AT3N7A-I
| <!--Chipset-->Atom N330 Nvidia ION
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{maybe|3 ports legacy IDE}}
| <!--Gfx-->{{yes|nouveau cube cube 2 45 quake 3 }}
| <!--Audio-->{{yes|HD Audio with VIA 1708S codec playback}}
| <!--USB-->{{yes}}
| <!--Ethernet-->{{yes|RTL8169 device}}
| <!--Opinion--><ref>http://www.youtube.com/watch?v=EAiJpvu73iw</ref> good but can freeze randomly at times
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->D410PT 45nm pinetrail
| <!--Chipset-->D410 and NM10
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{maybe|ide legacy}}
| <!--Gfx-->{{maybe|GMA3150}}
| <!--Audio-->{{yes|ALC262 or ALC66x odd clicks}}
| <!--USB-->{{yes}}
| <!--Ethernet-->{{yes|RTL8111DL}}
| <!--Opinion-->some support
|-
| <!--Name-->45nm pinetrail
| <!--Chipset-->D510 and NM10 + GMA3150
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->GMA3150
| <!--Audio-->ALC888B or ALC66x
| <!--USB-->{{yes}}
| <!--Ethernet-->RTL8111DL
| <!--Opinion-->some support
|-
| <!--Name-->Gigabyte GA-D525TUD (rev. 1.0 1.2 1.5)
| <!--Chipset-->D525 NM10
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->gma 3150
| <!--Audio-->HDAudio ALC887
| <!--USB-->
| <!--Ethernet-->rtl8169 rtl8111f
| <!--Opinion-->2012 64 - 2 ddr3 dimm slots max 8g - Mini-ITX Form Factor; 17.0cm x 17.0cm -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
|}
=====Socket 1366 (2009/10)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->Asus P6T DELUXE
| <!--Chipset-->x58 + ICH10 and Intel 1st gen. (Nehalem/Lynnfield) Core i7 (8xx) CPU
| <!--ACPI-->
| <!--IDE-->{{yes|1 port}}
| <!--SATA-->4 ports
| <!--Gfx-->2 PCIe x16 (r2.0) slots
| <!--Audio-->ADI AD2000B HD Audio
| <!--USB-->{{yes|4 USB2.0}}
| <!--Ethernet-->{{no|Marvell 88E8056 Gigabit}}
| <!--Opinion-->Firewire VIA VT6308 no
|-
| <!--Name-->gigabyte ex58 ds
| <!--Chipset--> x58 + ICH10
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->Realtek 8111D rtl8169
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket 1156 (2010)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->Acer Aspire M3910
| <!--Chipset-->i3
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->{{unk| }}
| <!--Gfx-->{{maybe|VESA intel HD}}
| <!--Audio-->{{unk|HDAudio with Realtek ALC}}
| <!--USB-->{{yes| }}
| <!--Ethernet-->{{unk| Realtek}}
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-H55M-S2H
| <!--Chipset-->H55
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCIe slot
| <!--Audio-->{{Yes|ALCxxx playback}} ALC888B (Rev1.x)
| <!--USB-->{{Yes| }}
| <!--Ethernet-->{{Yes|RTL8111D}} (Rev 1.x)
| <!--Opinion-->Tested but no support for WLAN Realtek 8188su
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MSI H55M-E33 v1.0
| <!--Chipset-->E7636 M7636 H55 chipset so older i3/i5/i7 system
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->{{yes|HD Audio ALC889}}
| <!--USB-->
| <!--Ethernet-->{{Yes|PCI-E Realtek 8111DL}}
| <!--Opinion-->Works well
|-
| <!--Name-->Asus P7P55D
| <!--Chipset-->P55
| <!--ACPI-->
| <!--IDE-->{{unk| }}
| <!--SATA-->{{unk| }}
| <!--Gfx-->pci-e
| <!--Audio-->{{maybe | via codec}}
| <!--USB-->{{unk| }}
| <!--Ethernet-->{{maybe |rtl8169 Realtek RTL8111B/C RTL8112L }}
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket LGA 1155 H2 (2010/13)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->ASUS P8H61-I LX R2.0
| <!--Chipset-->H61
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 sata
| <!--Gfx-->1 pci-e slot
| <!--Audio-->HDAudio
| <!--USB-->USB3
| <!--Ethernet-->rtl8169 8111f
| <!--Opinion-->2013 - up to ivybridge cpus - 2 ddr3 dimm slots -
|-
| <!--Name-->Asus P8H61-I/RM/SI mini-itx
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->2 sata
| <!--Gfx-->pci-e 2
| <!--Audio-->HDAudio
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2012 64 up to i3-2010 - OEM board from an RM machine but not ivybridge as the Asus BIOS isn't compatible with these, 0909 hacked one might work -
|-
| <!--Name-->asus p8h61-i lx r2.0/rm/si mini itx
| <!--Chipset-->h61
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->pci-e 2.0
| <!--Audio-->HDaudio with VIA codec
| <!--USB-->
| <!--Ethernet-->rtl8169 rtl8111e
| <!--Opinion-->2012 sandy and ivy - oem from rm machine 2 x 240-Pin DDR3 DIMM sockets max DDR3 1333MHz -
|-
| <!--Name-->Bewinner 63q9c7omvs V301 ITX
| <!--Chipset-->H61
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 sata with nvme
| <!--Gfx-->pci-e 4
| <!--Audio-->HDAudio
| <!--USB-->
| <!--Ethernet-->Realtek 8106E 100M Network Card
| <!--Opinion-->2022 64
|-
| <!--Name-->Biostar H61 H61MHV2 H61MHV3 Ver. 7.0
| <!--Chipset-->H61 with Intel Pentium G 2xxx series CPU
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->pci-e
| <!--Audio-->Realtek ALC662 later ALC897
| <!--USB-->4 usb2
| <!--Ethernet-->rtl8169 Realtek RTL8111H
| <!--Opinion-->2014 - 2 ddr3 dimm slots -
|-
| <!--Name-->Gigabyte GA-H61M-D2-B3
| <!--Chipset-->H61 + Sandybridge
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 ports sata2
| <!--Gfx-->
| <!--Audio-->ALC889
| <!--USB-->2 ports
| <!--Ethernet-->Realtek RTL8111E
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-H61MA-D3V
| <!--Chipset-->H61 +
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 ports sata2
| <!--Gfx-->
| <!--Audio-->Maybe No Realtek ALC887 (Rev 2.0) ALC887 (Rev2.1)
| <!--USB-->2 ports
| <!--Ethernet-->Realtek RTL8111E
| <!--Opinion-->
|-
| <!--Name-->GA-H61M-S2PV
| <!--Chipset-->H61 with 2400k 2500k 2600k 2700k
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->pci-e 2.0 slot
| <!--Audio-->ALC887 (rev 1.0 2.0 2.1 2.2 2.3)
| <!--USB-->4 USB 2.0
| <!--Ethernet-->Rtl811E (1.0) 8151 (2.0) Rtl8111F (2.1 2.2 2.3)
| <!--Opinion-->Micro ATX Form Factor; 24.4cm x 20cm with 2 pci-e and 2 pci -
|-
| <!--Name-->Intel Classic Series DH61CR Desktop
| <!--Chipset-->H61 +
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 ports
| <!--Gfx-->
| <!--Audio-->Intel HD with ALC892
| <!--USB-->4 ports
| <!--Ethernet-->{{no|Intel 82579V}}
| <!--Opinion-->
|-
| <!--Name-->MSI H61M-P20 (G3) MS-7788
*retail MSI board
*OEM Advent, etc
| <!--Chipset-->H61
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{yes|four SATAII ports}}
| <!--Gfx-->1 PCI Express gen3 (retail) gen2 (oem) x16 slot
| <!--Audio-->{{yes|HDAudio ALC887 codec}}
| <!--USB-->{{yes|}}
| <!--Ethernet-->{{yes|Realtek 8105E 100M Network Card}}
| <!--Opinion-->2012 64bit - 2 ddr3 slots - 22.6cm(L) x 17.3cm(W) M-ATX Form Factor - BIOS - [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1149&rowstart=140&pid=6009#post_6007 works well],
|-
| <!--Name-->MSI H61I-E35 (B3) MS-7677 Ver.1.2
| <!--Chipset-->H61
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->{{maybe|VESA 2d for hdmi}}
| <!--Audio-->{{yes|https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1149&rowstart=140&pid=5861#post_5861 works}}
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus P8H67-M
| <!--Chipset-->H67 +
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->2 sata3 - 4 sata2
| <!--Gfx-->
| <!--Audio-->Intel HD with ALC887
| <!--USB-->6 USB2.0
| <!--Ethernet-->Realtek® 8111E
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus P8Z68-V LX
| <!--Chipset-->Z68 + Intel 2nd generation (Sandy Bridge) Core i7 (2xxx) CPU and possibly ivybridgev
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{yes|2 sata3 - 4 sata2}}
| <!--Gfx-->pci-e slot
| <!--Audio-->{{yes|HDAudio Intel HD with ALC887 codec}}
| <!--USB-->{{yes|2 USB3.0 - 4 USB2.0}}
| <!--Ethernet-->{{yes|rtl8169 Realtek® 8111E}}
| <!--Opinion-->2011 64bit SSE 4.1 and AVX - EFI bios - 4 ddr3 dimm slots -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte Z68AP-D3 (B3)
| <!--Chipset-->Z68 + Ivybridge
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->2 sata3 - 4 sata2
| <!--Gfx-->
| <!--Audio-->Intel HD with ALC889
| <!--USB-->2 USB3.0 - 4 USB2.0
| <!--Ethernet-->Realtek® 8111E
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus B75M-A
| <!--Chipset-->B75
| <!--ACPI-->
| <!--IDE-->{{yes| }}
| <!--SATA-->{{yes| }}
| <!--Gfx-->pci-e
| <!--Audio-->{{maybe|HDAudio with Realtek ® ALC887-VD codec}}
| <!--USB-->{{maybe| }}
| <!--Ethernet-->{{yes|rtl8169 Realtek ® 8111F-VB-CG }}
| <!--Opinion-->2013 64bit - 2 ddr3 slots -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->H77
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-H77-D3H 1.0 1.1
| <!--Chipset-->H77
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 sata 3.0
| <!--Gfx-->pci-e
| <!--Audio-->{{No|HDAudio VIA VT2021 codec}}
| <!--USB-->
| <!--Ethernet-->{{No|Atheros GbE LAN chip}}
| <!--Opinion-->2013 64bit i5 3550 7 3770 - 4 DDR3 slots - 2 full pci-e 2 pci slots -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Gigabyte GA Z77 D3H with i3 3225 dual
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->pci-e
| <!--Audio-->{{No|HDAudio VIA VT2021 codec}}
| <!--USB-->
| <!--Ethernet-->{{No|Atheros GbE LAN chip}}
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket LGA 1150 H3 (2013/2016)=====
[[#top|...to the top]]
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->[https://theretroweb.com/motherboards/s/asus-b85m-e-rev-1-02 Asus B85M-E]
| <!--Chipset-->B85
| <!--ACPI-->
| <!--IDE-->{{yes| }}
| <!--SATA-->{{yes| }}
| <!--Gfx-->pci-e
| <!--Audio-->{{maybe|HDAudio with Realtek ® ALC887-VD2 codec}}
| <!--USB-->{{no| }}
| <!--Ethernet-->{{yes|rtl8169 Realtek 8111F}}
| <!--Opinion-->2014 64bit - 4 ddr3 slots -
|-
| <!--Name-->Gigabyte GA-H87N-WIFI mITX
| <!--Chipset-->H87 and Intel 4th generation (Haswell) Core i5 (4xxx) CPU
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->Intel HD with ALC892
| <!--USB-->
| <!--Ethernet-->Intel Atheros
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus H81M-C H81M-P-SI
| <!--Chipset-->H81 with 4th generation (Haswell) Core i7 (4xxx) CPU
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->2x3g 2x6g
| <!--Gfx-->pci-e slot
| <!--Audio-->hdaudio alc887 vd
| <!--USB-->
| <!--Ethernet-->realtek 8111gr
| <!--Opinion-->2013 skt 1150 - 2 ddr3 max 16g - mini atx -
|-
| <!--Name-->Asus H81T
| <!--Chipset-->H81
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->2 sata
| <!--Gfx-->HD4000 igpu only
| <!--Audio-->HDAudio ALC887-VD
| <!--USB-->Intel USB3
| <!--Ethernet-->rtl8169 realtek 8111G
| <!--Opinion-->2013 64bit intel 4th gen mini itx - external dc brick with 19v rare barrel pin 7.4MM x 5.0MM - 2 ddr3 laptop sodimm slots -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-H81M-S2V
| <!--Chipset-->H81
| <!--ACPI-->
| <!--IDE-->{{N/A|}}
| <!--SATA-->
| <!--Gfx-->pci-e
| <!--Audio-->HDAudio ALC887
| <!--USB-->USB3
| <!--Ethernet-->Realtek® GbE LAN chip
| <!--Opinion-->2014 64bit up to i7 4790K - 2 DDR3 slots -
|-
| <!--Name-->Gigabyte GA-H81M-D3V (rev. 1.0)
| <!--Chipset-->H81
| <!--ACPI-->
| <!--IDE-->{{N/A| }}
| <!--SATA-->{{yes|2 sata2 2 sata3 }}
| <!--Gfx-->pci-e
| <!--Audio-->{{unk| HDAudio Realtek® ALC887 codec}}
| <!--USB-->{{unk|intel and VIA® VL805}}
| <!--Ethernet-->{{unk|rtl8169 Realtek }}
| <!--Opinion-->
|-
| <!--Name-->MSI H81M-E34 (MS-7817)
| <!--Chipset-->H81
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->{{yes| }}
| <!--Gfx-->PCIe 2.0 x16
| <!--Audio-->HDAudio with ALC887 codec
| <!--USB-->USB3
| <!--Ethernet-->{{yes|rtl8169 RTL8111G}}
| <!--Opinion-->2013 64bit -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus Z87-K
| <!--Chipset-->Z87 with 4th generation (Haswell) Core i7 4c8t i5 4c4t CPU
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->pci-e
| <!--Audio-->Intel HD with ALC
| <!--USB-->
| <!--Ethernet-->Realtek lan
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-Z87X-UD3H
| <!--Chipset-->Z87 Express
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->pci-e
| <!--Audio-->Intel HD with Realtek® ALC898 codec
| <!--USB-->
| <!--Ethernet-->intel
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA H97M D3H r1.0 r1.1 with i3 4360 or 4370 dual
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->pci-e
| <!--Audio-->Intel HD with ALC892
| <!--USB-->
| <!--Ethernet-->Realtek lan
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus Z97 A with i7 4790K
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->750, 960, 970 and 980 nvidia GTX cards
| <!--Audio-->Intel HD with ALC
| <!--USB-->
| <!--Ethernet-->intel lan ethernet
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA Z97X UD3H rev1.0 1.1 1.2
| <!--Chipset-->Z97 with i5 4690K
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->HDaudio with ALC1150
| <!--USB-->
| <!--Ethernet-->intel lan
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MSI GAMING 5 Z97
| <!--Chipset-->Z97 with 4th generation (Haswell) Core i7 4c8t CPU
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->ASUS Q87M-E
| <!--Chipset-->Q87
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2014 64bit - 4 DDR3 slots -
|-
| <!--Name-->
| <!--Chipset-->H99
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket LGA2011V2 s2011-2 (2012/15)=====
[[#top|...to the top]]
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| <!--Chipset-->x79
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2013 Xeon e5-???? W TDP, e5-2667V2 W TDP, e5-????V2 W TDP, Sandybridge and Ivybridge V2
|-
| <!--Name-->Asus
| <!--Chipset-->X79
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket LGA2011V3 s2011-3 (2015/18)=====
[[#top|...to the top]]
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| <!--Chipset-->x99
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2016 Xeon e5-1620v3 130W TDP, e5-1650V3 (i7-5930K) 140W TDP, e5-2640V3 90W TDP, Haswell-EP
|-
| <!--Name-->Asus
| <!--Chipset-->X99
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->most cheap Ryzens are better nowadays
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Huananzhi X99-CD4
| <!--Chipset-->Intel C612 and X99
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 sata 3 connectors and 1 m.2 nvme slot
| <!--Gfx-->pcie slot
| <!--Audio-->HDaudio with ALC897 codec
| <!--USB-->{{No|USB3}}
| <!--Ethernet-->{{maybe|rtl8169}}
| <!--Opinion-->2024 quality might not be great outside of a simple setup - 2 ddr4 dimms -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Keyiyou X99 XD4
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Machinist MR9A Pro
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2023
|-
| <!--Name-->Machinist MR9A Pro
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2023
|-
| <!--Name-->Mogul
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Qiyida X99 H9S
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2023
|-
| <!--Name-->Soyo
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket LGA 1151 Socket H4 (2015/2018)=====
[[#top|...to the top]]
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->Skylake CPUs have TPM 2.0 imbedded
|-
| <!--Name-->Asus H110 Plus H110M-A/DP
| <!--Chipset--> with 6th Gen Core and 7th with bios update
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->Sunrise Point-H SATA [AHCI mode] [8086 a102]
| <!--Gfx-->{{No|Skylake Integrated HD Graphics use PIC-E slot}}
| <!--Audio-->Intel HD Audio with Realtek ALC887 Audio CODEC
| <!--USB-->Sunrise Point-H USB 3.0 xHCI [8086: a12f] no usb2.0 fallback
| <!--Ethernet-->{{Yes|Realtek 8111GR or 8111H RTL8111 8168 8411}}
| <!--Opinion-->ATX with 3 pci-e and 2 DDR4 slots - uatx version smaller - turn off TLSF as it was causing AHI driver to corrupt. Turned off ACPI for errors but works fine once booted -
|-
| <!--Name-->ASUS H110M-R M-ATX
| <!--Chipset-->H110
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 x SATA 6Gb/s
| <!--Gfx-->pci-e
| <!--Audio-->HDAudio Realtek® ALC887 codec
| <!--USB-->Intel USB3
| <!--Ethernet-->Realtek® RTL8111H
| <!--Opinion-->2016 64bit 6th Gen Skylake Core™ i7/Core™ 6950X i7-6970HQ i7-6700K 4c8t hyperthreading, i5/Core™ i5-6600K 4c4t i3/Pentium® / Celeron® - 2 DDR4 DIMMS Max 32GB 2133MHz - 1 full pci-e and 2 pci-e 1 -
|-
| <!--Name-->Asus H110T
| <!--Chipset-->H110
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->2 sata
| <!--Gfx-->intel igpu only
| <!--Audio-->HDaudio
| <!--USB-->
| <!--Ethernet-->Dual Intel/Realtek GbE languard
| <!--Opinion-->2016 - mini itx 12v / 19v laptop type rare barrel pin 7.4MM x 5.0MM - 2 sodimm ddr4 slots - no pci-e slot -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-H110M-S2H MATX Rev1.0
| <!--Chipset-->H110
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 sata
| <!--Gfx-->pci-e 3.0
| <!--Audio-->Realtek® ALC887 codec
| <!--USB-->2 (USB 3.1 Gen 1) ports with 4 us2
| <!--Ethernet-->Realtek® GbE LAN
| <!--Opinion--> 2 ddr4 slots
|-
| <!--Name-->Gigabyte ga-h110n
| <!--Chipset-->H110
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Yes| sata}}
| <!--Gfx-->{{maybe|Vesa 2d for Intel or PCI-e slot}}
| <!--Audio-->{{Maybe|HDaudio for ALC887 codec}}
| <!--USB-->{{Maybe| }}
| <!--Ethernet-->{{maybe|RTL8169}}
| <!--Opinion-->2016 mini-itx 6th gen
|-
| <!--Name-->Msi H110M-PRO-VH
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 x SATA 6Gb/s
| <!--Gfx-->pci-e 3.0
| <!--Audio--> Realtek® ALC887 Codec
| <!--USB-->
| <!--Ethernet-->rtl8169 rtl8111h
| <!--Opinion--> 6th gen intel - 2 ddr4 slots
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus H170 Pro Gaming
| <!--Chipset-->H170
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 sata
| <!--Gfx-->pci-e
| <!--Audio-->HDAudio
| <!--USB-->Asmedia USB3.1/3.0
| <!--Ethernet-->intel lan
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MSI Z170A TOMAHAWK
| <!--Chipset-->Z170
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 sara, 1 x 2280 Key M(PCIe Gen3 x4/SATA), 1 x 2230 Key E(Wi-Fi)
| <!--Gfx-->pci-e
| <!--Audio-->HDAudio
| <!--USB-->
| <!--Ethernet-->intel lan
| <!--Opinion-->2016 64bit up to i7 7700k - 2 DDR4 -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->GIGABYTE GA-B250M-DS3H HD3P D3H D2V
| <!--Chipset-->B250
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2018 coffee lake intel 8th gen
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus
| <!--Chipset--> with Kaby Lake X Intel 7th Gen
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion--> up to 16 pcie lanes
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus
| <!--Chipset--> Z390 with Kaby Lake X
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion--> up to 16 pcie lanes
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset--> Q370M
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset--> H370M
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset--> B360M
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus Rampage
| <!--Chipset-->x299 with i9
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion--> - up to 24 to 44 pcie lanes
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte
| <!--Chipset--X299 >
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|}
=====Socket LGA 1200 (2020/2022)=====
[[#top|...to the top]]
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->MSI H510M-A PRO (MS-7D22)
| <!--Chipset--> with 10th gen Comet Lake X
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2021 64bit - up to 16 pcie lanes rebar possible
|-
| <!--Name-->Asus PRIME H410M-E
Asrock H470M-HDV/M.2
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus
| <!--Chipset--> with 11th gen Rocket Lake X
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion--> up to 16 pcie lanes
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|}
=====Socket LGA 1700 (2023/ )=====
[[#top|...to the top]]
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->Alder Lake / 14th gen Raptor Lake
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2021 2022 64bit - QoS work to 2 level cpus, P down to E cores -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->Meteor Lake ultra 5 7 1xxH series 1
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2023 2024 64bit 10nm - 3 level cpus, Low Power Island (SOC tile) to E onto P cores -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset--> 15th gen Arrow Lake
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->Lunar lake ultra 5 7 2xxV series 2
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2025 64bit 7nm -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->Nova Lake
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2026 64bit -
|-
| <!--Name-->
| <!--Chipset-->Panther Lake
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2026 64bit - either 44, 484, or 448 tiled cores 18A process - core ultra x9 288h, x7 358H, -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket LGA 1954 (2027/ )=====
[[#top|...to the top]]
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->Nova Lake-S
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->Serpent Lake, Titan Lake, and Razer Lake
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2027
|-
|}
=====Socket LGA (203x/203x)=====
[[#top|...to the top]]
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->MSI
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|}
===Chromebooks===
For most (EOL) cromebooks, the recommended UEFI path forward is to:
*put the device into Developer Mode
*disable firmware write protection
*flash MrChromebox's UEFI Full ROM firmware
*install ChromeOS Flex, Linux, etc
See [https://mrchromebox.tech/#home MrChrome], [https://mrchromebox.tech MrChrome] and the [https://www.reddit.com/r/chrultrabook/ chrultrabook subreddit] for more info
ChromeOS has several different boot modes, which are important to understand in the context of modifying your device to run an alternate OS:
*Normal/Verified Boot Mode
Can only boot Google-signed ChromeOS images
Full verification of firmware and OS kernel
No root access to the system, no ability to run Linux or boot other OSes
Automatically enters Recovery Mode if any step of Verified Boot fails
Default / out-of-the-box setting for all ChromeOS devices
*Recovery Mode
User presented with Recovery Mode boot screen (white screen with 'ChromeOS is missing or damaged')
Boots only USB/SD with signed Google recovery image
Automatically entered when Verified Boot Mode fails
Can be manually invoked:
On Chromebooks, via keystroke: [ESC+Refresh+Power]
On Chromeboxes, by pressing a physical recovery button at power-on
On Convertibles/Tablets, by holding the Power, Vol+, and Vol- buttons for 10s and then release
Allows for transition from Verified Boot Mode to Developer Mode
On Chromebooks/Chromeboxes, via keystroke: [CTRL+D]
On Convertibles/Tablets, via button press: Vol+/Vol- simultaneously
Booting recovery media on USB/SD will repartition/reformat internal storage and reload ChromeOS
Note: The ChromeOS recovery process does not reset the firmware boot flags (GBB Flags), so if those are changed from the default, they will still need to be reset for factory default post-recovery.
*Developer Mode
"Jailbreak" mode built-in to every ChromeOS device
Loosened security restrictions, allows root/shell access, ability to run Linux via crouton
Verified Boot (signature checking) disabled by default, but can be re-enabled
Enabled via [CTRL+D] on the Recovery Mode boot screen
Boots to the developer mode boot screen (white screen with 'OS verification is off' text),
The user can select via keystroke
<pre>
ChromeOS (in developer mode) on internal storage ( [CTRL+D] )
ChromeOS/ChromiumOS on USB ( [CTRL+U] )
Legacy Boot Mode ( [CTRL+L] )
</pre>
Boot screen displays the ChromeOS device/board name in the hardware ID string (eg, PANTHER F5U-C92, which is useful to know in the context of device recovery, firmware support, or in determining what steps are required to install a given alternate OS on the device.
*Legacy Boot Mode
Unsupported method for booting alternate OSes (Linux, Windows) via the SeaBIOS RW_LEGACY firmware
Accessed via [CTRL+L] on the developer mode boot screen
Requires explicit enabling in Developer Mode via command line: sudo crossystem dev_boot_legacy=1
Most ChromeOS devices require a RW_LEGACY firmware update first
Boots to the (black) SeaBIOS splash screen; if multiple boot devices are available, prompt shows the boot menu
Note: If you hear two beeps after pressing [CTRL+L], then either your device doesn't have a valid Legacy Boot Mode / RW_LEGACY firmware installed, or legacy boot capability has not been been enabled via crossystem.
https://www.howtogeek.com/278953/how-to-install-windows-on-a-chromebook/
Chromebooks don’t officially support other OSs. You normally can’t even install as Chromebooks ship with a special type of BIOS designed for Chrome OS. But there are ways to install, if you’re willing to get your hands dirty and potentially ruin everything
[https://mrchromebox.tech/#devices Firmware Compatibility]
[https://wiki.galliumos.org/Hardware_Compatibility Here is the list of hardware that the GalliumOS supports and information on getting Gallium OS on to those devices]
Development on GalliumOS has been discontinued, and for most users, GalliumOS is not the best option for running Linux due to lack of hardware support or a kernel that's out of date and lacking important security fixes.
Meet Eupnea and Depthboot, the successors to Galliumos and Breath [https://eupnea-linux.github.io This is the bleeding edge]
Most older Chromebooks need the write-protect screw removed in order to install MrChromebox's firmware that allows you to install other operating systems. Most newer Chromebooks don't work in the same way as there is no write-protect screw on them.
Very rough guide to '''total''' (i.e. all cores / threads) processor performance (AROS usually uses only the [https://gmplib.org/gmpbench one core])
[[#top|...to the top]]
<pre>
060000 AMD Ryzen 9 7900X (AM5 170W),
056000 AMD Ryzen 9 5950X,
055000 AMD Ryzen 9 5900X3D,
053000 AMD Ryzen 9 5900X (AM4 105W), AMD Ryzen 9 3950X (105W),
044000 AMD Ryzen 7 5800X3D,
042000 AMD Ryzen 9 6900HX, AMD Ryzen 5 5600X3D (AM4 95W), AMD Ryzen 7 PRO 5750GE (AM4 35W),
039000 AMD Ryzen 9 5900HS, Intel Core i7-12700T, AMD Ryzen 7 7735HS (8c16t 45W), AMD 8840U,
038000 AMD Ryzen 7 5800H (FP6 45W), AMD Ryzen 7 6800U, Intel Core i5-12490F, Intel Core i5-12500E,
037000 AMD Ryzen 7 5800HS (FP6 35W), AMD Ryzen 5 8500G 8600GE (AM5 6c12t 35W), AMD Ryzen Z2 (8c16t),
036500 AMD Ryzen 7 5700G (AM4 8c16t 65W), AMD Ryzen 9 6900HS, Intel Core i7-12800H,
036200 AMD Ryzen 7 5700GE (AM4 8c16t 35W), AMD Ryzen Z1 Extreme (top TDP), AMD Ryzen 5 8600G (AM5 65W),
036000 AMD Ryzen 5 3600X (Am4 95W), AMD Ryzen 5 5500 (AM4 65W), AMD Ryzen 5 5600 (65W),
035000 AMD Ryzen 5 6600H, Intel Core i5-12400F,
031000 AMD Ryzen™ 9 8945HS, Ryzen™ 7 8845HS, AMD Ryzen 7 7840U,
030000 AMD Ryzen 7 4800U, AMD Ryzen 4800H, Intel Core i5-11400F, Intel Zeon E5-2697A V4,
029500 AMD Ryzen 5 4500 (AM4 65W), AMD Ryzen 5 3600 (65W), Apple M3 Pro 12c,
029000 AMD Ryzen 5 4600G (AM4 65W), AMD Ryzen 5 PRO 4650GE (AM4 35W), AMD Ryzen 7 PRO 1700X (AM4 95W),
028500 AMD Ryzen 5 PRO 5675U, AMD Ryzen 7 1700 (AM4 65W), AMD Ryzen 7 2700 (65W), Ryzen 3 7540U,
028000 AMD Ryzen 5 PRO 5650U, 5 5560U (FP6 25W 6c12t Zen3), Intel Core i5-13500H, AMD Ryzen 7 4800HS,
027700 AMD Ryzen 9 PRO 7940HS (FP8 65W), AMD 8745HS, AMD Ryzen H255 AI, AMD Ryzen 3 7545U,
027500 AMD Ryzen 3 7736U, AMD Ryzen 5 7640U,
027400 AMD Ryzen 5 8540U, AMD Ryzen 5 PRO 5650GE (AM4 6c12t 35W), AMD Ryzen 5 PRO 4650G (AM4 45W),
027300 AMD Ryzen 7 PRO 4750GE, AMD Ryzen 5 5600H, AMD Ryzen 7 5825U (FP6 8c16t 15W),
027200 AMD Ryzen 5 6600U, AMD Ryzen 7 2700X, AMD Ryzen 5 5600GE (AM4 35W), AMD Ryzen Z1,
027100 AMD Ryzen 7 7730U (FP6 15W 8c16t), AMD Ryzen 7 5800U (FP6 25W 8c16t), Ryzen 9 4900H,
027000 AMD Ryzen 7 PRO 4750U (8c16t), Ryzen 5 7430U (FP6 6c12t), Ryzen 5 PRO 6650U, Intel 10500H,
026500 AMD Ryzen 7 PRO 7840HS (FP7 65W), AMD Ryzen 7 8840HS, AMD Ryzen Z2 Extreme,
025000 AMD Ryzen 5 5600U (FP6 25W hot 6c12t Zen3), AMD Ryzen 5 2600 (65W), Ryzen 5 7530U,
024500 AMD Ryzen 5 4600HS (FP6 35W 6c12t), Apple M1 Pro, AMD Ryzen 5 5625U (FP6 15W 6c12t),
023700 AMD Ryzen 3 PRO 5350GE (AM4 35W), AMD Ryzen 5 3500X (AM4 95W), Intel Core i7-9700,
023500 AMD Ryzen 5 1600X (95W), AMD Ryzen 3 5300GE (AM4 4c8t 35W), AMD Ryzen 7 5700U (FP6 25W 8c16t Zen2),
023200 AMD Ryzen 3 7330U (FP6 15W 4c8t), AMD Ryzen 7 4700U (FP6 25W 8c8t), AMD Ryzen 5 4400G,
023000 Intel Core i7-1255U, Intel Core i7 13700H, Ryzen 7640HS,
022000 AMD Ryzen Z2 Go (4c8t), AMD Ryzen 5 5500U (FP6 25W 6c12t Zen2), Snapdragon 8 Elite,
020500 AMD Ryzen 3 4300G (AM4 65W), AMD Ryzen 3 5450U 5425U, AMD Ryzen 5 PRO 4650U (6c12t),
019500 Intel Core i5-1135G7, AMD Ryzen 5 5500H, AMD Ryzen 5 4600U (FP6 25W 6c), AMD Ryzen 5 2600 (65W),
019250 Intel Core i5-1145G7,
019000 AMD Ryzen 5 3400G (AM4 65W), AMD Ryzen 5 2500X, AMD Ryzen 5 7520U, AMD Ryzen V3C18I (? 15W),
017750 AMD Ryzen 5 3400GE (AM4 35W), Intel Core i5-8400, AMD Ryzen 5 1500X (AM4 65W), Xbox One Series X,
017500 Intel Core i7-6700K, Intel i5-10400, AMD Ryzen 5 4500U (FP6 25W 6c6t), AMD Ryzen 3 5400U,
017000 AMD Ryzen 3 PRO 4350GE (AM4 35W), AMD Ryzen 3 5300U (FP6 25W 4c8t), Intel Core i5-11300H,
016500 AMD Ryzen 7 3750H, AMD Ryzen Embedded V1756B (FP5 45W), AMD Ryzen 3 PRO 4200GE, SD G3 Gen3,
016250 Intel Core i5-1035G7, intel core i5 7600 (4c4t 65W),
016000 AMD Ryzen 5 2400G (AM4 65W), AMD Ryzen 5 3550H, Ryzen 5 PRO 3350GE (4c 8t), Intel Core i5-8500T,
015500 AMD Ryzen Embedded R2544,
015000 AMD Ryzen 3 7320U, Ryzen 7 3700U, Ryzen 3200G (AM4 65W), Intel Core i7-8550U, Intel Core i5-1035G1,
014000 AMD Ryzen 5 2400GE (AM4 35W), Intel Core i7-6700T, AMD Ryzen 5 3550U,
013500 AMD Ryzen 5 3500U (FP5 15W 4c8t), AMD Ryzen 3 4300U, AMD Athlon Gold 4150GE, AMD Ryzen 5 3450U,
013250 AMD Ryzen 3 3200GE (AM4 45W), AMD Ryzen 3 1300X (65W), AMD Ryzen 3 2200G, Xbox One Series S,
013000 AMD Ryzen Embedded V1605B (FP5 25W), AMD Ryzen 2700U, AMD Ryzen R2514,
012500 AMD Ryzen 5 2500U (FP5 25W 4c8t), Intel Core i3-8300T, Intel Xeon X5680, Intel i3-1115G4 (2c4t),
012300 Intel Core i7-8565U, Intel Core i5-8350U, Intel Core i7-8700, Allwinner A733 (2 A76, 6 A55),
012200 ARM Cortex-X3 Prime Snapdragon SD8G2 Gen2 4nm 64-bit Kryo CPU, i5-8250U (4c8t),
012000 AMD Ryzen 3 2200GE, AMD Ryzen 3 1200 (65W), AMD Ryzen 5 3500C,
011500 AMD Ryzen 3 3300U, Intel Core i3-8100T, Intel Core i5-8265U, Intel i5-10210U, CORE i5-10310U,
010500 AMD Ryzen 3 2300U (FP5 25W 4c4t), Allwinner A527 (8 A55),
010300 Intel Core i7-3630QM, Intel Core i5-6600T, Intel Core i5-4670K,
010200 Intel Core i5-6440HQ, Intel Core i7-3610QM, Snapdragon SD865,
010000 AMD FX-8320E (AM3+ 125W 8c8t), Intel Core i5-7500T, Intel Core i5-4690,
009000 Spectrum Unisoc Tiger T7280 (T620), Cortex-X2, MediaTek Dimensity 1300 (4 A78, 4 A55),
008700 AMD FX-6130 (AM3+ 90W 6c6t), Intel Core i5-7400T, Intel Core i5-4590T,
008500 Intel Core i5-6500T, AMD Athlon 300GE (AM4, 35W), AMD Athlon Gold 7220U,
008000 AMD Ryzen R1606G (FP5 15W), AMD FX-6300 (AM3 65W 6c6t), Intel Core i5-2500K,
007500 AMD Ryzen 3 3200U, AMD Ryzen 3 3250U, Intel Alderlake ULX N100 / N95,
007200 AMD Ryzen 3 2200U (FP5 25W 2c4t), Intel Core i3-7100T, Intel Twinlakes N150 N200, Xbox(TM) One S,
007100 AMD Ryzen R1505G (FP5, 15W), RK3576 4 A72, 4 A53, Snapdragon XR2 Gen 1, Intel i7-7600U,
006600 Qualcomm Snapdragon 888 5G, AMD Athlon 300U (FP5 2c4t 15W), Intel Core i7-7500U, AMD V1202B,
006500 Intel Core i7-6500U, AMD Athlon Gold 3150U, Intel Celeron N5105 (FCBGA1338 15W), SD 685,
006300 Intel Core i3-8130U (15W), Intel Celeron N5095 (FCBGA1338 15W), Intel Core i3-6100T,
006100 Intel Core i5-6300U, Intel Core i5-7200U (2c4t), Intel i7-5500U, Intel Core i7-6600U (2c4t),
006000 Intel Core i5-6200U (2c4t), Intel Core i3-7130U, Intel i7-4500U, Qualcomm Snapdragon 888 4G,
005950 Intel Core i5-4570T, Intel Core i5-5257U, Rockchip RK3588 (4 A76, 4 A55), Snapdragon 7325,
005900 Intel Xeon X5550, Intel Core i5-4300M, MediaTek Dimensity 1200 (4 A78, 4 A55), Unisoc 7255 (T616),
005800 Intel Celeron J4125 J4105 (FCBGA1090 15W), Intel Core i5-3470T, AMD A8-6600K APU, AMD 3015E (2c4t),
005600 Intel Core i5-3360M, Intel Core i7-3520M, Intel Core i5-4210M, Intel Pentium G4600T,
005400 MediaTek Dimensity 900 (2 A78, 6 A55), AMD Athlon Silver 7120U, Snapdragon 860,
005300 AMD PRO A12-9800B 7th Gen APU (FP4 15W), AMD FX-4300 4c4t, AMD Ryzen R1305G,
005250 Intel Core i5-3230M, AMD FX-7600P, Intel Pentium G4400, Unisoc T7200 (Unisoc T606 2 A76, 6 A55),
005200 AMD PRO A10-8770E, AMD A10-9700E, AMD PRO A10-9700B (FP4 15W), Intel Core i3-4130T,
005100 AMD RX-427BB (FP3 15W), AMD A10-9620P, AMD A12-9720P, Intel Core i3-8145U, AMD A12-9830B,
005050 AMD A8-5500 (FM2 65W), AMD A10 PRO-7800B APU, Intel Pentium Silver N5000, Intel Core i7-5500U,
005000 Intel Core i5-5300U, Intel Core i5-3320M (2c4t), Intel Core i5-5350U, Unisoc T618 (2 A73 6 A53),
004900 Intel Core i5-4300U, Intel Core i5-5200U, Intel Core i3-4100M, Snapdragon 662 (SM6115),
004860 Intel Core i7-2620M, Intel Core i7-2640M, AMD Athlon Silver 3050U 3050e, Intel i3-7020U,
004650 Intel Core i5-2520M (2c4t), Intel Core i5-3210M, AMD A10-9600P (FP4 4c 15W), Pentium 4415U,
004625 Intel Core i3-7100U (FCBGA1356 15W), ARM A76 RK3588S, AMD A10-6800B APU,
004600 AMD PRO A8-9600B, AMD PRO A12-8830B, AMD PRO A10-8730B, AMD A12-9700P, Intel Core i3-6100U,
004200 AMD A10-8700P A8-8600P, Intel Core i5-4200U, Intel Core i5-2540M, Intel i3-6006U, Intel i3-4150T,
004000 Intel Core i5-2430M, AMD PRO A8-8600B, AMD 3020e, Intel Core i3-5005U, Mediatek MT6797 Helio X20,
003850 Intel Core i5-2410M (2c4t), Intel Core i3-2120 (LGA1155 65W), Mediatek MT8786,
003800 AMD A10-4600M APU, AMD A10 PRO-7350B APU, AMD A10-5750M APU, Rockchip RK3399,
003600 AMD A8-6500T APU, AMD A8-7410 APU, AMD PRO A6-8550B, AMD A8-5550M (4c4t),
003500 AMD GX-424CC SOC (FT3b 25W 4c4t), ARM A75 Unisoc Tiger T610 (Spreadtrum) (8c 5W),
003400 AMD A10-7300 APU, AMD A6-7310 APU, AMD A8-6410, AMD A10-5745M APU, Intel Core i3-4000M,
003350 Intel Pentium G2020, Intel Core i3-3120M (G2 2c4t), AMD R-464L APU, Intel® Core m5-6Y57 (2c4t),
003300 AMD GX-420CA SOC (FT3 BGA769 25W), AMD A6-9500E, Intel Celeron N4200, AMD A6-5200 ( 25W 2c2t),
003200 AMD A6-6310 APU, AMD A6-6400B APU, AMD A6-8570E, AMD A8-4500M APU, AMD A6-7400K APU
003000 AMD A8-7150B, AMD A9-9410, A9-9420, A9-9425, AMD A6-8500B (FP4 15W), AMD A8-7100,
002900 AMD PRO A6-8530B, AMD A6-8500P, AMD A8-3500M APU, Intel Core i3-2120T,
002700 AMD Embedded GX-420GI (FP4 15W), AMD PRO A6-9500B, AMD GX-415GA, AMD A4-6210 APU,
002600 AMD A6-9225, AMD A8-4555M APU, AMD A4-5000 APU (FT3 15W), AMD A6-9220, AMD A6-3420M APU,
002450 Intel Celeron 2950M, Intel Pentium N3700, Intel Core i3-2350M, Allwinner A523 (8 A55),
002400 Intel Celeron N3150, Intel Core i3-2330M, Intel Xeon W3505, AMD A6-9210, Allwinner H618 (4 A53),
002300 Intel Celeron N3350, AMD A4-9120, AMD A4-9125, Intel Core i3-2310M, Intel Celeron 3865U,
002200 AMD A9-9420e, AMD A6-5350M APU, AMD E2-6110 APU, AMD E2-9000e, Celeron N4500, Intel N3710,
002000 AMD GX-412HC, AMD A4-4300M APU, AMD A6 PRO-7050B APU, AMD A6-4400M APU, AMD A6-7000,
001925 Intel Core2 Duo E6700, Intel Pentium Extreme Edition 965, Intel Core i3-370M, Celeron N4020,
001750 Intel Core i3-2365M 2375M, AMD A4-9120C, Intel Core2 Duo T8300, Qualcomm MSM8939,
001600 AMD GX-222GC (BGA769 FT3b 15W), AMD A4-9120e, AMD Embedded GX-215JJ, AMD A4-4355M APU,
001550 Intel Core2 Duo SL9400 T7600 T6600, AMD E2-3200, AMD A6-9220e, Mediatek MT8783, AMD E2-3800,
001500 AMD GX-218GL SOC, AMD A6-4455M, AMD A4-5150M APU, ARM A55 RK3566 (4c 3W), Intel Core2 Duo T8100,
001400 AMD GX-217GA SOC, ARM Cortex-A53 4c4t H700, AMD A4-3300M APU, Allwinner A133P A64 (4 A53),
001300 AMD Turion 64 X2 Mobile TL-64 TL-62, Intel Core2 Duo T7300, Intel Core2 Duo T5600, AMD RX-216TD,
001250 AMD GX-412TC SOC, AMD A4-3320M APU, AMD Athlon 64 X2 QL-66, Intel Core2 Duo T7200
001200 AMD Athlon 64 X2 2c TK-57, AMD Turion 64 X2 Mobile TL-60 RM-74, AMD E1-2500, AMD E2-7015,
001150 Intel Core2 Duo T5550, Intel Core2 Duo L7500, AMD E2-3000M APU, ARM A35 RK3266, AMD E2-7110,
001100 Intel Core2 Duo T5300, AMD Athlon 64 X2 3800, Intel Core2 Duo E4300, Mediatek MT8127,
001050 AMD E1-6010 APU, Intel Pentium T4300, Intel Celeron N2840,
001050 AMD Athlon 64 FX-57, AMD Athlon 64 X2 Dual-Core TK-55, AMD Turion 64 X2 Mobile TL-52
001000 Intel Core2 Duo T5500, Intel Core2 Duo L7300, Intel Core2 Duo SU9400,
000950 AMD G-T56N, AMD Athlon 64 3100+, AMD E2-2000 APU,
000950 AMD Turion 64 X2 Mobile TL-50, AMD E1-2200 APU, Intel Celeron U3400,
000925 AMD TurionX2 Dual Core Mobile RM-72, AMD Sempron 140
000920 Intel Celeron SU2300, Intel Core2 Duo T5200, AMD Turion 64 X2 Mobile TL-56
000890 AMD E2-1800 APU, AMD Turion 64 X2 Mobile TL-58
000880 AMD G-T56E, AMD G-T48E,
000860 AMD E-450 APU, AMD E-350 APU, AMD Athlon LE-1620
000820 AMD A4-1250 APU, AMD Athlon LE-1600,
000810 AMD E1-2100 APU, Intel Core Duo T2500,
000810 Intel Atom D510, Intel Core2 Duo U7500,
000800 AMD Geode NX 2400+, AMD Turion 64 Mobile ML-42, AMD Athlon II Neo K325,
000760 AMD V140, AMD E1-1200 APU, AMD Athlon 64 3300+,
000730 Intel Core Duo T2400, AMD Turion 64 Mobile MK-38, AMD Sempron 3600+,
000700 Intel Core2 Duo U7600 U7700, AMD Sempron LE-1200, AMD V120
000680 AMD GX-212JC SOC, AMD E-300 APU, AMD A4-1200 APU,
000670 AMD Turion 64 Mobile MK-36 ML-37 ML-40, Mobile AMD Sempron 3800+
000640 Intel Atom N2600, Intel Atom N570, Mobile AMD Athlon 64 3200+
000640 Intel Core Duo T2300, Intel Core Duo T2050,
000630 VIA Eden X2 U4200, AMD Sempron LE-1100, AMD Sempron 3100+ 3600+,
000620 AMD C-70 C70 APU, Intel Atom 330, AMD G-T40N, AMD Athlon Neo MV-40,
000610 Intel Core2 Duo U7300, AMD Athlon II Neo K125 K145,
000600 Intel Atom N550, Intel Pentium 4, AMD Athlon 64 2800+,
000580 AMD C-60 C60, AMD G-T40E, AMD Sempron LE-1250
000530 AMD C-50 C50, Intel Celeron M 723, AMD Sempron 210U,
000490 AMD GX-210JA SOC, PowerPC 970 G5 IBM's 970 server CPU (2c),
000470 Mobile AMD Sempron 3500+, Mobile AMD Athlon XP-M 2200+,
000460 AMD Athlon XP 2500+, AMD Sempron 3500+, Mobile Intel Pentium 4,
000440 Intel Atom D425, Intel Atom N470, POWER 4 PPC,
000410 Intel Pentium M, Intel Celeron M, AMD Sempron 2300+
000400 Intel Atom N450, AMD Sempron 2400+,
000340 Intel Atom D410, AMD G-T52R, AMD C-30, AMD Sempron 2200+
000330 Intel Atom N455, Intel Atom N280, Intel Atom N270 (1c1t 2W), Intel P3,
000320 Freescale NXP QorIQ P1022
000310 PowerPC G4 7447 1Ghz (1c1t 15W), PPC440 core,
000230 PowerPC PPC G3/PPC 750,
000160 Pentium II, Motorola 68060
000080 Intel 80486, Motorola 68030,
000040 Intel 80386,
000030 Motorola 68020
000008 Motorola 68000
</pre>
=== Recommended hardware (32-bit) ===
[[#top|...to the top]]
Recommended hardware is hardware that has been tested with latest release of AROS and is relatively easy to purchase second hand (ie. ebay). This hardware also comes with commitment that compatibility will be maintained with each future release.
If in future decision will be made to drop any of the recommended hardware from the list (for example due to it no longer being available for purchase), such hardware will move to list of legacy supported systems and will have an indicated end of life date so that users have time to switch to other hardware.
{| class="wikitable sortable" width="100%"
| <!--OK-->{{Yes|'''Works well'''}} || <!--Not working-->{{No|'''Does not work'''}} || <!--Not applicable-->{{N/A|'''N/A not applicable'''}}
|-
|}
==== Virtual Hardware ====
{| class="wikitable" width="100%"
! width="20%" |Name
! width="5%" |Storage
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |Ethernet
! width="5%" |Wireless
! width="10%" |Additional hardware
! width="45%" |Comments
|-
| VirtualBox 7.x (Other/Unknown template) || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VMWARESVGA}} || {{Yes|HDAudio}} || {{Yes|PCNET32<br/>E1000}} || NOT APPLICABLE || NOT APPLICABLE || <!--Comments-->
|-
| VMware 16+ (Other32 template) || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VMWARESVGA}} || {{Yes|SB128}} || {{Yes|PCNET32}} || NOT APPLICABLE || NOT APPLICABLE || <!--Comments-->
|-
| QEMU 8.x ("pc" and "q35" machines) || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VESA}} || {{Yes|SB128}} || {{Yes|PCNET32}} || NOT APPLICABLE || NOT APPLICABLE || <!--Comments-->
|-
|}
==== Laptops ====
{| class="wikitable" width="100%"
! width="20%" |Name
! width="5%" |Storage
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |Ethernet
! width="5%" |Wireless
! width="10%" |Additional hardware
! width="45%" |Comments
|-
| ACER Aspire One ZG5 || {{Yes|IDE<br/>SATA(IDE)}} || {{Yes|GMA}} || {{Yes|HDAudio}} || {{Yes|RTL8169}} || {{Yes|ATHEROS}} || NOT APPLICABLE || <!--Comments-->
|-
| Dell Latitude D520 || {{Yes|IDE}} || {{Yes|GMA}} || {{Yes|HDAudio}} || {{Yes|BCM4400}} || {{No|}} || {{Yes|Atheros AR5BXB63}} || * select Intel Core 2 64-bit version, not Celeron 32-bit version <br/> * replace WiFi card to get wireless working
|-
|}
==== Desktop Systems ====
{| class="wikitable" width="100%"
! width="20%" |Name
! width="5%" |Storage
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |Ethernet
! width="5%" |Wireless
! width="10%" |Additional hardware
! width="45%" |Comments
|-
| Fujitsu Futro S720 || {{Yes|SATA(AHCI)}} || {{Yes|VESA}} || {{Yes|HDAudio}} || {{Yes|RTL8169}} || NOT APPLICABLE || NOT APPLICABLE || * no 2D/3D acceleration<br/> * use USB ports at back
|-
|}
==== Motherboards ====
{| class="wikitable" width="100%"
! width="20%" |Name
! width="5%" |Storage
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |Ethernet
! width="5%" |Wireless
! width="10%" |Additional hardware
! width="45%" |Comments
|-
| ASUS P8Z68V LX || {{Yes|SATA(AHCI)}} || {{Yes|VESA}} || {{Yes|HDAudio}}|| {{Yes|RTL8169}} || NOT APPLICABLE || {{Yes|GeForce 8xxx/9xxx}} || * add external PCIe video card for better performance
|-
| Gigabyte GA-MA770T UD3/UD3P || {{Yes|IDE<br/>SATA(AHCI)}} || NOT APPLICABLE || {{Yes|HDAudio}}|| {{Yes|RTL8169}} || NOT APPLICABLE || {{Yes|GeForce 8xxx/9xxx}} || * requires external PCIe video card
|-
| ASUS M2N68-AM SE2 || {{Yes|IDE}} || {{Yes|NVIDIA}} || {{Yes|HDAudio}}|| {{Yes|NVNET}} || NOT APPLICABLE || {{Yes|GeForce 8xxx/9xxx}} || * connecting a disk via SATA connector is not supported at this time <br/> * add external PCIe video card for better performance
|-
| Gigabyte GA-H55M-S2H || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VESA}} || {{Yes|HDAudio}}|| {{Yes|RTL8169}} || NOT APPLICABLE || {{Yes|GeForce 8xxx/9xxx}} || * add external PCIe video card for better performance
|-
|}
==== Legacy supported hardware ====
{| class="wikitable" width="100%"
! width="20%" |Name
! width="5%" |Storage
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |Ethernet
! width="5%" |Wireless
! width="10%" |Additional hardware
! width="10%" |EOL
! width="35%" |Comments
|-
| iMica || {{Yes|IDE}} || {{Yes|GMA}} || {{Yes|HDAudio}}|| {{Yes|RTL8169}} || NOT APPLICABLE || NOT APPLICABLE || 2026-12-31 ||
|-
| Gigabyte GA-MA770 UD3 || {{Yes|IDE<br/>SATA(IDE)}} || NOT APPLICABLE || {{Yes|HDAudio}}|| {{Yes|RTL8169}} || NOT APPLICABLE || {{Yes|GeForce 8xxx/9xxx}} || 2026-12-31 || * requires external PCIe video card
|-
|}
=== Recommended hardware (64-bit) ===
[[#top|...to the top]]
Recommended hardware is hardware that has been tested with latest release of AROS and is relatively easy to purchase second hand (ie. ebay). This hardware also comes with commitment that compatibility will be maintained with each future release.
==== Virtual Hardware ====
{| class="wikitable" width="100%"
! width="20%" |Name
! width="5%" |Storage
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |Ethernet
! width="5%" |Wireless
! width="10%" |Additional hardware
! width="45%" |Comments
|-
| VirtualBox 7.x (Other/Unknown (64-bit) template) || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VMWARESVGA}} || {{Yes|HDAudio}} || {{Yes|PCNET32<br/>E1000}} || NOT APPLICABLE || NOT APPLICABLE || * No accelerated 3D support
|-
| VMware 16+ (Other64 template) || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VMWARESVGA}} || {{Yes|SB128}} || {{Yes|E1000}} || NOT APPLICABLE || NOT APPLICABLE || * No accelerated 3D support
|-
| QEMU 8.x ("pc" and "q35" machines) || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VESA}} || {{Yes|SB128}} || {{Yes|PCNET32}} || NOT APPLICABLE || NOT APPLICABLE || * No accelerated 3D support
|-
|}
==== Motherboards ====
{| class="wikitable" width="100%"
! width="20%" |Name
! width="5%" |Storage
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |Ethernet
! width="5%" |Wireless
! width="10%" |Additional hardware
! width="45%" |Comments
|-
| ASUS P8Z68V LX || {{Yes|SATA(AHCI)}} || {{Yes|VESA}} || {{Yes|HDAudio}}|| {{Yes|RTL8169}} || NOT APPLICABLE || NOT APPLICABLE || * No accelerated 3D support
|-
|}
==References==
[[#top|...to the top]]
{{reflist}}
{{BookCat}}
90fh83001vg9tblo44mnp8wiuau7qfm
4640004
4639908
2026-06-12T09:36:39Z
Jeff1138
301139
4640004
wikitext
text/x-wiki
{{ArosNav}}
==Introduction==
This a list of computer hardware tested with mostly native AROS installs and, in the recommended sections, of virtual machines
With 64bit support it is recommended 8Gb ram is needed and that SSE 4.1 and AVX are supported in the CPU i.e. from year 2012 for Intel CPUs and 2013 for AMD CPUs. They are x86-64 instruction sets designed to perform the same operations on multiple data items simultaneously, a technique known as Single Instruction, Multiple Data (SIMD). This allows for increased performance in tasks involving parallel computation. SSE 4.1 is a 128-bit SIMD instruction set, while AVX introduced 256-bit SIMD, further enhancing performance. Some apps require these features to run well, like 3D, multimedia decoding or JIT (javascript) in Odyssey web browser. If not the apps may work slower or might fail.
If you have encountered differently (i.e. problems, incompatibilities, faults, annoyances, environment, errors, review of setup etc) please update this information.
Please bear in mind that AROS has only a few hardware driver developers, whilst Linux counts in the tens and Windows in the hundreds.
[[#Laptops]]
[[#Netbook]]
[[#Desktop Systems]]
[[#AMD Sockets]]
[[#Intel Sockets]]
[[#Recommended hardware (32-bit)]]
[[#Recommended hardware (64-bit)]]
=== Laptops ===
[[#top|...to the top]]
* 2006/2007 Dell Latitude D-series laptops - business class machines, good support in Aros, easy to replace wifi card
* 2006 some [https://www.techradar.com/reviews/pc-mac/laptops-portable-pcs/laptops-and-netbooks/toshiba-satellite-pro-a200-28550/review Satellite Pro A200]
* 2008 For the tiny carry anywhere, the early run of Acer Aspire netbooks
Rough estimate from taking a random laptop notebook what you can expect from a Native install of AROS
{| class="wikitable sortable" width="100%"
! width="10%" |Date
! width="5%" |Overall
! width="5%" |Gfx VESA
! width="5%" |Gfx 2D Acceleration
! width="10%" |Gfx 3D Acceleration
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="10%" |Wireless
! width="20%" |Comments
|-
| Before 2002 || Poor to OK || VESA 90% || 2D 10% || {{N/A}} || Audio 10% || 40% || Wired 70% || 2% || Max RAM 512MB
|-
| 2002-2005 || OK || VESA 95% || 2D 10% || 3D 0% || Audio 30% || 70% || Wired 50% || 10% || Max RAM 2GB (for 32bit)
|-
| 2005-2012 || Good || VESA 98% || 2D 60% || 3D 30% || Audio 40% || 80% || Wired 30% || 10% || Max RAM 3Gb (32bit) to 8GB (64bit)
|-
| 2013-2017 || OK || VESA 98% || 2D 30% || 3D 0% || Audio 30% || 60% || Wired 20% || 0% || Max RAM 8GB / 16GB better to go Intel / AMD Ryzen over AMD A series
|-
| 2018-2024 || OK || VESA 98% || 2D 20% || 3D 0% || Audio 40% || 60% || Wired 30% || 0% || Max RAM 32GB better 64bit options if has an internal dvd drive and working ethernet
|-
| 2025-202x || Poor || VESA 95% || 2D 0% || 3D 0% || Audio 0% || 0% || Wired 10% || 0% || Max RAM 64GB AI disruption of previous hardware
|-
|}
3D tests now conducted with apps found in Demos/AROS/Mesa and run at default size (may need to View As -> Show All to see them.
Any laptop with Windows 7(TM) 64bit or higher install, the bios and hard drive set in uefi/gpt mode (install of AROS incompatible)
Most vendor suppliers get OEM (original equipment manufacturers) to make their laptops. These brand name companies purchase their laptops from
*80% ODM (Original Design Manufacturer) such as Quanta, Compal, Wistron, Inventec, Foxconn (Hon Hai), Flextronics and Asus (now Pegatron)
*20% MiTAC, FIC, Arima, Uniwill, ECS, Tonfang Origin and Clevo
{| class="wikitable sortable" width="100%"
| <!--OK-->{{Yes|'''Works well'''}} || <!--May work-->{{Maybe|'''Works a little'''}} || <!--Not working-->{{No|'''Does not work'''}} || <!--Not applicable-->{{N/A|'''N/A not applicable'''}}
|-
|}
====Acer/Gateway/Emachines====
Company founded under the name of Multitech in Taiwan in 1976, renamed to Acer or Acer Group in 1987
Order of build quality (Lowest to highest)
<pre >
Packard Bell
Aspire
Extensa
TimeLine
Travelmate
</pre >
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="2%" |Ethernet
! width="5%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->Travelmate 505 506 507 508 Series || <!--Chipset-->P2 Celeron 466Mhz || <!--IDE-->{{Yes|boots}} || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA Neo Magic Magic Graph 128XD (NM2160)}} || <!--Audio-->{{No|AC97 Crystal CS}} || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->1998 minimal support but no audio etc - 506T, 506DX, 507T, 507DX, 508T
|-
| <!--Name-->TravelMate 340 342 343 345 347 || <!--Chipset-->ALi M1621 with piii || <!--IDE--> || <!--SATA--> || <!--Gfx-->Trident Cyber 9525 || <!--Audio-->{{No|ESS ES1969 Solo-1}} || <!--USB-->2 ALi OHCI USB 1.1 || <!--Ethernet-->a few have Intel e100 || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->2000 32bit - 340T, 341T, 342T, 342TV, 343TV, 345T, 347TV
|-
| <!--Name-->TravelMate 350 351 352 353 || <!--Chipset-->Ali with piii || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->Trident Cyber Blade DSTN/Ai1 || <!--Audio-->{{No|ali5451}} || <!--USB-->2 USB 1.1 Ali M5237 OHCI || <!--Ethernet-->e100 || <!--Wireless-->Acer InviLink IEEE 802.11b || <!--Test Distro--> || <!--Comments-->2001 32bit very limited support but no support for PCMCIA O2 Micro OZ6933 - 350T, 351TEV, 352TEV, 353TEV
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->TravelMate 610 series 611 612 613 614 || <!--Chipset-->815 P3 || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->Intel 82815 cgc || <!--Audio-->AC97 || <!--USB-->USB 1.1 || <!--Ethernet-->Intel e100 pro || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->2001 32bit - 610TXVi 610T 611TXV 612TX 613TXC
|-
| Aspire 3003LM || SIS AMD 3000 1.8GHz || {{yes}} || {{N/A}} || {{maybe|SIS AGP M760GX (VESA only)}} || {{yes|AC97 SIS codec}} || 3 USB 2.0 || {{yes|SIS900}} || {{no|Broadcom BCM4318 AirForce One 54g}} || Icaros 1.2.4 || 2003 sempron
|-
| Travelmate 2310 Series ZL6 || Intel Celeron M 360 1.4GHz with SiS 661MX || {{yes}} || {{N/A}} || {{maybe|SiS Mirage M661MX (VESA only)}} || {{yes|SIS SI7012 AC97 with realtek ALC203 codec speakers only}} || || {{yes|SIS900}} || {{N/A|LM version has pci card slot but no antenna}} || 2017 Icaros 2.1.1 || 2004 32bit - No USB boot option but boot from DVD - reports of wifi losing connection (isolate/remove the metallic grounding foil ends of the antennas) - 2312LM_L -
|-
| <!--Name-->Aspire 3000 3002LMi 3500 5000 || <!--Chipset-->AMD CPU W-with SIS M760 || <!--IDE--> || <!--SATA--> || <!--Gfx-->SIS 760 || <!--Audio-->SIS || <!--USB--> || <!--Ethernet-->SIS 900 || <!--Wireless-->{{No|Broadcom BCM4318 swap for Atheros}} || <!--Test Distro--> || <!--Comments-->2005 32bit
|-
| <!--Name-->Aspire 3050 5020 5050 || <!--Chipset-->AMD Single and Turion MK-36 Dual and RS480 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Use VESA - RS482M Xpress 1100 or RS485M Xpress 1150 || <!--Audio-->HD Audio Realtek ALC883 || <!--USB--> || <!--Ethernet-->8139 || <!--Wireless-->Atheros 5006G or Broadcom BCM 4318 || <!--Test Distro--> || <!--Comments-->2005 32bit MK36 gets very hot
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->TravelMate 2410 2420 2430 series || <!--Chipset-->915GM || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel Mobile 915GMS 910GML || <!--Audio-->Intel AC97 ICH6 with ALC203 codec || <!--USB-->4 USB2.0 || <!--Ethernet-->Realtek RTL-8139 || <!--Wireless-->Atheros 5005GS || <!--Test Distro--> || <!--Comments-->2005 32bit 2428AWXMi -
|-
| <!--Name-->Acer Aspire 3610 - WISTRON MORAR 3614WLMI || <!--Chipset-->Intel 915 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|Intel GMA 2D and 3D}} || <!--Audio-->{{yes|[http://www.amiga.org/forums/showpost.php?p=644066&postcount=13 AC97]}} || <!--USB--> || <!--Ethernet-->{{yes|RTL 8139 8139C+}} || <!--Wireless-->{{Maybe|Atheros AR5001X+, AR5BMB5 or Broadcom 4318}} || <!--Test Distro--> Icaros 1.2.4 || <!--Comments-->2005 32bit with good support [http://ubuntuforums.org/showthread.php?p=6205188#post6205188 wifi issues]
|-
| <!--Name-->TravelMate 2480 series 2483 WXMi (HannStar J MV4 94V) 2483NWXCi Aspire 3680, 3690 || <!--Chipset-->940GML i943 with Celeron 430 1.77GHz - 14.1" || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes| }} || <!--Gfx-->{{Yes|2D and 3D openGL 1.x - Tunnel 181 gearbox 104 scores}} || <!--Audio-->{{Yes|HD Audio with ALC883 codec playback}} || <!--USB-->{{Yes|3 USB 2.0}} || <!--Ethernet-->{{No|Marvell 88E8038 yukon sky2}} || <!--Wireless-->{{No|Atheros 5k AR5005G AR5BMB5 mini pci}} suspect laptop hardware issues || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2006 Works well shame about the internet options - noisy fan - poor battery life - no boot option for TI based mass storage sd card - Max 2GB memory - LCD Inverter Board IV12090/T-LF -
|-
| <!--Name-->TravelMate 2490 series 2492WXMi || <!--Chipset-->940GML || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|Intel 945 2D and 3D tunnel 164 gearbox 105}} || <!--Audio-->{{Yes|HD Audio}} || <!--USB--> || <!--Ethernet-->{{Maybe|Broadcom BCM4401}} || <!--Wireless-->{{No|Atheros AR5005GS suspect hardware issue}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2006 32bit - 15inch screen - strange curved up at ends keyboard style - overall plastic construction - Atheros AR5005G(s) -
|-
| <!--Name-->Gateway ML6227B MA7 || <!--Chipset-->Celeron M 520 1.6Ghz with 945GM || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Yes|945GM 2D and 3D tunnel 169 gearbox 132}} || <!--Audio-->{{No|HDA Intel with STAC9250 codec}} || <!--USB--> || <!--Ethernet-->{{No|Marvell 88E8038}} || <!--Wireless-->{{No|8187L but swap ath5k mini pcie}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2006 15.4 ultrabrite widescreen - Wifi Switch on side Fn/F2 -
|-
| <!--Name-->Acer Aspire 5630-6796 6288 BL50 || <!--Chipset-->T5200 T5500 Intel® Core™2 Duo T7200 T7400 T7600 || <!--IDE-->{{Yes| }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|Intel® GMA 950 with S-Video out with 2D and 3D}} || <!--Audio-->{{Yes|HDAudio with ALC883? codec}} || <!--USB-->{{Yes|4 USB}} || <!--Ethernet-->{{yes|Broadcom BCM4401}} || <!--Wireless-->{{No|Intel 3945abg swap for Atheros 5K}} || <!--Test Distro-->Tiny AROS || <!--Comments-->2006 - 64bit 39.1 cm (15.4" 1280 x 800) - 2 DDR2-SDRAM slots max 4GB - green mobo?? -
|-
| <!--Name-->Acer Aspire 5633WMLI BL51 || <!--Chipset-->T5500 with Intel® 945PM/GM Express || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE mode}} || <!--Gfx-->{{Yes|Nvidia Go 7300 with 2D and 3D}} || <!--Audio-->{{Yes|HD Audio with Realtek codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{yes|Broadcom 440x}} || <!--Wireless-->{{No|Intel 3945 swap for Atheros 5k}} || <!--Test Distro-->Tiny Aros || <!--Comments-->2007 64 bit dual core2 - 15.4 WXGA screen - ddr2 max 4gb - OrbiCam no support - ENE chipset SD card - blue mobo?? -
|-
| <!--Name-->Acer Aspire 9410 9420 || <!--Chipset-->Intel Core Duo with 945PM Express || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes| }} || <!--Gfx-->{{Yes|2D NVIDIA GeForce Go 7300 - 128 MB VRAM G72M}} || <!--Audio-->{{Yes|Intel HD audio with codec}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{Yes|rtl8169 8111 }} || <!--Wireless-->{{No|Intel 3945ABG but could swap with atheros 5k}} || <!--Test Distro-->Icaros 2.3 || <!--Comments-->2007 32bit - 17in TFT 1,440 x 900 WXGA+ - 2 ddr2 sodimm slots max 4gb -
|-
| <!--Name-->eMachines E510 series KAL10 || <!--Chipset-->Intel Celeron M 560 2.13Ghz with PM965 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel x3100 || <!--Audio-->{{Yes|Intel with codec}} || <!--USB-->Intel || <!--Ethernet-->{{No|Broadcom BCM5906M}} || <!--Wireless-->{{No|Atheros G AR5BXB63 bios issue??}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2007 32bit very budget machine with InsydeH20 bios and F10 boot menu
|-
| <!--Name-->ACER Aspire 5920 [http://tim.id.au/laptops/acer/aspire%205920g.pdf 5920G] || <!--Chipset-->Santa Rosa Core 2 Duo T7300 T7500 later T9300 with GM965 and PM965(G) Express || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|use VESA for X3100M or 8600M GS (rev a1) 9500M GT 256MB vram (G) but some AMD/ATI RV635 M86 HD 3650}} || <!--Audio-->{{No|HD Audio with realtek alc268, [https://forums.opensuse.org/t/no-sound-on-acer-aspire-5920g/32392 ALC883] or Realtek ALC1200 / alc888s codec ICH8}} || <!--USB-->{{Yes|USB2 }} || <!--Ethernet-->{{No|Broadcom BCM5787M}} || <!--Wireless-->{{unk|Intel 3945ABG 4965 or Atheros 9k AR9285}} || <!--Test Distro-->Deadwood test iso 2023-01 2023-11 || <!--Comments-->2008 64bit boot with 'noacpi' or 'noioapic' - 15.4in 1280 x 800 pixels 16:10 - BMW Designworks ‘Gemstone’ design - over 3.0kg with options for 8-cell or 6-cell batteries - 2 SODIMM DDR2 667MT/s max 4GB - synaptics touchpad -
|-
| <!--Name-->Acer A0521 Ao721 || Athlon II Neo K125 + AMD M880G || {{N/A}} || {{maybe| }} || {{maybe|ATI Radeon HD 4225 (VESA only)}} || {{No|Conexant}} || {{Maybe| }} || {{no|AR8152 l1c}} || {{unk|AR9285 ath9k}} || AspireOS 1.7 || 2006 64bit possible
|-
| <!--Name--> Extensa 5630Z || <!--Chipset-->T6600 with Intel GL40 Express || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe|IDE mode}} || <!--Gfx--> {{Yes|Intel GMA 4500M HD (2D)}} || <!--Audio--> {{Yes|HD Audio}} || <!--USB--> {{Yes|USB 2.0}} || <!--Ethernet--> {{No|Broadcom BCM 5764M}} || <!--Wireless--> {{No|RaLink RT2860}} || <!--Test Distro--> || <!--Comments-->2008 64bit
|-
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Aspire 5250 series 5253 BZ400 BZ602 || <!--Chipset-->E350 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{no|VESA 2D for AMD HD6310}} || <!--Audio-->{{yes|HDaudio for codec Conexant CX20584}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no|Atheros AR8151}} || <!--Wireless-->{{no|Atheros 9k AR5B97}} || <!--Test Distro--> || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->Aspire V5 V5-121 V5121 AO725 One 725 || <!--Chipset-->AMD C-70 C70 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{no|VESA for AMD 6290G}} || <!--Audio-->{{no|Realtek ALC269 codec}} || <!--USB-->{{yes|2 x USB2}} || <!--Ethernet-->{{no|Broadcom}} || <!--Wireless-->{{no|Broadcom}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->Aspire V5-122P MS2377 || <!--Chipset-->C-70 C70 with M55, AMD A4-1250 or A6 1450 up to 1.4Ghz || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->AMD 8210 || <!--Audio-->{{unk|HDaudio with codec}} || <!--USB-->{{maybe|FCH USB EHCI OHCI}} || <!--Ethernet-->{{Maybe|rtl8169 but LAN/VGA Combo Port Cable (AK.LAVGCA 001) or MiniCP port to Acer Converter Cable (Mini CP to VGA/LAN/USB) (NP.OTH11 00C) needed}} || <!--Wireless-->{{unk|Atheros 9k AR9565}} || <!--Test Distro-->Aros One || <!--Comments-->2012 64bit but no sse4 or avx - 26w battery internal, extension possible - 11.6in 1366 x 768 ips touchscreen - 7mm hd ssd - 2gb ddr3l soldered with 1 slot free max 4GB - bios hacking needed for virtualisation -
|-
| <!--Name-->Packard Bell EasyNote TE69 TE69KB 522 || <!--Chipset-->slow E1-2500, E2-3800 2c2t Dual or A4-5000 4c4t Quad both soldered BGA769 (FT3) on Hudson-2 FCH || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe|Use IDE mode}} setting AHCI to IDE mode - boots if UEFI set to Legacy || <!--Gfx-->{{Maybe|VESA 2D for ATI Radeon 8120 8240, 8320, 8330 or 8280 islands}} || <!--Audio-->{{Yes|HDAudio with ALC282 0x10ec, 0x0282 codec but not HDMI}} || <!--USB-->{{Yes|Bios, Boot, set Boot mode to Legacy, nothing from USB3}} || <!--Ethernet-->{{No|Atheros AR8171 AR8175 or Broadcom BCM57780}} || <!--Wireless-->{{unk|Atheros AR9565 0x1969 0x10a1}} || <!--Test Distro-->Aspire OS Xenon and AROS One 1.6 usb || <!--Comments-->2013 64bit with sse4.1 and AVX - 15.6in washed out screen big netbook - Boots with noacpi after using F2 to enter EFI firmware and f12 boot device - 2 ddr3 sodimm slots max 16Gb -
|-
| <!--Name-->ASPIRE Acer Aspire ES1-520 521 522 Series N15C4 ES1-523 || <!--Chipset-->AMD AMD E1-7010, A8-7410 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{partial|VESA for RADEON R5}} || <!--Audio-->{{no|Realtek ALC 233 or CX20752 HD AUDIO CODEC}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{no|Atheros AR8151 Gigabit or Broadcom 590x}} || <!--Wireless-->{{no|Realtek RTL8187 or 8812BU}} || <!--Test Distro-->Aros One || <!--Comments-->2015 64bit with sse4.1 and AVX - 2 ddr3l slots - keyboard connected to top case -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Nitro 5 an515-42 || <!--Chipset-->Ryzen 2500u || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->AMD rx560x || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2018 64bit -
|-
| <!--Name-->aspire 3 A315-41 || <!--Chipset-->Ryzen 2500u || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->AMD Vega || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2018 64bit -
|-
| <!--Name-->swift 3 sf315-41 || <!--Chipset-->Ryzen 2500u || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->AMD Vega || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2018 64bit -
|-
| <!--Name-->Acer Aspire 3 A315-23 || <!--Chipset-->AMD Ryzen 3020e, r3 3200u || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD || <!--Audio-->{{unk|HDAudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe| }} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2019 64bit -
|-
| <!--Name-->Aspire 3, 5 A515-44-R0ZN || <!--Chipset-->AMD Ryzen 5 4500u || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{unk|HDAudio with ALC codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2020 64bit - 14in or 15.6" 1080p - 19v round charging - [https://www.youtube.com/watch?v=vr0tC3QJWxk repair], 4gb soldered with 1 ddr4 sodimm slot -
|-
| <!--Name-->Swift 3 SF314-42 series N19C4 , Swift SF315-4 || <!--Chipset-->Ryzen 5 4500U, 7 4700U|| <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD || <!--Audio-->{{unk|HDAudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2020 64bit 1080p - small round ac 19v 3.42A or usb-c - mobo FH4FR LA-J731P -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Acer Swift 3 SF314-43, Swift SF315-41 || <!--Chipset-->Ryzen 7 5700U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD || <!--Audio-->{{unk|HDAudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit 1080p - small round ac or usb-c -
|-
| <!--Name-->Aspire 5 A515-45 || <!--Chipset-->r7 5700U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->AMD || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit - 15.6in 1080p - asus round ac -
|-
| <!--Name-->Aspire 5 A515-47 || <!--Chipset-->ryzen 5 5625U, || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->AMD || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit - 15.6in 1080p - asus round ac -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====Asus====
[[#top|...to the top]]
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->Asus L8400-K Medion MD9467 || <!--Chipset-->Intel desktop 850MHz || <!--IDE--> || <!--SATA--> || <!--Gfx-->S3 Savage MX || <!--Audio-->{{No|ESS allegro 1988}} || <!--USB--> || <!--Ethernet-->Realtek 8139 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2001 32bit
|-
| <!--Name-->Asus L2000 L2400 L2D Series Medion 9675 || <!--Chipset-->Athlon 4 mobile || <!--IDE--> || <!--SATA--> || <!--Gfx-->use vesa sis630 || <!--Audio-->{{No|sis7018}} || <!--USB--> || <!--Ethernet-->sis900 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2002 32bit
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->x51R X51RL || <!--Chipset-->Duo T2250 T2330 with RS480 || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->{{Maybe|use VESA RC410 [Radeon Xpress 200M]}} || <!--Audio-->{{Yes|HD with codec}} || <!--USB-->{{Maybe|boots and detects}} || <!--Ethernet-->{{Yes|RTL-8139}} || <!--Wireless-->{{No|Atheros AR5006EG AR5111 ath5k AzureWave AW-GE780 - could be ATI Chipset}} || <!--Test Distro-->Icaros 2.2, deadwood 2021, || <!--Comments-->2003 32bit 15.4 WXGA - 19v barrel - ESC boot select - F2 bios -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Asus R2H Ultra Mobile PC UMPC || <!--Chipset-->Celeron 900Mhz 910GML || <!--IDE--> || <!--SATA--> || <!--Gfx-->GMA900 || <!--Audio-->Ac97 ALC880 || <!--USB--> || <!--Ethernet-->realtek 8169 8101e || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2004 32bit [https://www.youtube.com/watch?v=Jm4fOrqyj3g boots]
|-
| <!--Name-->Asus A3 series A3F Ergo Ensis 211 RM || <!--Chipset-->P-M 1.6GHz to Core Duo with 950 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 945 || <!--Audio-->Ac97 ALC655 || <!--USB--> || <!--Ethernet-->Realtek 8100CL 10/100 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2004 32bit only
|-
| <!--Name-->Z33 || <!--Chipset-->915 || <!--IDE--> || <!--SATA--> || <!--Gfx-->915GM || <!--Audio-->HD Audio ALC880 || <!--USB--> || <!--Ethernet-->Realtek 8139 || <!--Wireless-->Intel 2915ABG || <!--Test Distro--> || <!--Comments-->2005 32bit Z33A Z33AE N5M N5A
|-
| Z70A Z70V Z70Va M6A z7000 z7000a || i915 + ICH6 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{yes|mobile 915GML}} || <!--Audio-->{{no|ICH6 HD Audio}} || <!--USB-->{{yes|USB2.0}} || <!--Ethernet-->{{no|Marvell 88E8001}} || {{no|Intel PRO 2200BG Fn / F2}} || Icaros 1.3 || 2005 32bit
|-
| [http://www.progweb.com/en/2010/09/linux-sur-un-portable-asus-a6jm/ A6jm] A6JC || 945GM || IDE || SATA || {{yes|nVidia GeForce Go 7600 G70}} || {{no|HD Audio}} || {{yes|USB}} || {{yes|RTL8111 8168B}} || {{no|Intel 3945 ABG}} || Icaros 1.2.4 || 2006 32bit only
|-
| <!--Name-->F3Jc || <!--Chipset-->945PM || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->G72M Quadro NVS 110M, GeForce Go 7300 || <!--Audio-->D audio || <!--USB--> || <!--Ethernet-->realtek 8169 8111 || <!--Wireless-->Intel 3945 || <!--Test Distro--> || <!--Comments-->2007 32bit -
|-
| <!--Name-->X50GL F5GL || <!--Chipset-->T5800 with 965 || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe}} || <!--Gfx-->{{Maybe|use VESA 2d - Nvidia 8200M G84 runs hot}} || <!--Audio-->{{No|HD Audio MCP79 with codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|MCP79}} || <!--Wireless-->{{No|Atheros AR5B91 AW-NE77}} || <!--Test Distro-->Icaros 2.2 || <!--Comments-->2008 64bit not much support no display with nouveau - 19v barrel - ddr2 max 4gb -
|-
| <!--Name-->ASUS G50 & G51 series G50V G50Vt G51V G51VX G51J G51Jx G50VT X1 X5 ROG || <!--Chipset-->AMD64 with MCP71 || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes}} || <!--Gfx-->nVidia GeForce 9800M GS (G94M) up to GT200 [GeForce GTX 260M] (G92M) || <!--Audio-->Nvidia HD Audio with codec || <!--USB--> || <!--Ethernet-->{{No|Atheros L1C atl1c}} || <!--Wireless-->Atheros G or Intel || <!--Test Distro-->Icaros 2.3 || <!--Comments-->2009 64bit not all GPUs are failing but a much higher % failing early, 8x00 and 9x00 G84, G86, G92, G94, and G96 series chips dying - ddr2 max 4gb -
|-
| <!--Name-->M50V M50 series || <!--Chipset-->Intel Core 2 Duo P8400 or T9400 with Intel PM45 ICH9 || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|BIOS set to compatibility IDE mode}} || <!--Gfx-->NVIDIA GeForce 9600M GS or 9650M GT || <!--Audio-->HDAudio with Realtek ALC663 || <!--USB-->USB2 || <!--Ethernet-->{{Yes|rtl8169 realtek 8169 8111C}} || <!--Wireless-->{{unk|Intel 5100 or Atheros AR928X}}|| <!--Test Distro-->AROS One 2.0 USB || <!--Comments-->2009 64bit - 15.40 inch 16:10, 1680 x 1050 glossy - the "Infusion" design - heavy 3kg - ddr2 ram max 4gb -
|-
| <!--Name-->Series F9 F9E F9dc F9f F9j F9s || <!--Chipset-->965GM || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{maybe|Vesa}} || <!--Audio-->{{yes|HD Audio ALC660 playback}} || <!--USB-->{{yes|works}} || <!--Ethernet-->{{yes|RTL8169 }} || <!--Wireless-->{{no|intel 3495 not working}} || <!--Test Distro-->Icaros 1.41 || <!--Comments-->2009 64bit - ddr2 max 4gb -
|-
| P52F SO006X || i3-370M || IDE || SATA || {{yes|nVidia G92 [GeForce 9800 GT] (2D)}} || {{no|Intel HD Audio}} || {{yes|2 USB2.0}} || {{no|Atheros AR8121 AR8113 AR8114 (l1e)}} || {{dunno}} || Icaros 1.3 || 2010 64bit - ddr3 slot -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Asus
* X53U MB Ver K53U or K52U Asus K53U MB Ver K53U
* A53U XT2 X53B MB ver: K53BY (compal)
|| <!--Chipset-->Slow atom like speed E-350 (2011), E-450 (2011) on AMD M780G, much slower C-50 C50 (2012), C-60 C60 on the AMD A50M dark brown plastic build || <!--IDE-->{{N/A|}} || <!--SATA-->{{yes|Set IN Bios IDE MODE}} || <!--Gfx-->{{Maybe|use VESA ATi 6310M, 6320M later 6250M or 6290M}} || <!--Audio-->{{Yes|HD audio with alc269 codec Altec Lansing® Speakers}} || <!--USB-->{{Yes|3 x USB2}} || <!--Ethernet-->{{Unk|rtl8169 with RTL8111 phy}} || <!--Wireless-->{{unk|Atheros half height ar9285}} || <!--Test Distro-->2016 Icaros 2.1.2 and 2018 AROS One 1.6 USB || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - 15.6in 1368 x 768 dull 50% srgb screen - f2 bios setup, esc boot drive - 5200 or 7800 mAh battery covers ASUS K53S K53E X54C X53S K84L X53SV X54HR K53F X53U laptops - 2 DDR3L slots max 8Gb - 19v barrel 5.5 / 2.5 mm -
|-
| <!--Name-->Asus K53T, Asus A53Z X53Z
|| <!--Chipset-->AMD A4-3305M on AMD M780G, A6-3420M dark brown plastic build || <!--IDE-->{{N/A|}} || <!--SATA-->{{yes|Set IN Bios IDE MODE}} || <!--Gfx-->{{Maybe|VESA 2D for AMD 6520G, 7670M}} || <!--Audio-->{{Yes|HD audio with codec}} || <!--USB-->{{Yes|3 x USB2}} || <!--Ethernet-->{{Yes|rtl8169 with RTL8111 phy}} || <!--Wireless-->{{No|Atheros half height}} || <!--Test Distro-->AROS One USB || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - 15.6in 1368 x 768 dull 50% srgb screen - f2 bios setup, esc boot drive - 2 DDR3L slots max 8Gb - 19v barrel 5.5 / 2.5 mm - Altec Lansing® Speakers -
|-
| <!--Name-->X55U X401U X501U 1225B || <!--Chipset-->slow C-60 C60, C-70 C70 or E1 1200 E2 1800 || <!--IDE--> || <!--SATA--> || <!--Gfx-->6290G || <!--Audio-->{{No| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->Realtek 8111 8169 || <!--Wireless-->{{unk| Atheros AR9485}} || <!--Test Distro--> || <!--Comments-->2013 64bit does not support AVX or SSE 4.1 - 11.6" display - ram soldered -
|-
| <!--Name-->Asus A43TA A53TA K53TA XE2 A73T || <!--Chipset-->AMD A4-3300M, A6 3400M (laptop chip) || <!--IDE-->{{N/A|}} || <!--SATA-->{{yes|Set IN Bios IDE MODE}} || <!--Gfx-->{{Maybe|use VESA AMD Radeon HD 6520G Integrated + HD 6470M (1GB GDDR3)}} || <!--Audio-->{{yes| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{Unk|}} || <!--Wireless-->{{No|Atheros}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - f2 bios setup, esc boot drive -
|-
| <!--Name-->X102BA || <!--Chipset-->Llano E1 1200 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes|ide bios setting}} || <!--Gfx-->Radeon HD 8180 || <!--Audio-->{{No| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->RTL8101E RTL8102E || <!--Wireless-->{{unk| Qualcomm Atheros AR9485}} || <!--Test Distro--> || <!--Comments-->2013 64bit does not support AVX or SSE 4.1 - 10.1” Touchscreen - special asus 45w ac adapter -
|-
| <!--Name-->K55N, K75DE || <!--Chipset-->AMD a6 4400M A8 4500M || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->AMD 7640G || <!--Audio-->HD Audio with ALC codec none through ATi Trinity HDMI || <!--USB-->{{maybe| }} || <!--Ethernet-->rtl8169 || <!--Wireless-->{{unk| Atheros AR9485}} || <!--Test Distro--> || <!--Comments-->2013 64bit does support AVX or SSE 4.1 - 17.3-inch -
|-
| <!--Name-->X452EA X552EA F552E || <!--Chipset-->AMD E1 2100 or A4 5000M A8 4500M A10 4600M with A || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA for AMD ATI Sun XT Radeon HD 8330 8670A 8670M 8690M}} || <!--Audio-->{{Yes|AMD FCH Azalia rev 02 with ALC898 codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{{Yes|Realtek RTL8111 8168 8411}} || <!--Wireless-->{{unk|Atheros AR9485}} || <!--Test Distro-->2016 Icaros 2.1 || <!--Comments-->2013 64bit may support avx kabini trinity -
|-
| <!--Name-->Asus X555Y || <!--Chipset-->AMD A6-7210 A8-7410 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|2.5" and mSATA form factors using SATA Rev 3.0 interface }} || <!--Gfx-->{{Maybe|VESA 2D for AMD R5}} || <!--Audio-->{{unk|HD Audio codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{Maybe|rtl8169 Realtek}} || <!--Wireless-->{{no| }}Realtek || <!--Test Distro--> || <!--Comments-->2015 64bit does support AVX or SSE 4.1 - 4gb soldered with 1 ddr3 slot - silver-colored plastic - internal battery -
|-
| <!--Name-->Asus X555B X555DG X555S X555U X555YI X555LAB || <!--Chipset-->Intel Core i5-4210U to || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|2.5" and mSATA form factors using SATA Rev 3.0 interface }} || <!--Gfx-->{{Maybe|VESA 2D for Intel}} || <!--Audio-->{{No|HDAudio with coxenant and realtek alc codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{Maybe|Realtek}} || <!--Wireless-->{{no| }}Realtek || <!--Test Distro--> || <!--Comments-->2015 64bit does support AVX or SSE 4.1 - 4gb soldered with 1 ddr3 slot - silver-colored plastic - internal battery -
|-
| <!--Name-->Asus X555D || <!--Chipset-->AMD A10-8700P || <!--IDE-->{{N/A}} || <!--SATA-->{{unk|2.5" and mSATA form factors using SATA Rev 3.0 interface }} || <!--Gfx-->{{Maybe|VESA 2D for AMD R6}} || <!--Audio-->{{unk|HD Audio codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek}} || <!--Wireless-->{{No|Realtek}} || <!--Test Distro--> || <!--Comments-->2016 64bit - 15.6in 1366 x 768 - 4gb soldered with 1 ddr3 slot - silver-coloured plastic - internal battery - keyboard swap problematic -
|-
| <!--Name-->ASUS X555Q || <!--Chipset-->AMD® Bristol Ridge A10-9600P 7th Gen, A12-9720p || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|2.5" and mSATA form factors using SATA Rev 3.0 interface}} || <!--Gfx-->{{Maybe|R5 + Radeon™ R6 M435DX Dual Graphics with VRAM GCN 3}} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no|Realtek 8821AE}} || <!--Test Distro--> || <!--Comments-->2017 64bit - FHD 15.6 1920x1080 - 37W battery internal - 4gb soldered with 1 ddr3 slot - internal battery -
|-
| <!--Name-->ASUS M509ba || <!--Chipset-->AMD A9-9425 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|2.5" and mSATA form factors using SATA Rev 3.0 interface}} || <!--Gfx-->{{Maybe|Vesa 2d for RADEON R5}} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2020 64bit - 15.6in 1366 x 768 - 1 ddr4 sodimm slot max 16Gb - 19VDC 2.37A Max 45W 4.0mm x 1.35mm - keyboard swap problematic -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->ExpertBook P1410, ASUS ExpertBook P1 P1510CD, Expertbook Y1511CD || <!--Chipset-->Ryzen 3 3200U, Ryzen 5 3500U || <!--IDE-->{{N/A}} || <!--SATA-->Nvme || <!--Gfx-->{{Maybe|Vesa 2d for AMD}} || <!--Audio-->{{unk|HDaudio with codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2019 64bit 14in or 15.6in 768p to 1080p - keyboard swap problematic - 19V 3.42A asus barrel connector 4.0MM X 1.35MM 4phi -
|-
| <!--Name-->ASUSTeK ASUS EXPERTBOOK L1 L1400CDA, L1500CDA - 19v 3.42a 4.5phi Barrel with centre pin Outer 4.5mm Inner 3mm asus special untested EXA1203XH, EXA1203YH, EXA1208UH, PA-1650-30, PA-1650-78, PA-1650-93, ADP-65GD B, ADP-65DW B (Euro) || <!--Chipset-->'''tested''' Ryzen 5 3500U - '''untested''' Ryzen 3 3200U, 3250U || <!--IDE-->{{N/A}} || <!--SATA-->{{no|1 Nvme m.2 slot will not boot with sata3 m.2, optional 1 sata hdd with ribbon cable, no dvd drive}} || <!--Gfx-->{{Maybe|Vesa 2d for AMD vega 3, 8}} || <!--Audio-->{{unk|HDaudio 0x15de 0x15e3 with ALC256 codec 0x10ec 0x0256}} || <!--USB-->{{maybe|USB3 1 usb-c and 3 usb-a }} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111HSH-CG }} || <!--Wireless-->{{No| }} || <!--Test Distro-->3500U with AROS One 64bit 1.2 usb installed to m.2 sata on another machine || <!--Comments-->2019 64bit 14in or 15.6in 1080p - keyboard swap problematic - up to 8Gb ddr4 sodimm soldered on board and 1 slot - micro sd card slot on some models - 42Whr B31N1915 C31N1915 C31N2204 - hold down F2 and press power for bios setup -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
==== Dell ====
[[#top|...to the top]]
Order of build quality (Lowest to highest)
<pre >
Studio
Inspiron
Vostro
XPS
Alienware
Precision
Latitude
</pre >
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="10%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="5%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->Latitude CP 233GT, CPi d233xt d266xt D300XT a366xt, CPt S400GT S500GT S550GT S600GT S700ST, CPt C333GT C400GT || <!--Chipset-->Neo Magic || <!--IDE--> || <!--SATA--> || <!--Gfx-->Use VESA - Neo magic Magic Media 2160 2360 256ZX || <!--Audio-->{{No|crystal pnp 4237b or magic media 256zx sound nm2360}} || <!--USB-->USB 1.1 || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->1998 32bit Low-Density 16-chip 144p 144-pin 32Mx64 3.3V SODIMM -
|-
| <!--Name-->Dell Latitude CPx H450GT H500GT H Series, CPt V433GT V466GT V600, Inspiron 5000 || <!--Chipset-->Intel 440BX with Pentium 3M (CPx) or Celeron (CPt) || <!--IDE-->{{{Yes| }} || <!--SATA-->{{N/A| }} || <!--Gfx-->{{Maybe|Use Vesa - ATi Rage Pro Mobility M1}} || <!--Audio-->{{No|ESS ES1978 Maestro 2E Canyon 3D}} || <!--USB-->{{Yes|1 slot 1.1 only}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A| }} || <!--Test Distro-->NB May 2013 || <!--Comments-->1998 32bit - 3 pin PA-6 PA6 power adapter plug - CDROM DVD Cxxx family media bay accessories untested
|-
| <!--Name-->Latitude C500 C600 (Quanta TM6) Inspiron 4000 7500, CPx J Series || <!--Chipset-->440BX ZX/DX || <!--IDE-->{{yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{partial|ATI Rage 128Pro Mobility M3 (VESA only)}} || <!--Audio-->{{no|ES1983S Maestro 3i}} || <!--USB-->{{yes|USB 1.1 only}} || <!--Ethernet-->{{N/A|some models had mini pci e100}}|| <!--Wireless-->{{N/A|a few came with internal antenna wiring}} || <!--Test Distro--> || <!--Opinion-->1999 square 3 pin charger PA9 PA-9 - C/Dock II untested - C/Port untested - Parallel to Floppy cable untested - CPx J600GT J650GT J700GT J750GT J800GT J850GT
|-
| <!--Name-->Latitude C510 C610 Insprion 4100 PP01L 2600 || <!--Chipset-->i830 and 1GHz+ P3-M || <!--IDE-->{{yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{partial|use VESA - ATI Radeon Mobility M6}} || <!--Audio-->{{No|AC97 CS4205}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{yes|3Com Etherlink}} || <!--Wireless-->{{Maybe|internal antenna wiring for an Atheros mini pci card}} || <!--Test Distro--> || <!--Opinion-->2000 poor build quality - hard to find in good working order
|-
| <!--Name-->Latitude C400 || <!--Chipset-->Intel 830 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA Intel 830 CGC}} || <!--Audio-->{{No|ac97 Crystal 4205}} || <!--USB--> || <!--Ethernet-->{{Yes|3Com 3c905C TX/TX-M}} || <!--Wireless-->{{N/A| }} || <!--Test Distro--> || <!--Comments-->2000 Slim for the time - no media bays
|-
| <!--Name-->Latitude C640 (Quanta TM8) C840 Inspiron 8k2 8200 i8200 precision m50 || <!--Chipset-->P4M with 845EP || <!--IDE--> || <!--SATA--> || <!--Gfx-->use VESA if ATi - use nouveau if 64mb Nvidia Gforce 4 440 Go || <!--Audio-->AC97 CS4205 || <!--USB--> || <!--Ethernet-->3com 905c || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2001 C640 had one fan so was noisy and hot - C840 had 2 fans and ran slightly cooler but fan noise louder
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| Latitude D400 || P-M 82845 || {{yes|82801 ide}} || {{N/A}} || {{partial|VESA only}} || {{yes|AC97 Audio playback only}} || {{maybe|USB 2.0}} || {{maybe|PRO 100 VM (KM)}} || {{no|BCM4318 AirForce one 54g replace with atheros 5k mini pci}} || <!--Test Distro--> Icaros 1.2.4 || 2003 32bit might boot from USB stick but won't boot from USB-DVD - no sd card slot - power plug style -
|-
| Latitude D500 / D505 PP10L, Inspiron 510m
|| 855GME
* revA00
* revA03
* revA06
| {{yes|IDE but needs the Dell adapter}} || {{N/A}} || {{partial|855GM Gfx (VESA only)}} || {{Yes|Intel AC97 with IDT STAC 9750 codec playback head phones only}} || {{maybe| }} || {{yes|Intel PRO 100 VE}} || {{no|Broadcom BCM4306 but exchange with atheros g in panel on laptop bottom}} || <!--Test Distro-->2016 Icaros 2.1.1 || 2003 - 14 / 15 inch XGA 4:3 screen - plastic build - no sd card slot - boots from bay optical drive - not powering on/off with ac adapter is a [http://www.geekzone.co.nz/forums.asp?forumid=37&topicid=30585 mobo fault of PC13 SMT 1206 ceramic cap hot] suggest [http://www.die4laser.com/D505fix/ 0.1uF 50V instead] - pc2700 333Mhz ram 1Gb max -
|-
| Latitude D505 (some) || VIA VT8237 VX700 || {{yes|IDE}} || || {{partial|VESA 2d on ATI RV350 Radeon 9550}} || {{no|VIA AC97 with codec}} || {{maybe|VIA USB glitchy}} || {{yes|VIA VT6102 Rhine-II}} || {{no|Intel 2200g Calexico2}} || <!--Test Distro--> || 2003 32bit little support - diagnostics pressing holding the Fn key, press the Power ON button (battery removed). Check the LEDs pattern - cmos battery behind flap in laptop battery slot -
|-
| <!--Name-->Inspiron 1000 || <!--Chipset-->SIS || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->{{maybe|use VESA SIS}} || <!--Audio-->{{Yes|AC97 SIS with AD1981B codec playback}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{Yes|SIS 900 but}} || <!--Wireless-->{{N/A}} || <!--Test Distro-->2016 Icaros 2.1 || <!--Comments-->2004 32bit [https://forum.level1techs.com/t/my-time-with-icaros-desktop-and-what-i-am-doing-as-a-dev-contributor-also-some-other-shit/113358 aremis using it]
|-
| <!--Name-->Inspiron 1100 PP07L || <!--Chipset-->845 || <!--IDE-->{{Yes| }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Maybe|use VESA Intel 845G}} || <!--Audio-->{{Yes|AC'97 playback}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{Maybe|Broadcom 4401}} || <!--Wireless--> || <!--Test Distro-->Icaros 1.5 || <!--Comments-->2004
|-
| <!--Name-->Inspiron 8500 5150 || <!--Chipset-->P4 855GM || <!--IDE-->{{Yes| }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|Nvidia 5200 Go - VESA if intel gfx}} || <!--Audio-->{{Yes|MCP AC97 with SigmaTel 9750}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{Yes|Broadcom 440x}} || <!--Wireless-->{{No|Broadcom 4306 rev 02 use Atheros Mini PCI}} || <!--Test Distro-->Icaros 2.3 || <!--Comments-->2004 32bit P4 runs well but hot
|-
| Latitude X300 PP04S small, slim and light case
|| 855GME
* revA00 Intel ULV 1.2 Ghz
* revA01 Intel ULV 1.4Ghz
| {{yes|IDE internal and will boot cd/dvd through dock PR04S}} || {{N/A}} || {{partial|855GM Gfx (VESA only)}} || {{Yes|Intel AC97 with STAC 97xx codec but no audio out of the dock}} || {{maybe|works but dock usb ports and usb DVD PD01S not detected}} || {{No|Broadcom BCM5705M gigabit}} || {{no|Broadcom BCM4306 later intel - replace with atheros in the underside}} || <!--Test Distro-->2016 Icaros 2.1.1, 2020 AROS One 1.6 usb, || 2003 12.1" 1024 x 768 - 19.5v PA-10 or PA-12 dell - ACPI works but bad s3 ram suspend sleep - no sd card boot - 1Gb max sodimm ddr 2700
|-
| <!--Name-->Latitude D600 (Quanta JM2) PP05L - 600m
|| <!--Chipset-->82855 PM i855
* reva00
* revA01
* revA02
* revA03
* revA04
| <!--IDE--> {{yes}} || <!--SATA--> {{N/A}} || <!--Gfx-->{{Maybe|Use VESA - ATI Radeon RV250 Mobility FireGL 9000}} || <!--Audio-->{{Yes|AC97 - STAC 9750}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|Broadcom BCM5705}} || <!--Wireless-->{{no|Intel 2100 or Broadcom BCM4306 - swap for Atheros panel in base}} || <!--Test Distro-->2011 Icaros 1.3 and [http://www.amiga.org/forums/archive/index.php/t-62187.html 1.4.1 and 2016 2.1.1] || <!--Opinion-->2003 32bit 14inch using pc2100 memory with Caps light blinking is usually a memory error - Dell D505 D600 power up pressing the case docking port -
|-
| <!--Name-->Latitude D600 (Quanta JM2) || <!--Chipset-->82855 PM i855 || <!--IDE--> {{yes}} || <!--SATA--> {{N/A}} || <!--Gfx-->{{Yes|2D only vidia NV28 GeForce4 Ti 4200 Go 5200 Go 5650 Go}} || <!--Audio-->{{Yes|AC97 - STAC 9750}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|Broadcom BCM5705}} || <!--Wireless-->{{no|Broadcom BCM4306 mini pci - swap for Atheros}} || <!--Test Distro--> Icaros 1.3 and [http://www.amiga.org/forums/archive/index.php/t-62187.html 1.4.1] || <!--Opinion-->2003 32bit 14" - solder joints on the bios chip (press down f7/f8 keys) - RAM clean with eraser - memory cover plate maybe apply some pressure -
|-
| <!--Name-->D800 (Compal LA-1901) || <!--Chipset-->Intel 855 || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio-->AC97 || <!--USB-->{{maybe| }} || <!--Ethernet-->Broadcom 570x || <!--Wireless-->Broadcom 4309 || <!--Test Distro--> || <!--Comments-->2004 32bit - trackpoint type pointing device -
|-
| <!--Name-->D800 || <!--Chipset-->Intel 855 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{No|Nvidia }} || <!--Audio-->AC97 || <!--USB-->{{maybe| }} || <!--Ethernet-->Broadcom 570x || <!--Wireless-->Broadcom 4309 || <!--Test Distro--> || <!--Comments-->2004 32bit 15inch 39cm
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Inspiron 1200 2200 PP10S Latitude 110L m350 1.3Ghz || <!--Chipset-->Intel 915GM || <!--IDE--> {{yes|UDMA boots cd or DVD and installs to HDisk}} || <!--SATA--> {{N/A}}|| <!--Gfx-->{{yes|Intel GMA900 (2D and 3D openGL 1.x) Gearbox 56}} || <!--Audio-->{{yes|Intel AC97 playback only}} || <!--USB-->{{maybe|USB 2.0}} || <!--Ethernet-->{{yes|Intel PRO 100 VE}} || <!--Wireless-->{{no|BroadCom BCM4318 - swap for Atheros mini PCI in base panel}} || <!--Test Distro-->Icaros 1.4.5 || <!--Comments-->2005 single core 32bit 14" 4:3 1024 768 XGA screen - heavy 6 lbs - PA16 barrel 19V 3.16A AC adapter - battery life 4cell 29WHr lasts 2 hours - 256mb soldered with 1 ddr pc2100 sodimm 1gb max -
|-
| <!--Name-->Inspiron 1300 business B130 home PP21L Latitude 120L B120 by Compal - Inspiron 630m || <!--Chipset-->Intel Celeron M360 1.4GHz, M370 1.50 GHz, M380 1.73GHz || <!--IDE-->{{Yes|boots cd or DVD and installs to HDisk}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|GMA 915 2D and 3D openGL 1.x tunnel 172 gearbox 70}} || <!--Audio-->{{Yes|HD Audio playback ear phones only}} || <!--USB-->{{maybe|works but waiting boot fail with AROS One usb version}} || <!--Ethernet-->{{Yes|Broadcom 440x}} || <!--Wireless-->{{No|intel 2200 or BCM4318 swap for Atheros mini pci underside - one antenna lead for main wifi}} || <!--Test Distro-->2016 Icaros 2.1.2, 2020 AROS One 1.6 usb, || <!--Comments-->2005 32bit single core - 14.1″ XGA 4:3 or 15.4" WXGA wide 1280 x 800 matte - ddr2 sodimm ram 2gb max - PA-16 19v psu tip 7.4mm * 5mm - f10 boot select f1 f2 bios
|-
| Latitude X1 PP05S || PP-M GMA915 rev A00 1.1GHz non-pae || {{yes|ide 1.8in zif/ce under keyboard}} || {{N/A}} || {{Maybe|Vesa for Intel 915GM}} || {{yes|AC97 6.6 playback only with STAC codec}} || {{maybe|USB 2.0 but partial boot to blank screen}} || {{No|Broadcom 5751}} || {{no|Intel 2200BG - swap for Atheros mini pci under keyboard palm rest - disassembly of all laptop}} || <!--Test Distro-->Icaros 2.3 dvd iso image virtualbox'd onto usb, Aros One 1.5 and 1.8 usb (2022) || 2005 32bit 12.1" 4:3 1024 x 768 - sd slot not bootable - 256mb soldered to board and 1 sodimm max 1GB ddr2 under keyboard - F12 bios boot F2 - pa-17 pa17 19v octagonal psu port
|-
| Latitude D410 PP06S
*rev A00
*A01, A02
*A03
|| GMA915 1.6GHz Pentium® M 730, 1.7GHz, 750 1.86GHz & 760 2.0GHz, 770 2.13GHz || {{yes|caddy and adapter needed 2.5" - remove hdd and write}} || {{N/A}} || {{Yes|Intel 915GM 2D and 3D OpenGL 1.3 tunnel 170 and gearbox 75}} || {{yes|AC97 playback only with STAC 9751 codec}} || {{maybe|works but will not boot from USB-DVD or AROS One 1.5 usb version}} || {{No|Broadcom 5751}} || {{no|Intel 2915ABG or later 2200BG - swap for Atheros mini pci under keyboard}} || <!--Test Distro-->2015 Icaros 1.4, 2016 2.1.1 and AROS One 1.5 usb, || 2005 32bit 12.1" 4:3 1024 x 768 - no sd card slot - PR06S dock base
|-
| <!--Name-->Latitude D510 (Quanta DM1) || <!--Chipset-->915GM socket 479 || <!--IDE--> {{N/A}} || <!--SATA--> {{partial|IDE mode}}|| <!--Gfx-->{{yes|Intel GMA 915 2D and 3D}} || <!--Audio-->{{Yes|AC97 STAC 975x}} || <!--USB--> {{maybe|USB 2.0}} || <!--Ethernet-->{{no|Broadcom BCM5751}} || <!--Wireless-->{{no|Intel PRO Wireless 2200BG swap Atheros mini pci in base}} || <!--Test Distro--> || <!--Comments-->2005 14.1" 32bit single core Intel Celeron M 1.6GHz Pentium M 730 1.73Ghz - squarish 3:2 - issues with 3rd party battery 4 quick flashes of red led with 1 final green
|-
| <!--Name-->Latitude D610 (Quanta JM5B) PP11L
|| <!--Chipset-->910GML 915GM with mobile 1.6 to 2.26ghz
* Rev A0x
* Rev A0x
* Rev A07 1.73Ghz
| <!--IDE--> {{N/A}} || <!--SATA--> {{partial|IDE mode}}|| <!--Gfx-->{{yes|Intel GMA 915 2D and 3D tunnel 174 gearbox 74}} || <!--Audio-->{{yes|Intel AC97 speaker head phones playback only with stac codec}} || <!--USB--> {{maybe|USB 2.0}} || <!--Ethernet-->{{no|Broadcom BCM5751}} || <!--Wireless-->{{no|Intel 2200BG or Broadcom mini pci under keyboard, swap wifi card for atheros 5k}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2005 32bit 14" 1024 x 768 - very noisy clicky trackpad buttons - one dimm slot under keyboard and other in underside 2GB 533Mhz 667Mhz DDR2 max -
|-
| <!--Name-->Latitude D610 (Quanta JM5B) 0C4717 REV A05, 0K3879 REV.A00 || <!--Chipset-->915GM || <!--IDE--> {{N/A}} || <!--SATA--> {{partial|IDE mode}}|| <!--Gfx-->{{Maybe|Use VESA 2d - Ati X300 no radeon 2d}} || <!--Audio-->{{yes|Intel AC97}} || <!--USB--> {{maybe|USB 2.0}} || <!--Ethernet-->{{no|Broadcom NetXtreme 57xx Gigabit replace with Atheros 5k}} || <!--Wireless-->{{no|Intel PRO Wireless 2200BG mini pci use Atheros 5k}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2005 32bit 14" 1024 x 768 - very noisy clicky trackpad buttons - 19.5v psu
|-
| <!--Name-->Latitude D810 (Quanta ) || <!--Chipset-->915GM || <!--IDE-->{{Yes| }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Maybe|Use VESA 2d - Ati X300 RV370 M22 later x600}} || <!--Audio-->{{yes|Intel AC97 stereo playback only idt 9751 codec}} || <!--USB--> {{maybe|USB 2.0 but no boot from usb on 1.5}} || <!--Ethernet-->{{no|Broadcom NetXtreme 57xx Gigabit}} || <!--Wireless-->{{no|Intel PRO Wireless 2200BG mini pci replace with Atheros 5k}} || <!--Test Distro-->2017 Icaros 2.1.1, aros one 1.5 || <!--Comments-->2005 32bit 15.4" F12 one time boot menu - 19.5v 90w psu ideal - battery not same as later dx20 ones -
|-
| <!--Name-->Inspiron 6000 6400, E1505 PP20L
*A00 Pentium M
*A0? Core Duo
|| <!--Chipset-->GM945 with PM 1.73Ghz, T2050 or T2060 || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe|}} || <!--Gfx-->{{Maybe|vesa 2d - Ati 9700, x1300 RV515 M52, x1400 or nvidia go 7300 on mxm board}} || <!--Audio-->{{yes|HD Audio IDT 9200}} || <!--USB-->{{Yes|usb boot }} || <!--Ethernet-->{{Yes|Broadcom BCM4401 B0}} || <!--Wireless-->{{No|Intel 2200 3945 - swap for Atheros 5k}} || <!--Test Distro-->2016 Icaros 2.1, AROS One 1.6 || <!--Comments-->2006 mostly 32bit - 15.4 inch glossy - 2 ddr2 sodimm slots - broadcom bcm92045 bluetooth detected but no support - 19.5v dell psu socket - f2 bios setup, f12 boot order -
|-
| <!--Name-->Inspirion E1705 9200 9300 9400 PP12L PP14L || <!--Chipset-->945GM || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->proprietary Dell card/socket format Nvidia 6800, ati X300 or nVidia 7900GS gpu 3d corrupt || <!--Audio-->{{Maybe| }} || <!--USB-->{{Maybe| }} || <!--Ethernet-->{{Maybe|Broadcom BCM4401}} || <!--Wireless-->Intel 3945 swap with Atheros 5k mini pcie || <!--Test Distro--> || <!--Comments-->2006 [http://amigaworld.net/modules/news/article.php?mode=flat&order=0&item_id=6481 increasing vertical lines issues] 32bit -
|-
| <!--Name-->Studio XPS M1210 || <!--Chipset-->GM945 with Core Duo to intel C2D T5500, T7400 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->nVidia G72M 7300 7400m || <!--Audio-->HD Audio IDT 92xx || <!--USB-->{{Maybe| }} || <!--Ethernet-->{{Maybe|Broadcom BCM4401 B0}} || <!--Wireless-->{{No|Broadcom BCM4311 - swap for Atheros 5k mini pci-e}} || <!--Test Distro--> || <!--Comments-->2006 64bit - 2 ddr2 slots max 4Gb -
|-
| <!--Name-->Inspiron 1501 PP23LA Latitude 131L || <!--Chipset-->AMD Sempron 1.8GHz Turion MK-36 or X2 1.6Ghz TL-50 or TL-56 on ATI RS480 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|Use VESA 2d - ATI 1150 (x300) RS482M Mobility Radeon Xpress 200}} || <!--Audio-->{{Yes|HD audio with stac 92xx codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{Maybe|Broadcom bcm 4401}} || <!--Wireless-->{{No|Broadcom bcm4311 replace with Atheros 5k}} || <!--Test Distro-->Icaros 1.5 || <!--Comments-->2006 64bit 15.4 inch matt 16:10 1280x800 WXGA -
|-
| <!--Name-->Inspiron 6400 (Quanta FM1)
*A00 Pentium M
*A0? Core Duo
*A08 Core2 Duo
|| <!--Chipset-->GM945 with BGA479 (socket M) T2050 1.6Ghz, T2060 1.60Ghz, T2080 1.73Ghz much later T5500 1.66Ghz || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Yes|GMA 2D and 3D}} || <!--Audio-->{{Yes|HD Audio with IDT 92xx codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{Yes|Broadcom BCM4401 B0}} || <!--Wireless-->{{No|Broadcom BCM4311 swap for Atheros 5k mini pci-e under keyboard}} || <!--Test Distro-->deadwood 2019-04-16 iso || <!--Comments-->2006 mostly 32bit - 15.4" glossy - sd card - front multimedia keys - dvd rw - generic dell keyboard - coin cr2032 bios battery under keyboard -
|-
| <!--Name-->Inspiron 640m PP19L XPS M140 e1405 || <!--Chipset-->Core Solo T2050, T2300 Duo 1.83GHz T2400 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel GMA 950 || <!--Audio-->HD Audio IDT || <!--USB--> || <!--Ethernet-->Broadcom BCM4401-B0 100Base || <!--Wireless-->{{No|Intel 3945 or Broadcom 43xx, swap for Atheros 5k - Wireless Internet ON or OFF press the Function key + F2}} || <!--Test Distro--> || <!--Comments-->2006 32 bit - 12.1 LCD CCFL WXGA 1280x800 up to 14.1 inch 16:10 1440x900 pixel, WXGA+ UltraSharp - supports also SSE3 on duos -
|-
| <!--Name-->Latitude D420 (Compal LA-3071P) PP09S
|| <!--Chipset-->945
* revA00 Solo 1.2Ghz ULV U1400
* revA01 Duo 1.06Ghz u2500
* revA02 Duo 1.2Ghz
| <!--IDE-->{{yes|ZIF/CE 1.8" slow under battery, ribbon cable}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{yes|Intel GMA950 - 2D and 3D opengl tunnel 138 gearbox 103}} || <!--Audio-->{{yes|HD Audio with STAC 92xx playback speakers head phones only)}} || <!--USB-->{{yes|2 and external usb optical drive works}} || <!--Ethernet-->{{no|Broadcom BCM5752}} || <!--Wireless-->{{No|Intel 3945 mini pcie - swap Atheros 5k in base panel}} || <!--Test Distro-->Icaros Desktop 1.4 || <!--Opinion-->2006 32bit only - 12.1" 1280x800 - PR09S dock base rev02 DVD-RW usb boots - 1GB DDR2 2Rx16 max in base panel - f2 setup f5 diagnostics f12 boot list -
|-
| <!--Name-->Latitude D520 PP17L
|| <!--Chipset-->
* 64bit rev A01, A02 945GM Core2 Duo 1.83Ghz to 2.3Ghz
* 32bit rev A00, A01 940GML Solo later Duo T2400
| <!--IDE-->{{yes| Philips SDR089, Philips CDD5263, TEAC DW224EV, Optiarc AD-5540A, HL-DL-ST GSAT21N, TSSTcorp TS-L632D}} || {{Yes|bios sata set to ide mode}} || {{Yes|Intel GMA 900 series 2D and OpenGL1 3D tunnel 210 gearbox 153 teapot 27}} || {{Yes|HD audio with STAC 9200 codec}} || {{Yes|Boots and detects USB2.0}} || {{Yes|Broadcom 4400}} || {{No|Broadcom BCM4312 BCM4321 Dell 1390 / 1490 mini pcie - easy to replace with atheros 5k in base panel}} || <!--Test Distro-->Icaros 1.4 and 2.2 and both AROS One 1.8 and AROS One x64 1.1 USB boot || 2006 mostly 64bit 4:3 aspect ratio 14.1 (XGA 1024x768) or later 15 inches (XGA+ 1400 by 1050) - F2 enter bios F12 choose boot - 19.5v dell tip pa-12 charger - bios coin cell cr2032 battery socketed in base panel -
|-
| <!--Name-->Latitude D620 (Compal LA-2792) PP18L
|| <!--Chipset-->945GMS
* rev A00 all Core Duo's 32 bit
* rev A0x all Core 2 Duo's 64 bit
| <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Intel GMA 950 (2D and 3D tunnel gearbox opengl1 || <!--Audio-->{{yes|HD Audio playback}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no|Broadcom BCM5752}} || <!--Wireless-->{{no|Intel 3945 mini pcie swap with Atheros 5k}} || <!--Test Distro-->AspireOS Xenon || <!--Opinion-->2006 64bit AROS capable with later revisions - 14" 1280 x 800
|-
| <!--Name-->Latitude D620
|| <!--Chipset-->Intel i945
* revA00 all Core Duo's 32 bit
* revA01 all Core 2 Duo's 64 bit
| <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Nvidia 7300, 7600 NVS 110M G72 || <!--Audio-->{{dunno|HD Audio with STAC 9200 codec}} || <!--USB--> || <!--Ethernet-->{{No|Broadcom BCM5752}} || <!--Wireless--> {{dunno}} || <!--Test Distro--> || <!--Opinion-->2007 1440x900 screen - LA-2792P Rev.2.0 - DT785 UC218 Fan/ Heatsink (64bit) -
|-
| <!--Name-->Latitude D820 (Quanta JM6)
|| <!--Chipset-->945GMS 940GML
* rev A00
* rev A01
| <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Yes|Intel GMA 2D and 3D tunnel 195 - 100? gearbox 156}} || <!--Audio-->{{Yes|HD Audio with STAC 9200 playback}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|Broadcom BCM5752}} || <!--Wireless-->{{No|BCM4310 replace with mini pcie atheros 5k}} || <!--Test Distro-->2016 Icaros 2.1.2 || <!--Opinion-->2007 widescreen 15 inch 1280 x 800 matte - -
|-
| <!--Name-->Latitude D820 (Quanta JM)
|| <!--Chipset-->945GMS 940GML
* revA00
* revA01
| <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|Nvidia NVS 110M 120M G72}} || <!--Audio-->{{Yes|HD Audio STAC 9200}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|Broadcom BCM5752}} || <!--Wireless-->{{No|BCM4310 swap with Atheros 5k mini pcie}} || <!--Test Distro--> || <!--Opinion-->2007 64bit 15.4 1650x1050 WXGA or WSXGA+ or 1920x1200 WUXGA -
|-
| <!--Name-->Dell Latitude D531 15" || <!--Chipset-->AMD Turion X2 TL56 or TL60 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Maybe|Use VESA - ATi xpress X1270}} || <!--Audio-->HD Audio with IDT codec || <!--USB-->{{Maybe| }} || <!--Ethernet-->{{No|Broadcom 57xx}} || <!--Wireless-->Intel 3945 or Dell Wireless 1390, 1505 or BCM4311 mini pcie || <!--Test Distro--> || <!--Comments-->2007 64bit possible - no trackpoint - fails and goes wrong often -
|-
| <!--Name-->Latitude D430 PP09S
|| <!--Chipset-->945 with Core2 Duo C2D U7500 1.06GHz U7600 1.2GHz U7700 1.33GHz
* rev A00
* rev A01
* rev A02
| <!--IDE-->ZIF PATA IDE 1.8inch under battery and ribbon cable - slow use USB instead || <!--SATA-->{{N/A}} || <!--Gfx-->{{yes|945GML 2D and 3D opengl 1.x 171 tunnel 105 gearbox}} || <!--Audio-->{{yes|STAC 92xx HD Audio speaker and ear phone - mono speaker}} || <!--USB-->{{yes|3 }} || <!--Ethernet-->{{no|Broadcom BCM5752}} || <!--Wireless-->{{no|Intel 4965 AGN or 3945 ABG mini pci-e underside with Atheros 5k mini pci-e}} || <!--Test Distro-->Aspire 1.8 || <!--Comments-->2007 64bit capable - sd card not supported - 19.5v PA12 power adapter - 12.1" 1280x800 matte - f2 setup f5 diagnostics f12 boot list -
|-
| <!--Name-->Latitude D530 || <!--Chipset-->GM965 + ICH8 || <!--IDE-->{{N/A}} || <!--SATA-->{{partial|IDE mode}}|| <!--Gfx-->{{partial|nVidia Quadro NVS 135M 2D 3d glitches G86}} || <!--Audio-->{{partial|HD Audio with STAC 9205 head phones only}} || <!--USB-->{{yes|USB 2.0}}|| <!--Ethernet-->{{no|Broadcom BCM5755M}} || <!--Wireless-->{{no|Intel PRO Wireless 3945ABG swap with Atheros 5k}} || <!--Test Distro-->Icaros 1.4.5 || <!--Comments-->2007 [http://amigaworld.net/modules/news/article.php?mode=flat&order=0&item_id=6481 ] cool air intake from underneath needed with pa-10 or pa-3e 90w psu required - standard 4:3 ratio aspect screen -
|-
| <!--Name-->Latitude D630 (Compal LA-3301P) PP18L
|| <!--Chipset-->GM965 + ICH8 T7250 2.0Ghz T7300
* revA00
* revA01
| <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{yes|Intel GMA X3100 (2D only, no external monitor)}} || <!--Audio-->{{yes|HD Audio STAC 9205 but speaker and head phones}} || <!--USB-->{{yes|4 USB 2.0}}|| <!--Ethernet-->{{no|Broadcom BCM5755M}} || <!--Wireless-->{{no|Broadcom BCM4312 swap with pci-e Atheros 5k under keyboard}} || <!--Test Distro--> || <!--Comments-->2007 64bit possible - F12 to choose boot option - 2 ddr2 sodimm max 4G - 4400mah 48Wh battery lasts 2 hours - 6600mah 73Wh lasts just over 3 hours
|-
| <!--Name-->Latitude D630
|| <!--Chipset-->GM965 + ICH8
* revA00 [http://amigaworld.net/modules/news/article.php?mode=flat&order=0&item_id=6481 ] GPU heatpad, no copper
* revA01 0DT785 heatsink
| <!--IDE-->{{N/A}} || <!--SATA-->{{partial|IDE mode}}|| <!--Gfx-->{{partial|use VESA as nVidia NVS 135M 3d corrupts 0.7 tunnel 0.25 gearbox G86}} || <!--Audio-->{{partial|HD Audio with STAC 9205 head phones only}} || <!--USB-->{{yes|USB 2.0}}|| <!--Ethernet-->{{no|Broadcom BCM5755M}} || <!--Wireless-->{{no|Intel PRO Wireless 3945ABG swap with Atheros 5k mini pcie}} || <!--Test Distro-->Icaros 1.4.5 || <!--Comments-->2007 64bit
|-
| <!--Name-->Latitude D830
|| <!--Chipset-->965GM with Core2
* revA00
* revA01
| <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Yes|GM965 crestline 2d and 3d tunnel 115}} || <!--Audio-->{{Yes| }} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No| }} || <!--Wireless-->{{Maybe|replace with Atheros 5k mini pcie}} || <!--Test Distro-->Icaros || <!--Comments-->2007 15 inch 1280 x 900 but updating the LCD to WXGA or WSXGA+ could be better - 2 ddr2 sodimm -
|-
| <!--Name-->Latitude D830 || <!--Chipset-->ICH8, Core2 DUO T7800 @ 2.60GHz || <!--IDE-->{{N/A}} || <!--SATA-->Intel ICH8M Serial ATA || <!--Gfx-->nVidia Quadro NVS 140M G86 || <!--Audio-->{{yes|HD Audio with STAC 92XX codec}} || <!--USB-->{{yes|USB 2.0}} || <!--Ethernet-->Broadcom NetXtreme 57xx Gigabit || <!--Wireless-->Intel Wireless 4965AGN swap with Atheros 5k || <!--Test Distro-->Icaros 2.03 || <!--Comments-->2007 64bit 15." - FN,F2 or FN,F8 or FN,F12
|-
| <!--Name-->XPS M1710 || <!--Chipset-->945PM with T2400 T2600 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->proprietary Dell card socket format GTX 7950 || <!--Audio-->HD Audio with STAC 92XX codec || <!--USB--> || <!--Ethernet-->Intel 1000 or Broadcom BCM5752 || <!--Wireless-->Intel swap with Atheros 5k || <!--Test Distro-->Aros One 64bit || <!--Comments-->2007 64bit 17.3" workstation type WXGA+ screen 1920x1200 - 2 ddr-2 667Mhz sodimm slots,
|-
| <!--Name-->XPS M1730 || <!--Chipset-->965 with T7200 T7600 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->GTX 7950 || <!--Audio-->HD Audio with STAC 92XX codec || <!--USB--> || <!--Ethernet-->Intel 1000 || <!--Wireless-->Intel swap with Atheros 5k || <!--Test Distro--> || <!--Comments-->2008 64bit 17" workstation type WXGA+ screen manufactured by AU Optronics poor viewing angles, unevenly lit, light leakage, 2 ddr-2 800Mhz slots,
|-
| <!--Name-->Latitude E6410 P27LA, E6510 PP30LA, E6310 || <!--Chipset-->Intel Core i5-520M to i7-620M i7 820QM but no sse4.1 or AVX || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|NVidia NVS 3100M GT218 2D but 3D through external monitor}} || <!--Audio-->{{Maybe|HD Audio IDT 92HD81}} || <!--USB-->{{Yes|USB2 }} || <!--Ethernet-->{{No|Intel}} || <!--Wireless-->{{No|Broadcom or Intel 6200AGN or Link 6300}} || <!--Test Distro-->Icaros 1.3 || <!--Comments-->2010 64 bit - 14.1” WXGA+ up to 15.6in 15.6” FHD 1080p - 2 ddr3l 1333Mhz max 8Gb - 90w dell charger -
|-
| <!--Name-->Inspiron M5030 || <!--Chipset-->rev A01 AMD V120, V140 rev A0? V160 M880G || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE}} || <!--Gfx-->{{Maybe|VESA RS880M Radeon HD 4225, 4250}} || <!--Audio-->{{Yes|HD audio with ALC269q codec}} || <!--USB--> || <!--Ethernet-->{{No|Atheros AR8152 v2}} || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro--> || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - DDR3 sodimm -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->E6420 E6520 ATG semi ruggized XFR || <!--Chipset-->sandy bridge i5 2520M 2540M or duo I7 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|set to Bios UEFI mode AHCI}} || <!--Gfx-->{{Maybe|Intel HD 3000 with optional fermi Nvidia NVS 4200M GF119}} || <!--Audio-->{{Maybe|HD Audio with IDT 92HD90 BXX codec but not HDMI codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|Intel}} || <!--Wireless-->{{No|Intel 6205}} || <!--Test Distro-->Icaros 2.03 || <!--Comments-->2011 64bit 15.6in - fan exhausts a lot of hot air when cpu taxed - VGA if Bios ATA set and Vesa only with Bios ACHI set -
|-
| <!--Name-->Inspiron M5040 || <!--Chipset-->slow amd E450, later C-50 C50 or C-60 C60 with A50M chipset || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|non efi sata in IDE mode but base plastic difficult to remove for access}} || <!--Gfx-->{{Maybe|use VESA AMD Radeon 6320, 6250 or 6290}} || <!--Audio-->{{Yes|HD Audio IDT}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{Yes|rtl8169 Realtek RTL8105E VB 10/100}} || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro-->2016 icaros 2.1.1 and AROS USB 1.6 || <!--Comments-->2012 64bit 15INCH 1388 X 768 - f2 bios setup, f12 boot order - under removable keyboard via 4 top spring loaded catches is 1 ddr3l sodimm max 8gb and wifi -
|-
| Latitude e6230 E6330 E6430 || i3 3320M 3350M 2.8 GHz i5 3360M i7 3520M || {{N/A}} || {{partial|non RAID mode}} || {{partial|Intel HD 4000 (VESA only)}} || {{no|HD Audio}} || {{partial|Intel USB 3.0 (USB 1.1 2.0 only)}} || {{No|Intel 82579LM Gigabit}} || {{No|Broadcom BCM4313}} || <!--Test Distro-->Nightly Build 2014 09-27 || 2013 64bit Ivy Bridge - 12.5-inch 13.3-inch 14-inch screen - not great support, better under hosted -
|-
| <!--Name-->Dell Latitude 3330 || <!--Chipset-->Core i3 – 2375M to i5 – 3337U, Intel® Core i3 – 3227U, Celeron 1007U on HM77 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{maybe|VESA 2d for intel Hd 2000 3000 vga hdmi}} || <!--Audio-->{{maybe|HDAudio with IDT 92HD93 Controller codec }} || <!--USB-->{{maybe|USB 3.0 (2), USB 2.0 PowerShare capable }} || <!--Ethernet-->{{no|Intel }} || <!--Wireless-->{{no|Intel }} || <!--Test Distro-->Deadwood usb3 test iso || <!--Comments-->2013 64bit, 13.3” HD 1366X768 16:9, 2 ddr3l slots max 8Gb, 720p HD video webcam,
|-
| <!--Name-->Inspiron 15 5565 5567 AMD versions, Inspiron 3595 || <!--Chipset-->AMD A6-9200u A9-9400 9425 A12-9700P Bristol Ridge || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->Radeon R5 R8 GCN 3 || <!--Audio-->{{No| }} || <!--USB-->{{partial| }} || <!--Ethernet-->{{maybe|Realtek 1GbE}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2017 64bit AVX2 - 15.6in 768p or 900p - there are intel versions avoid -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Latitude 5495, Inspiron 15 3585 || <!--Chipset-->Ryzen 2300U 2500U 2700U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|NVMe or optional 2.5in sata if caddy and ribbon cable}} || <!--Gfx-->Radeon Vega 3 or 7 || <!--Audio-->{{No|HDAudio with Realtek ALC3246 aka ALC295 0x10ec, 0x0295 or ALC3263 aka ALC 0x10ec, 0x0 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2018 64bit - 14.0" FHD WVA 1080p (16:9) 220 nits or HD 768p - 2 ddr4 sodimm slots max 32gb - 68whr battery with 2pin cmos bios coin - DC 19.5V 4.62A (90W) or 19.5V 3.34W (65W) 5.0mm x 7.4mm PA12 charging adapter -
|-
| <!--Name-->Inspiron 3505, Vostro 3515 || <!--Chipset-->athlon 300u, Ryzen 3250u (2c4t) 3450u 3500u 3700u (4c8t), Athlon Silver (2c2t) Gold (2c4t) || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|up to 2 nvme with optional 2.5in sata ribbon connector}} || <!--Gfx-->{{Maybe|VESA 2D for Vega 8, 10}} || <!--Audio-->{{No|Realtek ALC3204, Cirrus Logic CS8409 (CS42L42 and SN005825)}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{No|RTL 8106E}} || <!--Wireless-->{{No|Realtek RTL8723DE}} || <!--Test Distro--> || <!--Comments-->2019 64-bit - 15.6inch - 2 ddr4 sodimm max 16G - avoid knocking usb-c charging whilst in use -
|-
| <!--Name-->Inspiron 5485 2-in-1 || <!--Chipset-->athlon 300u, Ryzen 3250u (2c4t) 3450u 3500u 3700u (4c8t), Athlon Silver (2c2t) Gold (2c4t) || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|nvme}} || <!--Gfx-->{{Maybe|VESA 2D for Vega 8, 10}} || <!--Audio-->{{No|Realtek ALC3204}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No|Realtek RTL8723DE}} || <!--Test Distro--> || <!--Comments-->2019 64-bit - 14inch - 2 ddr4 sodimm max 16G - avoid knocking usb-c charging whilst in use -
|-
| <!--Name-->Latitude 3500, 3310, 3410, 3510, || <!--Chipset-->Intel Celeron-4205U, Pentium-5405U, Core i5 (8th Gen) i3-8145U, 8265U, i5-8365U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|nvme}} || <!--Gfx-->{{Maybe|Vesa 2D for Intel UHD Graphics 610 or 620 hdmi}} || <!--Audio-->{{no|Realtek ALC}} || <!--USB-->{{maybe|USB3 usb-c usb-a}} || <!--Ethernet-->{{Maybe|rtl8169 RTL8111H}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2019 64bit - 14in or 15.6in 768p to 1080p 220nits - 65w - 2 ddr4 sodimm slots - rtc cr2032 cmos 2 pin -
|-
| <!--Name-->Inspiron 5405 || <!--Chipset-->AMD Ryzen 5 4500U || <!--IDE-->{{N/A}} || <!--SATA-->One M.2 2230/2280 nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{No|HDAudio with Realtek ALC3204 codec}} || <!--USB-->{{maybe|USB3 }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2020 64bit - 14" 1080p - dell round ac 19.50 VDC 4.50 mm x 2.90 mm 65W(19.5V-3.34A) round 4.5mm tip -
|-
| <!--Name-->Vostro 5415, Inspiron 5515 || <!--Chipset-->AMD Ryzen 3 5300U, Ryzen 5 5500U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|nvme}} || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{No|HDaudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit 14" or 15.6in - avoid knocking usb-c charging whilst in use or use dell round ac 65W 4.5MM x 3.0MM - replacing keyboard not easy - 1 ddr4 sodimm -
|-
| <!--Name-->Vostro 3425, Vostro 3525, Vostro 5625 || <!--Chipset-->AMD Ryzen 3 5425U, Ryzen 5 5625U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{no|HDAudio with codec}} || <!--USB-->{{maybe|USB4}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit - 14in 15.6" to 16" FHD 1080p - dell round ac 65w 4.5MM x 3.0MM or avoid knocking usb-c charging whilst in use -
|-
| <!--Name-->Dell Inspiron 15 Model 3535, Inspiron 14 7435 || <!--Chipset-->AMD Ryzen 5 7520U, AMD Ryzen 5 7530U, 7 7730U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->{{No| hdmi 1.4 but no gpmi}} || <!--Audio-->{{No|HDaudio with codec }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2024 64bit - 14.0" or 15.6" 1080p - dell round ac 65w 4.5MM x 3.0MM or usb-c charging - full sd card slot -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|}
====Fujitsu-Siemens====
[[#top|...to the top]]
Order of build quality (Lowest to highest)
<pre >
Amilo
Esprimo
Lifebook
</pre >
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="5%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->Fujitsu [http://www.labri.fr/perso/fleury/index.php?page=bug_transmeta FMV-Biblo Loox S73A (Japan P1100) LifeBook P1120 Biblo Loox T93C (Japan P2120) P2020] || <!--Chipset-->Transmeta Crusoe CPU TM5600 633MHz with Ali M1535 chipset || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->ATI Rage Mobility M with 4MB SDRAM || <!--Audio-->{{No|AC97 Ali M1535 + STAC9723 Codec}} || <!--USB-->USB 1.1 only || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->1999 32bit 10" 1280 x 600 matte LCD - QuickPoint IV mouse - metal chassis with palm rest plastic - 15GB 2.5 inch drive and SR 8175 8X DVD-ROM drive -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Lifebook S7000 S7010 S7010D S2020 || <!--Chipset-->Pentium M 1.6 or 1.7GHz || <!--IDE-->{{Yes| }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Maybe|use VESA - Intel 855}} || <!--Audio-->{{maybe|AC97 with STAC 9751T or 9767 codec}} || <!--USB--> || <!--Ethernet-->{{No|Broadcom}} || <!--Wireless-->{{No|Atheros, Broadcom or Intel 2200BG - FN,F10}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2002 32bit 14.1 inch with minimal support
|-
| <!--Name-->Lifebook e8010 || <!--Chipset--> || <!--IDE-->{{Yes| }} || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA Intel 855GM}} || <!--Audio-->AC97 STAC9767 or ALC203 codec || <!--USB--> || <!--Ethernet-->{{No|Broadcom NetXtreme BCM5705M}} || <!--Wireless-->Intel PRO Wireless 2200BG || <!--Test Distro-->Icaros 1.3.1 || <!--Comments-->2002 32bit 15.1 inch
|-
| <!--Name-->Stylistic ST5000 ST5010 ST5011 ST5012 ST5020 ST5021 ST5022 || <!--Chipset-->1.0GHz P-M and later 1.1GHz on Intel 855GME || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->Intel 800 use VESA || <!--Audio-->Intel AC97 || <!--USB--> || <!--Ethernet-->Broadcom BCM5788 tg3 || <!--Wireless-->{{No|Intel 2200BG}} || <!--Test Distro--> || <!--Comments-->2003 32bit charged via a proprietary port power connector 16V 3.75A with wacom serial pen interface - indoor Screen transmissive 10.1 and later 12.1 XGA TFT -
|-
| <!--Name-->Amilo Pro V2010 || <!--Chipset-->VIA CN400 PM880 || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->{{No|S3 unichrome use VESA}} || <!--Audio-->{{No|VIA AC97 VT8237 with codec}} || <!--USB--> || <!--Ethernet-->Rhine 6102 6103 || <!--Wireless-->RaLink RT2500 || <!--Test Distro-->2017 Icaros 2.1.2 || <!--Comments-->2003 32bit boot mount - unknown bootstrap error then crashes
|-
| <!--Name-->Amilo Li 1705 CN896 || <!--Chipset--> with VIA P4M900 || <!--IDE--> || <!--SATA-->{{Maybe|IDE}} || <!--Gfx-->ATi || <!--Audio-->{{No|VIA VT8237 HD Audio with codec}} || <!--USB-->VT82xx 62xx || <!--Ethernet-->{{Yes|VIA Rhine}} || <!--Wireless-->{{No|Atheros G}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2005 32bit random freezes
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name--> Esprimo Mobile V5535 Skt mPGA 478MN
| <!--Chipset-->
| <!--IDE--> {{yes|IDE and EIDE}}
| <!--SATA--> {{maybe|IDE mode with SIS 5513}}
| <!--Gfx--> {{maybe|SiS 771 / 671 (VESA only)}}
| <!--Audio--> {{yes|HD Audio SIS968 SIS966 SI7012 with ALC268 codec}}
| <!--USB--> {{no|USB 1.1 and 2.0 issues}}
| <!--Ethernet--> {{no|SiS 191 gigabit}}
| <!--Wireless--> {{yes|Atheros AR5001 mini pci express}}
| <!--Test Distro-->aros one 1.5 usb
| <!--Comments-->2005 32bit 20v barrel - f2 setup f12 multi boot - random freezing short time after booting - chipset SIS 671MX -
|-
| <!--Name-->Amilo SI 1520 1521p || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|GMA 2D}} || <!--Audio-->{{No|HD Audio Conexant codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{Yes|Intel Pro 100}} || <!--Wireless--> || <!--Test Distro-->Icaros 1.4.2 || <!--Comments-->2005 32bit - Set Bios option ATA Control Mode to Compatible
|-
| <!--Name-->Lifebook S7020 S7020D || <!--Chipset--> Pentium M 740 1.73MHz || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 915 || <!--Audio-->HD Audio ALC260 codec || <!--USB-->{{Yes| }} || <!--Ethernet-->Broadcom BCM5751M Gigabit || <!--Wireless-->Intel PRO Wireless 2200BG or Atheros 5k || <!--Test Distro--> || <!--Comments-->2006 32bit
|-
| <!--Name-->Stylistic ST5030 ST5031 ST5032 || <!--Chipset-->1 to 1.2GHx Pentium M with 915GM || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->Intel 900 || <!--Audio--> || <!--USB-->{{Yes| }} || <!--Ethernet-->Marvell || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2006 32bit charged via a proprietary port power connector 6.0 x 4.4 mm round - 200 pin ddr2 ram
|-
| <!--Name-->Stylistic ST5110 ST5111 ST5112 || <!--Chipset-->945GM with 1.2GHz Core Duo and Core2 Duo || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Intel 900 || <!--Audio-->HD audio with STAC9228 codec || <!--USB-->{{No| }} || <!--Ethernet--> || <!--Wireless-->Intel 3945 ABG or optional atheros || <!--Test Distro--> || <!--Comments-->2006 either 32 or 64 bit - charged via a proprietary port power connector 6.0 x 4.4 mm round - SigmaTel® touchscreen -
|-
| <!--Name-->E8110 S7110 E8210 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|945GM}} || <!--Audio-->{{Yes|HD Audio with ALC262 codec playback}} || <!--USB-->{{Yes}} || <!--Ethernet-->{{No|Marvell 88E8055 Gigabit}} || <!--Wireless-->{{No|Intel PRO Wireless 3945ABG}} || <!--Test Distro-->Icaros 2.0 || <!--Comments-->2006 32bit Core Duo
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || CHIPSET || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Lifebook PH521 || <!--Chipset-->AMD E-350 E-450 1.65GHz || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->HD 6310M 6320M || <!--Audio-->Realtek ALC269 || <!--USB-->{{No| }} || <!--Ethernet-->Realtek || <!--Wireless-->{{No|Atheros 802.11 bgn}} || <!--Test Distro--> || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - 11.6 inch 1366x768 pixels - DDR3 1066MHz -
|-
| <!--Name-->LIFEBOOK E752/E782/S752/S782 || <!--Chipset--> with Intel Core i3-2328M to i3-3110M || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{Maybe| }} || <!--Audio-->{{yes| }} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no|Intel 82579V 1000 }} || <!--Wireless-->{{no|Intel Wireless 6205 may be able to swap for Atheros 5k }} || <!--Test Distro-->Aros One 64bit || <!--Comments-->2012 64bit
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====HP Compaq====
[[#top|...to the top]]
Build quality (Lowest to highest)
<pre >
Presario
Pavilion
Omnibook
ProBook
Armada
Elitebook
</pre >
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->1c00 series Compaq Presario [http://users.utu.fi/sjsepp/linuxcompaqarmada100s.html Armada 100S made by Mitac], 1247 || <!--Chipset-->K6-II with PE133 MVP-4 || <!--IDE--> || <!--SATA--> || <!--Gfx-->use VESA - Trident Blade3D AGP sp16953 || <!--Audio-->VIA ac'97 audio [rev20] with AD1881A codec || <!--USB-->{{Maybe|usual VIA issues [rev10]}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->1998 32bit 192MB max - PCcard Texas PC1211 no support - 1200 XL1 1200-XL1xx, XL101, XL103 XL105 XL106 XL109 XL110 XL111 XL116 XL118 XL119 XL125
|-
| <!--Name-->1c01 series Armada 110, Evo N150 || <!--Chipset-->Intel with VIA PLE133 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Use VESA - Trident Cyber Blade i1 chipset || <!--Audio-->VIA 686 rev20 82xxx 686a || <!--USB--> || <!--Ethernet-->Intel 82557 Pro 100 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->1998 32bit max 192mb sodimm 100Mhz 133Mhz ram memory - 1200-XL405A 12XL405A XL502A 12XL502A 1600XL
|-
| Armada M300 M700 E500 || 440BX || {{Yes| }} || {{N/A}} || {{maybe|ATI Rage LT M1 Mobility (VESA only)}} || {{no|AC97 ESS Maestro 2E M2E ES1987 sound}} || {{yes|USB1.1 only}} || {{No|[http://perho.org/stuff/m300/index_en.html Intel PRO 100+ Mini PCI]}} || {{N/A}} || Aspire OS 2012, Nightly 30-01 2013 and 04-05 2013 || 1999 32bit - F10 bios options and Fn+F11 reset CMOS with 64mb ram already on board
|-
| <!--Name-->HP Omnibook XE3 || <!--Chipset-->Intel BX 600Mhz GC model 256mb or AMD GD 500Mhz || <!--IDE--> || <!--SATA--> || <!--Gfx-->Use VESA - S3 Inc. 86C270 294 Savage IX-MV (rev 11) || <!--Audio-->{{No|ESS ES1988 Allegro 1 (rev 12)}} || <!--USB-->Intel 82371AB PIIX4 USB (rev 01) || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->2002 32bit no cardbus pcmcia support - no audio from Polk Audio Speakers -
|-
| <!--Name-->HP Omnibook XE3 || <!--Chipset-->82830 ICH3 P3-M 750MHz 800Mhz 900MHz || <!--IDE-->{{Yes| }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Maybe|use VESA - CGC 830MG}} || <!--Audio-->{{No|ESS ES1988 Maestro 3i}} || <!--USB-->{{Yes|only one 1.1 port}} || <!--Ethernet-->{{Yes|e100 82557}} || <!--Wireless-->{{N/A|}} || <!--Test Distro-->Icaros 1.51 || <!--Comments-->2002 32bit Boots USB Stick via Plop boot floppy - Memory for GF 256-512mb, GS up 1GB
|-
| <!--Name-->TC1000 TC-1000 Tablet PC || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->NVIDIA NV11 [GeForce2 Go] (rev b2) || <!--Audio-->VIA AC97 Audio (rev 50) || <!--USB-->OHCI NEC USB 2.0 (rev 02) || <!--Ethernet-->Intel 82551 QM (rev 10) || <!--Wireless-->Atmel at76c506 802.11b || <!--Test Distro--> || <!--Comments-->2002 32bit Transmeta LongRun (rev 03) with VT82C686 - Texas Instruments TI PCI1520 PC card Cardbus
|-
| <!--Name-->HP Compaq R3000 ZV5000 (Compal LA-1851) || <!--Chipset-->Nvidia nForce 3 with AMD CPU || <!--IDE--> || <!--SATA--> || <!--Gfx-->Nvidia NV17 [GeForce4 420 Go 32M] || <!--Audio-->Nvidia || <!--USB--> || <!--Ethernet-->Broadcom or Realtek RTL8139 || <!--Wireless-->{{Maybe|Broadcom BCM4303 BCM4306 or Atheros bios locked}} || <!--Test Distro--> || <!--Comments-->2003 32bit - HPs have a setting to automatically disable wireless if a wired connection is detected
|-
| <!--Name-->Compaq [http://www.walterswebsite.us/drivers.htm Presario 700 series] || <!--Chipset-->VT8363 VT8365 [Apollo Pro KT133 KM133] || <!--IDE-->{{yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{maybe|VT8636A (S3 Savage TwisterK) (VESA only)}} || <!--Audio-->{{Maybe|VIA AC97 [rev50] with AD1886 codec}} || <!--USB-->{{maybe|VIA UHCI USB 1.1 [rev1a]}} || <!--Ethernet-->{{yes|RealTek RTL8139}} || <!--Wireless-->{{no|Broadcom BCM4306}} || <!--Test Distro--> || <!--Comments-->2003 32bit poor consumer grade level construction - jbl audio pro speakers - no support for cardbus pcmcia TI PCI1410 - 700A EA LA UK US Z 701AP EA BR FR 701Z 702US 703US AP JP audio sp18895 Sp19472
|-
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| N400c || P3-M 82845 || {{yes|82801 CAM IDE U100}} || {{N/A}} || {{maybe|Rage Mobility 128 (VESA only)}} || {{No|Maestro 3 allegro 1}} || {{yes|USB1.1}} || {{yes|Intel PRO 100 VM (KM)}} || {{N/A}} || Icaros 1.2.4 || 2003 32bit Has no optical disc drive
|-
| N410c || P3-M 82845 || {{yes|82801 CAM IDE U100}} || {{N/A}} || {{maybe|Radeon Mobility M7 LW 7500 (VESA only)}} || {{yes|Intel AC97 with AD1886 codec}} || {{yes|USB1.1}} || {{yes|Intel PRO 100 VM (KM)}} || {{N/A}} || Icaros 1.2.4 || 2003 32bit Has no optical disc drive
|-
| Evo N600c || Pentium 4 || {{yes|IDE}} || {{N/A}} || {{partial|ATI Radeon Mobility M7 (VESA only)}} || {{No|ESS ES1968 Maestro 2}} || {{yes|USB}} || {{yes|Intel PRO 100}} || {{dunno}} || Icaros 1.3 || 2003 32bit
|-
| Evo N610c || Pentium 4 || {{yes|IDE}} || {{N/A}} || {{partial|ATI Radeon Mobility M7 (VESA only)}} || {{yes|Intel ICH AC97 with AD1886 codec}} || {{yes|USB}} || {{yes|Intel PRO 100}} || {{dunno}} || Icaros 1.2.4 ||
|-
| N800c || P4 || {{Yes|IDE}} || {{N/A}} || {{partial|ATI Radeon Mobility 7500 (VESA only)}} || {{yes|AC97}} || {{yes|USB}} || {{yes|Intel PRO 100}} || {{N/A}} || Icaros 1.2.4 || 2003 32bit P4M CPU can get very warm
|-
| <!--Name-->NX7010 || <!--Chipset-->Intel || <!--IDE-->{{yes|IDE}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{partial|ATI mobility 7500 or 9000 Radeon 9200 64MB (VESA only)}} || <!--Audio-->{{yes|AC97 ADI codec}} || <!--USB-->{{yes|uhci (1.1) and ehci (2.0)}} || <!--Ethernet-->{{yes|Realtek 8139}} || <!--Wireless-->{{No|Intel 2200b bios locked}} || <!--Test Distro--> || <!--Comments-->2003 32bit
|-
| <!--Name-->Compaq Preasrio V5000 (Compal LA-2771) || <!--Chipset-->AMD Sempron 3000+ or Turion ML with SB400 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA - Ati RS480M Xpress 200}} || <!--Audio-->{{No|AC97 ATI with Conexant CX 20468 codec}} || <!--USB--> || <!--Ethernet-->{{Yes|Realtek 8100 8101L 8139}} || <!--Wireless-->{{No|bcm4318 bios locked}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2004 64bit single core machine V5001 V5002 V5002EA V5003
|-
| <!--Name-->TC1100 TC-1100 Tablet PC || <!--Chipset-->855PM || <!--IDE--> || <!--SATA--> || <!--Gfx-->Nvidia Geforce4 Go || <!--Audio-->AC97 || <!--USB--> || <!--Ethernet-->{{Maybe|BCM 4400}} || <!--Wireless-->{{Maybe|Atheros wlan W400 W500 or ? bios locked}} || <!--Test Distro--> || <!--Comments-->2004 32bit
|-
| <!--Name-->NC6000 NC8000 NW8000 || <!--Chipset-->855PM with Pentium M 1.5 1.6 1.8GHz 2.0GHz || <!--IDE-->max 160 GB for NW 8000 || <!--SATA--> || <!--Gfx-->{{Maybe|Ati RV350 mobility 9600 M10 Fire GL T2 ISV use VESA 2D as no laptop display}} || <!--Audio-->{{Yes|Intel AC97 with ADI codec playback only}} || <!--USB-->{{Yes|2 ports}} || <!--Ethernet-->{{No|Broadcom BCM 5705M}} || <!--Wireless-->{{Maybe|mini pci Atheros 5212 BG W400 W500 or Intel - all bios locked}} || <!--Test Distro--> || <!--Comments-->2005 based [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=41916&forum=47 works] - Firewire TI TSB43AB22/A - 8 pound 2.5 kg travel weight - an SD slot as well as two PC Card slots - 15-inch UXGA screen (1,600 x 1,200) or 15" SXGA+ (1400 x 1050) (4:3 ratio)
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Compaq NC6110 NX6110 NC6120 NC6220 NC4200 NC8200 TC4200 || <!--Chipset-->GMA 915GML || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|2D GMA 900}} || <!--Audio-->{{Yes|AC97 with ADI AD1981B playback}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{Unk|440x or BCM 5705M or 5751M}} || <!--Wireless-->{{No|Intel IPW 2200 bios locked}} || <!--Test Distro-->Icaros 1.5.2 || <!--Comments-->2005 32bit Sonoma based - Wifi with Atheros AR5007eg if apply hacked bios RISKY else use USB one - (INVENTEC ASPEN UMA MV) (INVENTEC ASPEN DIS PV) -
|-
| <!--Name-->Compaq C500 CTO aka HP G7000 || <!--Chipset-->Intel 945GM || <!--IDE--> || <!--SATA--> || <!--Gfx-->GMA 950 || <!--Audio-->HD Audio with realtek ALC262 codec || <!--USB--> || <!--Ethernet-->Realtek 8139 || <!--Wireless-->Broadcom BCM 4311 bios locked || <!--Test Distro--> || <!--Comments-->2005 32bit
|-
| <!--Name-->HP DV6000 || <!--Chipset-->945GMS || <!--IDE--> || <!--SATA--> || <!--Gfx-->GMA 950 || <!--Audio-->HD Audio IDT 92HD 91B || <!--USB--> || <!--Ethernet-->Intel PRO 100 VE || <!--Wireless-->{{No|Intel 3945 bios locked}} || <!--Test Distro--> || <!--Comments-->2006 32 bit only - Mosfet FDS6679 common cause of shorts giving no power to the tip. To reset adapter, unplug from AC (mains) and wait 15-30 sec. Then plug in again -
|-
| Presario F700 series, HP G6000 f730us F750 F750us F755US F756NR F765em || AMD Turion Mono MK-36 2.0Ghz NForce 560m or Twin X2 TK-55 with nForce 610m MCP67 || {{N/A| }} || {{Yes|but needs special sata adapt bit and caddy}} || {{Yes|GF Go 7000m 2D and 3D 640x350 to 1280x800 - ball solder issues due to poor cooling}} || {{Maybe| }} || {{Maybe|uhci and ehci boots}} || {{No|Nvidia }} || {{Yes|Atheros AR5007 bios locked}} || Icaros 1.3.1 and Aros One 1.6 USB || 2006 64bit - f9 boot device f10 bios setup - random freezes after a minutes use means internal ventilation maintenance needed each year essential - No sd card and overall limited phoenix bios options -
|-
| <!--Name-->Presario v6604au v6608au V3500 || <!--Chipset-->NVIDIA MCP67M with AMD Athlon64 X2 TK 55 amd 1.8ghz || <!--IDE--> || <!--SATA-->{{Yes|SATA 150}} || <!--Gfx-->NVIDIA GeForce Go 7150M 630i or C67 630M MCP67 || <!--Audio-->conexant codec || <!--USB--> || <!--Ethernet-->Nvidia or Realtek 10/100 || <!--Wireless-->{{No|Broadcom 4311 bios locked}} || <!--Test Distro--> || <!--Comments-->2006 64bit Altec Lansing Stereo Speakers - ball solder issues -
|-
| <!--Name-->Compaq presario v6610 v6615eo v6620us || <!--Chipset-->Turion 64 X2 mobile TK-55 / 1.8 GHz to athlon 64x2 @ 2.4ghz || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|SATA 150}} || <!--Gfx-->{{Yes|geforce 7150 or 7300m 2d and 3d}} || <!--Audio-->{{Yes|AMD HD Audio with IDT codec stereo playback only}} || <!--USB-->3 OHCI EHCI || <!--Ethernet-->{{Maybe| }} || <!--Wireless-->{{No|Broadcom bios locked}} || <!--Test Distro-->Icaros 1.3 - || <!--Comments-->2007 [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=40956&forum=48 works well] - 1 x ExpressCard/54 - SD Card slot - AO4407 test voltage of the Drain side (pins 5-8) with AC adapter and no battery, see 0 volts, connect the battery you should have 10-14v -
|-
| <!--Name-->v6630em v6642em || <!--Chipset-->nForce 630M with AMD Turion 64 X2 Mobile TL-58 || <!--IDE--> || <!--SATA--> || <!--Gfx-->NVIDIA GeForce 6150M or 7150M || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless-->{{No|Broadcom bios locked}} || <!--Test Distro--> || <!--Comments-->2007 64bit 15.4 in 1280 x 800 ( WXGA ) -
|-
| <!--Name-->HP Compaq NC6400 || <!--Chipset-->945GM Core Duo || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|GMA 950 2D issues and no 3d}} || <!--Audio-->{{No|HD Audio AD1981HD}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|BCM }} || <!--Wireless-->{{No|Broadcom locked}} || <!--Test Distro-->Icaros || <!--Comments-->2007 - replaced with Atheros AR5007eg if apply hacked bios RISKY else use USB g -
* 32bit Core Duo T2400
* 64bit Core 2 Duo T5600 T7600
|-
| <!--Name-->HP Compaq NV NC6400 || <!--Chipset-->Core Duo + 945PM || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|use VESA Radeon x1300M (2D)}} || <!--Audio-->{{Maybe|HD Audio with ADI1981 low volume}} || <!--USB-->{{yes}} || <!--Ethernet-->{{no|BCM 5753M}} || <!--Wireless-->{{No|Intel 3945 ABG bios locked}} || <!--Test Distro--> Icaros 1.4.2 || <!--Opinion-->2007 Harmon Kardon speakers
|-
| <!--Name-->HP Compaq NC6320 || <!--Chipset-->945GM with
* 32bit Core Duo 1.83GHz T2400
* 64bit Core2 Duo 1.83GHz T5600
|| <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|GMA 950 2D with a little 3D tunnel 213}} || <!--Audio-->{{Maybe|Intel HD Audio with AD1981HD codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|BCM 5788}} || <!--Wireless-->{{No|Intel 3945 bios locked}} || <!--Test Distro-->Icaros 2 || <!--Comments-->2007 replaced with Atheros AR5007eg if applying hacked wifi bios RISKY!! else use USB - 14.1" or 15 inch XGA 1024x768 - noisy cpu fan for core2 - trackpad rhs acts as window scroller -
|-
| <!--Name-->HP NC4400 TC4400 Tablet || <!--Chipset-->Core Duo with 82945 chipset || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|bios F.07 limits to 100GB 120GB}} || <!--Gfx-->{{yes|2D and 3D 282 tunnel and gearbox 150}} || <!--Audio-->{{Yes|HD Audio with ADI 1981HD codec via ear phones}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{No|BCM 5753M}} || <!--Wireless-->{{No|Intel 3945 or BCM 4306 - Whitelist BIOS F.0C needed but risky}} || <!--Test Distro-->2017 Icaros 2.1.2 || <!--Comments-->2008 64 bit possible with Core2 - TI SD card reader non bootable - wacom serial digitiser pen not working -
* 32bit 1.86GHz core duo
* 64bit 2Ghz T7200, 2.16Ghz Core 2 Duo T7600 2.33GHz
|-
| <!--Name-->HP Pavilion DV2000 CTO || <!--Chipset-->945GMS || <!--IDE--> || <!--SATA--> || <!--Gfx-->GMA 950, X3100, Nvidia 8400M || <!--Audio-->HD Audio Conexant CX 20549 Venice || <!--USB--> || <!--Ethernet-->Nvidia MCP51 || <!--Wireless-->{{No|Broadcom BCM 4311 or Intel 3945 4965 ABG bios locked}} || <!--Test Distro--> || <!--Comments-->2008 Atheros AR5007eg if apply hacked bios RISKY
|-
| <!--Name-->Compaq Presario C700 || <!--Chipset-->GMA960 || <!--IDE--> || <!--SATA--> || <!--Gfx-->X3100 || <!--Audio-->HD Audio || <!--USB--> || <!--Ethernet-->RTL 8139 || <!--Wireless-->{{Maybe|Atheros AR5007 AR5001 AR242x}} || <!--Test Distro--> || <!--Comments-->2008
|-
| <!--Name-->Compaq 2510p 6510b 6710b 6910b || <!--Chipset-->GMA 965GM GL960 || <!--IDE-->{{yes| }} || <!--SATA--> || <!--Gfx-->{{yes|X3100 some 2d but slow software 3d only}} || <!--Audio-->{{maybe|HD Audio ADI AD1981 HD low volume on head phones}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no|Intel 82566 or Broadcom BCM 5787M}} || <!--Wireless-->{{No|Intel 3945ABG or 4965ABG bios locked}} || <!--Test Distro-->Aspire OS Xenon 2014 || <!--Comments-->2008 no sd card boot support - F9 to choose boot option - [http://forums.mydigitallife.info/threads/7681-This-is-no-request-thread!-HP-COMPAQ-bioses-how-to-modify-the-bios/page111?p=333358#post333358 whitelist removal (risky) bios block for wifi card swap]
|-
| <!--Name-->CQ40 CQ41 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|VESA Intel}} || <!--Audio-->HD Audio || <!--USB--> || <!--Ethernet-->Realtek RTL8101E || <!--Wireless-->{{No|Broadcom BC4310 bios locked}} || <!--Test Distro--> || <!--Comments-->2008
|-
| <!--Name-->Compaq Presario CQ35 CQ36 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|VESA }} || <!--Audio--> || <!--USB--> || <!--Ethernet-->Realtek RTL8101E RTL8102E || <!--Wireless-->{{No|Broadcom BCM4312 bios locked}} || <!--Test Distro--> || <!--Comments-->2008 Compal LA-4743P -
|-
| <!--Name-->HP Compaq CQ42 CQ43 CQ45 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|VESA }} || <!--Audio-->HD Audio with Coxenant codec || <!--USB--> || <!--Ethernet-->Realtek || <!--Wireless-->{{No|Realtek RTL8191SE, Realtek 8188CE}} || <!--Test Distro--> || <!--Comments-->2008 (Quanta AX1)
|-
| <!--Name-->Compaq Presario CQ50 CQ56 || <!--Chipset-->Nvidia MCP78S || <!--IDE--> || <!--SATA--> || <!--Gfx-->Geforce 8200M || <!--Audio-->nVidia HD Audio with codec || <!--USB--> || <!--Ethernet-->nvidia MCP77 || <!--Wireless-->{{unk|Atheros AR928X bios locked}} || <!--Test Distro--> || <!--Comments-->2008 [http://donovan6000.blogspot.co.uk/2013/06/insyde-bios-modding-wifi-and-wwan-whitelists.html bios modding risky] MCP72XE MCP72P MCP78U MCP78S
|-
| <!--Name-->CQ60 || <!--Chipset-->Single core Sempron to dual turion || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|VESA for Nvidia 8200M}} || <!--Audio-->{{yes|HD Audio}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{No| bios locked}} || <!--Test Distro--> || <!--Comments-->2008
|-
| <!--Name-->HP DV6700 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{no|Vesa for Nvidia 8400M}} || <!--Audio-->{{no| }} || <!--USB-->{{no| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{No|Intel }} || <!--Test Distro--> || <!--Comments-->2008 64bit -
|-
| <!--Name-->CQ60 || <!--Chipset-->Intel C2D || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|VESA for Nvidia 9200M}} || <!--Audio-->{{yes|HD Audio}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{No| bios locked}} || <!--Test Distro--> || <!--Comments-->2009 64bit -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->CQ57z || <!--Chipset-->AMD slow E-300 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{Maybe|VESA ATi HD 6310 wrestler}} || <!--Audio-->{{unk| }} || <!--USB-->{{yes| }} || <!--Ethernet-->{{maybe|Realtek RTL8101 RTL8102}} || <!--Wireless-->{{No|RaLink RT5390}} || <!--Test Distro--> || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->HP CQ58z 103SA E5K15EA || <!--Chipset-->AMD slow Dual-Core E1-1500 APU with A68M FCH || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{Maybe|VESA 2D for Radeon HD 7310}} || <!--Audio-->Realtek idt codec || <!--USB-->{{yes| }} || <!--Ethernet-->{{yes|Realtek 10/100 BASE-T}} || <!--Wireless-->{{No|Broadcom}} || <!--Test Distro--> || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - 39.6 cm (15.6") HD BrightView LED-backlit (1366 x 768)
|-
| <!--Name-->HP 635 DM1 || <!--Chipset-->AMD slow E-300, E-450 later E2-1800 on SB7x0 SB8x0 SB9x0 || <!--IDE-->{{N/A}} || <!--SATA-->ATI non efi SATA AHCI - IDE mode || <!--Gfx-->{{Maybe|use VESA 2D - AMD HD6310, 6320 to HD7340}} || <!--Audio-->{{Yes|Realtek ALC270A GR but not Wrestler HDMI Audio}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{Yes|rtl8169 driver covers Realtek RTL8101E RTL8102E}} || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - 14" 1366 x 768 - f9 f10 - external battery - 2 stacked ddr3l sodimm slots max 16Gb under one base plate - removable keyboard -
|-
| <!--Name-->HP G6 2000-2b10NR 2000-2d10SX 2000-2d80NR || <!--Chipset-->AMD very slow E1-2000 E2-3000M on A50M (soldered) A4-3305A on A60M (socket) || <!--IDE-->{{N/A}} || <!--SATA-->2.5in || <!--Gfx-->{{Maybe|VESA AMD Radeon 6320, 6620G, 6520G, 6480G, 6380G}} || <!--Audio-->{{No| }} || <!--USB-->{{No| }} || <!--Ethernet-->{{maybe|Realtek 100 1000}} || <!--Wireless-->{{No|Realtek}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - 39.6-cm (15.6-in) HD LED BrightView (1366×768) - 1 or 2 ddr3l max 8G - 19VDC 3.42A Max 65W Tip 7.4mm x 5.0mm -
|-
| <!--Name-->HP ProBook 6465B || <!--Chipset-->AMD massively slow A6-3310MX or A6-3410MX with A60M || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA AMD 6480G or 6520G}} || <!--Audio-->{{No|IDT 92HD81B1X}} || <!--USB-->{{No| }} || <!--Ethernet-->{{maybe|rtl8169 Realtek 8111}} || <!--Wireless-->{{No|Intel AC 6205 or broadcom 4313 bios locked}} || <!--Test Distro--> || <!--Comments-->2013 64bit does not support AVX or SSE 4.1 - 13-inch or 14-inch runs hot -
|-
| <!--Name-->HP Elitebook 8470p 8570p || <!--Chipset-->Intel Quad i7-3840QM, i7-3610QM, i7-3520M, i5-3210M, i3-3130M, i3-2370M on Intel QM77 chipset || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|set the bios boot options to not fastboot and drive mode IDE rather than AHCI }} || <!--Gfx-->{{Maybe|Vesa 2d for HD4000 with some having switchable Radeon M2000 or 7570M}} || <!--Audio-->{{yes|HDAudio for IDT codec}} || <!--USB-->{{yes|USB2}} || <!--Ethernet-->{{No|Intel 82579LM }} || <!--Wireless-->{{No|Intel, Broadcom, Atheros}} || <!--Test Distro-->64 bit boots from CD* if safe mode 2 is used, although it is possible to remove the 'nodma' and 'debug' entries and boot || <!--Comments-->2013 64bit with SSE4.1 and AVX - 14in 1600 x 900 to 1366 x 768 - 2 DDR3L sodimm slots max 16Gb - TPM 1.2 - dual boot 32/64 bit is working fine -
|-
| <!--Name-->HP ProBook 6475b, Probook 4445s 4545s, HP Pavilion 15-b115sa, [https://support.hp.com/gb-en/document/c04015674#AbT6 HP mt41 Mobile Thin Client PC] || <!--Chipset-->AMD very slow A4 4300M, A6 4400M 4455M or A8 4500M with AMD A70M A76M FCH || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA 7420 7520G 7640G 7660G}} || <!--Audio-->{{no|HD Audio with idt or realtek codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{No|Realtek RTL8151FH-CG}} || <!--Wireless-->{{No|Intel 6205 or Broadcom BCM 43228 bios locked}} || <!--Test Distro--> || <!--Comments-->2014 64bit does support AVX or SSE 4.1 - 15.6-inch -
|-
| <!--Name-->HP ENVY 15-k112nl K1Y78EA || <!--Chipset-->Intel® Core™ i7 i7-4510U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe| }} || <!--Gfx-->Intel HD4400 and/without NVIDIA® GeForce® GTX 850M || <!--Audio-->{{maybe| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{no| }} || <!--Test Distro-->Deadwood usb3 test iso || <!--Comments-->2014 64bit - 15.6" 768p to 1080p - 19.5V 3.33A/4.62A/6.15A 65W/90W/120W AC -
|-
| <!--Name-->HP ProBook 255 G1, 455 G1 F2P93UT#ABA, 645 G1, Envy 15-j151ea G7V80EA, Envy m6-1310sa (E4R01EA#ABU) || <!--Chipset-->AMD very slow Dual-Core E1-1500, or AMD Quad A4-4300M A8-4500M A10-4600M A4-5150M A6-5350M 2.9Ghz A10-5750M || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA 2D for 7310, 7420G 7520G 7640G 7660G 8350G 8450G or 8550G, 8650G, 8750G }} || <!--Audio-->{{No|HD Audio IDT 92HD91 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|realtek}} || <!--Wireless-->{{No|Atheros}} || <!--Test Distro--> || <!--Comments-->2015 64bit does support AVX or SSE 4.1 - 14in and 15in 1366 x 768 - external battery - 2 ddr3l sodimm slots - 19.5v / 4.62A psu runs hot -
|-
| <!--Name-->HP ProBook 245 G4, 255 G2, 455 G2, 255 G3, 455 G3, 255 G4 80CB, 255 G5 82F6, 355 G2, HP Pavilion 15-p038na 15-g092sa 15-p091sa 15-G094S 15-p144na 15-p142na, 15-Af156sa || <!--Chipset-->AMD very slow A4-5000 A6-5200, E2-6110, E1-6010 E2-2000, E1-2100 E2-3800, A4-6210 A6-6310 A8-6410, E2-7110, A6-7310 A8-7410 APU on A68M || <!--IDE-->{{N/A}} || <!--SATA-->sata some with cdrw dvdrw || <!--Gfx-->{{Maybe|VESA Radeon R2 R4 R5}} || <!--Audio-->{{no|HD Audio ALC3201-GR}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 RTL8102E or Atheros 1GbE}} || <!--Wireless-->{{unk|Qualcomm Atheros AR9565}} || <!--Test Distro--> || <!--Comments-->2015 64bit most have SSE4 AVX but E2-2000 does not - 15.6-inch (1366 x 768) - 2 ddr3l sodimm slots - small 31Whr or 41Whr external battery covers 240 G4, 245 G4, 250 G4, 255 G4, 256 G4, 14G, 15G - keyboard repair swap requires removal of all components -
|-
| <!--Name-->HP Elitebook 725 G2, 745 G2, 755 G2 || <!--Chipset-->Amd Quad very slow A6-7050B A8-7150B 1.9GHz A10-7350B || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA on AMD R4 R5 Radeon R6 with DP and vga}} || <!--Audio-->{{No|HD audio with IDT 92HD91}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 PCIe GBE}} || <!--Wireless-->{{no|Broadcom or Atheros}} || <!--Test Distro--> || <!--Comments-->2016 64bit - 12.5-inch, 14" or 15.6in (all 1366 x 768) - 19.5V 65w 45W AC adapter - internal pull up tab battery under base which slides off - 2 ddr3l sodimm slots - keyboard swap requires removal of all components -
|-
| <!--Name-->HP ProBook 645 g2, Probook 445 G2, Probook 245 G2 most have cmos rtc battery || <!--Chipset-->AMD very slow A6-8600 A8-8700 a10- || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA 2D for Radeon R5 R6}} || <!--Audio-->{{No|HD Audio }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{No|Intel I219V 100/1000}} || <!--Wireless-->{{No|Intel or Qualcomm Atheros}} || <!--Test Distro--> || <!--Comments-->2016 64bit - 14in and 15.6-inch HD (1366 x 768) or FHD 1080p - 2 ddr3l sodimm slots max 16GB - internal battery - hp ac psu tip -
|-
| <!--Name-->HP Probook 455 G3 should have a cmos battery || <!--Chipset-->AMD slow A10-8700P || <!--IDE-->{{N/A}} || <!--SATA-->1 2.5in sata and most should have 9.5mm dvd-rw || <!--Gfx-->{{Maybe|VESA 2D for Radeon R5}} || <!--Audio-->{{No|HDAudio with Conexant CX7501 codec }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111HSH-CG}} || <!--Wireless-->{{no|RTL8188EE }} || <!--Test Distro--> || <!--Comments-->2016 64bit - 2 ddr3l sodimm slots - keyboard swap problematic -
|-
| <!--Name-->HP Elitebook 725 G3, 745 G3, 755 G3, 725 G4, 745 G4, 755 G4, HP mt43 || <!--Chipset-->Amd slow A8-8600B, A10-8700B, A12-8800B to Quad A8 Pro 9600B to A10 9800 || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA on AMD R5 R6 R7 with DP and vga but screen is low res, dull colours, and blurry}} || <!--Audio-->{{No|HD audio with IDT codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{No|Broadcom 5762 PCIe GBE}} || <!--Wireless-->{{no|Realtek RTL8723BE-VB}} || <!--Test Distro--> || <!--Comments-->2016 64bit - 12.5-inch (1366 x 768) to 14" and 15.6in - 2 sodimm ddr3 - 19.5V 45W AC slim 4.5mm hp adapter - randomly shuts down and the noisy fans constantly on - keyboard swap problematic -
|-
| <!--Name-->HP ProBook 645 G3, 655 G3 should have a cmos rtc battery underside of mb || <!--Chipset-->AMD 8th Gen slow A10-8730B, A8-9600B (4c4t) A6-8530B (2c2t) || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA 2d for AMD R5}} || <!--Audio-->{{No|HD Audio}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 RTL8111HSH}} || <!--Wireless-->{{No|Intel or Realtek}} || <!--Test Distro--> || <!--Comments-->2016 64bit - 15.6in - 2 ddr4 sodimm slots - keyboard repair swap requires removal of all components -
|-
| <!--Name-->HP ProBook 250 G5 easy cmos and external main battery || <!--Chipset-->Intel i7-6500U, i5-6200U, i3-6100U to slow i3-6006U, N3710 all sse4.1 and avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe| }} || <!--Gfx-->{{maybe|VESA 2D for iGPU Intel HD405 to HD520 dGPU or AMD Radeon R5 430M}} || <!--Audio-->{{unk|HDAudio with Realtek ALC3227 (or ALC282) codec 0x0282 }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 rtl8111HSH}} || <!--Wireless-->{{no| }} || <!--Test Distro-->Deadwoods' latest usb3 test iso with noacpi || <!--Comments-->2016 64bit - 15.6 inch 768p - HP ac psu - 2 ddr4 sodimm slots -
|-
| <!--Name-->HP ProBook 250 G6 SL52 LA-E801P - easy cmos battery and external battery || <!--Chipset-->Intel tested '''7200U''' untested 7500U to slow N3060 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|ahci on M.2 sata or 2.5in whichever installed with 1 m.2 permanent and internal dvdrw}} || <!--Gfx-->{{Maybe|VESA 2D for Intel Intel HD Graphics 620 or AMD Radeon 520}} || <!--Audio-->{{yes|HDAudio 0x8086, 0xa170 or 0x8086, 0x9dc8 with ALC3227 aka ALC282 codec 0x10EC, x0282}} || <!--USB-->{{maybe|intel sunrise point-lp USB3.0 xHCI}} || <!--Ethernet-->{{yes|rtl8169 Realtek RTL8111}} || <!--Wireless-->{{No|RTL8821CE or Intel wifi}} || <!--Test Distro-->Deadwoods' latest usb3 test iso with noacpi || <!--Comments-->2017 64bit 768p or 1080p - 19.5V 65W - 2 DDR4 sodimm slots max 16Gb - keyboard swap problematic - synaptics touchpad - poor hinges -
|-
| <!--Name-->HP Pavilion 14-BS, HP 15-BS LA-E802P cmos battery and external battery || <!--Chipset-->Intel i3-7200U to slow Celeron || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata 2.5in (possibly requires the drive cable and M.2 sata3, most have no cdrw dvdrw}} || <!--Gfx-->{{Maybe|VESA 2d for Intel}} || <!--Audio-->{{No|HDAudio 0x8086, 0x9d70 with ALC codec 0x10EC, x0}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek rtl8169}} || <!--Wireless-->{{No|RTL8188CTV, RTL8821CE or Intel Dual Band Wireless-AC 3168}} || <!--Test Distro-->Deadwoods' latest usb3 test iso || <!--Comments-->2017 64bit 768p all - 19.5V 65W - DDR4 slot max 8Gb - keyboard swap problematic - synaptics touchpad -
|-
| <!--Name-->HP 14-bw022na - cmos coin battery and external battery || <!--Chipset-->AMD very slow A6-9120 APU || <!--IDE-->{{N/A}} || <!--SATA-->m.2 sata || <!--Gfx-->{{Maybe|VESA 2D for R3}} || <!--Audio-->{{no|HDAudio VOID with conexant CX7501 codec}} || <!--USB-->{{maybe|USB3 not working but port on the right works}} || <!--Ethernet-->{{yes|Realtek GbE}} || <!--Wireless-->{{No|Realtek}} || <!--Test Distro-->Deadwoods' latest usb3 test iso with noacpi || <!--Comments-->2017 64bit 768p to 900p - keyboard swap problematic -
|-
| <!--Name-->HP Probook 455 G4, Probook 455 G5, cmos battery on underside of mb take off back cover and below wifi card || <!--Chipset-->AMD very slow A10-9600P APU, A9-9410, A6-9210 APU || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA Radeon R4, R5 or R6}} || <!--Audio-->{{No|HD }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|realtek 1GbE}} || <!--Wireless-->{{no|realtek or intel Wireless-AC 7265}} || <!--Test Distro--> || <!--Comments-->2017 64bit 15.6in 768p - 2 ddr4 sodimm slots - keyboard swap problematic - rr03xl battery -
|-
| <!--Name-->HP ProBook 255 G6 (), easy cmos and external battery || <!--Chipset-->AMD very slow E2-9000e, A9-9420, 9220P, A4-9125 (all 2c) AMD A6-9225 AMD A9-9425 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata 2.5in (possibly requires the drive cable and M.2 sata3 and internal cdrw dvdrw}} || <!--Gfx-->{{Maybe|VESA 2d for R2 R3 R4}} || <!--Audio-->{{No|HDAudio 0x1022, 0x157a or 0x1002, 0x15b3 with ALC codec 0x10EC, x0}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek rtl8169}} || <!--Wireless-->{{No|RTL8188CTV, RTL8821CE or Intel Dual Band Wireless-AC 3168}} || <!--Test Distro--> || <!--Comments-->2017 64bit 768p all - 19.5V 65W - DDR4 slot max 8Gb - keyboard swap problematic - synaptics touchpad -
|-
| <!--Name-->HP ProBook 255 G7 (la-g078p) - no cmos battery so needs internal battery || <!--Chipset-->AMD very slow E2-9000e, A9-9420, 9220P, A4-9125 (all 2c) AMD A6-9225 AMD A9-9425 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata 2.5in (possibly requires the drive cable and M.2 sata3, most have no internal cdrw dvdrw}} || <!--Gfx-->{{Maybe|VESA 2d for R2 R3 R4}} || <!--Audio-->{{No|HDAudio 0x1022, 0x157a or 0x1002, 0x15b3 with ALC codec 0x10EC, x0}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek rtl8169}} || <!--Wireless-->{{No|RTL8188CTV, RTL8821CE or Intel Dual Band Wireless-AC 3168}} || <!--Test Distro--> || <!--Comments-->2017 64bit 768p all - 19.5V 65W - DDR4 slot max 8Gb - keyboard swap problematic - synaptics touchpad -
|-
| <!--Name-->ProBook 245 g8 - no cmos rtc coin battery but uses internal battery || <!--Chipset-->AMD very slow A6-9225, A4-9125, A6-8350B, A4-5350B APU || <!--IDE-->{{N/A}} || <!--SATA-->m.2 sata || <!--Gfx-->{{Maybe|VESA R4 R6}} || <!--Audio-->{{no|HDAudio}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek GbE}} || <!--Wireless-->{{No|Realtek}} || <!--Test Distro-->Deadwoods' latest usb3 test iso || <!--Comments-->2017 64bit 768p - many later variants - keyboard swap problematic -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Probook 255 G7 84AE 7DE72EA 7DE73EA (epv51 la-g076p) - CMOS Error (502) replace main internal battery HT03XL to have bios remember settings || <!--Chipset-->Ryzen 3 2200U 2300U (2c4t), R5 2500U, R7 2700U (4c8t) Raven Ridge || <!--IDE-->{{N/A}} || <!--SATA-->{{no|M.2 (Sata or NVMe) and very optional 2.5in sata, most have mini sata port}} || <!--Gfx-->{{Maybe|VESA 2d 640p to 768p for AMD Vega 3, 6, or 8}} || <!--Audio-->{{unk|HDAudio 0x1022, 0x15e3 with ALC236 0x10ec, 0x0236 codec}} || <!--USB-->{{maybe|USB3 }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no|Realtek RTL8821CE, 8822BE or Intel AC 8265}} || <!--Test Distro-->AROS x64 deadwoods' iso does not boot with cd/dvd and installed to 2.5in ssd, boots to grub choice, select but no further and reboots || <!--Comments-->2017 64bit - 12.5 to 15.6in 768p mostly to 1080p - 1 on smaller laptops or 2 ddr4 2400mhz sodimm slots on larger laptops max 16Gb - hp 4.5mm blue tip charging - keyboard swap problematic - esc boot options f9 boot order f10 bios - synaptics touchpad -
|-
| <!--Name-->HP EliteBook 725 G5, 735 G5, 745 G5, 755 G5, Probook 455 G6, ProBook 645 G6 || <!--Chipset-->Ryzen 3 2200U 2300U (2c4t), R5 2500U, R7 2700U (4c8t) Raven Ridge || <!--IDE-->{{N/A}} || <!--SATA-->{{no|M.2 (Sata or NVMe) and very optional 2.5in sata, some have mini sata port but no cdrw dvdrw}} || <!--Gfx-->{{Maybe|VESA 2d 640p to 768p for AMD Vega 3, 6, or 8}} || <!--Audio-->{{No|HDAudio 0x1022, 0x15e3 with ALC 0x10ec, 0x0 codec}} || <!--USB-->{{maybe|USB3 }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no|Realtek RTL8821CE, 8822BE or Intel AC 8265}} || <!--Test Distro-->Deadwoods' latest usb3 test iso does not boot software error || <!--Comments-->2017 64bit - 12.5 to 15.6in 768p mostly to 1080p - 1 on smaller laptops or 2 ddr4 2400mhz sodimm slots on larger laptops max 16Gb - hp 4.5mm blue tip charging - keyboard swap problematic - esc boot options f9 boot order f10 bios - synaptics touchpad -
|-
| <!--Name-->HP 14-cm, 15-bw0, HP 15-db0043na, HP 15-db0996na, HP 15-db0997na, 17-ca0007na, 17-ca1, ProBook 645 G4 - no cmos battery || <!--Chipset-->Ryzen 2200U (2c 4t) 2500U (4c 8t) with AMD Carrizo FCH 51 || <!--IDE-->{{N/A}} || <!--SATA-->{{no|1 M.2 and 1 2.5in on some larger models and hdd port }} || <!--Gfx-->{{Maybe|VESA Radeon R5 and later Vega 3 or 7}} || <!--Audio-->{{No|HDaudio 0x1002, 0x103c or 0x1022, 0x157a with Realtek ALC3227 0x10ec, 0x0282 but ATI HDMI}} || <!--USB-->{{Maybe|USB3 USB boot drive stuck on kitty's eyes}} || <!--Ethernet-->rtl8169 RTL8111E || <!--Wireless-->{{No|RTL 8723DE 8821 bios locked}} || <!--Test Distro-->2020 Icaros 2.3 USB, Deadwoods' latest usb3 test iso does not boot software error || <!--Comments-->2018 64bit 2kg - screen is dim 14in, 15.6in or 17.3" 768p or 1080p - 65W 19.5V ac adapter - internal 3-cell 41 Wh Li-ion battery does not last long - 2 ddr4 sodimm slots - no DVD-Writer - keyboard swap problematic -
|-
| <!--Name-->HP ProBook 250 G7, 250 G8 - no cmos battery so needs internal battery and needs usb3 boot due to garbage bios boot options || <!--Chipset-->Intel 8235U 8265U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|M.2 nvme not working, optional sata 2.5in requires LS-G072P and ribbon cable, if internal cdrw dvdrw partial boot}} || <!--Gfx-->{{Maybe|VESA 2D for Intel WhiskeyLake-U 620 GT2 UHD}} || <!--Audio-->{{No|HDAudio 0x8086, 0xa170 or 0x8086, 0x9dc8 with ALC236 codec 0x10EC, x0236}} || <!--USB-->{{maybe|Cannon Point-LP USB3.1 xHCI}} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111}} || <!--Wireless-->{{No|RTL8821CE or Intel Dual Band Wireless-AC 3168}} || <!--Test Distro-->Deadwoods' latest usb3 test iso does not boot stuck on kittys eyes || <!--Comments-->2018 64bit 1080p all - 19.5V 65W - DDR4 slot max 16Gb - keyboard swap problematic - synaptics touchpad -
|-
| <!--Name-->HP 255 G7 7DC73EA 2D200EA 87CE (fpp55 la-g07jp), - CMOS Error (502) replace 41.04Wh ht03xl hto3xl dynapack suzhou main battery to have bios remember settings || <!--Chipset-->'''tested''' R5 3500U (4c8t) '''untested''' mostly dual cores - AMD Athlon Gold 3150U (2c2t), Silver 3050U APU (2c2t), Ryzen 3 Pro 3145U APU, 3200U (2c4t) || <!--IDE-->{{N/A}} || <!--SATA-->{{no|1 m.2 NVMe or sata3 up to 2280, optional 2.5in sata, many have mini-sata slimline 6+7 internal port but no physical 9mm drive}} || <!--Gfx-->{{Maybe|VESA 2D from 640p to 1080p for AMD Vega 3, 6 or 8 with up to 2gb ram taken}} || <!--Audio-->{{unk|HDAudio 0x1022, 0x15e3 with realtek ALC236 codec 0x10ec, 0x0236}} || <!--USB-->{{maybe|USB3 but no usb-c}} || <!--Ethernet-->{{maybe|rtl8169 Realtek GbE RTL8111HSH}} || <!--Wireless-->{{No|Realtek 8822BE}} || <!--Test Distro-->2025 Aros One 32bit and 64bit burnt iso does not fully boot (stuck on kitty's eyes) and installed onto 2.5in on another compatible computer, sometimes has dosboot bootstrap error -6 || <!--Comments-->2018 64bit - 14in / 15.6in dim tn panel 768p or 1080p - 2 ddr4 sodimm slots max 16gb - hp 19.5V 45W 65W AC blue tip round 4.5 mm - keyboard swap problematic - synaptics touchpad - caps lock blinking 3 times then 2 quick pulses means ram or bios issue - f9 boot order f10 uefi - laptop needs usb3 to boot and use so avoid until usb3 arrives
|-
| <!--Name-->HP ProBook 450 G5 needs main battery for bios settings saved || <!--Chipset-->Intel i7-8550U, i5-8250U, i3-8130U, i7-7500U, i5-7200U, i3-7100U, i3-7020, i3-6006U all sse4.1 and avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe| }} || <!--Gfx-->{{maybe|VESA 2D for Intel UHD}} || <!--Audio-->{{unk|HDAudio with codec }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 rtl8111HSH}} || <!--Wireless-->{{no| }} || <!--Test Distro-->Deadwoods' latest usb3 test iso with noacpi || <!--Comments-->2018 64bit - 15.6 inch 768p or 1080p - HP ac psu, 1 ddr4 sodimm slot -
|-
| <!--Name-->[https://support.hp.com/gb-en/document/c06955717 ProBook 245 g8], Probook 445R G6, 455R G6, HP14-dk0599sa, pavilion 15-cw1511na 15-cw1507sa, HP 15s-eq1516sa no cmos battery || <!--Chipset-->AMD Athlon Gold 3150U (2c2t), Silver 3050U APU (2c2t), Ryzen 3 Pro 3145U APU, 3200U (2c4t) and 3500U (4c8t) || <!--IDE-->{{N/A}} || <!--SATA-->{{no|1 m.2 (NVMe or sata3 up to 2280), optional 2.5in sata but resets}} || <!--Gfx-->{{Maybe|VESA 2D from 640p to 1080p for AMD Vega 3, 6 or 8 with up to 2gb ram taken}} || <!--Audio-->{{unk|HDAudio 0x1022, 0x15e3 with realtek ALC codec 0x10ec, 0x0}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 Realtek GbE RTL8111HSH}} || <!--Wireless-->{{No|Realtek 8822BE}} || <!--Test Distro-->Aros || <!--Comments-->2018 64bit - 14in / 15.6in dim tn panel 768p or 1080p - 2 ddr4 sodimm slots max 16gb - hp 19.5V 45W 65W AC blue tip round 4.5 mm - keyboard swap problematic - synaptics touchpad - f9 boot order f10 uefi
|-
| <!--Name-->HP ProBook 450 G6 needs main battery for bios settings saved || <!--Chipset-->Intel i7-8565U, i5-8265U, i3-8165U all sse4.1 and avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe| }} || <!--Gfx-->{{maybe|VESA 2D for Intel UHD 620}} || <!--Audio-->{{unk|HDAudio with Realtek ALC3246 aka ALC295 codec }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 rtl8111HSH}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2019 64bit - 15.6 inch 768p or 1080p - 45W 19.5V HP ac psu - 2 ddr4 sodimm slots -
|-
| <!--Name-->Elitebook 735 G6 5VA23AV, Elitebook 745 G6, 255 g8, HP 15s-dy - no cmos battery || <!--Chipset-->AMD® Ryzen™ 5-3500U Ryzen 3-3300U AMD Ryzen 3-3250U AMD Athlon® Gold 3150U AMD Athlon Silver 3050U AMD 3020e || <!--IDE-->{{N/A}} || <!--SATA-->{{no|m.2 2280 nvme in legacy - hp sure start and secure boot disabled but still issues with gpt installs - LS-H323P LS-K201P}} || <!--Gfx-->{{Maybe|VESA for Vega 8, 5 or 3}} || <!--Audio-->{{No|HDAudio 6.34 ahi with realtek ALC codec 0x10EC, 0x0295}} || <!--USB-->{{maybe|USB3 type-A port boots stick partially to kitty eyes}} || <!--Ethernet-->{{Maybe|rtl8169 realtek RTL8111E or 8111H}} || <!--Wireless-->{{No|realtek or intel}} || <!--Test Distro-->2020 Icaros 2.3 onto USB and AROS One 1.8 USB, Deadwoods' latest usb3 test iso with noacpi || <!--Comments-->2019 64bit - 15.6in 1366x768 to 1920x1080 - 2 3200MHz DDR4 sodimms - 19.5V 2.31A or 20V 2.25 45W 4.5X3.0MM hp - esc bios setup, f9 boot device select - low travel keyboard - poor hw03xl or battery life - plastic hooked base with retained screws - touchpad? -
|-
| <!--Name-->HP ProBook 445 G7, 455 G7 || <!--Chipset-->Ryzen 3 4300U 5 4500U 4700U || <!--IDE-->{{N/A}} || <!--SATA-->1 sata and 1 nvme || <!--Gfx-->{{Maybe|VESA Vega 3}} || <!--Audio-->{{unk|HDAudio with realtek alc236 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|realtek rtl8111ep}} || <!--Wireless-->{{No|realtek RTL8822CE or intel AC 9260 or Wi-Fi 6 AX200}} || <!--Test Distro-->Deadwoods' latest usb3 test iso || <!--Comments-->2020 64bit - 14 inch 768p or 1080p - 2 ddr4 sodimm slots - smart 45w 65w hp or usb-c charging - keyboard swap problematic - RE03XL battery -
|-
| <!--Name-->HP ProBook 450 G7 || <!--Chipset-->Intel || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe| }} || <!--Gfx-->{{maybe|VESA 2D for Intel UHD}} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 rtl8111EP}} || <!--Wireless-->{{no| }} || <!--Test Distro-->Deadwoods' latest usb3 test iso with noacpi || <!--Comments-->2020 15.6 inch 768p or 1080p - 1 ddr4 sodimm slot -
|-
| <!--Name-->HP EliteBook 745 G7, 845 G7, HP 15-EH0006NA || <!--Chipset-->AMD Ryzen 3 4300U, 5 4500U, PRO 4650U || <!--IDE-->{{N/A}} || <!--SATA-->SSD M.2 || <!--Gfx-->{{Maybe|VESA AMD Radeon Vega 8}} || <!--Audio-->{{unk|Hdaudio with codec 0x10EC, 0x0257}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2020 64bit - 15.6in 1080p - 1 ddr4 sodimm slot - Bang & Olufsen speakers - keyboard swap problematic -
|-
| <!--Name-->HP ProBook 255 G8, HP 245 G9, ProBook 255 G9 816C2EA#ABE, - no cmos battery only internal battery || <!--Chipset-->AMD RYZEN 3 5300u, 5425U, 5 5500U 5625U, 7 5700u || <!--IDE-->{{N/A}} || <!--SATA-->{{no|NVMe}} || <!--Gfx-->{{Maybe|VESA AMD Vega 6 or 8 hdmi 1.4B}} || <!--Audio-->{{unk|HDAudio}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111HSH-CG GbE}} || <!--Wireless-->{{No|Realtek RTL8822CE or Intel}} || <!--Test Distro--> || <!--Comments-->2021 64bit - 14" to 15.6in 768p to 1080p poor gamut - 45 or 65w hp psu - 2 ddr4 sodimm slots max 16GB - keyboard swap problematic -
|-
| <!--Name-->HP ProBook 450 G9 || <!--Chipset--> || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe| }} || <!--Gfx-->{{maybe|VESA 2D for Intel Iris Xe}} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 rtl8111H}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2020 15.6 inch - 1 ddr4 sodimm slot -
|-
| <!--Name-->HP EliteBook 645 g7, 835 G8, 845 g8, HP ENVY x360 13 15, HP 17-cp0021na || <!--Chipset-->AMD Ryzen 5 5650U, 7 5800U, R7 Pro 5850U || <!--IDE-->{{N/A}} || <!--SATA-->NVMe || <!--Gfx-->{{Maybe|VESA 2D for AMD Radeon}} || <!--Audio-->{{unk|HDAudio 0x, 0x with ALC3247 aka ALC236 codec 0x10ec, 0x0236}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{Maybe|Realtek 1Gbe on 645 only}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2021 64bit - 13.3" or 14" 1080p - poor screens low nits and srgb score - 845 gets hot ue to poor cooling - slim round hp ac - keyboard swap problematic -
|-
| <!--Name-->HP Dev One, HP ProBook 455 G8 || <!--Chipset-->AMD Ryzen 7 5800U, R7 5850U || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|VESA }} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit 15.6" 1080p - 2 internal sodimm slots - hp barrel charging -
|-
| <!--Name-->Elitebook 655 g9 669y1ut#aba, || <!--Chipset-->AMD Ryzen 5 PRO 5675U || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|VESA }} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit 15.6" 1080p - 1 or 2 internal sodimm slots - usb-c charging -
|-
| <!--Name-->HP probook 635 Aero G8 || <!--Chipset-->AMD Ryzen 5 5600U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2921 64bit - 14in 1080p - 2 ddr4 slots - ec chip nuvoton NPCX797HA1B - bios winbond 250256JYEN -
|-
| <!--Name-->HP Elitebook 845 g9 || <!--Chipset-->AMD 6000 series 6850u || <!--IDE-->{{N/A}} || <!--SATA-->M.2 NVMe || <!--Gfx-->{{Maybe|VESA 2D for Vega 8}} || <!--Audio-->{{unk|HDaudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| }}Qualcomm Atheros || <!--Test Distro--> || <!--Comments-->2022 64bit aluminum case - 14in 1080p to 2140p 16:10 poor screen again - 2 internal ddr5 sodimm slots - usb-c ac charging avoid any knocks - keyboard swap problematic -
|-
| <!--Name-->HP ProBook 445 G10, 455 G10 || <!--Chipset-->AMD Ryzen 5 7530U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Vega 7 || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2023 64bit - 15.6in - hp round ac -
|-
| <!--Name-->Hp 455 G11 || <!--Chipset-->AMD Ryzen 3 7335U (4c8t), 5 7535U (6c12t), 7 7735U (8c16t) || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Vega 7 || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 RTL8111HSH}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2023 64bit - 35.6 cm (14.0 in) 1920x1200 or 2560x1600 - usb-c 45w or 65w ac - 2 ddr5 sodimm slots max 32gb -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|}
====IBM/Lenovo====
[[#top|...to the top]]
Build quality (Lowest to highest)
<pre >
iSeries
Edge
Ideapad
Thinkpad - good cases and construction but electronic internals same as anyone else
</pre >
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->Thinkpad 390X 390E (2626) || <!--Chipset-->Neo Magic MM2200 with C400 P2-266 to P3 500MHz || <!--IDE--> || <!--SATA--> || <!--Gfx-->use VESA || <!--Audio-->{{No|256AV or ESS Solo-1}} || <!--USB--> || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->1998 32bit
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Thinkpad 600x || <!--Chipset-->Intel 440BX || <!--IDE-->{{Maybe| }} || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA Neomagic NM2360 MagicMedia 256ZX}} || <!--Audio-->{{No|Crystal CS4297A codec}} || <!--USB--> || <!--Ethernet-->{{N/A| }} || <!--Wireless-->{{N/A| }} || <!--Test Distro-->Icaros 1.3.1 || <!--Comments-->1998 32bit a little support - earlier 600 and 600e were Pentium 2 based
|-
| <!--Name-->Thinkpad X20 (2662-32U) X21 || <!--Chipset-->Intel 440 BX ZX DX || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio-->{{no|AC97 with Cirrus Logic Crystal cs4281}} || <!--USB-->1.1 || <!--Ethernet-->no mini pci intel e100 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2002 32bit
|-
| Thinkpad T20 (2647) T21 (26) T22 || 440BX || {{Maybe| }} || {{N/A}} || {{partial|Savage IX-MV (VESA only)}} || {{no|Cirrus Logic CS 4614/22/ 24/30}} || {{yes|USB 1.1}} || {{yes|Intel PRO 100}} || {{N/A}} || Icaros 1.2.4 || 2002 32bit
|-
| <!--Name-->A21e (2628, 2655) A22e || <!--Chipset-->440MX || <!--IDE--> || <!--SATA--> || <!--Gfx-->Ati rage mobility || <!--Audio-->{{no|AC97 Cs4299 CS4229}} || <!--USB--> || <!--Ethernet-->intel e100 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2002
|-
| Thinkpad T23 (2647) || i810 || {{yes|IDE}} || {{N/A}} || {{maybe|S3 Super Savage IX/C SDR (VESA only)}} || {{maybe|AC'97 CS4299}} || {{yes|USB 1.1}} || {{yes|Intel ICH3 PRO 100 VE}} || {{no|Realtek RTL8180L others with bios hacking risky}} || || 2003 32bit with some support
|-
| <!--Name-->Thinkpad X22 X23 X24 || <!--Chipset-->830 || <!--IDE--> || <!--SATA--> || <!--Gfx-->ATi Mobility M6 LY || <!--Audio-->Ac97 CS4299 || <!--USB-->2 x 1.1 || <!--Ethernet-->Intel Pro 100 || <!--Wireless-->Actiontec Harris Semi Intersil Prism 2.5 (X23 and X24 only) || <!--Test Distro--> || <!--Comments-->2003 32bit with slice Ultrabase X2 -
|-
| <!--Name-->A30 A30p || <!--Chipset-->830 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Ati Radeon M6 || <!--Audio-->AC97 CS 4299 || <!--USB--> || <!--Ethernet-->Intel Pro 100 ve || <!--Wireless-->{{No|Intel 2200 bios locked}} || <!--Test Distro--> || <!--Comments-->2003 32bit
|-
| <!--Name-->A31 A31p R31 R32 T30 || <!--Chipset-->830 || <!--IDE-->{{yes| }} || <!--SATA-->{{N/A| }} || <!--Gfx-->Ati Radeon 7500 or FireGL || <!--Audio-->{{yes|AC97 Intel with AD1881A codec}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{yes| Intel Pro 100 ve}} || <!--Wireless-->{{No|Intel bios locked}} || <!--Test Distro-->[https://forums.lenovo.com/t5/Android-Ecosystem-Developers/AROS-An-operation-system-inside-Android/td-p/1441741 Icaros 1.5.2] || <!--Comments-->2003 32bit Also tested with Icaros 2.0.3.
|-
| Thinkpad X30 (2673) X31 (2884-xx2) X31t || i830 || {{yes}} || {{N/A}} || {{maybe|VESA only Radeon M6 Mobility}} || {{yes|AC97 - AD1981B codec}} || {{yes|USB 1.1}} || {{yes|Intel PRO 100}} || {{no|Cisco Aironet or Intel 2915 but atheros with bios hacking}} || Icaros 1.4 || 2004 32bit sound bit distorted
|-
| <!--Name-->R50e R51 || <!--Chipset-->855M || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|Intel 855M use VESA}} || <!--Audio-->intel AC97 with AD1981B codec || <!--USB--> || <!--Ethernet-->{{Yes|Intel 100 VE}} || <!--Wireless-->{{No|Intel PRO Wireless 2200BG bios locked}} || <!--Test Distro--> || <!--Comments-->2004 32bit -
|-
| IBM Thinkpad T40 (2373) T41 T41p (2379) T42 T42p T43 T43p || Intel 8xx || {{partial|PIO}} || {{N/A}} || {{partial|ATI mobility 7500 9000 (VESA only)}} || {{yes|AC97 playback}} || {{yes|uhci 1.1 and ehci 2.0}} || {{no|e1000}} || {{Maybe|Intel 2200bg bios locked but possible AR5BMB-44 AR5212 FRU 39T0081 mini PCI}} || Icaros 1.2.4 || 2004 32bit 16v IBM plug - Centrino Needs ATA=nodma option - issues with the inner chip of the SMT BGA graphics chip
|-
| Thinkpad X32 || i855 || {{yes|40, 60 or 80GB 2.5" PATA HDD}} || {{N/A}} || {{maybe|VESA only ATI Mobility Radeon 7000 with 16MB}} || {{maybe| Intel AC'97 Audio with a AD1981B codec}} || {{yes|USB}} || {{no|Intel 1000}} || {{no|Intel 2200 but atheros with bios hacking}} || 2016 Icaros 2.1 || 2004 32bit - 12.1" TFT display with 1024x768 resolution; 256 or 512MB PC2700 memory standard (2GB max)
|-
| <!--Name-->Thinkpad X40 X40t by Quanta || <!--Chipset--> || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->{{maybe|Intel 800 (VESA only)}} || <!--Audio-->{{yes|AC97 AD1981B}} || <!--USB-->{{yes}} || <!--Ethernet-->{{no|Intel e1000}} || <!--Wireless-->{{Maybe|Intel but most atheros with bios hacking - difficult though}} || <!--Test Distro--> || <!--Comments-->2004 32bit last IBM design
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Thinkpad X41 (IBM) MT 1864 1865 2525 2526 2527 2528 x41t (Lenovo) MT 1866 1867 || <!--Chipset-->Intel with single core 1.5 1.6 and tablet 1.2GHz || <!--IDE-->{{yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|Intel 915GML 2D}} || <!--Audio-->{{yes|AC97 AD1981B}} || <!--USB-->{{yes}} || <!--Ethernet-->{{no|Broadcom BCM5751M tg3}} || <!--Wireless-->{{Maybe|Intel or MiniPCI Wi-Fi Atheros AR5BMB FRU 39T0081 but ordinary atheros 54meg needs risky bios hacking}} || <!--Test Distro--> || <!--Comments-->2005 32bit - amongst first Lenovo design
|-
| <!--Name-->R52 (most 18xx) || <!--Chipset-->Intel 915 || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|Intel 915GML 2D}} || <!--Audio-->{{yes|AC97 AD1981B}} || <!--USB-->{{yes}} || <!--Ethernet-->{{no|Broadcom}} || <!--Wireless-->{{no|Broadcom bios locked}} || <!--Test Distro--> || <!--Comments-->2005 32bit
|-
| <!--Name-->R52 1846, 1847, 1848, 1849, 1850, 1870 || <!--Chipset-->ATi 200m || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{No|ATI}} || <!--Audio-->{{yes|AC97 AD1981B}} || <!--USB-->{{yes}} || <!--Ethernet-->{{no|Broadcom BCM5751M tg3}} || <!--Wireless-->{{no|Broadcom bios locked}} || <!--Test Distro--> || <!--Comments-->2005 32bit
|-
| <!--Name-->Thinkpad T60 T60P
* 64bit - 6 or 8 is 16:10 on T60/p, eg. 8742-CTO 15.4"
* 32bit - 1 and 2 are 14", 15" 4:3, like 2007-YM3 or 1952-CTO
|| <!--Chipset-->*any* T60/p will take a Core 2 Duo CPU with newer BIOS || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->Intel GMA (2D) with "p" graphics card (ATi V5200 or V5250) || <!--Audio-->{{no|HD Audio}} || <!--USB-->{{yes}} || {{no|e1000e 82573L}} || <!--Wireless-->{{No|Intel ipw3945 ABG but atheros with Middleton's or Zender BIOS hacking risky}} || Icaros 1.4 || <!--Comments-->2006 -
|-
| <!--Name-->X60 x60s x60t tablet || <!--Chipset-->945GMS 940GML || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{yes|Intel GMA (2D)}} || <!--Audio-->{{no|AD1981 HD Audio}} || <!--USB-->{{yes}} || <!--Ethernet-->{{no|Intel}} || <!--Wireless-->{{no|Intel 3945 ABG or fru 39T5578 Atheros 5K AR5BXB6 ar5007eg with bios hacking}} || <!--Comments-->Icaros 1.4 || 2006 32bit - perhaps needs a zendered bios update but risky
|-
| <!--Name-->R60 R60e || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->intel 950 with optional radeon x1300 x1400 || <!--Audio-->HD Audio with 1981HD codec || <!--USB--> || <!--Ethernet-->Intel or Broadcom || <!--Wireless-->{{Maybe|Intel 3945 or atheros fru 39T5578 bios locked}} || <!--Test Distro--> || <!--Comments-->2006 32bit
|-
| Thinkpad T61 T61p without Middleton's or Zender BIOS || Core 2 Duo CPU T7300 T8300 || {{N/A}} || <!--SATA-->{{yes| }} || Intel GMA (2D), NVS 140m or Quadro FX 570M () || {{maybe|HD Audio with Analog Devices AD1984 or AD1984A HD Audio Codec routed to the line output}} || <!--USB-->{{yes}} || {{no|intel e1000e 82573L}} || {{No|Intel but atheros with bios hacking risky}} || Icaros 1.6, AROS One || 2007 64bit
|-
| <!--Name-->X61 x61s X61T Tablet || <!--Chipset-->Core Duo T8100 on i965 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{yes|Intel GMA 3100 (2D) slow 3D}} || <!--Audio-->{{no|AD1984 HD Audio}} || <!--USB-->{{yes|USB 2.0}} || <!--Ethernet-->{{no|Intel 82566DM}} || <!--Wireless-->{{maybe|Atheros AR5212 (some revisions use Intel WLAN runs very hot) bios locked}} || <!--Test Distro--> || <!--Opinion-->2007 64bit ultrabook running very hot - ddr2 max 4gb -
|-
| <!--Name-->R61 R61i || <!--Chipset-->Intel 965 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->intel 965 || <!--Audio-->HD Audio with conexant codec || <!--USB--> || <!--Ethernet-->Broadcom BCM5787M || <!--Wireless-->{{No|Intel 3945 bios locked}} || <!--Test Distro--> || <!--Comments-->2008 64bit
|-
| Lenovo 3000 N200 || <!--Chipset-->Santa Rosa || {{N/A}} || <!--SATA-->{{maybe| }} || {{yes|Geforce 7300 (2D)}} || {{yes|ALC262 HD Audio}} || <!--USB-->{{yes}} || {{no|Broadcom}} || {{no|Intel 3945 bios locked}} || Icaros 1.4 || 2007 64bit 3D graphics parts are supported but buggy.
|-
| Lenovo 3000 N200 / V200 || GM965 ICH9-M with Intel Mobile Core 2 Duo T5450 || {{N/A}} || <!--SATA-->{{maybe| }} || {{yes|X3100 (2D)}} || {{Maybe|HD Audio ALC269VB or CX20549}} || {{yes| }} || {{no|BCM5906M}} || {{no|Intel 3965 / 4965AGN bios locked}} || Icaros 1.4.1 2.1 || 2007 64bits of laptop works
|-
| <!--Name-->X300 || <!--Chipset-->Core 2 Duo Merom SL7100 1.2GHz || <!--IDE-->{{N/A}} || <!--SATA-->1.8 inch || <!--Gfx-->{{maybe|Intel X3100}} || <!--Audio-->HD Audio AD1984A || <!--USB--> || <!--Ethernet-->Intel || <!--Wireless-->{{No|Intel 4965 bios locked}} || <!--Test Distro--> || <!--Comments-->2007 64bit 13.3" TFT 1440x900 (WXGA+) with LED backlight
|-
| <!--Name-->Thinkpad Edge 11″ AMD K325 || <!--Chipset-->M880G || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{maybe|VESA for ATI HD4200}} || <!--Audio-->{{maybe| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 8111}} || <!--Wireless-->{{no|8192CE (Realtek 8176) bios locked}} || <!--Test Distro--> || <!--Comments-->2007 little support
|-
| <!--Name-->Thinkpad X301 || <!--Chipset-->Core 2 Duo Penryn SU9400 Su9600 with GM45 chipset || <!--IDE-->{{N/A}} || <!--SATA-->1.8 inch micro SATA (uSATA) || <!--Gfx-->{{maybe|Intel X4500}} || <!--Audio-->AD1984A || <!--USB--> || <!--Ethernet-->Intel || <!--Wireless-->{{No|Intel 5xxx WiFi link 5100, 5150, 5300 and 5350 (WiMAX) bios locked}} || <!--Test Distro--> || <!--Comments-->2009 WXGA+ (1440×900) LED backlight display - 2774 or 4057 Alps and 2776 Synaptics touchpad - optical bay interface is Legacy IDE (PATA) - Addonics ADMS18SA, Lycom ST-170m
|-
| <!--Name-->X100e || <!--Chipset-->AMD Athlon Neo Single-Core (MV-40) and dual cores || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|2.5in tray in ide mode in bios}} || <!--Gfx-->{{Maybe|Vesa ATI HD3200}} || <!--Audio-->{{yes|HD Audio with CX20582 codec playback}} || <!--USB-->{{Maybe| }} || <!--Ethernet-->{{Yes|Realtek 8111}} || <!--Wireless-->{{no|Realtek r8192se bios locked}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2009 64bit 11.6in 1366 x 768 - 20v 65W round barrel - enter f1 setup f11 diagnostics f12 boot list - runs very warm -
|-
| <!--Name-->SL400 SL500 || Intel || {{N/A}} || {{Yes|IDE mode}} || {{Maybe|Nvidia 9400M}} || {{Maybe|ALC269}} || {{yes|USB 2.0}} || {{Maybe|RTL8169}} || {{Maybe| bios locked}} || ||
|-
| <!--Name-->SL410 SL510 || 965 || {{N/A}} || {{maybe|IDE mode}} || {{maybe|Intel GMA X4500M (some 2D)}} || {{yes|HD Audio with ALC269 codec - speaker and ear phones}} || {{yes|USB 2.0}} || {{yes|RTL8169}} || {{Maybe| bios locked}} || [http://www.amiga.org/forums/showpost.php?p=645774&postcount=28 Icaros 1.3] || 2009 64bit SL-410
|-
| <!--Name-->T400 ODM Wistron || <!--Chipset-->i || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{Maybe|Intel 4500MHD works limited 2d no 3d - optional switchable Nvidia or ATi HD3470 untested}} || <!--Audio-->{{Yes|HD Audio with Codec CX20561 (T400)}} || <!--USB--> || <!--Ethernet-->{{no|Intel e1000e}} || <!--Wireless-->{{No|Intel Wifi Link 5100 (AGN) half height card with FRU 43Y6493 or 5300 bios locked}} || <!--Test Distro--> || <!--Comments-->2009 64bit 20v lenovo plug - non-free firmware required iwlwifi
|-
| <!--Name-->T400s || <!--Chipset-->i || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{Maybe|VSEA for Intel 4500MHD works limited 2d no 3d}} || <!--Audio-->{{Maybe|HD Audio with CX20585}} || <!--USB--> || <!--Ethernet-->{{no|Intel e1000e}} || <!--Wireless-->{{No|Intel Wifi Link 5100 (AGN) half height card with FRU 43Y6493 or 5300 bios locked}} || <!--Test Distro--> || <!--Comments-->2009 64bit non-free firmware required iwlwifi
|-
| <!--Name-->Lenovo T500 T510 || <!--Chipset-->i || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{maybe|VESA for switchable Intel / AMD HD 3640}} || <!--Audio-->{{maybe|Intel HD Audio with a CX20561 (t500) and CX20585 (T510) codec}} || <!--USB--> || <!--Ethernet-->{{no|Intel }} || <!--Wireless-->{{no|Intel or Lenovo branded unit Atheros AR5007EG AR5BHB63 bios locked}} || <!--Test Distro--> || <!--Comments-->2009 64bit
|-
| <!--Name-->X200 ODM Wistron [http://itgen.blogspot.co.uk/2008/12/installing-arch-linux-on-lenovo.html X200s] and x200t tablet model without [http://fsfe.soup.io/post/590865884/the-unconventionals-blog-English-Flashing-Libreboot-on Risky flash of the Libreboot BIOS] || <!--Chipset-->GM45 GS45 with slow Celeron, SU or faster SL Core 2 Duos CPUs || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{maybe||Intel GMA 4500 MHD 2D but slow software 3D tunnel 10 gearbox 8 tests}} || <!--Audio-->{{yes|Intel HD Audio with Conexant CX20561 codec playback}} || <!--USB-->{{{Yes|USB 2.0 USB SD card reads and writes}} || <!--Ethernet-->{{no|Intel 82567LM Gigabit}} || <!--Wireless-->{{no|Intel Pro 5100 5150 5300 5350 AGN due to whitelist prevention bios locked}} || <!--Test Distro-->Icaros 2.0.1 || <!--Comments-->2009 64bit 12.1" CCFL (webcam version) or LED backlit (no webcam). no support for 54mm express cards or Authentec 2810 fingerprint reader - thinkpoint only no trackpad - thinklight -
|-
| <!--Name-->Lenovo T410 T410s T410si || <!--Chipset-->qm57 with i5 m || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{maybe|use vesa Intel 5700MHD (Ironlake) core processor igp with optional Nvidia Quadro NVS 3100M}} || <!--Audio-->{{yes|HD Audio Conexant CX20585 codec playback}} || <!--USB-->{{Yes|2.0}} || <!--Ethernet-->{{no|Intel 82577lm gigabit}} || <!--Wireless-->{{unk|Intel n 6200 or Atheros AR9280 AR5BHB92 half size minipcie bios locked}} || <!--Test Distro-->Icaros 2.2 xmas || <!--Comments-->2009 64bit battery life much lower with Nvidia graphics version - no support firewire ricoh r5c832 - ricoh sd card - series 5 3400
|-
| <!--Name-->X201 X201s x201t || <!--Chipset-->QM57 Core i3 370m, i5 M520 2.4GHz or i7 620LM 2.0GHz || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{Maybe|vesa 2d on Intel GMA HD}} || <!--Audio-->{{yes|Intel HD with [https://ae.amigalife.org/index.php?topic=94.0 Conexant 20585] codec}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no|Intel}} || <!--Wireless-->{{No|bios locked}} || <!--Test Distro--> || <!--Comments-->2010 X201 arrandale power consumption limits battery life to 3-4 hours for 48Whr though to 6 on 72Whr - 12.5" WXGA
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Ideapad B470, B570, V370, V470, V570 || <!--Chipset-->Intel® Core™ i5 i5-2430M, i5-2450M, || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->Vesa 2d for Intel || <!--Audio-->HDaudio 0x8086, 0x1c20 with codec || <!--USB-->USB3 || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no|whitelisted}} || <!--Test Distro--> || <!--Comments-->2011 64bit - 14in or 15.6in 768p -
|-
| <!--Name-->T420 type 4180 4236, t420s , T520 4239 L520 || <!--Chipset-->i5 2540, 2520 or i7 2860QM 2620 has sse4.1 avx || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS but not AHCI}} || <!--Gfx-->{{Maybe|Vesa 136 x 768 - Intel HD 3000 with optional NVS 4200M Nvidia optimus or Radeon HD 565v }} || <!--Audio-->{{Yes|HD Audio playback ear phones only with Conexant CX20672 codec - AHI 6.27}} || <!--USB-->{{Maybe| }} || <!--Ethernet-->{{No|Intel PRO 1000 82579LM}} || <!--Wireless-->{{No|Realtek 1x1, Intel Ultimate-N 6205 6250 2x2 6300 3x3 all bios locked}} || <!--Test Distro-->Icaros 2.2.2 add noacpi to grub boot options || <!--Comments-->2011 64bit - screen 1600x900 or 1366x768 - 2 ddr3l sodimm slots max 16gb -
|-
| <!--Name-->Thinkpad W520 || <!--Chipset--> has sse4.1 avx || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{Maybe|VESA Intel HD 3000 with nvidia quadro 1000m 2000m optimus issues with Nvidia Intel hybrids}} || <!--Audio-->{{Maybe|Intel Hd with CX 20585 codec}} || <!--USB--> || <!--Ethernet-->{{No|Intel 82579 Lm}} || <!--Wireless-->{{No|Intel 6000s}} || <!--Test Distro--> || <!--Comments-->2011 64bit - 15.6" TFT display with 1366x768 (HD), 1600x900 (HD+) or 1920x1080 (FHD) resolution with LED backlight
|-
| <!--Name-->X220 x220t || <!--Chipset-->QM67 express, dual i5 2520M or i7 dual 2620M sse4.1 avx support || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS but not AHCI}} || <!--Gfx-->{{Maybe|VESA 2D 1024 x 768 for Intel HD Graphics 3000}} || <!--Audio-->{{Yes|Intel HD playback with Conexant 20672 codec ear phones and speaker - AHI 6.27 6.34}} || <!--USB-->{{Yes|USB 2.0}} || <!--Ethernet-->{{No|Intel 82579LM}} || <!--Wireless-->{{No|Intel Centrino Advanced-N 6205 Wi-Fi bios locked}} || <!--Test Distro-->Icaros 2.3, Aros One USB 1.6 || <!--Comments-->2011 64bit possible - uses slimmer 7 mm storage sata devices - NEC USB 3.0 on i7's - unwanted trackpad gestures when palms rests on it - 2 ddr3 sodimm slots - external battery -
|-
| <!--Name-->Thinkpad X120e, x121e Quanta FL8A DAFL8AMB8D0 Rev D || <!--Chipset-->Hudson M1 with slow AMD E350 has no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA ATI 0x9802}} || <!--Audio-->{{Maybe|ATI SBx00 Azalia HD Audio}} || <!--USB-->USB 2.0 || <!--Ethernet-->RTL8169 RTL8111 || <!--Wireless-->{{no|Broadcom 0x0576 bios locked}} || <!--Test Distro--> || <!--Comments-->2011 64bit 11.6 inch screen - 1 inch think - chiclet keyboard
|-
| <!--Name-->Ideapad S205 G575 G585, Edge 11 E325 || <!--Chipset-->Slow E-350 later E-450 with A75 or AMD Athlon II Neo has no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA HD6310}} || <!--Audio-->{{Yes| }} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|Atheros}} || <!--Wireless-->{{No|Broadcom}} || <!--Test Distro--> || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - removeable and plug in battery - 2pin CR2032 CMOS battery -
|-
| <!--Name-->Ideapad S206 || <!--Chipset-->AMD E300 1.3GHZ Dual has no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA }} || <!--Audio-->{{Maybe|Intel HD Audio with CX20672 codec}} || <!--USB-->{{Maybe|3.0}} || <!--Ethernet-->Broadcom 10/100 || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - 11.6" and integrated battery - Conexant®
|-
| <!--Name-->Lenovo x130e or x131e edu || <!--Chipset-->Slow AMD E-300 or E-450 has no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA Radeon HD 6310 or 6320 }} || <!--Audio-->{{Maybe|HD Audio Realtek ALC269VC / ALC3202 codec}} || <!--USB-->{{Maybe|USB 30 and USB 20}} || <!--Ethernet-->{{maybe|Realtek RTL8111 RTL8168B}} || <!--Wireless-->{{No|Realtek RTL8188CE or Broadcom BCM43228 bios locked}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - rubber edged bumper for K12 education market - 2pin CR2032 CMOS battery -
|-
| <!--Name-->Thinkpad Edge E135 E335 || <!--Chipset-->amd dual E-300, E2-1800 or E2-2000 slow atom like A68M FCH has no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|SATA 3.0Gb/s 2.5" wide 7mm high}} || <!--Gfx-->{{Maybe|VESA radeon 6310 or 7340 vga or hdmi}} || <!--Audio-->{{Maybe|HDAudio with Realtek ALC3202 codec}} || <!--USB-->{{maybe|2 usb3, 1 powered usb2}} || <!--Ethernet-->{{maybe|rtl8169 8111f}} || <!--Wireless-->{{no|Realtek WLAN whitelist bios locked}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - 11.6 inch to 13.3in 1366x768 - Acrylonitrile-Butadiene-Styrene (ABS) plastic case - external battery - 20v 65w lenovo barrel ac - 2 ddr3 sodimm 8Gb max -
|-
| <!--Name-->ThinkPad Edge E525 E535 LENOVO IDEAPAD Z575 || <!--Chipset-->AMD A6-3420M A8-3500M later A8-4500M has no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA AMD 6620G later 7640G}} || <!--Audio-->{{No|HDAudio with Conexant codec}} || <!--USB-->{{Maybe|USB2 but not usb3}} || <!--Ethernet-->{{maybe|rtl8169 Realtek 8111}} || <!--Wireless-->{{No|Broadcom bios locked}} || <!--Test Distro--> || <!--Comments-->2013 64bit does not support AVX or SSE 4.1 - 15.6in 1368 x 768 matt - 65W 20v lenovo round psu - thick desktop replacement - ThinkPad Edge E520 E520S E525 E530 E545 E535 E530C Laptop Keyboard swap -
|-
| <!--Name-->T430 t430i T530 || <!--Chipset-->ivy bridge i5 3320 3230m on Intel QM77 has sse4.1 and avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA 1366 x 768 for Intel HD 4000 with optional Nvidia 5400M}} || <!--Audio-->{{Maybe|Intel HD with Realtek ALC3202 aka ALC269VC codec playback ear head phones - HDA 6.27}} || <!--USB-->{{Yes|USB 2 ports and usb2.0 devices thru usb 3.0 ports}} || <!--Ethernet-->{{No|Intel e1000}} || <!--Wireless-->{{unk|Intel or Atheros AR9285 bios locked}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2013 64bit fan noise and chiclet keyboard, synaptics trackpad - HD+ 768p -
|-
| <!--Name-->Thinkpad X230 x230t || <!--Chipset-->Intel QM67 express i5 has sse4.1 and avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA }} || <!--Audio-->{{Maybe|Intel HD with ALC269 aka ALC3202}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|Intel }} || <!--Wireless-->{{No|I}} || <!--Test Distro--> || <!--Comments-->2013 64bit - 12.2 in 1366 x 768 - 2 ddr3 sodimm slots - external battery -
|-
| <!--Name-->Thinkpad T440 t440s t440p T540 L440 L540 || <!--Chipset-->intel haswell 8 series Core i3 to i7 has sse4.1 and avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA - Intel 4600 or Nvidia}} || <!--Audio-->Intel HD with Realtek ALC3232 alc269 codec or ALC292 || <!--USB-->{{maybe| }} || <!--Ethernet-->{{No|Intel}} || <!--Wireless-->{{No|Intel AC 7260 bios locked}} || <!--Test Distro--> || <!--Comments-->2014 64bit - 14 and 15" models with glitchy trackpad and no physical buttons - keyboard repair not easy as well as 4 variants of key caps - 2pin CR2032 CMOS battery -
|-
| <!--Name-->Thinkpad X240 x240t ultrabook TN (20AL0081GE), HD IPS display without touch (20AL007NGE) and touch (20AL0076GE) but all 65% sRGB || <!--Chipset-->haswell i7-4600U i5 4200U 4210U 4300U i3-4100U - two batteries, one internal 3cell 45N1110 (45N1111) or 45N1112 (FRU 45N1113) and external 3 / 6cell 45N1126 (FRU 45N1127) || <!--IDE-->{{N/A}} || <!--SATA-->2.5in 7mm sata (torq t7), m.2 2242 in WWAN slot (m and b key NGFF Sata) || <!--Gfx-->{{Maybe|use VESA for Intel 4400 for vga or mini-dp}} || <!--Audio-->{{No|HDAudio 0x8086, 0x0a0c 0x8086, 0x9c20 with Realtek ALC3232 aka ALC292 0x10ec, 0x0292}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{no|Intel® 82577LM Gigabit (Hanksville) }} || <!--Wireless-->{{no|Realtek or Intel 7260n I218-V or I218-LM bios locked}} || <!--Test Distro-->AROS One USB || <!--Comments-->2014 64bit - 12.2in 1366 x 768 or 1080p - 1 ddr3l sodimm slot - no keyboard spill drainage and at least 2 variants of key caps - lenovo rectangle pwr ac - TPM 1.2 - Bluetooth 4.0 no support - bottom panel with 8 retained screws - 2pin CR2032 CMOS battery -
|-
| <!--Name-->ThinkPad Edge E545
* key cap swap with E440 E531 E540 L440 L450 T431S T440S T440P T540
* Keyboard swap L540 T540p W540 Edge E531 E540 W541 T550 W550S L560 P50S T560
|| <!--Chipset-->AMD Socket FS1r2 A6-5350M (2c2t) or A8-4500M, A8-5550M, A10-5750M (4c4t) with A76M FCH has sse4.1 and avx || <!--IDE-->{{N/A}} || <!--SATA-->2.5in 9.5mm - enter UEFI bios with Enter or ESC, config section, sata into compatibility and security, secure boot disabled - mini sata DVD burner PLSD DS8A9SH || <!--Gfx-->{{Maybe|VESA 2D for AMD 7640G, 8450G, 8550G, 8650G ?? Islands}} || <!--Audio-->{{no|VOID for HDAudio 6.34 0x1022, 0x780d with Conexant CX20590 Analog 0x14f1, 0x506e CX20671 codec 0x14f1, 0x5069 or audio over Trinity HDMI}} || <!--USB-->{{maybe|boots pen drives from yellow usb port but not from blue USB3 ones, issues with AMD usb3 hardware quirks}} || <!--Ethernet-->{{yes|rtl8169 1GbE 8111F}} || <!--Wireless-->{{No|Broadcom BCM43142 bios locked}} || <!--Test Distro-->AROS One 2.3 USB works with noacpi added to end of grub2 boot line but not booting on AROS One 64bit 1.1 via usb2 stick or iso burnt to dvd || <!--Comments-->2015 64bit - 15.6in 1366 x 768 matt - 20v 65w 90w round lenovo plug psu - 2 DDR3 SODIMM slots 16GB Max - external 6 Cell Li-Ion Battery 48Wh l11s6y01 45n1043 - 2pin CR2032 CMOS battery in wifi area jp1202 - amd v(tm) virtualization not working -
|-
|<!--Name-->AMD platform codes
*Beema: ABM,
*Carizzo-L: ACL,
*Carizzo: ACZ,
*Godavari: AGR,
*Kaveri: AKV,
*Stoney Ridge: ASR,
*Stoney Ridge: AST (NB),
|| <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
*Summit Ridge: ASU,
*Bristol Ridge-L: ABL,
*Bristol Ridge: ABR,
*Raven Ridge: ARR,
*Picasso: API
|-
| <!--Name-->[https://www.laptop-schematics.com/db/78/V%20series%20laptops%20(Lenovo)/ V110-14AST (14in) V110-15AST, V110-14ISK V110-15ISK 80TL (15")], || <!--Chipset-->AMD E1-9000, A6-9210 to A9-9410 all dual core and intel 6006u, 6100u, 6200u || <!--IDE-->{{N/A}} || <!--SATA-->1 2.5in sata most 7mm some 9.5mm || <!--Gfx-->{{Maybe|VESA 2D for AMD R2, R3, R5 or R6 or Intel Gfx}} || <!--Audio-->{{No|HDAudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2016 64bit - 14in to 15.6in mostly 768p 220 nits - 20v 45W or 65W lenovo slim rectangle end ac - keyboard swap hard - integrated 24WHr battery - 4gb ddr4 ram soldered and 1 2133Mhz ddr4 slot max 12Gb - abs plastic -
|-
|<!--Name-->
*ThinkPad A275 12in (1 ddr4 1866MHz sodimm)
*Thinkpad A475 14in (2 ddr4 1866MHz sodimm) - both internal (main) and external (secondary) battery
|| <!--Chipset-->A10-8730B A10-9700B 2.500Ghz later A12-8830B A12-9800B all 4c4t (AVX2 on 9000s) || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe|7mm 2.5in sata with mbr and not gpt, setup in another machine - secure boot disabled, bios startup boot set to legacy then uefi - WWAN slot cannot use M.2 2242 sata with M and B key}} || <!--Gfx-->{{Maybe|VESA 2D for AMD R5 or R7}} || <!--Audio-->{{No|HDAudio 6.34 ahi 0x1022, 0x157a with ALC3268 aka ALC298 codec 0x10ec, 0x0298 - VOID even with QUERY / QUERYD added}} || <!--USB-->{{no|USB3 error on boot suspect AMD usb3 quirk}} || <!--Ethernet-->{{Yes|rtl8169 RTL8111EPV}} || <!--Wireless-->{{No|Realtek RTL8822BE WLAN whitelist locked cannot swap}} || <!--Test Distro-->{{maybe|AROSOne USB 32bit 1.8 with noacpi noapic noioapic added to grub2 boot line but Aros One 64bit 1.2 USB has krnPanic }} || <!--Comments-->2016 64bit 12 or 14in 768p - 45W or 65w lenovo rectangle ac adapter - F1 enter bios and F12 boot order - 6 retained screws and snap on base - 2100 error message no solution except using only efi/gpt bios option -
|-
|<!--Name-->320S-15AST, 320S-15ABR, ideapad Slim 1-11AST-05 81VR || <!--Chipset-->AMD A6-9220e, AMD A6-9225, A9-9425, A10-9600P 7th Gen || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata 2.5in}} || <!--Gfx-->{{maybe| Vesa 2D for AMD}} || <!--Audio-->{{No| }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No|Qualcomm Atheros QCA9377 or Realtek RTL8821CE}} || <!--Test Distro--> || <!--Comments-->2018 64bit AVX2 - 14in or 15.6" 768p - 1 ddr4 sodimm slot - keyboard swap problematic -
|-
|<!--Name-->Lenovo Ideapad S145-14AST S145-15AST 81N3 || <!--Chipset-->AMD A6-9225, A9-9425, A10-9600P 7th Gen, AMD A12-9720P Mobo 5B20P11110 NMB341 Bristol Ridge || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata 2.5in}} || <!--Gfx-->{{Maybe|VESA Radeon 8670A 8670M 8690M GCN 3}} || <!--Audio-->{{No| }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No|Qualcomm Atheros QCA9377 or Realtek RTL8821CE}} || <!--Test Distro--> || <!--Comments-->2018 64bit AVX2 - 14in or 15.6" 768p or 1080p - 1 ddr4 sodimm slot -
|-
|<!--Name-->Lenovo Ideapad V145-14AST V145-15AST, 81mt, Ideapad 310, Ideapad 320-15ABR, Ideapad 330-14AST 330-15AST 330-17AST || <!--Chipset-->AMD A6-9225, A9-9425 (2c2t), A10-9600P 7th Gen, AMD A12-9720P Mobo 5B20P11110 NMB341 Bristol Ridge || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata 2.5in with optional dvd}} || <!--Gfx-->{{Maybe|VESA Radeon 8670A 8670M 8690M GCN 3}} || <!--Audio-->{{unk|HDaudio with ALC3240-va3-cg aka ALC236? codec 0x10de, 0x0236}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{no|rtl8169 8106E 10/100 only}} || <!--Wireless-->{{No|Qualcomm Atheros QCA9377 or Realtek RTL8821CE}} || <!--Test Distro--> || <!--Comments-->2017 64bit AVX2 - 14in or 15.6" 768p or 1080p - 1 ddr4 sodimm slot - 45w 65w slim ac adapter -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
|<!--Name-->Lenovo V330-14ARR 81B1, V330-15ARR 81, 330-14ARR 81 330-15ARR 81D2 - battery internal about 30whr || <!--Chipset-->AMD Ryzen R3 2200U, 2300U or R5 2500U Raven Ridge || <!--IDE-->{{N/A}} || <!--SATA-->M.2 nvme/sata, optional 2.5in sata but no dvd || <!--Gfx-->{{Maybe|VESA Vega 3, 6 or 8 up to 1Gb of soldered ram memory taken}} || <!--Audio-->{{No|HDAudio 0x1002, 0x15de with Realtek® ALC5682I-VD codec 0x10de, 0x or coxenant CX11802 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek 1GbE}} || <!--Wireless-->{{no|Realtek}} || <!--Test Distro--> || <!--Comments-->2018 64bit - 14" 768p 20mm thick 1.8kg - 20v 2.25a 45w ac round barrel - chiclet keyboard - 4Gb soldered and 1 ddr4 sodimm - TPM 2.0 in bios - 4GB soldered -
|-
|<!--Name-->Ideapad 330s-14ARR, 330s-15ARR, ideapad 330S-14IKB, 330S-15IKB, - battery internal about 30whr || <!--Chipset-->AMD Ryzen R3 2200U, 2300U or R5 2500U Raven Ridge || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|nvme}} || <!--Gfx-->{{Maybe|VESA 2D for AMD or Intel 610, 620 up to 1Gb of soldered ram memory taken}} || <!--Audio-->{{No|HD Audio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Realtek}} || <!--Test Distro--> || <!--Comments-->2018 64bit - 14" 20mm thick 1.8kg - 20v 2.25a 45w ac round barrel - chiclet keyboard - 4Gb soldered and 1 ddr4 sodimm - TPM 2.0 in bios - 4GB soldered -
|-
|<!--Name-->Thinkpad Edge E485 E585 - internal battery only || <!--Chipset-->AMD Ryzen R3 2300U R5 2500U R7 2700U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|m.2 nvme optional 1 2.5in sata}} || <!--Gfx-->{{Maybe|VESA for Vega 3, 8 or 10}} || <!--Audio-->{{No|HDAudio with CX11852 codec }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 rtl8111GUS}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2018 64bit - 14in or 15.6in 768p or 1080p - USB-C 20V 2.25A 3.25A avoid knocking charging port as damages easily - 2 ddr4 sodimm slot max 2400Mhz 32GB - TPM 2.0 software -
|-
|<!--Name-->Thinkpad A285 - internal and external battery || <!--Chipset-->AMD Ryzen PRO 3 2200U 5 2500U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|m.2 nvme/sata}} || <!--Gfx-->{{Maybe|VESA Vega up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HD Audio with ALC ALC3287 codec aka ALC257 }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{No|Mini-Ethernet/Docking}} || <!--Wireless-->{{no|Realtek or Qualcomm - WLAN whitelist no more??}} || <!--Test Distro--> || <!--Comments-->2018 64bit - 12.5in 1080p - avoid usb-c port being lifted/moved whilst in use as damages laptop easily - soldered ram 8gb or 16gb - WWAN whitelist - keyboard swap problematic -
|-
|<!--Name-->Thinkpad A485 bios setting [https://github.com/PSPReverse/PSPTool AMD PSP Platform Security Processor Key] - internal and external battery || <!--Chipset-->AMD Ryzen PRO 5 2500U || <!--IDE-->{{N/A}} || <!--SATA-->sata port and m.2 nvme port || <!--Gfx-->{{Maybe|VESA Vega }} || <!--Audio-->{{unk|HD Audio with ALC ALC3287 codec aka ALC 257 }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 RTL8111GUL}} || <!--Wireless-->{{no|Realtek or Qualcomm wifi - WLAN whitelist no more??}} || <!--Test Distro--> || <!--Comments-->2018 64bit - 14in 768p, 1080p or 1440p - avoid usb-c port being lifted/moved whilst in use as damages laptop easily - 2 ddr4 sodimm slots max 32gb - WWAN whitelist - keyboard swap problematic -
|-
|<!--Name-->[https://www.diy-laptoprepair.com/forum/fix-Lenovo-V155-15-repair-guide-schematics.php Lenovo v155-15api 81V5] V155 (15" AMD) budget all plastic build - MS new protocol, HID over I2C so [https://askubuntu.com/questions/1033033/elantech-touchpad-does-not-work-i2c-hid i2c] [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/input/mouse/elantech.c?h=v6.17 i2c] [https://www.kernel.org/doc/html/v4.16/input/devices/elantech.html PS2 hybrid trackpad] [https://cgit.freebsd.org/src/tree/sys/dev/atkbdc/psm.c?h=releng/14.3 elantech] [https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pckbc/?only_with_tag=OPENBSD_7_8_BASE i2c-hid] 04F3:3140 touchpad not working - internal sunwoda battery L18D3PF1, L18L3PF1, L18C3PF2 35Whr most dead after 5 years || <!--Chipset-->'''tested''' Ryzen 5 3500U and Ryzen 3 3200U - '''untested''' AMD Athlon 300U with bios winbond 25q64fwsiq soic 1.8v bios near nvme || <!--IDE-->{{N/A}} || <!--SATA-->1 M.2 nvme and usually 2.5in 7mm sata - install on mbr not gpt 2.5in in another compatible machine - mini sata dvd/cd da-8aesh11b will boot cd or dvd aros || <!--Gfx-->{{Maybe|VESA 2D to 1080p work for Vega 3 or 8 with up to 2Gb of soldered ram memory taken but hdmi 1.4b no output}} || <!--Audio-->{{Yes|HDAudio add 0x1022, 0x15E3 with ALC3287 aka Realtek ALC257 codec 0x10ec, 0x0257 with 32bit on external speaker and most of the time works on 64bit}} || <!--USB-->{{maybe|2 USB3.0, on left hand side, detected but no usb-c ports}} || <!--Ethernet-->{{yes|rtl8169 RTL8111GUS works well with 32bit and 64bit}} || <!--Wireless-->{{no|Realtek or Intel wifi}} || <!--Test Distro-->2025 AROS One 2.8 DVD 32bit and AROS One x64 1.1 and 1.2 iso DVD burnt || <!--Comments-->2019 64bit - 15.6in 768p or 1080p 200nits tn panel - 4Gb ddr4 2400MHz soldered with 1 dimm slot max 20Gb - round ac 20V 65W psu 4.0mm x 1.7mm - Fn+F2 to enter bios and F12 boot order - no sd card slot - 2pin cr2032 cmos coin battery -
|-
|<!--Name-->V15-ADA 82C700E4UK- elan touchpad not working - internal battery 34whr L16M2PB2 l16l2pb3 || <!--Chipset-->AMD r5 3500U || <!--IDE-->{{N/A}} || <!--SATA-->1x 2.5" HDD + 1x M.2 SSD NVMe near fan, no cd dvd || <!--Gfx-->{{Maybe|VESA 2D for Vega 3, 8 with up to 1080p with 2Gb of soldered ram memory taken}} || <!--Audio-->{{Yes|HD Audio 6.36 0x1022, 0x15E3 with R155189 ALC236 codec 0x10ec, 0x0236 on 32bit and on 64bit}} || <!--USB-->{{maybe|3 USB3, on left hand side,}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Realtek or Qualcomm wifi}} || <!--Test Distro-->2025 3500U with Aros One 32bit 2.8 installed to 2.5in drive on another machine and same for 64bit || <!--Comments-->2019 64bit - 14 or 15.6in 768p on low spec machines to 1080p - 4GB soldered with 1 ddr4 sodimm slot - 2pin cr2032 cmos coin battery - sd card slot - noisy fan -
|-
|<!--Name-->V15-ADA 82C7 - elan touchpad not working - internal battery 34whr L16M2PB2 l16l2pb3 || <!--Chipset-->AMD Athlon Silver 3020e, Ryzen 3 3050U, 3150U, 3250U || <!--IDE-->{{N/A}} || <!--SATA-->1x 2.5" HDD + 1x M.2 SSD NVme near fan, no cd dvd || <!--Gfx-->{{Maybe|VESA 2D for Vega 3, 8 with up to 1080p with 2Gb of soldered ram memory taken}} || <!--Audio-->{{No|HD Audio 6.36 0x1022, 0x15E3 with RTS5119 R155119 ALC230 codec}} || <!--USB-->{{maybe|3 USB3.0, on left hand side,}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Realtek or Qualcomm wifi}} || <!--Test Distro-->2025 Aros One 32bit 2.8 and 64bit || <!--Comments-->2019 64bit - 14 or 15.6in 768p on low spec machines to 1080p - 4GB soldered with 1 ddr4 sodimm slot - 2pin cr2032 cmos coin battery - sd card slot - for this mbd bios ram disable doesn't work - noisy fan -
|-
|<!--Name-->Lenovo V14-ADA 82C6, - elan touchpad not working - if blank black display, bios bug going from uefi->legacy so reset bios rhs push in with pin, then Down, ent, Right x3, ent, up, ent, right, ent x2 - internal battery 34whr L16M2PB2 l16l2pb3 || <!--Chipset-->'''tested''' 3250U - '''untested''' AMD Athlon Silver 3020e, Ryzen 3 3050U, 3150U - for this mbd GV451&GV551 NM-D151 bios ram disable doesn't work || <!--IDE-->{{N/A}} || <!--SATA-->1x 2.5" HDD if cbl + 1x M.2 SSD NVMe near fan, no cd dvd || <!--Gfx-->{{Maybe|VESA 2D for Vega 3 up to 1080p with 2Gb of soldered ram memory taken}} || <!--Audio-->{{no|HD Audio 6.36 0x1022, 0x15E3 with Realtek ALC3223 RTS5119 R185199 aka ALC230 codec 0x10ec, 0x0230 on 32bit and on 64bit}} || <!--USB-->{{maybe|3 USB3, on left hand side,}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Realtek or Qualcomm wifi}} || <!--Test Distro-->2025 AMD 3250U with Aros One 32bit 2.8 installed to 2.5in drive on another machine and same for 64bit || <!--Comments-->2019 64bit - 14 or 15.6in 768p on low spec machines to 1080p - 4GB soldered with 1 ddr4 sodimm slot - 2pin cr2032 cmos coin battery - sd card slot - F2 bios F12 select -
|-
|<!--Name-->IdeaPad 1 14ADA5 (low spec cpus) ideaPad 3 14ADA05, IdeaPad 3 15ADA05 81W100QVUK, IdeaPad 3 17ADA05 - elan touchpad not working - internal battery 34whr L16M2PB2 l16l2pb3 || <!--Chipset-->AMD Athlon Silver 3020e, Ryzen 3 3050U, 3150U, 3250U, Ryzen 5 3500U on mobo NM-C821 REV 0.2 1.0 || <!--IDE-->{{N/A}} || <!--SATA-->1x 2.5" HDD if cbl + 1x M.2 SSD NVMe near fan, no cd dvd || <!--Gfx-->{{Maybe|VESA 2D for Vega 3, 8 up to 1080p with 2Gb of soldered ram memory taken}} || <!--Audio-->{{no|HD Audio 6.36 0x1022, 0x15E3 with ALC230 codec 0x10ec, 0x0230 on 32bit and on 64bit}} || <!--USB-->{{maybe|3 USB3, on left hand side,}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Realtek or Qualcomm wifi}} || <!--Test Distro-->2025 Aros One 32bit 2.8 installed to 2.5in drive on another machine and same for 64bit || <!--Comments-->2019 64bit - 14 or 15.6in 768p on low spec machines to 1080p - 4GB soldered with 1 ddr4 sodimm slot - 2pin cr2032 cmos coin battery - sd card slot - F2 bios F12 boot select -
|-
|<!--Name-->Lenovo IdeaPad L340-15API 81LW001CUS L340-17API - elan trackpad not functioning - internal battery L18M3PF2 || <!--Chipset-->AMD Athlon 300U, Ryzen 3 3200U r5 3500U || <!--IDE-->{{N/A}} || <!--SATA-->1 M.2 nvme and usually 2.5in sata if ribbon cable present - mini sata dvd/cd da-8aesh11b || <!--Gfx-->{{Maybe|VESA 2D for Vega 3 or 8 with up to 2Gb of soldered ram memory taken - hdmi 1.4b}} || <!--Audio-->{{unk|HDAudio add 0x1022, 0x15E3 with Realtek ALC236 0x10ec, 0x0236}} || <!--USB-->{{maybe|USB3 not detected}} || <!--Ethernet-->{{maybe|rtl8169 RTL8111GUS}} || <!--Wireless-->{{no|Realtek or Intel wifi}} || <!--Test Distro-->AROS One 2.8 USB - install on mbr not gpt 2.5in in another compatible machine || <!--Comments-->2019 64bit - 15.6in 768p or 1080p 200nits - 4Gb ddr4 2400MHz soldered with 1 dimm slot max 20Gb - round ac 20V 65W psu 4.0mm x 1.7mm - Return or F1 to enter bios and F12 boot order - no sd card slot -
|-
|<!--Name-->[https://www.laptop-schematics.com/db/78/T%20series%20laptops%20(ThinkPad)/ ThinkPad T295 T495] || <!--Chipset-->Ryzen 3 3300U, R5 Pro 3500U or R7 3700U || <!--IDE-->{{N/A}} || <!--SATA-->1 NVMe up to 2280 || <!--Gfx-->{{Maybe|VESA Vega 6, 8 or 10 up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HD Audio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111EPV}} || <!--Wireless-->{{No|Realtek RTL8822BE or Intel AC 9260}} || <!--Test Distro--> || <!--Comments-->2019 64bit - 14in 768p but mostly FHD 1080p 250 nits - internal battery - ram 8gb or 16gb 2400Mhz soldered with 1 ddr4 slot on T495 only - TPM 2.0 - usb-c charging avoid knock whilst in use - keyboard swap problematic -
|-
|<!--Name-->ThinkPad T495s (14in) X395 (13in) || <!--Chipset-->Ryzen 3 3300U, R5 Pro 3500U or R7 3700U || <!--IDE-->{{N/A}} || <!--SATA-->1 NVMe up to 2280 || <!--Gfx-->{{Maybe|VESA Vega 6, 8 or 10 up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HD Audio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{unk| needs Lenovo ThinkPad Ethernet Adapter Gen 2 SC10P42352 or SC10P42354}} || <!--Wireless-->{{No|Realtek RTL8822BE or Intel AC 9260 wifi}} || <!--Test Distro--> || <!--Comments-->2019 64bit - 13in or 14in 768p but mostly FHD 1080p 250 nits - internal battery - ram 8gb or 16gb 2400Mhz soldered - TPM 2.0 - usb-c charging avoid knock whilst in use - keyboard swap problematic -
|-
|<!--Name-->ThinkPad E14 Gen2, E15 Gen 2 (AMD) 20T8, - lenovo has a mobile phone PC Diagnostic App for error/beep codes || <!--Chipset-->AMD Ryzen 3 4300U, 5 4500U, 7 4700U || <!--IDE-->{{N/A}} || <!--SATA-->2 m.2 nvme, 1 2242 and 1 2280 || <!--Gfx-->{{Maybe|VESA 2D for AMD Radeon up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HD Audio with ALC ALC3287 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 RTL8111GUS}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2020 15.6in 1080p 220 nits - TPM 2.0 - usb-c charging of internal 45Whr battery - 4gb ddr4 3200Mhz soldered and 1 ddr4 sodimm slot max 20Gb - keyboard swap problematic - plastic bendy case -
|-
|<!--Name-->Lenovo ThinkPad T14 Gen 1, ThinkPad P14s Gen 1 (AMD) || <!--Chipset-->AMD Ryzen 3 4300u, 5 4500U, Ryzen 5 Pro 4650U, Ryzen 7 Pro 4750U || <!--IDE-->{{N/A}} || <!--SATA-->1 NVMe || <!--Gfx-->{{Maybe|VESA 2D for AMD Vega }} || <!--Audio-->{{unk|HDAudio with Realtek® ALC3287 0x10EC, 0x0257}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 RTL8111EPV (DASH models) or RTL8111HN}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2020 64bit - USB-C charging avoid moving whilst in use - 14" or 15" 1080p - keyboard swap problematic - 8gb or 16gb 3200MHz soldered with 1 ddr4 sodimm slot - sd card slot -
|-
|<!--Name-->Thinkpad L14 Gen 1, L15 Gen 1, || <!--Chipset-->AMD Ryzen 3 4300u, 5 4500U, Ryzen 5 Pro 4650U, Ryzen 7 Pro 4750U || <!--IDE-->{{N/A}} || <!--SATA-->1 NVMe || <!--Gfx-->{{Maybe|VESA 2D for AMD Vega }} || <!--Audio-->{{unk|HDAudio with Realtek® ALC3287 0x10EC, 0x0257}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{no|rtl8169 needs dongle RTL8111EPV (DASH models) or RTL8111HN}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2020 64bit - USB-C charger avoid moving whilst in use - 14" or 15" 1080p - keyboard swap problematic - 8gb or 16gb 3200MHz soldered with 1 ddr4 sodimm slot - sd card slot -
|-
|<!--Name-->Lenovo ThinkPad X13 Gen1 AMD, || <!--Chipset-->AMD RYZEN 3 4450U, 5 4650U or 7 4750U || <!--IDE-->{{N/A}} || <!--SATA-->One drive, up to 512GB M.2 2242 SSD or 1TB M.2 2280 SSD NVMe || <!--Gfx-->{{partial|VESA Radeon up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HDAudio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe| but USB-C ports can fail}} || <!--Ethernet-->{{no|Realtek RTL8111EPV, mini RJ-45 to RJ-45 via optional ThinkPad Ethernet Extension Adapter Gen 2}} || <!--Wireless-->{{no|Realtek Wi-Fi 6 RTL8852AE}} || <!--Test Distro--> || <!--Comments-->2020 13.3" HD 1366x768 to 1080p - USB-C port care needed as damages easily - Memory soldered to systemboard, no slots, dual-channel DDR4-3200 -
|-
|<!--Name-->Lenovo ThinkBook 14 G2, 15 G2 Are || <!--Chipset-->Ryzen 5 4500u, 7 4700U || <!--IDE-->{{N/A}} || <!--SATA-->14in has 2 m.2 nvme but 15in has 1 nvme and might have 2.5in sata metal caddy if smaller battery version || <!--Gfx-->VESA 2d for AMD Radeon up to 2Gb of soldered ram memory taken || <!--Audio-->{{unk|HDAudio with ALC???? codec 0x10EC, 0x0}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 }} || <!--Wireless-->{{No| wifi}} || <!--Test Distro--> || <!--Comments-->2020 64bit - 14in or 15in 1080p - usb-c charging but high failure rate on the charging port - 4gb or 8gb soldered with 1 ddr4 sodimm slot 3200mhz - hinge(s) issues -
|-
|<!--Name-->IdeaPad 5 14ARE05 (81YM), Ideapad 5 15ARE05 (), IdeaPad 3 17ARE05 (model 81W5) - elan touchpad MSFT0004:00 06CB:CD98 not working || <!--Chipset-->'''tested''' 4500u - '''untested''' AMD 3 4300U (4c4t), 4600U (6c12t), 7 4700u (8c16t) on AMD Promontory Bixby FCH || <!--IDE-->{{N/A}} || <!--SATA-->{{no|1x M.2 2242 slot and 1x M.2 2280 NVMe which will take sata m.2 will boot to grub then laptop reset after choice}} || <!--Gfx-->{{Maybe|VESA 2D for Vega 6 via hdmi output up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HDAudio 6.36 0x1637 0x15e3 with Realtek ALC3287 aka ALC257 codec 0x10ec 0x0257}} || <!--USB-->{{maybe|USB 3.1 or 3.2 gen 1}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Intel ax200 wifi 6}} || <!--Test Distro-->4500u with AROS One 64bit 1.2 usb installed to m.2 sata on another machine || <!--Comments-->2020 64bit 14inch 768p or 1080p - round lenovo ac - 4gb, 8gb, or 16gb ddr4 3200Mhz ram soldered with 1 slot - keyboard swap problematic - integrated battery -
|-
|<!--Name-->Ideapad Flex 5 81X2, Lenovo Yoga 6 13ALC6 || <!--Chipset-->AMD R5 4500u, R7 4800U, R3 5300 R5 5500U || <!--IDE-->{{N/A}} || <!--SATA-->M.2 NVMe ssd || <!--Gfx-->{{Maybe|VESA AMD Vega up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HD Audio with ALC? codec}} || <!--USB-->{{maybe|USB3.1 gen 1}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|realtek ac wifi}} || <!--Test Distro--> || <!--Comments-->2020 64bit abs plastic case 14in convertible 1080p touch low nits - 65w usb-c psu ac - possible wacom esr note taking pen supplied - ram soldered DDR4 - keyboard swap problematic -
|-
|<!--Name-->ThinkPad T14 Gen 2, P14s Gen 2 || <!--Chipset-->AMD 5850U || <!--IDE-->{{N/A}} || <!--SATA-->NVme || <!--Gfx-->VESA 2D || <!--Audio-->{{unk|HDaudio with ALC3287-CG codec 0x10EC, 0x0}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{Maybe| }} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2021 - usb-c power 90% failure rate on the charging port -
|-
|<!--Name-->Lenovo ThinkBook 14 G3, 15 G3 ACL, || <!--Chipset-->Ryzen 5 5500U || <!--IDE-->{{N/A}} || <!--SATA-->m.2 nvme || <!--Gfx-->VESA 2d for AMD Radeon || <!--Audio-->{{unk|HDAudio with ALC codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 }} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2021 64bit - 14in or 15in 1080p - usb-c charging powered -
|-
|<!--Name-->ThinkPad E14 G3, E15 Gen 3 (AMD) || <!--Chipset-->AMD 5300U 5500U 5650U 5700U 5800U || <!--IDE-->{{N/A}} || <!--SATA-->up to 2 m.2 nvme || <!--Gfx-->{{Maybe|VESA }} || <!--Audio-->{{unk|HDaudio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 RTL8111GUS}} || <!--Wireless-->{{no|realtek or intel }} || <!--Test Distro--> || <!--Comments-->2021 64bit - 15.6in 1080p - - usb-c charging issues - keyboard swap problematic - 4gb or 8gb soldered with 1 ddr4 3200Mhz sodimm slot - plastic bendy case -
|-
|<!--Name-->V14 Gen 2 (82KA, 82KC)
*ALO
*ALC 82KD
|| <!--Chipset-->Ryzen 3 5300U, 5 5500U, 7 5700U || <!--IDE-->{{N/A}} || <!--SATA-->1 nvme 2280 and optional 2.5in sata after sourcing ribbon cable and connector, no dvd || <!--Gfx-->VESA 2D for AMD radeon || <!--Audio-->{{unk|HDAudio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe|USB3 }} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111H-CG}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2022 64bit - 15.6" FHD 1080p - 4gb or 8gb soldered with 1 ddr4 sodimm slot - 65w round ac adaptor -
|-
|<!--Name-->V15 G2 Gen2 (82KB, 82KD)
*ALO
*ALC 82KD
|| <!--Chipset-->Ryzen 3 5300U, 5 5500U, 7 5700U || <!--IDE-->{{N/A}} || <!--SATA-->1 nvme 2280 and optional 2.5in sata after sourcing ribbon cable and connector, no dvd || <!--Gfx-->VESA 2D for AMD radeon || <!--Audio-->{{unk|HDAudio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe|USB3 }} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111H-CG}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2022 64bit - 15.6" FHD 1080p - 4gb or 8gb soldered with 1 ddr4 sodimm slot - 65w round ac adaptor -
|-
|<!--Name-->ThinkPad L15 Gen 2 (15″, AMD) || <!--Chipset-->AMD 5000 series AMD Ryzen 3 5400U (4c8t), 5 5600U, 5 5650U (6c12t), 7 PRO 5850U (8c16t) || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{unk|HDAudio with Realtek® ALC3287}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{no|rtl8169 needs dongle RTL8111EPV (DASH models) or RTL8111HN}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2022 64bit - 15.6in 768p or 1080p - usb-c charging - 4gb soldered with 1 ddr4 3200Mhz sodimm slot -
|-
|<!--Name-->ThinkPad E14 Gen 4, E15 Gen 4 (15″, AMD) || <!--Chipset-->AMD 3 5425u, 5 5625U, 7 5825u || <!--IDE-->{{N/A}} || <!--SATA-->1 (14") or 2 (15") nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{unk|HDAudio with ALC3287 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 }} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit - 15.6in 1080p - usb-c charging - 4gb or 8gb soldered with 1 ddr4 3200Mhz sodimm slot - L19M3PDA 45Whr battery - U24 TPS65994 and QB6 QB5 mosfet issues - plastic bendy case -
|-
|<!--Name-->ThinkPad T14 Gen 3 Machine types MT 21AH 21AJ 21CF and 21CG, P14s Gen 3 || <!--Chipset-->AMD 6850U || <!--IDE-->{{n/a}} || <!--SATA-->NVme || <!--Gfx-->VESA 2d || <!--Audio-->{{unk| ALC3287-VA2-CG codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{Maybe|rtl8169 }} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2022 64bit - 14in
|-
|<!--Name-->ThinkPad T14s Gen 3 || <!--Chipset-->AMD 6500U || <!--IDE-->{{n/a}} || <!--SATA-->NVme || <!--Gfx-->VESA 2d || <!--Audio-->{{unk| ALC3287-VA2-CG codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|Ethernet support via optional Lenovo® USB-C® to Ethernet Adapter}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2022 64bit - 14in
|-
|<!--Name-->V14 G3, V15 G3 Gen3 ALC || <!--Chipset-->Ryzen 5 6500U || <!--IDE-->{{N/A}} || <!--SATA-->nvme and optional 2.5in sata if smaller 38Wh battery and after sourcing ribbon cable and connector, no dvd || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 }} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit - 15"FHD - battery BYD L20B2PFO -
|-
|<!--Name-->ThinkPad L15 Gen 3 (15″, AMD) || <!--Chipset-->AMD 6000 series || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{No| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|rtl8169 needs dongle}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2023 64bit- 15.6in 1080p -
|-
|<!--Name-->Lenovo Yoga 7 14ARB7 || <!--Chipset-->AMD Ryzen 5, 6600U, 7 6800U || <!--IDE-->{{N/A}} || <!--SATA-->1 nvme || <!--Gfx-->AMD 660M or 680M || <!--Audio-->{{No|HDaudio with ALC3306 aka alc287 codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2022 64bit - 14in 1800p ips 300 nits - usb-c ac charging 71whr integrated battery - sd card slot - digital pen input - 8gb, 6gb or 32gb soldered ddr5 ram -
|-
|<!--Name-->ThinkPad T14 Gen 4, P14s Gen 4 || <!--Chipset-->AMD Ryzen Pro 5 7540U, Ryzen Pro 7 7840U (AI NPU) || <!--IDE-->{{n/a}} || <!--SATA-->NVme || <!--Gfx-->VESA 2D for AMD 740M 780M|| <!--Audio-->{{unk|HDAudio ALC3287 codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 }} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit - 14in 1920x1200 - 8gb, 16gb or 32gb lpddr5 soldered - usb-c charging -
|-
|<!--Name-->ThinkPad E14 g5, E15 Gen 5 (15″, AMD) || <!--Chipset-->AMD 7000 series Ryzen 5-7530U, 7-7730U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{unk|HDAudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe| }} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit- 15.6in 1080p -
|-
|<!--Name-->Thinkbook 14 G6 ABP IRL, ThinkBook 16 G6ABP (21KK001CUK) || <!--Chipset-->AMD Ryzen 7530U 7730U || <!--IDE-->{{N/A}} || <!--SATA-->m.2 nvme || <!--Gfx-->VESA 2d for AMD Radeon || <!--Audio-->{{unk|HDaudio with codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 untested}} || <!--Wireless-->{{No| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit - 14in 1200p or 1440p - 100W USB-C AC power adapter -
|-
|<!--Name-->IdeaPad Slim 5 Light 14ABR8 Laptop || <!--Chipset-->AMD Ryzen 3 7330U (4c8t) 5 7530U (6c12t) 7 7730U (8c16t) || <!--IDE-->{{N/A}} || <!--SATA-->2 m.2 nvme slot - 1 2242, 1 2280 || <!--Gfx-->VESA 2d for AMD Radeon || <!--Audio-->{{unk|HDaudio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit - 14in 1080p - 8Gb or 16Gb soldered ram - usb-c charging only -
|-
|<!--Name-->ThinkPad X13 Gen 4 (13" AMD) || <!--Chipset-->AMD 7480U 7040U || <!--IDE-->{{N/A}} || <!--SATA-->NVMe || <!--Gfx-->{{partial|VESA}} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 - avoid usb-c port damage -
|-
|<!--Name-->ThinkPad L14 (Gen4), L15 Gen 4 (15" AMD) || <!--Chipset-->MD Ryzen 5 PRO 7530U, 7480U 7040U || <!--IDE-->{{N/A}} || <!--SATA-->NVMe || <!--Gfx-->{{partial|VESA}} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|rtl8169 needs dongle}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit - elan trackpad -
|-
|<!--Name-->Lenovo Gen 4 V14 (82YT, 82YV, 83A0, 83A1, 83CC, 83FR, 82YX, 83FG), V15 (82YU, 82YW, 83FS, 82YY, 83CR), V17 (83A2), || <!--Chipset-->AMD AMD Athlon™ Gold 7220U (2c4t), AMD Athlon™ Silver 7120U (2c2t), AMD Ryzen™ 3 7320U (4c8t), AMD Ryzen™ 5 7520U (4c8t) || <!--IDE-->{{N/A}} || <!--SATA-->nvme and 2.5in sata if smaller 38Wh battery, no dvd || <!--Gfx-->{{Maybe|VESA 2d for AMD 610M HDMI® and USB-C}} || <!--Audio-->{{unk|HDaudio with ALC3287 codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|Gigabit Ethernet, 1x RJ-45}} || <!--Wireless-->{{no|wifi 6}} || <!--Test Distro--> || <!--Comments-->2023 64bit - 15.6" FHD 1080p - 8 or 16Gb soldered - 65W round tip (3-pin) AC adapter or USB-C -
|-
|<!--Name-->ThinkPad e14 G6, e15 Gen 6 (15″, AMD) || <!--Chipset-->AMD 7000 series AMD Ryzen™ 7 7735HS || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{unk|HDAudio codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe| }} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit- 15.6in 1080p -
|-
|<!--Name-->ThinkPad L16 (16" AMD), || <!--Chipset-->AMD 8000 || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D || <!--Audio-->{{unk|HDAudio with codec}} || <!--USB-->{{maybe|USB4}} || <!--Ethernet-->{{no|rtl8169 needs dongle}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2025 64bit
|-
|<!--Name-->ThinkPad T14 Gen 5, P14s Gen 5 || <!--Chipset-->AMD Ryzen 7 PRO 8840U, AMD Ryzen™ 5 PRO 8540U || <!--IDE-->{{N/A}} || <!--SATA-->NVME || <!--Gfx-->VESA 2d || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 }} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2025 64bit - 14inch 1920 x 1200 -
|-
|<!--Name--> Lenovo WinBook 300e SKU: 82GKS00000 || <!--Chipset-->AMD 3015E || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2023 64bit 4GB 64GB SSD 11.6 Inch Touchscreen Windows 10 Pro Laptop
|-
|<!--Name-->ThinkPad || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
|<!--Name-->Lenovo Yoga Slim 7a || <!--Chipset-->AMD Ryzen AI 7350 || <!--IDE-->{{N/A}} || <!--SATA-->1 nvme || <!--Gfx-->AMD 860M || <!--Audio-->{{No|HDaudio with ALC3306 aka alc287 codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2025 64bit - 14in 1800p ips 300 nits - usb-c ac charging 71whr integrated battery - sd card slot - digital pen input - 8gb, 6gb or 32gb soldered ddr5 ram -
|-
|<!--Name-->ThinkPad || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|<!--Name-->ThinkPad || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====Samsung====
[[#top|...to the top]]
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="2%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->NP-Q1 Q1 || <!--Chipset-->Celeron-M 353 ULV 600Mhz || <!--IDE-->{{Yes|1.8" SFF HDD 20 / 60 GB }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|GMA 915 2D and 3D opengl1 tunnel 95 gearbox 68}} || <!--Audio-->{{Yes|HD Audio with codec - head phones only}} || <!--USB-->{{Yes}} || <!--Ethernet-->{{No|Marvell}} || <!--Wireless-->{{Yes|Atheros 5006EX}} || <!--Test Distro-->2016 Icaros 2.1 || <!--Comments-->2005 32bit old style tablet UltraMobile PC UMPC - Wacom serial resistive pen or finger no support - 1 sodimm ddr2 max 1Gb - LCD 7" WVGA (800 x 480) - CompactFlash port Type II -
|-
| <!--Name-->NP Q1U Ultra Mobile PC UMPC Q1F NP-Q1-F000 || <!--Chipset-->Intel A100 600 / A110 Stealey 800 MHz CPU || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Maybe|GMA 950 2D and 3D opengl1}} || <!--Audio-->{{No|HD Audio 1986}} || <!--USB--> || <!--Ethernet-->Intel || <!--Wireless-->{{Maybe|Atheros 5006EX}} || <!--Test Distro-->2016 Icaros 2.1 || <!--Comments-->2006 32bit 1024×600 - sd card slot -
|-
| <!--Name-->NP P500 family P500Y || <!--Chipset-->AMD with SB600 || <!--IDE-->{{N/A| }} || <!--SATA-->{{Yes| }} || <!--Gfx-->{{Maybe|use VESA Ati x1250}} || <!--Audio-->{{Yes| Audio with codec }} || <!--USB--> || <!--Ethernet-->{{No|Marvell 88E8039 yukon}} || <!--Wireless-->{{yes|Atheros G}} || <!--Test Distro-->2017 Icaros 2.1.2 || <!--Comments-->64bit possible - 15.4 tft display - cheap plastic okay build - 19v propriety end -
|-
| <!--Name-->R505 R510 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless-->Atheros G || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->R520 R522 R610H R620 || <!--Chipset-->Intel Mobile Core i3 Intel PM45 82801M ICH9-M|| <!--IDE--> || <!--SATA--> || <!--Gfx-->ATI Mobility Radeon HD 4650 (RV730) || <!--Audio-->Intel HD Audio with Realtek ALC272 || <!--USB--> || <!--Ethernet-->Marvell Yukon 88E8057 || <!--Wireless-->Atheros AR5007EG || <!--Test Distro--> || <!--Comments-->2010 64 bit possible
|-
| NP-R530 || || {{N/A}} || {{partial|IDE mode}} || {{yes|Intel GMA (2D)}} || {{partial|HD Audio playback}} || {{yes|USB 2.0}} || {{no|Marvell}} || {{unk|Atheros AR9285}} || Icaros 1.5.2 || <!--Comments-->
|-
| <!--Name-->Samsung R730 17.3 Essential Notebook NP-R730-JA02UK, NP-R730-JA01SE, R730-JT06 || <!--Chipset-->Intel HM55 Dual Core T4300 i3-370M || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA for Intel 4500MHD and GeForce G 310M with 1 VGA, 1 HDMI}} || <!--Audio-->{{Yes|HDAudio ALC??? codec Realtek}} || <!--USB-->{{yes|USB2}} || <!--Ethernet-->{{No|Marvell Yukon 88E8059 PCI-E}} || <!--Wireless-->{{unk|Broadcom, Intel or Atheros 9k AR9285}} || <!--Test Distro-->Deadwoods ISO 2023-11 || <!--Comments-->2010 64bit - 17.3in HD 1280 x 720 pixels low contrast or some 1600x900 - 2 DDR3 sodimm slots - 2.84 kg 6.26 lbs -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->[http://www.notebookcheck.net/Review-Samsung-305U1A-A01DE-Subnotebook.68246.0.html Series 3 Samsung 305u1a] || <!--Chipset-->AMD Zacate E350 or E450 || <!--IDE--> || <!--SATA--> || <!--Gfx-->AMD Radeon 6320 || <!--Audio-->ALC ACL 269 || <!--USB--> || <!--Ethernet-->Realtek 8111 8169 || <!--Wireless-->Broadcom 4313 || <!--Comments-->2011 64bit
|-
| <!--Name-->NP-RV415 NP-RV515 || <!--Chipset-->E350 or E450 plus A50M chipset || <!--IDE--> || <!--SATA--> || <!--Gfx-->AMD Radeon HD 6470 || <!--Audio-->HD Audio Realtek || <!--USB--> || <!--Ethernet-->{{unk|RTL8169 Realtek RTL8111 8168B}} || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro--> || <!--Comments-->2012 64bit slow -
|-
| <!--Name-->Series 5 NP535U3C || <!--Chipset-->A6-4455M || <!--IDE-->{{N/A}} || <!--SATA-->2.5in || <!--Gfx-->radeon || <!--Audio-->HDAudio || <!--USB-->USB2 || <!--Ethernet-->Realtek GbE || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2012 64bit slow - 13.3in 1368 x 768 - plastic build - 65w 19v psu -
|-
| <!--Name-->series 3 NP355V5C || <!--Chipset-->A6-4400M, A8-4500M, A10-4600M || <!--IDE-->{{N/A}} || <!--SATA-->2.5in || <!--Gfx-->7640M || <!--Audio-->HDAudio || <!--USB-->USB2 || <!--Ethernet-->Realtek GbE || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2012 64bit - 15.4in 1368 x 768 - plastic build - 65w 19v psu -
|-
| <!--Name-->Samsung ATIV Book 9 Lite NP905S3G || <!--Chipset-->AMD A6-1450 quad 1GHz Temash atom like || <!--IDE--> || <!--SATA-->128gb || <!--Gfx-->AMD 8250 || <!--Audio-->HD Audio || <!--USB--> || <!--Ethernet-->{{Maybe|Realtek rtl8169 but only with mini LAN AA-AE2N12B Ethernet Adapter RJ45 dongle}} || <!--Wireless-->{{unk|Atheros AR9565}} || <!--Test Distro--> || <!--Comments-->2014 64bit - 13.3 TN glossy 1366 x 768 200nits 60% srgb - plastic case - 26W battery built in with 4hr life - 19V 2.1A 3.0*1.0mm psu - 1 ddr3l slot max 4gb - 720p webcam - mini hdmi out - 1w speakers -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====Toshiba====
[[#top|...to the top]]
Order of Build Quality (Lowest to highest)
<pre >
Equium
Satellite (Pro)
Libretto
Portege
Tecra
</pre >
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| Tecra 8100 8200 9000 || 440BX || {{yes|IDE}} || {{N/A}} || {{maybe|S3 Savage MX 3D (VESA only)}} || {{no|Yamaha DS-XG ymf744 ymf-754}} || {{yes|USB1.1 only}} || {{N/A}} || {{N/A}} || Icaros 1.5 || little support
|-
| <!--Name-->Tecra 9100 || <!--Chipset-->810 || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{maybe|S3 Savage IX}} || <!--Audio-->{{no|ymf754}} || <!--USB-->USB 1.1 || <!--Ethernet-->eeee pro100 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->PSU Adapter For Toshiba Tecra 9000 9100 A1 A10 A11 A3 A3X A4 A5 A7 M1 M2 M3 M4 M5 M7 M9 R10 S1 series 75 Watt 15V 5A
|-
| [http://tuxmobil.org/toshiba_sp4600.html Satellite Pro 4600] || i810 || IDE || {{N/A}} || {{maybe|Trident Cyber Blade XP (VESA only)}} || {{no|YAMAHA DS-XG AC97 ymf754}} || {{yes|USB}} || {{yes|Intel e100}} || {{no|Agere (internal PCMCIA)}} || || little support
|-
| Satellite 2805 S603 || Intel 815 || {{yes|IDE}} || {{N/A}} || {{maybe|nVidia GeForce2 Go}} || {{no|Yamaha Corp YMF 754}} || {{yes|USB}} || {{yes|Intel PRO/100}} || {{dunno}} || || little support
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Satellite A10 S167 S1291 - A15 A20 A25 || <!--Chipset-->P4M || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 852GM or Radeon || <!--Audio--> || <!--USB--> || <!--Ethernet-->RTL 8139 || <!--Wireless-->{{Maybe|Intel 2100, Agere or Atheros PA3399U 1MPC minipci}} || <!--Test Distro--> || <!--Comments-->a few models came with antenna leads
|-
| Satellite [http://eu.computers.toshiba-europe.com/innovation/jsp/SUPPORTSECTION/discontinuedProductPage.do?service=EU&com.broadvision.session.new=Yes&PRODUCT_ID=76230 A30-714] || P4-M / 82845 i845 || {{yes|82801}} || {{N/A}} || {{maybe|VESA}} || {{yes|AC97}} || {{yes}} || {{yes|RTL8139}} || {{N/A}} || Icaros 1.2.4 || nice laptop, drawbacks: heavy, really hot (P4-3.06 GHz!!) - A30 (EU) A33 (Australian) A35 (USA) -
|-
| <!--Name-->Satellite A40 A45 || <!--Chipset-->P4M or Celeron M with Intel 845 865 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 852GME or Radeon 7000 Mobility || <!--Audio-->AC97 Realtek || <!--USB-->USB2.0 || <!--Ethernet--> || <!--Wireless-->Atheros 5002G 5004G - PA3299U mini pci || <!--Test Distro--> || <!--Comments-->2003 32bit - A40 S161 A40-S1611 A40-2701, A45-S120 A45-S1201 S130 S1301 S1501 -
|-
| <!--Name-->Satellite a50 A55 a60-s156 Equium A60 PSA67E A65 || <!--Chipset-->P4M or Celeron M with Intel 845 865 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 852GME or Radeon 7000 Mobility || <!--Audio-->AC97 Realtek || <!--USB-->USB2.0 || <!--Ethernet--> || <!--Wireless-->Atheros 5002G 5004G - PA3299U mini-pci || <!--Test Distro--> || <!--Comments-->2003 32bit -
|-
| <!--Name-->Satellite A70 A75-S206 A80 A85-S107 || <!--Chipset-->P4M or Celeron-M with Intel 845 865 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 852GME or Radeon 7000 Mobility || <!--Audio-->AC97 Realtek || <!--USB-->USB2.0 || <!--Ethernet--> || <!--Wireless-->Atheros 5002G 5004G - PA3299U mini-pci || <!--Test Distro-->Icaros 1.5.1 || <!--Comments-->2003 32bit -
|-
| Toshiba Satellite Pro M30 || intel 855 || {{yes|boots with ATA=nodma option}} || {{N/A}} || {{maybe|VESA}} || {{yes|AC97}} || {{yes|USB2.0}} || {{yes|Intel PRO/100 VE}} || {{dunno}} || Icaros 1.5 || nice laptop with some support
|-
| <!--Name-->Portege M300 - M200 tablet || <!--Chipset-->855GM with 1.2GHz Pentium M 753 || <!--IDE-->{{yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{maybe|VESA 2d only - tablet with nvidia 5200 go}} || <!--Audio-->{{no|AC97 STAC 9750}} || <!--USB-->{{yes}} || <!--Ethernet-->{{yes|Intel PRO 100}} || <!--Wireless-->{{no|Intel PRO Wireless 2200BG}} || <!--Test Distro--> || <!--Comments-->little support
|-
| <!--Name-->Tecra M2 M2-S || <!--Chipset-->Intel 855P Pentium-M || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->nvidia fx go5200 32mb or 64mb agp || <!--Audio-->AC97 1981B || <!--USB--> || <!--Ethernet--> || <!--Wireless-->Intel Pro || <!--Test Distro--> || <!--Comments-->2003 32bit - PSU 15V 5A -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Satellite Pro L20 267 (PSL2YE PSL2XE) PSL25E L30 || <!--Chipset-->Celeron M 370 1.4 1.5GHz, 1.73Ghz with RC410M SB400 || <!--IDE-->{{N/A| }} || <!--SATA-->{{yes|IDE mode}} || <!--Gfx-->{{Maybe|use VESA - Ati x200}} || <!--Audio-->{{No|[https://forums.gentoo.org/viewtopic-t-490297-start-0.html ALC861]}} || <!--USB-->{{Maybe|Boots usb sticks}} || <!--Ethernet-->{{yes|rtl8139 Realtek 8139}} || <!--Wireless-->{{No|Atheros mini-pci should work maybe not working with ATi chipset or need to swap??}} || <!--Test Distro-->2016 Icaros 2.1.1 || <!--Comments-->2004 32bit 14" pioneer dvd-rw - 19v
|-
| <!--Name-->Satellite L30 PSL30E L33 PSL33E || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 800 or ATi RC410 x200 || <!--Audio-->AC97 AD1981B or HD Audio ALC861 || <!--USB--> || <!--Ethernet-->realtek 8139 || <!--Wireless-->Atheros or Intel || <!--Test Distro--> || <!--Comments-->L30 PSL30L 101 PSL33E 113 115 134 00M019 -
|-
| Satellite Pro M40 313 psm44e || AMD with Ati || {{yes|boots with ATA=nodma}} || {{N/A}} || {{maybe|VESA}} || {{yes|AC97}} || {{yes|USB2.0}} || {{yes|}} || {{maybe|atheros askey ar5bmb5 mini pci}} || || 2005 32bit - nice laptop with some support
|-
| <!--Name-->Satellite L40 PSL40E PSL40L, PSL43E || <!--Chipset-->945GM with U7700 1.3GHz ULV || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 945 || <!--Audio-->{{No|Intel HD with AD1986A codec}} || <!--USB-->2 USB2.0 || <!--Ethernet-->realtek 8139 || <!--Wireless-->Atheros AR24xx Askey || <!--Test Distro-->Icaros 2.0.3 || <!--Comments-->2006 32bit only - - 12X 13G 139 14B 143 15J 19O -
|-
| <!--Name-->Satellite L45 PSL40U S7409 S2416 || <!--Chipset-->945GM with Celeron M 440 1.86 GHz || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 945 || <!--Audio-->{{No|Intel HD with AD1986A codec}} || <!--USB-->2 USB2.0 || <!--Ethernet-->realtek 8139 || <!--Wireless-->Atheros AR24xx Askey || <!--Test Distro-->Icaros 2.0.3 || <!--Comments-->2006 32bit only -
|-
| <!--Name-->Satellite Pro A100 || <!--Chipset-->940G || <!--IDE--> || <!--SATA--> || <!--Gfx-->Nvidia G72M Quadro NVS 110M GeForce Go 7300 / Ati (PSAA3E)|| <!--Audio-->HD Audio with ALC861 codec || <!--USB--> || <!--Ethernet-->Intel 100 || <!--Wireless-->Intel 3945 swap with atheros || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Satellite A110 159 (PSAB0), Equium A110 (PSAB2E), Satellite A110 233 (PSAB6), || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio-->ALC861 || <!--USB--> || <!--Ethernet-->Realtek 8136 || <!--Wireless-->Atheros || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Satellite Pro A120 PSAC0 PSAC1 PSAC1E || <!--Chipset-->Core Solo GMA 950 to T2300 || <!--IDE--> || <!--SATA--> || <!--Gfx-->GMA 945 || <!--Audio-->ALC262 or AC97 AD1981B || <!--USB-->UHCI EHCI || <!--Ethernet--> || <!--Wireless-->Atheros Ar5001 or Intel or Broadcom || <!--Test Distro--> || <!--Comments-->15V 4A charger -
|-
| <!--Name-->Satellite Pro A120 || <!--Chipset-->Core Duo ATi RS480 + SB450 || <!--IDE--> || <!--SATA--> || <!--Gfx-->use VESA - ATI RC410 Radeon Xpress 200M || <!--Audio-->ALC262 || <!--USB-->OCHI UHCI || <!--Ethernet-->RTL 8139 || <!--Wireless-->Intel 3945 or Atheros Ar5001 || <!--Test Distro--> || <!--Comments-->15v 5a proprietary charger needed
|-
| <!--Name-->Satelite A130 PSAD6U || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet-->Realtek 8101E || <!--Wireless-->Atheros or Intel || <!--Test Distro--> || <!--Comments-->ST1311 s1311 ST1312 S2276 S2386 -
|-
| <!--Name-->Satellite A135 S2686 (Compal LA 3391P) || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet-->Realtek 8101E || <!--Wireless-->Atheros or Intel || <!--Test Distro--> || <!--Comments-->S2246 S2346 S2256 S4477 S4666 S4827 -
|-
| <!--Name-->Satellite A200 PSAE1E (Inventec MW10M) || <!--Chipset-->Pentium M with 945GM Express Celeron M 520 1.6Ghz or Pentium® Core Duo T2130 1.86 GHz || <!--IDE--> {{N/A}}|| <!--SATA--> {{Maybe|SATA}}|| <!--Gfx--> {{Yes|Intel GMA 950 (2D and 3D)}}|| <!--Audio--> {{Yes|HD Audio ALC862}}|| <!--USB--> {{Yes| }}|| <!--Ethernet--> {{yes|RTL8101E rtl8139}}|| <!--Wireless--> {{yes|Atheros 5000 - FN,F5 or FN,F8 or switch}} || <!--Test Distro-->2016 AspireOS 1.8 || <!--Comments-->2006 Excellent 32 bit support! - make sure that your WLAN card is enabled, do this using the hardware switch and FN+F8 key combination
|-
| <!--Name--> A210, Satellite A215 AMD (Inventec 10A) S5808 || <!--Chipset--> Ati with SB690 || <!--IDE--> {{N/A}}|| <!--SATA-->{{Maybe|SATA}}|| <!--Gfx-->{{Maybe|use VESA HD2600 Mobility M76}} || <!--Audio-->HD Audio ALC268 || <!--USB--> {{Yes| }}|| <!--Ethernet-->{{yes|RTL8101E}}|| <!--Wireless--> {{yes|Atheros 5000}}|| <!--Test Distro-->2018 AspireOS 1.8 || <!--Comments-->A215-S7422 A215-S7472 A215-S4697 (USA) -
|-
| <!--Name--> [http://www.amiga.org/forums/showthread.php?t=62036 A215 S4757] || <!--Chipset--> Ati X1200 with SB600 || <!--IDE--> {{N/A}}|| <!--SATA-->{{Maybe|SATA}}|| <!--Gfx-->{{Maybe}} || <!--Audio-->HD Audio || <!--USB--> {{Yes| }}|| <!--Ethernet-->{{yes|RTL8101E}}|| <!--Wireless--> {{yes|Atheros 5000}}|| <!--Test Distro-->2017 AspireOS 1.8 || <!--Comments-->
|-
| <!--Name-->Qosmio G30 (PQG31C-HD202E) || <!--Chipset-->945 with Duo T2500 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{yes|Nouveau Nvidia Go 7600 2d and 3d}} || <!--Audio-->{{yes| }} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2006 32bit - 17" UXGA 1920x1200,
|-
| <!--Name-->Tecra A10 || <!--Chipset--> || <!--IDE--> {{N/A}} || <!--SATA--> {{Maybe|IDE mode}} || <!--Gfx--> {{Maybe|Intel GMA 4500M (2D)}} || <!--Audio--> {{Yes|HD Audio}} || <!--USB--> {{Yes|USB 2.0}} || <!--Ethernet-->{{No|Intel PRO 1000}} || <!--Wireless-->{{No|Intel WiFi Link 5100}} || <!--Test Distro--> || <!--Comments-->64 bit possible
|-
| <!--Name-->L35 - L40 PSL48E - L45 S7423 || <!--Chipset-->GL960 with Intel Celeron || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|X3100 some 2D but software 3d tunnel 9 gearbox 4}} || <!--Audio-->{{Yes|HD Audio with ALC660 codec playback}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{Yes|REALTEK 8139}} || <!--Wireless-->{{No|Realtek 8187b replace with Atheros 5k}} || <!--Test Distro-->2017 Icaros 2.1.2 || <!--Comments-->1,73Ghz M 520 or M 540 or Dual T2310 (1.46 GHz) T2330 (1.6 GHz) - 14H 14N 15B 17H 17K 17R 17S 18Z -
|-
| <!--Name-->Satellite a300 - inventec potomac 10s pt10s A300D 21H || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->ATI Mobility Radeon HD 3650 || <!--Audio-->HD Audio - Realtek || <!--USB--> || <!--Ethernet-->Realtek 8102E || <!--Wireless-->Atheros 5005 || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->satellite L300D-224 PSLC8E PSLC9E, l305 (inventec ps10s) || <!--Chipset-->AMD M780 with Turion RM70 or QL-64 || <!--IDE--> {{yes|IDE}} || <!--SATA--> {{yes|SATA}} || <!--Gfx--> {{Maybe|use VESA for Radeon 3100}} || <!--Audio-->{{maybe|HD Audio with Realtek ALC268}} || <!--USB--> {{yes|USB 2.0}} || <!--Ethernet--> {{no|rtl8169 Realtek RTL8101E RTL8102E}} || <!--Wireless-->{{no|Atheros G XB63L or Intel or Realtek}} || <!--Test Distro--> Icaros Desktop Live 2.3 AROS One 2.3 || <!--Comments--> Wireless-handler crashing when using Atheros-Wireless-Card
|-
| <!--Name-->Satellite P300 (PSPC0C-01D01C) || <!--Chipset-->945GM with Intel Core 2 Duo T5750 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{maybe| }} || <!--Audio-->{{No| codec}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{No| swap with Atheros 5k }} || <!--Test Distro-->AROS One 64bit || <!--Comments-->2007
|-
| <!--Name-->satellite l300-1bw PSLBDE-005005AR, L300-148 PSLB0E, l300-20D PSLB8E-06Q007EN, l300-294 L300-23L PSLB9E || <!--Chipset-->Intel GM45 + PGA478 socket Celeron 900, Pentium T1600, T2390, T3400 (Socket P) to Core2 Duo T6400 T6670 || <!--IDE--> {{unk|IDE}} || <!--SATA--> {{unk|SATA}} || <!--Gfx--> {{Maybe|use VESA for Intel gma 4500M}} || <!--Audio-->{{maybe|HD Audio with Realtek ALC???}} || <!--USB--> {{unk|USB 2.0}} || <!--Ethernet--> {{unk|rtl8169 Realtek 810xE}} || <!--Wireless-->{{no|Intel or Realtek}} || <!--Test Distro--> || <!--Comments-->2009 64-bit - new unfamiliar Bios called insyde H20 -
|-
| <!--Name-->satellite l350d || <!--Chipset-->AMD Athlon (tm) X2 QL-60 + RS780M || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Radeon HD 3100 || <!--Audio-->HD Audio with Realtek || <!--USB--> || <!--Ethernet-->Realtek || <!--Wireless-->Realtek 8187b || <!--Test Distro--> || <!--Comments-->2009 64bit
|-
| <!--Name-->Satellite L450 12 13 14 || <!--Chipset-->AMD Sempron, 2.1GHz with AMD RS780M || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Radeon HD 3200 (based on HD 2400) || <!--Audio--> || <!--USB--> || <!--Ethernet-->Realtek RTL8101E RTL8102E || <!--Wireless-->Realtek 8172 || <!--Test Distro--> || <!--Comments-->2009 64bit - 12X 13P 13X 14V PSLY6E00C006EN
|-
| <!--Name-->Satellite Pro L450 (Compal LA-5821P) 179 || <!--Chipset-->intel celeron 900 2.20 Ghz no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->intel 4500m || <!--Audio-->HD Audio with codec || <!--USB--> || <!--Ethernet-->RTL8101 /2 /6E PCI Express Gigabit || <!--Wireless-->RTL8191 SEvB || <!--Test Distro--> || <!--Comments-->2009 64bit - 39.6cm (15.6”) Toshiba TruBrite® HD TFT 16:9 768p
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Toshiba Satellite P775, P775-S7320 and P775-10K || <!--Chipset-->Intel Core i5 (2nd Gen) 2430M i7-2630QM || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|Vesa 2D for Intel}} || <!--Audio-->{{maybe| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2011 17.3" - 1600 x 900 (HD+) - 2 DDR3 sodimm max 16Gb -
|-
|<!--Name-->Toshiba Satellite C660D-19X || <!--Chipset-->AMD E-300 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{maybe|Vesa 2D for ATi}} || <!--Audio-->{{no|HD Audio with Realtek codec}} || <!--USB-->{{no| }} || <!--Ethernet-->{{Maybe|r8169 rtl8101e}} || <!--Wireless-->{{no|Realtek RTL8188 8192ce rtl8192ce}} || <!--Test Distro--> || <!--Comments-->2011 64bit -
|-
| <!--Name-->L755D (E-350) L750D (E-450) || <!--Chipset-->AMD E350 E450 no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Radeon HD 6310 6320 || <!--Audio-->HDAudio conexant codec || <!--USB--> || <!--Ethernet--> || <!--Wireless-->Realtek || <!--Test Distro--> || <!--Comments-->2012 64bit
|-
| <!--Name-->Satellite Pro SP C640 C660D-15X (PSC1YE) C670D- () || <!--Chipset-->AMD E350 no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->6310G || <!--Audio-->HD Realtek ALC259 || <!--USB-->USB2 || <!--Ethernet-->Realtek || <!--Wireless-->Broadcom || <!--Test Distro--> || <!--Comments-->2012 64bit
|-
| <!--Name-->C70D-A C75D-A || <!--Chipset-->E1-1200 no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{maybe|AMD HD8330}} || <!--Audio-->{{no|HA Audio CX20751 11Z}} || <!--USB-->{{no| }} || <!--Ethernet-->{{no|Atheros AR8162 alx}} || <!--Wireless-->{{no|Realtek 8188e}} || <!--Test Distro--> || <!--Comments-->2013 64bit -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
|}
====Misc====
[[#top|...to the top]]
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->Time 500 Packard Bell EasyOne 1450 1550 || <!--Chipset-->K6-3 500Mhz + VIA MVP4 vt82c686a || <!--IDE-->{{N/A|Issues}} || <!--SATA-->{{N/A}} || <!--Gfx-->Use VESA || <!--Audio-->{{No|VIA AC97 3058 with wolfson codec WM9703 WM9704 WM9707 WM9708 or WM9717}} || <!--USB-->via 3038 2 ports USB 1.1 untested || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A}} || <!--Test Distro-->NB May 2013 || <!--Comments-->2001 32bit grub runs but stalls around [PCI] Everything OK
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Sony Vaio PCG FX201/FX202 FX210/FX215 FX401/FX402 FX404/FX405 972M, FX501/FX502 FX504/FX505 || <!--Chipset-->VIA KT133A KM133 Duron 800Mhz Athlon 1.3Ghz || <!--IDE-->{{partial|boot issue with 2013 kernel VIA [rev 06]}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{partial|ATI Rage Mobility Pro (VESA only)}} || <!--Audio-->{{Yes|VIA AC97 686b [rev 50] AD1881A Ear phone and Mic}} || <!--USB-->{{Maybe|issues}} || <!--Ethernet-->{{Yes|RTL 8139}} || <!--Wireless-->{{N/A}} || <!--Comments-->Nightly 1st March 2013 || <!--Comments-->booting usb pendrive from Plop Boot Loader floppy (no bios USB boot). Can freeze coz hardware issue or a ram slot problem - no support for iLink firewire VT8363/8365 pci - vt82c686b
|-
| <!--Name-->Sony Vaio PCG FX601/FX602, FX604/FX605 FXA53(US), FX701/FX702, FX704/FX705, FX801/FX802 FX804/FX805 || <!--Chipset-->VIA KT133A KM133 Duron 800Mhz Athlon 1.3Ghz || <!--IDE-->{{partial|boot issue with 2013 kernel VIA [rev 06]}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{partial|ATI Rage Mobility Pro (VESA only)}} || <!--Audio-->{{Yes|VIA AC97 686b [rev 50] AD1881A Ear phone and Mic}} || <!--USB-->{{Maybe|issues}} || <!--Ethernet-->{{Yes|RTL 8139}} || <!--Wireless-->{{N/A}} || <!--Comments-->Nightly 1st March 2013 || <!--Comments-->booting usb pendrive somes works
|-
| <!--Name-->Sony Vaio PCG FX100 R505LE || <!--Chipset-->Intel i815 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Use VESA Intel 82815 CGC || <!--Audio-->Intel ICH AC97 with ADI AD1881A codec || <!--USB--> || <!--Ethernet-->Intel e100 || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->PCG-FX105 FX105K PCG-FX108 FX108K PCG-FX109 FX109K FX200 FX203/FX203K FX205 FX205K FX209 FX209K FX220 [http://juljas.net/linux/vaiofx240/ FX240] FX250 FX270 FX290 FX301 FX302 FX340 FX370 FX390 FX403 FX503 FX950
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| Sony VAIO VGN X505VP || Pentium M ULV and Intel 855GM || {{yes}} || {{N/A}} || {{maybe|Intel 855 (VESA only)}} || {{yes|AC97}} || {{yes|USB}} || {{yes|Intel PRO 100 VE}} || {{N/A}} || || 2004 32bit - 0.38 inches at its thinnest point - first laptop to feature a "chiclet" keyboard resemble Chiclets gum -
|-
| <!--Name-->Sony Z505LE Z505JE || <!--Chipset-->P3 || <!--IDE--> || <!--SATA-->n/a || <!--Gfx-->Rage Mobility M1 AGP mach64 || <!--Audio-->no Yamaha DS-XG PCI YMF744 || <!--USB--> || <!--Ethernet-->Intel 8255x based PCI e100 || <!--Wireless-->n/a || <!--Test Distro--> || <!--Comments-->2004 32bit -
|-
| <!--Name-->Panasonic Toughbook CF-18 || <!--Chipset-->Core || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{yes|gma for i915}} || <!--Audio-->{{yes|AC97 SigmaTel}} || <!--USB-->{{yes|usb2 }} || <!--Ethernet-->{{yes|RTL 8139C}} || <!--Wireless-->{{no|Intel swap for atheros 5k}} || <!--Test Distro-->Deadwoods' D02 test || <!--Comments-->2003 32bit
|-
| <!--Name-->Panasonic Toughbook CF-29 CF-30 || <!--Chipset-->Core || <!--IDE--> || <!--SATA--> || <!--Gfx-->use VESA || <!--Audio-->AC97 SigmaTel || <!--USB--> || <!--Ethernet-->RTL 8139C || <!--Wireless-->Intel || <!--Test Distro--> || <!--Comments-->2003 32bit
|-
| <!--Name-->MSI Microstar PR210 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA ATi RS690M}} || <!--Audio-->{{Yes|HD Audio through speaker / head phones but not hdmi}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{yes|Realtek 8111 8169}} || <!--Wireless-->Atheros AR242x AR542x aw-ge780 mini pci-e || <!--Test Distro-->2017 Icaros 2.1.2 || <!--Comments-->2004 32bit - ENE PCI based SD card with no bios boot option
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Advent 7106 EAA-88 || <!--Chipset-->Pentium M 1.7GHz with 915GM || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|2D and 3D tunnel 187 gearbox 67}} || <!--Audio-->{{Yes|AC97 Intel ICH6 with Conexant Cx20468 31 codec playback head phones only}} || <!--USB--> || <!--Ethernet-->{{Yes|Realtek 8169}} || <!--Wireless-->{{No|Intel 2200BG Fn/F2 replaced with atheros mini pci in small base panel - startup errors in wireless manager}} || <!--Test Distro-->2017 Icaros 2.1.1 || <!--Comments-->2005 32bit 14" cheap rubbish sadly - fan noise through audio channel -
|-
| <!--Name-->Motion Computing LE1600 PC Slate || <!--Chipset-->915 || <!--IDE--> || <!--SATA--> || <!--Gfx-->915 || <!--Audio-->Intel AC97 SigmaTel STAC9758 9759 || <!--USB--> || <!--Ethernet-->Realtek 8169 || <!--Wireless-->Intel PRO Wireless 2200BG || <!--Test Distro--> || <!--Comments-->2005 serial Wacom digitiser not usb
|-
| <!--Name-->Panasonic Toughbook CF-51 CF-P1 CF-T5 CF-Y2 || <!--Chipset-->945GMS || <!--IDE--> || <!--SATA--> || <!--Gfx-->GMA 950 || <!--Audio-->HD Audio || <!--USB--> || <!--Ethernet-->Broadcom || <!--Wireless-->Intel || <!--Test Distro--> || <!--Comments-->2006 32bit
|-
| <!--Name-->Sony Vaio VGN-AR11S || <!--Chipset-->ntel Core Duo T2500 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{yes| Nvidia Go 7600}} || <!--Audio-->{{yes| }} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{No| }} || <!--Test Distro-->Aros One 32bit || <!--Comments-->2006 32bit - 17" 1920x1200 - blu-ray -
|-
| Sony Vaio VGN SR29VN || Intel ICH9 || {{N/A}} || {{maybe|IDE legacy}} || {{partial|ATI HD 3400 (VESA only)}} || {{partial|HD Audio (too quiet)}} || {{yes|USB1.1 and USB2.0}} || {{no|Marvell 8040}} || {{no|Intel 5100}} || Icaros 1.5 || 2007 32bit -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Wyse XM Class DELL WYSE Xn0m LAPTOP || <!--Chipset-->AMD T-G56N 1.6 1.65Ghz || <!--IDE-->{{N/A| }} || <!--SATA-->decased 2.5in ssd || <!--Gfx-->{{Maybe|Vesa 2d only AMD 6320}} || <!--Audio-->{{Maybe| }} || <!--USB-->{{Maybe|EHCI 2.0 with NEC uPD720200 USB 3.0}} || <!--Ethernet-->{{Yes|Realtek rtl8169 8111E}} || <!--Wireless-->{{No|Atheros 93xx}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - 1366 x 768 14" - 2 ddr3l slots max 16gb - 19v coax barrel plug psu -
|-
| <!--Name-->Panasonic Toughpad FZ-G1 MK2 || <!--Chipset-->Core i5-3437U, 1.9GHz || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet-->{{N/A}} || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2014 64bit -
|-
| <!--Name-->ToughPad FZ-G1 Mk3 || <!--Chipset-->Intel Core i5-4310U || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->Intel HD 4400 || <!--Audio-->HDaudio Codec ALC255 || <!--USB--> || <!--Ethernet-->{{N/A}} || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2015 64bit -
|-
| <!--Name-->[https://wiki.recessim.com/view/Panasonic_Toughpad_FZ-G1_MK4 Panasonic Toughpad FZ-G1 MK4] || <!--Chipset-->intel 6300U || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->Intel 520 || <!--Audio-->HDaudio with ALC256 codec - o/c or s/c fails early || <!--USB-->{{maybe|USB3 but options on the right hand side of screen case}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|intel ac 8260}} || <!--Test Distro--> || <!--Comments-->2016 64bit - 10.1in 1600x1200 - 4gb ddr3l soldered - waterproof pen left hand side base - optional slot-in 4g lte and sdhc - 16v 4.06A 64.96W panasonic barrel -
|-
| <!--Name-->Panasonic Toughpad FZ-G1 MK5 || <!--Chipset-->intel i5-7300U || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->Intel 620 || <!--Audio-->HDaudio ALC295 codec - o/c or s/c fails early || <!--USB-->{{maybe|USB3 but optional usb2 plugin r.h.s. of screen casing}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Intel}} || <!--Test Distro--> || <!--Comments-->2018 64bit - 8gb ddr3l soldered - 10.1" WUXGA 1920 x 1200 with LED backlighting screen 2-800 nit - 10-point capacitive multi touch + Waterproof Digitizer pen l.h.s -
|-
| <!--Name-->ToughPad FZ-M1 || <!--Chipset-->Intel® Core TM m5-6Y57 vPro TM || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->Intel HD 4200 || <!--Audio-->HDaudio with ALC codec || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2016 64bit - 7in 800p - 8gb ddr3l soldered -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments
|-
| <!--Name-->Any Razor Razer laptops || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->AVOID unable to remove secure boot
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
===Netbook===
[[#top|...to the top]]
* PC to write Aros image onto an USB pendrive with Raspberry PI writer, USB writer or Rufus for boot purposes on a netbook
* SD card sometimes can boot like Dell 2100, EeePC 1001P, ASUS EeePC 900, acer aspire one d150, MSI Wind U100,
====Acer Packard Bell Netbooks====
[[#top|...to the top]]
{| class="wikitable sortable" width=100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| Aspire One AOA110 (A110) (ZG5) || Intel 945GSE || {{N/A}} || {{Maybe|IDE legacy mode}} || {{Yes|Intel GMA (2D and 3D) tunnel 99 and gearbox 84 score}} || {{Yes|HD Audio ALC6628}} || {{Yes|USB1.1 and USB2.0}} || {{Yes|rtl8169 RTL8101E}} || {{Yes|AR5006}} atheros 5k || 2016 AspireOS 1.8, 2025 Aros One 2.6 32bit USB || 2007 32bit 1 core - 19v barrel A13-045N2A 19V2.37A 45W 5.5x1.7mm -
|-
| Aspire One AOA150 (A150) (ZG5) || Intel 945GSE || {{N/A}} || {{Maybe|ide mode}} || {{Yes|Intel GMA 2D and accelerated 3D with tunnel 99 and gearbox 84.1 result}} || {{Yes|HD Audio ALC6628}} || {{Yes|uhci and ehci}} || {{Yes|rtl8169 RTL8101E}} || {{Yes|AR5006}} atheros 5k || 2016 AspireOS 1.8, 2025 aros one 2.6 32bit USB || 2007 32bit 1 core - 19v barrel -
|-
| Aspire One AOD150 D150 (Compal LA-4781P), AOD110 D110 (ssd) || Intel 945GME || {{N/A}} || {{Maybe|ide legacy}} || {{Yes|Intel GMA 950 (2D)}} || {{Yes|HDAudio with alc272}} || {{Yes|USB}} || {{No|Atheros AR8121 AR8113 AR8114 l1e}} || {{Maybe|AR5007EG AR5BXB63 works but Broadcom BCM4312 has no support}} || 2010 Icaros Desktop 1.3, 2024 Aros one 32bit USB || 2008 32bit 1 core - 19v barrel -
|-
| Aspire One (ZG8) || Intel 945G and N270 || {{N/A}} || {{Maybe|ide mode}} || {{Yes|Intel GMA 2D and accelerated 3D}} || {{maybe|HD Audio }} || {{Yes|uhci and ehci}} || {{No|Broadcom }} || {{no|Intel}} || 2014 AspireOS 1.8 || 2009 32bit -
|-
| Aspire One AOD250 D250 emachines em250 || 945GME || {{N/A}} || {{Maybe|ide legacy}} || {{Yes|Intel GMA (2D)}} || {{Yes|alc272 HD Audio}} || {{Yes}} || {{No|AR8132 (L1c)}} || {{No|BCM4312 or Atheros AR5B95}} || 2010 Icaros 1.3 || 2009 32bit 1 core - 19v barrel -
|-
| <!--Name-->Aspire AO532H (Compal LA-5651p) 533H Pineview || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio-->{{Yes|HD Audio playback}} || <!--USB--> || <!--Ethernet-->{{No|AR8132 (L1c)}} || <!--Wireless-->{{No|Atheros 9k}} || [http://www.amigaworld.net/modules/news/article.php?mode=flat&order=0&item_id=5968 Tested AspireOS June 2011] || <!--Comments-->
|-
| <!--Name-->emachines eM350 NAV51 || <!--Chipset--> with N450 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 3150 || <!--Audio-->HD Audio with codec || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro-->Icaros 2.2 || <!--Comments-->Single core 64bit - 160GB HDD 1GB RAM 10.1" LED backlit screen and Webcam - 3 cell li-ion battery for 3 hours usage -
|-
| <!--Name-->emachines eM355 || <!--Chipset--> with N455 || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->64bit support possible -
|-
| <!--Name-->Aspire One 533 || <!--Chipset-->N455 with NM10 || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes}} || <!--Gfx-->{{Yes|2D 0x8086 0xa011}} || <!--Audio-->{{Yes| ALC272 codec ich7}} || <!--USB-->{{Yes}} || <!--Ethernet-->{{No|Atheros AR8152 v1.1 1c}} || <!--Wireless-->{{No|Broadcom 4313}} || <!--Test Distro-->2016 Icaros 2.1 and AROS One 2.3 || <!--Comments-->2011 64bit - f2 setup - 10.1inch 1024 x 768 -
|-
| Aspire One AOD255 AOD255e AOD260 AOHAPPY (Compal LA-6221P) || N570 and Nm10 || {{N/A}} || {{Maybe|SATA}} || {{Maybe|Intel GMA 3150}} || Audio || USB || {{No|Atheros AR8152 V1.1 (1lc)}} || {{No|Broadcom BCM4313}} || || a little support
|-
| Aspire One 522 AO522 (Compal LA-7072p) || 1GHz dual C-50 C50 or C-60 C60 + Hudson M1 || {{N/A}} || SATA || AMD 6250 (ATI 9804) or 6290 || ATI SB CX20584 HD Audio || USB || Atheros 8152 v2.0 l1c || {{No|Broadcom BCM4313 or Atheros ath9k}} || ||
|-
| <!--Name-->AAOD270 Aspire One D270 || <!--Chipset-->N2600 Cedarview || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes| }} || <!--Gfx-->{{Yes|2D on Intel GMA 3650}} || <!--Audio-->{{Yes| }} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{Yes|RTL 8169 RTL8101E}} || <!--Wireless-->{{No|Broadcom BCM4313 but swap for Atheros 5k}} || <!--Test Distro--> || <!--Opinion-->2011 64bit atom - ddr2 so-dimm 2gb max -
|-
| <!--Name-->Aspire One AO532G (Compal LA-6091p) || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Aspire One D257 (Quanta ZE6) || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Acer Aspire One 722 AO722 P1VE6 || <!--Chipset-->AMD C-60 C60 with SB900 || <!--IDE-->{{N/A| }} || <!--SATA--> || <!--Gfx-->{{Maybe| use VESA Ati 6290}} || <!--Audio-->{{Yes|HD Audio with codec but no Wrestler HDMI output}} || <!--USB--> || <!--Ethernet-->{{No|Qualcomm Atheros AR8152 v2.0}} || <!--Wireless-->{{unk|Atheros AR9485}} || <!--Test Distro-->2017 Icaros 2.1.2 || <!--Comments-->
|-
| <!--Name-->Aspire One AO721 (Wistron SJV10-NL) || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->AO751 AO751H (Quanta ZA3) || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Packard Bell Dot .S || <!--Chipset-->N280 + || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|legacy}} || <!--Gfx-->{{yes|Intel GMA950 (2D)}}|| <!--Audio-->HD Audio ALC272X || <!--USB--> USB2.0 || <!--Ethernet--> {{no|Atheros l1e}} || <!--Wireless-->{{no|Atheros 9k}} || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Packard Bell Dot .SE || <!--Chipset-->N450 + || <!--IDE-->{{N/A}} || <!--SATA-->legacy || <!--Gfx-->Intel GMA950 (2D) || <!--Audio-->HD Audio ALC|| <!--USB-->USB2.0 || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Packard Bell Dot .S2 NAV50 || <!--Chipset-->N455 NM10 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Intel X3150 || <!--Audio-->HD Audio ALC269 || <!--USB--> || <!--Ethernet-->Atheros || <!--Wireless-->Atheros || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name-->Packard Bell Dot M/A || <!--Chipset-->1.2GHz Athlon L110 + RS690E || <!--IDE-->{{N/A}} || <!--SATA-->legacy mode? || <!--Gfx-->AMD ATI Radeon Xpress X1270 (VESA only) || <!--Audio-->HD Audio ATI SBx00 || <!--USB--> || <!--Ethernet-->Realtek RTL8101E RTL8102E rtl8169 || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro--> || <!--Opinion-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====Asus Netbooks====
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| [http://wiki.debian.org/DebianEeePC/Models eeePC] 700 701 2G 4G 8G Surf || Intel 910GML + ICH7 || {{N/A}} || {{Maybe|IDE legacy mode}} || {{Yes|Intel GMA 900 2D and 3D tunnel 68 gearbox 43 on 701 800x480}} || {{Yes|ALC662 HD Audio}} || {{Yes|UHCI and EHCI}} || {{No|Atheros L2}} || {{Yes|Atheros 5k AR5007EG (AR2425 works}} || 2016 Icaros 2.1.1, 2.1.2, Aros One 2.5 32bit USB, || 2007 32bit - power supplies fail due to bad caps issue 9.5V 2.5A 24W Charger AD59930 4.8*1.7MM -
|-
| [http://wiki.debian.org/DebianEeePC/Models eeePC] 701SD || Intel 910GML + ICH7 || {{N/A}} || {{Maybe|IDE legacy mode}} || {{Maybe|Intel GMA 900 (2D)}} || {{Yes|ALC662 HD Audio}} || {{Yes|UHCI and EHCI}} || {{No|Atheros L2}} || {{No|RTL8187SE swap with Atheros 5k}} || 2014 AspireOS 1.7, || 2007 32bit - boot issues but does boot with ATA=32bit,nopoll or ATA=nodma,nopoll
|-
| [http://wiki.debian.org/DebianEeePC/Models eeePC] 900 || Intel 910GML + ICH7 || {{N/A}} || {{Maybe|IDE legacy mode}} || {{Maybe|Intel GMA 900 (2D, 3D in some models)}} || {{Yes|ALC662 HD Audio}} || {{Yes|UHCI and EHCI}} || {{No|Atheros L2}} || {{Maybe|depends on chipset AR5007EG (AR2425) works but not RaLink}} || 2014 AspireOS 1.7, || 2008 32bit - boot issues but does boot with ATA=32bit,nopoll or ATA=nodma,nopoll. 900's may need BIOS upgrade to boot usb optical drives. 3D available in some model revisions - AD59230 9.5v 2.31a psu -
|-
| eeePC 900A || 945GSE || {{N/A}} || {{Maybe|IDE legacy mode}} || {{Yes|Intel GMA 950 (3D)}} || {{Yes|HD Audio ALC269}} || {{Yes|USB2.0}} || {{No|Atheros L1e [1969 1026]}} || {{Yes|Atheros 5k AR242x}} || Nightly Build 2012, 2023 Aros One 32bit 2.4 || 2009 32bit
|-
| eeePC 901 1000 || 945GM || {{N/A}} || {{Maybe|IDE legacy mode}} || {{yes|Intel GMA 950 (2D)}} || {{Yes|ALC269 HD Audio}} || {{Yes|USB}} || {{No|Atheros L1E (AR8121 AR8113 AR8114)}} || {{No|RaLink Device 2860 swap with Atheros 5k}} || 2011 Icaros 1.4, || 2009 32bit - 12v 3a psu -
|-
| eeePC Seashell 1000HA 1000HE 1008 1005HA || N280 + Intel GMA950 || {{N/A}} || SATA || {{Yes|Intel GMA (2D)}} || {{Yes|HD Audio ALC269}} || {{Yes|USB}} || {{Maybe|Realtek but not Atheros AR8132 (L1c)}} || {{unk|Atheros AR9285}} || 2014 Aspire OS 1.6, || 2010 32bit - 12v 3a psu -
|-
| <!--Name-->eeePC 1001ha || <!--Chipset-->GMA945 || <!--IDE-->{{N/A}} || <!--SATA-->legacy || <!--Gfx-->Intel GMA 950 (2D) || <!--Audio-->ALC269 HD Audio || <!--USB--> || <!--Ethernet-->{{No|Attansic Atheros AR8132 l1c}} || <!--Wireless-->{{No|RaLink RT3090 swap with Atheros 5k}} || <!--Test Distro-->untested || <!--Opinion-->2010 32bit
|-
| eeePC 1001P T101MT 1005PX 1005PE 1015PE Pineview 1001PXD || NM10 and N450 N455 CPU || {{N/A}} || {{Maybe|IDE mode}} || {{Yes|Intel GMA 3150 (2D)}} || {{Yes|HD Audio}} || {{Yes|USB 2.0}} || {{No|Atheros AR8132 (l1c)}} || {{unk|Atheros AR928x 802.11n}} || 2010 Icaros 1.3.3, || 2011 64bit - 19V 2.1A 2.3x0.7 -
|-
| EeePC 1015B 1215B || single C-30 C30 or dual C-50 C50 + Hudson M1 || {{N/A}} || SATA || {{partial|AMD 6250 (VESA only)}} || ATI SBx00 HD Audio || USB || {{No|AR8152 v2.0 atl1c}} || {{No|Broadcom BCM4313 [14e4 4727]}} || untested recently || 2011 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->Flare X101CH Cedarview || <!--Chipset-->N2600 + N10 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Intel GMA 6300 || <!--Audio--> || <!--USB--> || <!--Ethernet-->{{No|Atheros l1c 2.0}} || <!--Wireless-->{{unk|Atheros 9k AR9285}} || <!--Test Distro--> || <!--Comments-->2012 64bit
|-
| <!--Name-->Flare 1025CE 1225CE || <!--Chipset-->N2800 + N10 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{dunno|Intel GMA 3600}} || <!--Audio--> || <!--USB--> || <!--Ethernet-->{{No|Atheros l1c 2.0}} || <!--Wireless-->{{unk|Atheros 9k AR9285}} || <!--Test Distro--> || <!--Comments-->2012 64bit
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====Dell Netbooks====
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| Inspiron 910 Mini 9 PP39S Vostro A90 || GMA945 || {{Maybe|STEC 8G 16G 32G IDE PATA Parallel ATA miniPCIE SSD 50MM / 70MM very slow}} || {{N/A| }} || {{yes|Intel GMA 2D and 3D opengl1}} || {{yes|ALC268 HD Audio}} || {{yes|USB2 boots and works}} || {{yes|rtl8169 Realtek RTL8102E}} || {{no|Broadcom BCM4310 and 4312 swap with atheros 5k bx32}} || ICAROS 1.3 but Icaros 2.3 (pci issues), AROS One 2.6 and Tiny AROS (digiclock startup) mouse cursor vanishes || 2008 32bit - 9inch 1024x600 screen - 1 ddr2 sodimm slot max 2gig - 19v 1.58a - 0 boot disk select - cr2032 battery under laptop base cover, while mem 2GB max under base flap -
|-
| <!--Name-->Inspiron Mini 10 1010 PP19S || <!--Chipset-->Atom Z520 Z530 Intel US15W Poulsbo || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{maybe|Intel GMA 500 (VESA only)}} || <!--Audio-->{{Maybe|HD Audio ALC269 codec}} || <!--USB--> || <!--Ethernet-->{{yes|rtl8169 RTL8102E}} || <!--Wireless-->{{no|Intel or BCM4312}} || <!--Test Distro-->untested || <!--Comments-->2008 32bit - 10.10 inch 16:9, 1366 x 768 glossy - 28whr or 56wHr battery options -
|-
| [https://wiki.ubuntu.com/HardwareSupport/Machines/Netbooks#Dell%20Mini%2010v%20(Inspiron%201011) Mini 10v 1011] [http://wiki.debian.org/InstallingDebianOn/Dell/InspironMini10v ] || Intel 950 || {{N/A}} || {{maybe|ide legacy mode}} || {{yes|Intel GMA (2D)}} || {{maybe|HDAudio}} || {{yes|USB}} || {{yes|RTL8102E 8103E}} || {{no|Dell 1397 Wireless}} || untested || 2008 32bit -
|-
| <!--Name-->Inspiron Mini 1018 || <!--Chipset-->Intel Atom N455 || <!--IDE-->{{N/A}} || <!--SATA-->{{partial|IDE mode }} || <!--Gfx-->{{yes|Intel GMA 3150 (2D, no VGA output)}} || <!--Audio-->{{partial|HD Audio head phones only - speaker and micro phone do not work}} || <!--USB-->{{yes|USB 2.0}} || <!--Ethernet-->{{yes|RTL8169}} || <!--Wireless-->{{unk|RTL8188CE or AR928X}} || <!--Test Distro-->2011 Icaros 1.5.1, || <!--Comments-->2009 64bit - 1 DDR3 max 2gb -
|-
| Latitude 2100 || Intel Atom N270 N280 1.60Ghz GMA 945GME || {{N/A}} || {{Yes|set to IDE in bios as ahci not working || {{yes|Intel GMA 950 (2D and 3D with tunnel 98 and gearbox 84)}} || {{yes|HD Audio with ALC272 codec}} || {{yes|USB2.0}} || {{No|Broadcom BCM5764M}} || {{No|Intel 5100 or BCM4322 DW 1510 half height mini pcie use small Atheros 5k}} || <!--Test Distro-->2016 AspireOS 1.8, Icaros 2.1.1 and AROS One USB 2.4 || 2009 32bit ddr2 sodimm max 2G - [https://sites.google.com/site/arosaspireone/about-aspire-one Webcam and card reader not working] lcd cable over hinge an issue - f12 bios and boot -
|-
| <!--Name-->Latitude 2110 2120 || <!--Chipset-->N470 1.83Ghz, N455 1.6Ghz, N550 1.5Ghz || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|ATA mode in bios not ahci}} || <!--Gfx-->{{Yes|Intel 3150 2D only}} || <!--Audio-->{{Maybe|HD Audio with ALC269 codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No| }} || <!--Wireless-->{{No| swap for Atheros}} || <!--Test Distro-->2014 Icaros 2.3, || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - ddr2 sodimm
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====HP Compaq Netbooks====
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| HP Mini 2133 || VIA C7-M P4M900 / 8237 VX700 || {{N/A}} || {{maybe|SATA}} || {{maybe|VIA Chrome 9 HC (VESA only)}} || {{no|VT1708/A HD Audio}} || USB || {{no|Broadcom Corp NetXtreme BCM5788}} || {{no|Broadcom Corp BCM4312}} || untested || 2008 32bit -
|-
| HP mini 1000 Mi 2140 ks145ut || N270 + 945GM || {{N/A}} || SATA || <!--Gfx-->{{Yes|Intel GMA 950 (2D and opengl1 3d)}} || <!--Audio-->{{Yes|HD Audio (playback tested)}} || <!--USB-->{{Yes| }} || {{no|Marvell 88E8040}} || {{no|Broadcom Corp BCM4312 hard blocked}} || untested || 2009 32Bit - unable to change wifi card
|-
| <!--Name-->HP Mini 700 702 || <!--Chipset-->N270 + 945GSE || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Yes|Intel GMA 950 (2D)}} || <!--Audio-->{{Yes|HD Audio IDT 92HD75B (111d:7608, only playback tested)}} || <!--USB-->{{Yes| }} || <!--Ethernet--> || <!--Wireless-->{{No|Broadcom hard locked}} || <!--Test Distro-->untested || <!--Comments-->2009 32bit -
|-
| Compaq HP Mini 110 110-3112sa || 945GM Express || {{N/A}} || {{maybe|IDE mode}} || {{yes|Intel GMA 950 (2D)}} || {{yes|HD Audio IDT STAC 92xx}} || {{yes|USB 2.0}} || {{no|Atheros}} || {{no|Broadcom hard blocked Fn+F12}} || untested || 2009 32bit - unable to change wifi
|-
| HP Mini 200 210 || 945GM NM10 Express || {{N/A}} || SATA || Intel GMA 950 || {{Maybe|HDAudio with }} || USB || RTL8101E RTL8102E || {{no|Broadcom BCM4312 hard locked}} || untested || 2009 32bit -
|-
| HP Mini 311 DM1 (Quanta FP7) || N280 + ION LE || {{N/A}} || SATA || nVidia Geforce ION || {{maybe|HDAudio with }} || USB || eth || {{No|hard locked}} || untested || 2009 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|}
====Lenovo Netbooks====
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| IdeaPad S9 S9e(3G) S10 S10e(3G) || 945GME || {{N/A}} || {{maybe|SATA}} || {{yes|Intel GMA (2D)}} || {{maybe|ALC269 or SigmaTel HD Audio}} || {{yes|USB}} || {{no|Broadcom NetLink BCM5906M}} || {{no|Broadcom BCM4312 hard blocked}} || untested || 2009 32bit -
|-
| IdeaPad S12 || Intel Atom N270 + Nvidia ION LE MCP79 || {{N/A}} || SATA || nVidia C79 ION [Quadro FX 470M] || {{maybe|ALC269 HD Audio}} || USB || {{no|Broadcom}} || {{no|Intel locked down}} || 2012 Icaros 2.0, || 2009 32bit - does not boot - cause unknown
|-
| S10-2 || 945GME and N280 CPU || {{N/A}} || SATA || {{yes|Intel GMA (2D)}} || {{maybe|ALC269 HD Audio}} || {{yes}} || {{yes|rtl8169}} || {{no|Broadcom BCM4312 hard blocked}} || 2011 Icaros 1.3, || 2009 32bit -
|-
| S10-3 || NM410 and N450 CPU || {{N/A}} || SATA || {{yes|Intel GMA 3150 (2D)}} || {{maybe|HD Audio ALC269}} || {{yes|USB}} || {{yes|rtl8169}} || {{no|Atheros 9285 or Broadcom BCM4312 hard blocked}} || 2011 Icaros 1.3, || 2009 32bit -
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====Samsung Netbooks====
[[#top|...to the top]]
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| [http://www.amigaworld.net/modules/newbb/viewtopic.php?post_id=616910&topic_id=33755&forum=28#616910 NC10] || 945GME || {{N/A}} || {{maybe|SATA}} || {{yes|Intel GMA 950 (2D)}} || {{partial|SigmaTel HD Audio (playback only)}} || {{yes|USB}} || {{maybe|rtl8169 works but not Marvell 88E8040 sky2}} || {{yes|AR5007EG}} || 2011 Icaros 1.4, || 2009 32bit - Nano silver on keyboard and lcd ribbon cable over hinge issues
|-
| [http://www.sammywiki.com/wiki/Samsung_NC20 NC20] || VIA VX800 || {{N/A}} || SATA || {{maybe|VIA Chrome9 (VESA only)}} || ALC272 GR (VT1708A) HD Audio || {{yes|USB}} || {{no|Marvell 88E8040}} || {{yes|Atheros AR5001}} || untested || 2009 32bit -
|-
| NP-N110 NP-N120 || 945GSE || {{N/A}} || SATA || {{yes|Intel GMA 950 (2D)}} || {{yes|ALC272 HD Audio or ALC6628}} || {{yes|USB}} || {{no|Marvell 88E8040}} || {{no|Realtek rtl8187}} || untested || 2009 32bit - Namuga 1.3M Webcam none
|-
| NP-N130 || 945GSE || {{N/A}} || {{yes|SATA in IDE mode}} || {{yes|Intel GMA 2D and opengl 1.x 99.5 tunnel 99 gearbox}} || {{yes|Intel HD with ALC272 ALC269 codec playback}} || {{yes|USB}} || {{yes|RTL 8169.device - 8101e 8102e}} || {{no|rtl 8192se rtl8187 too small an area to swap for atheros 5k}} || untested || 2009 32bit - 10.x inch 1024 x 600 - Namuga 1.3M Webcam - front slide power on and f2 setup bios - keyboard 17.7mm Pitch is made with Silver Nano (Anti-Bacterial) tech - small touchpad - 1 ddr2 2rx16 sodimm slot 2G max - 44Wh
|-
| <!--Name-->Go NP-N310 || <!--Chipset-->N270 + 945GME || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|IDE legacy mode}} || <!--Gfx-->{{yes|Intel GMA 950 (2D)}} || <!--Audio-->{{yes|HD Audio ALC6628}} || <!--USB-->{{yes}} || <!--Ethernet-->{{yes|rtl8169}} || <!--Wireless-->{{yes|Atheros5k}} || <!--Test Distro-->untested || <!--Opinion-->2010 32bit - N280 version changed specs
|-
| NP-N510 || N270 euro N280 uk + ION MCP79 || {{N/A}} || SATA || nVidia C79 ION [Quadro FX 470M] || HD Audio || USB || Marvell 88E8040 || Realtek 8192E || untested || 2010 32bit - does not boot - cause unknown
|-
| NP-N145 Plus || n450 + NM10 || {{N/A}} || {{maybe|IDE legacy mode}} || {{yes|Intel GMA 3150 (2D, no VGA output)}} || {{yes|Realtek HD Audio}} || {{yes|USB2.0}} || {{no|Marvell 88E8040}} || {{unk|Atheros AR9285}} || untested || 2010 some support but often the trackpad does not work
|-
| <!--Name-->NC110 Axx || <!--Chipset-->NM10 || <!--IDE-->{{N/A}} || <!--SATA-->Sata || <!--Gfx--> || <!--Audio-->HDAudio with ALC269 codec A9M22Q2 || <!--USB--> || <!--Ethernet-->{{Maybe|Rtl8169}} || <!--Wireless-->{{No|Broadcom BCM4313 or Atheros}} || <!--Test Distro-->untested || <!--Comments-->2011 64bit -
|-
| NF210 Pineview || n455 or n550 + N10 || {{N/A}} || {{maybe|SATA}} || {{maybe|Intel GMA 3150 (needs retesting, VESA works)}} || {{yes|HD Audio}} || {{yes|USB}} || {{no|Marvell 88E8040}} || Wireless || untested || 2011 64bit - some support
|-
| <!--Name-->NS310 NP-NS310-A03UK || <!--Chipset-->N570 with NM10 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{Maybe|use Vesa 2d }} || <!--Audio-->{{yes| ich7}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{yes|rtl8169 realtek 810xe }} || <!--Wireless-->{{no|bcm4313 }} || <!--Test Distro-->2022 AROS One 2.3, || <!--Comments-->2011 64bit Atom N570 or 1.5 GHz Intel Atom N550 dual core processor, 1 DDR3 sodimm slot memory, a 250GB hard drive, and a 10.1 inch, 1024 x 600 pixel 10.1" W7St - 2300mAh short life -
|-
| <!--Name-->[https://wiki.archlinux.org/index.php/Samsung_N150 N150] NB30 || <!--Chipset-->MN10 || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Yes|Intel GMA 3150 (2D)}} || <!--Audio-->{{No| }} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|Marvell 88E8040}} || <!--Wireless-->{{unk|Atheros AR9285 or Realtek 8192E}} || <!--Test Distro-->untested || <!--Comments-->2011 a little support
|-
| <!--Name-->[http://www.kruedewagen.de/wiki/index.php/Samsung_N220 N210 N220] N230 || <!--Chipset-->N450 + NM10 || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Yes|Intel GMA 3150 (2D)}} || <!--Audio-->HD Audio ALC269 || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|Marvell}} || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro-->untested || <!--Comments-->2011 64bit no sse4.1 or avx -
|-
| <!--Name-->NC110 Pxx Cedarview || <!--Chipset--> || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{dunno|Intel GMA 3600}} || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless-->{{No|Intel 6000g}} || <!--Test Distro-->untested || <!--Comments-->2012 64bit
|-
|}
====Toshiba Netbooks====
[[#top|...to the top]]
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->NB100 || <!--Chipset-->945GM || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|legacy}} || <!--Gfx-->{{yes|Intel GMA (2D)}} || <!--Audio-->{{yes|ALC262 HD Audio}} || <!--USB--> || <!--Ethernet-->{{yes|rtl8169}} || <!--Wireless-->{{yes|AR5001}} || <!--Test Distro-->untested || <!--Comments-->2009 32bit -
|-
| <!--Name-->Mini NB200 series NB205 || <!--Chipset-->N280 + GSE945 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|IDE legacy mode}}|| <!--Gfx-->{{yes|Intel GMA (2D)}} || <!--Audio-->ALC272 HD Audio || <!--USB-->{{yes}} || <!--Ethernet-->{{yes|RTL8169}} || <!--Wireless-->{{maybe|AR9285}} || <!--Test Distro-->untested || <!--Opinion-->2009 32bit -
|-
| <!--Name-->Mini 300 series NB305 || <!--Chipset-->N455 with NM10 || <!--IDE-->{{N/A}} || <!--SATA-->legacy || <!--Gfx-->Intel GMA 3150 (2D) || <!--Audio-->ALC272 HD Audio || <!--USB--> || <!--Ethernet-->{{maybe|RTL8101E RTL8102E}} || <!--Wireless-->{{maybe|AR9285}} || <!--Test Distro-->untested || <!--Opinion-->2010 64bit -
|-
| <!--Name-->Mini 500 series NB505 NB520 NB550-10v || <!--Chipset--> || <!--IDE-->{{N/A}} || <!--SATA-->legacy || <!--Gfx-->Intel GMA 3150 (2D) || <!--Audio-->HD Audio || <!--USB--> || <!--Ethernet-->{{maybe|RTL8101E RTL8102E}} || <!--Wireless-->{{no|Realtek 8176 RTL 8188CE}} || <!--Test Distro-->untested || <!--Opinion-->2011 64bit -
|-
| [http://www.notebookcheck.net/Review-Toshiba-NB550D-AMD-Fusion-Netbook.46551.0.html Mini NB550D 10G] 108 (c30) 109 (c50) || C-50 + M1 || {{N/A}} || SATA || AMD 6250 (VESA only) || HD Audio || USB || {{maybe|rtl8169 Realtek 8111e}} || {{maybe|Atheros 9k}} || untested || 2011 64bit Realtek SD card reader
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====Misc Netbooks====
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="5%" |Ethernet
! width="10%" |Wireless
! width="5%" |Test Distro
! width="30%" |Comments
|-
| Cammy's A1600 || GME945 || {{N/A}} || {{maybe}} || {{yes|Intel GMA950 (2D)}} || {{yes|HD Audio playback}} || {{yes}} || {{no|JMC 250/260}} || Wireless || 2010 Icaros 1.2.4, || 2009 32bit -
|-
| <!--Name-->Fujitsu Siemens Amilo Mini Ui 3520 || <!--Chipset-->Intel 945 || <!--ACPI--> || <!--SATA-->{{yes}} || <!--Gfx-->{{yes|Intel GMA (2D)}} || <!--Audio-->ALC269 HD Audio || <!--USB-->{{yes}} || <!--Ethernet-->{{yes|rtl8169}} || <!--Wireless-->{{yes|AR5001}} || <!--Test Distro-->untested || <!--Comments-->2009 32bit -
|-
| Guillemot Hercules eCafe EC-900 H60G-IA], Mitac MiStation and Pioneer Computers Dreambook Light U11 IL1 || Intel 945GME || {{N/A}} || {{maybe}} || {{yes|Intel GMA950 (2D)}} || {{Yes|HD Audio (playback only)}} || {{yes|uhci and ehci}} || {{yes|rtl8169}} || {{no|RAlink RT2860}} || untested || 2009 32bit -
|-
| <!--Name-->Hannspree Hannsnote SN10E2 24 48 || <!--Chipset-->N450 + NM10 || <!--IDE-->{{N/A}} || <!--SATA-->IDE legacy mode || <!--Gfx-->Pineview Intel (2D) || <!--Audio-->ALC HD Audio || <!--USB-->USB2.0 || <!--Ethernet-->Atheros l1c || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro-->untested || <!--Opinion-->2009 32bit -
|-
| MSI Wind U90/U100 || GME945 || {{N/A}} || {{maybe}} || {{yes|Intel GMA 950 (2D)}} || {{partial|HD Audio ALC888s (playback only?)}} || {{yes|uhci 1.1 and ehci 2.0}} || {{yes|rtl8169}} || {{no|RaLink RT2860 RT2700E or rtl8187se (u100x)}} || 2011 Icaros 1.3, || 2009 32bit -
|-
| Advent 4211 || 945GSE || {{N/A}} || {{maybe|IDE legacy mode}} || Intel GMA950 (2D) || ALC HD Audio || USB || rtl8169 || {{no|Intel 3945 ABG}} || untested || 2009 32bit - MSI U100 clone
|-
| <!--Name-->Hannspree Hannsnote SN10E1 || <!--Chipset-->N270 + GMA945 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|IDE legacy mode}} || <!--Gfx-->{{yes|Intel GMA 950 (2D)}} || <!--Audio-->ALC HD Audio || <!--USB-->USB2.0 || <!--Ethernet-->{{yes|Realtek RTL8101E RTL8102E RTL8169}} || <!--Wireless-->{{no|RaLink RT2860}} || <!--Test Distro-->untested || <!--Comments-->2009 32bit MSI U100 clone
|-
| <!--Name--> Vaio VGN-P11Z
| <!--Chipset-->
| <!--IDE--> {{dunno}}
| <!--SATA--> {{N/A}}
| <!--Gfx--> {{Partial|Intel (VESA only)}}
| <!--Audio--> {{no|HD Audio}}
| <!--USB--> {{yes|USB 2.0}}
| <!--Ethernet--> {{no|Marvell}}
| <!--Wireless--> {{unk|Atheros AR928X}}
| <!--Test Distro-->2012 Icaros 2.0.3
| <!--Comments-->2008 32bit Rarely boots!
|-
| <!--Name-->Sony VPC-W11S1E
| <!--Chipset-->N280 with 945GSE
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Yes| }}
| <!--Gfx-->{{yes|Intel GMA950 - hdmi}}
| <!--Audio-->HD Audio with realtek codec
| <!--USB-->3 USB2
| <!--Ethernet-->{{No|Atheros AR8132}}
| <!--Wireless-->{{unk|Atheros AR9285}}
| <!--Test Distro-->untested
| <!--Comments-->2009 32bit - 10.1" 1366 x 768 glossy - 3hr battery life -
|-
| <!--Name-->Archos 10 Netbook || <!--Chipset-->Atom with ICH7 NM10 945GSE || <!--IDE-->{{No }} || <!--SATA--> || <!--Gfx-->GMA 950 || <!--Audio-->HD Audio with ALC662 codec || <!--USB--> || <!--Ethernet-->Realtek 8139 || <!--Wireless--> || <!--Test Distro-->untested || <!--Comments-->2008 32bit -
|-
| <!--Name-->MSI Wind U135 DX MS-N014 || <!--Chipset-->Intel N455 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Yes|2D only accelerated}} || <!--Audio-->{{No|ALC662 rev 1}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{Maybe|RTL}} || <!--Wireless-->{{No|Atheros AR 9K}} || <!--Test Distro-->2015 Icaros 2.1, || <!--Comments-->2009 32bit - needs noacpi notls added to grub boot line to start up
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->
|-
|}
===Desktop Systems===
[[#top|...to the top]]
{| class="wikitable sortable" width="100%"
| <!--OK-->{{Yes|'''Works well'''}} || <!--May work-->{{Maybe|'''Works a little'''}} || <!--Not working-->{{No|'''Does not work'''}} || <!--Not applicable-->{{N/A|'''N/A not applicable'''}}
|-
|}
====Acer====
{| class="wikitable sortable" width="100%"
! width="15%" |Name
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Integrated Gfx
! width="10%" |Audio
! width="10%" |USB
! width="10%" |Ethernet
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->[https://www.acer.com/ac/en/ID/content/support-product/486;-; Veriton X270 VTX270] Intel Core 2 Duo ED7400C or Pentium dual-core UD7600C with 630i
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->{{Maybe|Vesa 2d Nvidia 7100 VGA and HDMI connections}}
| <!--Audio-->{{Maybe| with realtek codec}}
| <!--USB-->{{Maybe|4 rear and 5 front}}
| <!--Ethernet-->{{Maybe| nForce}}
| <!--Test Distro-->Icaros 2.3 dvd
| <!--Comments-->2009 64bit capable but would not fully boot, DHCP address timeout too short and failed often. Put in a third party NIC, worked - 1 PCI Express x16 slot and a free PCI x1 slot - internal thin long psu with 12pin -
|-
| <!--Name--> Imedia S1710 with Intel Dual Core E5200
| <!--IDE--> {{Yes|SATA/AHCI}}
| <!--SATA--> {{Maybe|Native IDE}}
| <!--Gfx--> {{Yes|Nvidia nForce 7100}}
| <!--Audio--> {{Yes|Nvidia MCP73}}
| <!--USB--> {{Yes|USB 2.0}}
| <!--Ethernet--> {{No|NVIDIA MCP73 Ethernet}}
| <!--Test Distro--> Nightly Build 14-09-2023, AROS One 2.3
| <!--Comments--> 2009 64-bit - Boot over USB not working on front - 2 DDR2 dual channel max 8GB - DEL for entering Bios - F12 for boot menu - Bus weird, could be reason for Ethernet issue
|-
| <!--Name-->Acer Revo AR1600, R1600 AR3600, R3600 Packard Bell iMax Mini, ACER Veriton N260G N270G slim nettop subcompact
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Maybe|Native IDE mode, '''when it works''' boots}}
| <!--Gfx-->{{Maybe|Nvidia ION GeForce 9300M - nouveau 3d - '''when it boots''' 400 fps in shell'ed gearbox, 278 in tunnel, 42 in teapot}}
| <!--Audio-->{{Maybe|HD Audio with alc662 codec but nothing from HDMI audio}}
| <!--USB-->{{Maybe|Nvidia USB boot usb2 stick issues and slower with usb3 drives}}
| <!--Ethernet-->{{No|MCP79 nForce}}
| <!--Test Distro-->
| <!--Comments-->2009 64bit does not support AVX or SSE 4.1 Intel Atom 230 N280 - 20cm/8" high 1 ltr noisy fan - very often boot stuck around ehciInit - DEL setup F12 boot options - 2 ddr2 sodimm slots max 4GB - 19v special barrel size 5.5mm/1.7mm psu - 2 ddr2 sodimm slots max 4GB - atheros 5k AR5BXB63 wifi -
|-
| <!--Name-->Revo AR3610 R3610 3610 Atom 330 nettop subcompact dual core
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Maybe|Native IDE mode, '''when it works''' boots}}
| <!--Gfx-->{{Maybe|Nvidia ION GeForce 9400M LE MCP79MX - nouveau 3d - '''when it boots''' 400 fps in shell'ed gearbox, 278 in tunnel, 42 in teapot}}
| <!--Audio-->{{Yes|HD Audio with Realtek alc662 rev1 alc662-hd later ALC885 codec but nothing from HDMI audio}}
| <!--USB-->{{Maybe|Nvidia USB with 1% chance boot with usb2 sticks, more issues with usb3 drives}}
| <!--Ethernet-->{{No|RTL 8211CL MCP79 nForce}}
| <!--Test Distro-->{{no|AROS One 32bit 1.5, 1.6 and 2.4 usb and 64bit 1.2 USB}}
| <!--Comments-->2010 64bit does not support AVX or SSE 4.1 20cm/8" high 1 ltr noisy fan - boot often stuck at Kernel or around ehciInit, SATA, etc try ATA=off, non usb hub keyboard, - DEL bios setup, F12 BBS POPUP/drive boot - 2 ddr2 sodimm slots max 4GB - 19v barrel psu with smaller inner pin size 5.5mm/1.7mm - replace wifi RT3090 ver c (linux) with atheros 5k -
|-
| <!--Name-->Revo N281G
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Maybe| }}
| <!--Gfx-->{{maybe|GMA 2d for GMA 3100}}
| <!--Audio-->HD audio codec
| <!--USB-->USB2
| <!--Ethernet-->Realtek
| <!--Test Distro-->
| <!--Comments-->2011 64bit does not support AVX and SSE 4.1 Atom D425 - 19v 65w barrel psu thinner inner pin - 2 DDR3L single channel max 4GB - replace wifi RT3090 ver d with atheros 5k mini pci-e - 1lr or 1.5 ltr dvdrw case 209.89 mm, (D) 209.89 mm, (H) 35.35 mm - del enter bios -
|-
| <!--Name-->REVO AR3700 R3700 3700 Atom D525 dual core - ACER Veriton N282G
*one long beep followed by two short, bios damaged
*looping one long two short, a video card fault
*two short beeps... CMOS damaged
*got one long and one short beep... board error?
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Yes|IDE ready in Bios}}
| <!--Gfx-->{{Yes|Nvidia ION2 GT218 ION vga fine '''but''' hdmi fussy over display used - nouveau 2d & 3d gearbox 404 tunnel 292 teapot 48}}
| <!--Audio-->{{Yes|HDA Intel with Realtek ALC662 rev1 codec, head phones only but nothing from NVidia HDMI}}
| <!--USB-->{{Yes|Intel® NM10 Express (NM10 is basically an ICH7 with a die shrink and IDE removed) USB boots usb, installs usb, accesses ok}}
| <!--Ethernet-->{{Yes|Realtek 8169 8111g}}
| <!--Test Distro-->AROS one 32bit USB 1.5 and 1.6 and ArosOne 64bit usb 1.2
| <!--Comments-->2011 64bit does not support AVX or SSE 4.1 20cm/8" high 1 ltr noisy fan - early 2 ddr2 sodimm slots but later 2 ddr3 sodimm slots 1Rx8 max 4GB - 19v barrel psu thinner pin - replace wifi RT3090 ver d with atheros 5k mini pci-e - ACPI Suspend Mode = S1, S3 (STR), S4 - Power on PCIe
* Known Acer issue, Boot into bios, set bios to UEFI and reboot, set bios back to defaults and reboot, blank display, repair with reflash of 8 pin Winbond W25Q socketed bios chip with ch341a using 2011/09/19 P01.B0L, 2011/05/09 P01.A4, 2011/05/03 P01.A3L, 2010/12/27 P01.A2L, 2010/12/27 P01.A2 amiboot.rom -
|-
| <!--Name-->Revo 70 (RL70) with or without dvdrw
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->6320 or 6310
| <!--Audio-->HD audio ALC662-VCO-GR codec
| <!--USB-->USB2, 1.1 Hudson D1
| <!--Ethernet-->Realtek 8111E
| <!--Test Distro-->
| <!--Comments-->2012 64bit does not support AVX or SSE 4.1 AMD E450 1.65GHz - 19v 65w barrel psu thinner inner pin - 2 DDR3L single channel max 4GB - replace wifi RT3090 ver d with atheros 5k mini pci-e - 1lr or 1.5 ltr dvdrw case 209.89 mm, (D) 209.89 mm, (H) 35.35 mm - del enter bios -
|-
|}
====Asus====
{| class="wikitable sortable" width="100%"
! width="15%" |Name
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Integrated Gfx
! width="10%" |Audio
! width="10%" |USB
! width="10%" |Ethernet
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->EEEbox B202
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Intel GMA950
| <!--Audio-->Intel Azalia HDaudio with Realtek ALC662 or ALC888-GR CODEC
| <!--USB-->
| <!--Ethernet-->Realtek 8111 or JM250
| <!--Test Distro-->Icaros
| <!--Comments-->internal 3 types of wifi chipset not supported
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
|}
====Dell====
{| class="wikitable sortable" width="100%"
! width="10%" |Name
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Integrated Gfx
! width="10%" |Audio
! width="10%" |USB
! width="10%" |Ethernet
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name--> Precision 340
| <!--IDE--> {{yes}}
| <!--SATA--> {{n/a}}
| <!--Gfx--> {{n/a}}
| <!--Audio--> {{yes|Intel AC97}}
| <!--USB--> {{yes|USB 1.1 (UHCI)}}
| <!--Ethernet--> {{yes|3Com}}
| <!--Test Distro--> Nightly Build 2014 09-27
| <!--Comments-->
|-
| <!--Name-->Dimension 2400
| <!--IDE-->{{Yes}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->{{Yes|Intel 82845GL Brookdale G/GE (VESA 640x480 by 16)}}
| <!--Audio-->{{Unk|AC97 with ADI codec}}
| <!--USB-->{{Yes|UHCI EHCI}}
| <!--Ethernet-->{{Maybe|Broadcom 440x 4401}}
| <!--Test Distro-->[http://eab.abime.net/showthread.php?p=832495 Icaros 1.4]
| <!--Comments-->Graphics chipset is capable of higher resolution.
|-
| <!--Name-->Dimension 4600
| <!--IDE-->{{yes}}
| <!--SATA-->{{dunno}}
| <!--Gfx-->{{partial|Intel Extreme (VESA only)}}
| <!--Audio-->{{yes|Intel AC97 (use rear black port)}}
| <!--USB-->{{Yes|UHCI/EHCI}}
| <!--Ethernet-->{{yes|Intel PRO/100}}
| <!--Test Distro-->Icaros 1.5.2
| <!--Comments-->
|-
| <!--Name--> Optiplex 170L
| <!--IDE--> {{yes|IDE}}
| <!--SATA--> {{partial|IDE mode}}
| <!--Gfx--> {{partial|Intel Extreme (VESA only)}}
| <!--Audio--> {{no|Intel AC97}}
| <!--USB--> {{yes|USB 2.0}}
| <!--Ethernet--> {{yes|Intel PRO/100}}
| <!--Test Distro--> {{dunno}}
| <!--Comments-->
|-
| <!--Name--> Optiplex GX260
| <!--IDE--> {{yes|IDE}}
| <!--SATA--> {{N/A}}
| <!--Gfx--> {{partial|Intel Extreme (VESA only)}}
| <!--Audio--> {{yes|Intel AC97}}
| <!--USB--> {{yes|USB 2.0}}
| <!--Ethernet--> {{no|Intel PRO/1000}}
| <!--Test Distro--> Nightly Build 2014 09-27
| <!--Comments-->
|-
| Optiplex GX270
| {{yes|Working}}
| {{partial|IDE mode}}
| {{partial|Intel Extreme (VESA only)}}
| {{yes|Intel AC97}}
| {{yes|USB 2.0}}
| {{no|Intel PRO/1000}}
| Icaros 1.5.2
| <!--Comments-->
|-
| Optiplex GX280
| {{yes|Working}}
| {{partial|IDE mode}}
| {{maybe|Intel GMA (only VESA tested)}}
| {{yes|Intel AC97}}
| {{yes|USB 2.0}}
| {{no|Broadcom}}
| Nightly Build 2014 09-27
| <!--Comments-->
|-
| <!--Name--> Optiplex GX520
| <!--IDE--> {{yes|IDE}}
| <!--SATA--> {{partial|IDE mode}}
| <!--Gfx--> {{yes|Intel GMA}}
| <!--Audio--> {{partial|Intel AC97 (no line-out)}}
| <!--USB--> {{yes|USB 2.0}}
| <!--Ethernet--> {{no|Broadcom}}
| <!--Test Distro--> {{dunno}}
| <!--Comments-->
|-
| <!--Name--> Optiplex 745
| <!--IDE--> {{N/A}}
| <!--SATA--> {{partial|IDE mode}}
| <!--Gfx--> {{partial|Intel GMA (VESA only)}}
| <!--Audio--> {{partial|HD Audio (no volume control)}}
| <!--USB--> {{partial|Only keyboard mouse (legacy mode)}}
| <!--Ethernet--> {{no|Broadcom}}
| <!--Test Distro--> {{dunno}}
| <!--Comments-->
|-
| <!--Name--> Optiplex 755
| <!--IDE--> {{N/A}}
| <!--SATA--> {{partial|IDE mode}}
| <!--Gfx--> {{partial|Intel GMA (VESA only)}}
| <!--Audio--> {{no|HD Audio}}
| <!--USB--> {{yes|USB 2.0}}
| <!--Ethernet--> {{no|Intel Gigabit}}
| <!--Test Distro--> Icaros 1.5.1
| <!--Comments--> Around 25 second delay in booting from USB
|-
| <!--Name--> Optiplex 990
| <!--IDE--> {{N/A}}
| <!--SATA--> {{partial|non-RAID mode}}
| <!--Gfx--> {{partial|Intel HD (VESA only)}}
| <!--Audio-->{{no|HD Audio}}
| <!--USB--> {{yes|USB 2.0}}
| <!--Ethernet--> {{no|Intel Gigabit}}
| <!--Test Distro--> Nightly Build 2014 09-27
| <!--Comments-->
|-
| <!--Name-->Optiplex 360
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->{{maybe|ordinary boot gives VGA mode only - VESA}}
| <!--Audio-->{{no|HD Audio (Analog Devices ID 194a)}}
| <!--USB-->
| <!--Ethernet-->{{no|Broadcom}}
| <!--Test Distro-->Aspire Xenon
| <!--Comments-->poor support
|-
| <!--Name-->Dell Wyse Vx0 (V90 V30), Vx0L (V10L V90L), Vx0LE (V30LE V90LE) from VIA C7 800GHz to Eden 1.2GHz
| <!--IDE-->{{Maybe| }}
| <!--SATA-->{{N/A| }}
| <!--Gfx-->{{Maybe|Vesa 2d for S3 UniChrome Pro}}
| <!--Audio-->{{No|AC97 VIA VT8233A with ?? codec}}
| <!--USB-->{{yes|2 back and 1 front USB2}}
| <!--Ethernet-->{{Maybe|early models work but later VT6102-3 do not}}
| <!--Test Distro-->AROS One 2.2
| <!--Comments-->2006 to 2009 32bit - 12V 4A Coax 5.5mm/2.1mm - 1 sodimm DDR 333MHz SO-DIMM later DDR2 - early V90s do seem to have a reliability problem -
|-
| <!--Name-->[https://www.poppedinmyhead.com/2021/01/wyse-cx0-thin-client-notes-experiences.html Dell Wyse Cx0] C00LE, C10LE, C30LE, C50LE, C90LE, C90LE7, C90LEW VIA C7 Eden 1GHz
| <!--IDE-->{{Maybe| }}
| <!--SATA-->{{N/A| }}
| <!--Gfx-->{{Maybe|Vesa 2d VX855 VX875 Chrome 9}}
| <!--Audio-->{{Maybe|some VIA VT8237A VT8251 HDA with ?? codec work}}
| <!--USB-->{{yes|4 outside 2 inside USB2}}
| <!--Ethernet-->{{No|VT6120 VT6121 VT6122 Gigabit}}
| <!--Test Distro-->Icaros 2.3
| <!--Comments-->2010 to 2013 32bit - [https://ae.amigalife.org/index.php?topic=815.0 boots and works] - 12V 2.5A Coax 5.5mm/2.1mm - 1 sodimm ddr2 -
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->Dell RxxL Rx0L thin client
*R00L Cloud PC of Wyse WSM
*R10L Wyse Thin OS
*R50L Suse Linux Enterprise
*R90L Win XP Embedded
*R90LW Win Embedded Standard 2009
*R90L7 Win Embedded Standard 7
| <!--IDE-->128Mb IDE or 1GB
| <!--SATA-->{{Maybe|SATA Hyperdisk}}
| <!--Gfx-->AMD 690E RS690M Radeon Xpress 1200 1250 1270
| <!--Audio-->
| <!--USB-->4 usb2
| <!--Ethernet-->Realtek
| <!--Test Distro-->
| <!--Comments-->2009 64bit AMD Sempron™ 210U SMG210UOAX3DVE 1.5GHz SB600, up to 4GB single slot 240-pin DDR2 DIMM, 19v barrel psu, DEL key bios - Late 2012 2 data sockets added but only CN18 be used with two white sockets (CN13 & CN15) can used to power the SATA device "4-pin Micro JST 1.25mm
|-
| <!--Name-->Optiplex 390 sff small form factor - mt mini tower desktop - dt full desktop
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->{{maybe|1 pci-e}}
| <!--Audio-->{{maybe|HD Audio}}
| <!--USB-->
| <!--Ethernet-->{{maybe|realtek}}
| <!--Test Distro-->aros one 1.6 usb
| <!--Comments-->2011 64bit dual i3 2xxx - kettle iec plug psu cable - add nvidia gf218 gfx - error code 3 mobo or cpu -
|-
| <!--Name-->Optiplex 3010 sff small form factor
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->{{maybe|1 pci-e}}
| <!--Audio-->{{maybe|HD Audio}}
| <!--USB-->{{maybe| }}
| <!--Ethernet-->{{no|Broadcom 57XX}}
| <!--Test Distro-->
| <!--Comments-->2012 64bit dual i3 3xxx - kettle iec plug psu cable -
|-
| <!--Name-->Optiplex 7010 sff small form factor
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->{{maybe|1 pci-e}}
| <!--Audio-->{{maybe|HD Audio}}
| <!--USB-->
| <!--Ethernet-->{{no|Broadcom or Intel 825xx}}
| <!--Test Distro-->
| <!--Comments-->2012 64bit dual i3 3xxx Q77 - kettle iec plug psu cable - add pci-e ethernet and nvidia gf218 gfx -
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->Dell Wyse 5010 thin client ThinOS D class (D10D D00D D00DX, Dx0D), PCoIP (D10DP) or D90D7, 5040
*username: Administrator, admin, [blank]
*password: Fireport, DellCCCvdi, rappot, Wyse#123, Administrator, administrator, r@p8p0r+
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Yes|IDE mode may need 30cm ext cable as small area for half-slim sata ssd - decased new ssd??}}
| <!--Gfx-->{{Maybe|Vesa 2d 1400x1050 HD6250E IGP by using DVI to hdmi cable and 1 display port, no hdmi port}}
| <!--Audio-->{{Maybe|HD 6.34 audio chipset detected but codec alc269 working from one case speaker - none if v6.29 used}}
| <!--USB-->{{Yes|most 5010 have 4 USB 2.0 but D90Q7 has 2 USB3 instead}}
| <!--Ethernet-->{{Yes|rtl8169 Realtek 8168 8169 - rev 1.?? 8111? - rev 1.91 8111E}}
| <!--Test Distro-->Icaros 2.3
| <!--Comments-->2011 64bit no SSE4.1 or AVX slow AMD G-T44R 1.2Ghz later G-T48E 1.4Ghz Dual Bobcat Brazos BGA413 - Del for BIOS - p key to select boot with noacpi - single DDR3 sodimm slot max 4Gb, (8Gb hynix 2rx8 ddr3l)? (remove small board to upgrade) - passive no fan - 15cm/6" small 1ltr case and lack of expansion options - PA16 19v barrel psu Coax 5.5mm/2.5mm
|-
| <!--Name-->Dell Wyse 7010 DTS thin client (Z class Zx0D)
*2011 Zx0 Z90D7 2GF/2GR
*2013 Z10D
*2014 Z50D 2GF/2GR
*2012 Cisco VXC 6000 CVXC-6215-K9 white
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Yes|Bios set Sata mode to IDE mode and grub boot add 'noacpi' for half slim sata2 ssd or/with 50cm sata ext cable}}
| <!--Gfx-->{{Maybe|VESA 2d HD6310 HD6320 Terascale 2 through DVI and sometimes DP 1.1a - no 3d support r600 and no hdmi port}}
| <!--Audio-->{{Maybe|HD Audio 6.34 detected but ALC269VB codec works on the one case speaker only}}
| <!--USB-->{{Yes|2.0 works but NEC 720200 3.0 not working}}
| <!--Ethernet-->{{Yes|rtl8169 Realtek 8169 8111e 8111F}}
| <!--Test Distro-->Icaros 2.3 and Aros One 32bit 1.5, 1.9 and 2.3 usb and 64bit 1.2
| <!--Comments-->2011 64bit does not support AVX or SSE 4.1 slow cores AMD G-t52R 1.5GHz later G-T56N 1.65 GHz Dual with A50M FCH - 20cm/8" high 1.5ltr larger fanless black plastic case with metal ventilated box inside - 2 desktop DIMM slots max 16GB - miniPCIe CN14 - PA-16 19v external psu Coax 5.5mm/2.5mm - 2 40cm SMA female WiFi Antenna to IPEX IPX u.fl Ufl Cable pigtail needed - does not like uefi boot devices -
|-
| <!--Name-->Wyse 7020 Thin Client
* 2013 Quad-core AMD GX-420CA 2.0 GHz (25W) -
* 2018 Zx0Q Quad-core AMD GX-415GA 1.5 GHz (15W) with Quad display 3dp and 1dvi
| <!--IDE-->{{N/A}}
| <!--SATA-->1 sata port
| <!--Gfx-->{{Maybe|Vesa 2d only for AMD Radeon HD8400E radeonsi (dual display) or AMD Radeon HD 8330E IGP with AMD Radeon E6240 Seymour E6460 (quad display), no hdmi ports}}
| <!--Audio-->
| <!--USB-->4 x USB2.0 works but 2 USB3.0
| <!--Ethernet-->rtl8169 Realtek 8169 8111
| <!--Test Distro-->
| <!--Comments-->2013 64bit does support AVX or SSE 4.1 quad eKabini Jaguar cores - two SODIMM sockets layered in centre of mobo DDR3L RAM - Coax 5.5mm/2.5mm ac psu 9mm plug is too short but 14mm length is fine - 15cm/6" high smaller 1ltr case and lack of expansion options -
|-
| <!--Name-->Dell Wyse Dx0Q (5020) D90Q8 NJXG4 AMD G-Series
| <!--IDE-->{{N/A}}
| <!--SATA-->1 sata port
| <!--Gfx-->HD 8330E
| <!--Audio--> with Realtek codec
| <!--USB-->4 x USB2.0 works but 2 USB3.0
| <!--Ethernet-->rtl8169 Realtek 8169 8111
| <!--Test Distro-->
| <!--Comments-->2014 64bit does support AVX or SSE 4.1 Quad-core AMD GX-415GA 1.5 GHz - 2 layered near edge of mobo 204-pin DDR3L SODIMM (bottom one tricky to insert) - 19v Coax 5.5mm/2.5mm - passive no fan - 15cm/6" high smaller 1ltr case and lack of expansion options
|-
| <!--Name-->Dell Wyse 5060 N07D thin client
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Yes|IDE bios mode for sata2 port}}
| <!--Gfx-->{{maybe|Vesa 2d - AMD R5E GCN2 IGP Sea Islands thru dp1 with an hdmi adapter no output thru dp2 - no hdmi dvi ports}}
| <!--Audio-->{{maybe|HD Audio with Realtek ALC231 codec head phones only}}
| <!--USB-->{{Maybe|4 x USB2.0 works but 2 USB3.0}}
| <!--Ethernet-->{{yes|rtl8169 realtek 8169 8111h}}
| <!--Test Distro-->AROS One 1.6 usb
| <!--Comments-->2017 64bit does support AVX or SSE 4.1 quad GX-424CC 19.5v external psu - CN-0Y62H1 mobo with 2 layered ddr3l 16Gb max sodimm slots at edge of mobo, bottom 0 one blocking - passive no fan so quiet - 15cm/6" high smaller 1ltr case and lack of expansion options -
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
|}
====Fujitsu Siemens====
{| class="wikitable sortable" width="100%"
! width="15%" |Name
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Integrated Gfx
! width="10%" |Audio
! width="10%" |USB
! width="10%" |Ethernet
! width="15%" |Test Distro
! width="20%" |Comments
|-
| Scenic [http://uk.ts.fujitsu.com/rl/servicesupport/techsupport/ProfessionalPC/Scenic/ScenicE/ScenicE.htm E600] (compact desktop)
|
|
| {{partial|VESA only}}
| {{yes|AC97}}
|
| {{no|Intel PRO/1000}}
| {{dunno}}
| Nice small, silent PC with good AROS support.
|-
| Scenic T i845
| {{dunno}}
| {{n/a}}
| {{n/a}}
| {{dunno|Intel AC97}}
| {{dunno|UHCI}}
| {{dunno|Intel PRO/100}}
| Icaros 1.5.2
| AROS does not boot
|-
| <!--Name-->Futro S200 S210 S220 and later S300
| <!--IDE-->{{yes| compactflash CF card max ??}}
| <!--SATA-->
| <!--Gfx-->{{maybe|VESA Silicon Integrated Systems [SiS] 315PRO PCI/AGP }}
| <!--Audio-->{{unk|AC97 via }}
| <!--USB-->{{unk|via uhci and ehci}}
| <!--Ethernet-->{{unk|via VT6102 [Rhine-II] (rev 74) }}
| <!--Test Distro-->
| <!--Comments-->2008 32bit - TR5670 Rev 1.4 mother with Transmeta TM5800 cpu - pci socket - single SODIMM socket for DDR memory PC2700S max 512MB -
|-
| <!--Name-->Futro S400
| <!--IDE-->{{yes| but swap with compactflash CF card already with AROS installed}}
| <!--SATA-->
| <!--Gfx-->{{maybe|VESA Silicon Integrated Systems [SiS] SiS741CX }}
| <!--Audio-->{{unk|AC97 SiS7018}}
| <!--USB-->{{unk|sis uhci and ehci}}
| <!--Ethernet-->{{unk|rtl8169 }}
| <!--Test Distro-->
| <!--Comments-->2008 32bit - AMD Geode NX1500 1GHz gets hot - SiS 963L / SiS 741CX chipset - 12V 4.2A 4-pin (DP-003-R) psu - single SODIMM socket for DDR PC2700S max 1G - large case 246 x 48 x 177cms torx screws - pci socket -
|-
| <!--Name-->FUJITSU Futro S700 and S900 Thin Client (based on mini-ITX motherboard D3003-A12, D3003-C1 lesser variant of [https://www.parkytowers.me.uk/thin/Futro/s900/TechNotes_V3.1_Mini-ITX_D3003-S.pdf D3003-S])
*G-T56N 1.65GHz
*G-T40N 1.00GHz
*G-T44R 1.20GHz
| <!--IDE-->{{N/A}}
| <!--SATA-->1 sata data socket but mSata 18+8pins 1GB-16GB
| <!--Gfx-->Radeon HD 6320, HD 6250, HD 6290 dvi or displayport (DP runs higher)
| <!--Audio-->HDAudio
| <!--USB-->{{yes|two USB2 front sockets and four on the rear}}
| <!--Ethernet-->{{Maybe|Realtek}}
| <!--Test Distro-->
| <!--Comments-->2011 64bit AMD slow atom-like and fanless - 20V 2A psu 5.5mm/2.1mm coax (S900) - 2 DDR3L SODIMM sockets max 8GB tricky to run 1333 MHz on the Futro S900 - proprietary X2 PCI-e - 1 PCI socket but need a right-angle adaptor -
|-
| <!--Name-->esprimo p420 e85 desktop case
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Maybe|IDE mode}}
| <!--Gfx-->Intel 4600 or old Geforce in pci-e slot
| <!--Audio-->HDAudio realtek alc671 codec
| <!--USB-->USB3
| <!--Ethernet-->rtl8169 8111
| <!--Test Distro-->
| <!--Comments-->2013 64bit - 2 ddr3 dimm slots - 16 pin special psu -
|-
| <!--Name-->esprimo E420 e85+ SFF case
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Maybe|IDE mode}}
| <!--Gfx-->Intel 4600 or low profile pci-e card
| <!--Audio-->HDAudio realtek alc671 codec
| <!--USB-->USB3
| <!--Ethernet-->rtl8169 8111G
| <!--Test Distro-->
| <!--Comments-->2013 64bit - 2 ddr3 dimm slots - 16ish pin special psu - hd under front metal bracket, take front cover off first with 3 tabs - 3 slim pci-e slots -
|-
| <!--Name-->Futro S520 AMD dual 1.0Ghz codenamed "Steppe Eagle"
* GX-210HA @ 1.0GHz
* GX-212ZC @ 1.2GHz
| <!--IDE-->{{N/A}}
| <!--SATA-->no sata - 4Gb or 16Gb flash memory soldered to the board
| <!--Gfx-->AMD Radeon HD 8210E (GX210HA) or AMD Radeon R1E (GX212ZC)
| <!--Audio-->HDAudio
| <!--USB-->
| <!--Ethernet-->rtl8169 rtl8111e
| <!--Test Distro-->
| <!--Comments-->2016 64bit does support AVX or SSE 4.1 - smaller than ITX 160mm x 160mm Fujitsu D3314-A11 - 19V 3.4A PSU standard 5.5mm/2.1mm coax plug - 1 ddr3 sodimm slot -
|-
| <!--Name-->Fujitsu Futro S720 ThinClient D3313-B13 D3313-F
*2014 64bit AMD GX-217GA 1.65GHz VFY:S0720P8009FR VFY:S0720P8008DE VFY:S0720P4009GB
*2015 64bit AMD GX-222GC 2.20GHz VFY:S0720P702BDE VFY:S0720P702BFR
all begin VFY:S0720P and end two digit country code
| <!--IDE--> {{N/A|}}
| <!--SATA--> {{Yes|up to 2 Sata-cable-connector with space in casing so normal SSD/HDD over Sata was running very well on AHCI and IDE-Mode and 2242 mSata}}
| <!--Gfx--> {{Maybe|use VESA 2D for AMD Radeon HD 8280E IGP ( islands) or later R5E IGP ( islands)}}
| <!--Audio--> {{yes|HDAudio ALC671 codec partially working, external audio speaker}}
| <!--USB--> {{yes|4 rear USB 2.0 but not front 2 USB 3.1}}
| <!--Ethernet-->{{yes|rtl8169 Realtek 8169}}
| <!--Test Distro-->AROS One USB 2.0
| <!--Comments-->2014 64bit supports AVX and SSE 4.1 - 1 ddr3 Sodimm slot max 8Gb - 19V-20V 2A 5.5mm/2.5mm coax - D3313-B13 stripped down Mini-ITX mobo D3313-S1/-S2/-S3 (eKabini) D3313-S4/-S5/-S6 - SATA data socket can be located under the fins of the cpu heatsink is fanless - mPCIe socket for wireless card -
|-
| <!--Name-->Fujitsu FUTRO S920 D3313-E D3313-G
*2016 AMD GX-222GC SOC 2.20GHz Dual
*2017 AMD G-Series GX-415GA (1.50 GHz, Quad Core, 2 MB, AMD Radeon™ HD 8330E)
*2017 AMD G-Series GX-424CC 2.40 GHz Quad
| <!--IDE--> {{N/A}}
| <!--SATA--> {{yes|2242 mSata and 1 Sata-cable-connector with space in casing so normal SSD/HDD over Sata possible}}
| <!--Gfx--> {{yes|use VESA 2D for Radeon R5E GCN2/3 IGP}}
| <!--Audio--> {{yes|HDAudio ALC671 codec partially working}}
| <!--USB--> {{yes|4 rear USB 2.0, front 2 USB 3.1 downgradable to 2.0 in BIOS setting}}
| <!--Ethernet--> {{yes|rtl8169 Realtek 8169}}
| <!--Test Distro--> AROS One USB 2.4
| <!--Comments-->2016 64bit does support AVX or SSE 4.1 - 2 so dimm slot with max of 8 GB - 19v barrel psu 5.5mm 2.5mm - SATA data socket can be located under the fins of the heatsink - mPCIe a e keyed socket for wireless card - propetary X2 connector with official raizer to X1 connector - almost silent background noise, not affecting sound quality in any way
|-
| <!--Name-->Fujitsu Thin Client Futro S5011 S7011
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->{{maybe|Vesa 2D for AMD Vega 3 on 2 dp 1.4}}
| <!--Audio-->{{No|HDAudio with ALC623 codec}}
| <!--USB-->{{maybe|USB3 USB 3.2 Gen 2 front and 3 usb2 rear }}
| <!--Ethernet-->rtl8169 Realtek RTL8111H
| <!--Test Distro-->
| <!--Comments-->2019 64bit - AMD Ryzen Dual Core R1305G or R1505G 1ltr case - 2 ddr4 sodimm slots - TPM 2.0 - 19v 3.42amp round coax or usb-c 20c 3.25a external psu -
|-
| <!--Name-->Fujitsu FUTRO S9011 Thin Client VFY:S9011THU1EIN || <!--IDE-->{{N/A}} || <!--SATA-->NVMe || <!--Gfx-->{{maybe|Vesa 2D for AMD Vega 3 on 2 dp 1.4}} || <!--Audio-->{{No|HDAudio with ALC623 codec}} || <!--USB-->{{maybe|USB3 USB 3.2 Gen 2 front and 3 usb2 rear }} || <!--Ethernet-->rtl8169 Realtek RTL8111H || <!--Test Distro--> || <!--Comments-->2020 64bit Ryzen Embedded R1606G - 2 ddr4 sodimm slots - TPM 2.0 -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
|}
====HP Compaq====
{| class="wikitable sortable" width="100%"
! width="15%" |Name
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Integrated Gfx
! width="10%" |Audio
! width="10%" |USB
! width="10%" |Ethernet
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->Compaq presario 7360
| <!--IDE-->{{yes|Working}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->{{Maybe|VESA}}
| <!--Audio-->{{Maybe|AC97 via}}
| <!--USB-->{{Maybe|issues}}
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->Compaq EP Series 6400/10
| <!--IDE--> {{yes|IDE}}
| <!--SATA--> {{N/A}}
| <!--Gfx--> {{N/A}}
| <!--Audio--> {{no|ISA}}
| <!--USB--> {{yes|USB 1.1}}
| <!--Ethernet--> {{N/A}}
| <!--Test Distro--> {{dunno}}
| <!--Comments-->
|-
| <!--Name-->Compaq Evo D510
| {{yes|Working}}
| {{N/A}}
| {{partial|Intel Extreme (VESA only)}}
| {{yes|AC97}}
| {{yes|Working}}
| {{yes|Intel PRO/100}}
| Icaros 1.5
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->Compaq DX2000 MT
| <!--IDE-->{{yes}}
| <!--SATA-->{{maybe}}
| <!--Gfx-->{{maybe|Intel Extreme 2 (VESA only)}}
| <!--Audio-->{{no|detects AC97 but no support for ADI AD1888 codec}}
| <!--USB-->{{yes|OHCI/EHCI }}
| <!--Ethernet-->{{no|Intel 82526EZ e1000}}
| <!--Test Distro--> Icaros 1.51
| <!--Comments-->boots ok but no audio
|-
| <!--Name-->Compaq DX 2200
| <!--IDE-->{{yes}}
| <!--SATA-->{{maybe}}
| <!--Gfx-->{{maybe|RC410 [Radeon Xpress 200] (VESA only)}}
| <!--Audio-->{{dunno|HD Audio}}
| <!--USB-->{{maybe|OHCI/EHCI issues }}
| <!--Ethernet-->{{N/A}}
| <!--Test Distro--> {{dunno}}
| <!--Comments-->issues
|-
| <!--Name--> d230
| <!--IDE--> {{yes|UDMA}}
| <!--SATA--> {{N/A}}
| <!--Gfx--> {{partial|Intel Extreme (VESA only)}}
| <!--Audio--> {{partial|Intel AC97 (speaker and headphones only, no line-out)}}
| <!--USB--> {{yes|USB}}
| <!--Ethernet--> {{Maybe|Broadcom BCM4401}}
| <!--Test Distro--> Icaros 1.4.5
| <!--Comments-->
|-
| <!--Name-->HP Pavilion a220n || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|VESA 1024x768 on nVidia GF4 MX with 64MB shared video ram}} || <!--Audio-->{{Yes|Realtek ALC650 AC'97 comp.}} || <!--USB-->{{Yes|USB 2.0}} || <!--Ethernet-->{{Yes|Realtek 8201BL 10/100 LAN}} || <!--Test Distro-->AROS One 2.5|| <!--Comments-->2004 32bit athlon xp 2600+ Socket 462 / Socket A - 2 dimm ddr pc2700 -
|-
| <!--Name-->t500
| <!--IDE-->{{Yes}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->{{Yes|FX5200 (2D; 3D with older driver)}}
| <!--Audio-->{{Yes|AC97 ICH4 ALC658D}}
| <!--USB-->{{Yes|UHCI/EHCI}}
| <!--Ethernet-->{{Yes|RTL 8101L 8139}}
| <!--Test Distro-->Nightly Build 2012-09-22
| <!--Comments-->2004
|-
| <!--Name-->DC7700
| <!--IDE-->{{Yes}}
| <!--SATA-->{{Yes}}
| <!--Gfx-->{{Yes|GMA 2D}}
| <!--Audio-->{{Yes| ICH8}}
| <!--USB-->{{Yes}}
| <!--Ethernet-->{{No|82566DM e1000e}}
| <!--Test Distro-->Nightly Build 2013-??-??
| <!--Comments-->2006 Some support at low cost
|-
| <!--Name-->HP dc 7600 CMT
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->{{Yes|Intel Graphics Media Accelerator 950}}
| <!--Audio-->{{Yes|Realtek ACL 260}}
| <!--USB-->{{Yes|USB 2.0}}
| <!--Ethernet-->{{No|Intel PRO/1000 GT}}
| <!--Test Distro-->
| <!--Comments-->2007
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->HP t5000 thin client series t5500 t5510 t5515 PC538A or PC542A t5700 t5710 Transmeta Crusoe Code Morphing TM 5400 5600 800Mhz
| <!--IDE-->128mb to 512MB
| <!--SATA-->{{N/A}}
| <!--Gfx-->Ati Radeon 7000M
| <!--Audio-->VIA with codec
| <!--USB-->{{No|Issues}}
| <!--Ethernet-->VIA Rhine 2
| <!--Test Distro-->
| <!--Comments-->2006 32bit - ddr max 1GB - F10 setup - all t51xx and some t55xx units will not include a SODIMM slot -
|-
| <!--Name-->HP t5000 thin client series CN700
*HSTNC-002L-TC t5135, t5530
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Vesa 2d 128Mb Via S3 32-bit colour
| <!--Audio-->AC97
| <!--USB-->
| <!--Ethernet-->VIA VT6102 VT6103 [Rhine-II] (rev 78)
| <!--Test Distro-->
| <!--Comments-->2007 32bit t5135 appears identical to the t5530 except the CPU VIA Esther 400 MHz - RAM 64Mb (? max) - 8 x USB2.0 - 12V 3.33A Coax 5.5mm/2.1mm
|-
| <!--Name-->HP t5720, t5725 HSTNC-001L-TC
| <!--IDE-->{{unk| }}
| <!--SATA-->{{N/A}}
| <!--Gfx-->VESA 2d SiS741GX 2048 x 1536 32-bit colour
| <!--Audio-->AC97 SiS SiS7012 AC'97
| <!--USB-->6 x USB2.0
| <!--Ethernet-->VIA VT6102 VT6103 [Rhine-II] (rev 8d)
| <!--Test Distro-->
| <!--Comments-->2007 32bit AMD Geode NX1500 1GHz socketed - RAM 512MB or 1GB, 256MB, 512MB or 1GB - 12V psu - sis DDMA support - custom 1.13 BIOS - pci low profile -
|-
| <!--Name-->t5000 series VX800 HSTNC-004-TC t5145, t5540, t5545, t5630
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Vesa 2d VIA Chrome9
| <!--Audio-->HD Audio VIA
| <!--USB-->
| <!--Ethernet-->{{No|VT6120 VT6121 VT6122 Gigabit (rev 82)}}
| <!--Test Distro-->
| <!--Comments-->2010 32bit - RAM 64Mb (? max) - 8 x USB2.0 - 12V 4.16A Coax: 5.5mm/2.1mm -
|-
| <!--Name-->t5730w HSTNC-003-TC t5730
| <!--IDE-->{{n/a|ATA 44pin DOM Flash}}
| <!--SATA-->
| <!--Gfx-->Vesa 2d ATI Radeon X1250 2048 x 1536 no 3D
| <!--Audio-->HD audio with codec
| <!--USB-->{{Yes|6 x USB2.0}}
| <!--Ethernet-->{{No|Broadcom 5707M tg3 10/100/1000}}
| <!--Test Distro-->
| <!--Comments-->2008 64bit AMD Sempron 2100+ 1GHz - 1 slot of ddr2 sodimm (Max 2GB) - 12V 4.16A Coax 5.5mm/2.1mm - F10 enter bios F12 boot devices -
|-
| <!--Name-->HSTNC-005-TC gt7720, gt7725
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Vesa 2d AMD RS780G HD 3200 - 2560 x 1600 DVI-D & DVI-H
| <!--Audio-->
| <!--USB-->8 x USB2.0
| <!--Ethernet-->{{No|Broadcom BCM5787M}}
| <!--Test Distro-->
| <!--Comments-->2009 64bit AMD Turion Dual Core CPU 2.3GHz - 1 DDR2 200-pin SODIMM - 19V 4.16A Coax 7.4mm/5.0mm (gt7725) -
|-
| <!--Name-->HP t5740 Thin Client HSTNC-006-TC t5740, t5745, st5742
| <!--IDE-->1 port
| <!--SATA-->1 port
| <!--Gfx-->{{Maybe|VESA for Intel CL40 VGA and DisplayPort connectors}}
| <!--Audio-->{{Yes|HD audio with IDT codec}}
| <!--USB-->{{Maybe| }}
| <!--Ethernet-->{{No|Broadcom BCM57780 Gigabit}}
| <!--Test Distro-->Nightly build and Icaros
| <!--Comments-->2009 32bit Atom N280 - F10 on power up to get into the BIOS screens. F12 brings up the boot options - hp 19V one with a coax connector, outer diameter 4.8mm with inner to be 1.7mm to 1.4mm - 2 ddr3 sodimm slots max 3gb due to 32bit - 1 pci-e slot completely non standard -
|-
| <!--Name-->t5000 series HSTNC-012-TC VIA Nano u3500 VX900
*t5550 512MB/1GB Windows CE6 R3
*t5565 1GB/1GB HP ThinPro
*t5570 2GB/1GB WES 2009
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Vesa 2d VIA ChromotionHD 2.0 GPU Chrome9
| <!--Audio-->VIA 9170 VT1708S codec
| <!--USB-->
| <!--Ethernet-->{{No|Broadcom BCM57780 Gigabit}}
| <!--Test Distro-->
| <!--Comments-->32bit - 1 sodimm - 19V 3.42A supply connector standard yellow-tip coax plug 4.8mm/1.8mm "Standard HP Compaq DC Power Plug 4.8mm x 1.5mm / 1.7mm Yellow Tip Connector -
|-
| <!--Name-->HP t510 Via Eden X2 U4200 HSTNC-012-TC shares features with t5570e, t5565z
| <!--IDE-->2G ATA Flash DOM
| <!--SATA-->one
| <!--Gfx-->{{Maybe|Vesa 2d for Chrome9 VIA ChromotionHD 2.0 gfx}}
| <!--Audio-->{{Maybe|VIA VT8237A VT8251 HDA with codec}}
| <!--USB-->{{Maybe|6 USB2 }}
| <!--Ethernet-->{{No|Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe}}
| <!--Test Distro-->
| <!--Comments-->2010 32bit - one slot ddr3 sodimm max 4GB - 19V 3.42A Coax 4.8mm/1.8mm -
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->HP T610 Thin Client and thicker PLUS version AMD G-T56N A55E
| <!--IDE-->{{Maybe|}}
| <!--SATA-->2 sata
| <!--Gfx-->Radeon 6320 1 dp port 1 dvi
| <!--Audio-->HDAudio with ALC codec
| <!--USB-->two USB2 on the front, two USB2 and two USB 3 ports on the rear
| <!--Ethernet-->{{No|Broadcom BCM57780}}
| <!--Test Distro-->
| <!--Comments-->2010 64bit does not support AVX SSE 4.1 - 2 204-pin DDR3 1600MHz SODIMMs PC3-12800 under motherboard via removable panel - 19.5V 3A Coax male 7.4mm/5.0mm + centre pin -
|-
| <!--Name-->HP T420 Thin Client
*AMD Embedded G-Series GX-209JA SOC (1 GHz, 2 cores)
| <!--IDE-->{{N/A}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->Radeon 8180 dvi vga
| <!--Audio-->HDAudio with ALC codec
| <!--USB-->2 front 2 rear USB2
| <!--Ethernet-->{{Yes|Realtek}}
| <!--Test Distro-->
| <!--Comments-->2015 64bit supports AVX SSE 4.1 - soldered in place 2GB DDR3 - smaller than usual 19.5V 2.31A Coax male 4.5mm/3.0mm + centre pin - usb stick internal for storage - E15 BBR -
|-
| <!--Name-->HP t520 TPC-W016
*AMD GX-212JC 1.2Ghz (2 core)
| <!--IDE-->{{N/A}}
| <!--SATA-->1 m.2 mounting holes for 2242 and 2260 SSDs SATA (not NVME)
| <!--Gfx-->Radeon R2E GCN2 IGP Sea Islands
| <!--Audio-->HDAudio with ALC codec
| <!--USB-->2 USB3 front, 4 USB2 back
| <!--Ethernet-->{{Yes|Realtek}}
| <!--Test Distro-->
| <!--Comments-->2014 2017 64 bit supports AVX SSE 4.1 - 1 204-pin DDR3 SODIMM - 19.5V 3.33A 7.4mm Coax with central pin
|-
| <!--Name-->HP t620 TPC-I004-TC
*AMD G-Series GX-217GA 2 core APU 1.65GHz (65W)
*AMD GX-415GA (65W)
and t620 PLUS (PRO wider version) TPC-I020-TC
*AMD GX-420CA SOC (Plus 85W)
| <!--IDE-->{{N/A}}
| <!--SATA-->{{yes|single M.2 2280 socket sata3, mSATA socket removed end of 2014}}
| <!--Gfx-->{{maybe|Vesa 2d for Radeon HD 8280E graphics 8330E Islands GCN2 IGP - 2 dp ports no dvi}}
| <!--Audio-->{{yes|HDAudio with Realtek ALC221 codec 0x10EC 0x0221}}
| <!--USB-->{{unk|4 front, 2 back, 1 inside limited space}}
| <!--Ethernet-->{{Yes|Realtek 8169}}
| <!--Test Distro-->Aros One 32bit
| <!--Comments-->2014 64bit supports AVX SSE 4.1 - 2 DDR3L SODIMMs side by side - mSATA ssd and M.2 SSD are M1.6 screws, M2.0 screws used on most SSDs - 19.5V 3.33A Coax male 7.4mm 5mm with centre pin - changed the network card to a Atheros 5000 compatible -
|-
| <!--Name-->HP T530
*AMD GX-215JJ (2 core) 1.5GHz
| <!--IDE-->{{N/A}}
| <!--SATA-->1 m.2 sata ssd up to 2280
| <!--Gfx-->Radeon R2E
| <!--Audio-->HDAudio with ALC codec
| <!--USB-->1 USB3.1, 1 usb-c front, 4 USB2 back
| <!--Ethernet-->{{Yes|Realtek}}
| <!--Test Distro-->
| <!--Comments-->2015 64 bit does support AVX SSE 4.1 - 1 204-pin DDR4 SODIMM - 19.5V 2.31A Coax male 4.5mm/3.0mm with centre pin -
|-
| <!--Name-->HP T730 Wider "Thin" Client TPC-I018-TC Pixar RX-427BB (2c4t) - no display and fans blowing full speed caused by '''disabling internal gpu in bios''' flash L43_0116.bin onto smc MX25L6473F (3.3V 8-PIN SOP (200mil) SPI 25xx) ([https://www.badcaps.net/forum/troubleshooting-hardware-devices-and-electronics-theory/troubleshooting-desktop-motherboards-graphics-cards-and-pc-peripherals/bios-schematic-requests/96303-hp-t730-password-locked-bios in the rom rcvry socket under a delicate thin narrow surface flap]) with ch341a alike switchable from 5v, 3.3v to 1.8v
| <!--IDE-->{{N/A}}
| <!--SATA-->{{partial|Storage bios option to IDE and not AHCI to prevent constant install error messages to DH0: - add noacpi to end of grub boot line - 1 M.2 SATA slot (Key B+M) up to 2280 with T8 torx secure stub}}
| <!--Gfx-->{{maybe|use VESA for non-vulkan Radeon R7 GCN 2 UVD4.2 Sea Islands with 4 dp outs '''but too easy bricking''' if swapping with 1 PCIe 3.0 x8 slot 30W slim factor low profile 8400gs gt210 nvs295 nvs310 gt1030}}
| <!--Audio-->{{yes|HDaudio 6.34 realtek alc221 codec thru case speaker only}}
| <!--USB-->{{yes|'''Works''' for 4 USB2 in the back with 2 in the front, 2 USB3.0 ports on front and 1 more internal (not bootable)}}
| <!--Ethernet-->{{yes|rtl8169 Realtek RTL8111HSH-CG set up first in Prefs/Network}}
| <!--Test Distro-->boots with AROS One 32bit and 64bit USB with added noacpi added to grub boot line - press e - Latest distros can select grub boot options with Aros One 64bit USB and Aros One USB 2.8 but system seems to freeze after choice
| <!--Comments-->2016 64bit supports AVX SSE 4.1 - 2 DDR3L sodimm stacked slots max 32GB - '''Larger''' 20cm/8" high 3.5ltr case noisy fan - TPM2 - esc/F9 boot selector F10 enter bios - 2 serial and 1 parallel old ports - Key E Wireless - PCIe slot (x16 physical, x8 electrical) - 19.5V 4.36A 85w TPC-LA561 HP 7.4mm black-ring-tip power plug, red flashing power button, wrong psu or bad MotherBoard MB -
|-
| <!--Name-->HP t630 Thin Client TPC-I020-TC
*AMD Embedded G-Series SoC GX-420GI quad core 2Ghz
| <!--IDE-->{{N/A}}
| <!--SATA-->{{yes|ahci.device mbr msdos partiton table for 2 Sata M.2, sata0 up to 2280 (1tb max), sata1 2242 (64gb max), both T8 torx secure stubs}}
| <!--Gfx-->{{maybe|use VESA for Radeon AMD Wani R7E with 2 displayport 1.2 sockets, use one nearest to power jack - no dvi / hdmi}}
| <!--Audio-->{{Yes|HDAudio 6.36 0x1022, 0x157a and ALC255 aka ALC3234 codec 0x10ec, 0x0255, pins 0x17 as LFE and 0x1b as int speaker but not ahi 6.34}}
| <!--USB-->{{yes|USB2 2 front and 2 rear, 2 front USB3 and 1 inside}}
| <!--Ethernet-->{{Yes|Realtek 8169 8111H}}
| <!--Test Distro-->AROS One USB 2.2, 2.8 and 64bit USB 1.0, 1.2 with noacpi added to the end of the grub bootline (press e)
| <!--Comments-->2016 64bit supports AVX SSE 4.1 - 2 DDR4 SODIMMs side by side speed 1866Mhz limit - 19.5V 3.33A 65W TPC-BA54 Coax male 7.4mm with centre pin - can be easily bricked, might reflash bios with M40 SP149736 - 20cm/8" high 1.5ltr larger fanless case - esc f1 f9 f10 -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->HP Compaq Elite 7200 7300 8200 8300 SFF with kettle IEC psu cable
| <!--IDE-->
| <!--SATA-->{{yes|IDE ata legacy only in BIOS}}
| <!--Gfx-->i pci-e
| <!--Audio-->{{Maybe|8200 works}}
| <!--USB-->{{yes| }}
| <!--Ethernet-->{{no|Intel or Broadcom}}
| <!--Test Distro-->icaros 2.3
| <!--Comments-->2013 64bit dual core - add pci-e rtl8169 ethernet card and pci-e gf210 nvidia low height -
|-
| <!--Name-->HP Compaq Pro 6305 Small Form Factor SFF AMD A75 chipset (FCH 6 SATA 6 Gb/s, 4 USB 3.0)
*AMD Quad A10-5800B
*AMD A8-5500B
*AMD Dual A6-5400B
*AMD A4-5300B
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Radeon 7000 Terascale iGPU series Radeon HD 7660D, Radeon HD 7560D, Radeon HD 7540D, Radeon HD 7480D
| <!--Audio-->HD ALC221
| <!--USB-->
| <!--Ethernet-->{{No|Broadcom 5761}}
| <!--Test Distro-->
| <!--Comments-->2012 64bit
|-
| <!--Name-->Elitedesk 705 G1 - SFF
*AMD A10-8850B, Quad-Core A10 PRO-7850B, A10-8750B
*AMD A10-7800B, A10 PRO-6800B, A8-7600B
*AMD A8-8650B, A6-8550B
*AMD A6-8350B, Dual A6 PRO 7400B, A4-7300B
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Maybe| }}
| <!--Gfx-->{{Maybe|VESA 2D with Radeon R7 or 8000}}
| <!--Audio-->{{Maybe|HD audio with Realtek ALC221 codec}}
| <!--USB-->{{Maybe| }}
| <!--Ethernet-->{{No|Broadcom or Intel}}
| <!--Test Distro-->
| <!--Comments-->2014 64bit - T15 security torx psu with 6pin PWR 200W connector -
|-
| <!--Name-->HP EliteDesk 705 G2, 705 G3 Mini PC USFF thin client
| <!--IDE-->{{N/A}}
| <!--SATA-->2.5in and m.2
| <!--Gfx-->Radeon R7
| <!--Audio-->HDAudio
| <!--USB-->USB3
| <!--Ethernet-->{{No|Broadcom BCM5762 GbE}}
| <!--Test Distro-->
| <!--Comments-->2014 64bit AM4 socket with 35W TDP A10-8770E (4c), AMD PRO A6-8570E (2c), AMD Pro A6-9500E, or AMD PRO A10-9700E on AMD B300 FCH - ddr4 sodimm slots - 77 x 175 x 34mm (6.97 x 6.89 x 1.34in) 1L and about 3lbs -
|-
| <!--Name-->HP EliteDesk 705 G4 Mini 1ltr USFF AMD Ryzen 3 2200G (4c t) or 5 2400G (4c t)
| <!--IDE-->{{N/A|}}
| <!--SATA-->{{Maybe|Nvme 2280 and 2.5in sata}}
| <!--Gfx-->Vega 8 thru DP1.2 port
| <!--Audio-->{{No|HD Audio Conexant codec}}
| <!--USB-->USB2 usb3
| <!--Ethernet-->rtl8169 realtek
| <!--Test Distro-->
| <!--Comments-->2016 64bit Am4 socket - 2 sodimm 16GB max - 19.5v hp socket ext psu -
|-
| <!--Name-->Elitedesk 705 G4 35w, HP Prodesk 405 G4 35W USFF - baseboard 83e9 35W - AMD Athlon PRO 200GE (2c 4t), 2200GE (4c t) or 2400GE (4c t) on AMD B350 FCH
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Maybe|Nvme 2280 and older models 2.5in sata}}
| <!--Gfx-->Vega 3, 8 or 11 with 2 dp1.2 ports
| <!--Audio-->{{no|HDAudio with Conexant CX20632 codec}}
| <!--USB-->USB3
| <!--Ethernet-->rtl8169 Realtek 8169 8111EPH 1Gbe or Realtek RTL8111F
| <!--Test Distro-->
| <!--Comments-->2017 64bit - realtek wifi 8821 or 8822 - up to 1 ddr4 dimm slots - hp barrel external ac -
|-
| <!--Name-->Elitedesk 705 G5, HP Elitedesk 806 G6, Prodesk 405 G6 || <!--IDE-->{{N/A}} || <!--SATA-->2x NVMe or 1x SATA + 1x NVMe, but not all three drives at the same time without serious modding of hd caddie || <!--Gfx-->Vega with DP1.4 port || <!--Audio-->{{no|HDAudio with Realtek ALC3205 codec}} || <!--USB-->USB3 || <!--Ethernet-->{{maybe|Realtek}} || <!--Test Distro--> || <!--Comments-->2018 64bit - 2 ddr4 sodimm slots - 3400GE Ryzen 5 PRO 3350GE (4c 8t), Ryzen 3 PRO 3200GE 3150GE (4c 4t), AMD Athlon Silver PRO 3125GE (2c 4t) on AMD PRO 565
|-
| <!--Name-->HP t540 1ddr4 slot, t640 2 DDR4 SDRAM sodimm SO-DIMM 260-pin non-ECC max 32gb thin client USFF
| <!--IDE-->{{N/A}}
| <!--SATA-->1 NVM Express (NVMe) 2230 or 2280
| <!--Gfx-->Vega 3 VGA, DisplayPort
| <!--Audio-->HD Audio with codec
| <!--USB-->2 USB3 gen1
| <!--Ethernet-->rtl8169 Realtek Realtek RTL8111HSH or RTL8111E PH-CG
| <!--Test Distro-->
| <!--Comments-->2019 64bit ryzen r1000 series Ryzen Embedded R1305G 1.5 GHz, R1505G dual (2c 4t) 2.0Ghz or R1606G ?.?Ghz (2c4t) - Realtek RTL8852AE wifi - 45W psu Coax male 4.5mm/3.0mm + centre pin -
|-
| <!--Name-->HP t740 SFF Thin Client
| <!--IDE-->{{N/A}}
| <!--SATA-->2 M.2, one is sata and other nvme
| <!--Gfx-->Vega 8 DisplayPort or + optional pci-e 30W Radeon E9173
| <!--Audio-->HD Audio with codec
| <!--USB-->USB3
| <!--Ethernet-->Realtek RTL8111E PH-CG 1Gbe
| <!--Test Distro-->
| <!--Comments-->2019 64bit - Ryzen Embedded V1756B 3.25Ghz quad - 90W 19.5V 4.62A psu Coax male 4.5mm/3.0mm + centre pin - sodimm DDR4 max 64Gb - slightly noisy fan -
|-
| <!--Name-->HP EliteDesk 805 G6 Mini 4750GE (8t 16t), Prodesk 405 G6 Ryzen 5 PRO 4650GE (6c 12t) or Ryzen 3 PRO 4350GE (4c 8t) on AMD PRO 565
| <!--IDE-->{{N/A}}
| <!--SATA-->2.5in carrier and 2 slots m.2 nvme
| <!--Gfx-->Vega 8 with DP1.4 and HDMI flex io2 output options
| <!--Audio-->HDAudio with Realtek ALC3205 codec
| <!--USB-->4 usb a - gen 2 10gig and gen 1 5gig ports
| <!--Ethernet-->{{N/A}}
| <!--Test Distro-->
| <!--Comments-->2021 64bit AMD Ryzen 4000 SBC unlocked - 2 sodimm ddr4 slots - wifi6 - 90W ac -
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|-
|}
====Lenovo====
{| class="wikitable sortable" width="100%"
! width="15%" |Name
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Integrated Gfx
! width="10%" |Audio
! width="10%" |USB
! width="10%" |Ethernet
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->Lenovo Nettop IdeaCentre Q150 (40812HU)
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->ION2
| <!--Audio--> realtek codec
| <!--USB-->USB2
| <!--Ethernet-->intel 10/100
| <!--Test Distro-->
| <!--Comments-->2011 64bit D510
|-
| <!--Name-->M625q Tiny (1L)
| <!--IDE-->{{N/A}}
| <!--SATA-->M.2 Sata
| <!--Gfx-->Stoney Radeon R2, R3 or R4 and later R5 with 2 dp ports
| <!--Audio-->HD audio with ALC233-VB2-CG codec 0x10EC 0x0233
| <!--USB-->{{No|3 usb3.1 Gen 1 and 3 usb2}}
| <!--Ethernet-->rtl8169 RTL8111
| <!--Test Distro-->
| <!--Comments-->2016 64bit all dual cores - e2-9000e or a4-9120e later A9-9420e - heatsink covers 70% area covers wifi - 65w or 135w lenovo rectangle ac - 1 ddr4 2666MHz slot max 8gb - tpm 2.0 -
|-
| <!--Name-->M715q Gen 1 AMD A6 A8 A10-9700E 9770E (2c2t)
| <!--IDE-->{{N/A}}
| <!--SATA-->m.2
| <!--Gfx-->R4
| <!--Audio-->HDAudio
| <!--USB-->USB3
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->2016 64bit -
|-
| <!--Name-->M715q Gen 2 Ryzen 5 PRO 2400GE 4C 8T
| <!--IDE-->{{N/A}}
| <!--SATA-->m.2
| <!--Gfx-->Vega 11
| <!--Audio-->HD Audio with codec
| <!--USB-->USB3
| <!--Ethernet-->1GbE
| <!--Test Distro-->
| <!--Comments-->2018 64bit - f1 enter setup, esc device boot - fixed 1.8v ch341a needed to reflash 1.8v bios if no boot SOP8 DIP8 Winbond W25Q64, MXIC MX25U1635, MX25U6435 -
|-
| <!--Name-->ThinkCenter M75n nano Ryzen3 3300U
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->ThinkCentre M75q M75q-1 Tiny 1ltr TMM
*AMD Ryzen 5 PRO Quad 3500 Pro 3400GE (4c 8t) 11a5 soe400
*AMD 3200GE (2c 4t) zen1+ 11a4
| <!--IDE-->{{N/A|}}
| <!--SATA-->{{Maybe|NVMe 2280 1Tb max - untested 2.5inch}}
| <!--Gfx-->Vega 11
| <!--Audio-->HD Audio Realtek ALC222-CG codec ALC3287
| <!--USB-->3 USB3 Gen 1
| <!--Ethernet-->rtl8169 Realtek 8169 8111
| <!--Test Distro-->
| <!--Comments-->2019 64bit - 65w 20v 3.25A to 135W rectangle psu - 2 sodimm ddr4 sodimm max 32GB locked 2666MHz -
|-
| <!--Name-->ThinkCentre Ryzen 7 PRO Tiny 1ltr Gen 2 AMD 4000 series
*AMD 4650GE (6c12t) 4750GE (8c16t) 4350G (4c8t) Zen2 -
| <!--IDE-->{{N/A|}}
| <!--SATA-->{{Maybe|NVme}}
| <!--Gfx-->Vega 8
| <!--Audio-->HD Audio codec
| <!--USB-->
| <!--Ethernet-->Realtek 8169 8111
| <!--Test Distro-->
| <!--Comments-->2021 64bit vendor locked - 20v psu - 2 sodimm -
|-
| <!--Name-->Thinkcenter M75q-2 Gen2 refresh
| <!--IDE-->{{N/A}}
| <!--SATA-->m.2 nvme
| <!--Gfx-->Radeon Vega
| <!--Audio-->HDAudio
| <!--USB-->USB3
| <!--Ethernet-->1GigE
| <!--Test Distro-->
| <!--Comments-->2022 64bit 5650GE (6c12t) 5750GE (8c16t) - vendor/PSB can lock your AMD CPU - f12 boot devices
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->Thinkcentre M75q Tiny Gen5
| <!--IDE-->{{N/A| }}
| <!--SATA-->2 NVMe
| <!--Gfx-->Radeon 780M dp1.4a or hdmi
| <!--Audio-->HDAudio with codec
| <!--USB-->USB3 usb-c
| <!--Ethernet-->1GBe port
| <!--Test Distro-->
| <!--Comments-->2024 Ryzen PRO 7 8700GE - 90W yellow rectangle connector psu - 2 DDR5 sodimm slots max 128Gb -
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|}
====Misc====
{| class="wikitable sortable" width="100%"
! width="15%" |Name
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Integrated Gfx
! width="10%" |Audio
! width="10%" |USB
! width="10%" |Ethernet
! width="5%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->Impart impact Media Group IQ Box mini Digital Signage with MB896 mini itx
| <!--IDE-->{{Yes| }}
| <!--SATA-->{{N/A}}
| <!--Gfx-->GMA 915 gme
| <!--Audio--> via audio
| <!--USB-->{{yes| }}
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->2007 32bit - 1 ddr2 slot - pentium m 1.73GHz -
|-
| <!--Name-->[https://everymac.com/systems/apple/mac_mini/specs/mac_mini_cd_1.83-specs.html Apple A1176 Intel MacMini1,1]
| <!--IDE-->{{N/A}}
| <!--SATA-->{{unk|gpt/efi }}
| <!--Gfx-->{{Yes|gma950 2d and 3d}}
| <!--Audio-->{{No|HDAudio with ICH7 [https://answers.launchpad.net/ubuntu/+source/alsa-driver/+question/186749 Sigmatel Stac 9221] [https://android.googlesource.com/kernel/msm/+/android-wear-5.1.1_r0.6/sound/pci/hda/patch_sigmatel.c codec][https://alsa-devel.alsa-project.narkive.com/Yt20W6cE/sigmatel-stac9221-mux-amp-out-0x02-microphone-not-working mic]}}
| <!--USB-->{{Yes|USB2}}
| <!--Ethernet-->{{No|Marvell}}
| <!--Test Distro-->
| <!--Comments-->2006 32bit possible 1.83 GHz Intel “Core Duo” (T2400) - swap pci-e wifi for atheros 5k AR5007EG - maybe hack with a 2,1 firmware - max 4GB Ram ddr2 sodimms - external apple psu - dvd boot only with c key -
|-
| <!--Name-->[https://everymac.com/systems/apple/mac_mini/specs/mac-mini-core-2-duo-1.83-specs.html Apple A1176 Intel Mac Mini2,1]
| <!--IDE-->{{N/A}}
| <!--SATA-->{{unk|gpt/efi }}
| <!--Gfx-->{{Yes|gma950 2d and 3d}}
| <!--Audio-->{{No|HDAudio with ICH7 Sigmatel Stac 9221 codec}}
| <!--USB-->{{Yes|USB2}}
| <!--Ethernet-->{{No|Marvell}}
| <!--Test Distro-->Aros One 2.0/ Icaros
| <!--Comments-->2007 64bit - swap pci-e wifi for atheros 5k AR5007EG - hacked with a 2,1 firmware and replaced the cpu for T7600 2.33 Ghz C2D and max 4GB Ram ddr2 sodimms - external apple psu - dvd boot only via c key
|-
| <!--Name-->Apple iMac 5,1 "Core 2 Duo" 1.83GHz 17" T5600 MA710LL || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->GMA 950 with 64Mb || <!--Audio-->HDAudio idt codec || <!--USB-->3 USB2 || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->2006 64bit - 2 ddr2 667MHz sodimm slots - 17.0" TFT widescreen 1440x900 - polycarbonate
|-
| <!--Name-->Apple iMac 6,1 "Core 2 Duo" 2.16 2.33 24" only T7400 T7600 aka MA456LL/A A1200 (EMC 2111) || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Nvidia 7300GT with 128 MB of GDDR3 SDRAM PCI Express or GeForce 7600GT with 256Mb mini dvi, vga || <!--Audio-->HDAudio || <!--USB-->3 USB2 || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->2006 64bit - 2 ddr2 667MHz sodimm slots - 24.0" TFT widescreen 1920 x 1200 - polycarbonate plastic case iMacs of this generation are the most difficult iMacs to service due to their front bezel design
|-
| <!--Name-->Neoware CA2
| <!--IDE-->flash DOM
| <!--SATA-->{{N/A}}
| <!--Gfx-->S3 Inc ProSavage PM133 (rev 02) vga
| <!--Audio-->VIA VT82C686 AC97 Audio
| <!--USB-->USB
| <!--Ethernet-->rtl8139
| <!--Test Distro-->
| <!--Comments-->2003 32bit - VIA Ezra 800MHz - 2 PC100 sodimm slots - riser board carries an ISA slot and a PCI slot - external 12V power supply.with 4 pins -
|-
| <!--Name-->Neoware CA5 Capio One
| <!--IDE-->44pin Disk On Module DOM
| <!--SATA-->{{N/A}}
| <!--Gfx-->SiS550 vga
| <!--Audio-->AC97 with SiS7019 codec
| <!--USB-->USB1.1
| <!--Ethernet-->rtl8139
| <!--Test Distro-->
| <!--Comments-->2004 32bit - internal power supply with mains lead has a "clover leaf" style - 2 144-pin PC100 or PC133 SODIMM might have 24MB of RAM soldered -
|-
| <!--Name-->Neoware CA10
*E140 model BL-XX-XX (800MHz CPU) later
*E100 model BK-XX-XX (1GHz CPU)
| <!--IDE-->
| <!--SATA-->{{N/A}}
| <!--Gfx-->VIA VT8623 (Apollo CLE266) vga
| <!--Audio-->AC97 with
| <!--USB-->4 USB2
| <!--Ethernet-->VIA VT6102/VT6103 [Rhine-II] (rev 74)
| <!--Test Distro-->
| <!--Comments-->2004/5 32bit - 12v 5.5mm/2.1mm - 2 184-pin DDR DIMM -
|-
| <!--Name-->VXL Itona thin client
*TC3200,
*TC3x41 (P3VB-VXL) TC3541 TC3641 TC3841,
*TC3xx1 (6VLE-VXL0) TC3931,
*TC43xx (Gigabyte C7V7VX) TC4321
| <!--IDE-->
| <!--SATA-->{{N/A}}
| <!--Gfx-->VIA vga
| <!--Audio-->AC'97 Audio with VIA VT
| <!--USB-->VIA USB
| <!--Ethernet-->Realtek 8100B
| <!--Test Distro-->
| <!--Comments-->2005 2006 32bit VIA Samuel 2, VIA C3 Nehamiah CPU, 1 DIMM slot, internal psu,
|-
| <!--Name-->Neoware Capio C50, model CA15 Thin Clients]
*Login Administrator Password Administrator
*Login User Password User
| <!--IDE-->1 flash Disk On Module
| <!--SATA-->{{N/A}}
| <!--Gfx-->VIA VT8623 (Apollo CLE266) vga
| <!--Audio-->AC97 with via codec
| <!--USB-->USB
| <!--Ethernet-->VIA
| <!--Test Distro-->
| <!--Comments-->2006 32bit VIA Eden (Samuel II core) CPU - 1 ddr sodimm slot max 512mb - slot - internal psu clover leaf -
|-
| <!--Name-->[http://etoy.spritesmind.net/neowareca21.html Neoware CA21 Thin Clients] Igel 3210 (and maybe the Clientron G270)
*Login Administrator Password Administrator
*Login User Password User
| <!--IDE-->1 flash Disk On Module DOM
| <!--SATA-->{{N/A}}
| <!--Gfx-->VIA CN700 vga
| <!--Audio-->AC97 with via codec
| <!--USB-->USB2
| <!--Ethernet-->VIA
| <!--Test Distro-->
| <!--Comments-->2007 32bit VIA C3 Nehemiah instead of Ezra-T - made 2 version of the CA 21, one with an Award bios and one with a Phoenix bios - 1 ddr2 sodimm slot max 1gb - VT6656 wireless - slot - internal psu iec -
|-
| <!--Name-->Neoware CA22 (e140), part number DD-L2-GE with BCOM WinNET P680 (V4) as the Igel 4210LX (Igel 5/4)
| <!--IDE-->1 VIA VT82C586A/B VT82C686/A/B VT823x/A/C PIPC Bus Master IDE (rev 06)
| <!--SATA-->{{N/A}}
| <!--Gfx-->VIA CN700 P4M800 Pro CE VN800 Graphics [S3 UniChrome Pro] (rev 01) vga
| <!--Audio-->AC97 with codec
| <!--USB-->USB2 VIA VT8237R Plus
| <!--Ethernet-->VIA VT6102/VT6103 [Rhine-II] (rev 78)
| <!--Test Distro-->
| <!--Comments-->2007 32bit - VIA Esther to later C7 1GHz - 1 ddr2 sodimm slots max 512mb - +12V DC/4.16A/50W 5.5mm/2.1mm coaxial -
|-
| <!--Name-->10Zig RBT402, Clientron U700,
| <!--IDE-->{{Yes|44 pin header very little room}}
| <!--SATA-->{{N/A|}}
| <!--Gfx-->{{Partial|VESA dvi}}
| <!--Audio-->{{unk|AC97 with codec}}
| <!--USB-->{{unk|VIA }}
| <!--Ethernet-->{{unk|}}
| <!--Test Distro-->
| <!--Comments-->2008 32bit - very small cases with very limited expansion - 1 sodimm 2GB max - 12v 3a psu - Password Fireport
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->Dell Optiplex FX170 D05U thin client, 10Zig 56xx range 5602, 5616v, 5617v, 5672v, Clientron U800, Devon IT TC5,
| <!--IDE-->{{Yes|44 pin header very little room}}
| <!--SATA-->{{N/A|}}
| <!--Gfx-->{{partial|GMA 950 dvi}}
| <!--Audio-->{{Yes|HD Audio with codec}}
| <!--USB-->{{Yes| }}
| <!--Ethernet-->{{No|Broadcom}}
| <!--Test Distro-->Icaros 2.3
| <!--Comments-->2009 32bit - very small cases with very limited expansion - 1 ddr2 sodimm 2GB max - 12v 3a psu - Password Fireport - ps2 keyboard socket -
|-
| <!--Name-->10Zig RBT-616V or Chip PC Technologies EX-PC (model number XPD4741)
| <!--IDE-->{{unk|44 pin header very little room}}
| <!--SATA-->{{N/A|}}
| <!--Gfx-->{{Yes|GMA 950}}
| <!--Audio-->{{unk|HD Audio with codec}}
| <!--USB-->{{unk| }}
| <!--Ethernet-->{{unk|rtl8169}}
| <!--Test Distro-->
| <!--Comments-->2010 32bit N270 on NM10 with ICH7 - very small cases with very limited expansion - 1 sodimm 2GB max - 12v 4a psu - Password Fireport
|-
| <!--Name-->Gigabyte Brix GS-A21S-RH (rev. 1.0) SFF
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->{{maybe|X3100}}
| <!--Audio-->{{No|HD Audio with ALC883-GR codec}}
| <!--USB-->Intel USB
| <!--Ethernet-->{{no|Intel 82566DC}}
| <!--Test Distro-->ICAROS 2.3
| <!--Comments-->2009 64bit Intel GME965 chipset with Intel ICH8M - 2 DDR2 Dimm slots - GA-6KIEH2-RH Rev.1.x mini ITX Case 213mm(D) x 64mm(W) x 234mm(H) - custom psu -
|-
| <!--Name-->VXL Itona MD+24 MD27 MD54 MD64 MD76 thin client
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->VIA Chrome 9
| <!--Audio-->HD Audio with VIA VT
| <!--USB-->VIA
| <!--Ethernet-->VIA
| <!--Test Distro-->
| <!--Comments-->2009 32bit VIA X2 U4200 - 12v-19v barrel psu -
|-
| <!--Name-->Acer Revo 100 RL100 AMD Athlon II X2 K325 || <!--IDE--> || <!--SATA--> || <!--Gfx-->NVIDIA® ION™ 9300m || <!--Audio-->HDAudio with ALC662 codec || <!--USB-->USB2 1 front 2 back || <!--Ethernet-->NVIDIA nForce 10/100/1000 || <!--Test Distro--> || <!--Comments-->2010 64bit but no AVX - 4Gb DDR3 sodimm - 500 GB - 19v 3.42a 65W - dvd but later BD drive -
|-
| <!--Name-->Asrock ION 330 330Pro HT-BD, Foxconn NT-330i, Zotac ION F (IONITX mini itx),
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->{{Maybe|ION geforce 9400}}
| <!--Audio-->{{Maybe| }}
| <!--USB-->{{Maybe|Nvidia USB}}
| <!--Ethernet-->{{No|Nvidia }}
| <!--Test Distro-->
| <!--Comments-->2010 32bit slow atom cpu - 2.5L 8" by 8" plastic case - 2 ddr2 sodimm max 4G - external 19v 65W 3.42A Plug 5.5mm X 2.5mm - little whiny fan -
|-
| <!--Name-->Zotac ZBOXHD-ND01
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->ION1
| <!--Audio-->HDaudio
| <!--USB-->USB2
| <!--Ethernet-->NVidia
| <!--Test Distro-->
| <!--Comments-->2009 32bit
|-
| <!--Name-->Zotac ZBOX HD-ID11
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->ION2
| <!--Audio-->HDaudio with ALC888 codec
| <!--USB-->USB2
| <!--Ethernet-->rtl8169 rtl8111D
| <!--Test Distro-->
| <!--Comments-->2010
|-
| <!--Name-->ZOTAC ZBOX Blu-ray 3D ID36 Plus
| <!--IDE-->{{N/A}}
| <!--SATA-->sata
| <!--Gfx-->ION2
| <!--Audio-->HDaudio
| <!--USB-->2 USB3
| <!--Ethernet-->GbE
| <!--Opinion-->2011 64bit -
|-
| <!--Name-->Shuttle XS35GT || <!--IDE--> || <!--SATA--> || <!--Gfx-->ION || <!--Audio-->HD audio IDT92HD81 || <!--USB--> || <!--Ethernet-->{{No|JMC261}} || <!--Test Distro--> || <!--Comments-->2011 64bit - Atom™ D510 NM10 - DDR2
|-
| <!--Name-->Shuttle XS35GT V2 || <!--IDE--> || <!--SATA--> || <!--Gfx-->ION2 || <!--Audio-->HD audio IDT92HD81 || <!--USB-->Intel || <!--Ethernet-->{{No|JMC251}} || <!--Test Distro--> || <!--Comments-->2011 64bit Atom™ D525 NM10 chipset - DDR3
|-
| <!--Name-->Sapphire Edge-HD || <!--IDE--> || <!--SATA--> || <!--Gfx-->ION2 GT218 with vga and hdmi || <!--Audio-->HDAudio realtek codec || <!--USB--> || <!--Ethernet-->{{Unk|Realtek}} || <!--Test Distro--> || <!--Comments-->2011 64bit - Atom™ D510 NM10 - DDR2 65 W AC, DC 19V~3.42A, 19.3L x 14.8w x 2.2H cm (1l), weight 530g,
|-
| <!--Name-->Sapphire Edge-HD2 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes|IDE mode}} || <!--Gfx-->{{Yes|nouveau ION2 GT218 with vga and hdmi 2d and 3d}} || <!--Audio-->{{Yes|HDAudio}} || <!--USB-->{{Yes|Intel USB2}} || <!--Ethernet-->{{Yes|}} || <!--Test Distro--> || <!--Comments-->2011 64bit Atom™ D525 NM10 chipset - DDR3
|-
| <!--Name-->AOPEN Digital Engine DE67-HA(I)
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Maybe| }}
| <!--Gfx-->{{Maybe| Vesa 2d for Intel HD}}
| <!--Audio-->{{maybe|HDAudio for ALC662 codec}}
| <!--USB-->{{maybe|usb3}}
| <!--Ethernet-->{{no|Intel WG82579LM}}
| <!--Test Distro-->
| <!--Comments-->2011
|-
| <!--Name-->[https://www.jetwaycomputer.com/JBC600C99352W.html Jetway JBC600C99352W]
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->ION2
| <!--Audio-->{{No|C-Media CM108AH}}
| <!--USB-->USB2
| <!--Ethernet-->Realtek 8111DL
| <!--Test Distro-->
| <!--Comments-->2011 64bit D525 - DDR3 - 12v psu
|-
| <!--Name-->Foxconn nT-A3550 A3500 AMD A45 Chipset DDR3 Nettop Barebones - White
| <!--IDE-->{{N/A}}
| <!--SATA-->1 slot
| <!--Gfx-->AMD Radeon HD6310
| <!--Audio-->
| <!--USB-->4 USB2 back and 2 USB3 front
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->2012 64bit does not support AVX or SSE 4.1 AMD Dual-core E350 1.6GHz CPU - 1 ddr3 sodimm -
|-
| <!--Name-->Asus EeeBox PC EB1021 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Radeon HD6320M || <!--Audio-->HDAudio with ALC codec || <!--USB-->USB2 || <!--Ethernet-->Realtek GbE1 || <!--Test Distro--> || <!--Comments-->2012 64bit - AMD® Brazos E-350 SFF or E-450 with A50M - 2 ddr3l so-dimm - 40W ac -
|-
| <!--Name-->Xi3 Piston PC Athlon64 X2 3400e (X5A), AMD R-464L quad (X7A) Z3RO NUC
| <!--IDE-->{{N/A}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->AMD mobility HD3650 to radeon HD 7660G
| <!--Audio--> codec
| <!--USB-->4 USB2 3 USB3
| <!--Ethernet-->{{no|Atheros AR8161}}
| <!--Test Distro-->
| <!--Comments-->2012 - 2 sodimm 8GB max - 19v 3.3a round - Titan105 bios update -
|-
| <!--Name-->Sapphire Edge-HD3 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Radeon HD6320M with vga and hdmi || <!--Audio-->HDAudio with Realtek ALC662 codec || <!--USB-->USB2 || <!--Ethernet-->Realtek GbE1 || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 AMD® Brazos E-450 with A45M - ddr3l so-dimm - 65W ac - Wireless is Realtek 8191SU WiFi (802.11n) or AzureWave (802.11bgn) -
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->Samsung Syncmaster Thin Client Display TC-W Series 24" LF24 TOWHBFM/EN TC220W LED LF22TOW HBDN/EN || <!--IDE-->{{N/A}} || <!--SATA-->8gb SSD || <!--Gfx-->{{Maybe| VESA mode only Radeon HD 6290}} || <!--Audio--> || <!--USB-->2 USB 2.0 || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 thin Client C-50 C50 AMD® 1000 MHz and no wireless
|-
| <!--Name-->Advantech TPC-2140 thin client
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->{{Maybe|VESA }}
| <!--Audio-->
| <!--USB-->USB2
| <!--Ethernet-->{{Yes|Realtek}}
| <!--Test Distro-->
| <!--Comments-->2012 64bit does not support AVX or SSE 4.1 atom-like G-T56E 1.65Ghz up to SSE3, BGA413 soldered -
|-
| <!--Name-->CompuLab FIT-PC3 fitPC3 USFF PC AMD G-T56N || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->RADEON HD 6320 || <!--Audio-->{{yes|HDAudio ALC888 codec}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{yes|rtl8169 8111}} || <!--Test Distro--> || <!--Comments-->2012 64 bit does not support AVX or SSE 4.1 - 12v 3a - 2x sodimm DDR3 max 4GB - wifi rtl8188ce
|-
| <!--Name-->10Zig 6872 thin client
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->{{Maybe|VESA }}
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->{{Yes|Realtek}}
| <!--Test Distro-->
| <!--Comments-->2012 64bit does not support AVX or SSE 4.1 atom-like G-T56N up to SSE3 BGA413 (FT1) soldered - DDR3l single channel -
|-
| <!--Name-->10ZiG Technology 9972 1.6 GHz Linux 1.47 kg Black RX-216GD thin client
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->AMD Radeon 5E 3840 x 2160 @ 30Hz to 2560 x 1600 @ 60Hz 2 x Display Port
| <!--Audio-->
| <!--USB-->6 x USB2.0 2 x USB3.0
| <!--Ethernet-->{{Maybe|Realtek}}
| <!--Test Distro-->
| <!--Comments-->2016 64bit does support AVX or SSE 4.1 AMD RX-216TD - 1 ddr3 sodimm - 12V 4A Coax 5.5mm/2.1mm
|-
| <!--Name-->10ZiG 7800q thin client
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->AMD Radeon 5E 3840 x 2160 @ 30Hz to 2560 x 1600 @ 60Hz 2 x Display Port
| <!--Audio-->
| <!--USB-->6 x USB2.0 2 x USB3.0
| <!--Ethernet-->{{Maybe|Realtek}}
| <!--Test Distro-->
| <!--Comments-->2016 64bit does support AVX or SSE 4.1 AMD GX-424CC (Quad Core) 2.4GHz BGA769 (FT3b) - 1 ddr3 sodimm - 12V 4A Coax 5.5mm/2.1mm
|-
| <!--Name-->
*Itona VXL MZE12 AMD a4-5000 thin client
*VXL Itona LQ27 LQ+27 LQ44 LQ+44 LQ49 LQ+49 LQ50 LQ+50 LQ64 LQ+64 thin client
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->Ati 8330 vga hdmi dp
| <!--Audio-->
| <!--USB-->4 usb2 2 usb3
| <!--Ethernet-->Realtek
| <!--Test Distro-->
| <!--Comments-->2014 64bit quad BGA769 (FT3) soldered - 2 stacked sodimm ddr3 middle of mobo - 2 m.2 sata slots - 1 sata short cable half size space - limited 1ltr 8in case no fan - 19v hp style psu connector -
|-
| <!--Name-->Dell Wyse 5212 21.5" AIO Thin Client W11B
| <!--IDE-->{{N/A}}
| <!--SATA-->Sata
| <!--Gfx-->R3 out from DP or vga
| <!--Audio-->HDAudio
| <!--USB-->USB2
| <!--Ethernet-->Realtek
| <!--Test Distro-->
| <!--Comments-->2015 64bit slow atom like dual core AMD G-T48E 1.4 GHz - dell type round ac needed 90W 19.5V 4.62A - 21 inch 1080p screen -
|-
| <!--Name-->LG 24CK560N-3A 24' All-in-One Thin Client Monitor, 27CN650N-6N 27CN650W-AC 27', 34CN650W-AC 34',
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->2018 64bit AMD Prairie Falcon GX-212JJ
|-
| <!--Name-->CompuLab fit-PC4 fitPC4 4x 2Ghz AMD || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet-->{{no|Intel}} || <!--Test Distro--> || <!--Comments-->2018 64 - 2x DDR4 sodimm -
|-
| <!--Name-->IGEL Hedgehog M340C UD3 thin client
*2016 V1.0 AMD GX-412HC 1.2GHz-1.6GHz Radeon R3E, normal bios DEL for Bios or F12 boot selector
*2018 AMD GX-424CC 2.4GHz, Radeon R5E, UEFI hit DEL and choose boot or SCU icon
| <!--IDE-->{{N/A|}}
| <!--SATA-->SATA half slim version '''limited space''' with msata 8+18pins slot on earlier 2016 models
| <!--Gfx-->{{Maybe|VESA for Radeon R3E later R5E sea islands vulkan 1.2 with dvi dp output}}
| <!--Audio-->{{Yes|HD Audio with codec ?? (412) and Realtek ALC662-VD0-GR (424), both case speaker}}
| <!--USB-->amd usb3 boot usb2 with bios "disable usb" entry
| <!--Ethernet-->{{Yes|Realtek 8169 8111 (412) and (424)}}
| <!--Test Distro-->Aros One x86 USB 1.5, 1.8 and 2.2
| <!--Comments-->2016 64bit - 20cm/8" high case - 1 DDR3L sodimm slot max 8Gb 1600MHz - external '''12V 3A''' supply with 5.5mm/2.1mm coaxial - IDE like interface under base stand is for legacy addon ports RS232 parallel etc - capacitive touch power on - case opening 3 stages, remove stand and narrow black plastic strip from the back, top cover slides off to the back and lifts off -
|-
| <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->10ZiG 6148v 6048qv (6100 series)
| <!--IDE-->{{N/A}}
| <!--SATA-->{{maybe| }}
| <!--Gfx-->
| <!--Audio-->{{maybe| }}
| <!--USB-->{{No| }}
| <!--Ethernet-->{{maybe| }}
| <!--Test Distro-->
| <!--Comments-->2018 64bit AMD Ryzen V1202B
|-
| <!--Name-->10ZiG 7111q
| <!--IDE-->{{N/A}}
| <!--SATA-->{{maybe| }}
| <!--Gfx-->
| <!--Audio-->{{maybe| }}
| <!--USB-->{{maybe| }}
| <!--Ethernet-->{{maybe| }}
| <!--Test Distro-->
| <!--Comments-->2019 64bit AMD Ryzen R2514 2.1 GHz -
|-
| <!--Name-->Shuttle DA320
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->R3 R5
| <!--Audio-->HD Audio with ALC662 codec
| <!--USB-->{{maybe| }}
| <!--Ethernet-->dual realtek 1GbE 8111H
| <!--Test Distro-->
| <!--Opinion-->2017 64bit AMD 2200G 2400G - Robust metal 1.3-liter case - A320 chipset DDR4 - 19V 6.32A DC PSU -
|-
| <!--Name-->IGEL UD7 H850C around december 2019 '''AMD Secure Processor''' is a built-in dedicated security system that checks if the BIOS has a valid signature and thus secures the next step in the boot process. This ensures that only devices with a signed BIOS will boot
| <!--IDE-->{{N/A}}
| <!--SATA-->None but 8gb emmc
| <!--Gfx-->Vega 3
| <!--Audio-->HD Audio with Realtek ALC897 or ALC888S codec
| <!--USB-->USB 3.2 and 2.0
| <!--Ethernet-->1GbE
| <!--Test Distro-->
| <!--Comments-->2018 64bit - AMD Ryzen™ Dual-Core 10W TDP - 2 DDR4 sodimms slots max 16Gb - 12V 4A psu - 2x DisplayPort 1.2 no dvi or hdmi - Intel® 9260 or SparkLAN WNFT-238AX wifi - 1x rear serial Prolific PL2303 chipset - locked down components and very limited expansion options
|-
| <!--Name-->IGEL UD7 H860C - '''AMD Secure Processor''' is a built-in dedicated security system that checks if the BIOS has a valid signature and thus secures the next step in the boot process. This ensures that only devices with a signed BIOS will boot
| <!--IDE-->{{N/A}}
| <!--SATA-->None but 8gb emmc
| <!--Gfx-->Vega 3
| <!--Audio-->HD Audio with Realtek ALC897 or ALC888S codec
| <!--USB-->USB 3.2 and 2.0
| <!--Ethernet-->1GbE
| <!--Test Distro-->
| <!--Comments-->2018 64bit - AMD Ryzen™ Dual-Core 10W TDP - 2 DDR4 sodimms slots max 16Gb - 12V 4A psu - 2x DisplayPort 1.2 no dvi or hdmi - Intel® 9260 or SparkLAN WNFT-238AX wifi - 1x rear serial Prolific PL2303 chipset - locked down components and very limited expansion options
|-
| <!--Name-->IGEL UD3 M350C (UEFI issues)
| <!--IDE-->{{N/A}}
| <!--SATA-->None but 8gb emmc
| <!--Gfx-->Vega 3
| <!--Audio-->HD Audio with Realtek ALC897 or ALC888S codec
| <!--USB-->USB 3.2 and 2.0
| <!--Ethernet-->1GbE
| <!--Test Distro-->
| <!--Comments-->2018 64bit - AMD Ryzen™ R R1505G Dual-Core 10W TDP - 2 DDR4 sodimms slots max 16Gb - 12V 4A psu - 2x DisplayPort 1.2 no dvi or hdmi - Intel® 9260 or SparkLAN WNFT-238AX wifi - 1x rear serial Prolific PL2303 chipset - locked down components and very limited expansion options
|-
| <!--Name-->IGEL UD7 H860C AMD Ryzen V1605B Thin Client - '''AMD Secure Processor''' is a built-in dedicated security system that checks if the BIOS has a valid signature and thus secures the next step in the boot process. This ensures that only devices with a signed BIOS will boot
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->HDAudio
| <!--USB-->{{maybe| }}
| <!--Ethernet-->1GbE
| <!--Test Distro-->
| <!--Comments-->2020 AMD Ryzen™ Embedded V1605B 2 – 3.6 GHz (Quad-Core) - 12v 5A psu - up to 16GB RAM DDR4 - locked down components and very limited expansion options
|-
| <!--Name-->Gigabyte Brix Barebone Mini PC BSRE-1605
| <!--IDE-->{{N/A}}
| <!--SATA-->2 M.2
| <!--Gfx-->Vega 8
| <!--Audio-->HD Audio ALC269 codec
| <!--USB-->USB3
| <!--Ethernet-->2 GbE
| <!--Test Distro-->
| <!--Comments-->2020 64bit AMD Ryzen V1605B - 2 DDR4 sodimm slots
|-
| <!--Name-->MINISFORUM Deskmini UM250 Mini PC
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->{{maybe| }}
| <!--Ethernet-->{{maybe| }}
| <!--Test Distro-->
| <!--Comments-->2020 64bit AMD Ryzen V1605B -
|-
| <!--Name-->T-Bao MN25 Mini PC 2500U
| <!--IDE-->{{N/A| }}
| <!--SATA-->{{Unk|Intel NVMe}}
| <!--Gfx-->{{No|VESA Radeon Vega 8}}
| <!--Audio-->{{Unk| }}
| <!--USB-->{{maybe|USB 3}}
| <!--Ethernet-->{{Yes|Realtek PCIe 1GbE}}
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->Atari VCS || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{maybe|Vesa 2D for AMD Vega 3}} || <!--Audio-->{{unk|HDAudio with ALC codec}} || <!--USB-->{{maybe|USB3 USB 3.2 Gen 2 front and 3 usb2 rear }} || <!--Ethernet-->rtl8169 Realtek RTL8111H || <!--Test Distro--> || <!--Comments-->2021 64bit Ryzen Embedded R1606G - 2 ddr4 sodimm slots - TPM 2.0 -
|-
| <!--Name-->Minis Forum M200 Silver Athlon M300 3300U
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->Vega 8
| <!--Audio-->
| <!--USB-->{{maybe|USB 3.1 gen 1 and 2}}
| <!--Ethernet-->{{No|Realtek PCIe 2.5G}}
| <!--Test Distro-->
| <!--Comments-->2021 64bit
|-
| <!--Name-->Minis Forum DeskMini UM300 3300U, UM350 DMAF5 3550H, UM370 and UM700 with 3750H
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->Vega 8
| <!--Audio-->
| <!--USB-->{{maybe|USB 3.1 gen 1 and 2}}
| <!--Ethernet-->{{No|Realtek PCIe 2.5G}}
| <!--Test Distro-->
| <!--Comments-->2021 64bit
|-
| <!--Name-->MinisForum X300 with AMD 3400G
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->Vega 8
| <!--Audio-->
| <!--USB-->{{maybe|USB 3.1 gen 1 and 2}}
| <!--Ethernet-->{{No|Realtek PCIe 2.5G}}
| <!--Test Distro-->
| <!--Comments-->2021 64bit
|-
| <!--Name-->Beelink SER3 GTR4
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->AMD Vega 3 or 10
| <!--Audio-->HD Audio with codec
| <!--USB-->{{maybe|USB3}}
| <!--Ethernet-->Realtek RJ45 1GbE
| <!--Test Distro-->
| <!--Comments-->2020 64bit 3200u or 3750h
|-
| <!--Name-->AsRock DeskMini X300
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->2020 Ryzen 7 Pro 4750G 5600G
|-
| <!--Name-->MinisForum Besstar Tech X400 with AMD 4650G
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->AMD
| <!--Audio-->
| <!--USB-->{{maybe|USB 3.1 gen 1 and 2}}
| <!--Ethernet-->{{No|Realtek PCIe 2.5G}}
| <!--Test Distro-->
| <!--Comments-->2021 64bit - MP1584 - kill NB679 NB679GD-Z=ALTM=AL** QFN-12 IC-REG-DL buck/linear synchronous chip IC with bad usb cables -
|-
| <!--Name-->Beelink SER4 GTR5
| <!--IDE-->{{N/A}}
| <!--SATA-->cant boot from installed SSDs unless its an M.2
| <!--Gfx-->AMD Vega
| <!--Audio-->
| <!--USB-->{{maybe|USB3}}
| <!--Ethernet-->1 or 2 Realtek
| <!--Test Distro-->
| <!--Comments-->2021 64bit 4700U or 5900HX
|-
| <!--Name-->MSI PRO DP20Z 5M Mini PC - AMD Ryzen 5 5300G
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->{{No|Realtek 2.5G LAN RTL8125}}
| <!--Test Distro-->
| <!--Comments-->2018-2021 R3 3200G Vega 8 - R5 3400G Vega 11 - Ryzen 5 5600G Vega 7 - Athlon 3000G
|-
| <!--Name-->Minisforum UM450
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->Vega
| <!--Audio-->HDaudio
| <!--USB-->USB3
| <!--Ethernet-->{{No|Realtek 2.5G LAN RTL8125}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit - Ryzen 4500U -
|-
| <!--Name-->Gigabyte Brix
GB-BRR7-4800 (rev. 1.0)
GB-BRR7-4700 (rev. 1.0)
GB-BRR5-4500 (rev. 1.0)
GB-BRR3-4300 (rev. 1.0)
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->{{maybe|}}
| <!--Ethernet-->Realtek 2.5G LAN RTL8125
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->ASUS PN50 mini PC AMD Ryzen 7 4700U
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Vega
| <!--Audio-->HD audio with codec
| <!--USB-->{{maybe|3.1 gen1}}
| <!--Ethernet-->{{No|realtek 2.5GbE}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit -
|-
| <!--Name-->ASUS PN51-S1 mini PC AMD Ryzen 7 5700U
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->Vega thru dp or hdmi
| <!--Audio-->HD audio with codec
| <!--USB-->{{maybe|3.1 gen1}}
| <!--Ethernet-->{{No|realtek 2.5GbE}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit - 19v or 19.5v 90w psu round barrel - 32gb ddr4 sodimm -
|-
| <!--Name-->Minis Forum Bessstar Tech EliteMini B550
| <!--IDE-->{{N/A}}
| <!--SATA-->1 x 2.5in and 2 nvme
| <!--Gfx-->Vega 8
| <!--Audio-->
| <!--USB-->{{maybe|4 usb3.1}}
| <!--Ethernet-->{{No|realtek 8125 2.5GbE}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit AMD 4700G 5700G desktop cpu - 19v 120w round barrel -
|-
| <!--Name-->ASRock A300 and later X300 Mini itx with Desktop AM4 socket
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->Vega
| <!--Audio-->HDAudio
| <!--USB-->USB3
| <!--Ethernet-->1GbE
| <!--Test Distro-->
| <!--Comments-->2022 64bit - choose your own AMD APU GE 35w based - DDR4 -
|-
| <!--Name-->ASRock 4x4 BOX-5800U Zen 3-based AMD Ryzen 7 5800U 15W -
| <!--IDE-->{{N/A}}
| <!--SATA-->m.2 slot gen 3 and sata
| <!--Gfx-->vega
| <!--Audio-->HD audio with codec
| <!--USB-->{{maybe|}}
| <!--Ethernet-->{{Maybe|1 GbE and 1 2.5GbE}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit - WiFi 6E -
|-
| <!--Name-->Topton S500+ Gaming Mini PC - Morefine S500+ 5900HX Mini PC - Minisforum UM590 Ryzen AMD Zen3 Ryzen 9 5900HX 7 5800H 45W -
| <!--IDE-->{{N/A}}
| <!--SATA-->2 nvme 1 sata
| <!--Gfx-->Vega 8 thru HDMI 2.0, DP 1.4, and USB type-C
| <!--Audio-->
| <!--USB-->{{maybe|usb3.1}}
| <!--Ethernet-->{{Maybe|1 realtek rtl 8111h and 1 8125 2.5GbE bg-cg}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit - 2 sodimm ddr4 3200MHz -
|-
| <!--Name-->Chuwi RzBox later Ubox
| <!--IDE-->{{N/A}}
| <!--SATA-->2 nvme
| <!--Gfx-->Vega 8 later to 660m vga, dp, hdmi
| <!--Audio-->HDaudio
| <!--USB-->{{maybe|usb-c usb2}}
| <!--Ethernet-->dual gigabit
| <!--Test Distro-->
| <!--Comments-->2022 2025 64bit amd 5800h 4800h 6600H - 90w psu -
|-
| <!--Name-->Beelink Mini PC SER5, Trigkey AZW S5, Asus PN52, ZHI BEN MX-JB560,
| <!--IDE-->{{N/A}}
| <!--SATA-->PCIe3 M.2 2280 nvme
| <!--Gfx-->AMD Vega 6 with 1 or 2 hdmi
| <!--Audio-->HDAudio
| <!--USB-->{{maybe|USB3.0}}
| <!--Ethernet-->{{Maybe|Realtek 1GbE}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit 5500U 5560u 5600U to PRO 5600H 5800H - 19v 3.42W 65W psu -
|-
| <!--Name-->NIPOGI Kamrui ACEMAGICIAN AM06PRO Dual LAN Mini PC AMD Ryzen 7 5800U, 5 5500U or 5600U/5625U
| <!--IDE-->{{N/A}}
| <!--SATA-->M.2 and 2.5in sata
| <!--Gfx-->Vega 7
| <!--Audio-->HDAudio
| <!--USB-->USB3
| <!--Ethernet-->2 GbE ports
| <!--Test Distro-->
| <!--Comments-->2022 64bit - plastic build - 90w usb-c power - loud at 25W setting -
|-
| <!--Name-->Topton FU02 Fanless Mini PC AMD Ryzen 7 4700U 5600U 5800U 8 Core 16 Threads
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe and 2.5in sata
| <!--Gfx-->Vega
| <!--Audio-->HDAudio
| <!--USB-->4 3.0 with 2 2.0
| <!--Ethernet-->2 x 1G
| <!--Test Distro-->
| <!--Comments-->2022 64 - 2 ddr4 sodimm slots - fanless with copper cube from cpu to metal sheet which gets warm
|-
| <!--Name-->Xuu XR1 Lite (5300u 4c 8t) PRO 5400U MAX 5600U
| <!--IDE-->{{N/A}}
| <!--SATA-->1 NVMe 2242 slot
| <!--Gfx-->Vega 6
| <!--Audio-->HDAudio
| <!--USB-->2 3.0
| <!--Ethernet-->1G
| <!--Test Distro-->
| <!--Comments-->2022 64 quiet fan - very small case no expansions -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->MINISFORUM UM690 Venus Series
| <!--IDE-->{{N/A}}
| <!--SATA-->pcie4 nvme 2280 and 1 sata3 2.5in
| <!--Gfx-->680m RNDA2 12CU with 2 hdmi
| <!--Audio-->HD Audio with codec
| <!--USB-->{{maybe|1 USB4 and 2 USB3.2}}
| <!--Ethernet-->{{No|2.5G LAN}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit 6900hx 8C16T - 2 ddr5 sodimmm - 19v ???W -
|-
| <!--Name-->Beelink Mini PC GTR6
| <!--IDE-->{{N/A}}
| <!--SATA-->PCIe4
| <!--Gfx-->AMD 680M RDNA2
| <!--Audio-->
| <!--USB-->USB3.2
| <!--Ethernet-->{{No|Realtek 2.5GbE or intel i225}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit Ryzen 9 6900HX Zen3+ and a 2gb Radeon 680m 12CU ddr5 sodimm - 19v 120w psu -
|-
| <!--Name-->Asus PN53, Geekom AS 6,
| <!--IDE-->{{N/A}}
| <!--SATA-->pcie gen4 nvme and ata 2.5in
| <!--Gfx-->680m RNDA2 12CU with 2 hdmi and 1 dp
| <!--Audio-->HD Audio with codec
| <!--USB-->{{maybe|2 usb-c, 2 USB2.1 and 3 USB3.2}}
| <!--Ethernet-->{{No|1G LAN}}
| <!--Test Distro-->
| <!--Comments-->2022 64bit 6900hx 8C 16T - 2 slots ddr5 sodimmm (64Gb max) - 19v 120W - 4 retained base screws beware ribbon cable -
|-
| <!--Name-->Micro Computer (HK) Tech Ltd MinisForum UM773 Lite later UM750L slim, GMKtec K2 Mini PC
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe PCIe4.0
| <!--Gfx-->RDNA
| <!--Audio-->HD Audio
| <!--USB-->USB4
| <!--Ethernet-->2.5GbE
| <!--Test Distro-->
| <!--Comments-->2023 2025 64bit - AMD Zen 3+ (8c 16t) Ryzen 7 7735HS, 7840HS and AMD Ryzen 9 7845HX AMD Ryzen™5 7545U (6c12t) - 19v up to 120w ac adapter - ddr5 sodimm 4800Mhz -
|-
| <!--Name-->[https://www.asrockind.com/en-gb/4x4 ASrock 4x4 SBC]
| <!--IDE-->{{N/A}}
| <!--SATA-->sata or nvme
| <!--Gfx-->Vega or 680M
| <!--Audio-->HDAudio
| <!--USB-->USB3 or USB4
| <!--Ethernet-->Realtek 1GbE or intel 2.5GbE
| <!--Test Distro-->
| <!--Comments-->2022 64bit -
|-
| <!--Name-->Beelink Mini PC GTR7 SER7
| <!--IDE-->{{N/A}}
| <!--SATA-->PCIe4 nvme 2280 up to 2Tb
| <!--Gfx-->AMD 780M RDNA3 GPU output on hdmi and dp
| <!--Audio-->HDAudio
| <!--USB-->USB3.2
| <!--Ethernet-->{{No|1 or 2 2.5GbE}}
| <!--Test Distro-->
| <!--Comments-->2023 64bit AMD Phoenix APUs Zen 4 CPU Ryzen 7 7840HS or 9 7940HS (8c 16t) - 19v 5.26A 120w psu - del dios setup f7 choose boot - 2 usb-c on back - up to 64gb via 2 ddr5 sodimm slots -
|-
| <!--Name-->MINISFORUM BD770i Ryzen 7 7745HX (8c16t) or BD795i SE 790i 9 7945HX (16c32t) or F1FXM_MB_V1.1 795M LGA1700 mATX
| <!--IDE-->{{N/A}}
| <!--SATA-->2 NVMe
| <!--Gfx-->Radeon 610m over usb-c, dp or hdmi
| <!--Audio-->HDAudio with codec
| <!--USB-->USB3 with 2 rear USB2
| <!--Ethernet-->Realtek 2.5G
| <!--Test Distro-->
| <!--Opinion-->2024 mini-ITX M/B is the first MoDT (Mobile on Desktop) with soldered AMD CPU - 2 dual PCIe4.0 M.2 slots - 2 ddr5 sodimm slots max 5200Mhz - 8pin cpu power - battery not easily replaceable underneath -
|-
| <!--Name-->Minisforum ms-a1 MS-a2
* 5700G to 8700G apu
* 9955HX
| <!--IDE-->{{N/A}}
| <!--SATA-->2 nvme
| <!--Gfx-->AMD 610M
| <!--Audio-->HDAudio
| <!--USB-->USB3
| <!--Ethernet-->dual 2.5GbE
| <!--Test Distro-->
| <!--Comments-->2024 64bit - 19v ?A round barrel jack - 2 ddr5 so-dimm slots -
|-
| <!--Name-->AOOSTAR GT68
| <!--IDE-->{{N/A}}
| <!--SATA-->Nvme
| <!--Gfx-->680m
| <!--Audio-->HDaudio
| <!--USB-->USB3
| <!--Ethernet-->2 2.5Gb
| <!--Test Distro-->
| <!--Comments-->2025 Ryzen7 Pro 6850H,
|-
| <!--Name-->NextSBC 7840HS
| <!--IDE-->{{N/A}}
| <!--SATA-->Nvme
| <!--Gfx-->AMD 780M 12CU
| <!--Audio-->HDAudio with codec
| <!--USB-->USB4 and USB 3.2
| <!--Ethernet-->2 GbE
| <!--Test Distro-->
| <!--Comments-->2025 64bit - 32Gb soldered -
|-
| <!--Name-->Firebat A6 R7 6800H
| <!--IDE-->{{N/A}}
| <!--SATA-->nvme
| <!--Gfx-->AMD 680M
| <!--Audio-->HDaudio
| <!--USB-->USB3
| <!--Ethernet-->rtl8169
| <!--Test Distro-->
| <!--Comments-->2025 64bit -
|-
| <!--Name-->Minisforum UM760 7640HS
| <!--IDE-->{{N/A}}
| <!--SATA-->nvme
| <!--Gfx-->AMD 760
| <!--Audio-->HDaudio
| <!--USB-->USB4
| <!--Ethernet-->rtl8169 and 2.5Gb
| <!--Test Distro-->
| <!--Comments-->2025 64bit -
|-
| <!--Name-->Peladn WO4 Mini PC
| <!--IDE-->{{N/A}}
| <!--SATA-->nvme
| <!--Gfx-->AMD 760
| <!--Audio-->HDaudio
| <!--USB-->USB3
| <!--Ethernet-->rtl8169
| <!--Test Distro-->
| <!--Comments-->2025 64bit 7640HS - 19v 5.26A 120W -
|-
| <!--Name-->BossGame M4 Neo 7840HS
| <!--IDE-->{{N/A}}
| <!--SATA-->nvme
| <!--Gfx-->AMD 780
| <!--Audio-->HDaudio
| <!--USB-->USB3
| <!--Ethernet-->rtl8169
| <!--Test Distro-->
| <!--Comments-->2025 64bit -
|-
| <!--Name-->Minisforum UM870 || <!--IDE-->{{N/A}} || <!--SATA-->NVme || <!--Gfx-->AMD 780M || <!--Audio-->HDaudio || <!--USB-->USB3 || <!--Ethernet-->2.5GbE || <!--Test Distro--> || <!--Comments-->2025 64bit -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments
|-
| <!--Name-->GEEKOM A8 Max AI Mini PC AMD Ryzen™ 9 8945HS, Ryzen™ 7 8845HS or 8745HS
| <!--IDE-->{{N/A}}
| <!--SATA-->NVme
| <!--Gfx-->AMD 780M
| <!--Audio-->HDAudio with codec
| <!--USB-->{{maybe| USB4}}
| <!--Ethernet-->{{No|Dual 2.5 G Ethernet ports}}
| <!--Test Distro-->
| <!--Comments-->2025 64bit -
|-
| <!--Name-->Beelink SER 9
| <!--IDE-->{{N/A}}
| <!--SATA-->NVme
| <!--Gfx-->Radeon 890M
| <!--Audio-->HDaudio
| <!--USB-->USB4
| <!--Ethernet-->{{No| }}
| <!--Test Distro-->
| <!--Comments-->2025 64bit - Ryzen AI HX 370 strix point -
|-
| <!--Name-->GMKtec EVO-X2 mini pc
| <!--IDE-->{{n/a}}
| <!--SATA-->nvme
| <!--Gfx-->AMD 8060S iGPU RDNA3.5 RADV GFX1151
| <!--Audio-->HDaudio
| <!--USB-->USB4
| <!--Ethernet-->{{No| }}
| <!--Test Distro-->
| <!--Comments-->2025 64bit - amd ryzen AI Max+ 395 (16c32t) strix halo -
|-
| <!--Name-->BosGame M5
| <!--IDE-->{{n/a}}
| <!--SATA-->nvme
| <!--Gfx-->AMD 8060S iGPU RDNA3.5 RADV GFX1151
| <!--Audio-->HDaudio
| <!--USB-->USB4
| <!--Ethernet-->{{No| }}
| <!--Test Distro-->
| <!--Comments-->2025 64bit - amd ryzen AI Max+ 395 (16c32t) -
|-
| <!--Name-->Steam Machine GabeCube
| <!--IDE-->{{N/A}}
| <!--SATA-->nvme
| <!--Gfx-->semi-custom 1080p amd 7600m like with 28cu 8gb ddr6 gddr 10GFlops
| <!--Audio-->hdaudio with codec
| <!--USB-->usb3
| <!--Ethernet-->{{maybe|rtl8169}}
| <!--Test Distro-->
| <!--Comments-->2026 64bit amd 1772 hawk point2 6c12t zen4 avx512 FP7 socket with FCH51 - 16gb ddr5 -
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|}
===Server Systems===
[[#top|...to the top]]
====IBM====
{| class="wikitable sortable" width="100%"
! width="15%" |Name
! width="5%" |IDE
! width="5%" |SATA
! width="10%" |Integrated Gfx
! width="10%" |Audio
! width="10%" |USB
! width="10%" |Ethernet
! width="15%" |Test Distro
! width="20%" |Comments
|-
| <!--Name-->xSeries 206m
| <!--IDE-->{{yes}}
| <!--SATA-->{{yes}}
| <!--Gfx-->{{Maybe|ATI RN50b (VESA only)}}
| <!--Audio-->{{n/a}}
| <!--USB-->{{yes|USB 2.0 (UHCI/EHCI)}}
| <!--Ethernet-->{{no|Broadcom}}
| <!--Test Distro-->Nightly Build 2014-09-27
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
|}
===Motherboard===
[[#top|...to the top]]
* Late 2002, USB2.0 added and slightly better AROS sound support (AC97) appeared
* 2002-2005 and still, to a limited extent, ongoing [http://en.wikipedia.org/wiki/Capacitor_plague bad capacitors]
* Late 2003, ATX PSUs moved from 5V to 12v rails (extra 4pin on motherboard for CPU)
* Late 2005, PCI Express replaced AGP and HDAudio replaced AC97
* Late 2007, ATX PSUs added extra 12V PCI-E connectors and 4+4pin for CPUs
* Late 2010, USB3.0 appears on motherboards or needing a PCI-E motherboard slot
* Late 2014 Hardware USB2 removed from USB3 chipsets
====AMD Sockets====
[[#top|...to the top]]
=====Socket 7 (1997/1999)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->1997 VT82C586B (QFP-208) is the first from VIA with DDMA
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2000 VT82C686 has close to excellent DDMA support
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->SiS 5581/5582
SiS 5591/5595
SiS 530 /5595
SiS 600/5595
SiS 620/5595
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|}
=====Socket A 462 (2001/4)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->[http://www.sharkyextreme.com/hardware/motherboards/article.php/2217921/ABIT-NF7-S-nForce2-Motherboard-Review.htm Abit NF7-S]
| <!--Chipset-->nForce 2
| <!--ACPI-->
| <!--IDE-->2 ports
| <!--SATA-->SIL 3112A
| <!--Gfx-->
| <!--Audio-->{{yes|ALC650 AC97 (Nvidia APU)}}
| <!--USB-->{{yes}}
| <!--Ethernet-->Realtek RTL 8201LB
| <!--Opinion-->Firewire Realtek RTL8801B
|-
| <!--Name-->ASRock K7NF2
| <!--Chipset-->nforce2 ultra 400
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->{{yes|AGP 8x}}
| <!--Audio-->CMedia CMI 9761A AC'97
| <!--USB-->{{yes}}
| <!--Ethernet-->Realtek 8201
| <!--Opinion-->
|-
| <!--Name-->ASRock K7S8X
| <!--Chipset-->SIS 746FX
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->
| <!--Gfx-->{{yes|AGP 8x}}
| <!--Audio-->{{yes|AC'97 cmedia}}
| <!--USB-->{{maybe|USB2.0 works but does not boot}}
| <!--Ethernet-->{{yes|SiS900}}
| <!--Opinion-->
|-
| <!--Name-->ASRock K7S41GX
| <!--Chipset-->SIS 741GX + DDR 333
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->
| <!--Gfx-->{{maybe|onboard sis does not work with vga or vesa but AGP 8x works}}
| <!--Audio-->{{yes|AC97 SIS 7012}}
| <!--USB-->{{maybe|USB2.0 works but does not boot}}
| <!--Ethernet-->{{yes|SiS 900}}
| <!--Opinion-->works ok
|-
| <!--Name-->[http://www.asus.com ASUS A7N8X]
| <!--Chipset-->nForce2
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->Silicon Image Sil 3112A
| <!--Gfx-->1 AGP slot
| <!--Audio-->{{yes|ac97 ALC650}}
| <!--USB-->{{yes|ehci USB2.0}}
| <!--Ethernet-->{{yes|rtl8201BL - nforce}}
| <!--Opinion-->first total support for AROS in 2004/5 - damocles and M Schulz
|-
| <!--Name-->Biostar M7NCD
| <!--Chipset-->nForce2 Ultra 400
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->{{yes|ALC650 AC97}}
| <!--USB-->
| <!--Ethernet-->{{yes|RTL8201BL}}
| <!--Opinion-->
|-
| <!--Name-->Chaintech 7NJS Ultra Zenith
| <!--Chipset-->nForce2 Ultra 400
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->Promise PDC 20376
| <!--Gfx-->
| <!--Audio-->{{yes|CMI8738}}
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->DFI Lanparty NF2 Ultra
| <!--Chipset-->nForce2 Ultra 400
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->{{no|via ac97 VT1616}}
| <!--USB-->
| <!--Ethernet-->RTL8139C
| <!--Opinion-->
|-
| <!--Name-->ECS N2U400-A
| <!--Chipset-->nForce2 Ultra 400
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->{{no|Cmedia 9379A AC97}}
| <!--USB-->{{yes|usb2.0}}
| <!--Ethernet-->{{no|VIA VT6103L}}
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA7N400L
| <!--Chipset-->nForce2 Ultra 400
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->1 AGP 8x slot
| <!--Audio-->{{yes|AC97 ALC650}}
| <!--USB-->2 USB2.0
| <!--Ethernet-->RTL8100C
| <!--Opinion-->
|-
| <!--Name-->[http://www.gigabyte.lv/products/page/mb/ga-8siml Gigabyte 8SIML]
| <!--Chipset-->SIS 650
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->
| <!--Gfx-->{{maybe|VESA}}
| <!--Audio-->{{yes|AC'97}}
| <!--USB-->{{maybe|working}}
| <!--Ethernet-->{{no|Realtek RTL8100L LAN}}
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Matsonic [http://www.elhvb.com/mobokive/archive/matsonic/manual/index.html Manuals] MS83708E
| <!--Chipset-->SIS730
| <!--ACPI-->
| <!--IDE-->{{yes|SiS 5513}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->{{maybe|sis 305 no support use VESA}}
| <!--Audio-->{{no|sis7018}}
| <!--USB-->{{no|SiS 7001 USB 1.1 only}}
| <!--Ethernet-->{{yes|SIS900}}
| <!--Opinion-->little support
|-
| <!--Name-->[http://h10025.www1.hp.com/ewfrf/wc/document?docname=bph07585&lc=en&dlc=en&cc=us&dest_page=softwareCategory&os=228&tool=softwareCategory&query=Pavilion%20742n&product=89232 MSI MS-6367 HP 722n 742n (Mambo) (2001/2)]
| <!--Chipset-->Nvidia nforce 220D (2001/2)
| <!--ACPI-->
| <!--IDE-->{{Yes}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->GeForce2 AGP works 2D nouveau only
| <!--Audio-->{{Maybe|AC97 ADI 1885 no volume control on Units 0-3}}
| <!--USB-->{{Yes|4 USB1.1 ports AMD based - front 2 ports iffy}}
| <!--Ethernet-->{{No|nForce}}
| <!--Opinion-->Tested 20th Aug 2012 NB
|-
| <!--Name-->MSI K7N2 [http://us.msi.com/index.php?func=proddesc&maincat_no=1&prod_no=546/ Delta ILSR] Delta-L
| <!--Chipset-->nForce2 (2002/3)
| <!--ACPI-->
| <!--IDE-->{{yes|Primary & Secondary ports}} IDE Tertiary port (RAID)
| <!--SATA-->2 ports (RAID)
| <!--Gfx-->{{yes|when fitted with an agp video card}}
| <!--Audio-->{{yes|ac97 ALC650}}
| <!--USB-->{{yes}}
| <!--Ethernet-->{{yes|rtl8201BL - nforce}}
| <!--Opinion-->runs AROS well. Tested with Icaros 1.2.3
|-
| <!--Name-->MSI K7N2 Delta2-LSR Platinum
| <!--Chipset-->nForce2 (2002/3)
| <!--ACPI-->
| <!--IDE-->{{yes|Primary & Secondary ports}} IDE Tertiary port (RAID)
| <!--SATA-->2 ports (RAID)
| <!--Gfx-->{{yes|when fitted with an agp video card}}
| <!--Audio-->{{No|ac97 ALC655}}
| <!--USB-->{{yes}}
| <!--Ethernet-->{{yes|rtl8201BL - nforce}}
| <!--Opinion-->runs AROS well. Tested with Icaros 1.2.3
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->[http://www.sharkyextreme.com/hardware/motherboards/article.php/2204281/Soltek-SL-75MRN-L-nForce2-Motherboard-Review.htm Soltek 75FRN-L]
| <!--Chipset-->nForce2
| <!--ACPI-->
| <!--IDE-->{{yes|2 ports}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->AGP slot
| <!--Audio-->{{yes|ALC650}}
| <!--USB-->{{yes|2 usb2.0}}
| <!--Ethernet-->{{yes|Realtek RTL8201BL}}
| <!--Opinion-->good support
|-
| <!--Name-->[http://www.3dvelocity.com/reviews/mach4nf2ultra/mach4.htm XFX Pine Mach4 nForce2 Ultra 400]
| <!--Chipset-->nForce2
| <!--ACPI-->
| <!--IDE-->{{yes|3 ports}}
| <!--SATA-->{{maybe|2 ports VIA VT6240}}
| <!--Gfx-->1 AGP 8x slot
| <!--Audio-->{{yes|ALC650}}
| <!--USB-->{{yes|2 USB2.0}}
| <!--Ethernet-->{{yes|RTL8201BL}}
| <!--Opinion-->some support
|-
| <!--Name-->ASUS A7V266
| <!--Chipset-->via KT266A + 8233
| <!--ACPI-->
| <!--IDE-->{{no|issues}}
| <!--SATA-->
| <!--Gfx-->1 AGP slot
| <!--Audio-->AC97 with AD1980 codec
| <!--USB-->via 8233
| <!--Ethernet-->VIA VT6103
| <!--Opinion-->2002 issues with booting
|-
| <!--Name-->Asus A7V8X-X
| <!--Chipset-->VIA KT400
| <!--ACPI-->
| <!--IDE-->{{unk| }}
| <!--SATA-->{{N/A}}
| <!--Gfx-->{{yes|agp}}
| <!--Audio-->{{unk|AC97 with ADI AD1980 codec}}
| <!--USB-->{{unk|VIA 8235}}
| <!--Ethernet-->{{unk|Realtek 10/100}}
| <!--Opinion-->2003 not booting for Socket A for AMD Barton/Thoroughbred/Athlon XP/Athlon/Duron 2.25+ GHz CPU - 3 x DDR DIMM Sockets Max. 3 GB -
|-
|}
=====Socket 754 (2004/5)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->Abit NF8-V2
| <!--Chipset-->nForce3 250GB (2004/5)
| <!--ACPI-->
| <!--IDE-->{{yes|2 ports}}
| <!--SATA-->{{maybe|2 ports}}
| <!--Gfx-->1 AGP slot x8
| <!--Audio-->ALC658 ac97
| <!--USB-->{{yes|2 USB2.0}}
| <!--Ethernet-->{{no|RTL8201C}}
| <!--Opinion-->a little support but no Firewire VIA VT6306
|-
| <!--Name-->Biostar CK8 K8HNA Pro
| <!--Chipset-->nforce3 150
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->VT6420 thru ide legacy only
| <!--Gfx-->
| <!--Audio-->{{no|AC97 ALC655}}
| <!--USB-->
| <!--Ethernet-->Realtek RTL8110S
| <!--Opinion-->Firewire VT6307 no
|-
| <!--Name-->[http://www.extremeoverclocking.com/reviews/motherboards/Chaintech_ZNF3-150_3.html Chaintech ZNF3-150 Zenith]
| <!--Chipset-->nforce3 150
| <!--ACPI-->
| <!--IDE-->2 ports
| <!--SATA-->{{maybe|Sli3114 SATA via IDE emul}}
| <!--Gfx-->1 AGP slot
| <!--Audio-->{{no|VIA Envy24PT (VT1720) + VT1616}}
| <!--USB-->{{Maybe|2 USB2.0}}
| <!--Ethernet-->{{no|Broadcom GbE 5788}}
| <!--Opinion-->very little support needs PCI cards but no Firewire VIA VT6306
|-
| <!--Name-->DFI Lanparty UT nF3 250GB
| <!--Chipset-->nForce3 250gb
| <!--ACPI-->
| <!--IDE-->2 ports
| <!--SATA-->{{maybe|2 ports nForce3 and 2 Marvell SATA PHY}}
| <!--Gfx-->
| <!--Audio-->{{yes|AC97 ALC850}}
| <!--USB-->{{Maybe|2 USB2.0}}
| <!--Ethernet-->CK8S - Winfast NF3 250K8AA works and Marvell 88E1111 does not work
| <!--Opinion-->2005 some support but no Firewire VIA VT6307
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Gigabyte GA-K8N
| <!--Chipset-->NVIDIA nForce3 150
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->Realtek ALC658 AC97
| <!--USB-->
| <!--Ethernet-->Realtek RTL8100C
| <!--Opinion-->Firewire TI43AB23 no
|-
| <!--Name-->Gigabyte K8NNXP
| <!--Chipset-->nForce3 150
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->Sata sil3512
| <!--Gfx-->
| <!--Audio-->ALC658 AC97
| <!--USB-->
| <!--Ethernet-->RTl8110S
| <!--Opinion-->Firewire TI STB82AA2 no
|-
| <!--Name-->Gigabyte GA-K8NSNXP
| <!--Chipset-->nForce3 250GB
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->SiI 3512 CT128 Sata Sil3515
| <!--Gfx-->
| <!--Audio-->ALC850 AC97
| <!--USB-->
| <!--Ethernet-->{{No|Marvel 88E8001}}
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->MSI K8N Neo-FIS2R
| <!--Chipset-->nVIDIA NF3-250Gb
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->Realtek 7.1 AC'97 ALC850
| <!--USB-->
| <!--Ethernet-->{{No|Marvell 88E1111}}
| <!--Opinion-->
|-
| <!--Name-->[http://techreport.com/articles.x/5748/1 Shuttle AN50R]
| <!--Chipset-->nF3-150
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->Sil 3112
| <!--Gfx-->
| <!--Audio-->ALC650 AC97
| <!--USB-->
| <!--Ethernet-->Nvidia nF3 (10/100) Intel 82540EM Gigabit
| <!--Opinion-->Firewire VT6307 no
|-
| <!--Name--> Foxconn WinFast K8S755A
| <!--Chipset-->SiS755 + SiS964 (DDR333)
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio--> {{yes|AC97}}
| <!--USB-->
| <!--Ethernet--> {{yes|RTL8169}}
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket 939 (2005)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->Asus A8N-LA GeForce 6150 LE
| <!--Chipset-->Geforce 6150 (MCP51) + nForce 430 (PC-3200)
| <!--ACPI-->
| <!--IDE-->{{yes|two ATA 133}}
| <!--SATA-->{{maybe|four 3.0GB/s SATAII ports}}
| <!--Gfx-->built in or PCI-E x16
| <!--Audio-->Realtek ALC883 HD Audio
| <!--USB-->6 USB2.0
| <!--Ethernet-->Realtek RTL 8201CL
| <!--Opinion-->
|-
| <!--Name-->Asus A8N-SLI Premium
| <!--Chipset-->NVidia
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->{{Yes|PCIe slot}}
| <!--Audio-->{{Yes|AC97}}
| <!--USB-->{{Maybe}}
| <!--Ethernet-->{{Yes|nForce LAN but not Marvell}}
| <!--Opinion-->Works well
|-
| <!--Name-->DFI nF4 Ultra-D LanParty - Diamond Flower International sold to BenQ group 2010
| <!--Chipset-->nF4
| <!--ACPI-->
| <!--IDE-->2 ports
| <!--SATA-->4 ports SATA 2
| <!--Gfx-->2 PCIe x16 slots
| <!--Audio-->AC97 with ALC850 codec
| <!--USB-->
| <!--Ethernet-->Dual Gigabit Ethernet, PCIe by Vitesse VSC8201 PHY nee Cicada 8201, PCI by Marvel 88E8001
| <!--Opinion-->2006 64bit - Four 184-pin DDR Dual-Channel Slots - 1 pci on Ultra, 2 pci on sli,
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus A8V E SE
| <!--Chipset-->VIA K8T890 +VT8237R CHIPSET ATX AMD Motherboard with Athlon 64 X2 / Athlon 64 FX / Athlon 64
| <!--ACPI-->{{N/A}}
| <!--IDE-->{{Yes}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->{{N/A}}
| <!--Audio-->{{Maybe}} AC97 driver using Realtek ALC850 codec
| <!--USB-->{{Yes}} USB 2.0 only
| <!--Ethernet-->{{No}} Marvell 88E8053
| <!--Opinion-->Good base but needs additional PCI cards added for better support
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->ASUS A8V Deluxe (2004)
| <!--Chipset-->VIA K8T800 Pro (DDR400)
| <!--ACPI-->
| <!--IDE-->Promise 20378 2 ports
| <!--SATA-->2 SATA2
| <!--Gfx-->
| <!--Audio-->{{no|VIA VT8233A 8235 8237 AC97}}
| <!--USB-->
| <!--Ethernet-->{{no|Marvell 88E8001 Gigabit}}
| <!--Opinion-->needs extra PCI cards
|-
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Test Distro-->
| <!--Comments-->
|-
| <!--Name-->AsRock 939Dual-SATA2
| <!--Chipset-->Ali Uli M1695 PCIe with M1567 AGP
| <!--ACPI-->
| <!--IDE-->2 ports
| <!--SATA-->1 Sata with JMicron JMB360 chip
| <!--Gfx-->1 pci-e and 1 agp
| <!--Audio-->AC97 with ALC850 codec
| <!--USB-->
| <!--Ethernet-->Realtek RTL8201CL PHY ULi 10/100
| <!--Opinion-->64bit pci-e and agp combo on board - 4 ddr slots -
|}
=====Socket AM2 (2006/8) and AM2+ (2007-2010) =====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-M61PME-S2 (rev. 2.x)
| <!--Chipset-->NVIDIA® GeForce 6100 / nForce 430 chipset
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->{{maybe|VESA 2d for vga}}
| <!--Audio-->{{yes|HDAudio Realtek ALC662 Audio Codec}}
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus M2N61-AR mini itx
| <!--Chipset-->NVIDIA nForce 430
| <!--ACPI-->
| <!--IDE-->1
| <!--SATA-->2
| <!--Gfx-->GeForce 6150SE via vga or 1 pci-e slot
| <!--Audio-->HD Audio with codec
| <!--USB-->Nvidia
| <!--Ethernet-->Nvidia
| <!--Opinion-->2006 32bit - 1 pci - 2 ddr2 dimm slots non-eec -
|-
| <!--Name-->asus m2n68-am se2
| <!--Chipset-->nvidia 630a 630/a MCP68SE
| <!--ACPI-->
| <!--IDE-->1 ports
| <!--SATA-->2 ports MCP61 chipset is SATA over IDE, not SATA over AHCI and reports subsystem as 0x1 IDE, not 0x6 SATA
| <!--Gfx-->{{Yes|nvidia 7025 2d and 3d thru vga}}
| <!--Audio-->{{Yes|hd audio with realtek alc662 codec}}
| <!--USB-->{{Yes| }}
| <!--Ethernet-->{{Yes|nForce chipset RTL 8201CP}}
| <!--Opinion-->2007 64bit Phenom IIX2, Athlon 64 LE X2, Sempron, and Phenom FX processors - ddr2 667Mhz ram max 4Gb -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-MA770-UD3 (rev. 1.0)
| <!--Chipset-->AMD 770 with SB700
| <!--ACPI-->
| <!--IDE-->{{yes| }}
| <!--SATA-->{{yes| }}
| <!--Gfx-->pci-e
| <!--Audio-->{{yes|ALC888 codec }}
| <!--USB-->{{yes|USB2}}
| <!--Ethernet-->{{yes|rtl8169 8111C later 8111D}}
| <!--Opinion-->Good support for AM2+ / AM2 with 4 ddr2 ram - 4 x PCI Express x1, 2 x PCI slots - firewire T.I. TSB43AB23 chip no support -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus M3A32-MVP Deluxe
| <!--Chipset-->AMD 790FX RD790 + SB600
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->{{No|Marvell 88SE6121 SATA II}}
| <!--Gfx-->pci-e 1.1 support
| <!--Audio-->{{No|HD Audio ADI® AD1988}}
| <!--USB-->
| <!--Ethernet-->{{No|Marvell 88E8056}}
| <!--Opinion-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->ASROCK N68-S N68C-S
| <!--Chipset-->AMD based nForce 630a
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->{{yes|slimline DVD drive works}}
| <!--Gfx-->{{maybe|GF 7025 use vesa}}
| <!--Audio-->{{yes|HDAudio for VIA 1708S VT1705}}
| <!--USB-->{{Maybe|echi usb 2.0}}
| <!--Ethernet-->{{no|RTL8201EL / 8201CL - nforce}}
| <!--Opinion-->2008 unbuffered 1066Mhz ddr2 ram - N68C-S may need noacpi added to grub boot line to disable pci temporarily to run as it cannot get to [PCI] Everything OK -
|-
| <!--Name-->Asus M2N68-AM Plus
| <!--Chipset-->Athlon 64, Sempron, Athlon 64 X2, Athlon 64 FX with nvidia 630a
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->no vga, pci-e slot only
| <!--Audio-->{{yes|HD Audio with ALC662 codec}}
| <!--USB-->
| <!--Ethernet-->{{no|RTL8211CL Gigabit LAN}}
| <!--Opinion-->adding "noacpi noapic noioapic" to the GRUB options - Dual channel DDR2 1066, 800, 667 MHz -
|-
| <!--Name-->Gigabyte GA-M68M-S2 (1.0) S2P (2.3) S2L GA-M68SM-S2 (1.x)
| <!--Chipset-->nForce 630a chipset
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->NVIDIA® GeForce 7025, vga (s2 and s2p), dvi (s2l)
| <!--Audio-->ALC883 (S2), ALC888B (S2P), ALC662 (S2L),
| <!--USB-->
| <!--Ethernet-->RTL 8201CL (S2), 8211CL (S2P), 8211BL (S2L),
| <!--Opinion-->2008 64bit possible with AMD AM2+ CPU on AM2 motherboard, the system bus speed will downgrade from HT3.0(5200MHz) to HT1.0(2000 MT/s) spec
|-
| <!--Name-->ASUS M2N68-VM
| <!--Chipset-->nForce 630a (MCP68PVNT)
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Nvidia GeForce ® 7050PV hdmi, dvi and vga
| <!--Audio-->HD audio VIA 1708B codec
| <!--USB-->
| <!--Ethernet-->RTL 8211C
| <!--Opinion-->2008 64bit - ddr2 800Mhz
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket AM3 White socket (2010/11)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->Gigabyte GA-MA74GM-S2 GA-MA74GM-S2H
| <!--Chipset-->740g with sb710
| <!--ACPI-->
| <!--IDE-->{{yes| }}
| <!--SATA-->{{yes|bios IDE}}
| <!--Gfx-->Radeon 2100 and pci-e slot
| <!--Audio-->ALC888 (r1.x),ALC888b (r2.0), ALC888B (rev4.x)
| <!--USB-->USB2
| <!--Ethernet-->rtl8169 Realtek 8111C later 8111D
| <!--Opinion-->2010 64bit - 2 x 1.8V DDR2 DIMM sockets max 8 GB - Micro ATX Form Factor 24.4cm x 23.4cm -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->[http://www.vesalia.de/e_aresone2011.htm Aresone 2011]
| <!--Chipset-->760g
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Yes}}
| <!--Gfx-->{{Maybe|no Radeon HD3000 driver yet<br>vesa driver works<br>and add PCIe card}}
| <!--Audio-->{{Yes|HD Audio}}
| <!--USB-->{{Yes|USB2.0}}
| <!--Ethernet-->{{yes}}
| <!--Opinion-->Good support - 4 DDR3 memory sockets -
|-
| <!--Name-->Foxconn A76ML-K 3.0
| <!--Chipset-->AMD 760g rev3.0
| <!--ACPI-->
| <!--IDE-->{{Yes|1 }}
| <!--SATA-->{{Yes|4 in IDE mode }}
| <!--Gfx-->HD3000 with pci-e slot
| <!--Audio-->HDAudio with ALC662-GR codec
| <!--USB-->USB2
| <!--Ethernet-->rtl8169 rtl8111E
| <!--Opinion-->2011 64bit - 2 ddr3 slots - 2 pci slots -
|-
| <!--Name-->GA-MA770T-UD3P (rev. 1.0 to 1.4)
| <!--Chipset-->amd 770 with sb710
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{yes|4 sata}}
| <!--Gfx-->pci-e
| <!--Audio-->{{yes|HDAudio with Realtek ALC888 codec}}
| <!--USB-->{{yes| }}
| <!--Ethernet-->{{yes|rtl8168 rtl8111c/d}}
| <!--Opinion-->2011 64 - 4 ddr3 dimm slots -
|-
| <!--Name-->Gigabyte GA-MA770-UD3 (rev. 2.0 2.1)
| <!--Chipset-->AMD 770 with SB700
| <!--ACPI-->
| <!--IDE-->{{yes| }}
| <!--SATA-->{{yes| }}
| <!--Gfx-->pci-e
| <!--Audio-->{{yes|ALC888 codec }}
| <!--USB-->{{yes|USB2}}
| <!--Ethernet-->{{yes|rtl8169 8111C later 8111D}}
| <!--Opinion-->Good support for AM3 with 4 ddr2 ram - 4 x PCI Express x1, 2 x PCI slots - firewire T.I. TSB43AB23 chip no support -
|-
| <!--Name-->Asus M4A785TD-M PRO
| <!--Chipset-->785G and SB710
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Maybe|ide legacy}}
| <!--Gfx-->{{Maybe|ATI Radeon HD 4200 - use vesa}} or pci-e 2.0 slot
| <!--Audio-->{{Yes|HD Audio}}
| <!--USB-->{{Yes| }}
| <!--Ethernet-->{{Yes| }}
| <!--Opinion-->Good support with 1366 ddr3 ram -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->ASUS M4A88T-I Deluxe ITX
| <!--Chipset-->AMD 880G with AMD SB710
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->Three SATA 3Gbps
| <!--Gfx-->Radeon HD 4350 GPU with HDMI and DVI or One 16x PCI-Express 2.0
| <!--Audio-->HDAudio with Realtek ALC889
| <!--USB-->6 x USB 2, 2 x USB 3
| <!--Ethernet-->{{No|Realtek RTL8112L}}
| <!--Opinion-->2014 64bit - 2 SODIMM DDR3 slots max 8GB
|-
| <!--Name-->Asus M4A88T-M Version E5907 E5826
| <!--Chipset-->AMD 880G SB710
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Radeon 4250
| <!--Audio-->HD Audio with VIA VT 1708S codec
| <!--USB-->
| <!--Ethernet-->Realtek rtl8169 8111E
| <!--Opinion-->2010 64bit -
|-
| <!--Name-->GigaByte 890GPA-UD3H
| <!--Chipset-->AMD 890GX together with SB850
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->Yes
| <!--Gfx-->use pci-e nvidia
| <!--Audio-->Maybe - ALC892 rev. 1.0, ALC892 rev 2.1, ALC889 rev. 3.1
| <!--USB-->Yes
| <!--Ethernet-->Yes
| <!--Opinion-->works well overall
|-
| <!--Name-->Gigabyte GA-890FXA-UD7
| <!--Chipset-->AMD 890FX with SB850
| <!--ACPI-->
| <!--IDE-->{{yes| }}
| <!--SATA-->{{yes|IDE }}
| <!--Gfx-->
| <!--Audio-->ALC889 (rev 2.x)
| <!--USB-->{{Yes|AMD USB2 but limited with NEC D720200F1 USB3}}
| <!--Ethernet-->2 x Realtek 8111D
| <!--Opinion-->2012 64bit - XL-ATX Form Factor 32.5cm x 24.4cm - 4 ddr3 slots -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MSI 890GXM-G65
| <!--Chipset-->890GX + SB750
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->{{Maybe|legacy}}
| <!--Gfx-->{{Maybe|ATI 4290 built-in (vesa)}}
| <!--Audio-->{{Maybe|ALC889 DD GR}} HD Audio crackles
| <!--USB-->{{Yes}}
| <!--Ethernet-->{{Yes|RTL 8169}}
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->ASRock N68-VS3 FX
| <!--Chipset-->NVIDIA® GeForce 7025 / nForce 630a
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 Sata2
| <!--Gfx-->Integrated NVIDIA® GeForce 7025
| <!--Audio-->HD Audio with VIA® VT1705 Codec
| <!--USB-->USB2
| <!--Ethernet-->Realtek PHY RTL8201EL
| <!--Opinion-->2010 64bit - 2 x DDR3 DIMM slots -
|-
| <!--Name-->MSI GF615M-P35 MS-7597
| <!--Chipset-->NVIDIA® nForce 430
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->GeForce 6150SE
| <!--Audio-->{{Maybe|HD Audio with Realtek® ALC888S}}
| <!--USB-->{{No|freezes}}
| <!--Ethernet-->{{No|Realtek 8211CL}}
| <!--Opinion-->2010 64bit
|-
| <!--Name-->Gigabyte GA-M68MT-S2
| <!--Chipset--> nForce 630a
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->NVIDIA® GeForce 7025 vga
| <!--Audio-->ALC888B (1.3), ACL887 (3.1),
| <!--USB-->
| <!--Ethernet-->RTL8211CL (all)
| <!--Opinion-->2010 64bit possible, AMD AM3 CPU on this motherboard, the system bus speed will downgrade from HT3.0 (5200MT/s) to HT1.0 (2000 MT/s) spec
|-
| <!--Name-->Gigabyte GA-M68MT-S2P
| <!--Chipset--> nForce 630a
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->NVIDIA® GeForce 7025 vga
| <!--Audio-->ALC888B (1.x 2.x), ALC889 (3.0), ALC888B/889 (3.1),
| <!--USB-->
| <!--Ethernet-->RTL8211CL (all)
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus M4N78 PRO
| <!--Chipset-->NVIDIA GeForce 8300
| <!--ACPI-->
| <!--IDE-->1 xUltraDMA 133/100
| <!--SATA-->6 xSATA 3 Gbit/s ports
| <!--Gfx-->Integrated NVIDIA® GeForce® 8 series GPU with 1 PCIe 2.0 slot
| <!--Audio-->HD Audio with VIA1708S 8 -Channel codec
| <!--USB-->12 USB 2.0 ports (8 ports at mid-board, 4 ports at back panel)
| <!--Ethernet-->NVIDIA Gigabit
| <!--Opinion-->4 x DIMM, Max. 16 GB, DDR2 1200(O.C.)/1066*/800/667 ECC,Non-ECC,Un-buffered Memory - ATX Form Factor 12 inch x 9.6 inch ( 30.5 cm x 24.4 cm ) -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|}
=====Socket AM3+ Black socket (2012/15)=====
*095W FX-6300 FD6300WMHKBOX (bulldozer SSE4.1 AVX) 970 mobos with FX-8320E 8core Black Editions FD832EWMHKBOX FX-8370E (Vishera/Piledriver)
*125W FX-6310 (bulldozer) 970 mobos with FX-8320 FX-8350 FX-8370 (Vishera/Piledriver)
*220W 990FX mobos with FX-9000 FX-9370 FX-9590
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->ASUS M5A78L-M LX3
| <!--Chipset-->AMD 760G with SB710
| <!--ACPI-->
| <!--IDE-->{{yes| }}
| <!--SATA-->{{Yes|bios IDE mode}}
| <!--Gfx-->HD3000 with pci-e slot
| <!--Audio-->HDAudio with ALC887, V? ALC892 codecs
| <!--USB-->USB2
| <!--Ethernet-->{{No|Qualcomm Atheros 8161/8171 add realtek 8111? pci-e card}}
| <!--Opinion-->2012 64bit - uATX Form Factor 9.6 inch x 7.4 inch ( 24.4 cm x 18.8 cm ) - 2 x DIMM, Max. 16GB, DDR3 -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-78LMT-S2P
| <!--Chipset-->AMD 760G and SB710
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{yes|6 SATA2 ports}}
| <!--Gfx-->GT240 and a nv7900gs, both pci-e
| <!--Audio-->{{Maybe|ALC889 (r3.1), ALC??? (rev. 4.0), ALC887 (r5.x)}}
| <!--USB-->4 USB2
| <!--Ethernet-->{{Maybe|Realtek 8111E (r3.1), Atheros (rev4.0), Atheros (r5.x) }}
| <!--Opinion-->2012 offers very poor control over its EFI vs. BIOS booting partition features
|-
| <!--Name-->Gigabyte GA-78LMT-USB3 (r3.0), (r4.1 Blue board), (r5.0 dark board), (rev6 dark mobo)
| <!--Chipset-->AMD 760G and SB710
| <!--ACPI-->
| <!--IDE-->{{yes| }}
| <!--SATA-->{{yes|Bios IDE mode for SATA2 on early ones}}
| <!--Gfx-->AMD HD3000, pci-e GT240 and a nv7900gs
| <!--Audio-->{{Maybe|ALC??? (r3.0), ALC887 (r4.1), VIA VT2021 (r5.0), Realtek® ALC892 codec (rev6) }}
| <!--USB-->{{yes|AMD USB2 but not VIA® VL805 USB3}}
| <!--Ethernet-->Realtek GbE
| <!--Opinion-->2013 64bit - Micro ATX Form Factor 24.4cm x 24.4cm - 4 x DDR3 DIMM sockets -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MSI 760GM
| <!--Chipset-->ATI 760G plus SB710
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{yes| }}
| <!--Gfx-->HD3000 Use Vesa
| <!--Audio-->{{Maybe|P33 VT1705; P34, P21 and P23 (FX) MS7641 v3.0 ALC887, E51 ALC892}}
| <!--USB-->{{yes| }}
| <!--Ethernet-->{{Yes|Realtek}}
| <!--Opinion-->P23 issues with audio ALC887 crackles thru earphones -
|-
| <!--Name-->Gigayte GA-MA770T-UD3P (rev. 3.1)
| <!--Chipset-->amd 770 with sb710
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 sata
| <!--Gfx-->pci-e slot
| <!--Audio-->HDaudio with Realtek ALC888/892 codec
| <!--USB-->
| <!--Ethernet-->rtl8169 rtl8111d/e
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->ASRock 890FX Deluxe5 Extreme3
| <!--Chipset-->AMD 890FX + AMD SB850 or SB950 (Extreme3)
| <!--ACPI-->
| <!--IDE-->{{Yes}}
| <!--SATA-->{{Yes}}
| <!--Gfx-->{{N/A}}
| <!--Audio-->{{Maybe|ALC892}}
| <!--USB-->{{Yes}}
| <!--Ethernet-->{{Yes|RTL8111E rtl8169}}
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus M5A97 R2.0 EVO
| <!--Chipset-->AMD 970 and SB950
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->Asmedia SATA Controller
| <!--Gfx-->n/a
| <!--Audio-->HDAudio with Realtek ALC887 (LE), ALC887 (Regular), ALC892 (EVO) codec
| <!--USB-->4 USB 2.0 and 2 Asmedia USB3.0 Controller
| <!--Ethernet-->Realtek 8111F
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-970A-D3
| <!--Chipset-->AMD 970 with SB950
| <!--ACPI-->
| <!--IDE-->{{Yes| }}
| <!--SATA-->{{Yes|IDE mode}}
| <!--Gfx-->pci-e
| <!--Audio--> ALC??? (rev. 1.0/1.1), ALC887 (rev1.2), VIA VT2021 codec (rev 1.3 1.4 and rev3.0)
| <!--USB-->{{yes|AMD USB2 but not Etron EJ168 chip (USB3)}}
| <!--Ethernet-->Realtek GbE 8111E (all revisions),
| <!--Opinion-->2015 64bit - ATX Form Factor 30.5cm x 22.4cm - 4 x 1.5V DDR3 DIMM sockets -
|-
| <!--Name-->MSI 970 Gaming
| <!--Chipset-->970FX SB950
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->Realtek® ALC1150 Codec
| <!--USB-->6 usb2 with 2 USB3 VIA VL806 Chipset
| <!--Ethernet-->Killer E2205 Gigabit LAN
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus M5A99X EVO
| <!--Chipset-->990X - RD980 with SB920
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->2 pci-e gen ?
| <!--Audio-->HDAudio with ALC892 codec
| <!--USB-->
| <!--Ethernet-->rtl8169 realtek 8111e
| <!--Opinion-->2012 64bit -
|-
| <!--Name-->Gigabyte GA-990XA-UD3
| <!--Chipset-->AMD 990 with SB950
| <!--ACPI-->
| <!--IDE-->{{yes| }}
| <!--SATA-->{{yes| }}
| <!--Gfx-->
| <!--Audio-->ALC889 (rev 1.x, 3.0, 3.1),
| <!--USB-->{{yes|AMD USB2 not 2 x Etron EJ168 chips for USB3}}
| <!--Ethernet-->realtek rtl8169 8111e
| <!--Opinion-->2012 64bit - ATX Form Factor; 30.5cm x 24.4cm - 4 ddr3 slots -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====AMD Fusion (2011/14)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| 1.2GHz single Bobcat Fusion C30 + Hudson M1
| ACPI
| IDE
| SATA
| AMD 6250
| Audio
| USB
| Ethernet
| <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| Asus E35M1-M PRO uATX
| 1.6GHz 18W AMD Fusion E-350 dual core + Hudson M1
| ACPI
| {{N/A}}
| SATA
| AMD 6310 - no HD driver yet
| ALC887 VD2
| USB
| RTL8111E
| 2011 64bit does not support AVX or SSE 4.1 - EFI bios [http://www.anandtech.com/show/4023/the-brazos-performance-preview-amd-e350-benchmarked]
|-
| Asus E35M1-I Deluxe miniITX
| 1.6GHz dual AMD Fusion E350 + Hudson M1 + DDR3
| ACPI
| {{N/A}}
| SATA
| AMD 6310 - no HD driver yet
| ALC892
| USB
| Realtek 8111E
| 2011 64bit does not support AVX or SSE 4.1 - no support for Atheros AR5008 on a Mini PCI-E
|-
| ASRock E350M1 / USB3 (also version with USB3.0 added)
| 1.6GHz dual AMD Fusion E350 + Hudson M1
| ACPI
| {{N/A}}
| SATA - 4 SATA3
| {{Maybe|AMD 6310 - use vesa with hdmi and dvi}}
| {{Yes|Audio ALC892 playback but no HDMI output}}
| USB - 4 USB2.0 and 2 USB3.0
| {{Yes|rtl8169 for Realtek 8111E 8411 ethernet chipset}}
| 2011 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->Gigabyte GA-E350N-USB3 mini-ITX
| <!--Chipset--> Hudson M1 FCH
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 SATA3
| <!--Gfx--> plus HDMI, DVI
| <!--Audio-->ALC892
| <!--USB-->2 NEC USB3.0 with 4 USB2.0
| <!--Ethernet-->Realtek 8111E
| <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->Gigabyte GA-E350N Win8 V1.0
| <!--Chipset-->Hudson M1 FCH A45
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 SATA3
| <!--Gfx-->{{maybe|Use VESA - AMD 6310 plus HDMI, DVI}}
| <!--Audio-->{{yes|ALC887 playback through headphones but not thru hdmi}}
| <!--USB-->{{maybe|4 USB2.0 needs more testing}}
| <!--Ethernet-->{{yes|Realtek 8111 8168B}}
| <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 - works well but need to test with sata hard disk
|-
| <!--Name-->MSI E350IA-E45
| <!--Chipset-->e-350 + Hudson M1 + DDR3
| <!--ACPI-->no support
| <!--IDE-->{{N/A}}
| <!--SATA-->4 Sata3 ports
| <!--Gfx-->AMD 6310 gpu
| <!--Audio-->ALC HDA
| <!--USB-->6 USB2.0 and 2 USB3.0 through NEC 720200 chipset
| <!--Ethernet-->Realtek RTL8111E
| <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 -
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->ASUS E45M1-M PRO
| <!--Chipset-->E450 APU with Hudson M1
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->ALC887
| <!--USB-->
| <!--Ethernet-->Realtek
| <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->ASUS E45M1-I Deluxe
| <!--Chipset-->E-450 together
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->ALC892
| <!--USB-->
| <!--Ethernet-->Realtek 8111E
| <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket FM1 (2011/13)=====
On board Graphic on CPU - HD6410D, HD6530D, HD6550D,
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->ASUS F1A55-M LE
| <!--Chipset--> with AMD A55 FCH (Hudson D2)
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->6 x SATA 3Gbit/s port(s), blue Support Raid 0, 1, 10, JBOD
| <!--Gfx-->PCI-e 2.0 slot or Integrated AMD Radeon™ HD 6000 in Llano APU
| <!--Audio-->Realtek® ALC887 Audio CODEC
| <!--USB-->6 USB2.0 ports
| <!--Ethernet-->Realtek 8111E rtl8169
| <!--Opinion-->2012 2011 64bit does not support AVX or SSE 4.1 - A-Series/E2- Series APUs up to 4 cores - 2 x DIMM, Max. 32GB, DDR3 2250(O.C.)/1866/1600/1333/1066 MHz Non-ECC, Un-buffered Memory Dual Channel Memory Architecture -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket FM2 White Socket (2012/13)=====
Onboard Gfx on CPU - HD6570, HD7480D, HD7540D,
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| <!--Chipset-->A75 A85X
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2012 64bit does not support AVX or SSE 4.1 -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket FM2 Plus Black socket (2013/15)=====
Onboard Gfx on CPU - HD6570, HD7480D, HD7540D,
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| <!--Chipset-->A88X
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket AM1 FS1b socket (2014/1x)=====
5350 4 core Jaguar cores 2GHz with Integrated AMD Radeon R Series Graphics in the APU Kabini [Radeon HD 8400]
Later Beema APU with 2/4 core Puma (slightly updated Jaguar) cores, GCN graphics and a compute capable Radeon core, along with a brand new AMD security processor and FT3 BGA packaging (probably best avoided for long term survival).
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->ASUS AM1I-A
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->HD Audio Realtek® ALC887-VD
| <!--USB-->
| <!--Ethernet-->Realtek 8111GR 8168
| <!--Opinion-->2011 64bit may support AVX or SSE 4.1 -
|-
| <!--Name-->MSI AM1I
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->HD Audio ALC887
| <!--USB-->
| <!--Ethernet-->Realtek 8111G
| <!--Opinion-->
|-
| <!--Name-->MSI AM1M
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->HD Audio ALC887
| <!--USB-->
| <!--Ethernet-->Realtek 8111G
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->BGA FT3 AM1x
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket AM4 FM3 Summit Ridge Zen Zen+ (2016/22)=====
Jim Keller’s group designed x86 Zen CPU - new and covering the same AM4 platform/socket for desktop
Zen will also shift from Bulldozer’s Clustered Multithreading (CMT) to Simultaneous Multithreading (SMT, aka Intel’s Hyperthreading). CMT is the basis for Bulldozer’s unusual combination of multiple integer cores sharing a single FPU within a module, so the move to SMT is a more “traditional” design for improving resource usage
Trusted Platform Module, or fTPM, that Windows 11 requires. Ryzen processors using a firmware TPM are causing stutters, even when doing mundane tasks. To enable TPM 2.0 on your AMD system please follow the steps below.
<pre>
Power on system and press DEL or F2 to get into the BIOS.
Navigate to Advanced\CPU Configuration.
Enable AMD fTPM switch.
Press F10 to save changes.
</pre>
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->Asus ROG Crosshair VI Hero
| <!--Chipset-->X370
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->pci-e 3.0 (1x16 or 2x8)
| <!--Audio-->SupremeFX audio features an S1220 codec
| <!--USB-->
| <!--Ethernet-->Intel I211
| <!--Opinion-->Ryzen 7 1800X 1700X
|-
| <!--Name-->Biostar X370gtn Itx Am4
| <!--Chipset-->AMD X370
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCIe 3.0
| <!--Audio-->HDAudio with ALC892
| <!--USB-->
| <!--Ethernet-->Realtek Dragon LAN RTL8118AS
| <!--Opinion--> 2 ddr4 slots
|-
| <!--Name-->Gigabyte GA-AX370 K7
| <!--Chipset--> X370
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCIe 3.0
| <!--Audio-->HDAudio with 2 x Realtek® ALC1220 codec 0x10EC, 0x0295
| <!--USB-->
| <!--Ethernet-->1 intel and 1 E2500
| <!--Opinion--> 4 ddr4 slots
|-
| <!--Name-->MSI Xpower Gaming Titanium
| <!--Chipset--> X370
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCIe 3.0
| <!--Audio-->8-channel Realtek 1220 Codec 0x10EC, 0x0295
| <!--USB-->ASMedia® ASM2142 and amd cpu
| <!--Ethernet-->1 x Intel® I211AT Gigabit LAN
| <!--Opinion--> 2 ddr4 slots
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus Prime B350 Plus ATX
| <!--Chipset-->B350
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx--> x PCIe 3.0/2.0 x16 (x16 mode)
| <!--Audio-->Realtek® ALC887 8-Channel
| <!--USB-->
| <!--Ethernet-->Realtek® RTL8111H
| <!--Opinion-->Ryzen 5 1600x 1600 1500X 1400 - 4 x DIMM Max 64GB, DDR4 up to 2666MHz ECC and non-ECC Memory - ATX 12 inch x 9.35 inch ( 30.5 cm x 23.7 cm ) - 2 pci
|-
| <!--Name-->Asus PRIME B350M-A/CSM Micro ATX
| <!--Chipset-->AMD B350
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCIe 3.0
| <!--Audio-->HDaudio with
| <!--USB-->
| <!--Ethernet-->Realtek LAN
| <!--Opinion-->Ryzen 3 1300x 1200 1100
|-
| <!--Name-->AsRock Pro4 AB350
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->2 PCIe 3.0 x16, 4 PCIe 2.0 x1
| <!--Audio-->Realtek ALC892
| <!--USB-->
| <!--Ethernet-->Realtek
| <!--Opinion-->2017 64bit -
|-
| <!--Name-->ASRock AB350 Gaming-ITX/ac
| <!--Chipset--> B350
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->PCIe 3.0
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->Intel LAN
| <!--Opinion-->
|-
| <!--Name-->MSI B350 Tomahawk Arctic Mortar
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->1 x PCIe 3.0 x16 (x16 mode)
| <!--Audio-->Realtek ALC892
| <!--USB-->
| <!--Ethernet-->Realtek RTL8111H
| <!--Opinion-->white and grey colours - 2 pci-e and 2 pci slots - m.2 in middle - atx 12 in by 9.6 in and matx versions -
|-
| <!--Name-->Jginyue M-ATX B350M-TI
| <!--Chipset-->B350
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Jginyue B350I-Plus ITX
| <!--Chipset-->B350
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->ASRock A320M-ITX MINI ITX Rev1.0 Rev2 Rev2.1
| <!--Chipset-->A320
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->pci-e
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2018
|-
| <!--Name-->Asus PRIME A320M-C R2.0 rev1.1 A320M-K
| <!--Chipset-->A320 A/B300 SFF
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->PCIe 3.0
| <!--Audio-->HD audio with Realtek ALC887 alc897 CODEC
| <!--USB-->2 usb 3.1 gen 1
| <!--Ethernet-->Realtek 8111E
| <!--Opinion-->2019 64bit - 3rd/2nd/1st Gen AMD Ryzen™ / 2nd and 1st Gen AMD Ryzen™ with Radeon™ Vega
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MSI A320M-A PRO MicroATX
| <!--Chipset-->AMD A320
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->pci-e 3.0
| <!--Audio-->HDAudio Realtek® ALC892
| <!--USB-->USB3
| <!--Ethernet-->Realtek® 8111H
| <!--Opinion-->2019 64bit -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus ROG X399 Zenith Extreme
| <!--Chipset-->AMD X399
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCIe 3.0
| <!--Audio--> supremefx s1220
| <!--USB-->
| <!--Ethernet-->intel
| <!--Opinion-->Threadripper 1950X 1920X 1900X TR4 skt
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCIe 3.0
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->AsRock Fatality X470 Gaming K4 mATX
| <!--Chipset-->X470
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->nvme
| <!--Gfx-->pci-e rebar possible
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->intel
| <!--Opinion-->
|-
| <!--Name-->Asrock Fatal1ty X470 Gaming-ITXac AMD AM4
| <!--Chipset-->AMD X470
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->intel
| <!--Comments-->
|-
| <!--Name-->ASUS ROG STRIX X470-I GAMING AM4 ITX Motherboard
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus B450-I Gaming
| <!--Chipset-->AMD B450
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCIe 3.0
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->high VRM temps - raven ridge 14nm+ like 2200G 2400G
|-
| <!--Name-->AsRock B450 Gaming K4
| <!--Chipset-->B450
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio--> alc892
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion--> 4 ddr4 slots - low VRM thermals 3900x 3950x
|-
| <!--Name-->Gigabyte B450 I Aorus Pro Wifi
| <!--Chipset-->AMD B450
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->1 nvme pcie3 with 4 sata
| <!--Gfx-->pcie
| <!--Audio-->HDAudio with Realtek® ALC1220-VB codec
| <!--USB-->
| <!--Ethernet-->Intel LAN
| <!--Opinion-->very high vrm temps
|-
| <!--Name-->Jginyue B450i Gaming ITX
| <!--Chipset-->B450
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 sata3 - none nvme
| <!--Gfx-->pcie3
| <!--Audio-->HDAudio
| <!--USB-->
| <!--Ethernet-->1G
| <!--Opinion-->2021 64 2nd 3rd AMD - 2 ddr4 dimm slots
|-
| <!--Name-->MSI b450 tomahawk max
| <!--Chipset--> b450
| <!--ACPI-->
| <!--IDE-->{{n/A}}
| <!--SATA-->
| <!--Gfx-->PCIe 3.0
| <!--Audio-->HD audio with Realtek® ALC892 Codec
| <!--USB-->
| <!--Ethernet-->Realtek 8111H
| <!--Opinion-->
|-
| <!--Name-->MSI B450 Pro Carbon
| <!--Chipset-->B450
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio--> ALC codec
| <!--USB-->
| <!--Ethernet-->Intel LAN
| <!--Opinion-->
|-
| <!--Name-->MSI B450-A PRO
| <!--Chipset-->B450
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->ALC892
| <!--USB-->
| <!--Ethernet-->rtl8169 8111h
| <!--Opinion-->
|-
| <!--Name-->MSI B450I GAMING Plus AC ITX
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2019 - 2nd and 3rd gen AMD - 2 ddr4 slots -
|-
| <!--Name-->MSI B450 GAMING PLUS MAX
| <!--Chipset-->B450
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->HDAudio with Realtek® ALC892/ALC897 Codec
| <!--USB-->USB3
| <!--Ethernet-->rtl8169 8111H
| <!--Opinion-->
|-
| <!--Name-->MAXSUN AMD Challenger B450M M-ATX (aka Soyo)
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->ASRock X570 PHANTOM GAMING-ITX/TB3 Mini ITX AM4
| <!--Chipset-->X570
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->nvme
| <!--Gfx-->PCIe 4.0
| <!--Audio--> ALC1200
| <!--USB-->
| <!--Ethernet-->Intel LAN
| <!--Comments-->
|-
| <!--Name-->Asus ROG Crosshair VIII Dark Hero
| <!--Chipset-->AMD X570
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio--> SupremeFX7.1 codec
| <!--USB-->
| <!--Ethernet-->Intel® I211-AT and Realtek® RTL8125-CG 2.5G LAN
| <!--Opinion-->
|-
| <!--Name-->Asus ROG Strix X570-I Gaming Mini ITX AM4 Motherboard
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MSI MPG X570 Gaming Plus
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio--> alc1220 codec
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus ROG Strix B550-i AM4 ITX Motherboard
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2022 -
|-
| <!--Name-->Jginyue Jingyue B550i Gaming itx
| <!--Chipset-->B550
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->3 with 1 nvme
| <!--Gfx-->1 pci-e 4
| <!--Audio-->HDAudio alc
| <!--USB-->
| <!--Ethernet-->1G
| <!--Comments-->2022 64bit max of Ryzen 5500 (c t), 5600, 5600g (6c12t) - 2 ddr4
|-
| <!--Name-->Asrock B550 PHANTOM GAMING ITX/AX
| <!--Chipset-->AMD B550
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio--> alc1220
| <!--USB-->
| <!--Ethernet-->intel 2.5G
| <!--Comments-->
|-
| <!--Name-->AsRock B550M-ITX/ac
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio--> Realtek ALC887/897 Audio Codec
| <!--USB-->
| <!--Ethernet-->Realtek Gigabit LAN
| <!--Opinion-->2022 - 2 ddr4 slots
|-
| <!--Name-->Asus ROG STRIX B550-A GAMING
| <!--Chipset-->B550
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->PCIe Gen4 x4 & SATA3
| <!--Gfx-->pci-e 4
| <!--Audio--> supremefx S1220A
| <!--USB-->
| <!--Ethernet-->Intel® I225-V 2.5Gb
| <!--Opinion-->
|-
| <!--Name-->Gigabyte AMD B550I AORUS PRO AX Mini-ITX rev 1.0
| <!--Chipset-->AMD B550
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->2 nvme pci-e3 with 4 sata3
| <!--Gfx-->pci-e
| <!--Audio-->Realtek® ALC1220-VB codec
| <!--USB-->
| <!--Ethernet-->Realtek® 2.5GbE LAN
| <!--Opinion-->2021 2 x DDR4 DIMM sockets 1Rx8/2Rx8/1Rx16 -
|-
| <!--Name-->Gigabyte B550 AORUS ELITE AX V2 ATX
| <!--Chipset-->B550
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->PCI-e 4.0 DP and hdmi
| <!--Audio-->HDAudio ALC1200
| <!--USB-->USB3 USB 3.2 Gen1 Type-C
| <!--Ethernet-->2.5GbE LAN
| <!--Opinion-->2022 64bit- finer tuning than A520's - AMD Ryzen 5000 Series/ 3rd Gen Ryzen and 3rd Gen Ryzen with Radeon Graphics CPU - Dual Channel ECC/ Non-ECC Unbuffered DDR4, 4 DIMMs -
|-
| <!--Name-->Gigabyte B550M DS3H mATX
| <!--Chipset--> B550
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->2 NVMe
| <!--Gfx-->PCI-e 4.0
| <!--Audio-->HDaudio ALC887
| <!--USB-->USB3
| <!--Ethernet-->realtek rtl8118
| <!--Opinion-->2021 64bit - 4 ddr4 dimms -
|-
| <!--Name-->MSI MPG B550 GAMING PLUS ATX
| <!--Chipset--> B550
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->PCI-e 4.0
| <!--Audio-->HDAudio ALC892
| <!--USB-->USB 3
| <!--Ethernet-->rtl8169 Realtek 8111H
| <!--Opinion-->2022 64bit - 3rd Gen AMD Ryzen Processors - 4 dimm ddr4 -
|-
| <!--Name-->MSI MAG B550 TOMAHAWK ATX
| <!--Chipset--> B550
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe 1 x M.2, Socket 3, M Key (up to Type 22110) and 1 x M.2, Socket 3, M Key (Type 2242/2260/2280)
| <!--Gfx-->PCI-e 4.0 with dp and hdmi
| <!--Audio-->HDaudio ALC1200
| <!--USB-->USB3 1 x USB 3.1 Type-C and 1 x USB 3.1 Type-A
| <!--Ethernet-->Realtek RTL8125B and Realtek RTL8111H
| <!--Opinion-->2022 64bit - 4 Dimm slots -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Jginyue A520M-H mATX
| <!--Chipset-->A520
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion--> old bios with random issues with APU ryzens -
|-
| <!--Name-->Gigabyte A520M S2H mATX
| <!--Chipset-->AMD A520
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->HDAudio
| <!--USB-->
| <!--Ethernet-->Realtek 1GbE
| <!--Opinion-->2022 64bit Zen3 65W and up - 2 ddr4 -
|-
| <!--Name-->Gigabyte A520I AC mITX mini-itx
| <!--Chipset-->AMD A520
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->HDAudio
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2022 64bit Zen3 65W and up 5600G (6c12t) or 5700G (8c16t) - 2 ddr4 dimm slots -
|-
| <!--Name-->MSI A520M-A PRO mATX
| <!--Chipset-->A520
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe 1 x M.2, Socket 3, M Key (Type 2242/2260/2280)
| <!--Gfx-->PCI-e 3.0
| <!--Audio-->HDAudio ALC892
| <!--USB-->USB3
| <!--Ethernet-->rtl8169 rtl8111H
| <!--Opinion-->2022 64bit - 2 ddr4 dimm slots - 3rd Gen AMD Ryzen Desktop and AMD Ryzen 4000 G-Series CPU
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|}
===== (Socket AM5 LGA1718 Zen4 Zen5 Zen6 2022/27)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->Asrock Steel Legend
| <!--Chipset-->x670e
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->PCI-e rnda2
| <!--Audio-->HD audio
| <!--USB-->USB3
| <!--Ethernet-->
| <!--Opinion-->2022 64bit - ddr5 ecc (10 chip) and non-ecc (8 chips) 64Gb @ 6000Mhz or 128GB @ 4800Mhz -
|-
| <!--Name-->Asrock TaiChi
| <!--Chipset-->x670e
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->PCI-e rnda2
| <!--Audio-->HD Audio
| <!--USB-->USB4 with Thunderbolt 4 equivalent
| <!--Ethernet-->{{No|Realtek killer E3000 2.5GbE}}
| <!--Opinion-->2022 64bit - ddr5 ecc (10 chip) and non-ecc (8 chips)
|-
| <!--Name-->Asus ROG Crosshair Hero
| <!--Chipset-->x670e
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCIe rnda2
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2022 64bit
|-
| <!--Name-->
| <!--Chipset-->x670e
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->rnda3
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2022 64bit 7950x3d 120W, 7900 7800 7600 90W
|-
| <!--Name-->
| <!--Chipset-->x670e
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->rnda3
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2022 64bit
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus B650E-I
| <!--Chipset-->B650
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->pci-e 5
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2023 - better sound with an actual AMP, PCIe 5, USB-C display outs -
|-
| <!--Name-->
| <!--Chipset-->x650 B650
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->x650 B650
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->x650 B650
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MAXSUN AMD Challenger B650M WIFI M-ATX (aka Soyo)
| <!--Chipset-->B650
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MSI b650i mini itx
| <!--Chipset-->B650
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->NVMe
| <!--Gfx-->pci-e 4
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->Realtek
| <!--Opinion-->2023 - front panel connectors at the back of the board - dead rear nvme slot and a drained CMOS battery as the CMOS button being pressed during shipping -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->A620M Zen4
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->A620M
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->A620M
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->A620M
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset--> Zen5
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset--> Zen6
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name--> || <!--Chipset--> || <!--ACPI--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Opinion-->2026 FP8 Zen 6 Medusa Point 4bigC, 4 econC, 2lpC, 8coreGPU -
|-
| <!--Name--> || <!--Chipset--> || <!--ACPI--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Opinion-->2026 FP10 Zen 6 Medusa Point 4bigC, 4 econC, 2lpC, 8coreGPU -
|-
|}
===== (Zen7 AM6 2027/3x)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
===== (Zen AM 203x/3x)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
====Intel Sockets====
[[#top|...to the top]]
=====Socket 370 (2000/2)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->Intel D815EEA
| <!--Chipset-->866Mhz P3 and i815 chipset
| <!--ACPI-->
| <!--IDE-->{{Yes}}
| <!--SATA-->{{N/A}}
| <!--Gfx-->{{Yes|Nvidia AGPx8 6200LE added}}
| <!--Audio-->{{N/A}}
| <!--USB-->{{Yes|2 USB1.1}}
| <!--Ethernet-->{{N/A}}
| <!--Opinion-->Tested AspireOS 1.7, simple basic board with useful 5 PCI slots
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|}
=====Socket 478 (2002/4)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->[http://translate.google.co.uk/translate?hl=en&sl=zh-CN&u=http://detail.zol.com.cn/motherboard/index46381.shtml&prev=/search%3Fq%3Dc.865pe.l%2Bmotherboard%26client%3Dfirefox-a%26hs%3DsZB%26rls%3Dorg.mozilla:en-US:official Colorful Technology C.865PE-L Silver Fighter Warrior V2.3]
| <!--Chipset-->865PE
| <!--ACPI-->{{dunno| }}
| <!--IDE-->{{Yes|tested with CDROM}}
| <!--SATA-->{{dunno| }}
| <!--Gfx-->{{Maybe|AGP slot}}
| <!--Audio-->{{Yes|ALC650 AC97}}
| <!--USB-->{{Yes|USB 1.1 and 2.0}}
| <!--Ethernet-->{{Yes|RTL 8100 8139}}
| <!--Opinion-->Still testing with NB (Nightly Build) May 2013
|-
| <!--Name-->Intel 845
| <!--Chipset-->865P
| <!--ACPI-->
| <!--IDE-->{{Yes}}
| <!--SATA-->
| <!--Gfx-->{{No|intel 800}}
| <!--Audio-->{{No|AC97 AD1985}}
| <!--USB-->{{Yes|USB1.1 and USB2.0}}
| <!--Ethernet-->{{No|e1000}}
| <!--Opinion-->Tested ICAROS 1.3
|-
| <!--Name-->Intel 845
| <!--Chipset-->865GC
| <!--ACPI-->
| <!--IDE-->{{Yes}}
| <!--SATA-->
| <!--Gfx-->{{No|intel 865 Extreme Graphics 2}}
| <!--Audio-->{{No|AC97 AD1985}}
| <!--USB-->{{Yes|USB1.1 and USB2.0}}
| <!--Ethernet-->{{No|e1000}}
| <!--Opinion-->Tested ICAROS 1.3
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket LGA775 s775 (2005/8)=====
an industry standard DDR2 module could in theory contain fallback JEDEC, intel XMP and AMD EPP configuration data
Intel PC CL5 ram modules but an "AMD" CL5 ram module the BIOS cannot read the AMD EPP info on the SPD (Serial Presence Detect) but can recognize the CL5 timing info in the JEDEC data table. PC BIOS auto configures for the AMD ram module and boots normally.
an AMD PC CL6 ram modules but an "INTEL" CL6 ram module the BIOS cannot read the INTEL XMP info on the SPD but can recognize the CL6 timing info in JEDEC data table. PC BIOS auto configures for the AMD ram module and boots normally.
an INTEL PC needs CL6 ram modules but have an "AMD" CL4 ram module. INTEL BIOS cannot read the AMD EPP info on the SPD but can recognize the CL4 timing info in JEDEC data table. PC BIOS recognizes module timings as incompatible an refuses to boot.
entirely separate issue if the RAM module timing specs are incompatible.(i.e. CL4 RAM in a "CL6 only" PC)
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->Abit AG8
| <!--Chipset-->P915 + ICH6R
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 ports SATA1
| <!--Gfx-->1 PCIe x16 Slot
| <!--Audio-->Realtek ALC658 AC97
| <!--USB-->4 USB2.0
| <!--Ethernet-->Realtek 8110S-32
| <!--Opinion-->2004 32bit - Firewire TI 4200R7T no
|-
| <!--Name-->MSI 915 Neo2
| <!--Chipset-->P915 + ICH6R
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 ports SATA1
| <!--Gfx-->1 PCIe x16 Slot
| <!--Audio-->CMI 9880L HD Audio
| <!--USB-->4 USB2.0
| <!--Ethernet-->{{no|Broadcomm BCM5751 PCIe}}
| <!--Opinion-->Firewire VIA VT6306 no
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus P5GC P5GC-MX
| <!--Chipset-->P945GC Lakeport-GC + ICH7R northbridge
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 SATA1 3.0 Gbit/s ports
| <!--Gfx-->1 PCIe 1.1 slot
| <!--Audio-->HD Audio with ALC662 codec
| <!--USB-->{{yes|2 usb2.0}}
| <!--Ethernet-->{{no|atheros L2}}
| <!--Opinion-->2005 32bit - 3 pci slots - 4 x 240-pin DIMM Sockets max. 4GB DDR2 667/533 non-ECC -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Foxconn PC45CM-SA 45CM-S
| <!--Chipset-->945GC with ICH7
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 sata2 ports
| <!--Gfx-->{{Yes|pcie 1.0 slot with gma950 integrated}}
| <!--Audio-->{{Yes|HD audio with aLC883 codec playback}}
| <!--USB-->{{Yes|}}
| <!--Ethernet-->{{Yes|realtek 8139 8100sc}}
| <!--Opinion-->2 dimm slots 667mhz max 4gb - can be found in Advent desktops - 2 pci-e and 2 pci - core 2 duo only e6xxx - Micro ATX (9.6” x 8.8”) -
|-
| <!--Name-->Gigabyte GA-81945GM MFY-RH
| <!--Chipset-->Intel® 945GM Express with ICH7M-DH
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->{{Yes|GMA950 VGA15 and PCI-e 1.0 slot}}
| <!--Audio-->{{Yes|HD Audio with ALC880 codec playback only rear port}}
| <!--USB-->{{Yes|4 usb 2.0}}
| <!--Ethernet-->{{No|Intel PRO1000PL 82573L Gigabit Ethernet}}
| <!--Opinion-->2006 MoDT term “Mobile on DeskTop.”, low TDP CPUs to work on desktop form-factor motherboards. mATX Micro ATX 24.4cm x 24.4cm - 2 DDR2 dimm 1.8v slots with 4Gb max - will not boot if PCI2 slot occupied -
|-
| <!--Name-->Gigabyte GA-945 GCM S2C
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->{{yes|ALC662 (1.x)}}
| <!--USB-->
| <!--Ethernet-->{{yes|8101E Rtl 8169 (1.x)}}
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA945-GCM S2L
| <!--Chipset-->945GC with ICH7
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 SATA1 ports
| <!--Gfx-->PCi-E slot
| <!--Audio-->{{Maybe|Intel HD Audio with ALC662 codec 2/4/5.1-channel (1.x)}}
| <!--USB-->{{Yes|4 USB2.0}}
| <!--Ethernet-->{{Yes|Realtek 8111c 8169 (1.x)}}
| <!--Opinion-->2 x 1.8V DDR2 DIMM 4GB DDR2 memory max - 2 PCI-e and 2 PCI - Micro ATX form factor; 24.4cm x 19.3cm -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MSI 945P Neo-F rev 1.0
| <!--Chipset-->P945 + ICH7
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 SATA1 ports
| <!--Gfx-->PCie 1.0 slot
| <!--Audio-->ALC662 HDA
| <!--USB-->4 USB2.0
| <!--Ethernet-->8110SC (rtl8169)
| <!--Opinion-->
|-
| <!--Name-->MSI 945P Neo2-F rev 1.2
| <!--Chipset-->P945 + ICH7
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 SATA1 ports
| <!--Gfx-->PCie 1.0 slot
| <!--Audio-->ALC850 AC97
| <!--USB-->4 USB2.0
| <!--Ethernet-->8110SC (rtl8169)
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-P31-DS3L
| <!--Chipset-->P31 with ICH7
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCI Express x16
| <!--Audio-->HD Audio with ALC888 codec
| <!--USB-->4 USB 2.0
| <!--Ethernet-->Realtek 8111B
| <!--Opinion-->DDR2 800Mhz up to 4Gb 4 x 240 pin - 3 PCI - ATX 12.0" x 8.3" -
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus P5KPL-AM /PS
| <!--Chipset-->G31 with ICH7
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->4 xSATA 3 Gbit/s ports
| <!--Gfx-->PCIe 1.1 with integrated Intel® GMA 3100
| <!--Audio-->HD Audio with VIA VT1708B with ALC662 codec
| <!--USB-->
| <!--Ethernet-->Realtek RTL8102EL 100/10 LAN with Realtek RTL8111C Gigabit LAN
| <!--Opinion-->2 x 2 GB DDR2 Non-ECC,Un-buffered DIMMs with 2 PCI - Intel Graphics Media Accelerator -
|-
| <!--Name-->Asus P5KPL/EPU
| <!--Chipset-->G31 with ICH7
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Pci-e 1.0 slot
| <!--Audio-->{{Yes|HD audio with ALC887 codec}}
| <!--USB-->
| <!--Ethernet-->{{Yes|RTL8169 Realtek 8111C}}
| <!--Opinion-->Tested - 4 240-pin DIMM, Max. 4 GB - 4 pci-e and 3 pci - ATX Form Factor 12 inch x 8.2 inch ( 30.5 cm x 20.8 cm ) -
|-
| <!--Name-->Gigabyte GA-G31M ES2L
| <!--Chipset-->G31 plus ICH7
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->{{Yes|Intel GMA 3100 2d}}
| <!--Audio-->{{Maybe|ALC883 (1.x), ALC883/888B (2.x)}}
| <!--USB-->
| <!--Ethernet-->{{Maybe|RTL8111C (1.x), Atheros 8131 (2.x)}}
| <!--Opinion-->reduces DRAM capacity to 4GB
|-
| <!--Name-->ASRock G31M-S r1.0 G31M-GS
| <!--Chipset-->G31 + ICH7
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->{{maybe|4 sata2}}
| <!--Gfx-->{{maybe|GMA 3100 2d not 3d}}
| <!--Audio-->{{yes|ALC662}}
| <!--USB-->{{yes|4 USB2.0}}
| <!--Ethernet-->{{partial|rtl8169 RTL8111DL 8169 (for -GS) RTL8102EL (for -S)}}
| <!--Opinion-->2007 64bit Core2 - 2 DDR2 800 max 8Gig AMI bios MicroATX -
|-
| <!--Name-->ASRock G31M-S r2.0
| <!--Chipset-->G31 + ICH7
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->{{maybe|4 sata2}}
| <!--Gfx-->{{maybe|GMA 3100 2d not 3d}}
| <!--Audio-->{{yes|ALC662}}
| <!--USB-->{{yes|4 USB2.0}}
| <!--Ethernet-->{{yes|RTL 8111DL 8169}}
| <!--Opinion-->2008 64bit core2 - 2 DDR2 800 max 8Gig MicroATX
|-
| <!--Name-->[http://www.intel.com/cd/channel/reseller/apac/eng/products/desktop/bdb/dg31pr/feature/index.htm Intel DG31PR]
| <!--Chipset-->iG31
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->{{maybe|3100 but can use PCIe 1.1 slot}}
| <!--Audio-->{{yes|ALC888 playback}}
| <!--USB-->
| <!--Ethernet-->{{yes|RTL8111B Rtl 8169}}
| <!--Opinion-->good support
|-
| <!--Name-->
| <!--Chipset-->Intel G33 Express Chipset with ich9 southbridge
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->Intel 3100 powervr tile based
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2008 64bit - embedded on Core 2 Quad, Core 2 Duo, Pentium Dual-Core CPUS with Integrated GPU Intel GMA 3100 -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->ASUS P5G41T-M LX
| <!--Chipset-->G41 + ICH8 + DDR3
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->{{maybe}}
| <!--Gfx-->{{yes|X4500 some 2d only)}}
| <!--Audio-->ALC887
| <!--USB-->3 USB2.0
| <!--Ethernet-->{{no|Atheros L1c AR8131}}
| <!--Opinion-->reduces maximum supported memory ddr3 from 16 to 8GB 2 dimm slots non-EEC - demotes the PCIe controller mode from revision 2.0 (5.0GT/s) to revision 1.1 (2.5GT/s
|-
| <!--Name-->Gigabyte GA-G41MT S2
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->VT1708S (1.3), ALC887-VD2 (1.4), ALC887 (2.1),
| <!--USB-->
| <!--Ethernet-->Atheros AR8151 l1c (1.x 2.x),
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-G41MT S2PT
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->ALC887 (1.0), VIA (2.0), ALC887 (2.1)
| <!--USB-->
| <!--Ethernet-->RTL8111E (1.x), Atheros AR8151 l1c (2.1),
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-G41MT D3
| <!--Chipset-->G41 + ICH7
| <!--ACPI-->
| <!--IDE-->1 Port
| <!--SATA-->4 Ports
| <!--Gfx-->{{yes|GMA X4500 2d only and pci-e 1.1 slot}}
| <!--Audio-->{{yes|ALC888B}}
| <!--USB-->4 ports + headers
| <!--Ethernet-->{{yes|RTL8111 D/E}}
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-P41T D3P
| <!--Chipset-->G41 + ICH7 with Intel Core 2 Duo (E6xxx) CPU
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4ports
| <!--Gfx-->GMA X4500 2d
| <!--Audio-->ALC888 889/892
| <!--USB-->4 ports
| <!--Ethernet-->RTL 8111C or D/E
| <!--Opinion-->
|-
| <!--Name-->Intel DG41AN Classic
| <!--Chipset-->iG41 +
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 ports
| <!--Gfx-->X4500 2d
| <!--Audio-->ALC888S ALC888VC
| <!--USB-->4 ports
| <!--Ethernet-->8111E
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->AsRock P5B-DE
| <!--Chipset-->P965 + ICH8
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->{{Maybe|works ide legacy}}
|<!--Gfx-->{{Yes|with PCI-E 1.1 slot}}
| <!--Audio-->{{Yes|HD Audio via VT1708S}}
| <!--USB-->{{Yes}}
| <!--Ethernet-->{{Yes|RTL8169}}
| <!--Opinion-->2006 works well
|-
| <!--Name-->Asus P5B SE
| <!--Chipset-->965 intel
| <!--ACPI-->
| <!--IDE-->{{Yes| }}
| <!--SATA-->{{Yes| }}
| <!--Gfx-->{{N/A}}
| <!--Audio-->{{Yes|HD Audio ALC662 codec}}
| <!--USB-->{{Yes}}
| <!--Ethernet-->{{No| }}
| <!--Opinion-->works well except ethernet
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus P5W DH Deluxe P5WDG2 WS PRO
| <!--Chipset-->975X
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->2 ports
| <!--Gfx-->2 PCIe x16 slots
| <!--Audio-->ALC882 AND LATER ADI 1988B
| <!--USB-->2 USB2.0
| <!--Ethernet-->{{No|Marvell 88E8052 88E8053}}
| <!--Opinion-->Firewire TI TSB43AB22A no
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Abit IP35
| <!--Chipset-->P35 Express + ICH9R
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->6 ports
| <!--Gfx-->
| <!--Audio-->ALC888 HDA
| <!--USB-->4 USB2.0
| <!--Ethernet-->two RTL8110SC
| <!--Opinion-->Firewire Texas TSB43 AB22A no
|-
| <!--Name-->MSI P35 Neo F FL MS-7630 rev 1
| <!--Chipset-->Intel P35
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->pci-e 1.1 support
| <!--Audio-->HD Audio ALC888
| <!--USB-->
| <!--Ethernet-->Realtek
| <!--Opinion-->Base model of this range of P35 mobos
|-
| <!--Name-->GA-P35-DS3
| <!--Chipset-->P35 and ICH9
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->4 ports
| <!--Gfx-->
| <!--Audio-->HDAudio with Realtek ALC889A codec
| <!--USB-->
| <!--Ethernet-->rtl8169 Realtek 8111B
| <!--Opinion-->2008 - 4 x 1.8V DDR2 DIMM sockets max 8 GB -
|-
| <!--Name-->GA-EP35-DS3 (rev. 2.1)
| <!--Chipset-->Intel® P35 + ICH9 Chipset
| <!--ACPI-->
| <!--IDE-->{{unk|}}
| <!--SATA-->{{unk|4 }}
| <!--Gfx-->pci-e
| <!--Audio-->{{unk|Realtek ALC889A codec }}
| <!--USB-->{{yes | }}
| <!--Ethernet-->{{yes|rtl8169 Realtek 8111B}}
| <!--Opinion-->good
|-
| <!--Name-->Abit IX38 Quad GT
| <!--Chipset-->X38 / ICH9R Chipset
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->6 ports
| <!--Gfx-->PCI-E 2.0 slot
| <!--Audio--> HD Audio ALC888
| <!--USB-->4 USB2.0
| <!--Ethernet-->Realtek RTL 8110SC 8169SC
| <!--Opinion-->Firewire Texas TSB 43AB22A no
|-
| <!--Name-->Gigabyte X38-DQ6
| <!--Chipset-->X38 / ICH9R Chipset
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->6 ports
| <!--Gfx-->PCI-E 2.0 slot
| <!--Audio-->ALC889A HDA
| <!--USB-->4 USB2.0
| <!--Ethernet-->twin 8111B 8169
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Gigabyte GA-EP45 DS3 (2008)
| <!--Chipset-->P45 + ICH9 or ICH10
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->6 x SATA 3Gbit/s (SATAII0, SATAII1, SATAII2, SATAII3, SATAII4, SATAII5)
| <!--Gfx-->two PCI-E v2.0 x16 slots support splitting its 16 PCIe 2.0 lanes across two cards at x8 transfers
| <!--Audio-->HD Audio with ALC888 or ALC889A codec
| <!--USB-->6 USB2.0
| <!--Ethernet-->2 x Realtek 8111C chips (10/100 /1000 Mbit)
| <!--Opinion-->4 x 1.8V DDR2 DIMM sockets non-EEC
|-
| <!--Name-->MSI P45 Platinum (2008)
| <!--Chipset-->P45 + ICH9
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->6 sata2 ports
| <!--Gfx-->two PCI-E x16 v2.0 slots
| <!--Audio-->ALC888 HD Audio
| <!--USB-->6 USB2.0
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->G45 +
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->adds Intel’s GMA X4500HD graphics engine to P45 Express features
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->G43 +
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->GMA X4500 2d
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->removes HD video acceleration from the G45’s features
|-
| <!--Name-->Asus P5E Deluxe
| <!--Chipset--> X48 with ICH9
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->HD Audio with ADI 1988B codec
| <!--USB-->
| <!--Ethernet-->Marvell 88E8001
| <!--Opinion-->
|-
| <!--Name-->GigaByte GA-X48 DQ6
| <!--Chipset-->X48 plus ICH9R
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->8 ports
| <!--Gfx-->two PCI-E x16 v2.0 slots
| <!--Audio-->ALC889A
| <!--USB-->8 USB2.0
| <!--Ethernet-->RTL 8111B 8169
| <!--Opinion-->Firewire TSB43AB23 no - ICH9 pairs with Intel’s 3-series (X38, P35, etc.) chipsets, in addition to the X48 Express, but excluding the G35 Express
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Gigabyte EP43-DS3L and Gigabyte GA-EP43-UD3L
| <!--Chipset-->P43 with ICH10
| <!--ACPI-->
| <!--IDE-->1 port
| <!--SATA-->6 x SATA 3Gbit/s connectors
| <!--Gfx-->1 x PCI Express x16 slot PCI Express 2.0 standard
| <!--Audio-->HD Audio with ALC888 codec
| <!--USB-->
| <!--Ethernet-->realtek 8111C
| <!--Opinion-->4 x 1.8V DDR2 DIMM sockets - 4 pcie x1 - 2 pci - ATX Form Factor; 30.5cm x 21.0cm
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Gigabyte 73-pvm-s2h rev.1.0
| <!--Chipset-->NVIDIA GeForce 7100 nForce 630i
| <!--ACPI-->
| <!--IDE-->{{Yes|1 port}}
| <!--SATA-->{{yes|3 ports SATA2}}
| <!--Gfx-->{{Maybe|Vesa 2d GeForce 7100 (vga /hdmi/dvi), 1 PCIe x16 Slot }}
| <!--Audio-->{{Yes|Realtek ALC889A MCP73}}
| <!--USB-->{{Yes|7 USB2.0}}
| <!--Ethernet-->{{no|RTL 8211B MCP73}}
| <!--Opinion-->Firewire Not, tested with Icaros Desktop 2.0.3 MCP73 is a single chip solution in three different versions
|-
| <!--Name-->Nvidia 7150 630i
| <!--Chipset-->intel based nForce 630i (MCP73)
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->{{maybe|ide legacy}}
| <!--GFX-->GF 7150
| <!--Audio-->{{yes|HD AUDIO ALC883}}
| <!--USB-->{{yes|ohci echi}}
| <!--Ethernet-->{{no|RTL8201C}}
| <!--Opinion-->being tested
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->pci-e 2.0 x16
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion--> the MCP73PV or the GeForce 7050/nForce 630i
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->the MCP73S or the GeForce7025/nForce 630i
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->the MCP73V or the GeForce 7025/nForce 610i
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Atom SOC (2008/2x)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->D945CLF
| <!--Chipset-->N230 single core
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->
| <!--Gfx-->{{yes|GMA945}}
| <!--Audio-->{{yes|ALC662}} Skt 441
| <!--USB-->{{yes|uhci and ehci}}
| <!--Ethernet-->{{yes|rtl8169}}
| <!--Opinion-->works very well
|-
| <!--Name-->[http://www.clusteruk.com iMica D945GCKF2 mobo]
| <!--Chipset-->Intel Atom N330 Dual Core
| <!--ACPI-->wip
| <!--IDE-->{{yes|IDE}}
| <!--SATA-->{{maybe}}
| <!--Gfx-->{{yes|gma}}
| <!--Audio-->{{yes|HD AUDIO}}
| <!--USB-->{{yes|uhci ehci}}
| <!--Ethernet-->{{yes|rtl8169}}
| <!--Opinion-->
|-
| <!--Name-->D945GSEJT + Morex T1610
| <!--Chipset-->Atom 230 with 945GSE
| <!--ACPI-->
| <!--IDE-->{{yes}}
| <!--SATA-->{{maybe}}
| <!--Gfx-->{{yes|GMA900 vga but issues with DVI output}}
| <!--Audio-->{{yes|HDAudio with ALC662 codec}}
| <!--USB-->{{yes| }}
| <!--Ethernet-->{{yes|RTL8169 8111DL}}
| <!--Opinion-->small size, runs off 12V
|-
| <!--Name-->ASUS AT3N7A-I
| <!--Chipset-->Atom N330 Nvidia ION
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{maybe|3 ports legacy IDE}}
| <!--Gfx-->{{yes|nouveau cube cube 2 45 quake 3 }}
| <!--Audio-->{{yes|HD Audio with VIA 1708S codec playback}}
| <!--USB-->{{yes}}
| <!--Ethernet-->{{yes|RTL8169 device}}
| <!--Opinion--><ref>http://www.youtube.com/watch?v=EAiJpvu73iw</ref> good but can freeze randomly at times
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->D410PT 45nm pinetrail
| <!--Chipset-->D410 and NM10
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{maybe|ide legacy}}
| <!--Gfx-->{{maybe|GMA3150}}
| <!--Audio-->{{yes|ALC262 or ALC66x odd clicks}}
| <!--USB-->{{yes}}
| <!--Ethernet-->{{yes|RTL8111DL}}
| <!--Opinion-->some support
|-
| <!--Name-->45nm pinetrail
| <!--Chipset-->D510 and NM10 + GMA3150
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->GMA3150
| <!--Audio-->ALC888B or ALC66x
| <!--USB-->{{yes}}
| <!--Ethernet-->RTL8111DL
| <!--Opinion-->some support
|-
| <!--Name-->Gigabyte GA-D525TUD (rev. 1.0 1.2 1.5)
| <!--Chipset-->D525 NM10
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->gma 3150
| <!--Audio-->HDAudio ALC887
| <!--USB-->
| <!--Ethernet-->rtl8169 rtl8111f
| <!--Opinion-->2012 64 - 2 ddr3 dimm slots max 8g - Mini-ITX Form Factor; 17.0cm x 17.0cm -
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
|}
=====Socket 1366 (2009/10)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->Asus P6T DELUXE
| <!--Chipset-->x58 + ICH10 and Intel 1st gen. (Nehalem/Lynnfield) Core i7 (8xx) CPU
| <!--ACPI-->
| <!--IDE-->{{yes|1 port}}
| <!--SATA-->4 ports
| <!--Gfx-->2 PCIe x16 (r2.0) slots
| <!--Audio-->ADI AD2000B HD Audio
| <!--USB-->{{yes|4 USB2.0}}
| <!--Ethernet-->{{no|Marvell 88E8056 Gigabit}}
| <!--Opinion-->Firewire VIA VT6308 no
|-
| <!--Name-->gigabyte ex58 ds
| <!--Chipset--> x58 + ICH10
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->Realtek 8111D rtl8169
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket 1156 (2010)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->Acer Aspire M3910
| <!--Chipset-->i3
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->{{unk| }}
| <!--Gfx-->{{maybe|VESA intel HD}}
| <!--Audio-->{{unk|HDAudio with Realtek ALC}}
| <!--USB-->{{yes| }}
| <!--Ethernet-->{{unk| Realtek}}
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-H55M-S2H
| <!--Chipset-->H55
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->PCIe slot
| <!--Audio-->{{Yes|ALCxxx playback}} ALC888B (Rev1.x)
| <!--USB-->{{Yes| }}
| <!--Ethernet-->{{Yes|RTL8111D}} (Rev 1.x)
| <!--Opinion-->Tested but no support for WLAN Realtek 8188su
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MSI H55M-E33 v1.0
| <!--Chipset-->E7636 M7636 H55 chipset so older i3/i5/i7 system
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->{{yes|HD Audio ALC889}}
| <!--USB-->
| <!--Ethernet-->{{Yes|PCI-E Realtek 8111DL}}
| <!--Opinion-->Works well
|-
| <!--Name-->Asus P7P55D
| <!--Chipset-->P55
| <!--ACPI-->
| <!--IDE-->{{unk| }}
| <!--SATA-->{{unk| }}
| <!--Gfx-->pci-e
| <!--Audio-->{{maybe | via codec}}
| <!--USB-->{{unk| }}
| <!--Ethernet-->{{maybe |rtl8169 Realtek RTL8111B/C RTL8112L }}
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket LGA 1155 H2 (2010/13)=====
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->ASUS P8H61-I LX R2.0
| <!--Chipset-->H61
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 sata
| <!--Gfx-->1 pci-e slot
| <!--Audio-->HDAudio
| <!--USB-->USB3
| <!--Ethernet-->rtl8169 8111f
| <!--Opinion-->2013 - up to ivybridge cpus - 2 ddr3 dimm slots -
|-
| <!--Name-->Asus P8H61-I/RM/SI mini-itx
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->2 sata
| <!--Gfx-->pci-e 2
| <!--Audio-->HDAudio
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2012 64 up to i3-2010 - OEM board from an RM machine but not ivybridge as the Asus BIOS isn't compatible with these, 0909 hacked one might work -
|-
| <!--Name-->asus p8h61-i lx r2.0/rm/si mini itx
| <!--Chipset-->h61
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->pci-e 2.0
| <!--Audio-->HDaudio with VIA codec
| <!--USB-->
| <!--Ethernet-->rtl8169 rtl8111e
| <!--Opinion-->2012 sandy and ivy - oem from rm machine 2 x 240-Pin DDR3 DIMM sockets max DDR3 1333MHz -
|-
| <!--Name-->Bewinner 63q9c7omvs V301 ITX
| <!--Chipset-->H61
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 sata with nvme
| <!--Gfx-->pci-e 4
| <!--Audio-->HDAudio
| <!--USB-->
| <!--Ethernet-->Realtek 8106E 100M Network Card
| <!--Opinion-->2022 64
|-
| <!--Name-->Biostar H61 H61MHV2 H61MHV3 Ver. 7.0
| <!--Chipset-->H61 with Intel Pentium G 2xxx series CPU
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->pci-e
| <!--Audio-->Realtek ALC662 later ALC897
| <!--USB-->4 usb2
| <!--Ethernet-->rtl8169 Realtek RTL8111H
| <!--Opinion-->2014 - 2 ddr3 dimm slots -
|-
| <!--Name-->Gigabyte GA-H61M-D2-B3
| <!--Chipset-->H61 + Sandybridge
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 ports sata2
| <!--Gfx-->
| <!--Audio-->ALC889
| <!--USB-->2 ports
| <!--Ethernet-->Realtek RTL8111E
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-H61MA-D3V
| <!--Chipset-->H61 +
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 ports sata2
| <!--Gfx-->
| <!--Audio-->Maybe No Realtek ALC887 (Rev 2.0) ALC887 (Rev2.1)
| <!--USB-->2 ports
| <!--Ethernet-->Realtek RTL8111E
| <!--Opinion-->
|-
| <!--Name-->GA-H61M-S2PV
| <!--Chipset-->H61 with 2400k 2500k 2600k 2700k
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->pci-e 2.0 slot
| <!--Audio-->ALC887 (rev 1.0 2.0 2.1 2.2 2.3)
| <!--USB-->4 USB 2.0
| <!--Ethernet-->Rtl811E (1.0) 8151 (2.0) Rtl8111F (2.1 2.2 2.3)
| <!--Opinion-->Micro ATX Form Factor; 24.4cm x 20cm with 2 pci-e and 2 pci -
|-
| <!--Name-->Intel Classic Series DH61CR Desktop
| <!--Chipset-->H61 +
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 ports
| <!--Gfx-->
| <!--Audio-->Intel HD with ALC892
| <!--USB-->4 ports
| <!--Ethernet-->{{no|Intel 82579V}}
| <!--Opinion-->
|-
| <!--Name-->MSI H61M-P20 (G3) MS-7788
*retail MSI board
*OEM Advent, etc
| <!--Chipset-->H61
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{yes|four SATAII ports}}
| <!--Gfx-->1 PCI Express gen3 (retail) gen2 (oem) x16 slot
| <!--Audio-->{{yes|HDAudio ALC887 codec}}
| <!--USB-->{{yes|}}
| <!--Ethernet-->{{yes|Realtek 8105E 100M Network Card}}
| <!--Opinion-->2012 64bit - 2 ddr3 slots - 22.6cm(L) x 17.3cm(W) M-ATX Form Factor - BIOS - [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1149&rowstart=140&pid=6009#post_6007 works well],
|-
| <!--Name-->MSI H61I-E35 (B3) MS-7677 Ver.1.2
| <!--Chipset-->H61
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->{{maybe|VESA 2d for hdmi}}
| <!--Audio-->{{yes|https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1149&rowstart=140&pid=5861#post_5861 works}}
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus P8H67-M
| <!--Chipset-->H67 +
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->2 sata3 - 4 sata2
| <!--Gfx-->
| <!--Audio-->Intel HD with ALC887
| <!--USB-->6 USB2.0
| <!--Ethernet-->Realtek® 8111E
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus P8Z68-V LX
| <!--Chipset-->Z68 + Intel 2nd generation (Sandy Bridge) Core i7 (2xxx) CPU and possibly ivybridgev
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{yes|2 sata3 - 4 sata2}}
| <!--Gfx-->pci-e slot
| <!--Audio-->{{yes|HDAudio Intel HD with ALC887 codec}}
| <!--USB-->{{yes|2 USB3.0 - 4 USB2.0}}
| <!--Ethernet-->{{yes|rtl8169 Realtek® 8111E}}
| <!--Opinion-->2011 64bit SSE 4.1 and AVX - EFI bios - 4 ddr3 dimm slots -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte Z68AP-D3 (B3)
| <!--Chipset-->Z68 + Ivybridge
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->2 sata3 - 4 sata2
| <!--Gfx-->
| <!--Audio-->Intel HD with ALC889
| <!--USB-->2 USB3.0 - 4 USB2.0
| <!--Ethernet-->Realtek® 8111E
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus B75M-A
| <!--Chipset-->B75
| <!--ACPI-->
| <!--IDE-->{{yes| }}
| <!--SATA-->{{yes| }}
| <!--Gfx-->pci-e
| <!--Audio-->{{maybe|HDAudio with Realtek ® ALC887-VD codec}}
| <!--USB-->{{maybe| }}
| <!--Ethernet-->{{yes|rtl8169 Realtek ® 8111F-VB-CG }}
| <!--Opinion-->2013 64bit - 2 ddr3 slots -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->H77
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-H77-D3H 1.0 1.1
| <!--Chipset-->H77
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 sata 3.0
| <!--Gfx-->pci-e
| <!--Audio-->{{No|HDAudio VIA VT2021 codec}}
| <!--USB-->
| <!--Ethernet-->{{No|Atheros GbE LAN chip}}
| <!--Opinion-->2013 64bit i5 3550 7 3770 - 4 DDR3 slots - 2 full pci-e 2 pci slots -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Gigabyte GA Z77 D3H with i3 3225 dual
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->pci-e
| <!--Audio-->{{No|HDAudio VIA VT2021 codec}}
| <!--USB-->
| <!--Ethernet-->{{No|Atheros GbE LAN chip}}
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket LGA 1150 H3 (2013/2016)=====
[[#top|...to the top]]
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->[https://theretroweb.com/motherboards/s/asus-b85m-e-rev-1-02 Asus B85M-E]
| <!--Chipset-->B85
| <!--ACPI-->
| <!--IDE-->{{yes| }}
| <!--SATA-->{{yes| }}
| <!--Gfx-->pci-e
| <!--Audio-->{{maybe|HDAudio with Realtek ® ALC887-VD2 codec}}
| <!--USB-->{{no| }}
| <!--Ethernet-->{{yes|rtl8169 Realtek 8111F}}
| <!--Opinion-->2014 64bit - 4 ddr3 slots -
|-
| <!--Name-->Gigabyte GA-H87N-WIFI mITX
| <!--Chipset-->H87 and Intel 4th generation (Haswell) Core i5 (4xxx) CPU
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->Intel HD with ALC892
| <!--USB-->
| <!--Ethernet-->Intel Atheros
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus H81M-C H81M-P-SI
| <!--Chipset-->H81 with 4th generation (Haswell) Core i7 (4xxx) CPU
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->2x3g 2x6g
| <!--Gfx-->pci-e slot
| <!--Audio-->hdaudio alc887 vd
| <!--USB-->
| <!--Ethernet-->realtek 8111gr
| <!--Opinion-->2013 skt 1150 - 2 ddr3 max 16g - mini atx -
|-
| <!--Name-->Asus H81T
| <!--Chipset-->H81
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->2 sata
| <!--Gfx-->HD4000 igpu only
| <!--Audio-->HDAudio ALC887-VD
| <!--USB-->Intel USB3
| <!--Ethernet-->rtl8169 realtek 8111G
| <!--Opinion-->2013 64bit intel 4th gen mini itx - external dc brick with 19v rare barrel pin 7.4MM x 5.0MM - 2 ddr3 laptop sodimm slots -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-H81M-S2V
| <!--Chipset-->H81
| <!--ACPI-->
| <!--IDE-->{{N/A|}}
| <!--SATA-->
| <!--Gfx-->pci-e
| <!--Audio-->HDAudio ALC887
| <!--USB-->USB3
| <!--Ethernet-->Realtek® GbE LAN chip
| <!--Opinion-->2014 64bit up to i7 4790K - 2 DDR3 slots -
|-
| <!--Name-->Gigabyte GA-H81M-D3V (rev. 1.0)
| <!--Chipset-->H81
| <!--ACPI-->
| <!--IDE-->{{N/A| }}
| <!--SATA-->{{yes|2 sata2 2 sata3 }}
| <!--Gfx-->pci-e
| <!--Audio-->{{unk| HDAudio Realtek® ALC887 codec}}
| <!--USB-->{{unk|intel and VIA® VL805}}
| <!--Ethernet-->{{unk|rtl8169 Realtek }}
| <!--Opinion-->
|-
| <!--Name-->MSI H81M-E34 (MS-7817)
| <!--Chipset-->H81
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->{{yes| }}
| <!--Gfx-->PCIe 2.0 x16
| <!--Audio-->HDAudio with ALC887 codec
| <!--USB-->USB3
| <!--Ethernet-->{{yes|rtl8169 RTL8111G}}
| <!--Opinion-->2013 64bit -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus Z87-K
| <!--Chipset-->Z87 with 4th generation (Haswell) Core i7 4c8t i5 4c4t CPU
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->pci-e
| <!--Audio-->Intel HD with ALC
| <!--USB-->
| <!--Ethernet-->Realtek lan
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-Z87X-UD3H
| <!--Chipset-->Z87 Express
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->pci-e
| <!--Audio-->Intel HD with Realtek® ALC898 codec
| <!--USB-->
| <!--Ethernet-->intel
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA H97M D3H r1.0 r1.1 with i3 4360 or 4370 dual
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->pci-e
| <!--Audio-->Intel HD with ALC892
| <!--USB-->
| <!--Ethernet-->Realtek lan
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus Z97 A with i7 4790K
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->750, 960, 970 and 980 nvidia GTX cards
| <!--Audio-->Intel HD with ALC
| <!--USB-->
| <!--Ethernet-->intel lan ethernet
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA Z97X UD3H rev1.0 1.1 1.2
| <!--Chipset-->Z97 with i5 4690K
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->HDaudio with ALC1150
| <!--USB-->
| <!--Ethernet-->intel lan
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MSI GAMING 5 Z97
| <!--Chipset-->Z97 with 4th generation (Haswell) Core i7 4c8t CPU
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->ASUS Q87M-E
| <!--Chipset-->Q87
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2014 64bit - 4 DDR3 slots -
|-
| <!--Name-->
| <!--Chipset-->H99
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket LGA2011V2 s2011-2 (2012/15)=====
[[#top|...to the top]]
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| <!--Chipset-->x79
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2013 Xeon e5-???? W TDP, e5-2667V2 W TDP, e5-????V2 W TDP, Sandybridge and Ivybridge V2
|-
| <!--Name-->Asus
| <!--Chipset-->X79
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket LGA2011V3 s2011-3 (2015/18)=====
[[#top|...to the top]]
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| <!--Chipset-->x99
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2016 Xeon e5-1620v3 130W TDP, e5-1650V3 (i7-5930K) 140W TDP, e5-2640V3 90W TDP, Haswell-EP
|-
| <!--Name-->Asus
| <!--Chipset-->X99
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->most cheap Ryzens are better nowadays
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Huananzhi X99-CD4
| <!--Chipset-->Intel C612 and X99
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 sata 3 connectors and 1 m.2 nvme slot
| <!--Gfx-->pcie slot
| <!--Audio-->HDaudio with ALC897 codec
| <!--USB-->{{No|USB3}}
| <!--Ethernet-->{{maybe|rtl8169}}
| <!--Opinion-->2024 quality might not be great outside of a simple setup - 2 ddr4 dimms -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Keyiyou X99 XD4
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Machinist MR9A Pro
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2023
|-
| <!--Name-->Machinist MR9A Pro
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2023
|-
| <!--Name-->Mogul
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Qiyida X99 H9S
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2023
|-
| <!--Name-->Soyo
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket LGA 1151 Socket H4 (2015/2018)=====
[[#top|...to the top]]
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->Skylake CPUs have TPM 2.0 imbedded
|-
| <!--Name-->Asus H110 Plus H110M-A/DP
| <!--Chipset--> with 6th Gen Core and 7th with bios update
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->Sunrise Point-H SATA [AHCI mode] [8086 a102]
| <!--Gfx-->{{No|Skylake Integrated HD Graphics use PIC-E slot}}
| <!--Audio-->Intel HD Audio with Realtek ALC887 Audio CODEC
| <!--USB-->Sunrise Point-H USB 3.0 xHCI [8086: a12f] no usb2.0 fallback
| <!--Ethernet-->{{Yes|Realtek 8111GR or 8111H RTL8111 8168 8411}}
| <!--Opinion-->ATX with 3 pci-e and 2 DDR4 slots - uatx version smaller - turn off TLSF as it was causing AHI driver to corrupt. Turned off ACPI for errors but works fine once booted -
|-
| <!--Name-->ASUS H110M-R M-ATX
| <!--Chipset-->H110
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 x SATA 6Gb/s
| <!--Gfx-->pci-e
| <!--Audio-->HDAudio Realtek® ALC887 codec
| <!--USB-->Intel USB3
| <!--Ethernet-->Realtek® RTL8111H
| <!--Opinion-->2016 64bit 6th Gen Skylake Core™ i7/Core™ 6950X i7-6970HQ i7-6700K 4c8t hyperthreading, i5/Core™ i5-6600K 4c4t i3/Pentium® / Celeron® - 2 DDR4 DIMMS Max 32GB 2133MHz - 1 full pci-e and 2 pci-e 1 -
|-
| <!--Name-->Asus H110T
| <!--Chipset-->H110
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->2 sata
| <!--Gfx-->intel igpu only
| <!--Audio-->HDaudio
| <!--USB-->
| <!--Ethernet-->Dual Intel/Realtek GbE languard
| <!--Opinion-->2016 - mini itx 12v / 19v laptop type rare barrel pin 7.4MM x 5.0MM - 2 sodimm ddr4 slots - no pci-e slot -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte GA-H110M-S2H MATX Rev1.0
| <!--Chipset-->H110
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 sata
| <!--Gfx-->pci-e 3.0
| <!--Audio-->Realtek® ALC887 codec
| <!--USB-->2 (USB 3.1 Gen 1) ports with 4 us2
| <!--Ethernet-->Realtek® GbE LAN
| <!--Opinion--> 2 ddr4 slots
|-
| <!--Name-->Gigabyte ga-h110n
| <!--Chipset-->H110
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->{{Yes| sata}}
| <!--Gfx-->{{maybe|Vesa 2d for Intel or PCI-e slot}}
| <!--Audio-->{{Maybe|HDaudio for ALC887 codec}}
| <!--USB-->{{Maybe| }}
| <!--Ethernet-->{{maybe|RTL8169}}
| <!--Opinion-->2016 mini-itx 6th gen
|-
| <!--Name-->Msi H110M-PRO-VH
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 x SATA 6Gb/s
| <!--Gfx-->pci-e 3.0
| <!--Audio--> Realtek® ALC887 Codec
| <!--USB-->
| <!--Ethernet-->rtl8169 rtl8111h
| <!--Opinion--> 6th gen intel - 2 ddr4 slots
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus H170 Pro Gaming
| <!--Chipset-->H170
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 sata
| <!--Gfx-->pci-e
| <!--Audio-->HDAudio
| <!--USB-->Asmedia USB3.1/3.0
| <!--Ethernet-->intel lan
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->MSI Z170A TOMAHAWK
| <!--Chipset-->Z170
| <!--ACPI-->
| <!--IDE-->{{N/A}}
| <!--SATA-->4 sara, 1 x 2280 Key M(PCIe Gen3 x4/SATA), 1 x 2230 Key E(Wi-Fi)
| <!--Gfx-->pci-e
| <!--Audio-->HDAudio
| <!--USB-->
| <!--Ethernet-->intel lan
| <!--Opinion-->2016 64bit up to i7 7700k - 2 DDR4 -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->GIGABYTE GA-B250M-DS3H HD3P D3H D2V
| <!--Chipset-->B250
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2018 coffee lake intel 8th gen
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus
| <!--Chipset--> with Kaby Lake X Intel 7th Gen
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion--> up to 16 pcie lanes
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus
| <!--Chipset--> Z390 with Kaby Lake X
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion--> up to 16 pcie lanes
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset--> Q370M
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset--> H370M
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset--> B360M
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Asus Rampage
| <!--Chipset-->x299 with i9
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion--> - up to 24 to 44 pcie lanes
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->Gigabyte
| <!--Chipset--X299 >
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|}
=====Socket LGA 1200 (2020/2022)=====
[[#top|...to the top]]
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->MSI H510M-A PRO (MS-7D22)
| <!--Chipset--> with 10th gen Comet Lake X
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2021 64bit - up to 16 pcie lanes rebar possible
|-
| <!--Name-->Asus PRIME H410M-E
Asrock H470M-HDV/M.2
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus
| <!--Chipset--> with 11th gen Rocket Lake X
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion--> up to 16 pcie lanes
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|}
=====Socket LGA 1700 (2023/ )=====
[[#top|...to the top]]
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->Alder Lake / 14th gen Raptor Lake
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2021 2022 64bit - QoS work to 2 level cpus, P down to E cores -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->Meteor Lake ultra 5 7 1xxH series 1
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2023 2024 64bit 10nm - 3 level cpus, Low Power Island (SOC tile) to E onto P cores -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset--> 15th gen Arrow Lake
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->Lunar lake ultra 5 7 2xxV series 2
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2025 64bit 7nm -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->Nova Lake
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2026 64bit -
|-
| <!--Name-->
| <!--Chipset-->Panther Lake
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2026 64bit - either 44, 484, or 448 tiled cores 18A process - core ultra x9 288h, x7 358H, -
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
|}
=====Socket LGA 1954 (2027/ )=====
[[#top|...to the top]]
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->
| <!--Chipset-->Nova Lake-S
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->Serpent Lake, Titan Lake, and Razer Lake
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->2027
|-
|}
=====Socket LGA (203x/203x)=====
[[#top|...to the top]]
{| class="wikitable sortable" width="90%"
! width="10%" |Name
! width="5%" |Chipset
! width="5%" |ACPI
! width="5%" |IDE
! width="5%" |SATA
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |USB
! width="10%" |Ethernet
! width="30%" |Opinion
|-
| <!--Name-->MSI
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion
|-
| <!--Name-->Asus
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|-
| <!--Name-->
| <!--Chipset-->
| <!--ACPI-->
| <!--IDE-->
| <!--SATA-->
| <!--Gfx-->
| <!--Audio-->
| <!--USB-->
| <!--Ethernet-->
| <!--Opinion-->
|}
===Chromebooks===
For most (EOL) cromebooks, the recommended UEFI path forward is to:
*put the device into Developer Mode
*disable firmware write protection
*flash MrChromebox's UEFI Full ROM firmware
*install ChromeOS Flex, Linux, etc
See [https://mrchromebox.tech/#home MrChrome], [https://mrchromebox.tech MrChrome] and the [https://www.reddit.com/r/chrultrabook/ chrultrabook subreddit] for more info
ChromeOS has several different boot modes, which are important to understand in the context of modifying your device to run an alternate OS:
*Normal/Verified Boot Mode
Can only boot Google-signed ChromeOS images
Full verification of firmware and OS kernel
No root access to the system, no ability to run Linux or boot other OSes
Automatically enters Recovery Mode if any step of Verified Boot fails
Default / out-of-the-box setting for all ChromeOS devices
*Recovery Mode
User presented with Recovery Mode boot screen (white screen with 'ChromeOS is missing or damaged')
Boots only USB/SD with signed Google recovery image
Automatically entered when Verified Boot Mode fails
Can be manually invoked:
On Chromebooks, via keystroke: [ESC+Refresh+Power]
On Chromeboxes, by pressing a physical recovery button at power-on
On Convertibles/Tablets, by holding the Power, Vol+, and Vol- buttons for 10s and then release
Allows for transition from Verified Boot Mode to Developer Mode
On Chromebooks/Chromeboxes, via keystroke: [CTRL+D]
On Convertibles/Tablets, via button press: Vol+/Vol- simultaneously
Booting recovery media on USB/SD will repartition/reformat internal storage and reload ChromeOS
Note: The ChromeOS recovery process does not reset the firmware boot flags (GBB Flags), so if those are changed from the default, they will still need to be reset for factory default post-recovery.
*Developer Mode
"Jailbreak" mode built-in to every ChromeOS device
Loosened security restrictions, allows root/shell access, ability to run Linux via crouton
Verified Boot (signature checking) disabled by default, but can be re-enabled
Enabled via [CTRL+D] on the Recovery Mode boot screen
Boots to the developer mode boot screen (white screen with 'OS verification is off' text),
The user can select via keystroke
<pre>
ChromeOS (in developer mode) on internal storage ( [CTRL+D] )
ChromeOS/ChromiumOS on USB ( [CTRL+U] )
Legacy Boot Mode ( [CTRL+L] )
</pre>
Boot screen displays the ChromeOS device/board name in the hardware ID string (eg, PANTHER F5U-C92, which is useful to know in the context of device recovery, firmware support, or in determining what steps are required to install a given alternate OS on the device.
*Legacy Boot Mode
Unsupported method for booting alternate OSes (Linux, Windows) via the SeaBIOS RW_LEGACY firmware
Accessed via [CTRL+L] on the developer mode boot screen
Requires explicit enabling in Developer Mode via command line: sudo crossystem dev_boot_legacy=1
Most ChromeOS devices require a RW_LEGACY firmware update first
Boots to the (black) SeaBIOS splash screen; if multiple boot devices are available, prompt shows the boot menu
Note: If you hear two beeps after pressing [CTRL+L], then either your device doesn't have a valid Legacy Boot Mode / RW_LEGACY firmware installed, or legacy boot capability has not been been enabled via crossystem.
https://www.howtogeek.com/278953/how-to-install-windows-on-a-chromebook/
Chromebooks don’t officially support other OSs. You normally can’t even install as Chromebooks ship with a special type of BIOS designed for Chrome OS. But there are ways to install, if you’re willing to get your hands dirty and potentially ruin everything
[https://mrchromebox.tech/#devices Firmware Compatibility]
[https://wiki.galliumos.org/Hardware_Compatibility Here is the list of hardware that the GalliumOS supports and information on getting Gallium OS on to those devices]
Development on GalliumOS has been discontinued, and for most users, GalliumOS is not the best option for running Linux due to lack of hardware support or a kernel that's out of date and lacking important security fixes.
Meet Eupnea and Depthboot, the successors to Galliumos and Breath [https://eupnea-linux.github.io This is the bleeding edge]
Most older Chromebooks need the write-protect screw removed in order to install MrChromebox's firmware that allows you to install other operating systems. Most newer Chromebooks don't work in the same way as there is no write-protect screw on them.
Very rough guide to '''total''' (i.e. all cores / threads) processor performance (AROS usually uses only the [https://gmplib.org/gmpbench one core])
[[#top|...to the top]]
<pre>
060000 AMD Ryzen 9 7900X (AM5 170W),
056000 AMD Ryzen 9 5950X,
055000 AMD Ryzen 9 5900X3D,
053000 AMD Ryzen 9 5900X (AM4 105W), AMD Ryzen 9 3950X (105W),
044000 AMD Ryzen 7 5800X3D,
042000 AMD Ryzen 9 6900HX, AMD Ryzen 5 5600X3D (AM4 95W), AMD Ryzen 7 PRO 5750GE (AM4 35W),
039000 AMD Ryzen 9 5900HS, Intel Core i7-12700T, AMD Ryzen 7 7735HS (8c16t 45W), AMD 8840U,
038000 AMD Ryzen 7 5800H (FP6 45W), AMD Ryzen 7 6800U, Intel Core i5-12490F, Intel Core i5-12500E,
037000 AMD Ryzen 7 5800HS (FP6 35W), AMD Ryzen 5 8500G 8600GE (AM5 6c12t 35W), AMD Ryzen Z2 (8c16t),
036500 AMD Ryzen 7 5700G (AM4 8c16t 65W), AMD Ryzen 9 6900HS, Intel Core i7-12800H,
036200 AMD Ryzen 7 5700GE (AM4 8c16t 35W), AMD Ryzen Z1 Extreme (top TDP), AMD Ryzen 5 8600G (AM5 65W),
036000 AMD Ryzen 5 3600X (Am4 95W), AMD Ryzen 5 5500 (AM4 65W), AMD Ryzen 5 5600 (65W),
035000 AMD Ryzen 5 6600H, Intel Core i5-12400F,
031000 AMD Ryzen™ 9 8945HS, Ryzen™ 7 8845HS, AMD Ryzen 7 7840U,
030000 AMD Ryzen 7 4800U, AMD Ryzen 4800H, Intel Core i5-11400F, Intel Zeon E5-2697A V4,
029500 AMD Ryzen 5 4500 (AM4 65W), AMD Ryzen 5 3600 (65W), Apple M3 Pro 12c,
029000 AMD Ryzen 5 4600G (AM4 65W), AMD Ryzen 5 PRO 4650GE (AM4 35W), AMD Ryzen 7 PRO 1700X (AM4 95W),
028500 AMD Ryzen 5 PRO 5675U, AMD Ryzen 7 1700 (AM4 65W), AMD Ryzen 7 2700 (65W), Ryzen 3 7540U,
028000 AMD Ryzen 5 PRO 5650U, 5 5560U (FP6 25W 6c12t Zen3), Intel Core i5-13500H, AMD Ryzen 7 4800HS,
027700 AMD Ryzen 9 PRO 7940HS (FP8 65W), AMD 8745HS, AMD Ryzen H255 AI, AMD Ryzen 3 7545U,
027500 AMD Ryzen 3 7736U, AMD Ryzen 5 7640U,
027400 AMD Ryzen 5 8540U, AMD Ryzen 5 PRO 5650GE (AM4 6c12t 35W), AMD Ryzen 5 PRO 4650G (AM4 45W),
027300 AMD Ryzen 7 PRO 4750GE, AMD Ryzen 5 5600H, AMD Ryzen 7 5825U (FP6 8c16t 15W),
027200 AMD Ryzen 5 6600U, AMD Ryzen 7 2700X, AMD Ryzen 5 5600GE (AM4 35W), AMD Ryzen Z1,
027100 AMD Ryzen 7 7730U (FP6 15W 8c16t), AMD Ryzen 7 5800U (FP6 25W 8c16t), Ryzen 9 4900H,
027000 AMD Ryzen 7 PRO 4750U (8c16t), Ryzen 5 7430U (FP6 6c12t), Ryzen 5 PRO 6650U, Intel 10500H,
026500 AMD Ryzen 7 PRO 7840HS (FP7 65W), AMD Ryzen 7 8840HS, AMD Ryzen Z2 Extreme,
025000 AMD Ryzen 5 5600U (FP6 25W hot 6c12t Zen3), AMD Ryzen 5 2600 (65W), Ryzen 5 7530U,
024500 AMD Ryzen 5 4600HS (FP6 35W 6c12t), Apple M1 Pro, AMD Ryzen 5 5625U (FP6 15W 6c12t),
023700 AMD Ryzen 3 PRO 5350GE (AM4 35W), AMD Ryzen 5 3500X (AM4 95W), Intel Core i7-9700,
023500 AMD Ryzen 5 1600X (95W), AMD Ryzen 3 5300GE (AM4 4c8t 35W), AMD Ryzen 7 5700U (FP6 25W 8c16t Zen2),
023200 AMD Ryzen 3 7330U (FP6 15W 4c8t), AMD Ryzen 7 4700U (FP6 25W 8c8t), AMD Ryzen 5 4400G,
023000 Intel Core i7-1255U, Intel Core i7 13700H, Ryzen 7640HS,
022000 AMD Ryzen Z2 Go (4c8t), AMD Ryzen 5 5500U (FP6 25W 6c12t Zen2), Snapdragon 8 Elite,
020500 AMD Ryzen 3 4300G (AM4 65W), AMD Ryzen 3 5450U 5425U, AMD Ryzen 5 PRO 4650U (6c12t),
019500 Intel Core i5-1135G7, AMD Ryzen 5 5500H, AMD Ryzen 5 4600U (FP6 25W 6c), AMD Ryzen 5 2600 (65W),
019250 Intel Core i5-1145G7,
019000 AMD Ryzen 5 3400G (AM4 65W), AMD Ryzen 5 2500X, AMD Ryzen 5 7520U, AMD Ryzen V3C18I (? 15W),
017750 AMD Ryzen 5 3400GE (AM4 35W), Intel Core i5-8400, AMD Ryzen 5 1500X (AM4 65W), Xbox One Series X,
017500 Intel Core i7-6700K, Intel i5-10400, AMD Ryzen 5 4500U (FP6 25W 6c6t), AMD Ryzen 3 5400U,
017000 AMD Ryzen 3 PRO 4350GE (AM4 35W), AMD Ryzen 3 5300U (FP6 25W 4c8t), Intel Core i5-11300H,
016500 AMD Ryzen 7 3750H, AMD Ryzen Embedded V1756B (FP5 45W), AMD Ryzen 3 PRO 4200GE, SD G3 Gen3,
016250 Intel Core i5-1035G7, intel core i5 7600 (4c4t 65W),
016000 AMD Ryzen 5 2400G (AM4 65W), AMD Ryzen 5 3550H, Ryzen 5 PRO 3350GE (4c 8t), Intel Core i5-8500T,
015500 AMD Ryzen Embedded R2544,
015000 AMD Ryzen 3 7320U, Ryzen 7 3700U, Ryzen 3200G (AM4 65W), Intel Core i7-8550U, Intel Core i5-1035G1,
014000 AMD Ryzen 5 2400GE (AM4 35W), Intel Core i7-6700T, AMD Ryzen 5 3550U,
013500 AMD Ryzen 5 3500U (FP5 15W 4c8t), AMD Ryzen 3 4300U, AMD Athlon Gold 4150GE, AMD Ryzen 5 3450U,
013250 AMD Ryzen 3 3200GE (AM4 45W), AMD Ryzen 3 1300X (65W), AMD Ryzen 3 2200G, Xbox One Series S,
013000 AMD Ryzen Embedded V1605B (FP5 25W), AMD Ryzen 2700U, AMD Ryzen R2514,
012500 AMD Ryzen 5 2500U (FP5 25W 4c8t), Intel Core i3-8300T, Intel Xeon X5680, Intel i3-1115G4 (2c4t),
012300 Intel Core i7-8565U, Intel Core i5-8350U, Intel Core i7-8700, Allwinner A733 (2 A76, 6 A55),
012200 ARM Cortex-X3 Prime Snapdragon SD8G2 Gen2 4nm 64-bit Kryo CPU, i5-8250U (4c8t),
012000 AMD Ryzen 3 2200GE, AMD Ryzen 3 1200 (65W), AMD Ryzen 5 3500C,
011500 AMD Ryzen 3 3300U, Intel Core i3-8100T, Intel Core i5-8265U, Intel i5-10210U, CORE i5-10310U,
010500 AMD Ryzen 3 2300U (FP5 25W 4c4t), Allwinner A527 (8 A55),
010300 Intel Core i7-3630QM, Intel Core i5-6600T, Intel Core i5-4670K,
010200 Intel Core i5-6440HQ, Intel Core i7-3610QM, Snapdragon SD865,
010000 AMD FX-8320E (AM3+ 125W 8c8t), Intel Core i5-7500T, Intel Core i5-4690,
009000 Spectrum Unisoc Tiger T7280 (T620), Cortex-X2, MediaTek Dimensity 1300 (4 A78, 4 A55),
008700 AMD FX-6130 (AM3+ 90W 6c6t), Intel Core i5-7400T, Intel Core i5-4590T,
008500 Intel Core i5-6500T, AMD Athlon 300GE (AM4, 35W), AMD Athlon Gold 7220U,
008000 AMD Ryzen R1606G (FP5 15W), AMD FX-6300 (AM3 65W 6c6t), Intel Core i5-2500K,
007500 AMD Ryzen 3 3200U, AMD Ryzen 3 3250U, Intel Alderlake ULX N100 / N95,
007200 AMD Ryzen 3 2200U (FP5 25W 2c4t), Intel Core i3-7100T, Intel Twinlakes N150 N200, Xbox(TM) One S,
007100 AMD Ryzen R1505G (FP5, 15W), RK3576 4 A72, 4 A53, Snapdragon XR2 Gen 1, Intel i7-6600U and 7600U,
006600 Qualcomm Snapdragon 888 5G, AMD Athlon 300U (FP5 2c4t 15W), Intel Core i7-7500U, AMD V1202B,
006500 Intel Core i7-6500U, AMD Athlon Gold 3150U, Intel Celeron N5105 (FCBGA1338 15W), SD 685,
006300 Intel Core i3-8130U (15W), Intel Celeron N5095 (FCBGA1338 15W), Intel Core i3-6100T,
006100 Intel Core i5-6300U, Intel Core i5-7200U (2c4t), Intel i7-5500U, Intel Core i7-6600U (2c4t),
006000 Intel Core i5-6200U (2c4t), Intel Core i3-7130U, Intel i7-4500U, Qualcomm Snapdragon 888 4G,
005950 Intel Core i5-4570T, Intel Core i5-5257U, Rockchip RK3588 (4 A76, 4 A55), Snapdragon 7325,
005900 Intel Xeon X5550, Intel Core i5-4300M, MediaTek Dimensity 1200 (4 A78, 4 A55), Unisoc 7255 (T616),
005800 Intel Celeron J4125 J4105 (FCBGA1090 15W), Intel Core i5-3470T, AMD A8-6600K APU, AMD 3015E (2c4t),
005600 Intel Core i5-3360M, Intel Core i7-3520M, Intel Core i5-4210M, Intel Pentium G4600T,
005400 MediaTek Dimensity 900 (2 A78, 6 A55), AMD Athlon Silver 7120U, Snapdragon 860,
005300 AMD PRO A12-9800B 7th Gen APU (FP4 15W), AMD FX-4300 4c4t, AMD Ryzen R1305G,
005250 Intel Core i5-3230M, AMD FX-7600P, Intel Pentium G4400, Unisoc T7200 (Unisoc T606 2 A76, 6 A55),
005200 AMD PRO A10-8770E, AMD A10-9700E, AMD PRO A10-9700B (FP4 15W), Intel Core i3-4130T,
005100 AMD RX-427BB (FP3 15W), AMD A10-9620P, AMD A12-9720P, Intel Core i3-8145U, AMD A12-9830B,
005050 AMD A8-5500 (FM2 65W), AMD A10 PRO-7800B APU, Intel Pentium Silver N5000, Intel Core i7-5500U,
005000 Intel Core i5-5300U, Intel Core i5-3320M (2c4t), Intel Core i5-5350U, Unisoc T618 (2 A73 6 A53),
004900 Intel Core i5-4300U, Intel Core i5-5200U, Intel Core i3-4100M, Snapdragon 662 (SM6115),
004860 Intel Core i7-2620M, Intel Core i7-2640M, AMD Athlon Silver 3050U 3050e, Intel i3-7020U,
004650 Intel Core i5-2520M (2c4t), Intel Core i5-3210M, AMD A10-9600P (FP4 4c 15W), Pentium 4415U,
004625 Intel Core i3-7100U (FCBGA1356 15W), ARM A76 RK3588S, AMD A10-6800B APU,
004600 AMD PRO A8-9600B, AMD PRO A12-8830B, AMD PRO A10-8730B, AMD A12-9700P, Intel Core i3-6100U,
004200 AMD A10-8700P A8-8600P, Intel Core i5-4200U, Intel Core i5-2540M, Intel i3-6006U, Intel i3-4150T,
004000 Intel Core i5-2430M, AMD PRO A8-8600B, AMD 3020e, Intel Core i3-5005U, Mediatek MT6797 Helio X20,
003850 Intel Core i5-2410M (2c4t), Intel Core i3-2120 (LGA1155 65W), Mediatek MT8786,
003800 AMD A10-4600M APU, AMD A10 PRO-7350B APU, AMD A10-5750M APU, Rockchip RK3399,
003600 AMD A8-6500T APU, AMD A8-7410 APU, AMD PRO A6-8550B, AMD A8-5550M (4c4t),
003500 AMD GX-424CC SOC (FT3b 25W 4c4t), ARM A75 Unisoc Tiger T610 (Spreadtrum) (8c 5W),
003400 AMD A10-7300 APU, AMD A6-7310 APU, AMD A8-6410, AMD A10-5745M APU, Intel Core i3-4000M,
003350 Intel Pentium G2020, Intel Core i3-3120M (G2 2c4t), AMD R-464L APU, Intel® Core m5-6Y57 (2c4t),
003300 AMD GX-420CA SOC (FT3 BGA769 25W), AMD A6-9500E, Intel Celeron N4200, AMD A6-5200 ( 25W 2c2t),
003200 AMD A6-6310 APU, AMD A6-6400B APU, AMD A6-8570E, AMD A8-4500M APU, AMD A6-7400K APU
003000 AMD A8-7150B, AMD A9-9410, A9-9420, A9-9425, AMD A6-8500B (FP4 15W), AMD A8-7100,
002900 AMD PRO A6-8530B, AMD A6-8500P, AMD A8-3500M APU, Intel Core i3-2120T,
002700 AMD Embedded GX-420GI (FP4 15W), AMD PRO A6-9500B, AMD GX-415GA, AMD A4-6210 APU,
002600 AMD A6-9225, AMD A8-4555M APU, AMD A4-5000 APU (FT3 15W), AMD A6-9220, AMD A6-3420M APU,
002450 Intel Celeron 2950M, Intel Pentium N3700, Intel Core i3-2350M, Allwinner A523 (8 A55),
002400 Intel Celeron N3150, Intel Core i3-2330M, Intel Xeon W3505, AMD A6-9210, Allwinner H618 (4 A53),
002300 Intel Celeron N3350, AMD A4-9120, AMD A4-9125, Intel Core i3-2310M, Intel Celeron 3865U,
002200 AMD A9-9420e, AMD A6-5350M APU, AMD E2-6110 APU, AMD E2-9000e, Celeron N4500, Intel N3710,
002000 AMD GX-412HC, AMD A4-4300M APU, AMD A6 PRO-7050B APU, AMD A6-4400M APU, AMD A6-7000,
001925 Intel Core2 Duo E6700, Intel Pentium Extreme Edition 965, Intel Core i3-370M, Celeron N4020,
001750 Intel Core i3-2365M 2375M, AMD A4-9120C, Intel Core2 Duo T8300, Qualcomm MSM8939,
001600 AMD GX-222GC (BGA769 FT3b 15W), AMD A4-9120e, AMD Embedded GX-215JJ, AMD A4-4355M APU,
001550 Intel Core2 Duo SL9400 T7600 T6600, AMD E2-3200, AMD A6-9220e, Mediatek MT8783, AMD E2-3800,
001500 AMD GX-218GL SOC, AMD A6-4455M, AMD A4-5150M APU, ARM A55 RK3566 (4c 3W), Intel Core2 Duo T8100,
001400 AMD GX-217GA SOC, ARM Cortex-A53 4c4t H700, AMD A4-3300M APU, Allwinner A133P A64 (4 A53),
001300 AMD Turion 64 X2 Mobile TL-64 TL-62, Intel Core2 Duo T7300, Intel Core2 Duo T5600, AMD RX-216TD,
001250 AMD GX-412TC SOC, AMD A4-3320M APU, AMD Athlon 64 X2 QL-66, Intel Core2 Duo T7200
001200 AMD Athlon 64 X2 2c TK-57, AMD Turion 64 X2 Mobile TL-60 RM-74, AMD E1-2500, AMD E2-7015,
001150 Intel Core2 Duo T5550, Intel Core2 Duo L7500, AMD E2-3000M APU, ARM A35 RK3266, AMD E2-7110,
001100 Intel Core2 Duo T5300, AMD Athlon 64 X2 3800, Intel Core2 Duo E4300, Mediatek MT8127,
001050 AMD E1-6010 APU, Intel Pentium T4300, Intel Celeron N2840,
001050 AMD Athlon 64 FX-57, AMD Athlon 64 X2 Dual-Core TK-55, AMD Turion 64 X2 Mobile TL-52
001000 Intel Core2 Duo T5500, Intel Core2 Duo L7300, Intel Core2 Duo SU9400,
000950 AMD G-T56N, AMD Athlon 64 3100+, AMD E2-2000 APU,
000950 AMD Turion 64 X2 Mobile TL-50, AMD E1-2200 APU, Intel Celeron U3400,
000925 AMD TurionX2 Dual Core Mobile RM-72, AMD Sempron 140
000920 Intel Celeron SU2300, Intel Core2 Duo T5200, AMD Turion 64 X2 Mobile TL-56
000890 AMD E2-1800 APU, AMD Turion 64 X2 Mobile TL-58
000880 AMD G-T56E, AMD G-T48E,
000860 AMD E-450 APU, AMD E-350 APU, AMD Athlon LE-1620
000820 AMD A4-1250 APU, AMD Athlon LE-1600,
000810 AMD E1-2100 APU, Intel Core Duo T2500,
000810 Intel Atom D510, Intel Core2 Duo U7500,
000800 AMD Geode NX 2400+, AMD Turion 64 Mobile ML-42, AMD Athlon II Neo K325,
000760 AMD V140, AMD E1-1200 APU, AMD Athlon 64 3300+,
000730 Intel Core Duo T2400, AMD Turion 64 Mobile MK-38, AMD Sempron 3600+,
000700 Intel Core2 Duo U7600 U7700, AMD Sempron LE-1200, AMD V120
000680 AMD GX-212JC SOC, AMD E-300 APU, AMD A4-1200 APU,
000670 AMD Turion 64 Mobile MK-36 ML-37 ML-40, Mobile AMD Sempron 3800+
000640 Intel Atom N2600, Intel Atom N570, Mobile AMD Athlon 64 3200+
000640 Intel Core Duo T2300, Intel Core Duo T2050,
000630 VIA Eden X2 U4200, AMD Sempron LE-1100, AMD Sempron 3100+ 3600+,
000620 AMD C-70 C70 APU, Intel Atom 330, AMD G-T40N, AMD Athlon Neo MV-40,
000610 Intel Core2 Duo U7300, AMD Athlon II Neo K125 K145,
000600 Intel Atom N550, Intel Pentium 4, AMD Athlon 64 2800+,
000580 AMD C-60 C60, AMD G-T40E, AMD Sempron LE-1250
000530 AMD C-50 C50, Intel Celeron M 723, AMD Sempron 210U,
000490 AMD GX-210JA SOC, PowerPC 970 G5 IBM's 970 server CPU (2c),
000470 Mobile AMD Sempron 3500+, Mobile AMD Athlon XP-M 2200+,
000460 AMD Athlon XP 2500+, AMD Sempron 3500+, Mobile Intel Pentium 4,
000440 Intel Atom D425, Intel Atom N470, POWER 4 PPC,
000410 Intel Pentium M, Intel Celeron M, AMD Sempron 2300+
000400 Intel Atom N450, AMD Sempron 2400+,
000340 Intel Atom D410, AMD G-T52R, AMD C-30, AMD Sempron 2200+
000330 Intel Atom N455, Intel Atom N280, Intel Atom N270 (1c1t 2W), Intel P3,
000320 Freescale NXP QorIQ P1022
000310 PowerPC G4 7447 1Ghz (1c1t 15W), PPC440 core,
000230 PowerPC PPC G3/PPC 750,
000160 Pentium II, Motorola 68060
000080 Intel 80486, Motorola 68030,
000040 Intel 80386,
000030 Motorola 68020
000008 Motorola 68000
</pre>
=== Recommended hardware (32-bit) ===
[[#top|...to the top]]
Recommended hardware is hardware that has been tested with latest release of AROS and is relatively easy to purchase second hand (ie. ebay). This hardware also comes with commitment that compatibility will be maintained with each future release.
If in future decision will be made to drop any of the recommended hardware from the list (for example due to it no longer being available for purchase), such hardware will move to list of legacy supported systems and will have an indicated end of life date so that users have time to switch to other hardware.
{| class="wikitable sortable" width="100%"
| <!--OK-->{{Yes|'''Works well'''}} || <!--Not working-->{{No|'''Does not work'''}} || <!--Not applicable-->{{N/A|'''N/A not applicable'''}}
|-
|}
==== Virtual Hardware ====
{| class="wikitable" width="100%"
! width="20%" |Name
! width="5%" |Storage
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |Ethernet
! width="5%" |Wireless
! width="10%" |Additional hardware
! width="45%" |Comments
|-
| VirtualBox 7.x (Other/Unknown template) || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VMWARESVGA}} || {{Yes|HDAudio}} || {{Yes|PCNET32<br/>E1000}} || NOT APPLICABLE || NOT APPLICABLE || <!--Comments-->
|-
| VMware 16+ (Other32 template) || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VMWARESVGA}} || {{Yes|SB128}} || {{Yes|PCNET32}} || NOT APPLICABLE || NOT APPLICABLE || <!--Comments-->
|-
| QEMU 8.x ("pc" and "q35" machines) || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VESA}} || {{Yes|SB128}} || {{Yes|PCNET32}} || NOT APPLICABLE || NOT APPLICABLE || <!--Comments-->
|-
|}
==== Laptops ====
{| class="wikitable" width="100%"
! width="20%" |Name
! width="5%" |Storage
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |Ethernet
! width="5%" |Wireless
! width="10%" |Additional hardware
! width="45%" |Comments
|-
| ACER Aspire One ZG5 || {{Yes|IDE<br/>SATA(IDE)}} || {{Yes|GMA}} || {{Yes|HDAudio}} || {{Yes|RTL8169}} || {{Yes|ATHEROS}} || NOT APPLICABLE || <!--Comments-->
|-
| Dell Latitude D520 || {{Yes|IDE}} || {{Yes|GMA}} || {{Yes|HDAudio}} || {{Yes|BCM4400}} || {{No|}} || {{Yes|Atheros AR5BXB63}} || * select Intel Core 2 64-bit version, not Celeron 32-bit version <br/> * replace WiFi card to get wireless working
|-
|}
==== Desktop Systems ====
{| class="wikitable" width="100%"
! width="20%" |Name
! width="5%" |Storage
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |Ethernet
! width="5%" |Wireless
! width="10%" |Additional hardware
! width="45%" |Comments
|-
| Fujitsu Futro S720 || {{Yes|SATA(AHCI)}} || {{Yes|VESA}} || {{Yes|HDAudio}} || {{Yes|RTL8169}} || NOT APPLICABLE || NOT APPLICABLE || * no 2D/3D acceleration<br/> * use USB ports at back
|-
|}
==== Motherboards ====
{| class="wikitable" width="100%"
! width="20%" |Name
! width="5%" |Storage
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |Ethernet
! width="5%" |Wireless
! width="10%" |Additional hardware
! width="45%" |Comments
|-
| ASUS P8Z68V LX || {{Yes|SATA(AHCI)}} || {{Yes|VESA}} || {{Yes|HDAudio}}|| {{Yes|RTL8169}} || NOT APPLICABLE || {{Yes|GeForce 8xxx/9xxx}} || * add external PCIe video card for better performance
|-
| Gigabyte GA-MA770T UD3/UD3P || {{Yes|IDE<br/>SATA(AHCI)}} || NOT APPLICABLE || {{Yes|HDAudio}}|| {{Yes|RTL8169}} || NOT APPLICABLE || {{Yes|GeForce 8xxx/9xxx}} || * requires external PCIe video card
|-
| ASUS M2N68-AM SE2 || {{Yes|IDE}} || {{Yes|NVIDIA}} || {{Yes|HDAudio}}|| {{Yes|NVNET}} || NOT APPLICABLE || {{Yes|GeForce 8xxx/9xxx}} || * connecting a disk via SATA connector is not supported at this time <br/> * add external PCIe video card for better performance
|-
| Gigabyte GA-H55M-S2H || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VESA}} || {{Yes|HDAudio}}|| {{Yes|RTL8169}} || NOT APPLICABLE || {{Yes|GeForce 8xxx/9xxx}} || * add external PCIe video card for better performance
|-
|}
==== Legacy supported hardware ====
{| class="wikitable" width="100%"
! width="20%" |Name
! width="5%" |Storage
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |Ethernet
! width="5%" |Wireless
! width="10%" |Additional hardware
! width="10%" |EOL
! width="35%" |Comments
|-
| iMica || {{Yes|IDE}} || {{Yes|GMA}} || {{Yes|HDAudio}}|| {{Yes|RTL8169}} || NOT APPLICABLE || NOT APPLICABLE || 2026-12-31 ||
|-
| Gigabyte GA-MA770 UD3 || {{Yes|IDE<br/>SATA(IDE)}} || NOT APPLICABLE || {{Yes|HDAudio}}|| {{Yes|RTL8169}} || NOT APPLICABLE || {{Yes|GeForce 8xxx/9xxx}} || 2026-12-31 || * requires external PCIe video card
|-
|}
=== Recommended hardware (64-bit) ===
[[#top|...to the top]]
Recommended hardware is hardware that has been tested with latest release of AROS and is relatively easy to purchase second hand (ie. ebay). This hardware also comes with commitment that compatibility will be maintained with each future release.
==== Virtual Hardware ====
{| class="wikitable" width="100%"
! width="20%" |Name
! width="5%" |Storage
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |Ethernet
! width="5%" |Wireless
! width="10%" |Additional hardware
! width="45%" |Comments
|-
| VirtualBox 7.x (Other/Unknown (64-bit) template) || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VMWARESVGA}} || {{Yes|HDAudio}} || {{Yes|PCNET32<br/>E1000}} || NOT APPLICABLE || NOT APPLICABLE || * No accelerated 3D support
|-
| VMware 16+ (Other64 template) || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VMWARESVGA}} || {{Yes|SB128}} || {{Yes|E1000}} || NOT APPLICABLE || NOT APPLICABLE || * No accelerated 3D support
|-
| QEMU 8.x ("pc" and "q35" machines) || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VESA}} || {{Yes|SB128}} || {{Yes|PCNET32}} || NOT APPLICABLE || NOT APPLICABLE || * No accelerated 3D support
|-
|}
==== Motherboards ====
{| class="wikitable" width="100%"
! width="20%" |Name
! width="5%" |Storage
! width="5%" |Gfx
! width="5%" |Audio
! width="5%" |Ethernet
! width="5%" |Wireless
! width="10%" |Additional hardware
! width="45%" |Comments
|-
| ASUS P8Z68V LX || {{Yes|SATA(AHCI)}} || {{Yes|VESA}} || {{Yes|HDAudio}}|| {{Yes|RTL8169}} || NOT APPLICABLE || NOT APPLICABLE || * No accelerated 3D support
|-
|}
==References==
[[#top|...to the top]]
{{reflist}}
{{BookCat}}
4875oe9pn78cd6bjngl0uivdgc0720k
Costume History/Medieval
0
252509
4639964
4638761
2026-06-11T23:57:10Z
~2026-32776-37
3600003
ass
4639964
wikitext
text/x-wiki
{{TOCright}}
==Medieval Costumes==
===Background===
===67 my ass===
Gothic style peaked in the period between the 10th - 11th centuries and the 14th century. At the beginning dress was heavily influenced by the Byzantine culture in the east. However, due to the slow communication channels, styles in the west could lag behind by 25 to 30 year. towards the end of the Middle Ages western Europe began to develop their own style. one of the biggest developments of the time as a result of the crusades people began to use buttons to fasten clothing. Another addition to the clothing world that is credited to the Middle Ages is the development of the tailor. Clothing construction, which had previously been a woman's job was becoming more and more dominant by men. The Middle Ages also saw the birth of individual clothing style, the more wealthy began to wear clothing with individualized patterns and crests that represented their family. (WHY) Soldiers in battle would often have their family crest on their helmets or shields so they could be identified in battle ( possibly because the armor shielding them made them anonymous, they wanted their deeds and their bodies to be identifiable, this was also the time of knights who would want to gain respect from valiant battles.)
Most people however, it seems did not wear elaborate costumes on a day to day basis. People wore cloths that were functional and protected them from the sometimes harsh climate. in fact, until the 14th century people of all classes tended to wear very similar clothing. Royalty or nobles would have ceremonial garb for special occasions but would not wear this day to day. both men and women of all classes wore pretty much the same thing in summer and in winter. They typically wore long flowing cloths. They were completely covered ( Christian influence no doubt). And as in Bysintine it was the choice of fabric used to make the cloths that distinguished social class. Both sexes wore a long cloak as an outer garment. Both sexes wore an under tunic and a short over tunic that was belted at the waist (believed to be the origin for the modern skirt or blouse)The rich wore cloaks lined with fur, silk, or gold cloth. Peasants and lower class often wore shorter garments or breeches to ease movement while they worked and people who belonged to guilds would sometimes wear garments or emblems that advertised their trade.
===Vocabulary===
'''Blaiud''' - long sleeve tunic - at the beginning went to the knees for men and feet for women. Slowly the Blaiud lengthened to the ankles for men and then shortened again by the end of the Middle Ages.
'''Pallium''' - A cloak fastened at the front by a large broach(Frodo Baggins style!)
'''Chainse''' - under tunic - made of wool, linen, hemp, or silk and fastened at the neck and wrists by buttons ( a result of the crusades) or tied with tassels. Later it became a piece of lingerie - was made sheer and decorated with lace on the colar and neck. Hot right?
'''Ermine'''- Type of fur that lined garments. - made from a weasle- type creature.
'''Miniver or Menu vair''' - another fur - gray and white - small skins made from a Russian or Siberian squirrel.
'''Mantle'''- type of cape or cloak - loose - draped over the head 9 Madonna and child paintings).
'''Chaperon'''- hood - always had a point.
'''Liripipe''' - the point on the Chaperon. Varied in length.
===Men===
Men's cloths of the time were defined by class and trade. Typical pieces in the 13th and 14th centuries included a long sleeve tunic that hung to the knees, worn under a loose gown with wide sleeves that could be belted. they also wore over this and ankle length and sleeveless garment that hung loose around the body called a '''surcote'''.
other garments included the '''ganache''' - loosely fitting with a slit in the sides from shoulder to hip. and the '''berigault''' which was a cloak-gown.
===Women===
Women began by wearing the same style clothing as the men gradually manipulating them to suit the female form. Wealthier women wore more elaborate clothing. dresses that were long and dragged on the ground. skirts drug on the floor and were made of heavy fabrics ( ''probably to show off their wealth like weight and skin color in other periods''). Waits became higher and higher and settles right underneath the chest where there would be an elaborate belt that accentuated that area of the body. sleeves were either fitted or would be very large and some would reach all the way to the ground.
In the years where the black death threatened western Europe clothing became more flamboyant. one source claims this to be a typical result when faced by a political or social disaster and compares it to the oil crisis and the immersion of disco in the 1970's. Hemlines rose, necklines dropped, and cloths became more fitted and elaborate and would have a jagged edge, a technique called '''slittering.'''
By the end of the Middle Ages however, women's cloths returned to being more modest and became absolutely about function. Skirts no longer drug on the ground and sleeves only went to the elbow.
'''Fabric:'''The most popular fabric for clothing at this time was wool. By the 15th century there were looms created for the sole purpose of weaving wool. Other fabrics that were used depending on class were linen, various types of fur, and sometimes silks.
'''Fun fact:''' garments and various household items and tools were stored in oak chests - these were very functional and could double as luggage for wealthy people.
'''Jewelry:'''My research on this subject was limited - one source devoted a paragraph to it that merely said it was made of gold and could not compare in the slightest to Byzantine jewelry and so was not really worth talking about.
'''Footwear:''' The pointed toe was introduced in the medieval period. these shoes were called '''poulaine'''. The point of a show was originally seen as a status symbol - The points grew longer and longer until they reached about 18inch in length. Eventually, they assigned lengths based on classes - commoners with the shortest and so on.
''Using clothing to distinguish status in this way I think probably had a lot to so with how people of the time viewed the world - the feudal system is part of this. It is easier to label people in a category by looking at them and what they are wearing so having these indicators would help. I feel as though status had a more strict structure in this time and a set code of behavior so in order to achieve this more efficiently - displaying your status in your cloths would be a must (like getting pinned in the 50's)''
'''Head dresses:''' as the Middle Ages drug on head dresses became more popular and people began experimenting with the shapes and styles. many head dresses would be combined with a hood, veil, mantle or some other adornment that protected the head from the elements or draped in a way that framed the face.
in the 13th century women began to wear '''crespine''' or hair nets.
Shapes of women's hats of the time included heart-shaped, horn shaped, and conical head dressed. These con-like hats grew in length based on the status of the woman who wore it. One source claimed that there is evidence of it having reached four ft. in length.
'''Good to know:''' France became the center of fashion in the middle of the Middle Ages - France has a more stable economy and monarchical system in place and were able to devote their time to fashion. As a result, French people of the time wore more elaborate costumes often lined and adorned with expensive furs, silks, and embroidery.
== Gallery ==
=== French ===
<gallery mode="packed" heights="300px">
File:A.D. 400-600, Franks - 025 - Costumes of All Nations (1882).JPG|Franks - 400-600
File:A.D. 700-800, Franks - 026 - Costumes of All Nations (1882).JPG|Franks - 700-800
File:A.D. 800, Franks - 027 - Costumes of All Nations (1882).JPG|Franks - 800
File:A.D. 900, French - 029 - Costumes of All Nations (1882).JPG|French - 900
File:1100, French - 034 - Costumes of All Nations (1882).JPG|French - 1100
File:1100, French. - 031 - Costumes of All Nations (1882).jpg|French - 1100
File:1200, French. - 039 - Costumes of All Nations (1882).JPG|French - 1200
File:1300, French. - 046 - Costumes of All Nations (1882).JPG|French - 1300
File:1300, French. - 048 - Costumes of All Nations (1882).JPG|French - 1300
File:1400, French. - 055 - Costumes of All Nations (1882).JPG|French - 1400
File:1400, French. - 056 - Costumes of All Nations (1882).JPG|French - 1400
File:1000-1100, Norman. - 033 - Costumes of All Nations (1882).JPG|Norman - 1000-1100
File:Frères Limbourg - Très Riches Heures du duc de Berry - mois de mai - Google Art Project cropped.jpg|Artwork from ''Très Riches Heures du Duc de Berry'', depicting wealthy people in May.
</gallery>
=== Italian ===
<gallery mode="packed" heights="300px">
File:1200, Italian. - 037 - Costumes of All Nations (1882).JPG|Italian - 1200
File:1300, Italian. - 043 - Costumes of All Nations (1882).JPG|Italian - 1300
File:1300, Italian. - 042 - Costumes of All Nations (1882).JPG|Italian - 1300
File:1400, Italian. - 058 - Costumes of All Nations (1882).JPG|Italian - 1400
File:1400, Italian. - 057 - Costumes of All Nations (1882).JPG|Italian - 1400
File:1500, Italian. - 077 - Costumes of All Nations (1882).JPG|Italian - 1500
</gallery>
=== German ===
<gallery mode="packed" heights="300px">
File:A.D. 1000-1100, German - 030 - Costumes of All Nations (1882).JPG|German - 1000-1100
File:1100, German. - 032 - Costumes of All Nations (1882).JPG|German - 1100
File:1200, German. - 036 - Costumes of All Nations (1882).JPG|German - 1200
File:1300-1350, German. - 044 - Costumes of All Nations (1882).JPG|German - 1300-1350
File:1350- 1400, German. - 045 - Costumes of All Nations (1882).JPG|German - 1350-1400
File:1400-1450, German. - 049 - Costumes of All Nations (1882).JPG|German - 1400-1450
File:1450-1500, German - 052 - Costumes of All Nations (1882).JPG|German - 1450-1500
File:1450-1500, German. - 050 - Costumes of All Nations (1882).JPG|German - 1450-1500
File:1450-1500, German. - 051 - Costumes of All Nations (1882).JPG|German - 1450-1500
File:A German student in the 14th century.jpg|14th century Germanic student.
</gallery>
=== English ===
<gallery mode="packed" heights="300px">
File:A.D. 500-1000, Anglo-Saxons - 022 - Costumes of All Nations (1882).JPG|Anglo-Saxons - 500-1000
File:1200, English - 038 - Costumes of All Nations (1882).JPG|English - 1200
File:1300-1400, English. - 047 - Costumes of All Nations (1882).JPG|English - 1300-1400
File:1400-1450, English - 053 - Costumes of All Nations (1882).JPG|English - 1400-1450
File:1450-1500, English - 054 - Costumes of All Nations (1882).JPG|English - 1450-1500
</gallery>
=== Spanish ===
<gallery mode="packed" heights="300px">
File:1300, Spanish, Moorish. - 041 - Costumes of All Nations (1882).JPG|Spanish & Moorish - 1300
File:1400, Spanish. - 059 - Costumes of All Nations (1882).JPG|Spanish - 1400
</gallery>
=== Slavonic ===
<gallery mode="packed" heights="300px">
File:1400, Slavonic. - 060 - Costumes of All Nations (1882).JPG|Slavonic - 1400
</gallery>
=== Other ===
<gallery mode="packed" heights="300px">
File:Lothar I.jpg|King Lothar I of the Carolingian Empire.
File:Middle Ages, Misc. - 028 - Costumes of All Nations (1882).JPG|thumb|center|Miscellaneous items.
</gallery>
==Resources==
* Cosgrave, Bronwyn.'' The complete history of costume and fashion'' New York; Octopus publishing group, 2000.
{{BookCat}}
eh1vjknzqbj0pa2z8lgkimg58n09dv9
4639988
4639964
2026-06-12T02:37:12Z
Codename Noreste
3441010
[[WB:REVERT|Reverted]] edit by [[Special:Contributions/~2026-32776-37|~2026-32776-37]] ([[User talk:~2026-32776-37|talk]]) to last version by Tenshi Hinanawi
4638613
wikitext
text/x-wiki
{{TOCright}}
==Medieval Costumes==
===Background===
The exact dates of the fall of Rome are heavily debated by historians. Many place it at about 476 A.D. The Empire of Rome had been invaded by many Germanic or northern cultures including, Visigoths, Vandals, Ostrogoths, Huns, Angles, Saxons, Jutes and Franks. During these invasions many shipping and highway networks that had allowed for communication and trade between the eastern and western parts of the Empire where destroyed, dividing and segregating it. As a result of this division the artistic and cultural life of Rome was wiped out and replaced by the cultures of these waring tribes. The only unity between these provinces existed solely in the Christian church.
This period is known as the Middle Ages or the Dark Ages. Life in the Middle Ages, even for the nobles, was tough. Food was not good, disease spread, there were no efficient and clean ways of heating homes. Towards the beginning of the Middle Ages the feudal system was developed which was a hierarchy of classes that formed a social structure. In the 11th century a cultural revolution began as a result of the Carolingian Dynasty (771-987) beginning with Charlemagne. Communication avenues opened and became more efficient, an emphasis was again placed on art and culture, and national monarchies were forming in France, England, and Spain; a more modern Europe was developing. There was a general increase in prosperity during this time. However it was still not a great time - The black death reigned for two years in this period wiping out a third of the population in western Europe. Also the crusades were underway in this time period and as a result there was a lot of eastern influence that was brought back and integrated into western culture. The church and state were working together. The 13th century witnessed an emergence of a middle class - trades and guilds developed (like modern day unions in some ways).
===Costume===
Gothic style peaked in the period between the 10th - 11th centuries and the 14th century. At the beginning dress was heavily influenced by the Byzantine culture in the east. However, due to the slow communication channels, styles in the west could lag behind by 25 to 30 year. towards the end of the Middle Ages western Europe began to develop their own style. one of the biggest developments of the time as a result of the crusades people began to use buttons to fasten clothing. Another addition to the clothing world that is credited to the Middle Ages is the development of the tailor. Clothing construction, which had previously been a woman's job was becoming more and more dominant by men. The Middle Ages also saw the birth of individual clothing style, the more wealthy began to wear clothing with individualized patterns and crests that represented their family. (WHY) Soldiers in battle would often have their family crest on their helmets or shields so they could be identified in battle ( possibly because the armor shielding them made them anonymous, they wanted their deeds and their bodies to be identifiable, this was also the time of knights who would want to gain respect from valiant battles.)
Most people however, it seems did not wear elaborate costumes on a day to day basis. People wore cloths that were functional and protected them from the sometimes harsh climate. in fact, until the 14th century people of all classes tended to wear very similar clothing. Royalty or nobles would have ceremonial garb for special occasions but would not wear this day to day. both men and women of all classes wore pretty much the same thing in summer and in winter. They typically wore long flowing cloths. They were completely covered ( Christian influence no doubt). And as in Bysintine it was the choice of fabric used to make the cloths that distinguished social class. Both sexes wore a long cloak as an outer garment. Both sexes wore an under tunic and a short over tunic that was belted at the waist (believed to be the origin for the modern skirt or blouse)The rich wore cloaks lined with fur, silk, or gold cloth. Peasants and lower class often wore shorter garments or breeches to ease movement while they worked and people who belonged to guilds would sometimes wear garments or emblems that advertised their trade.
===Vocabulary===
'''Blaiud''' - long sleeve tunic - at the beginning went to the knees for men and feet for women. Slowly the Blaiud lengthened to the ankles for men and then shortened again by the end of the Middle Ages.
'''Pallium''' - A cloak fastened at the front by a large broach(Frodo Baggins style!)
'''Chainse''' - under tunic - made of wool, linen, hemp, or silk and fastened at the neck and wrists by buttons ( a result of the crusades) or tied with tassels. Later it became a piece of lingerie - was made sheer and decorated with lace on the colar and neck. Hot right?
'''Ermine'''- Type of fur that lined garments. - made from a weasle- type creature.
'''Miniver or Menu vair''' - another fur - gray and white - small skins made from a Russian or Siberian squirrel.
'''Mantle'''- type of cape or cloak - loose - draped over the head 9 Madonna and child paintings).
'''Chaperon'''- hood - always had a point.
'''Liripipe''' - the point on the Chaperon. Varied in length.
===Men===
Men's cloths of the time were defined by class and trade. Typical pieces in the 13th and 14th centuries included a long sleeve tunic that hung to the knees, worn under a loose gown with wide sleeves that could be belted. they also wore over this and ankle length and sleeveless garment that hung loose around the body called a '''surcote'''.
other garments included the '''ganache''' - loosely fitting with a slit in the sides from shoulder to hip. and the '''berigault''' which was a cloak-gown.
===Women===
Women began by wearing the same style clothing as the men gradually manipulating them to suit the female form. Wealthier women wore more elaborate clothing. dresses that were long and dragged on the ground. skirts drug on the floor and were made of heavy fabrics ( ''probably to show off their wealth like weight and skin color in other periods''). Waits became higher and higher and settles right underneath the chest where there would be an elaborate belt that accentuated that area of the body. sleeves were either fitted or would be very large and some would reach all the way to the ground.
In the years where the black death threatened western Europe clothing became more flamboyant. one source claims this to be a typical result when faced by a political or social disaster and compares it to the oil crisis and the immersion of disco in the 1970's. Hemlines rose, necklines dropped, and cloths became more fitted and elaborate and would have a jagged edge, a technique called '''slittering.'''
By the end of the Middle Ages however, women's cloths returned to being more modest and became absolutely about function. Skirts no longer drug on the ground and sleeves only went to the elbow.
'''Fabric:'''The most popular fabric for clothing at this time was wool. By the 15th century there were looms created for the sole purpose of weaving wool. Other fabrics that were used depending on class were linen, various types of fur, and sometimes silks.
'''Fun fact:''' garments and various household items and tools were stored in oak chests - these were very functional and could double as luggage for wealthy people.
'''Jewelry:'''My research on this subject was limited - one source devoted a paragraph to it that merely said it was made of gold and could not compare in the slightest to Byzantine jewelry and so was not really worth talking about.
'''Footwear:''' The pointed toe was introduced in the medieval period. these shoes were called '''poulaine'''. The point of a show was originally seen as a status symbol - The points grew longer and longer until they reached about 18inch in length. Eventually, they assigned lengths based on classes - commoners with the shortest and so on.
''Using clothing to distinguish status in this way I think probably had a lot to so with how people of the time viewed the world - the feudal system is part of this. It is easier to label people in a category by looking at them and what they are wearing so having these indicators would help. I feel as though status had a more strict structure in this time and a set code of behavior so in order to achieve this more efficiently - displaying your status in your cloths would be a must (like getting pinned in the 50's)''
'''Head dresses:''' as the Middle Ages drug on head dresses became more popular and people began experimenting with the shapes and styles. many head dresses would be combined with a hood, veil, mantle or some other adornment that protected the head from the elements or draped in a way that framed the face.
in the 13th century women began to wear '''crespine''' or hair nets.
Shapes of women's hats of the time included heart-shaped, horn shaped, and conical head dressed. These con-like hats grew in length based on the status of the woman who wore it. One source claimed that there is evidence of it having reached four ft. in length.
'''Good to know:''' France became the center of fashion in the middle of the Middle Ages - France has a more stable economy and monarchical system in place and were able to devote their time to fashion. As a result, French people of the time wore more elaborate costumes often lined and adorned with expensive furs, silks, and embroidery.
== Gallery ==
=== French ===
<gallery mode="packed" heights="300px">
File:A.D. 400-600, Franks - 025 - Costumes of All Nations (1882).JPG|Franks - 400-600
File:A.D. 700-800, Franks - 026 - Costumes of All Nations (1882).JPG|Franks - 700-800
File:A.D. 800, Franks - 027 - Costumes of All Nations (1882).JPG|Franks - 800
File:A.D. 900, French - 029 - Costumes of All Nations (1882).JPG|French - 900
File:1100, French - 034 - Costumes of All Nations (1882).JPG|French - 1100
File:1100, French. - 031 - Costumes of All Nations (1882).jpg|French - 1100
File:1200, French. - 039 - Costumes of All Nations (1882).JPG|French - 1200
File:1300, French. - 046 - Costumes of All Nations (1882).JPG|French - 1300
File:1300, French. - 048 - Costumes of All Nations (1882).JPG|French - 1300
File:1400, French. - 055 - Costumes of All Nations (1882).JPG|French - 1400
File:1400, French. - 056 - Costumes of All Nations (1882).JPG|French - 1400
File:1000-1100, Norman. - 033 - Costumes of All Nations (1882).JPG|Norman - 1000-1100
File:Frères Limbourg - Très Riches Heures du duc de Berry - mois de mai - Google Art Project cropped.jpg|Artwork from ''Très Riches Heures du Duc de Berry'', depicting wealthy people in May.
</gallery>
=== Italian ===
<gallery mode="packed" heights="300px">
File:1200, Italian. - 037 - Costumes of All Nations (1882).JPG|Italian - 1200
File:1300, Italian. - 043 - Costumes of All Nations (1882).JPG|Italian - 1300
File:1300, Italian. - 042 - Costumes of All Nations (1882).JPG|Italian - 1300
File:1400, Italian. - 058 - Costumes of All Nations (1882).JPG|Italian - 1400
File:1400, Italian. - 057 - Costumes of All Nations (1882).JPG|Italian - 1400
File:1500, Italian. - 077 - Costumes of All Nations (1882).JPG|Italian - 1500
</gallery>
=== German ===
<gallery mode="packed" heights="300px">
File:A.D. 1000-1100, German - 030 - Costumes of All Nations (1882).JPG|German - 1000-1100
File:1100, German. - 032 - Costumes of All Nations (1882).JPG|German - 1100
File:1200, German. - 036 - Costumes of All Nations (1882).JPG|German - 1200
File:1300-1350, German. - 044 - Costumes of All Nations (1882).JPG|German - 1300-1350
File:1350- 1400, German. - 045 - Costumes of All Nations (1882).JPG|German - 1350-1400
File:1400-1450, German. - 049 - Costumes of All Nations (1882).JPG|German - 1400-1450
File:1450-1500, German - 052 - Costumes of All Nations (1882).JPG|German - 1450-1500
File:1450-1500, German. - 050 - Costumes of All Nations (1882).JPG|German - 1450-1500
File:1450-1500, German. - 051 - Costumes of All Nations (1882).JPG|German - 1450-1500
File:A German student in the 14th century.jpg|14th century Germanic student.
</gallery>
=== English ===
<gallery mode="packed" heights="300px">
File:A.D. 500-1000, Anglo-Saxons - 022 - Costumes of All Nations (1882).JPG|Anglo-Saxons - 500-1000
File:1200, English - 038 - Costumes of All Nations (1882).JPG|English - 1200
File:1300-1400, English. - 047 - Costumes of All Nations (1882).JPG|English - 1300-1400
File:1400-1450, English - 053 - Costumes of All Nations (1882).JPG|English - 1400-1450
File:1450-1500, English - 054 - Costumes of All Nations (1882).JPG|English - 1450-1500
</gallery>
=== Spanish ===
<gallery mode="packed" heights="300px">
File:1300, Spanish, Moorish. - 041 - Costumes of All Nations (1882).JPG|Spanish & Moorish - 1300
File:1400, Spanish. - 059 - Costumes of All Nations (1882).JPG|Spanish - 1400
</gallery>
=== Slavonic ===
<gallery mode="packed" heights="300px">
File:1400, Slavonic. - 060 - Costumes of All Nations (1882).JPG|Slavonic - 1400
</gallery>
=== Other ===
<gallery mode="packed" heights="300px">
File:Lothar I.jpg|King Lothar I of the Carolingian Empire.
File:Middle Ages, Misc. - 028 - Costumes of All Nations (1882).JPG|thumb|center|Miscellaneous items.
</gallery>
==Resources==
* Cosgrave, Bronwyn.'' The complete history of costume and fashion'' New York; Octopus publishing group, 2000.
{{BookCat}}
9jhrgrzutaoyjsuoynh5odf3zgszsgb
Aros/Platforms/Storage support
0
274498
4639896
4639175
2026-06-11T13:10:21Z
Jeff1138
301139
4639896
wikitext
text/x-wiki
{{ArosNav}}
==Introduction==
AROS supports hard disks and optical drives attached to several interfaces:
* [[#NVMe M.2 SSD (M key)]] on the pci-e bus
* [[#SATA]] aka Serial ATA or AHCI (IDE compatibility mode used in most cases)
* [[#PATA]] IDE (also known as ATA or Parallel ATA)
* USB
* [[#SCSI]]
==PCI-e==
===NVMe M.2 SSD (M key)===
*Controller and firmware
*DRAM better having if heavy workloads but not necessary for gaming
*Cache like SLC HMB techniques
*NAND (Main storage area with MLC, TLC or QLC versions of varying life expectancy)
SSDs, USB flash drive, SD and Micro SD Cards have a limited amount of write cycles, therefore guaranteed to fail randomly and suddenly at any time. All SSDs are prone to corrupt firmware due to poor quality NAND where both the data and the firmware resides. The drive tends to go read only when too many errors occur before complete failure. That is up to 10 years for things like memory cards and USB sticks.
In general, unless there is a firmware design issue, cheap materials used, stress like bending or overheating causing cold solder joints, an SSD can last a long time if minimal writing activity takes place but eventually if flash isn't written to, it degrades. Catch 22.
Dram and cache are not the same thing. Dram stores the ssds indexes and metadata for faster data retrieval and wear leveling. The cache keeps part of the nand memory as SLC storage which can be written to faster. Basically all ssds will have a dynamic SLC cache where it will decrease as the drive fills up. Cache controller designs that are DRAM less use the internal SRAM cache in the controller to cache the NAND mapping table. It just requires a different mapping table design since SRAM caches are much smaller than DRAM. Ultimately the mapping table is still stored in NAND.
General rule of thumb: the cheaper an SSD, the higher the likelihood it uses lower quality flash chips so sudden failing NAND, problematic controller chips (e.g. SandForce), outsourced firmware. Generic brand like old SP, Corsair or Crucial may be recoverable whilst major brands Samsung, Intel and Western Digital are impossible due to firmware encryption and customizations. Recommend sticking with older Silicon Motion or Phison controllers if possible.
A ssd isn't good because it has dram or bad because it doesn't. Other things should be taken into account like sustained writes so check the TPU write intensive usage
See [https://www.techpowerup.com/ssd-specs/ here] for more information
{| class="wikitable" width="100%"
! width="15%" |Brand
! width="20%" |Model
! width="10%" |Works MSDos/PC Bios
! width="10%" |Works GPT/UEFI
! width="30%" |Tested Distribution
|-
| <!--Brand-->Unnamed
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020 to - SM2259XT2 SM2263XT MAS0902 MAP1202 YS9082HP RM1135 RTS5765 PS3111
|-
| <!--Brand-->Unnamed OEMs
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 to date - Realtek RTS5765/66 controller + Micron 96L (B27A)
|-
| <!--Brand-->Acer Predator GM7
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023 Acer drives built by Biwin, that also supplies HP, Maxio MAP1602A no DRAM so HMB, YMTC 128L TLC,
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->ADATA M.2 NVME IM2P33F8, IM2S3168 SSD
| <!--Model-->IM2P33F8-512GD
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018 - industrial 12L 3D TLC NAND flash Supports LDPC ECC, RAID Engine, and SLC Cache End-to-End (E2E) Data Path Protection with Host Memory Buffer (HMB) i.e. DRAMless
|-
| <!--Brand-->ADATA XPG SX8200 Pro M.2 nvme
| <!--Model-->ASX8200PNP1TTC
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020 NVM Express 1.3 SN2262G later SN2262EN chipset -
|-
| <!--Brand-->ADATA 256GB GEN4 x4 NVMe PCIe M2 2230 SSD
| <!--Model-->SM2P41C3-256GC2 DP/N 0KM1Y6
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 consumer
|-
| <!--Brand-->ADATA XPG GAMMIX S50 Lite
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 controller Silicon Motion SM2267XT dramless
|-
| <!--Brand-->ADATA XPG ATOM 50
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 controller Innogrit RainierQX IG5220
|-
| <!--Brand-->Adata Legend 710
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024
|-
| <!--Brand-->ADATA Legend 900
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 variants with different NAND flash and/or controller like MAP1602A (F1C F2C uses NVMe 1.4, F3C U uses NVMe 2.0) and 232-layer TLC NAND flash, no dram
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->BiWin PCIe Gen3
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 Innogrit IG5216 controller, no DRAM so HMB which appears to be the standard -
|-
| <!--Brand-->BiWin NV7200 PCIe 4.0
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023 SM2263XT
|-
| <!--Brand-->Biwin NV7400
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 multiple variants with different NAND flash and/or controller like MAP1602A (F1C F2C uses NVMe 1.4, F3C U uses NVMe 2.0) and 232-layer TLC NAND flash, no dram
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Corsair Force LE
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016
|-
| <!--Brand-->Corsair Force Series MP500 MP510 M.2 NVMe PCIe Gen 3 x4 SSD
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017 PS5012-E12-27 from Phison, 64-layer TLC Toshiba BiCS flash, may have dram cache - beware win update kb5063878 kb5062660 preview -
|-
| <!--Brand-->Corsair Force MP400
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020 Phison E16 on DRAM DDR4 with Micron 96L QLC - beware win update kb5063878 kb5062660 preview -
|-
| <!--Brand-->Corsair Force MP
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Corsair Force MP
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022
|-
| <!--Brand-->Corsair MP600 Elite
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023 Phison E16 and Bics DDR4 DRAM buffer and TLC-based with SLC-mode cache - beware win update kb5063878 kb5062660 preview -
|-
| <!--Brand-->Corsair MP600 Pro XT, PRO LPX, PRO NH PCIe4
| <!--Model-->CSSD-F1000GBMP600ECS Elite,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023 DRAMless SSD controller Phison PS5026-E26, BiCS6 162L QLC NAND
|-
| <!--Brand-->Corsair MP600 Core XT
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023 Phison and Bics QLC-based with SLC-mode cache -
|-
| <!--Brand-->Corsair MP700 Pro PCIe 5.0
| <!--Model-->CSSD-F1000GBMP700PNH
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Crucial P1
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018 QLC NAND but a controller with a DRAM cache -
|-
| <!--Brand-->Crucial P2 M.2 2280 Gen3 x4 NVM-express
| <!--Model-->CT1000P2SSD8
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020 dram-less Phison PS5013-E13-31 on 96-layer QLC NAND -
|-
| <!--Brand-->Crucial P3 Plus M.2 2280
| <!--Model-->CT1000P3PSSD8 CT2000P3PSSD801
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 Phison E21T with Host Memory Buffer HMB tech to use a small bit of system RAM as DRAM cache and Micron 176-layer QLC NAND -
|-
| <!--Brand-->Crucial P3 M.2 nvme SSD
| <!--Model-->CT2000P3SSD8
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 Phison E21T with no DRAM so HMB and 176-Layer Micron QLC (N48R) -
|-
| <!--Brand-->Crucial P5 m.2 nvme PCIe 4
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 runs hot - Crucial NVMe with DRAM LPDDR4 and Micron 96L TLC
|-
| <!--Brand-->Crucial P5 Plus
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 some have DRAM cache
|-
| <!--Brand-->Crucial T500 Gen4.0 nvme 2.0
| <!--Model-->CT1000T500SSD8, CT2000T500SSD8
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023 Phison PS5025-E25 with micron B58R 232-layer 3D TLC NAND and Micron LPDDR4 DRAM cache - beware win update kb5063878 kb5062660 preview -
|-
| <!--Brand-->Crucial T700 Gen5 SSD
| <!--Model-->CT1000T700SSD3, CT2000T700SSD3
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 SSD controller Phison PS5026-E26, Micron 232-layer NAND with no dram as standard -
|-
| <!--Brand-->Crucial P310 M.2 2280 NVMe PCIe Gen4 SSD
| <!--Model-->CT2000P310SSD801 (2Tb),
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2025 DRAM-less Phison E27T Micron 232-layer NAND -
|-
| <!--Brand-->Crucial T705
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2025 dramless Phison SSD controller
|-
| <!--Brand-->Crucial T710
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2025 SMI SM2508 SSD controller dram
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Ediloca EN605 PCIe Gen3 x4 interface, NVMe 1.3 support
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024
|-
| <!--Brand-->Ediloca EN660 PRO
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Ediloca EN760 PCIe Gen4 x4 M.2 NVMe 1.4 interface
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 gets hot
|-
| <!--Brand-->Ediloca EN870
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 no dram Maxio MAP1602 + YMTC 232L
|-
| <!--Brand-->Ediloca EN855
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 dram Maxio MAP1602 + YMTC 232L
|-
| <!--Brand-->Ediloca
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Ediloca
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Fanxiang S500 pro PCIe Gen3
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 MaxioTech MAP1202A-F1C with YMTC 128L and pseudo-SLC cache
|-
| <!--Brand-->Fanxiang S660
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Fanxiang S880/R
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 variants with different NAND flash and/or controller like MAP1602A (F1C F2C uses NVMe 1.4, F3C U uses NVMe 2.0) and 232-layer TLC NAND flash, no dram
|-
| <!--Brand-->Fanxiang S770
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 dram
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->202
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->202
|-
| <!--Brand-->Fikwot
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->Fikwot founded in 2018
|-
| <!--Brand-->Fikwot FX550 m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023
|-
| <!--Brand-->Fikwot FN501 Pro m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023
|-
| <!--Brand-->FIKWOT FN950 FN955
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 MAP1602 (at 1600 MT/s) flash YMTC TLC no dram
|-
| <!--Brand-->Fikwot FX991 m.2 nvme
| <!--Model-->FW-FX991-2TB
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024
|-
| <!--Brand-->Fikwot FN960
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2025 Maxio MAP1602 + YMTC 232L
|-
| <!--Brand-->Fikwot FN970 m.2 nvme pcie
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2025 Maxio MAP1602 + YMTC 232L
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->202
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->202
|-
| <!--Brand-->Geil ZEN ITH m.2 nvme
| <!--Model-->S3-240GB
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->202
|-
| <!--Brand-->Gigabyte Aorus Gen4 m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020 Phison E16 and Toshiba 96-layer TLC (triple-level cell) BiCS4 NAND flash - DDR4 DRAM buffer and TLC-based with SLC-mode cache -
|-
| <!--Brand-->Gigabyte Aorus 10000 PCIe 5.0
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023 Phison E26 on DRAM LPDDR4 with 232-Layer Micron TLC
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->202
|-
| <!--Brand-->HP EX950 m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->HP FX900 m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 dram less
|-
| <!--Brand-->HP
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->202
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Brand
| Model
| Work MSDos
| Work GPT
| Tested Under
|-
| <!--Brand-->Integral M2 Series NVME M.2 2280 PCIe Gen 3x4
| <!--Model-->INSSD500GM280NM2
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Integral
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Inland Professional TLC E12S
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021 Phison E18
|-
| <!--Brand-->Inland Gaming performance Plus m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 Phison E16 controller and TLC flash
|-
| <!--Brand-->Inland TD510
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023 Phison E26 on DRAM DDR4 with 232-Layer Micron TLC
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Intel
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017
|-
| <!--Brand-->intel SSD Pro 7600p Series M.2 80mm 2280 PCIe 3.0 x4, 3D TLC
| <!--Model-->SSDPEKKF512GB, SSDPEKKF256G8L,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017
|-
| <!--Brand-->Intel 660p m.2 nvme
| <!--Model-->ssdpeknw010tb
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017 SMI SM2263 controller with 1GB DRAM cache and 1TB of Intel QLC NAND similar to crucial P1
|-
| <!--Brand-->[https://www.solidigm.com/support-page/warranty-rma/ka-00032.html Solidigm formerly Intel] 670p
| <!--Model-->SSDPEKNU010TZ
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020 256 MB DDR3L cache and 12-140 GB SLC-Cache QLC NAND
|-
| <!--Brand-->Intel P4511 m.2 nvme PCIe3.1 x4 22110 110mm
| <!--Model-->SSDPELKX020T8
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021 very long
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Kingston A1000 NVME PCIE M2 2280 SSD
| <!--Model-->SA1000M8/480G
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017
|-
| <!--Brand-->Kingston A2000 NVME PCIE M2 2280 SSD
| <!--Model-->SA2000M8/250G
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018
|-
| <!--Brand-->Kingston KC3000
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021 Phison’s [https://www.kingston.com/en/support/technical/ksm-firmware-update Firmware Rev. EIFK31.7 (07-08-2024) update for] PS5018-E18 PCIe 4.0 x4 NVMe controller and Micron’s 176L TLC NAND flash -
|-
| <!--Brand-->Kingston NV1 m.2 nvme pcie
| <!--Model-->SNV1
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021 entry-level consumer DRAMless Phison E13T or Silicon Motion 4-channel SM2263XT - one brand TLC up to 1Tb and QLC after -
|-
| <!--Brand-->Kingston NV2
| <!--Model-->SNV2
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 entry-level, first SMI SM2267XT or Phison E19T and later SMI SM2269XT or Phison E21T with various flash memory
|-
| <!--Brand-->Kingston FURY Renegade m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023 [https://www.kingston.com/en/support/technical/ksm-firmware-update Firmware Rev. EIFK31.7 (07-08-2024) update for] Phison E18 controller, Micron 176L nand and ddr4 dram -
|-
| <!--Brand-->Kingston NV3
| <!--Model-->SNV3S/500G, SNV3S/1000G, SNV3S/2000G, SNV3S/4000G
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 entry-level, SMI SM2268XT2 or Phison E27T controller with BiCS6 TLC or QLC flash - dramless so hmb -
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Brand
| Model
| Work MSDos
| Work GPT
| Tested Under
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Kioxia (Toshiba) XG4? M2 2280 NVMe PCIe SSD
| <!--Model-->THNSF5512GPUK, THNSN51T02DUK,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016 Phison has done custom controller work for Kioxia, and Kioxia has also worked with SMI and InnoGrit (the latter more recently). Kioxia label their controllers as their own but these are largely rebadged.
|-
| <!--Brand-->Kioxia (Toshiba) XG5 for Data Centres
| <!--Model-->KXG5 KXG50ZNV1T02
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017 nanya ddr3 dram? with 64-layer BiCS 3D flash memory
|-
| <!--Brand-->Kioxia XG6 OEM m.2 nvme
| <!--Model-->KXG60ZNV512G, KXG60ZNV1T02,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018 TC58NCP090GSD with DRAM NANYA LPDDR3 and Toshiba BiCS FLASH 96-layer 3D TLC -
|-
| <!--Brand-->Kioxia (Toshiba) BG4 m.2 nvme
| <!--Model-->
*KBG40ZNS128G, KBG40ZNS256G, KBG40ZNS512G, KBG40ZNS1T02
*KBG40ZNT256G,
*KBG40ZNV1T02
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2019 - no dram but NVMe's Host Memory Buffer (HMB) i.e. portion of the system's RAM for caching - Toshiba's 96-Layer BiCS FLASH - seems Windows UASP driver and the JMS583 chipset interacts badly with the Kioxia BG4 - early firmware upgrade to prevent overheating hot -
|-
| <!--Brand-->Kioxia XG7
| <!--Model-->KXG70ZNV1T0G
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021 - might need firmware update on early 2tb 4tb versions - controller with sk hynix dram and tlc nand
|-
| <!--Brand-->KIOXIA EXCERIA PLUS G2 SSD series PCIe 3.0
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 Phison PS5012-E12S-32 aka TC58NC1201GST 4-channel controller along with KIOXIA proprietary 96-layer 3D TLC and "MG2h" version has BiCS4.5 which is faster than launch BiCS4 - -
|-
| <!--Brand-->Kioxia XG8 OEM m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 TC58NC0L1XGSD with DRAM LPDDR4 and 112-Layer Kioxia BiCS5 TLC -
|-
| <!--Brand-->Kioxia (Toshiba) BG5
| <!--Model-->KGB50ZNV256G
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 HMB buffer
|-
| <!--Brand-->Kioxia (Toshiba) BG6 m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023 dramless
|-
| <!--Brand-->KIOXIA EXCERIA PLUS G3 SSD series PCIe 4.0
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 has hmb, like most dram-less nvmes KIOXIA
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Lexar 1TB SSD M.2 NVME 1.4 Gen3x4 M.2 2280
| <!--Model-->NM610Pro
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022
|-
| <!--Brand-->Lexar NM620
*IG5216 (worse?) not great original 96L
*MAP1202 YMTC up to 232L, or 176L Micron, TLC for the 1TB
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023 a few versions all DRAM-less,
|-
| <!--Brand-->Lexar NM790 SSD M.2 PCIe Gen4
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023 Maxio MAP1602 no DRAM so HMB with 232-Layer YMTC TLC
|-
| <!--Brand-->Lexar m.2 nvme
| <!--Model-->EQ790
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 Maxio MAP1602, no DRAM so HMB, Flash Memory 232-Layer YMTC TLC,
|-
| <!--Brand-->Lexar
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2025
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Liteon M.2 NVME 512GB SSD 2280
| <!--Model-->CAZ-51282512-Q11 DP/N 0K64PG
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2019
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Micron
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Micron
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018 SMI controller
|-
| <!--Brand-->Micron 2200S m.2 nvme 2200 series
| <!--Model-->MTFDHBA256TCK, MTFDHBA512TCK
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2019 for a time, Micron controller with 64L TLC 3D Nand [https://www.dell.com/support/home/en-uk/drivers/driversdetails?driverid=3jg3g BSOD occurred as CRITICAL_PROCESS_DIED] before self applied firmware [https://support.lenovo.com/us/en/downloads/ds119265-nvme-solid-state-drive-firmware-update-utility-for-windows-10-64-bit-thinkpad apparently it is related to the power management that disconnects the Micron SSD]
|-
| <!--Brand-->Micron 2300 m.2 nvme Gen 3 x4
| <!--Model-->MTFDHBA256TDV P/N M02626-001,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021
|-
| <!--Brand-->Micron 3400 M.2 NVME SSD Gen4
| <!--Model-->MTFDKBA512TFH
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 - no cache
|-
| <!--Brand-->Micron 2450
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 E19T
|-
| <!--Brand-->Micron 2600 m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2025 Phison's PS5029-E29T SSD controller with Micron 276-layer G9 QLC NAND in a DRAMless - Adaptive Write Technology (AWT) using various NAND modes (SLC, TLC, and QLC) as a dynamic cache
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->MSI Spatium S270
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->MSI Spatium M450 m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021 Phison’s E19T controller
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Netac NV2000
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Netac NV5000
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Netac NV7000 m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Orico J10 J-10 m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021
|-
| <!--Brand-->Orico D10 m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022
|-
| <!--Brand-->Orico e3500
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023
|-
| <!--Brand-->Orico O7000 m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Patriot P300 m.2 nvme pcie 3.0
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022
|-
| <!--Brand-->Patriot Viper VP4300 Lite M.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 multiple variants with different NAND flash and/or controller like MAP1602A (F1C F2C uses NVMe 1.4, F3C U uses NVMe 2.0) and 232-layer TLC NAND flash, no dram
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->PNY CS2230 Gen3 x4
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022
|-
| <!--Brand-->PNY CS2140 CS2342 Gen4
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2025
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Raydisk 1T 2280 m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023 no dram, Memory QLC Intel 144 layer. Chip Realtek
|-
| <!--Brand-->Raydisk
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Sabrent Rocket Nano 2242 m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Sabrent Rocket 4.0 m.2 nvme
| <!--Model-->SB-2130-512, SB-2280-1TB, SB-Rocket-NVME4-HTSK-2TB,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 Phison E16 controller and TLC flash -
|-
| <!--Brand-->Sabrent Rocket 4.0 PLUS m.2 nvme
| <!--Model-->SB-RKT4P-1TB
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 Phison E1? controller and TLC flash -
|-
| <!--Brand-->Sabrent Rocket 5
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 Phison E25
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Brand
| Model
| Work MSDos
| Work GPT
| Tested Under
|-
| <!--Brand-->Samsung PM951 m.2 nvme
| <!--Model-->MZVLV1T
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016
|-
| <!--Brand-->Samsung 950 PRO PM961 M.2 2280 NVMe 1.3 PCI-Express 3.0 x4
| <!--Model-->
*MZ-VKW5120
*MZ-VLW2560 MZVLW256HEHP-000L7, MZ-VLW5120, MZ-SLW1T00
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016 - possibly 512M LPDDR3 Samsung K4E4E324EE-ECCF cache - Polaris (S4LP077X01-8030) unit with Samsung 48-layer TLC V-NAND V3 flash Samsung K90MGY8S7M-CCK0 -
|-
| <!--Brand-->Samsung 960 Pro SM961 M.2 PCi-e NVMe SSD 2280
| <!--Model-->MZ-V6P1T0
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017 Polaris (S4LP077X01-8030) controller Samsung 48-layer multi-level cell (MLC) V-NAND, pseudo-SLC cache or LPDDR3-1866 Samsung K4E8E304EE-EGCF
|-
| <!--Brand-->Samsung PM981 2280 PCI-Express 3.0 x4
| <!--Model-->
*Rev 0 MZ-VLB256A, MZ-VLB512A, MZ-VLB1T0A,
*Rev 0 MZ-VLB2560, MZ-VLB5120 P/N MZVLB512HAJQ, MZ-VLB1T00,
*Rev ? MZ-VLB256B, MZ-VLB512B, MZ-VLB1T0B,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2019 - tlc flash with SSD controller Samsung Phoenix (S4LR020) - pseudo-SLC cache hybrid SLC Samsung’s TurboWrite -
|-
| <!--Brand-->Samsung PM981a 2280 PCI-Express 3.0 x4
| <!--Model-->MZ-VLB5120 P/N MZVLB512HBJQ-000L7,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020 - tlc flash with SSD controller Samsung Phoenix (S4LR020) - pseudo-SLC cache
|-
| <!--Brand-->SAMSUNG PM991 NVMe M.2 SSD 2242 2280
| <!--Model-->MZ-VLQ2560 MZVLQ256HBJD-000H1,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021
|-
| <!--Brand-->SAMSUNG PM991a NVMe M.2 SSD 2242 2280
| <!--Model-->MZ-VLQ256B MZVLQ256HBJD-00BH1, MZ-9LQ256C, MZ-VLQ512B MZVLQ512HBLU,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021
|-
| <!--Brand-->Samsung 970 EVO Plus m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020 Samsung Phoenix on Samsung LPDDR4 dram and 2 Samsung 9x-layer V-NAND TLC
|-
| <!--Brand-->Samsung 980 EVO Plus
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022
|-
| <!--Brand-->Samsung 980 Pro m.2 nvme
| <!--Model-->MZ-V8P1T0BW,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 originally made in Korea ([https://semiconductor.samsung.com/consumer-storage/support/tools/ 2tb firmware issues] with versions starting with 3) and year later Vietnam - DRAM
|-
| <!--Brand-->Samsung 990 EVO m.2 nvme
| <!--Model-->MZ-V9E2T0BW, MZ-V9E1T0BW
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 Samsung Piccolo no DRAM so HMB Samsung 133-Layer TLC (V6P) and Samsung 133-Layer TLC (V6P) -
|-
| <!--Brand-->SAMSUNG PM9A1 SSD M.2 2280 PCIe NVME Gen4x4
| <!--Model-->MZ-VL25120 MZVL2512HCJQ, MZVL21T00 MZVL21T0HCLR-00BL2,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 might be OEM variant of the 980 Pro
|-
| <!--Brand-->Samsung PM9B1 SSD M.2 2280 PCIe NVME Gen4x4
| <!--Model-->
*2023 MZ9L4256HCJQ-00BD1 MZ-9L4256A, ,
*2025 MZ-VL42560, MZ-VL45120, MZ-VL421T,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023 SSD controller is Marvell 88SS1322 Whistler Plus, no DRAM cache and Samsung 128-layer TLC NAND flash
|-
| <!--Brand-->Samsung 990 EVO Plus m.2 nvme2.0
| <!--Model-->MZ-V9S2T0BW, MZ-V9S1T0BW
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 Samsung Piccolo with no DRAM so HMB and Samsung 236-Layer (V8) TLC -
|-
| <!--Brand-->Samsung 990 Pro m.2 nvme
| <!--Model-->MZ-V9P2T0BW, MZ-V9P1T0BW
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 2tb early firmware issue - Samsung Pascal with DRAM LPDDR4 and 176-Layer V-NAND TLC - has had firmware design issues, causing premature failure -
|-
| <!--Brand-->Samsung 9100 PRO PCIe Gen5 m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2025
|-
| <!--Brand-->Samsung
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->202
|-
| <!--Brand-->Samsung
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->202
|-
| <!--Brand-->Samsung
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->202
|-
| <!--Brand-->Seagate Firecuda 510 G3 x4 nvme
| <!--Model-->
*ZP1000GM30001,
*ZP500GM30021 P/N 2NT308-300,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020 bad early batch - Phison E12 STXYP0160031 on SK Hynix DRAM DDR4 with Kioxia BiCS3 64L TLC
|-
| <!--Brand-->Seagate Firecuda Q5
| <!--Model-->ZP500CV30001,ZP250CV30001,ZP1000CV30001 P/N 2ZK307-881,ZP2000CV30001
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021 PS5013-E13-31 from Phison, no DRAM cache and QLC nand
|-
| <!--Brand-->Seagate Firecuda 515
| <!--Model-->ZP500GV30001,ZP250GV30001,ZP1000GV30001,ZP2000GV30001
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021 no dram and qlc nand
|-
| <!--Brand-->Seagate FireCuda 520 SSD M.2 PCIe Gen4 ×4 NVMe 1.4
| <!--Model-->ZP2000GM30002, ZP1000GM30002, ZP500GM30002
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021 Phison E16 and Toshiba 96-layer TLC (triple-level cell) BiCS4 NAND flash DDR4 DRAM buffer and TLC-based with SLC-mode cache -
|-
| <!--Brand-->Seagate Firecuda 520N m.2 nvme
| <!--Model-->ZP2000GV3A012, ZP1000GV3A012 and ZP500GV3A012
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 dramless
|-
| <!--Brand-->Seagate Firecuda 530 m.2 nvme
| <!--Model-->ZP500GM3A013,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 Phison PS5018-E18 on DRAM DDR4 with Micron 176L TLC
|-
| <!--Brand-->Seagate
| <!--Model-->ZP1000CV3A002,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 dramless
|-
| <!--Brand-->Seagate Firecuda 540
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023 Phison E26 on DRAM LPDDR4 with 232-Layer Micron TLC
|-
| <!--Brand-->Seagate Firecuda 530R
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Silicon Power UD85 m.2 nvme PCIe 3.0
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020 [http://vlo.name:3000/ssdtool/ firmware tools]
|-
| <!--Brand-->Silicon Power UD90 PCIe 4.0 nvme
| <!--Model-->SP250GBP44UD9005, SP500GBP44UD9005, SP01KGBP44UD9005, SP02KGBP44UD9005,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 Phison E21T with no DRAM so HMB and 176-Layer Micron TLC (B47R) but later no name QLC nand instead -
|-
| <!--Brand-->Silicon Power A60 A80
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 various originally an E12 drive with 64L Toshiba NAND, then had variations with E12S and SM2262EN as well as random 64L/96L, now it comes with a MAP1001A controller by Maxio and some YMTC NAND -
|-
| <!--Brand-->Silicon Power US75 m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 multiple variants with different NAND flash and/or controller like MAP1602A (F1C F2C uses NVMe 1.4, F3C U uses NVMe 2.0) and 232-layer TLC NAND flash, no dram
|-
| <!--Brand-->Silicon Power m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Silicon Power m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->SK Hynix BC501 M.2 m.2 NVMe PCIe Gen3 SSD
| <!--Model-->
*Rev0 HFM256GDHTNG-8510B SSS0L24764, HFM256GDJTNG-8310A,
*Rev1 HFM256GDHTNG-8310A SSS0Q68673,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018 bad batch early -
|-
| <!--Brand-->SK Hynix BC511 512GB NVMe PCIe M2 2230 SSD
| <!--Model-->HFM256GDJTNI-82A0A HFM512GDGTNI-82A0A D P/N 0TG8T0
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017 no dram cache
|-
| <!--Brand-->SK hynix BC711 PCIe Gen3 x4
| <!--Model-->HFM001TD3JX013N, HFM512GD3JX013N, HFM256GD3JX013N
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017 okay but no dram cache
|-
| <!--Brand-->SK hynix PC711 m.2 2280 PCIe Gen3 x4
| <!--Model-->
*HFS001TDE9X073N, HFS512GDE9X073N, HFS256GDE9X073N
*HFS001TDE9X080N, HFS512GDE9X080N, HFS256GDE9X081N
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017
|-
| <!--Brand-->SK Hynix SC210 m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018
|-
| <!--Brand-->SK Hynix PC601 PCIe 3.0 x4
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2019 - Cepheus Plus YCN34PTA0FR Controller and 48L TLC Flash, pseudo-SLC cache and LPDDR4-3733 SK Hynix H9HCNNN8KUMLHR-NME dram -
|-
| <!--Brand-->SK Hynix PC401 3rd gen PCIe
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020 bad batch early -
|-
| <!--Brand-->SK hynix Gold P31 m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020 SK hynix’s proprietary Cepheus controller
|-
| <!--Brand-->Sk Hynix SK500 Gen 4 (x4)
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021
|-
| <!--Brand-->SK hynix Platinum P41 m.2 nvme
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 Aries SSD controller with 176-Layer TLC flash - SK hynix LPDDR4 dram -
|-
| <!--Brand-->Sk Hynix PC801 PCIe Gen4 x4 m.2 nvme
| <!--Model-->HFS001TEJ9X101N, HFS512GEJ9X101N, HFS256GEJ9X101N, HFS002TEJ9X101N
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022
|-
| <!--Brand-->SK Hynix BC901 m.2 nvme PCIe Gen4 2230
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 Silicon Motion SM2269XT with no DRAM so HMB buffer cache - SK Hynix 176-layer TLC NAND flash 1TB only -
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Team
| <!--Model-->TM8PS7512G
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018
|-
| <!--Brand-->TeamGroup MP34
| <!--Model-->MP34 256GB, MP34 512GB, MP34 1TB,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2019 good Phison E12 with DRAM NANYA DDR3L and Toshiba BiCS 3 64L TLC -
|-
| <!--Brand-->Team Group T-Force Cardea A440 PCIe Gen4
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021 Phison PS5018-E18 NVMe 1.4 controller and Micron’s 96L TLC with SK hynix 8Gb DDR4 chips but not OPAL-compliant AES 256-bit
|-
| <!--Brand-->Team Group TForce Cardea A440 Lite PCIe Gen4
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021 dram-less E27T controller and 162L TLC but not OPAL-compliant AES 256-bit
|-
| <!--Brand-->teamgroup Team Z44L m.2 nvme pcie
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021 Phison’s E19T controller
|-
| <!--Brand-->teamgroup Team MP44L m.2 nvme pcie
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021 Phison E21T no DRAM so HMB with 176-Layer Micron TLC
|-
| <!--Brand-->Team MP33Q
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023 - dramless maxio MAP1202 with TLC (MP33) or QLC (MP33Q) -
|-
| <!--Brand-->Team Group QX GE Pro m.2 nvme PCIe5
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 innogit IG5666 with QLC 3D 232L nand with DRAM -
|-
| <!--Brand-->Team Group T-Force G70 Pro
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2025 InnoGrit IG5236 (Rainier) with DRAM and NAND YMTC TLC -
|-
| <!--Brand-->Team Group T-Force Cardea Z540 m.2 nvme PCIe 5.0
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2025 Phison E26 controller and 232L TLC and DRAM -
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Transcend MTE110S PCIe Gen3 x4 M.2 2280 TS128GMTE110S
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020 3D TLC NAND
|-
| <!--Brand-->Transcend MTE220S PCIe Gen3 x4 M.2 2280 TS2TMTE220S
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020 3D TLC NAND with DRAM Cache
|-
| <!--Brand-->Transcend MTE300
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020
|-
| <!--Brand-->Transcend MTE300S PCIe Gen3 x4 M.2 2230 TS256GMTE300S TS512GMTE300S
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020 3D TLC NAND, 1G and 2G get hot
|-
| <!--Brand-->Transcend
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Transcend MTE400S
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020 mlc nand
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->TWSC
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->TWSC
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Union Memory (Shenzhen) AM6672
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->union memory AM6A0 Gen4 x4
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Verbatim V15000
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Brand
| Model
| Work MSDos
| Work GPT
| Tested Under
|-
| <!--Brand-->WD Blue SN500
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Western digital SN720 M.2 2280 NVME PCIE for Data Centers
| <!--Model-->SDAQNTW-512G-1001
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018 to 2021
|-
| <!--Brand-->WDC SN520 2230 Gen3 x2
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018 to 2020
|-
| <!--Brand-->Western digital ix sn530 M.2 NVME PCIE
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020 industrial sandisk controller and firmware, as well as 96-layer 3D TLC NAND memory that can work in TLC or SLC mode -
|-
| <!--Brand-->Western digital SN730 Gen3 x4 M.2 2280 M.2 NVME
| <!--Model-->SDBPNTY-1T00, SDBPNTY-512G-1012,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2019 to 2021 DRAM Cache DDR4-2666 CL18 Micron MT40A512M16LY-075:E (D9WFH) with Controller WD 20-82-00705-A2 Triton MP28 and NAND Flash Toshiba BiCS4 60082 512G (Rebranded by SanDisk) TLC 96-layer
|-
| <!--Brand-->WD Black SN750
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2019 64-layer 3D stacked NAND with 3 bits per cell TLC (Triple Level Cell) with 256MB of skhynix DRAM cache for every 250GB
|-
| <!--Brand-->WD Black SN850 m.2 nvme Gen4 PHY
| <!--Model-->WDS100T1X0E,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021 Sandisk G2 controller with Micron DDR4 cache - new nCache 4.0 slc cache total dynamic capacity spans one-third (300GB on 1TB) with a small static SLC cache (12GB on 1TB) from the Kioxia BiCS4 96L TLC 96-layer NAND flash -
|-
| <!--Brand-->Western digital SN550 Blue M.2 NVME PCIE
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 - various controllers and NANDs
|-
| <!--Brand-->Western Digital SN810 NVMe SSD 2280 Gen4 x4
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 slc cache - laptop oem only no retail version -
|-
| <!--Brand-->WD SN850X
| <!--Model-->WDS100T2X0E, WDS200T2X0E, WDS400T2X0E, WDS800T2X0E,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 issues with early ssd firmware and AMD Zen 3 X570 and X670E chipsets - Sandisk A101000291-82 controller with 112-layer TLC and DDR4 DRAM cache
|-
| <!--Brand-->WD_Blue SN570 single-sided M.2 2280 (80mm) PCIe 3.0
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 dramless - WD/SanDisk SSD controller with BiCS 5 3D NAND TLC 112-layer NAND flash memory -
|-
| <!--Brand-->WD_Black SN770 m.2 nvme
| <!--Model-->WDS100T3X0E,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 dramless cache with TLC
|-
| <!--Brand-->WD Green SN350 m.2 NVMe SSD
| <!--Model-->WDS100T3G0C,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 DRAM-less cache with SanDisk controller and QLC (quad-level cell) NAND
|-
| <!--Brand-->WD_BLACK SN750 SE
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 controller Phison E19T, dramless
|-
| <!--Brand-->WD SN740 M.2 (2230) PCIe 4.0 x4 2280
| <!--Model-->SDDQTQD-1T00, SDDPNQD-, SDDPNQD-256G-2006,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 dramless with SSD controller WD Sandisk 20-82-10081-A1 Polaris MP16+ with Toshiba BiCS5 112-layer TLC NAND flash
|-
| <!--Brand-->WD_Blue SN580
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023 dramless SanDisk controller with (HMB) and 112-Layer Kioxia TLC (BiCS5)
|-
| <!--Brand-->WD Blue SN5000
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->WD Black SN8100 / Sandisk Optimus GX Pro 8100
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Sandisk Optimus GX 5100 7100
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2026
|-
| <!--Brand-->Sandisk Optimus GX Pro 850X
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2026
|-
| <!--Brand-->Sandisk
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Sandisk
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Sandisk
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Zhitai (Yangtze Memory)
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
|}
=== Mini SSD ===
{| class="wikitable" width="100%"
! width="20%" |Brand
! width="20%" |Model
! width="10%" |Works MSDos/PC Bios
! width="10%" |Works GPT/UEFI
! width="20%" |Tested Distribution
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2025
|-
| <!--Brand-->Biwin PCIe 4×2 NVMe 1.3
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2025 GPDwin5 and Oneplayer Superx hybrid - 3D TLC - LGA packaging - V1 slide tray mechanism -
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2025
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2025
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2025
|-
|}
==SATA==
Advanced Host Controller Interface (AHCI), a programming interface for SATA host controllers. Platforms supporting AHCI may take advantage of performance features such as no master/slave designation for SATA devices — each device is treated as a master — and hardware-assisted native command queuing. AHCI may but not often also provides usability enhancements such as Hot-Plug (Desktop and Mobile Only). AHCI requires appropriate software support (e.g., an AHCI driver)
AHCI, the underlying protocol for SATA, only supports one queue with 32 commands.
The issue with AHCI is that it's going to take a pile of test hardware just to figure out all the different bugs in all the motherboard chipsets and add-on PCI cards that 'kinda' implement AHCI. Not to mention Silicon Image, which took a very different approach from Intel's AHCI in their SATA controllers.
=== SATA 7mm 2.5inch SSD ===
{| class="wikitable" width="100%"
! width="20%" |Brand
! width="20%" |Model
! width="10%" |Works MSDos/PC Bios
! width="10%" |Works GPT/UEFI
! width="20%" |Tested Distribution
|-
| <!--Brand-->ADATA 240GB Ultimate SU630 2.5"
| <!--Model-->ASU630SS-240GQ-R
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016
|-
| <!--Brand-->ADATA Ultimate Su650 2.5in
| <!--Model-->ASU650SS240GTR
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017
|-
| <!--Brand-->ADATA Ultimate Su800 2.5in
| <!--Model-->ASU800
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018 SMI SM2258 controller with Micron 3D TLC NAND but low performance when data fills the SLC cache - slow write speed -
|-
| <!--Brand-->ADATA Ultimate Su680 2.5in
| <!--Model-->ASU680SS240GTR
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2019
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Apacer AS340 Panther
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Apacer AS350
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Crucial M4
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2011 Marvell 88SS9174-BKK2 processor, 25nm MLC NAND flash and 128MB dram cache
|-
| <!--Brand-->Crucial M500 120Gb to 960Gb
| <!--Model-->CT250M500SSD1, CT500M500SSD1,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2013 dram cache
|-
| <!--Brand-->Crucial M550 120G to 1T
| <!--Model-->CT250M550SSD1, CT500M550SSD1,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2014 dram cache
|-
| <!--Brand-->Crucial (Micron) BX100
| <!--Model-->CT500BX100SSD1, CT1000BX100SSD1
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2015 - no dram - Silicon Motion SM2246EN and ATA version ACS-2 -
|-
| <!--Brand-->Crucial (Micron) MX100
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2015 dram cache Micron controller and nand -
|-
| <!--Brand-->Crucial MX200
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016 MLC NAND
|-
| <!--Brand-->Crucial (Micron) BX300 2.5in
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017 dramless cache - Micron ex Tidal controller and TLC nand -
|-
| <!--Brand-->Crucial (Micron) MX300
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017 dram cache
|-
| <!--Brand-->Crucial (Micron) bx500 2.5inch
| <!--Model-->CT240BX500SSD1, CT480BX500SSD1, CT960BX500SSD1, CT1000BX500SSD1, CT2000BX500SSD1,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018 SM2258XT 4channel later SM2259XT paired with Micron’s latest 64-Layer 3D TLC flash but dramless SLC cache (part of the tlc flash) -
|-
| <!--Brand-->Crucial (Micron) MX500
| <!--Model-->CT250MX500SSD1, CT500MX500SSD1, CT1000MX500SSD1, CT2000MX500SSD1,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018 - dram cache from 256M to 2G - discontinued end of 2024
|-
| <!--Brand-->Fanxiang S101 2.5inch
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 - no dram cache, Hynix memory 3dv7-176l 176 layer QLC (one chip), either raymx rm1135, SM2259XT controller or Realtek rts5735dlq
|-
| <!--Brand-->Fanxiang ranxiana S102 PRO
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023 - no dram -
|-
| <!--Brand-->Fanxiang S101Q 2.5inch
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024
|-
| <!--Brand-->Fanxiang
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Fikwot
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->Fikwot founded in 2018
|-
| <!--Brand-->Fikwot FX815 Standard 2.5inch sata
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024
|-
| <!--Brand-->Fikwot FS810 Ultra 2.5inch sata
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Hypertec FirestormLite 2.5inch
| <!--Model-->S240GHS3-M or SDSSD240GB
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Hypertech
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Integral V2 Plus 2.5inch
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Integral
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Intel SSD 520 Series 2.5 inch SATA 6Gb/s 2.5" SSD Solid State Drive
| <!--Model-->SSDSC2CW240A3, SSDSC2CW480A3,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2014 LSI SandForce SF2281, Flash Memory Intel Synchronous 25nm MLC -
|-
| <!--Brand-->Intel Pro Series 1500
| <!--Model-->SSDSC2BF180A4L SSD0E38417,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2015
|-
| <!--Brand-->Intel S3610 Series 2.5" 400GB 6GBPS SATA SSD
| <!--Model-->SSDSC2BX400G4R
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2015 data center
|-
| <!--Brand-->Intel SSD Pro 5400s 512 GB
| <!--Model-->SSDSC2KF512H6
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016
|-
| <!--Brand-->Intel SSD DC S3510 Series MLC 2.5"
| <!--Model-->SSDS2BB400G6, SSDSC2BB480G6R,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016
|-
| <!--Brand-->Intel SSD DC S3520 Series MLC 2.5"
| <!--Model-->SSDSC2BB800G7,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017
|-
| <!--Brand-->Intel SSD DC S3710 Series 800GB 2.5"
| <!--Model-->SSDSC2BA800G4P,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017 server
|-
| <!--Brand-->Intel SSD 545S Series 256GB 512GB
| <!--Model-->SSDSC2KW256G8X1, SSDSC2KW512G8
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017
|-
| <!--Brand-->[https://www.solidigm.com/support-page/warranty-rma/ka-00032.html Solidigm formerly Intel] SSD DC S4500 240GB 2.5inch - HP Enterprise
| <!--Model-->SSDSC2KB240G7P
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Brand
| Model
| Work MSDos
| Work GPT
| Tested Under
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Kingspec P3-512 P3-1T0 P3-2TO
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Kingston HyperX SH103S3/120G 3K
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Kingston SSDNow 300
| <!--Model-->SV300S37A/240G, SV300S37A/120G, SV300S37A/60G
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2014 dramless - lsi sandforce SF2281 or JMicron JMF662 controller with Toshiba MLC or Intel MLC
|-
| <!--Brand-->Kingston A400 120G to 960Gb 2.5inch
| <!--Model-->SA400S37/240G SBFK61K1, SA400S37/480G, SA400S37/960G
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2015 half case sized ssd 4 x FH64B08UCT1-60 64G - t6 security torx into metal case - dram less - poor write speeds -
|-
| <!--Brand-->Kingston
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Kioxia formerly Toshiba HG6 2.5in
| <!--Model-->
*9.5mm THNSNJ512GBSU, THNSNJ256GBSU, THNSNJ128GBSU
*7mm THNSNJ512GCSU THNSNJ512GCSY, THNSNJ256GCSU THNSNJ256GCSY, THNSNJ128GCSU THNSNJ128GCSY
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018 - no dram
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Lexar NS100 2.5 inch sata
| <!--Model-->LNS100-1TRB
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018 - Marvell 88NV1120 Artemis, a DRAM cache is not available and pseudo-SLC. Micron 64-layer TLC NAND flash 4 chips @ 512 Gbit TS7512G181 (Rebranded by Lexar) (256G) - 4 nand flash chips Lexar/TST22T181/ B1924 and one controller: Lexar DM918/NOD43 1907 (512G) -
|-
| <!--Brand-->Lexar NQ100
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018 - DM928 controller which operates without a DRAM buffer. Two 128GB Micron NAND flash chips
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->LiteOn
| <!--Model-->LCS-128L9S-HP
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2015 no dram - sata2 -
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Matrix 256Gb 512GB SATA 2.5in SSD
| <!--Model-->MIS512GSDS, MIS256GSDS
| <!--Work MSDos-->UP TO 550MB/S
| <!--Work GPT-->UP TO 500MB/S
| <!--Tested Distribution-->
|-
| <!--Brand-->Micron 1100
| <!--Model-->MTFDDAK2T0TBN-1AR1ZA
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Micron 1300 2TB 1300 2.5"
| <!--Model-->MTFDDAK2T0TDL-1AW1ZABHA
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2010 - old sdd - TLC nand -
|-
| <!--Brand-->Micron RealSSD C400 2.5inch
| <!--Model-->MTFDDAK256MAM-1K12
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2014 -
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Mushkin Reactor
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> MLC flash
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Netac SA500
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->OCZ Deneva 2 C
| <!--Model-->D2CSTK251M21-0240,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->OCZ Deneva 2 R
| <!--Model-->D2RSTK251E19-0100,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->OCZ Vertex 3 128GB 2.5" SATA III SSD
| <!--Model-->VTX3-25SAT3-240G
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->OCZ Vertex 4 128GB 2.5" SATA III SSD
| <!--Model-->VTX4-25SAT3-128G
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Orico Y-20 Y20 2.5 inch sata SHENZHEN ORICO TECHNOLOGIES CO.,LTD
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023 flash nand -
|-
| <!--Brand-->Orico S500-Pro s500pro
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024
|-
| <!--Brand-->Orico
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->202
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Origin Storage Inception TLC830 Pro Series 2.5in SATA III SSD
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> 3D tlc flash nand -
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->OWC Mercury Extreme Pro
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2010
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> flash nand -
|-
| <!--Brand-->Patriot P210 2.5 inch sata
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> qlc flash nand -
|-
| <!--Brand-->Patriot P220
| <!--Model-->P220S2TB25
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> flash nand -
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Plextor M6V
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->PNY CS900 2.5 in sata SSD
| <!--Model-->SSD7CS900-480-PB
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018
|-
| <!--Brand-->PNY CS2311, CS3030 and Pro Elite SSDs
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2019
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Brand
| Model
| Work MSDos
| Work GPT
| Tested Under
|-
| <!--Brand-->Samsung SM PM
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->PM871a or PM871b? SM/PM = 2-bit or 3-bit MLC. PM = 3-bit MLC = TLC. 8 = generation = 8xx, 7 = model = 850 EVO (in this case), 1 = usage (e.g. 3 = datacenter). a/b = revision or type of flash, the 850 EVO had multiple revisions including at least three types of flash (32L, 48L, 64L) so a = 32/48L, b = 64L. At lower capacities it might use different flash, for example the 256GB SM951 utilizies 2D/planar while the higher capacities use 3D. OEM drives tend to have different, optimized firmware, so performance will not be the same
|-
| <!--Brand-->Samsung 840 PRO
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2012
|-
| <!--Brand-->Samsung 840 EVO
| <!--Model-->MZ-7TE120
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2013
|-
| <!--Brand-->Samsung PM851 2.5in sata
| <!--Model-->MZ-7TE5120 P/N MZ7TE512HMHP,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2014
|-
| <!--Brand-->Samsung 850 EVO
| <!--Model-->MZ-75E120, MZ-75E500 (P/N MZ7LN500) to MZ-75E4T0
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2015 Samsung MGX controller (S4LN062X01) up to 500GB capacities whilst Samsung MEX controller (3-core) beyond - Samsung TLC 3D V‐NAND 48 and later 64 layers and possibility of 256MB, 512MB or 1GB LPDDR2-1066 DRAM chip -
|-
| <!--Brand-->Samsung 850 PRO
| <!--Model-->MZ-7KE1T0
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2015
|-
| <!--Brand-->Samsung PM871a 2.5 inch sata
| <!--Model-->MZ-7LN512A P/N MZ7LN512HMJP,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017 used 64-layer QLC V-NAND - Samsung MJX Maru (S4LR030) contoller with no dram as standard -
|-
| <!--Brand-->Samsung PM883 1.92TB
| <!--Model-->MZ-7LH1T90
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018 - - Samsung MJX Maru (S4LR030) - 1gb LPDDR4-1866 dram -
|-
| <!--Brand-->Samsung 860 EVO
| <!--Model-->MZ-76E1T0
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018 used 64-layer QLC V-NAND - Samsung MJX Maru (S4LR030) contoller with no dram as standard -
|-
| <!--Brand-->Samsung 860 EVO PRO
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018 used 64-layer QLC V-NAND
|-
| <!--Brand-->Samsung 860 QVO
| <!--Model-->MZ-76Q1T0
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018 used 64-layer QLC V-NAND
|-
| <!--Brand-->Samsung 870 QVO 2.5in
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020 uses 9x layer 3D QLC V-NAND (or V-NAND 4-bit MLC Samsung), may have no DRAM cache - MKX 8-channel controller
|-
| <!--Brand-->Samsung 870 EVO
| <!--Model-->MZ-7LN56F, MZ-77E1T0 P/N MZ7L31TOHBLB,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021 beware of bad batch early death - uses 9x layer 3D QLC V-NAND (or V-NAND 4-bit MLC Samsung), may have no DRAM cache - Samsung MKX 8-channel controller
|-
| <!--Brand-->Samsung PM871b
| <!--Model-->MZ7LN256HCHP-000H1
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2021 uses 9x layer 3D QLC V-NAND (or V-NAND 4-bit MLC Samsung), may have no DRAM cache - Samsung MKX 8-channel controller
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Brand
| Model
| Work MSDos
| Work GPT
| Tested Under
|-
| <!--Brand-->Sandisk Ultra 3D/Extreme Pro
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2012 SandForce SF-2281 dram
|-
| <!--Brand-->Sandisk Ultra Plus
| <!--Model-->SDSSDHP-256G
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2013 Marvell SS889175 processor with SanDisk's 19nm NAND and 128MB Samsung DDR2 DRAM chip
|-
| <!--Brand-->Sandisk Z300s
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2014 - Marvell 88SS9188 Marvell 88SS9187 with SanDisk 64Gbit 19nm MLC -
|-
| <!--Brand-->Sandisk x300
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2014
|-
| <!--Brand-->Sandisk x300s
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2015
|-
| <!--Brand-->Sandisk Plus
| <!--Model-->SDSSDA-240G
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2015 pseudo SLC cache dramless
|-
| <!--Brand-->Sandisk Z400s
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016 - Silicon Motion SM2246XT DRAM-less - budget end of market -
|-
| <!--Brand-->Sandisk x400
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016 - 4 NAND packages and marvell controller 88ss1074 on blue pcb - 512MB DDR3L-1600 Micron DRAM -
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Seagate BarraCuda Q1 SSD
| <!--Model-->ZA240CV10001
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2019
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Silicon Power A55 2.5in sata
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017 dramless A55 started with the Phison S10 but later the S11 i.e. Phison PS3111-S11-13 controller and 96-layer TLC NAND flash memory with a pseudo-SLC cache -
|-
| <!--Brand-->Silicon Power Ace A55 2.5in
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017 - no dram -
|-
| <!--Brand-->sk hynix
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2012 sandforce controller -
|-
| <!--Brand-->sk Hynix SH910A
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2014 - Link_A_Media (LAMD) controller with eight 256Gbit H27QEGDVEBLR NAND 20nm hynix MLC - SK hynix H5PS1G83JFA DRAM -
|-
| <!--Brand-->sk Hynix SC300
| <!--Model-->HFS256G32MND-3210A, HFS256G32MND-3312A,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2015 - red strip around edges - 8-channel controller SK hynix LM87810AA-A0 with DDR2 buffer chip and four pieces of 16nm hynix MLC NAND -
|-
| <!--Brand-->Sk Hynix Canvas SL300 series 2.5in SSD
*3110A SL301STD
*3210A
*3300A
*3310A
| <!--Model-->HFS500G32TND, HFS256G32TNE, HFS128G32TNF
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016 TLC - consumer line red in corners - SK hynix LM878100AA (HFS256G32MND-3312A) later SH87820BB and NAND 16nm hynix TLC - 256mb dram
|-
| <!--Brand-->Sk Hynix Canvas SC3 series 2.5in SSD
*N1A0A , ,
*N1A1A
*N1A2A SC308STD,
*N2A0A , , SC311STD
| <!--Model-->HFS512G32TNF-N2A0A,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017 - red in corners - no dram and no SLC cache - Hynix ex Link_A_Media Devices (LAMD) SH87820BB 2c but poor mixed workload ability MLC -
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Team EX2 GX2 Elite QX
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2023
|-
| <!--Brand-->TEAMGROUP AX2 2.5 Inch SATA III Solid State Drive SSD
| <!--Model-->T253A3512G0C101, T253A3001T0C101, T253A3002T0C101,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 3D NAND TLC
|-
| <!--Brand-->TeamGroup TF Vulcan Z 2.5in sata
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 dramless smi2259xt 128L tlc nand -
|-
| <!--Brand-->TeamGroup T-Force Vulcan ZQLC
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024 dram-less smi2259xt qlc 144L nand -
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Topesel
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Toshiba Q300 7mm SSD
| <!--Model-->HDTS896EZSTA, HDTS848EZSTA, HDTS824EZSTA, HDTS812EZSTA
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016 Toshiba TC58NC1000 controller with 3-bit-per-cell A15nm NAND Flash and SLC Write Cache -
|-
| <!--Brand-->Toshiba Q300 Pro 7mm SSD
| <!--Model-->HDTS824
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Transcend SSD370S 250GB 2.5" SATA SSD
| <!--Model-->TS256GSSD370S
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Transcend 220S 2.5in
| <!--Model-->TS120GSSD220S
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016 3D TLC without dram
|-
| <!--Brand-->Transcend SSD230S 2.5in
| <!--Model-->TS256GSSD230S TS512GSSD230S TS1TSSD230S TS2TSSD230S
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017 3D TLC NAND with DRAM Cache
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Viathan
| <!--Model-->S001T3V
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->WD Red SA500 NAS
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018
|-
| <!--Brand-->WD Blue SA510 250Gb to 4Tb
| <!--Model-->WDS400T3B0A WDS200T3B0A WDS100T3B0A WDS500G3B0A WDS250G3B0A
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018 -
|-
| <!--Brand-->Western Digital WD Green SSD 2.5"
| <!--Model-->WDS240G1G0A
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->WD Green 200Gb to 2Tb
| <!--Model-->WDS200T2G0A WDS100T3G0A WDS480G2G0A WDS240G2G0A WDS120G2G0A
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018 - cheap and slow ssd -
|-
| <!--Brand-->WD SA530
| <!--Model-->SDASB8Y-256G SD9SB8W,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022
|-
| <!--Brand-->[https://www.xray-disk.com xraydisk] 2.5 inch
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> from the manufacturer only - Phsion/SMI(2258XT)/Realtek/Yeestor
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Xum
| <!--Model-->hx256gssdsata3
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Yottamaster
| <!--Model-->Y3000
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> PCie 3.0
|-
| <!--Brand-->Yottamaster
| <!--Model-->Y7000
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> PCIe 4.0
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|}
=== SATA 9mm 2.5inch SSD ===
{| class="wikitable" width="100%"
! width="20%" |Brand
! width="20%" |Model
! width="10%" |Works MSDos/PC Bios
! width="10%" |Works GPT/UEFI
! width="20%" |Tested Distribution
|-
| <!--Brand-->Corsair F120
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Crucial M225 SSD 2.5inch
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2009 sata2 3gbp/s sandforce controler and MLC nand -
|-
| <!--Brand-->Crucial RealSSD [https://www.storagereview.com/review/crucial-realssd-c300-review-256gb C300]
| <!--Model-->CTFDDAC256MAG,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2010 sata3 6gbps - Marvell 88SS9174-BJP2 controller with a 128MB Micron 0AD12-D9LGQ RAM buffer with Micron 9wb11 MLC NAND - fast on 6Gbps SATA3 -
|-
| <!--Brand-->Intel X25--M
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2010
|-
| <!--Brand-->OCZ Vertex Series
| <!--Model-->OCZSSD2-1VTX60G,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2009 Indilinx Barefoot controller -
|-
| <!--Brand-->OCZ Vertex 2
| <!--Model-->OCZSSD32VTX90G,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2010 Sandforce SF 1200 controller -
|-
| <!--Brand-->OCZTechnology Agility 3
| <!--Model-->AGT3-25SAT3-240G, AGT3-25SAT3-120G, AGT3-25SAT3-60G
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2011 sandforce sf-2281 controller -
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
|}
=== SATA M.2 (M and B key) ===
{| class="wikitable" width="100%"
! width="20%" |Brand
! width="20%" |Model
! width="10%" |Works MSDos/PC Bios
! width="10%" |Works GPT/UEFI
! width="20%" |Tested Distribution
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->ADATA M.2 2280 Sata
| <!--Model-->AXNS381E-128GM-B
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Fanxiang S201 m.2 sata 2280
| <!--Model-->S201
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Fikwot FN203 m.2 sata (oldtan, twipps, teexin aka Shenzhen Pingfan "Ordinary" Road Technology Co., Ltd)
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 lifespan not long Maxio MAP + YMTC 128L
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Foresee (Shenzhen Longsys)
| <!--Model-->YSM80CD-128G YSDE128G
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016 - 88nv1120-bt22 T3WU030
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Integral 2242 120G
| <!--Model-->INSSD120GM242
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> tlc nand
|-
| <!--Brand-->Integral M.2 2280
| <!--Model-->INSSD256GM.26M2280
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> tlc nand
|-
| <!--Brand-->Integral 256GB/512GB/1TB/2TB
| <!--Model-->INSSD1TM280
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 netac rebrand - no dram cache -
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Intel Pro 545S 2280
| <!--Model-->SSDSCKKF256G8H
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> no dram, TLC nand
|-
| <!--Brand-->Intel
| <!--Model-->SSDSC2KF
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Intenso M.2 internalSSD SATA III 1 TB
| <!--Model-->Top
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Brand
| Model
| Work MSDos
| Work GPT
| Tested Under
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Kingston A400 m.2
| <!--Model-->SA400M8/240G
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2015 entry level ssd 4 x FH64B08UCT1-60 64G -
|-
| <!--Brand-->Kingston
| <!--Model-->RBU-SNS8350DES3128GP
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Kingston V300
| <!--Model-->SV300S3505AG
| <!--Work MSDos-->{{yes}}
| <!--Work GPT-->
| <!--Tested under-->Nightly Build 2014-09-18
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->LITEON SATA 128GB
| <!--Model-->CV3-8D128-11
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->LITEON
| <!--Model-->CV1-8B256-HP
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Lite-On
| <!--Model-->L8H-256V2G-HP L8H-128V2G-HP
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2015 2016 nanya nt5c864m16fp-dh
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->LSI
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2014 SF37000 controller
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Brand
| Model
| Work MSDos
| Work GPT
| Tested Under
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Micron
| <!--Model-->M550
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2013 Marvell 88SS9189 SATA controller
|-
| <!--Brand-->Micron M600 enterprise m.2 sata up to 512GB
| <!--Model-->MTFDDAV256MBF
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2014 Marvell 88SS9189 SATA controller, DRAM chip 256MB 533MHz LPDDR2, NAND for the 256GB drive MT29F1T08CQCCBG2-10:C 16nm MLC NAND each 128GB package
|-
| <!--Brand-->MICRON 1100 M.2 SATA 6Gb/s 2280
| <!--Model-->MTFDDAV256TBN HP P/N 903109-001,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2015
|-
| <!--Brand-->Orico Y20M-2242
| <!--Model-->Y20M
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024
|-
| <!--Brand-->Orico
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->202
|-
| <!--Brand-->Orico
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->202
|-
| <!--Brand-->PNY
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Brand
| Model
| Work MSDos
| Work GPT
| Tested Under
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Samsung PM841 M.2 sata3 2280
| <!--Model-->MZ-NTD2560/0L9 MZNTD256HAGL-000L9
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2015 TLC
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Samsung CM871 Rev 0
| <!--Model-->MZNLF128HCHP-000H1 MZ-NLF1280
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016
|-
| <!--Brand-->Samsung PM871a m.2 Sata
| <!--Model-->MZNLN256HMHQ, NLN512A P/N MZNLN512HMJP-000H1,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016 TLC
|-
| <!--Brand-->SAMSUNG PM871b
| <!--Model-->MZNLN128HAHQ-000H1, MZNLN256HAJQ MZ-NLN256F MZ-NLN256C,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016
|-
| <!--Brand-->Samsung PM881
| <!--Model-->MZ-NLH1280 MZNLH128HBHQ-000H1
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Brand
| Model
| Work MSDos
| Work GPT
| Tested Under
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->SanDisk X300 M.2 sata 2280 80mm SSD Solid State Drive
| <!--Model-->SD7SN6S-256G-1006
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2015
|-
| <!--Brand-->Sandisk X400 SSD M.2 sata 2280
| <!--Model-->SD8SN8U-128G-1006, SD8SN8U-256G-1006, SD8SN8U-512-1006,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016 SSD controller Marvell 88SS1074 four channel supports variety of NAND and up to 512MB DDR3L-1600 Micron DRAM cache -
|-
| <!--Brand-->SanDisk X600 M.2 SSD Solid State Drive
| <!--Model-->SD9SN8W-128G-1006 SD9TN8W-256G-1006
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018
|-
| <!--Brand-->SANDISK X110 DELL 6T4HK M.2 2260
| <!--Model-->SD6SP1M
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->SK Hynix SC300
| <!--Model-->SC308M280S HFS128G39TND
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2015 SH87820BB controller - No dram buffer - multi-level cell (MLC) NAND
|-
| <!--Brand-->SK HYNIX
| <!--Model-->SC311 HFS256G39TNF
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->SK HYNIX
| <!--Model-->SC401 HFS256G39TNH
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Silicon Power A55 M.2 sata 2280
| <!--Model-->A55
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017 - no dram -
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->TEAMGROUP Team MS30 SSD M.2 Sata 2280
| <!--Model-->TM8PS7001T0C101
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Brand
| Model
| Work MSDos
| Work GPT
| Tested Under
|-
| <!--Brand-->Toshiba RC100 (retail version of BG3)
| <!--Model-->KBG30ZMV256G,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017
|-
| <!--Brand-->Toshiba HG6 m.2
| <!--Model-->THNSNJ512GDNU THNSNJ512G8NY, THNSNJ256GDNU THNSNJ256G8NY, THNSNJ128GDNU THNSNJ128G8NY, THNSNJ256GVNU THNSNJ128GVNU,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2018
|-
| <!--Brand-->TOSHIBA SSD M.2 2280 256GB
| <!--Model-->KSG50ZMV256G
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2019
|-
| <!--Brand-->Kioxia (Toshiba) BG6
| <!--Model-->KSG60ZMG256G,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Transcend
| <!--Model-->400
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Transcend M.2 SSD 2242 TS32GMTS400S TS64GMTS400S TS128GMTS400S
| <!--Model-->400S
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> DDR3 dram cache and mlc nand
|-
| <!--Brand-->Transcend
| <!--Model-->M.2 SSD 600 (2260), M.2 SSD 800S (2280)
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> mlc nand
|-
| <!--Brand-->Transcend M.2 SSD 2242 TS120GMTS420S TS240GMTS420S TS480GMTS420S
| <!--Model-->420S
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> can run hot slc cache
|-
| <!--Brand-->Transcend M.2 SSD 2242 TS256GMTS430S TS512GMTS430S
| <!--Model-->430S
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> dram cache - 3d tlc nand
|-
| <!--Brand-->Transcend M.2 SSD 2280 TS120GMTS820S TS240GMTS820S TS960GMTS820S
| <!--Model-->820S
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> 3D nand
|-
| <!--Brand-->Transcend M.2 SSD 2280 TS256GMTS830S TS512GMTS830S TS1TMTS830S TS4TMTS830S
| <!--Model-->830S
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> dram cache
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Western Digital WD Green SATA SSD m.2 2280 120GB to 480Gb
| <!--Model-->WDS480G2G0B WDS240G2G0B WDS120G2G0B
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2020 made in malaysia
|-
| <!--Brand-->Western Digital WD Green SATA SSD m.2 2280 240Gb to
| <!--Model-->WDS240G3G0B
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2022 made in
|-
| <!--Brand-->WD Blue SA510 M.2 SATA 250Gb to 2Tb
| <!--Model-->WDS200T3B0B WDS100T3B0B WDS500G3B0B WDS250G3B0B
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->WD Red 500GB 1TB 2TB
| <!--Model-->SA500
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->union memory AM610 m.2 sata
| <!--Model-->SSS0R27339,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
|}
=== mSATA SSD ===
{| class="wikitable" width="100%"
! width="20%" |Brand
! width="20%" |Model
! width="10%" |Works MSDos/PC Bios
! width="10%" |Works GPT/UEFI
! width="20%" |Tested Distribution
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Fangxiang S301
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Kingchuxing
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Integral
| <!--Model-->INSSD256GMSA MO-300
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> tlc 3d nand
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Micron enterprise
| <!--Model-->M600
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Orico ZH-10 ZH10
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2024
|-
| <!--Brand-->Samsung 840 EVO 1.8inch msata
| <!--Model-->MZ-M
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2015
|-
| <!--Brand-->Samsung 850 EVO 1.8in
| <!--Model-->MZ-M5E120BW, MZ-M5E250BW, MZ-M5E500BW,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016
|-
| <!--Brand-->Samsung PM851 1.8" msata
| <!--Model-->MZ-MTE256D P/N MZ-MTMTE256HMHP, MZ-MTE1T00,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2016
|-
| <!--Brand-->Samsung 860 EVO 1.8inch msata
| <!--Model-->MZ-MM6E250BW, MZ-M6E500BW, MZ-M6E1T0BW
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2017
|-
| <!--Brand-->Transcend TS64GMSA370S
| <!--Model-->MSA370S
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> MLC nand
|-
| <!--Brand-->Transcend TS64GMSA230S
| <!--Model-->230S
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> 3d tlc nand
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
|}
=== SATA 2.5inch Laptop Hard Disks ===
====7mm====
{| class="wikitable" width="100%"
! width="20%" |Brand
! width="20%" |Model
! width="10%" |Works MSDos/PC Bios
! width="10%" |Works GPT/UEFI
! width="20%" |Tested Distribution
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Fujitsu
| <!--Model-->CP628230-01 500Gb
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Fujitsu
| <!--Model-->CP552605-01 250Gb
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->Fujitsu
| <!--Model-->CP693440-01 500Gb
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Brand
| Model
| Work MSDos
| Work GPT
| Tested Under
|-
| <!--Brand-->HGST Travelstar
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->HGST Hitachi Z5K320 Z5K500-500 Z5K100 series
* 2013 HTS545050A7E380 HTS
* 2015 HTS545050A7E680 HTS
| <!--Model-->HTS 320GB 500Gb 1Tb
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> 5400rpm
|-
| <!--Brand-->HGST Hitachi Z7K320 Z7K500 series
| <!--Model-->HTS725050A7E630 320Gb HTS725050A7E635 500Gb 7200rpm
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> avoid if it does not have the DCM code
|-
| <!--Brand-->HGST 1T 5400rpm
| <!--Model-->HTS541010B7E610
| <!--Work-->
| <!--Tested under-->2017 128m cache
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Brand
| Model
| Work MSDos
| Work GPT
| Tested Under
|-
| <!--Brand-->Seagate Momentus Thin
| <!--Model-->ST500LT012 ST320LT012. ST250LT012 500Gb 320gb 250gb 2014 5.4K rpm
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2012
|-
| <!--Brand-->Seagate Thin SSHD 5400RPM Sata 2.5"
| <!--Model-->ST500LM000 500GB, ST500LM001, ST500LM020
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2013 up to 64M cache and with 8GB NAND Flash
|-
| <!--Brand-->Seagate MomentusThin-B Video 2.5 HDD
* 2014
* 2015
* 2016
* 2017
| <!--Model-->ST500VT000 500GB,
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2014
|-
| <!--Brand-->SEAGATE Baracuda 2.5 5400
| <!--Model-->ST2000LM015 (2Gb), ST1000LM049 (1Tb), ST500LM030 (500Gb)
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> 5400rpm
|-
| <!--Brand-->Seagate Barracuda Pro
| <!--Model-->ST1000LM048 ST1000LM035
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> up to 128MB cache
|-
| <!--Brand-->SEAGATE FireCuda Compute 2.5
| <!--Model-->ST500LX025 ST1000LX015 ST2000LX001
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> 8GB NAND Commercial Multilevel Cell (cMLC), 128MB buffer and 5400-RPM spindle speed up to 140 MB/s
|-
| <!--Brand-->Toshiba 2.5in
| <!--Model-->MQ04ABF100 1TB 5400 RPM 2018
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->TOSHIBA MQ01ACF
| <!--Model-->MQ01ACF050 500GB 7200rpm 2020
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
|- style="background:lightgrey; text-align:center; font-weight:bold;"
| Brand
| Model
| Work MSDos
| Work GPT
| Tested Under
|-
| <!--Brand-->western digital wd blue 500G 8meg cache 5400rpm
* 2014 Rev T0
* 2015 Rev T1
| <!--Model-->wd5000lpvx
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->2012-2015 sequential 2MB block transfers 110 MB/s reading and writing -
|-
| <!--Brand-->Western Digital 2.5" WD Blue Slim
| <!--Model-->WD10SPCX 1TB Nov 2016
| <!--Work MSDos-->{{Yes|hdd under partition table msdos/pc, boots on bios machines, will not on uefi machine}}
| <!--Work GPT-->{{Unk|untested hdd under gpt partition protocol scheme, not booting on uefi}}
| <!--Tested under-->AROS One 1.8 USB
|-
| <!--Brand-->Western Digital WD
| <!--Model-->WD5000LUCX 500Gb 5400rpm 16mb cache Rev Y0
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under--> 2017 Malaysia
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
|}
====9.5mm====
{| class="wikitable" width="70%"
! width="20%" |Brand
! width="20%" |Model
! width="10%" |Works
! width="20%" |Tested Distribution
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Fujitsu
| <!--Model-->MHW2040BH
| <!--Work-->
| <!--Tested under--> 40gig
|-
| <!--Brand-->Fujitsu
| <!--Model-->MHY2080BH
| <!--Work-->
| <!--Tested under--> 80gig
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| Fujitsu
| MHW2120B
| {{yes}}
| Icaros Desktop 1.4
|-
| <!--Brand-->Hitachi Global Storage Technologies HGST bought by WD mid-2012 5K1000-1000
| <!--Model-->HTS721010A9E630
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Hitachi Global Storage Technologies HGST bought by WD mid-2012 5K1000-1000
| <!--Model-->HTS541010A9E662 type TS5SAF100
| <!--Work-->
| <!--Tested under--> 5400rpm
|-
| <!--Brand-->Hitachi Travelstar 5K500.B-320
| <!--Model-->HTS545025B9SA02 HTS545032B9A300 HTS545040B9A300 HTS545050B9A300 250Gb 320Gb 400Gb 500Gb 5400rpm
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Hitachi Global Storage Technologies HGST 1TB 7200rpm
| <!--Model-->HTS721010A9E630
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Samsung
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Samsung bought by Seagate late 2011
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Samsung Spinpoint with Seagate HD REV A (Jan 2014)
| <!--Model-->ST1000LM024
| <!--Work-->
| <!--Tested under--> , Advanced Format (AF)
|-
| <!--Brand-->Samsung Spinpoint with Seagate 9.5mm
* 2013 Rev A HN-M500MBB/I
* 2014 Rev B HN-M500MBB/SP4
* 2015 Rev B HN-M500MBB/P4C
| <!--Model-->ST500LM012 (500M)
| <!--Work-->
| <!--Tested under--> , Advanced Format (AF)
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Seagate Momentus 5400.3
| <!--Model-->ST9160821AS
| <!--Work-->
| <!--Tested under--> 160gig
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Seagate SSHD 1t
| <!--Model-->ST1000LM014, ST1000LM028, ST1000LM015
| <!--Work-->
| <!--Tested under--> 8g nand flash
|-
| <!--Brand-->Seagate SSHD 1T
| <!--Model-->ST1000LX001
| <!--Work-->
| <!--Tested under--> 32G nand flash
|-
| <!--Brand-->Toshiba
| <!--Model-->MK2555GSX HDD2H24
| <!--Work-->
| <!--Tested under--> 250g 5400rpm
|-
| <!--Brand-->Toshiba
| <!--Model-->MK5065GSX - 500GB 5400RPM SATA 3Gb/s 8MB Cache 2.5-Inch
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Toshiba
| <!--Model-->MKxx59GSXP, eg Toshiba MK6459GSXP 640GB 2011
| <!--Work-->{{yes}}
| <!--Tested under-->Icaros 2.2 with uses Advanced Format (AF) in 4,096 bytes per sector. Compatibility with legacy, 512 bytes through AF emulation techniques, called 512e
|-
| <!--Brand-->Toshiba (2013 to 2016)
| <!--Model-->MQ01ABD100
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Toshiba (2015 to 2020)
*2013
*2014
*2015 AA50/AX0D5A
*2016 AA60/AX0E1A
*
*2017 AGM AA01/AX002V
*2018 AGS AA70/AX0G1A
*2020 AA71/AX0G1A
| <!--Model-->MQ01ABD050 500meg
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Toshiba
| <!--Model-->MQ04ABF100 1TB 5400 RPM 2013
| <!--Work-->{{Yes}}
| <!--Tested under-->
|-
| <!--Brand-->TOSHIBA
| <!--Model-->MQ04ABD200 2TB 5400 RPM 128MB Cache SATA 6.0Gb/s
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Western Digital WD
| <!--Model-->WD7500BPVX 2013
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->WESTERN DIGITAL 1TB 2.5" SATA DRIVE 5400 rpm, 8MB cache
| <!--Model-->WD10JPVX-80JC3T0 (OCT 2014)
| <!--Work-->
| <!--Tested under--> , uses Advanced Format (AF)
|-
| <!--Brand-->WDC Western Digital Blue 1TB SATA 2.5" Hard Drive 5400 rpm, 8MB cache
| <!--Model-->WD10JPVX-08JC3T6 (Jun 2017)
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Western Digital WD
| <!--Model-->WD10JPCX 1Tb
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Western Digital
* 2019
| <!--Model-->WD10JUCT 1TB (1000GB) 2019
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->WD Western Digital Scorpio Black
* 2010
* 2014
| <!--Model-->WD5000BEKT, WD5000BPKX-22HPJT0, WD5000BPKT,
| <!--Work-->
| <!--Tested under--> 16m cache, 7200rpm thailand then malaysia
|-
| <!--Brand-->WD Western Digital Black
* 2016
| <!--Model-->WD2500LPLX, WD3200LPLX, WD5000LPLX SMR: WD5000LPSX, WD10SPSX
| <!--Work-->
| <!--Tested under--> 32m cache , 7200rpm SATA-III malaysia
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
|}
=== SATA 2.5in NON-Laptop Hard Disks ===
====11mm====
{| class="wikitable" width="70%"
! width="20%" |Brand
! width="20%" |Model
! width="10%" |Works
! width="20%" |Tested Distribution
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Fujitsu 160GB 250GB 300GB
| <!--Model-->MHX2160BT, MHX2250BT, MHX2300BT
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->TP00640GB
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
|}
====12.5mm====
{| class="wikitable" width="70%"
! width="20%" |Brand
! width="20%" |Model
! width="10%" |Works
! width="20%" |Tested Distribution
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
|}
====15mm====
{| class="wikitable" width="70%"
! width="20%" |Brand
! width="20%" |Model
! width="10%" |Works
! width="20%" |Tested Distribution
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Seagate 1TB IBM System X 15mm 2.5" SATA
| <!--Model-->ST91000640NS 81Y9731
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
|}
=== SATA Laptop Optical Drives ===
Tested in usb port not hub with
*
*13fd:0840 Initio Corporation INIC-1618L SATA
*
{| class="wikitable" width="70%"
! width="20%" |Brand
! width="20%" |Model
! width="10%" |Reads
! width="10%" |Writes
! width="20%" |Tested Distribution
|-
| <!--Brand-->HL-DT-ST DVDRAM
| <!--Model-->GSA T50L
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2009
|-
| <!--Brand-->HL Data Storage
| <!--Model-->GT10N
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2008 5v 12.7mm
|-
| <!--Brand-->HL Data Storage BD-Rom DVD Rewriter
| <!--Model-->CT10N AFCK101 LGE-DMCT10A(B)
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2009 5v 12.7mm fails early
|-
| <!--Brand-->Hitachi LG
| <!--Model-->GT20L
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2009/2010 5v 1.3A 12.7mm
|-
| <!--Brand-->HL Hitachi / LG
| <!--Model-->GT30N GT32N GT30L
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2010 12.7mm
|-
| <!--Brand-->HL Data Storage
| <!--Model-->GT40N
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2011 5v 12.7mm
|-
| <!--Brand-->HL Data Storage
| <!--Model-->GT50N GT51N
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2012 5v 12.7mm
|-
| <!--Brand-->HL Data Storage
| <!--Model-->GT90N
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2013 5v 12.7mm
|-
| <!--Brand-->HL
| <!--Model-->GU70N (HP/Dell),
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2014 5v 1.8A 9.5mm
|-
| <!--Brand-->HL
| <!--Model-->GUD0N
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2015 5v 1.8A 9.5mm
|-
| <!--Brand-->
| <!--Model-->GTA0N
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| <!--Brand-->HLDS Super Multi DVD Writer
*Rev 101
*rev 102 2015 factory GH
| <!--Model-->GUC0N (ALOK113) MSIP-REM-HLD-GUA0N
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2015 9.5mm - flaky and dies quickly -
|-
| <!--Brand-->HL Data
| <!--Model-->GTC0N
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2016 12.7mm 5V 1.8a -
|-
| <!--Brand-->HLDS
| <!--Model-->BU20N (S05JH) KCC-REM-HLD-BU10N
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2016 9.5mm
|-
| <!--Brand-->HLDS Super Multi DVD Writer
| <!--Model-->GUD1N (S05JH) (S05NT) KCC-REM-HLD-GU90N
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2017-2018 9.5mm 5v 1.8a - slow access -
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| <!--Brand-->Panasonic
| <!--Model-->Uj870a Uj880 UJ890
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| <!--Brand-->Panasonic
| <!--Model-->UJ8A0
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| <!--Brand-->Panasonic MATSHITA 12.7mm SATA DVD
| <!--Model-->UJ8B0 (Asus K53S),
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2011 12.7mm 5v 1.5a
|-
| <!--Brand-->Panasonic
| <!--Model-->UJ8B1
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2011 5v 1.5a
|-
| <!--Brand-->Panasonic
| <!--Model-->UJ8C0, UJ8C1, UJ8C2 9.5mm,
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2012 2013 5v 1.6a
|-
| <!--Brand-->Panasonic Precision Devices Co Ltd
| <!--Model-->UJ8D0, UJ8D1 KCC-REM-PPD-UJ8D1 HP 657534-TC2,
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2013 ok lifeline,
|-
| <!--Brand-->Panasonic
| <!--Model-->UJ8E2Q
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2014 9.5mm
|-
| <!--Brand-->Panasonic
| <!--Model-->UJ8FB
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2015 5v 1.5a 9.5mm
|-
| <!--Brand-->Panasonic Blu-Ray DVD Writer Slimline
| <!--Model-->UJ260
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2015 12.7mm
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution--> 9.5mm
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution--> 9.5mm
|-
| <!--Brand-->PLSD
| <!--Model-->DC-8A2SH,
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2010 12.7mm
|-
| <!--Brand-->PLSD
| <!--Model-->DU-8A3S
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| <!--Brand-->PLSD
| <!--Model-->DU-8A4SH
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| <!--Brand-->Philips Lite-On
| <!--Model-->DS-8A5LH
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution--> 12.5mm
|-
| <!--Brand-->Philips Lite-On DVD-ROM
| <!--Model-->DS-8DBSH1148
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2014 12.5mm
|-
| <!--Brand-->Philips Lite-On
| <!--Model-->DU-8A6SH (HP)
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2015 5v 1.5A 9.5mm
|-
| <!--Brand-->Philips and LiteOn
| <!--Model-->DS-8A8SH118C KCC-REM-PLD-DS-8A8LH
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2012 5v 1.5a 12.7mm
|-
| <!--Brand-->PLSD
| <!--Model-->DS-8A9SH DS8A9SH
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution--> 12.7mm
|-
| <!--Brand-->PLSD
| <!--Model-->DS-8ABSH
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution--> 12.7mm
|-
| <!--Brand-->PLSD DVD/CD Rewritable Drive
| <!--Model-->DU-8A5LH
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2016 9.5mm 5v 1.5a -
|-
| <!--Brand-->PLSD
| <!--Model-->DU-8ACSH
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution--> 9.5mm
|-
| <!--Brand-->PLSD Philips
| <!--Model-->da-8aesh11b, DA-8AESH-24B
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2019 9.5mm
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution--> 9.5mm
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution--> 9.5mm
|-
| <!--Brand-->Pioneer
| <!--Model-->DVR-TD09TBG
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution--> 12.7mm
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution--> 9.5mm
|-
| <!--Brand-->Sony
| <!--Model-->AD-7580s, AD-7581s SOK-AD-7580S(B), AD-7583s,
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2008-2010 5V 1.5A
|-
| <!--Brand-->Sony Optiarc SATA DVD
| <!--Model-->AD-7561S, AD-7560S
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2009 12.7 MM
|-
| <!--Brand-->Sony Optiarc
| <!--Model-->AD-7585H
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2009 12.7mm cleaning the laser lens inside the drive with a liquid lens cleaner. Also check the lens carrier slides freely from one extreme to the other inside the drive without sticking
|-
| <!--Brand-->Sony
| <!--Model-->AD7590s, AD-7591s,
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| <!--Brand-->Sony
| <!--Model-->AD-7700s, AD-7710h, AD-7701H, AD-7703S
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| <!--Brand-->Sony Optiarc
| <!--Model-->AD-7760H
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2012 5v 1.5A 12.7mm
|-
| <!--Brand-->Sony
| <!--Model-->AD-7711H AD-7740H
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution--> 12.5mm 12.7mm
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution--> 9.5mm
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution--> 9.5mm
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution--> 9.5mm
|-
| <!--Brand-->Toshiba Samsung
| <!--Model-->SN-S208B Ver BB Rev 00
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2009 12.7mm
|-
| <!--Brand-->Toshiba TSSTCorp Samsung
| <!--Model-->SN-S083C Ver C Rev 03 /BEBE
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2010 5v 1.5a 12.7 mm
|-
| <!--Brand-->Toshiba Samsung Storage Technology Corp
| <!--Model-->TS-L633
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2010 5v 1.3A 12.7mm
|-
| <!--Brand-->Toshiba Samsung
| <!--Model-->SN-208FB/BEBE
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2014 12.7mm 5v 1.3a - tracking issues, feels cheap and flaky in use -
|-
| <!--Brand-->TSST Toshiba Samsung Corp.
| <!--Model-->SU-208FB/TFJF KCC-REM-TSS-SU208
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2013-2014 9.5mm 5v 1.3a -
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution--> 9.5mm
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution--> 9.5mm
|-
| <!--Brand-->
*LG BU40N
*LG WP50NB40
*LG BP50NB40
*ASUS BW-16D1HT
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| <!--Brand-->
*LG BU50N
*LG WH16NS40
*LG WH14NS40
*ASUS BW-16D1X-U
*ASUS SBW-06D5H-U
*Verbatim 43889
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|}
=== [https://www.backblaze.com/cloud-storage/resources/hard-drive-test-data SATA Desktop 3.5inch Hard Disks] ===
Datasheets with the SMR (overlapped packing Shingled Magnetic Recording) and CMR (faster Conventional Magnetic Recording) parts
<pre>
WD: https://documents.westerndigital.com/content/dam/doc-library/en_us/assets/public/western-digital/product/internal-drives/wd-blue-hdd/product-brief-western-digital-wd-blue-pc-hdd.pdf
Seagate: https://www.seagate.com/content/dam/seagate/migrated-assets/www-content/datasheets/pdfs/3-5-barracudaDS1900-14-2007US-en_US.pdf
Toshiba: https://storage.toshiba.com/docs/support-docs/P300-SalesSheet_English_Web_r2.pdf
</pre>
{| class="wikitable" width="70%"
! width="20%" |Brand
! width="20%" |Model
! width="10%" |Works
! width="20%" |Tested Distribution
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->HGST Travelstar
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| Seagate Barracuda 7200.9
| ST3160812AS, ST3160212AS
| {{yes}}
| Icaros Desktop 1.5.2 - Capacity: 160 GB - Speed: 7200RPM - Cache: 8 MB - Interface: SATA2
|-
| <!--Brand-->Seagate Barracuda LP Green 5400rpm
| <!--Model-->ST1000DL002 1TB
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Seagate SkyHawk Surveillance HDD ST4000VX000 Series
| <!--Model-->ST4000VX013
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Seagate Baracuda Compute
| <!--Model-->ST500DM009 2F110A-500 / 02PKVY / 2PKVY (500m),
| <!--Work-->
| <!--Tested under--> - SATA III (6Gb/s) - Format 3.5" - 32MB Cache
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Seagate CMR
| <!--Model-->ST1000DM010 ST500DM009
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Seagate 2TB SMR
| <!--Model-->ST2000DM008
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Seagate SMR
| <!--Model-->ST8000DM004 ST6000DM003 ST4000DM004 ST3000DM007 ST2000DM005
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Toshiba 5400rpm
| <!--Model-->HDWD220
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Toshiba 7200rpm
| <!--Model-->HDWD320
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Toshiba P300 CMR
| <!--Model-->HDWD130XZSTA HDWD130UZSVA, HDWD120XZSTA HDWD120UZSVA, HDWD110XZSTA HDWD110UZSVA
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Western Digital 2010
| <!--Model-->WD20EARS Green 2TB 5400rpm 64mb cache
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Western Digital WD
| <!--Model-->WD20EFRX WD40EFRX 5400rpm
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Western Digital
| <!--Model-->WD4002FFWD
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Western Digital CMR
| <!--Model-->WD80EAAZ WD80EAZZ
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Western Digital CMR
| <!--Model-->WD20EARZ
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Western Digital CMR
| <!--Model-->WD40EZAZ, WD60EZAZ
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Western Digital SMR
| <!--Model-->WD20EARZ, WD20EZAZ - 2TB
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Western Digital SMR
| <!--Model-->WD40EZAX - 4TB, WD60EZAX - 6TB, WD80EZAX - 8TB
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
|}
=== SATA Desktop Optical Drives ===
{| class="wikitable" width="70%"
! width="20%" |Brand
! width="20%" |Model
! width="10%" |Reads
! width="10%" |Writes
! width="20%" |Tested Distribution
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
|}
==PATA==
=== IDE Desktop Hard Disks ===
{| class="wikitable" width="70%"
! width="20%" |Brand
! width="20%" |Model
! width="10%" |Works
! width="20%" |Tested Distribution
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| Fujitsu
| M1624TAU
| {{yes}}
| Icaros Desktop 1.5.2
|-
| IBM
| DHEA-38451
| {{yes}}
| Icaros Desktop 1.5.2
|-
| Samsung
| SP40A2H
| {{yes}}
| Icaros Desktop 1.5.2
|-
| Seagate
| ST3160215ACE
| {{yes}}
| Icaros Desktop 1.5.2
|-
| Seagate
| ST32122A
| {{maybe}}
| Icaros Desktop 1.5.2
|-
| Western Digital
| WD102AA
| {{yes}}
| Icaros Desktop 1.5.2
|-
| Western Digital
| WD200
| {{maybe}}
| Icaros Desktop 1.5.2
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
|}
=== IDE Laptop Hard Disks ===
{| class="wikitable" width="70%"
! width="20%" |Brand
! width="20%" |Model
! width="10%" |Works
! width="20%" |Tested Distribution
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| Fujitsu
| MHV2040AH
| {{yes}}
| Icaros Desktop 1.4
|-
| <!--Brand-->HGST Hitachi Travelstar
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Samsung
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->Seagate
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| Toshiba
| MK2011GAP
| {{yes}}
| Icaros Desktop 1.5.2
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
|}
=== IDE Desktop Optical Drives ===
{| class="wikitable" width="70%"
! width="20%" |Brand
! width="20%" |Model
! width="10%" |Reads
! width="10%" |Writes
! width="20%" |Tested Distribution
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested under-->
|-
| Compaq
| CR-594-BCQ
| {{yes}}
| {{n/a}}
| Icaros Desktop 1.5.2
|-
| Compaq
| CRD-8322B(CP1)
| {{yes}}
| {{n/a}}
| Icaros Desktop 1.5.2
|-
| Compaq
| CRD-8484B(AM2A)
| {{yes}}
| {{n/a}}
| Icaros Desktop 1.5.2
|-
| Compaq
| LTN-485
| {{yes}}
| {{n/a}}
| Icaros Desktop 1.5.2
|-
| Creative
| CD220E
| {{yes}}
| {{n/a}}
| Icaros Desktop 1.5.2
|-
| Hitachi-LG
| GDA-4120B
| {{yes}}
| {{no}}
| Icaros Desktop 1.5.2
|-
| LG
| CRD-8400B
| {{yes}}
| {{n/a}}
| Icaros Desktop 1.5.2
|-
| Lite-On
| LTN486S
| {{yes}}
| {{n/a}}
| Icaros Desktop 1.5.2
|-
| Mitsumi
| CRMC-FX4830T
| {{no}}
| {{n/a}}
| Icaros Desktop 1.5.2
|-
| NEC
| CDR-1700B
| {{yes}}
| {{n/a}}
| Icaros Desktop 1.5.2
|-
| NEC
| DV-5800A
| {{no}}
| {{n/a}}
| Icaros Desktop 1.5.2
|-
| NEC
| ND-2100A
| {{yes}}
| {{no}}
| Icaros Desktop 1.5.2
|-
| NEC
| NR-7900A
| {{yes}}
| {{no}}
| Icaros Desktop 1.5.2
|-
| Philips
| DVD8631
| {{no}}
| {{no}}
| Icaros Desktop 2.2
|-
| Samsung
| SC-148
| {{yes}}
| {{n/a}}
| Icaros Desktop 1.5.2
|-
| Samsung
| SCR-2030
| {{yes}}
| {{n/a}}
| Icaros Desktop 1.5.2
|-
| Samsung
| SM-348B
| {{yes}}
| {{n/a}}
| Icaros Desktop 1.5.2
|-
| Sony
| CDU601
| {{yes}}
| {{n/a}}
| Icaros Desktop 1.5.2
|-
| Sony
| CDU611-25
| {{no}}
| {{n/a}}
| Icaros Desktop 1.5.2
|-
| Toshiba
| SD-M1202
| {{no}}
| {{n/a}}
| Icaros Desktop 1.5.2
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested under-->
|}
=== IDE Laptop Optical Drives ===
{| class="wikitable" width="70%"
! width="20%" |Brand
! width="20%" |Model
! width="10%" |Reads
! width="10%" |Writes
! width="20%" |Tested Distribution
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| <!--Brand-->H-L Hitachi LG
| <!--Model-->GCC-4244N
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2006
|-
| Hitachi-LG
| GCCT10N
| {{yes}}
| {{Maybe|FryingPan WRITE seems to have no problem with data sections (track 1) - combos with audio sections (track 2) white screens aros eventually}}
| AspireOS Xenon with 25th Jan 2014 self update kernel
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| Philips
| SDR089
| {{yes}}
| {{unk}}
| Icaros Desktop 1.4
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| TSSTcorp
| TS-L462C TS-L462D
| {{yes}}
| {{unk}}
| 2005 Icaros Desktop 2.2
|-
| TSSTcorp
| TS-L632H
| {{yes}}
| {{unk}}
| Icaros Desktop 1.4
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| Sony
| DW-Q58A
| {{yes}}
| {{unk}}
| Icaros Desktop 2.2
|-
| Sony Optiarc
| AD-7540A
| {{yes}}
| {{unk}}
| Icaros Desktop 2.2
|-
| <!--Brand-->Sony
| <!--Model-->Optiarc DVD RW AD-7560A IDE
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| <!--Brand-->Sony
| <!--Model-->AD-7590A
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->2008 12.7mm
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Reads-->
| <!--Writes-->
| <!--Tested Distribution-->
|}
== SCSI ==
{| class="wikitable" width="100%"
! width="20%" |Brand
! width="20%" |Model
! width="10%" |Works MSDos/PC
! width="10%" |Works GPT/UEFI
! width="20%" |Tested Distribution
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
| <!--Brand-->
| <!--Model-->
| <!--Work-->
| <!--Tested under-->
|-
|}
{| class="wikitable" width="70%"
! width="20%" |Brand
! width="20%" |Model
! width="10%" |Works MSDos/PC Bios
! width="10%" |Works GPT/UEFI
! width="20%" |Tested Distribution
|-
| <!--Brand-->
| <!--Model-->
| <!--Work MSDos-->
| <!--Work GPT-->
| <!--Tested under-->
|-
|}
NVMe accepts up to 64,000 queues with up to 64,000 commands each.
0wt8qjidrvhzdeh57gxrhjlyhmb3yj4
Albanian/Food
0
292741
4639954
4229756
2026-06-11T20:16:09Z
~2026-34527-59
3605031
/* Fruits */
4639954
wikitext
text/x-wiki
*Bread : '''Bukë'''
*Water : '''Ujë'''
*Beans : '''Fasule'''
*Peas: '''Bizele'''
*Cucumber : '''Kastravec, Sallator''' (or) '''Trangull'''
*Oil : '''Vaj'''
*Olive : '''Ulli'''
*Cheese : '''Djath'''
*Taco : '''Sufllaqe'''
*Juice : '''Lëng'''
*Eggplant/Aubergine : '''Patëllxhan'''
*Soup: '''Supë'''
*Sugar: '''Sheqer'''
=Fruits=
*Peach: '''Pjeshke'''
*Blueberry: '''Boronica'''
*Raspberry: '''Mjedër'''
*Apple : '''Molle'''
*Banana: '''Banane'''
*Melon: '''Pjeper'''
{{BookCat}}
mm4uu5w1xrgfhuvycx4j9uxx5q7flg9
Fractals/Iterations in the complex plane/MandelbrotSetExterior
0
367335
4639932
4639891
2026-06-11T17:09:19Z
Aokoroko
3059689
/* Mandelbrot CLI: Renderer with 5000-bit and Perturbation Theory */
4639932
wikitext
text/x-wiki
[[Fractals/color_mandelbrot|Colouring]] of exterior of Mandelbrot set can be :
* non-smooth = Escape Time = dwell
** Boolean/binary Escape Time Method ( bETM/M )
** discrete = Level Set Method = LSM/M = integer ETM = iETM/M
* Smooth :
** radial measures
*** Real Escape Time Method( rETM/M )
*** Distance Estimation Method( DEM/M )
*** radius of complex potential = Complex Potential Method ( CPM/M )
** angular measures
*** argument of complex potential
*** SAC = stripe average coloring
*** other
**** "triangle inequality"<ref>[http://www.hiddendimension.com/fractalmath/divergent_fractals_main.html Mathematics of Divergent Fractals by ]</ref><ref>[http://jussiharkonen.com/gallery/coloring-techniques/ jussi harkonen : coloring-techniques]</ref>
**** Orbit trap <ref>[[w:Orbit trap|wikipedia : Orbit trap]]</ref><ref>[https://www.youtube.com/watch?v=tnMNamKPy6k Mandelbrot Orbit Trap Rendering! Programming How-To Video by DKM101]</ref>
One can also draw curves :
* external rays
* equipotential lines ( closed curves - quasi circles)
Similar projects:
* [http://mathr.co.uk/blog/2014-03-06_mandelbrot_notebook.html Mandelbrot Notebook by Claude Heiland-Allen ]
** [https://code.mathr.co.uk/mandelbrot-book mandelbrot-book]
** [https://gitlab.com/adammajewski/mandelbrot-book_book mandelbrot-book/book : one file c programs , images and description]
** [https://gitlab.com/adammajewski/my-book fork of the mandelbrot-book] and [https://gitlab.com/adammajewski/git-book-pdf book in pdf format]
* [https://www.math.univ-toulouse.fr/~cheritat/wiki-draw/index.php/Main_Page different drawing techniques and algorithms by Arnaud Cheritat ]
** [https://www.math.univ-toulouse.fr/~cheritat/wiki-draw/index.php/Mandelbrot_set Mandelbrot set] and [https://gitlab.com/adammajewski/mandelbrot_wiki_ACh example C programs ( not by A Cheritat)]
* Linas Vepstas' Art Gallery:
** [http://linas.org/art-gallery/index.html original site]
** [https://gitlab.com/adammajewski/LinasArtGallery_MandelbrotSet fork at gitlab]
== Mandelbrot CLI: Renderer with Perturbation Theory (with a 1e−308 hardware limit) ==
Key Features:
High-Precision Reference: The 5000-bit reference trajectory is computed exactly once per zoom layer.
Hardware-Native Performance: Blazing-fast math for billions of pixels utilizing hardware-native double registers.
Innovative Algorithm: Revolutionary Reference Reset to Zero implementation.
True 8x8 SSAA: Pristine, anti-aliased image quality with 64 independent samples per pixel.
OpenMP Multi-threading: High-speed parallel computing to maximize CPU utilization.
<gallery>
File:Mandelbrot_Set_Image_106.png|The 5000-bit reference trajectory is computed exactly once per zoom layer.
</gallery>
<syntaxhighlight lang=cpp>
/*
* Original project:
* https://github.com/Divetoxx/Mandelbrot
*/
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
#include <cstdint>
#include <string>
#include <atomic>
#include <omp.h>
#include <cstdio>
#include <iomanip>
#include <gmp.h>
#include <mpfr.h>
using namespace std;
const double PI = 3.14159265358979323846;
const mpfr_prec_t MPFR_BITS = 5000;
#pragma pack(push, 1)
struct BMPHeader {
uint16_t type{0x4D42};
uint32_t size{0};
uint16_t reserved1{0};
uint16_t reserved2{0};
uint32_t offBits{54};
uint32_t structSize{40};
int32_t width{0};
int32_t height{0};
uint16_t planes{1};
uint16_t bitCount{24};
uint32_t compression{0};
uint32_t sizeImage{0};
int32_t xpelsPerMeter{2834};
int32_t ypelsPerMeter{2834};
uint32_t clrUsed{0};
uint32_t clrImportant{0};
};
#pragma pack(pop)
struct ComplexDouble {
double re;
double im;
};
void save_bmp(const string& filename, const vector<uint8_t>& data, int w, int h) {
int rowSize = (w * 3 + 3) & ~3;
BMPHeader header;
header.width = w;
header.height = h;
header.sizeImage = rowSize * h;
header.size = header.sizeImage + 54;
ofstream f(filename, ios::binary);
f.write(reinterpret_cast<char*>(&header), 54);
f.write(reinterpret_cast<const char*>(data.data()), data.size());
f.close();
}
int main() {
string absc_str, ordi_str, size_str;
absc_str = "-1.7491976289657893741942376816272921165326158557416159";
ordi_str = "-0.00000042530777152440422725855012159249401150956515248";
size_str = "0.00000000000000000000000000000000000000000000000000431";
const int targetW = 10000;
const int targetH = 10000;
const int scale = 8;
const int rawW = targetW * scale;
const int rawH = targetH * scale;
cout << "Step 1: Calculating Raw Map (" << rawW << "x" << rawH << ") using Perturbation..." << endl;
vector<uint8_t> iterMap((size_t)rawW * rawH);
mpfr_t rx, ry, zr, zi, zr2, zi2, tmp, sz, st;
mpfr_inits2(MPFR_BITS, rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
mpfr_set_str(rx, absc_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(ry, ordi_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(sz, size_str.c_str(), 10, MPFR_RNDN);
mpfr_div_ui(st, sz, rawW, MPFR_RNDN);
double step_d = mpfr_get_d(st, MPFR_RNDN);
double ref_rec_d = mpfr_get_d(rx, MPFR_RNDN);
double ref_imc_d = mpfr_get_d(ry, MPFR_RNDN);
vector<ComplexDouble> ref_orbit_double(50005);
mpfr_set_ui(zr, 0, MPFR_RNDN);
mpfr_set_ui(zi, 0, MPFR_RNDN);
mpfr_set_ui(zr2, 0, MPFR_RNDN);
mpfr_set_ui(zi2, 0, MPFR_RNDN);
uint32_t ref_i = 0;
bool escaped = false;
while (ref_i < 50000) {
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
mpfr_mul(tmp, zr, zi, MPFR_RNDN);
mpfr_mul_ui(zi, tmp, 2, MPFR_RNDN);
mpfr_add(zi, zi, ry, MPFR_RNDN);
mpfr_sub(zr, zr2, zi2, MPFR_RNDN);
mpfr_add(zr, zr, rx, MPFR_RNDN);
mpfr_mul(zr2, zr, zr, MPFR_RNDN);
mpfr_mul(zi2, zi, zi, MPFR_RNDN);
if (escaped) {
ref_i++;
break;
}
mpfr_add(tmp, zr2, zi2, MPFR_RNDN);
if (mpfr_cmp_d(tmp, 4.0) >= 0) {
escaped = true;
}
ref_i++;
}
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
uint32_t max_valid_ref_iter = ref_i;
mpfr_clears(rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
atomic<int> linesDone{0};
#pragma omp parallel for schedule(dynamic)
for (size_t b = 0; b < (size_t)rawH; ++b) {
for (size_t a = 0; a < (size_t)rawW; ++a) {
double delta_rec = (double)((long long)a - (rawW / 2)) * step_d;
double delta_imc = (double)((long long)b - (rawH / 2)) * step_d;
uint32_t index = 0;
double delta_re = 0.0;
double delta_im = 0.0;
double z_re = 0.0;
double z_im = 0.0;
uint32_t i = 0;
const ComplexDouble* ref_ptr = ref_orbit_double.data();
while (i < max_valid_ref_iter) {
if ((z_re * z_re + z_im * z_im) >= 40000.0) {
break;
}
if ((z_re * z_re + z_im * z_im) < (delta_re * delta_re + delta_im * delta_im)) {
index = 0;
delta_re = z_re;
delta_im = z_im;
}
for (int step = 0; step < 2; ++step) {
double Ur = ref_ptr[index].re;
double Ui = ref_ptr[index].im;
double next_delta_im = 2.0 * Ur * delta_im + 2.0 * Ui * delta_re + 2.0 * delta_re * delta_im + delta_imc;
delta_re = 2.0 * Ur * delta_re - 2.0 * Ui * delta_im + delta_re * delta_re - delta_im * delta_im + delta_rec;
delta_im = next_delta_im;
index++;
}
z_re = ref_ptr[index].re + delta_re;
z_im = ref_ptr[index].im + delta_im;
i += 2;
}
int final_t = 50000 - i;
if (final_t == 0) {
iterMap[b * (size_t)rawW + a] = 255;
} else {
iterMap[b * (size_t)rawW + a] = (uint8_t)(final_t % 254);
}
}
if (++linesDone % 100 == 0) cout << "Progress: " << linesDone << "/" << rawH << "\r" << flush;
}
uint8_t pal[256][3];
for (int a = 0; a < 255; ++a) {
pal[a][0] = (uint8_t)round(127.0 + 127.0 * cos(2.0 * PI * a / 255.0)); // Blue
pal[a][1] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Green
pal[a][2] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Red
}
pal[255][0] = 255; pal[255][1] = 255; pal[255][2] = 255;
cout << "\nStep 2: Rendering frames..." << endl;
int rowSize = (targetW * 3 + 3) & ~3;
for (int frame = 0; frame < 255; ++frame) {
vector<uint8_t> frameData(rowSize * targetH);
#pragma omp parallel for schedule(static)
for (int y = 0; y < targetH; ++y) {
for (int x = 0; x < targetW; ++x) {
uint32_t rSum = 0, gSum = 0, bSum = 0;
for (int j = 0; j < scale; ++j) {
size_t mapRowIdx = (size_t)(y * scale + j) * rawW;
for (int i = 0; i < scale; ++i) {
uint8_t t = iterMap[mapRowIdx + (x * scale + i)];
int colorIdx;
if (t == 255) {
colorIdx = 255;
} else {
colorIdx = (t - frame + 255) % 255;
}
bSum += pal[colorIdx][0];
gSum += pal[colorIdx][1];
rSum += pal[colorIdx][2];
}
}
int outIdx = y * rowSize + x * 3;
frameData[outIdx + 0] = (uint8_t)(bSum >> 6);
frameData[outIdx + 1] = (uint8_t)(gSum >> 6);
frameData[outIdx + 2] = (uint8_t)(rSum >> 6);
}
}
string filename = "Mandelbrot" + to_string(1000 + frame).substr(1) + ".bmp";
save_bmp(filename, frameData, targetW, targetH);
cout << "Frame " << frame << "/254 saved. \r" << flush;
}
return 0;
}
</syntaxhighlight>
=='''Escape time''' or dwell==
Here for given point c on parameter plane one checks how critical point <math> z = 0.0 </math> behaves on dynamical plane under [[Fractals/Iterations in the complex plane/q-iterations#Forward iteration|forward iteration]]. If you change initial point you will get different result <ref>[http://mathesim.degruyter.de/jws_en/show_simulation.php?id=1052&type=RoessMa&lang=en Java program by Dieter Röß showing result of changing initial point of Mandelbrot iterations]</ref>
To draw given plane one needs to [[Fractals/Computer graphic techniques/2D#Scanning|check/scan]] (all) its points. See [[Fractals/Iterations in the complex plane/Mandelbrot set#Period detection|here for more details ( optimisation)]]
Read [[Fractals/Iterations in the complex plane/def cqp|definitions]] first.
===How to find the number of iterations required to escape the mandelbrot set ?===
* [https://math.stackexchange.com/questions/4056809/is-there-an-equation-for-the-number-of-iterations-required-to-escape-the-mandelb/4059340 math.stackexchange question: is-there-an-equation-for-the-number-of-iterations-required-to-escape-the-mandelb]
* [https://math.stackexchange.com/questions/16970/a-way-to-determine-the-ideal-number-of-maximum-iterations-for-an-arbitrary-zoom?rq=1 math.stackexchange question: a-way-to-determine-the-ideal-number-of-maximum-iterations-for-an-arbitrary-zoom?]
===Boolean escape time ===
This algorithm answers the question: “For which values of c will the Julia fractal, J(c), be line-like and for which dust-like?”<ref>[https://www.ntg.nl/maps/45/03.pdf Julia fractals in PostScript by Kees van der Laan, EUROTEX 2012 & 6CM PROCEEDINGS 47]</ref>
Here complex plane consists of 2 sets : Mandelbrot set <math>M\,</math> and its complement <math>M^c\,</math> :
<math>\mathbb{C}= M \cup M^c</math>
====ASCI graphic ( on screen) ====
[[File:Mandel.png|right|thumb|ASCI graphic : Boolean escape time in text mode]]
<syntaxhighlight lang=c>
// http://mrl.nyu.edu/~perlin/
main(k){float i,j,r,x,y=-16;while(puts(""),y++<15)for(x
=0;x++<84;putchar(" .:-;!/>)|&IH%*#"[k&15]))for(i=k=r=0;
j=r*r-i*i-2+x/25,i=2*r*i+y/10,j*j+i*i<11&&k++<111;r=j);}
</syntaxhighlight>
<syntaxhighlight lang=haskell>
-- Haskell code by Ochronus
-- http://blog.mostof.it/mandelbrot-set-in-ruby-and-haskell/
import Data.Complex
mandelbrot a = iterate (\z -> z^2 + a) a !! 500
main = mapM_ putStrLn [[if magnitude (mandelbrot (x :+ y)) < 2 then '*' else ' '
| x <- [-2, -1.9685 .. 0.5]]
| y <- [1, 0.95 .. -1]]
</syntaxhighlight>
<syntaxhighlight lang=lisp>
; common lisp
(loop for y from -1.5 to 1.5 by 0.05 do
(loop for x from -2.5 to 0.5 by 0.025 do
(let* ((c (complex x y)) ; parameter
(z (complex 0 0))
(iMax 20) ; maximal number of iterations
(i 0)) ; iteration number
(loop while (< i iMax ) do
(setq z (+ (* z z) c)) ; iteration
(incf i)
(when (> (abs z) 2) (return i)))
; color of pixel
(if (= i iMax) (princ (code-char 42)) ; inside M
(princ (code-char 32))))) ; outside M
(format t "~%")) ; new line
</syntaxhighlight>
Comparison programs in various languages <ref>[http://www.timestretch.com/tag/mandelbrot Fractal Benchmark by Erik Wrenholt]</ref><ref>[http://www.righto.com/2015/03/12-minute-mandelbrot-fractals-on-50.html 12-minute Mandelbrot: fractals on a 50 year old IBM 1401 mainframe]</ref>
==== Graphic file ( PPM ) ====
Here are various programs for creating pbm file <ref>[https://benchmarksgame-team.pages.debian.net/benchmarksgame/description/mandelbrot.html#mandelbrotThe Computer Language Benchmarks Game ]</ref>
* GLSL using [[Fractals/shadertoy#Boolean escape time|shadertoy]]
* short c programs by ed Burke<ref>[https://batchloaf.wordpress.com/2016/02/13/example-code-from-presentation-ways-of-seeing-julia-sets/ example-code-from-presentation-ways-of-seeing-julia-sets by ed Burke]</ref>
=====C=====
This is complete code of C one file program.
*It makes a ppm file which consists an image. To see the file (image) use external application ( graphic viewer).
*Program consists of 3 loops:
** iY and iX, which are used to scan rectangle area of parameter plane
**iterations.
For each point of screen (iX,iY) it's complex value is computed c=cx+cy*i.
For each point c is computed iterations of critical point <math>z_0 = z_{cr} = 0 \,</math>
It uses some [[Fractals/Iterations in the complex plane/Mandelbrot set#Speed improvements - optimisation|speed_improvement]]. Instead of checking :
sqrt(Zx2+Zy2)<ER
it checks :
(Zx2+Zy2)<ER2 // ER2 = ER*ER
It gives the same result but is faster.
<syntaxhighlight lang=C>
/*
c program:
--------------------------------
1. draws Mandelbrot set for Fc(z)=z*z +c
using Mandelbrot algorithm ( boolean escape time )
-------------------------------
2. technique of creating ppm file is based on the code of Claudio Rocchini
http://en.wikipedia.org/wiki/Image:Color_complex_plot.jpg
create 24 bit color graphic file , portable pixmap file = PPM
see http://en.wikipedia.org/wiki/Portable_pixmap
to see the file use external application ( graphic viewer)
*/
#include <stdio.h>
#include <math.h>
int main()
{
/* screen ( integer) coordinate */
int iX,iY;
const int iXmax = 800;
const int iYmax = 800;
/* world ( double) coordinate = parameter plane*/
double Cx,Cy;
const double CxMin=-2.5;
const double CxMax=1.5;
const double CyMin=-2.0;
const double CyMax=2.0;
/* */
double PixelWidth=(CxMax-CxMin)/iXmax;
double PixelHeight=(CyMax-CyMin)/iYmax;
/* color component ( R or G or B) is coded from 0 to 255 */
/* it is 24 bit color RGB file */
const int MaxColorComponentValue=255;
FILE * fp;
char *filename="new1.ppm";
char *comment="# ";/* comment should start with # */
static unsigned char color[3];
/* Z=Zx+Zy*i ; Z0 = 0 */
double Zx, Zy;
double Zx2, Zy2; /* Zx2=Zx*Zx; Zy2=Zy*Zy */
/* */
int Iteration;
const int IterationMax=200;
/* bail-out value , radius of circle ; */
const double EscapeRadius=2;
double ER2=EscapeRadius*EscapeRadius;
/*create new file,give it a name and open it in binary mode */
fp= fopen(filename,"wb"); /* b - binary mode */
/*write ASCII header to the file*/
fprintf(fp,"P6\n %s\n %d\n %d\n %d\n",comment,iXmax,iYmax,MaxColorComponentValue);
/* compute and write image data bytes to the file*/
for(iY=0;iY<iYmax;iY++)
{
Cy=CyMin + iY*PixelHeight;
if (fabs(Cy)< PixelHeight/2) Cy=0.0; /* Main antenna */
for(iX=0;iX<iXmax;iX++)
{
Cx=CxMin + iX*PixelWidth;
/* initial value of orbit = critical point Z= 0 */
Zx=0.0;
Zy=0.0;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
/* */
for (Iteration=0;Iteration<IterationMax && ((Zx2+Zy2)<ER2);Iteration++)
{
Zy=2*Zx*Zy + Cy;
Zx=Zx2-Zy2 +Cx;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
};
/* compute pixel color (24 bit = 3 bytes) */
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
else
{ /* exterior of Mandelbrot set = white */
color[0]=255; /* Red*/
color[1]=255; /* Green */
color[2]=255;/* Blue */
};
/*write color to the file*/
fwrite(color,1,3,fp);
}
}
fclose(fp);
return 0;
}
</syntaxhighlight >
===Integer escape time = LSM/M = dwell bands===
<gallery>
File:Mandelbrot seq.png|Number of details is proportional to maximal number of iterations
File:Animation of the growth of the Mandelbrot set as you iterate towards infinity.gif|Mandelbrot animation based on a static number of iterations per pixel. Here you can see why '''offset''' is sometimes used ( because - color gradient changes : for high MaxIteration disapears.
</gallery>
Here color is proportional to last iteration ( of final_n, final iteration).<ref>[http://plus.maths.org/content/computing-mandelbrot-set Computing the Mandelbrot set by Andrew Williams]</ref>
This is also called [[w:Level Set Method|Level Set Method]] ( LSM )
<math>L_n= \{ c : z_n \in T ~~\mbox{and} ~~ z_k \notin T ~~\mbox{where}~~ k<n \}\,</math>
====C====
[[Image:Mandel_lsm_bw.jpg|thumb|LSM/M image with full code in C]]
Difference between Mandelbrot algorithm and LSM/M is in only in part instruction, which computes pixel color of exterior of Mandelbrot set. In LSM/M is :
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set = LSM */
else if ((Iteration%2)==0)
{ /* even number = black */
color[0]=0; /* Red */
color[1]=0; /* Green */
color[2]=0; /* Blue */
}
else
{/* odd number = white */
color[0]=255; /* Red */
color[1]=255; /* Green */
color[2]=255; /* Blue */
};
</syntaxhighlight>
Here is [[w:C (programming language)|C]] function whithout explicit complex numbers, only doubles:
<syntaxhighlight lang="c">
int GiveEscapeTime(double C_x, double C_y, int iMax, double _ER2)
{
int i;
double Zx, Zy;
double Zx2, Zy2; /* Zx2=Zx*Zx; Zy2=Zy*Zy */
Zx=0.0; /* initial value of orbit = critical point Z= 0 */
Zy=0.0;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
for (i=0;i<iMax && ((Zx2+Zy2)<_ER2);i++)
{
Zy=2*Zx*Zy + C_y;
Zx=Zx2-Zy2 +C_x;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
};
return i;
}
</syntaxhighlight>
here a short code with complex numbers:
<syntaxhighlight lang=c>
// https://gitlab.com/adammajewski/mandelbrot_wiki_ACh/blob/master/betm.c
int iterate(double complex C , int iMax)
{
int i;
double complex Z= 0.0; // initial value for iteration Z0
for(i=0;i<iMax;i++)
{
Z=Z*Z+C; // https://stackoverflow.com/questions/6418807/how-to-work-with-complex-numbers-in-c
if(cabs(Z)>EscapeRadius) break;
}
return i;
}
</syntaxhighlight>
====C++====
Here is C++ function which can be used to draw LSM/M :
<syntaxhighlight lang=Cpp>
int iterate_mandel(complex C , int imax, int bailout)
{
int i;
std::complex Z(0,0); // initial value for iteration Z0
for(i=0;i<=imax-1;i++)
{
Z=Z*Z+C; // overloading of operators
if(abs(Z)>bailout)break;
}
return i;
}
</syntaxhighlight>
I think that it can't be coded simpler (it looks better than pseudocode), but it can be coded in other way which can be executed faster .
Here is faster code :
<syntaxhighlight lang=Cpp>
// based on cpp code by Geek3
inline int fractal(double cx, double cy, int max_iters)
// gives last iteration
{
double zx = 0, zy = 0;
if (zx * zx + zy * zy > 4) return(0); // it=0
for (int it = 1; it < max_iters; it++)
{ double zx_old = zx;
zx = zx * zx - zy * zy;
zy = 2 * zx_old * zy;
zx += cx;
zy += cy;
if (zx * zx + zy * zy > 4.0) return(it);
}
return(max_iters);
}
</syntaxhighlight>
A touch more optimised :
<syntaxhighlight lang=Cpp>
// optimised from cpp code by Geek3
inline int fractal(double cReal, double cImg, int max_iters)
// gives last iteration
{
double zReal = 0, zImg = 0, zReal2 = 0, zImg2 = 0;
//iteration zero is always 0^2+0^2, it will never escape
for (int it = 1; it < max_iters; it++)
{ //because we have zReal^2 and zImg^2 pre-calculated
//we can calculate zImg first
//then we don't need to calculate/store the "old" zReal
zImg = (2 * zReal * zImg ) + cImg;
zReal = zReal2 - zImg2 + cReal;
// calculate next iteration: zReal^2 and zImg^2
// they are used twice so calculate them once
zReal2 = zReal * zReal;
zImg2 = zImg * zImg;
if (zReal2 + zImg2 > 4.0) return(it);
}
return(max_iters);
}
</syntaxhighlight>
See also :
* [https://www.youtube.com/watch?v=nkf6icQln7w Rendering The Mandelbrot Set In C++: Part 1 - Saving Images , Video by Superdavo0001]
====GLSL====
* [[Fractals/shadertoy#LSM|shadertoy]]
====Java ====
<syntaxhighlight lang="java">
//Java code by Josef Jelinek
// http://java.rubikscube.info/
int mandel(double cx, double cy) {
double zx = 0.0, zy = 0.0;
double zx2 = 0.0, zy2 = 0.0;
int iter = 0;
while (iter < iterMax && zx2 + zy2 < 4.0) {
zy = 2.0 * zx * zy + cy;
zx = zx2 - zy2 + cx;
zx2 = zx * zx;
zy2 = zy * zy;
iter++;
}
return iter;
}
</syntaxhighlight>
====Java Script====
Here is JavaScript function which does not give last iteration but LastIteration modulo maxCol. It makes colour cycling ( if maxCol < maxIt ).
<syntaxhighlight lang="javascript">
function iterate(Cr,Ci) {
// JavaScript function by Evgeny Demidov
// http://www.ibiblio.org/e-notes/html5/fractals/mandelbrot.htm
var I=0, R=0, I2=0, R2=0, n=0;
if (R2+I2 > max) return 0;
do { I=(R+R)*I+Ci; R=R2-I2+Cr; R2=R*R; I2=I*I; n++;
} while ((R2+I2 < max) && (n < maxIt) );
if (n == maxIt) return maxCol; else return n % maxCol;
}
</syntaxhighlight>
Above functions do not use explicit definition of [[w:complex number|complex number]].
====Khan Academy====
* [https://www.khanacademy.org/computer-programming/mandelbrot-set/1274517860 khan academy mandelbrot-set]
====Lisp program ====
Whole Lisp program making ASCII graphic based on code by [http://www.frank-buss.de/ Frank Buss]
<ref>[http://groups.google.com/group/comp.lang.lisp/msg/dd505fd509fc8512 LIsp Program by Frank Buss]</ref>
<ref>[http://bc.tech.coop/blog/040811.html Mandelbrot Set ASCII art at Bill Clementson's blog]</ref>
<syntaxhighlight lang=lisp>
; common lisp
(loop for y from -1.5 to 1.5 by 0.1 do
(loop for x from -2.5 to 0.5 by 0.04 do
(let* ((i 0)
(z (complex x y))
(c z))
(loop while (< (abs
(setq z (+ (* z z) c)))
2)
while (< (incf i) 32))
(princ (code-char (+ i 32))))) ; ASCII chars <= 32 contains non-printing characters
(format t "~%"))
</syntaxhighlight>
====MathMap plugin for [[GIMP|Gimp]]====
<pre>
filter mandelbrot (gradient coloration)
c=ri:(xy/xy:[X,X]*1.5-xy:[0.5,0]);
z=ri:[0,0]; # initial value z0 = 0
# iteration of z
iter=0;
while abs(z)<2 && iter<31
do
z=z*z+c; # z(n+1) = fc(zn)
iter=iter+1
end;
coloration(iter/32) # color of pixel
end
</pre>
====Pov-Ray====
Pov-Ray has a built-in function mandel<ref>[http://www.povray.org/documentation/view/3.6.1/377/ mandel function from 2.5.11.14 Fractal Patterns at Pov-Ray docs]</ref>
====Wolfram Mathematica====
Here is [http://www.bugman123.com/Fractals/index.html code by Paul Nylander]
===Level Curves of escape time Method = LCM/M===
[[Image:LCMM.jpg|right|thumb|edge detection of Level sets]]
[[Image:Lemniscates5.png|thumb|right|Lemniscates of Mandelbrot set]]
Lemniscates are boundaries of Level Sets of escape time ( LSM/M ). They can be drawn using :
* edge detection of Level sets.
** Algorithm described in paper by M. Romera et al.<ref>[http://www.iec.csic.es/~miguel/Preprint3.ps Drawing the Mandelbrot set by the method of escape lines. M. Romera et al.]</ref> This method is fast and allows looking for high iterations.
*boundary trace<ref>http://www.metabit.org/~rfigura/figura-fractal/math.html boundary trace by Robert Figura</ref>
* drawing curves <math>L_n(T)=\{c: abs(z_n)=ER \}\,</math>, see [[:Image:Lemniscates5.png| explanation and source code]]. This method is very complicated for iterations > 5.
===Decomposition of target set for Mandelbrot set drawing===
Decomposition is modification of escape time algorithm.
The '''target set''' is divided into parts (2 or more).
Very large escape radius is used, for example ER = 12.
====Binary decomposition of LSM/M====
[[Image:Mandel_bd.png|thumb|binary decomposition: image with full code in C]]
Here target set <math>T\,</math> on dynamic plane is divided into 2 parts (binary decomposition = 2-decomposition ):
* upper half ( white) <math>T_u = \{ z : |z| > ER ~~\mbox{and}~~ Im (z) > 0\}\,</math>
* lower half (black) <math>T_l = \{ z : |z| > ER ~~\mbox{and}~~ Im (z) \le 0 \}\,</math>
Division of target set induces decomposition of level sets <math>L_n\,</math> into <math>2^{n+1}\,</math> parts ( cells, subsets):
* <math>L_{n,u} =\{ c: |z_n| > ER ~~\mbox{and}~~ Im (z_n) > 0 \}\,</math> which is colored white,
* <math>L_{n,l} = \{ c : |z_n| > ER ~~\mbox{and}~~ Im (z_n) \le 0 \}\,</math> which is colored black.
"The Level Sets and Field Lines are superimposed, creating a sort of grid, and the "squares" of the grid are filled with N-digit binary numbers giving the first N binary digits of the external angles of field lines passing through the square. (Alternately, only the Nth binary digit is used.) Each level set is divided into 2n squares. It is easy to "read" the external arguments of points in the boundary of the Mandelbrot Set using a binary decomposition." Robert P. Munafo
For binary decomposition use exp(pi) as escape radius, so that the boxes appear square (a tip from mrob).
External rays of angles (measured in turns):
<math>angle = (k / 2^n ) ~~\mbox{mod }~1\,</math>
can be seen as borders of subsets.
Difference between binary decomposition algorithm and Mandel or LSM/M is in only in part of instruction , which computes pixel color of exterior of Mandelbrot set. In binary decomposition is :
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set = LSM */
else if (Zy>0)
{
color[0]=0; /* Red */
color[1]=0; /* Green */
color[2]=0; /* Blue */
}
else
{
color[0]=255; /* Red */
color[1]=255; /* Green */
color[2]=255; /* Blue */
};
</syntaxhighlight>
also GLSL code from [[Fractals/fragmentarium|Fragmentarium]] :
<syntaxhighlight lang=GLSL>
#include "2D.frag"
#group Simple Mandelbrot
// maximal number of iterations
uniform int iMax; slider[1,100,1000] // increase iMax
// er2= er^2 wher er= escape radius = bailout
uniform float er2; slider[4.0,1000,10000] // increase er2
// compute color of pixel
vec3 color(vec2 c) {
vec2 z = vec2(0.0); // initial value
// iteration
for (int i = 0; i < iMax; i++) {
z = vec2(z.x*z.x-z.y*z.y,2*z.x*z.y) + c; // z= z^2+c
if (dot(z,z)> er2) // escape test
// exterior
if (z.x>0){ return vec3( 1.0);} // upper part of the target set
else return vec3(0.0); //lower part of the target set
}
return vec3(0.0); //interior
}
</syntaxhighlight>
<syntaxhighlight lang=GLSL>
// zoomasm -- zoom video assembler
// (c) 2019,2020,2021,2022 Claude Heiland-Allen
// SPDX-License-Identifier: AGPL-3.0-only
// recommended KF bailout settings: linear smoothing, custom radius 25
vec3 colour(void)
{
if (getInterior())
{
return vec3(1.0, 0.0, 0.0);
}
bool decomp = getT() < 0.5;
return vec3(decomp ? 0.0 : 1.0);
}
</syntaxhighlight>
Point c is plotting white or black if [[w:complex number|imaginary value]] of last iteration ( Zy) is positive or negative.<ref>http://web.archive.org/20010415125044/www.geocities.com/CapeCanaveral/Launchpad/5113/fr27.htm| An open letter to Dr. Meech from Joyce Haslam in FRACTAL REPORT 27</ref>
==== nth-decomposition ====
This method is extension of binary decomposition.
The target set T = { z : |zn| > R } with a very large escape radius ( for example R = 12 ) is divided into more than 2 parts ( for example 8).<ref>[http://fraktal.republika.pl/mset_decomposition.html mandelbrot set n-th-decomposition ]</ref>
===Real Escape Time===
Other names of this method/algorithm are :
* the fully-renormalized fractional iteration count ( by Linas Vepstas in 1997)<ref>[http://linas.org/art-gallery/escape/escape.html linas.org : Renormalizing the Mandelbrot Escape]</ref>
* smooth iteration count for generalized Mandelbrot sets ( by Inigo Quilez in 2016)<ref>[http://www.iquilezles.org/www/articles/mset_smooth/mset_smooth.htm I Quilez : mset_smooth]</ref>
* continuous iteration count for the Mandelbrot set
* Normalized Iteration Count Algorithm
* Continuous coloring
* smooth colour gradient
* fractional iterations
* fractional escape time
Here color of exterior of Mandelbrot set is proportional not to Last Iteration ( which is integer number) but to real number :
: <math>\nu(z) = \lim_{i \to \infty} (i - \log_2 \log_2 |z_i|)\,</math>
Other methods and speedups
Colouring formula in Ultrafractal :<ref>[http://www.fractalforums.com/programming/what-rangeprecision-for-fractional-escape-counts-for-mandelbrotjulia-sets/ fractalforums : What range/precision for fractional escape counts for Mandelbrot/Julia sets? ]</ref>
smooth iter = iter + 1 + ( log(log(bailout)-log(log(cabs(z))) )/log(2)
where :
* log(log(bailout) can be precalculated
*
====theory====
Description by Claude :
'''First description :'''
If R is large, the first z to escape satisfies (approximately)<ref>[https://fractalforums.org/noobs-corner/76/gradient-pallet-with-two-colors/4498 fractalforums : gradient-pallet-with-two-colors]</ref>
<math>R < |z| < R^p</math>
so taking logs
<math>\log(R) < \log(|z|) < p \log(R)</math>
so taking logs again
<math>\log(\log(R)) < \log(\log(|z|)) < \log(p) + \log(\log(R))</math>
so by algebra
<math>0 < \frac{\log(\log(|z|)) - \log(\log(R))}{\log(p)} < 1</math>
when <math>|z|</math> at escape is bigger, the smooth iteration count should be smaller, so this value needs to be subtracted from the integer iteration count
Alternatively this fraction can be used for interpolation, or used with arg(z) for exterior tiling / binary decomposition.
'''Second description'''<ref>[https://fractalforums.org/programming/11/can-anyone-help-me-understand-smooth-coloring/4597/msg37885 fractalforums.org : can-anyone-help-me-understand-smooth-coloring]</ref>
pick a radius R > 2, then |Z| > R implies that |Z^2 + C| > |Z| and more generally that |Z| -> infinity, this gives R the name escape radius. proof is on math.stackexchange.com somewhere
now suppose R is large, and n is the first iteration where |Z_n| > R.
consider what happens when |Z_n| increases as you move the point C a bit further from the Mandelbrot set boundary.
eventually |Z_n| > R^2, but then |Z_{n-1}| > R, so the iteration count should be n - 1.
for smoothing, we want a value to add to n that is 0 when |Z_n| = R and -1 when |Z_n| = R^2.
taking logs, get log |Z| is between log(R) and 2 log(R)
taking logs again, get log log |Z| is between log log R and log log R + log 2
dividing by log 2, get log_2 log |Z| is between log_2 log R and log_2 log R + 1
subtracting log_2 log R gives (log_2 log |Z| - log_2 log R) is between 0 and 1
negating it gives a value between 0 and -1, as desired
so the smooth iteration count is
<math>n - (log_2 log |Z| - log_2 log R)</math>
(replace 2 by P if you do Z^P + C)
see also http://linas.org/art-gallery/escape/escape.html which makes a value independent of R, but that is not so useful for some colouring algorithms (e.g. smooth part of escape count doesn't align with angle of final iterate)
====C====
To use log2 function add :
<nowiki> #include <math.h> </nowiki>
at the beginning of program.
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set */
else GiveRainbowColor((double)(Iteration- log2(log2(sqrt(Zx2+Zy2))))/IterationMax,color);
</syntaxhighlight>
where :
* Zx2 = Zx*Zx
* Zy2 = Zy*Zy
Here is another version by Tony Finch<ref>[http://dotat.at/prog/mandelbrot/ Making Mandelbrot Set Movies by Tony Finch]</ref>
<syntaxhighlight lang=C>
while (n++ < max &&
x2+y2 < inf) {
y = 2*x*y + b;
x = x2-y2 + a;
y2 = y*y;
x2 = x*x;
}
nu = n - log(log(x2+y2)/2)/ log(2);
</syntaxhighlight >
based on equation <ref>[http://linas.org/art-gallery/escape/escape.html Linas Vepstas. Renormalizing the mandelbrot escape.]</ref>
: <math>\nu(z) = n - \log_2 \log (z_n)\,</math>
====C++====
<syntaxhighlight lang=cpp>
// based on cpp code by Geek3 from http://en.wikibooks.org/wiki/File:Mandelbrot_set_rainbow_colors.png
sqrxy = x * x + y * y;
double m = LastIteration + 1.5 - log2(log2(sqrxy));
</syntaxhighlight>
====java====
<syntaxhighlight lang=java>
/**
Smooth coloring algorithm
https://gitlab.com/shreyas.siravara/mandelbrot-with-smooth-coloring/blob/master/Mandelbrot.java
Mandelbrot with Smooth Coloring by Shreyas Siravara
*/
double nsmooth = (iterations + 1 - Math.log(Math.log(Zn.getMagnitude())) / Math.log(ESCAPE_RADIUS));
double smoothcolor = nsmooth / MAX_ITERATIONS;
if (iterations < MAX_ITERATIONS) {
int rgb = Color.HSBtoRGB((float) (0.99f + 1.9 * smoothcolor), 0.9f, 0.9f);
g2d.setColor(new Color(rgb));
} else {
g2d.setColor(Color.black.darker());
}
</syntaxhighlight>
====Matemathica====
Here is [http://www.bugman123.com/Fractals/index.html code by Paul Nylander]. It uses different formula :
<math>cet = n + log_2ln(R) - log_2ln|z|</math>
====Python====
Python code using mpmath library<ref>[http://code.google.com/p/mpmath/ mpmath Python library]</ref>
<syntaxhighlight lang=python>
def mandelbrot(z):
c = z
for i in xrange(ITERATIONS):
zprev = z
z = z*z + c
if abs(z) > ESCAPE_RADIUS:
return ctx.exp(1j*(i + 1 - ctx.log(ctx.log(abs(z)))/ctx.log(2)))
return 0
</syntaxhighlight>
==Distance estimation DEM/M==
<gallery>
File:Demm_2000_Mandelbrot_set.jpg|Exterior DEM/M
File:Boundary mandelbrot set.png|simple boundary with DEM/M
File:Mandelbrot DEM Sobel.png|Boundary with DEM/M and Sobel filter
</gallery>
Variants :
* exterior DEM/M
* interior DEM/M
[[Fractals/Iterations in the complex plane/demm|Description]]
==Complex potential==
[[Fractals/Iterations_in_the_complex_plane/MandelbrotSetExteriorComplex_potential|Description]]
=See also=
* https://web.archive.org/web/20071008112609/http://rgba.scenesp.org/iq/trastero/fieldlines/
* http://fraktal.republika.pl/mset_bottcher.html
=References=
<references/>
{{BookCat}}
epomal0xee2se9uddli7sxj36l9wf1x
4639933
4639932
2026-06-11T17:13:27Z
Aokoroko
3059689
/* Mandelbrot CLI: Renderer with Perturbation Theory (with a 1e−308 hardware limit) */
4639933
wikitext
text/x-wiki
[[Fractals/color_mandelbrot|Colouring]] of exterior of Mandelbrot set can be :
* non-smooth = Escape Time = dwell
** Boolean/binary Escape Time Method ( bETM/M )
** discrete = Level Set Method = LSM/M = integer ETM = iETM/M
* Smooth :
** radial measures
*** Real Escape Time Method( rETM/M )
*** Distance Estimation Method( DEM/M )
*** radius of complex potential = Complex Potential Method ( CPM/M )
** angular measures
*** argument of complex potential
*** SAC = stripe average coloring
*** other
**** "triangle inequality"<ref>[http://www.hiddendimension.com/fractalmath/divergent_fractals_main.html Mathematics of Divergent Fractals by ]</ref><ref>[http://jussiharkonen.com/gallery/coloring-techniques/ jussi harkonen : coloring-techniques]</ref>
**** Orbit trap <ref>[[w:Orbit trap|wikipedia : Orbit trap]]</ref><ref>[https://www.youtube.com/watch?v=tnMNamKPy6k Mandelbrot Orbit Trap Rendering! Programming How-To Video by DKM101]</ref>
One can also draw curves :
* external rays
* equipotential lines ( closed curves - quasi circles)
Similar projects:
* [http://mathr.co.uk/blog/2014-03-06_mandelbrot_notebook.html Mandelbrot Notebook by Claude Heiland-Allen ]
** [https://code.mathr.co.uk/mandelbrot-book mandelbrot-book]
** [https://gitlab.com/adammajewski/mandelbrot-book_book mandelbrot-book/book : one file c programs , images and description]
** [https://gitlab.com/adammajewski/my-book fork of the mandelbrot-book] and [https://gitlab.com/adammajewski/git-book-pdf book in pdf format]
* [https://www.math.univ-toulouse.fr/~cheritat/wiki-draw/index.php/Main_Page different drawing techniques and algorithms by Arnaud Cheritat ]
** [https://www.math.univ-toulouse.fr/~cheritat/wiki-draw/index.php/Mandelbrot_set Mandelbrot set] and [https://gitlab.com/adammajewski/mandelbrot_wiki_ACh example C programs ( not by A Cheritat)]
* Linas Vepstas' Art Gallery:
** [http://linas.org/art-gallery/index.html original site]
** [https://gitlab.com/adammajewski/LinasArtGallery_MandelbrotSet fork at gitlab]
== Mandelbrot CLI: Renderer with Perturbation Theory (with a 1e−308 hardware limit) ==
Key Features:
High-Precision Reference: The 5000-bit reference trajectory is computed exactly once per zoom layer.
Hardware-Native Performance: Blazing-fast math for billions of pixels utilizing hardware-native double registers.
When using double-precision floating-point numbers (on the order of 10 − 15 ), perturbation theory only allows you to zoom down to the 10 − 308 level-no further.
Innovative Algorithm: Revolutionary Reference Reset to Zero implementation.
True 8x8 SSAA: Pristine, anti-aliased image quality with 64 independent samples per pixel.
OpenMP Multi-threading: High-speed parallel computing to maximize CPU utilization.
<gallery>
File:Mandelbrot_Set_Image_106.png|A high-resolution, 100-megapixel fragment of the Mandelbrot set, rendered using Perturbation Theory.
</gallery>
<syntaxhighlight lang=cpp>
/*
* Original project:
* https://github.com/Divetoxx/Mandelbrot
*/
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
#include <cstdint>
#include <string>
#include <atomic>
#include <omp.h>
#include <cstdio>
#include <iomanip>
#include <gmp.h>
#include <mpfr.h>
using namespace std;
const double PI = 3.14159265358979323846;
const mpfr_prec_t MPFR_BITS = 5000;
#pragma pack(push, 1)
struct BMPHeader {
uint16_t type{0x4D42};
uint32_t size{0};
uint16_t reserved1{0};
uint16_t reserved2{0};
uint32_t offBits{54};
uint32_t structSize{40};
int32_t width{0};
int32_t height{0};
uint16_t planes{1};
uint16_t bitCount{24};
uint32_t compression{0};
uint32_t sizeImage{0};
int32_t xpelsPerMeter{2834};
int32_t ypelsPerMeter{2834};
uint32_t clrUsed{0};
uint32_t clrImportant{0};
};
#pragma pack(pop)
struct ComplexDouble {
double re;
double im;
};
void save_bmp(const string& filename, const vector<uint8_t>& data, int w, int h) {
int rowSize = (w * 3 + 3) & ~3;
BMPHeader header;
header.width = w;
header.height = h;
header.sizeImage = rowSize * h;
header.size = header.sizeImage + 54;
ofstream f(filename, ios::binary);
f.write(reinterpret_cast<char*>(&header), 54);
f.write(reinterpret_cast<const char*>(data.data()), data.size());
f.close();
}
int main() {
string absc_str, ordi_str, size_str;
absc_str = "-1.7491976289657893741942376816272921165326158557416159";
ordi_str = "-0.00000042530777152440422725855012159249401150956515248";
size_str = "0.00000000000000000000000000000000000000000000000000431";
const int targetW = 10000;
const int targetH = 10000;
const int scale = 8;
const int rawW = targetW * scale;
const int rawH = targetH * scale;
cout << "Step 1: Calculating Raw Map (" << rawW << "x" << rawH << ") using Perturbation..." << endl;
vector<uint8_t> iterMap((size_t)rawW * rawH);
mpfr_t rx, ry, zr, zi, zr2, zi2, tmp, sz, st;
mpfr_inits2(MPFR_BITS, rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
mpfr_set_str(rx, absc_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(ry, ordi_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(sz, size_str.c_str(), 10, MPFR_RNDN);
mpfr_div_ui(st, sz, rawW, MPFR_RNDN);
double step_d = mpfr_get_d(st, MPFR_RNDN);
double ref_rec_d = mpfr_get_d(rx, MPFR_RNDN);
double ref_imc_d = mpfr_get_d(ry, MPFR_RNDN);
vector<ComplexDouble> ref_orbit_double(50005);
mpfr_set_ui(zr, 0, MPFR_RNDN);
mpfr_set_ui(zi, 0, MPFR_RNDN);
mpfr_set_ui(zr2, 0, MPFR_RNDN);
mpfr_set_ui(zi2, 0, MPFR_RNDN);
uint32_t ref_i = 0;
bool escaped = false;
while (ref_i < 50000) {
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
mpfr_mul(tmp, zr, zi, MPFR_RNDN);
mpfr_mul_ui(zi, tmp, 2, MPFR_RNDN);
mpfr_add(zi, zi, ry, MPFR_RNDN);
mpfr_sub(zr, zr2, zi2, MPFR_RNDN);
mpfr_add(zr, zr, rx, MPFR_RNDN);
mpfr_mul(zr2, zr, zr, MPFR_RNDN);
mpfr_mul(zi2, zi, zi, MPFR_RNDN);
if (escaped) {
ref_i++;
break;
}
mpfr_add(tmp, zr2, zi2, MPFR_RNDN);
if (mpfr_cmp_d(tmp, 4.0) >= 0) {
escaped = true;
}
ref_i++;
}
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
uint32_t max_valid_ref_iter = ref_i;
mpfr_clears(rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
atomic<int> linesDone{0};
#pragma omp parallel for schedule(dynamic)
for (size_t b = 0; b < (size_t)rawH; ++b) {
for (size_t a = 0; a < (size_t)rawW; ++a) {
double delta_rec = (double)((long long)a - (rawW / 2)) * step_d;
double delta_imc = (double)((long long)b - (rawH / 2)) * step_d;
uint32_t index = 0;
double delta_re = 0.0;
double delta_im = 0.0;
double z_re = 0.0;
double z_im = 0.0;
uint32_t i = 0;
const ComplexDouble* ref_ptr = ref_orbit_double.data();
while (i < max_valid_ref_iter) {
if ((z_re * z_re + z_im * z_im) >= 40000.0) {
break;
}
if ((z_re * z_re + z_im * z_im) < (delta_re * delta_re + delta_im * delta_im)) {
index = 0;
delta_re = z_re;
delta_im = z_im;
}
for (int step = 0; step < 2; ++step) {
double Ur = ref_ptr[index].re;
double Ui = ref_ptr[index].im;
double next_delta_im = 2.0 * Ur * delta_im + 2.0 * Ui * delta_re + 2.0 * delta_re * delta_im + delta_imc;
delta_re = 2.0 * Ur * delta_re - 2.0 * Ui * delta_im + delta_re * delta_re - delta_im * delta_im + delta_rec;
delta_im = next_delta_im;
index++;
}
z_re = ref_ptr[index].re + delta_re;
z_im = ref_ptr[index].im + delta_im;
i += 2;
}
int final_t = 50000 - i;
if (final_t == 0) {
iterMap[b * (size_t)rawW + a] = 255;
} else {
iterMap[b * (size_t)rawW + a] = (uint8_t)(final_t % 254);
}
}
if (++linesDone % 100 == 0) cout << "Progress: " << linesDone << "/" << rawH << "\r" << flush;
}
uint8_t pal[256][3];
for (int a = 0; a < 255; ++a) {
pal[a][0] = (uint8_t)round(127.0 + 127.0 * cos(2.0 * PI * a / 255.0)); // Blue
pal[a][1] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Green
pal[a][2] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Red
}
pal[255][0] = 255; pal[255][1] = 255; pal[255][2] = 255;
cout << "\nStep 2: Rendering frames..." << endl;
int rowSize = (targetW * 3 + 3) & ~3;
for (int frame = 0; frame < 255; ++frame) {
vector<uint8_t> frameData(rowSize * targetH);
#pragma omp parallel for schedule(static)
for (int y = 0; y < targetH; ++y) {
for (int x = 0; x < targetW; ++x) {
uint32_t rSum = 0, gSum = 0, bSum = 0;
for (int j = 0; j < scale; ++j) {
size_t mapRowIdx = (size_t)(y * scale + j) * rawW;
for (int i = 0; i < scale; ++i) {
uint8_t t = iterMap[mapRowIdx + (x * scale + i)];
int colorIdx;
if (t == 255) {
colorIdx = 255;
} else {
colorIdx = (t - frame + 255) % 255;
}
bSum += pal[colorIdx][0];
gSum += pal[colorIdx][1];
rSum += pal[colorIdx][2];
}
}
int outIdx = y * rowSize + x * 3;
frameData[outIdx + 0] = (uint8_t)(bSum >> 6);
frameData[outIdx + 1] = (uint8_t)(gSum >> 6);
frameData[outIdx + 2] = (uint8_t)(rSum >> 6);
}
}
string filename = "Mandelbrot" + to_string(1000 + frame).substr(1) + ".bmp";
save_bmp(filename, frameData, targetW, targetH);
cout << "Frame " << frame << "/254 saved. \r" << flush;
}
return 0;
}
</syntaxhighlight>
=='''Escape time''' or dwell==
Here for given point c on parameter plane one checks how critical point <math> z = 0.0 </math> behaves on dynamical plane under [[Fractals/Iterations in the complex plane/q-iterations#Forward iteration|forward iteration]]. If you change initial point you will get different result <ref>[http://mathesim.degruyter.de/jws_en/show_simulation.php?id=1052&type=RoessMa&lang=en Java program by Dieter Röß showing result of changing initial point of Mandelbrot iterations]</ref>
To draw given plane one needs to [[Fractals/Computer graphic techniques/2D#Scanning|check/scan]] (all) its points. See [[Fractals/Iterations in the complex plane/Mandelbrot set#Period detection|here for more details ( optimisation)]]
Read [[Fractals/Iterations in the complex plane/def cqp|definitions]] first.
===How to find the number of iterations required to escape the mandelbrot set ?===
* [https://math.stackexchange.com/questions/4056809/is-there-an-equation-for-the-number-of-iterations-required-to-escape-the-mandelb/4059340 math.stackexchange question: is-there-an-equation-for-the-number-of-iterations-required-to-escape-the-mandelb]
* [https://math.stackexchange.com/questions/16970/a-way-to-determine-the-ideal-number-of-maximum-iterations-for-an-arbitrary-zoom?rq=1 math.stackexchange question: a-way-to-determine-the-ideal-number-of-maximum-iterations-for-an-arbitrary-zoom?]
===Boolean escape time ===
This algorithm answers the question: “For which values of c will the Julia fractal, J(c), be line-like and for which dust-like?”<ref>[https://www.ntg.nl/maps/45/03.pdf Julia fractals in PostScript by Kees van der Laan, EUROTEX 2012 & 6CM PROCEEDINGS 47]</ref>
Here complex plane consists of 2 sets : Mandelbrot set <math>M\,</math> and its complement <math>M^c\,</math> :
<math>\mathbb{C}= M \cup M^c</math>
====ASCI graphic ( on screen) ====
[[File:Mandel.png|right|thumb|ASCI graphic : Boolean escape time in text mode]]
<syntaxhighlight lang=c>
// http://mrl.nyu.edu/~perlin/
main(k){float i,j,r,x,y=-16;while(puts(""),y++<15)for(x
=0;x++<84;putchar(" .:-;!/>)|&IH%*#"[k&15]))for(i=k=r=0;
j=r*r-i*i-2+x/25,i=2*r*i+y/10,j*j+i*i<11&&k++<111;r=j);}
</syntaxhighlight>
<syntaxhighlight lang=haskell>
-- Haskell code by Ochronus
-- http://blog.mostof.it/mandelbrot-set-in-ruby-and-haskell/
import Data.Complex
mandelbrot a = iterate (\z -> z^2 + a) a !! 500
main = mapM_ putStrLn [[if magnitude (mandelbrot (x :+ y)) < 2 then '*' else ' '
| x <- [-2, -1.9685 .. 0.5]]
| y <- [1, 0.95 .. -1]]
</syntaxhighlight>
<syntaxhighlight lang=lisp>
; common lisp
(loop for y from -1.5 to 1.5 by 0.05 do
(loop for x from -2.5 to 0.5 by 0.025 do
(let* ((c (complex x y)) ; parameter
(z (complex 0 0))
(iMax 20) ; maximal number of iterations
(i 0)) ; iteration number
(loop while (< i iMax ) do
(setq z (+ (* z z) c)) ; iteration
(incf i)
(when (> (abs z) 2) (return i)))
; color of pixel
(if (= i iMax) (princ (code-char 42)) ; inside M
(princ (code-char 32))))) ; outside M
(format t "~%")) ; new line
</syntaxhighlight>
Comparison programs in various languages <ref>[http://www.timestretch.com/tag/mandelbrot Fractal Benchmark by Erik Wrenholt]</ref><ref>[http://www.righto.com/2015/03/12-minute-mandelbrot-fractals-on-50.html 12-minute Mandelbrot: fractals on a 50 year old IBM 1401 mainframe]</ref>
==== Graphic file ( PPM ) ====
Here are various programs for creating pbm file <ref>[https://benchmarksgame-team.pages.debian.net/benchmarksgame/description/mandelbrot.html#mandelbrotThe Computer Language Benchmarks Game ]</ref>
* GLSL using [[Fractals/shadertoy#Boolean escape time|shadertoy]]
* short c programs by ed Burke<ref>[https://batchloaf.wordpress.com/2016/02/13/example-code-from-presentation-ways-of-seeing-julia-sets/ example-code-from-presentation-ways-of-seeing-julia-sets by ed Burke]</ref>
=====C=====
This is complete code of C one file program.
*It makes a ppm file which consists an image. To see the file (image) use external application ( graphic viewer).
*Program consists of 3 loops:
** iY and iX, which are used to scan rectangle area of parameter plane
**iterations.
For each point of screen (iX,iY) it's complex value is computed c=cx+cy*i.
For each point c is computed iterations of critical point <math>z_0 = z_{cr} = 0 \,</math>
It uses some [[Fractals/Iterations in the complex plane/Mandelbrot set#Speed improvements - optimisation|speed_improvement]]. Instead of checking :
sqrt(Zx2+Zy2)<ER
it checks :
(Zx2+Zy2)<ER2 // ER2 = ER*ER
It gives the same result but is faster.
<syntaxhighlight lang=C>
/*
c program:
--------------------------------
1. draws Mandelbrot set for Fc(z)=z*z +c
using Mandelbrot algorithm ( boolean escape time )
-------------------------------
2. technique of creating ppm file is based on the code of Claudio Rocchini
http://en.wikipedia.org/wiki/Image:Color_complex_plot.jpg
create 24 bit color graphic file , portable pixmap file = PPM
see http://en.wikipedia.org/wiki/Portable_pixmap
to see the file use external application ( graphic viewer)
*/
#include <stdio.h>
#include <math.h>
int main()
{
/* screen ( integer) coordinate */
int iX,iY;
const int iXmax = 800;
const int iYmax = 800;
/* world ( double) coordinate = parameter plane*/
double Cx,Cy;
const double CxMin=-2.5;
const double CxMax=1.5;
const double CyMin=-2.0;
const double CyMax=2.0;
/* */
double PixelWidth=(CxMax-CxMin)/iXmax;
double PixelHeight=(CyMax-CyMin)/iYmax;
/* color component ( R or G or B) is coded from 0 to 255 */
/* it is 24 bit color RGB file */
const int MaxColorComponentValue=255;
FILE * fp;
char *filename="new1.ppm";
char *comment="# ";/* comment should start with # */
static unsigned char color[3];
/* Z=Zx+Zy*i ; Z0 = 0 */
double Zx, Zy;
double Zx2, Zy2; /* Zx2=Zx*Zx; Zy2=Zy*Zy */
/* */
int Iteration;
const int IterationMax=200;
/* bail-out value , radius of circle ; */
const double EscapeRadius=2;
double ER2=EscapeRadius*EscapeRadius;
/*create new file,give it a name and open it in binary mode */
fp= fopen(filename,"wb"); /* b - binary mode */
/*write ASCII header to the file*/
fprintf(fp,"P6\n %s\n %d\n %d\n %d\n",comment,iXmax,iYmax,MaxColorComponentValue);
/* compute and write image data bytes to the file*/
for(iY=0;iY<iYmax;iY++)
{
Cy=CyMin + iY*PixelHeight;
if (fabs(Cy)< PixelHeight/2) Cy=0.0; /* Main antenna */
for(iX=0;iX<iXmax;iX++)
{
Cx=CxMin + iX*PixelWidth;
/* initial value of orbit = critical point Z= 0 */
Zx=0.0;
Zy=0.0;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
/* */
for (Iteration=0;Iteration<IterationMax && ((Zx2+Zy2)<ER2);Iteration++)
{
Zy=2*Zx*Zy + Cy;
Zx=Zx2-Zy2 +Cx;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
};
/* compute pixel color (24 bit = 3 bytes) */
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
else
{ /* exterior of Mandelbrot set = white */
color[0]=255; /* Red*/
color[1]=255; /* Green */
color[2]=255;/* Blue */
};
/*write color to the file*/
fwrite(color,1,3,fp);
}
}
fclose(fp);
return 0;
}
</syntaxhighlight >
===Integer escape time = LSM/M = dwell bands===
<gallery>
File:Mandelbrot seq.png|Number of details is proportional to maximal number of iterations
File:Animation of the growth of the Mandelbrot set as you iterate towards infinity.gif|Mandelbrot animation based on a static number of iterations per pixel. Here you can see why '''offset''' is sometimes used ( because - color gradient changes : for high MaxIteration disapears.
</gallery>
Here color is proportional to last iteration ( of final_n, final iteration).<ref>[http://plus.maths.org/content/computing-mandelbrot-set Computing the Mandelbrot set by Andrew Williams]</ref>
This is also called [[w:Level Set Method|Level Set Method]] ( LSM )
<math>L_n= \{ c : z_n \in T ~~\mbox{and} ~~ z_k \notin T ~~\mbox{where}~~ k<n \}\,</math>
====C====
[[Image:Mandel_lsm_bw.jpg|thumb|LSM/M image with full code in C]]
Difference between Mandelbrot algorithm and LSM/M is in only in part instruction, which computes pixel color of exterior of Mandelbrot set. In LSM/M is :
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set = LSM */
else if ((Iteration%2)==0)
{ /* even number = black */
color[0]=0; /* Red */
color[1]=0; /* Green */
color[2]=0; /* Blue */
}
else
{/* odd number = white */
color[0]=255; /* Red */
color[1]=255; /* Green */
color[2]=255; /* Blue */
};
</syntaxhighlight>
Here is [[w:C (programming language)|C]] function whithout explicit complex numbers, only doubles:
<syntaxhighlight lang="c">
int GiveEscapeTime(double C_x, double C_y, int iMax, double _ER2)
{
int i;
double Zx, Zy;
double Zx2, Zy2; /* Zx2=Zx*Zx; Zy2=Zy*Zy */
Zx=0.0; /* initial value of orbit = critical point Z= 0 */
Zy=0.0;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
for (i=0;i<iMax && ((Zx2+Zy2)<_ER2);i++)
{
Zy=2*Zx*Zy + C_y;
Zx=Zx2-Zy2 +C_x;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
};
return i;
}
</syntaxhighlight>
here a short code with complex numbers:
<syntaxhighlight lang=c>
// https://gitlab.com/adammajewski/mandelbrot_wiki_ACh/blob/master/betm.c
int iterate(double complex C , int iMax)
{
int i;
double complex Z= 0.0; // initial value for iteration Z0
for(i=0;i<iMax;i++)
{
Z=Z*Z+C; // https://stackoverflow.com/questions/6418807/how-to-work-with-complex-numbers-in-c
if(cabs(Z)>EscapeRadius) break;
}
return i;
}
</syntaxhighlight>
====C++====
Here is C++ function which can be used to draw LSM/M :
<syntaxhighlight lang=Cpp>
int iterate_mandel(complex C , int imax, int bailout)
{
int i;
std::complex Z(0,0); // initial value for iteration Z0
for(i=0;i<=imax-1;i++)
{
Z=Z*Z+C; // overloading of operators
if(abs(Z)>bailout)break;
}
return i;
}
</syntaxhighlight>
I think that it can't be coded simpler (it looks better than pseudocode), but it can be coded in other way which can be executed faster .
Here is faster code :
<syntaxhighlight lang=Cpp>
// based on cpp code by Geek3
inline int fractal(double cx, double cy, int max_iters)
// gives last iteration
{
double zx = 0, zy = 0;
if (zx * zx + zy * zy > 4) return(0); // it=0
for (int it = 1; it < max_iters; it++)
{ double zx_old = zx;
zx = zx * zx - zy * zy;
zy = 2 * zx_old * zy;
zx += cx;
zy += cy;
if (zx * zx + zy * zy > 4.0) return(it);
}
return(max_iters);
}
</syntaxhighlight>
A touch more optimised :
<syntaxhighlight lang=Cpp>
// optimised from cpp code by Geek3
inline int fractal(double cReal, double cImg, int max_iters)
// gives last iteration
{
double zReal = 0, zImg = 0, zReal2 = 0, zImg2 = 0;
//iteration zero is always 0^2+0^2, it will never escape
for (int it = 1; it < max_iters; it++)
{ //because we have zReal^2 and zImg^2 pre-calculated
//we can calculate zImg first
//then we don't need to calculate/store the "old" zReal
zImg = (2 * zReal * zImg ) + cImg;
zReal = zReal2 - zImg2 + cReal;
// calculate next iteration: zReal^2 and zImg^2
// they are used twice so calculate them once
zReal2 = zReal * zReal;
zImg2 = zImg * zImg;
if (zReal2 + zImg2 > 4.0) return(it);
}
return(max_iters);
}
</syntaxhighlight>
See also :
* [https://www.youtube.com/watch?v=nkf6icQln7w Rendering The Mandelbrot Set In C++: Part 1 - Saving Images , Video by Superdavo0001]
====GLSL====
* [[Fractals/shadertoy#LSM|shadertoy]]
====Java ====
<syntaxhighlight lang="java">
//Java code by Josef Jelinek
// http://java.rubikscube.info/
int mandel(double cx, double cy) {
double zx = 0.0, zy = 0.0;
double zx2 = 0.0, zy2 = 0.0;
int iter = 0;
while (iter < iterMax && zx2 + zy2 < 4.0) {
zy = 2.0 * zx * zy + cy;
zx = zx2 - zy2 + cx;
zx2 = zx * zx;
zy2 = zy * zy;
iter++;
}
return iter;
}
</syntaxhighlight>
====Java Script====
Here is JavaScript function which does not give last iteration but LastIteration modulo maxCol. It makes colour cycling ( if maxCol < maxIt ).
<syntaxhighlight lang="javascript">
function iterate(Cr,Ci) {
// JavaScript function by Evgeny Demidov
// http://www.ibiblio.org/e-notes/html5/fractals/mandelbrot.htm
var I=0, R=0, I2=0, R2=0, n=0;
if (R2+I2 > max) return 0;
do { I=(R+R)*I+Ci; R=R2-I2+Cr; R2=R*R; I2=I*I; n++;
} while ((R2+I2 < max) && (n < maxIt) );
if (n == maxIt) return maxCol; else return n % maxCol;
}
</syntaxhighlight>
Above functions do not use explicit definition of [[w:complex number|complex number]].
====Khan Academy====
* [https://www.khanacademy.org/computer-programming/mandelbrot-set/1274517860 khan academy mandelbrot-set]
====Lisp program ====
Whole Lisp program making ASCII graphic based on code by [http://www.frank-buss.de/ Frank Buss]
<ref>[http://groups.google.com/group/comp.lang.lisp/msg/dd505fd509fc8512 LIsp Program by Frank Buss]</ref>
<ref>[http://bc.tech.coop/blog/040811.html Mandelbrot Set ASCII art at Bill Clementson's blog]</ref>
<syntaxhighlight lang=lisp>
; common lisp
(loop for y from -1.5 to 1.5 by 0.1 do
(loop for x from -2.5 to 0.5 by 0.04 do
(let* ((i 0)
(z (complex x y))
(c z))
(loop while (< (abs
(setq z (+ (* z z) c)))
2)
while (< (incf i) 32))
(princ (code-char (+ i 32))))) ; ASCII chars <= 32 contains non-printing characters
(format t "~%"))
</syntaxhighlight>
====MathMap plugin for [[GIMP|Gimp]]====
<pre>
filter mandelbrot (gradient coloration)
c=ri:(xy/xy:[X,X]*1.5-xy:[0.5,0]);
z=ri:[0,0]; # initial value z0 = 0
# iteration of z
iter=0;
while abs(z)<2 && iter<31
do
z=z*z+c; # z(n+1) = fc(zn)
iter=iter+1
end;
coloration(iter/32) # color of pixel
end
</pre>
====Pov-Ray====
Pov-Ray has a built-in function mandel<ref>[http://www.povray.org/documentation/view/3.6.1/377/ mandel function from 2.5.11.14 Fractal Patterns at Pov-Ray docs]</ref>
====Wolfram Mathematica====
Here is [http://www.bugman123.com/Fractals/index.html code by Paul Nylander]
===Level Curves of escape time Method = LCM/M===
[[Image:LCMM.jpg|right|thumb|edge detection of Level sets]]
[[Image:Lemniscates5.png|thumb|right|Lemniscates of Mandelbrot set]]
Lemniscates are boundaries of Level Sets of escape time ( LSM/M ). They can be drawn using :
* edge detection of Level sets.
** Algorithm described in paper by M. Romera et al.<ref>[http://www.iec.csic.es/~miguel/Preprint3.ps Drawing the Mandelbrot set by the method of escape lines. M. Romera et al.]</ref> This method is fast and allows looking for high iterations.
*boundary trace<ref>http://www.metabit.org/~rfigura/figura-fractal/math.html boundary trace by Robert Figura</ref>
* drawing curves <math>L_n(T)=\{c: abs(z_n)=ER \}\,</math>, see [[:Image:Lemniscates5.png| explanation and source code]]. This method is very complicated for iterations > 5.
===Decomposition of target set for Mandelbrot set drawing===
Decomposition is modification of escape time algorithm.
The '''target set''' is divided into parts (2 or more).
Very large escape radius is used, for example ER = 12.
====Binary decomposition of LSM/M====
[[Image:Mandel_bd.png|thumb|binary decomposition: image with full code in C]]
Here target set <math>T\,</math> on dynamic plane is divided into 2 parts (binary decomposition = 2-decomposition ):
* upper half ( white) <math>T_u = \{ z : |z| > ER ~~\mbox{and}~~ Im (z) > 0\}\,</math>
* lower half (black) <math>T_l = \{ z : |z| > ER ~~\mbox{and}~~ Im (z) \le 0 \}\,</math>
Division of target set induces decomposition of level sets <math>L_n\,</math> into <math>2^{n+1}\,</math> parts ( cells, subsets):
* <math>L_{n,u} =\{ c: |z_n| > ER ~~\mbox{and}~~ Im (z_n) > 0 \}\,</math> which is colored white,
* <math>L_{n,l} = \{ c : |z_n| > ER ~~\mbox{and}~~ Im (z_n) \le 0 \}\,</math> which is colored black.
"The Level Sets and Field Lines are superimposed, creating a sort of grid, and the "squares" of the grid are filled with N-digit binary numbers giving the first N binary digits of the external angles of field lines passing through the square. (Alternately, only the Nth binary digit is used.) Each level set is divided into 2n squares. It is easy to "read" the external arguments of points in the boundary of the Mandelbrot Set using a binary decomposition." Robert P. Munafo
For binary decomposition use exp(pi) as escape radius, so that the boxes appear square (a tip from mrob).
External rays of angles (measured in turns):
<math>angle = (k / 2^n ) ~~\mbox{mod }~1\,</math>
can be seen as borders of subsets.
Difference between binary decomposition algorithm and Mandel or LSM/M is in only in part of instruction , which computes pixel color of exterior of Mandelbrot set. In binary decomposition is :
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set = LSM */
else if (Zy>0)
{
color[0]=0; /* Red */
color[1]=0; /* Green */
color[2]=0; /* Blue */
}
else
{
color[0]=255; /* Red */
color[1]=255; /* Green */
color[2]=255; /* Blue */
};
</syntaxhighlight>
also GLSL code from [[Fractals/fragmentarium|Fragmentarium]] :
<syntaxhighlight lang=GLSL>
#include "2D.frag"
#group Simple Mandelbrot
// maximal number of iterations
uniform int iMax; slider[1,100,1000] // increase iMax
// er2= er^2 wher er= escape radius = bailout
uniform float er2; slider[4.0,1000,10000] // increase er2
// compute color of pixel
vec3 color(vec2 c) {
vec2 z = vec2(0.0); // initial value
// iteration
for (int i = 0; i < iMax; i++) {
z = vec2(z.x*z.x-z.y*z.y,2*z.x*z.y) + c; // z= z^2+c
if (dot(z,z)> er2) // escape test
// exterior
if (z.x>0){ return vec3( 1.0);} // upper part of the target set
else return vec3(0.0); //lower part of the target set
}
return vec3(0.0); //interior
}
</syntaxhighlight>
<syntaxhighlight lang=GLSL>
// zoomasm -- zoom video assembler
// (c) 2019,2020,2021,2022 Claude Heiland-Allen
// SPDX-License-Identifier: AGPL-3.0-only
// recommended KF bailout settings: linear smoothing, custom radius 25
vec3 colour(void)
{
if (getInterior())
{
return vec3(1.0, 0.0, 0.0);
}
bool decomp = getT() < 0.5;
return vec3(decomp ? 0.0 : 1.0);
}
</syntaxhighlight>
Point c is plotting white or black if [[w:complex number|imaginary value]] of last iteration ( Zy) is positive or negative.<ref>http://web.archive.org/20010415125044/www.geocities.com/CapeCanaveral/Launchpad/5113/fr27.htm| An open letter to Dr. Meech from Joyce Haslam in FRACTAL REPORT 27</ref>
==== nth-decomposition ====
This method is extension of binary decomposition.
The target set T = { z : |zn| > R } with a very large escape radius ( for example R = 12 ) is divided into more than 2 parts ( for example 8).<ref>[http://fraktal.republika.pl/mset_decomposition.html mandelbrot set n-th-decomposition ]</ref>
===Real Escape Time===
Other names of this method/algorithm are :
* the fully-renormalized fractional iteration count ( by Linas Vepstas in 1997)<ref>[http://linas.org/art-gallery/escape/escape.html linas.org : Renormalizing the Mandelbrot Escape]</ref>
* smooth iteration count for generalized Mandelbrot sets ( by Inigo Quilez in 2016)<ref>[http://www.iquilezles.org/www/articles/mset_smooth/mset_smooth.htm I Quilez : mset_smooth]</ref>
* continuous iteration count for the Mandelbrot set
* Normalized Iteration Count Algorithm
* Continuous coloring
* smooth colour gradient
* fractional iterations
* fractional escape time
Here color of exterior of Mandelbrot set is proportional not to Last Iteration ( which is integer number) but to real number :
: <math>\nu(z) = \lim_{i \to \infty} (i - \log_2 \log_2 |z_i|)\,</math>
Other methods and speedups
Colouring formula in Ultrafractal :<ref>[http://www.fractalforums.com/programming/what-rangeprecision-for-fractional-escape-counts-for-mandelbrotjulia-sets/ fractalforums : What range/precision for fractional escape counts for Mandelbrot/Julia sets? ]</ref>
smooth iter = iter + 1 + ( log(log(bailout)-log(log(cabs(z))) )/log(2)
where :
* log(log(bailout) can be precalculated
*
====theory====
Description by Claude :
'''First description :'''
If R is large, the first z to escape satisfies (approximately)<ref>[https://fractalforums.org/noobs-corner/76/gradient-pallet-with-two-colors/4498 fractalforums : gradient-pallet-with-two-colors]</ref>
<math>R < |z| < R^p</math>
so taking logs
<math>\log(R) < \log(|z|) < p \log(R)</math>
so taking logs again
<math>\log(\log(R)) < \log(\log(|z|)) < \log(p) + \log(\log(R))</math>
so by algebra
<math>0 < \frac{\log(\log(|z|)) - \log(\log(R))}{\log(p)} < 1</math>
when <math>|z|</math> at escape is bigger, the smooth iteration count should be smaller, so this value needs to be subtracted from the integer iteration count
Alternatively this fraction can be used for interpolation, or used with arg(z) for exterior tiling / binary decomposition.
'''Second description'''<ref>[https://fractalforums.org/programming/11/can-anyone-help-me-understand-smooth-coloring/4597/msg37885 fractalforums.org : can-anyone-help-me-understand-smooth-coloring]</ref>
pick a radius R > 2, then |Z| > R implies that |Z^2 + C| > |Z| and more generally that |Z| -> infinity, this gives R the name escape radius. proof is on math.stackexchange.com somewhere
now suppose R is large, and n is the first iteration where |Z_n| > R.
consider what happens when |Z_n| increases as you move the point C a bit further from the Mandelbrot set boundary.
eventually |Z_n| > R^2, but then |Z_{n-1}| > R, so the iteration count should be n - 1.
for smoothing, we want a value to add to n that is 0 when |Z_n| = R and -1 when |Z_n| = R^2.
taking logs, get log |Z| is between log(R) and 2 log(R)
taking logs again, get log log |Z| is between log log R and log log R + log 2
dividing by log 2, get log_2 log |Z| is between log_2 log R and log_2 log R + 1
subtracting log_2 log R gives (log_2 log |Z| - log_2 log R) is between 0 and 1
negating it gives a value between 0 and -1, as desired
so the smooth iteration count is
<math>n - (log_2 log |Z| - log_2 log R)</math>
(replace 2 by P if you do Z^P + C)
see also http://linas.org/art-gallery/escape/escape.html which makes a value independent of R, but that is not so useful for some colouring algorithms (e.g. smooth part of escape count doesn't align with angle of final iterate)
====C====
To use log2 function add :
<nowiki> #include <math.h> </nowiki>
at the beginning of program.
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set */
else GiveRainbowColor((double)(Iteration- log2(log2(sqrt(Zx2+Zy2))))/IterationMax,color);
</syntaxhighlight>
where :
* Zx2 = Zx*Zx
* Zy2 = Zy*Zy
Here is another version by Tony Finch<ref>[http://dotat.at/prog/mandelbrot/ Making Mandelbrot Set Movies by Tony Finch]</ref>
<syntaxhighlight lang=C>
while (n++ < max &&
x2+y2 < inf) {
y = 2*x*y + b;
x = x2-y2 + a;
y2 = y*y;
x2 = x*x;
}
nu = n - log(log(x2+y2)/2)/ log(2);
</syntaxhighlight >
based on equation <ref>[http://linas.org/art-gallery/escape/escape.html Linas Vepstas. Renormalizing the mandelbrot escape.]</ref>
: <math>\nu(z) = n - \log_2 \log (z_n)\,</math>
====C++====
<syntaxhighlight lang=cpp>
// based on cpp code by Geek3 from http://en.wikibooks.org/wiki/File:Mandelbrot_set_rainbow_colors.png
sqrxy = x * x + y * y;
double m = LastIteration + 1.5 - log2(log2(sqrxy));
</syntaxhighlight>
====java====
<syntaxhighlight lang=java>
/**
Smooth coloring algorithm
https://gitlab.com/shreyas.siravara/mandelbrot-with-smooth-coloring/blob/master/Mandelbrot.java
Mandelbrot with Smooth Coloring by Shreyas Siravara
*/
double nsmooth = (iterations + 1 - Math.log(Math.log(Zn.getMagnitude())) / Math.log(ESCAPE_RADIUS));
double smoothcolor = nsmooth / MAX_ITERATIONS;
if (iterations < MAX_ITERATIONS) {
int rgb = Color.HSBtoRGB((float) (0.99f + 1.9 * smoothcolor), 0.9f, 0.9f);
g2d.setColor(new Color(rgb));
} else {
g2d.setColor(Color.black.darker());
}
</syntaxhighlight>
====Matemathica====
Here is [http://www.bugman123.com/Fractals/index.html code by Paul Nylander]. It uses different formula :
<math>cet = n + log_2ln(R) - log_2ln|z|</math>
====Python====
Python code using mpmath library<ref>[http://code.google.com/p/mpmath/ mpmath Python library]</ref>
<syntaxhighlight lang=python>
def mandelbrot(z):
c = z
for i in xrange(ITERATIONS):
zprev = z
z = z*z + c
if abs(z) > ESCAPE_RADIUS:
return ctx.exp(1j*(i + 1 - ctx.log(ctx.log(abs(z)))/ctx.log(2)))
return 0
</syntaxhighlight>
==Distance estimation DEM/M==
<gallery>
File:Demm_2000_Mandelbrot_set.jpg|Exterior DEM/M
File:Boundary mandelbrot set.png|simple boundary with DEM/M
File:Mandelbrot DEM Sobel.png|Boundary with DEM/M and Sobel filter
</gallery>
Variants :
* exterior DEM/M
* interior DEM/M
[[Fractals/Iterations in the complex plane/demm|Description]]
==Complex potential==
[[Fractals/Iterations_in_the_complex_plane/MandelbrotSetExteriorComplex_potential|Description]]
=See also=
* https://web.archive.org/web/20071008112609/http://rgba.scenesp.org/iq/trastero/fieldlines/
* http://fraktal.republika.pl/mset_bottcher.html
=References=
<references/>
{{BookCat}}
ajogu9is464x6f4cijcbq11hku9le7v
4639934
4639933
2026-06-11T17:15:12Z
Aokoroko
3059689
/* Mandelbrot CLI: Renderer with Perturbation Theory (with a 1e−308 hardware limit) */
4639934
wikitext
text/x-wiki
[[Fractals/color_mandelbrot|Colouring]] of exterior of Mandelbrot set can be :
* non-smooth = Escape Time = dwell
** Boolean/binary Escape Time Method ( bETM/M )
** discrete = Level Set Method = LSM/M = integer ETM = iETM/M
* Smooth :
** radial measures
*** Real Escape Time Method( rETM/M )
*** Distance Estimation Method( DEM/M )
*** radius of complex potential = Complex Potential Method ( CPM/M )
** angular measures
*** argument of complex potential
*** SAC = stripe average coloring
*** other
**** "triangle inequality"<ref>[http://www.hiddendimension.com/fractalmath/divergent_fractals_main.html Mathematics of Divergent Fractals by ]</ref><ref>[http://jussiharkonen.com/gallery/coloring-techniques/ jussi harkonen : coloring-techniques]</ref>
**** Orbit trap <ref>[[w:Orbit trap|wikipedia : Orbit trap]]</ref><ref>[https://www.youtube.com/watch?v=tnMNamKPy6k Mandelbrot Orbit Trap Rendering! Programming How-To Video by DKM101]</ref>
One can also draw curves :
* external rays
* equipotential lines ( closed curves - quasi circles)
Similar projects:
* [http://mathr.co.uk/blog/2014-03-06_mandelbrot_notebook.html Mandelbrot Notebook by Claude Heiland-Allen ]
** [https://code.mathr.co.uk/mandelbrot-book mandelbrot-book]
** [https://gitlab.com/adammajewski/mandelbrot-book_book mandelbrot-book/book : one file c programs , images and description]
** [https://gitlab.com/adammajewski/my-book fork of the mandelbrot-book] and [https://gitlab.com/adammajewski/git-book-pdf book in pdf format]
* [https://www.math.univ-toulouse.fr/~cheritat/wiki-draw/index.php/Main_Page different drawing techniques and algorithms by Arnaud Cheritat ]
** [https://www.math.univ-toulouse.fr/~cheritat/wiki-draw/index.php/Mandelbrot_set Mandelbrot set] and [https://gitlab.com/adammajewski/mandelbrot_wiki_ACh example C programs ( not by A Cheritat)]
* Linas Vepstas' Art Gallery:
** [http://linas.org/art-gallery/index.html original site]
** [https://gitlab.com/adammajewski/LinasArtGallery_MandelbrotSet fork at gitlab]
== Mandelbrot CLI: Renderer with Perturbation Theory (with a 1e−308 hardware limit) ==
Key Features:
High-Precision Reference: The 5000-bit reference trajectory is computed exactly once per zoom layer.
Hardware-Native Performance: Blazing-fast math for billions of pixels utilizing hardware-native double registers.
When using double-precision floating-point numbers (on the order of 10 − 15 ), perturbation theory only allows you to zoom down to the 10 − 308 level-no further.
Innovative Algorithm: Revolutionary Reference Reset to Zero implementation.
True 8x8 SSAA: Pristine, anti-aliased image quality with 64 independent samples per pixel. 80000 x 80000 pixels downscaled to 10000 x 10000.
OpenMP Multi-threading: High-speed parallel computing to maximize CPU utilization.
<gallery>
File:Mandelbrot_Set_Image_106.png|A high-resolution, 100-megapixel fragment of the Mandelbrot set, rendered using Perturbation Theory.
</gallery>
<syntaxhighlight lang=cpp>
/*
* Original project:
* https://github.com/Divetoxx/Mandelbrot
*/
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
#include <cstdint>
#include <string>
#include <atomic>
#include <omp.h>
#include <cstdio>
#include <iomanip>
#include <gmp.h>
#include <mpfr.h>
using namespace std;
const double PI = 3.14159265358979323846;
const mpfr_prec_t MPFR_BITS = 5000;
#pragma pack(push, 1)
struct BMPHeader {
uint16_t type{0x4D42};
uint32_t size{0};
uint16_t reserved1{0};
uint16_t reserved2{0};
uint32_t offBits{54};
uint32_t structSize{40};
int32_t width{0};
int32_t height{0};
uint16_t planes{1};
uint16_t bitCount{24};
uint32_t compression{0};
uint32_t sizeImage{0};
int32_t xpelsPerMeter{2834};
int32_t ypelsPerMeter{2834};
uint32_t clrUsed{0};
uint32_t clrImportant{0};
};
#pragma pack(pop)
struct ComplexDouble {
double re;
double im;
};
void save_bmp(const string& filename, const vector<uint8_t>& data, int w, int h) {
int rowSize = (w * 3 + 3) & ~3;
BMPHeader header;
header.width = w;
header.height = h;
header.sizeImage = rowSize * h;
header.size = header.sizeImage + 54;
ofstream f(filename, ios::binary);
f.write(reinterpret_cast<char*>(&header), 54);
f.write(reinterpret_cast<const char*>(data.data()), data.size());
f.close();
}
int main() {
string absc_str, ordi_str, size_str;
absc_str = "-1.7491976289657893741942376816272921165326158557416159";
ordi_str = "-0.00000042530777152440422725855012159249401150956515248";
size_str = "0.00000000000000000000000000000000000000000000000000431";
const int targetW = 10000;
const int targetH = 10000;
const int scale = 8;
const int rawW = targetW * scale;
const int rawH = targetH * scale;
cout << "Step 1: Calculating Raw Map (" << rawW << "x" << rawH << ") using Perturbation..." << endl;
vector<uint8_t> iterMap((size_t)rawW * rawH);
mpfr_t rx, ry, zr, zi, zr2, zi2, tmp, sz, st;
mpfr_inits2(MPFR_BITS, rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
mpfr_set_str(rx, absc_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(ry, ordi_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(sz, size_str.c_str(), 10, MPFR_RNDN);
mpfr_div_ui(st, sz, rawW, MPFR_RNDN);
double step_d = mpfr_get_d(st, MPFR_RNDN);
double ref_rec_d = mpfr_get_d(rx, MPFR_RNDN);
double ref_imc_d = mpfr_get_d(ry, MPFR_RNDN);
vector<ComplexDouble> ref_orbit_double(50005);
mpfr_set_ui(zr, 0, MPFR_RNDN);
mpfr_set_ui(zi, 0, MPFR_RNDN);
mpfr_set_ui(zr2, 0, MPFR_RNDN);
mpfr_set_ui(zi2, 0, MPFR_RNDN);
uint32_t ref_i = 0;
bool escaped = false;
while (ref_i < 50000) {
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
mpfr_mul(tmp, zr, zi, MPFR_RNDN);
mpfr_mul_ui(zi, tmp, 2, MPFR_RNDN);
mpfr_add(zi, zi, ry, MPFR_RNDN);
mpfr_sub(zr, zr2, zi2, MPFR_RNDN);
mpfr_add(zr, zr, rx, MPFR_RNDN);
mpfr_mul(zr2, zr, zr, MPFR_RNDN);
mpfr_mul(zi2, zi, zi, MPFR_RNDN);
if (escaped) {
ref_i++;
break;
}
mpfr_add(tmp, zr2, zi2, MPFR_RNDN);
if (mpfr_cmp_d(tmp, 4.0) >= 0) {
escaped = true;
}
ref_i++;
}
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
uint32_t max_valid_ref_iter = ref_i;
mpfr_clears(rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
atomic<int> linesDone{0};
#pragma omp parallel for schedule(dynamic)
for (size_t b = 0; b < (size_t)rawH; ++b) {
for (size_t a = 0; a < (size_t)rawW; ++a) {
double delta_rec = (double)((long long)a - (rawW / 2)) * step_d;
double delta_imc = (double)((long long)b - (rawH / 2)) * step_d;
uint32_t index = 0;
double delta_re = 0.0;
double delta_im = 0.0;
double z_re = 0.0;
double z_im = 0.0;
uint32_t i = 0;
const ComplexDouble* ref_ptr = ref_orbit_double.data();
while (i < max_valid_ref_iter) {
if ((z_re * z_re + z_im * z_im) >= 40000.0) {
break;
}
if ((z_re * z_re + z_im * z_im) < (delta_re * delta_re + delta_im * delta_im)) {
index = 0;
delta_re = z_re;
delta_im = z_im;
}
for (int step = 0; step < 2; ++step) {
double Ur = ref_ptr[index].re;
double Ui = ref_ptr[index].im;
double next_delta_im = 2.0 * Ur * delta_im + 2.0 * Ui * delta_re + 2.0 * delta_re * delta_im + delta_imc;
delta_re = 2.0 * Ur * delta_re - 2.0 * Ui * delta_im + delta_re * delta_re - delta_im * delta_im + delta_rec;
delta_im = next_delta_im;
index++;
}
z_re = ref_ptr[index].re + delta_re;
z_im = ref_ptr[index].im + delta_im;
i += 2;
}
int final_t = 50000 - i;
if (final_t == 0) {
iterMap[b * (size_t)rawW + a] = 255;
} else {
iterMap[b * (size_t)rawW + a] = (uint8_t)(final_t % 254);
}
}
if (++linesDone % 100 == 0) cout << "Progress: " << linesDone << "/" << rawH << "\r" << flush;
}
uint8_t pal[256][3];
for (int a = 0; a < 255; ++a) {
pal[a][0] = (uint8_t)round(127.0 + 127.0 * cos(2.0 * PI * a / 255.0)); // Blue
pal[a][1] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Green
pal[a][2] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Red
}
pal[255][0] = 255; pal[255][1] = 255; pal[255][2] = 255;
cout << "\nStep 2: Rendering frames..." << endl;
int rowSize = (targetW * 3 + 3) & ~3;
for (int frame = 0; frame < 255; ++frame) {
vector<uint8_t> frameData(rowSize * targetH);
#pragma omp parallel for schedule(static)
for (int y = 0; y < targetH; ++y) {
for (int x = 0; x < targetW; ++x) {
uint32_t rSum = 0, gSum = 0, bSum = 0;
for (int j = 0; j < scale; ++j) {
size_t mapRowIdx = (size_t)(y * scale + j) * rawW;
for (int i = 0; i < scale; ++i) {
uint8_t t = iterMap[mapRowIdx + (x * scale + i)];
int colorIdx;
if (t == 255) {
colorIdx = 255;
} else {
colorIdx = (t - frame + 255) % 255;
}
bSum += pal[colorIdx][0];
gSum += pal[colorIdx][1];
rSum += pal[colorIdx][2];
}
}
int outIdx = y * rowSize + x * 3;
frameData[outIdx + 0] = (uint8_t)(bSum >> 6);
frameData[outIdx + 1] = (uint8_t)(gSum >> 6);
frameData[outIdx + 2] = (uint8_t)(rSum >> 6);
}
}
string filename = "Mandelbrot" + to_string(1000 + frame).substr(1) + ".bmp";
save_bmp(filename, frameData, targetW, targetH);
cout << "Frame " << frame << "/254 saved. \r" << flush;
}
return 0;
}
</syntaxhighlight>
=='''Escape time''' or dwell==
Here for given point c on parameter plane one checks how critical point <math> z = 0.0 </math> behaves on dynamical plane under [[Fractals/Iterations in the complex plane/q-iterations#Forward iteration|forward iteration]]. If you change initial point you will get different result <ref>[http://mathesim.degruyter.de/jws_en/show_simulation.php?id=1052&type=RoessMa&lang=en Java program by Dieter Röß showing result of changing initial point of Mandelbrot iterations]</ref>
To draw given plane one needs to [[Fractals/Computer graphic techniques/2D#Scanning|check/scan]] (all) its points. See [[Fractals/Iterations in the complex plane/Mandelbrot set#Period detection|here for more details ( optimisation)]]
Read [[Fractals/Iterations in the complex plane/def cqp|definitions]] first.
===How to find the number of iterations required to escape the mandelbrot set ?===
* [https://math.stackexchange.com/questions/4056809/is-there-an-equation-for-the-number-of-iterations-required-to-escape-the-mandelb/4059340 math.stackexchange question: is-there-an-equation-for-the-number-of-iterations-required-to-escape-the-mandelb]
* [https://math.stackexchange.com/questions/16970/a-way-to-determine-the-ideal-number-of-maximum-iterations-for-an-arbitrary-zoom?rq=1 math.stackexchange question: a-way-to-determine-the-ideal-number-of-maximum-iterations-for-an-arbitrary-zoom?]
===Boolean escape time ===
This algorithm answers the question: “For which values of c will the Julia fractal, J(c), be line-like and for which dust-like?”<ref>[https://www.ntg.nl/maps/45/03.pdf Julia fractals in PostScript by Kees van der Laan, EUROTEX 2012 & 6CM PROCEEDINGS 47]</ref>
Here complex plane consists of 2 sets : Mandelbrot set <math>M\,</math> and its complement <math>M^c\,</math> :
<math>\mathbb{C}= M \cup M^c</math>
====ASCI graphic ( on screen) ====
[[File:Mandel.png|right|thumb|ASCI graphic : Boolean escape time in text mode]]
<syntaxhighlight lang=c>
// http://mrl.nyu.edu/~perlin/
main(k){float i,j,r,x,y=-16;while(puts(""),y++<15)for(x
=0;x++<84;putchar(" .:-;!/>)|&IH%*#"[k&15]))for(i=k=r=0;
j=r*r-i*i-2+x/25,i=2*r*i+y/10,j*j+i*i<11&&k++<111;r=j);}
</syntaxhighlight>
<syntaxhighlight lang=haskell>
-- Haskell code by Ochronus
-- http://blog.mostof.it/mandelbrot-set-in-ruby-and-haskell/
import Data.Complex
mandelbrot a = iterate (\z -> z^2 + a) a !! 500
main = mapM_ putStrLn [[if magnitude (mandelbrot (x :+ y)) < 2 then '*' else ' '
| x <- [-2, -1.9685 .. 0.5]]
| y <- [1, 0.95 .. -1]]
</syntaxhighlight>
<syntaxhighlight lang=lisp>
; common lisp
(loop for y from -1.5 to 1.5 by 0.05 do
(loop for x from -2.5 to 0.5 by 0.025 do
(let* ((c (complex x y)) ; parameter
(z (complex 0 0))
(iMax 20) ; maximal number of iterations
(i 0)) ; iteration number
(loop while (< i iMax ) do
(setq z (+ (* z z) c)) ; iteration
(incf i)
(when (> (abs z) 2) (return i)))
; color of pixel
(if (= i iMax) (princ (code-char 42)) ; inside M
(princ (code-char 32))))) ; outside M
(format t "~%")) ; new line
</syntaxhighlight>
Comparison programs in various languages <ref>[http://www.timestretch.com/tag/mandelbrot Fractal Benchmark by Erik Wrenholt]</ref><ref>[http://www.righto.com/2015/03/12-minute-mandelbrot-fractals-on-50.html 12-minute Mandelbrot: fractals on a 50 year old IBM 1401 mainframe]</ref>
==== Graphic file ( PPM ) ====
Here are various programs for creating pbm file <ref>[https://benchmarksgame-team.pages.debian.net/benchmarksgame/description/mandelbrot.html#mandelbrotThe Computer Language Benchmarks Game ]</ref>
* GLSL using [[Fractals/shadertoy#Boolean escape time|shadertoy]]
* short c programs by ed Burke<ref>[https://batchloaf.wordpress.com/2016/02/13/example-code-from-presentation-ways-of-seeing-julia-sets/ example-code-from-presentation-ways-of-seeing-julia-sets by ed Burke]</ref>
=====C=====
This is complete code of C one file program.
*It makes a ppm file which consists an image. To see the file (image) use external application ( graphic viewer).
*Program consists of 3 loops:
** iY and iX, which are used to scan rectangle area of parameter plane
**iterations.
For each point of screen (iX,iY) it's complex value is computed c=cx+cy*i.
For each point c is computed iterations of critical point <math>z_0 = z_{cr} = 0 \,</math>
It uses some [[Fractals/Iterations in the complex plane/Mandelbrot set#Speed improvements - optimisation|speed_improvement]]. Instead of checking :
sqrt(Zx2+Zy2)<ER
it checks :
(Zx2+Zy2)<ER2 // ER2 = ER*ER
It gives the same result but is faster.
<syntaxhighlight lang=C>
/*
c program:
--------------------------------
1. draws Mandelbrot set for Fc(z)=z*z +c
using Mandelbrot algorithm ( boolean escape time )
-------------------------------
2. technique of creating ppm file is based on the code of Claudio Rocchini
http://en.wikipedia.org/wiki/Image:Color_complex_plot.jpg
create 24 bit color graphic file , portable pixmap file = PPM
see http://en.wikipedia.org/wiki/Portable_pixmap
to see the file use external application ( graphic viewer)
*/
#include <stdio.h>
#include <math.h>
int main()
{
/* screen ( integer) coordinate */
int iX,iY;
const int iXmax = 800;
const int iYmax = 800;
/* world ( double) coordinate = parameter plane*/
double Cx,Cy;
const double CxMin=-2.5;
const double CxMax=1.5;
const double CyMin=-2.0;
const double CyMax=2.0;
/* */
double PixelWidth=(CxMax-CxMin)/iXmax;
double PixelHeight=(CyMax-CyMin)/iYmax;
/* color component ( R or G or B) is coded from 0 to 255 */
/* it is 24 bit color RGB file */
const int MaxColorComponentValue=255;
FILE * fp;
char *filename="new1.ppm";
char *comment="# ";/* comment should start with # */
static unsigned char color[3];
/* Z=Zx+Zy*i ; Z0 = 0 */
double Zx, Zy;
double Zx2, Zy2; /* Zx2=Zx*Zx; Zy2=Zy*Zy */
/* */
int Iteration;
const int IterationMax=200;
/* bail-out value , radius of circle ; */
const double EscapeRadius=2;
double ER2=EscapeRadius*EscapeRadius;
/*create new file,give it a name and open it in binary mode */
fp= fopen(filename,"wb"); /* b - binary mode */
/*write ASCII header to the file*/
fprintf(fp,"P6\n %s\n %d\n %d\n %d\n",comment,iXmax,iYmax,MaxColorComponentValue);
/* compute and write image data bytes to the file*/
for(iY=0;iY<iYmax;iY++)
{
Cy=CyMin + iY*PixelHeight;
if (fabs(Cy)< PixelHeight/2) Cy=0.0; /* Main antenna */
for(iX=0;iX<iXmax;iX++)
{
Cx=CxMin + iX*PixelWidth;
/* initial value of orbit = critical point Z= 0 */
Zx=0.0;
Zy=0.0;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
/* */
for (Iteration=0;Iteration<IterationMax && ((Zx2+Zy2)<ER2);Iteration++)
{
Zy=2*Zx*Zy + Cy;
Zx=Zx2-Zy2 +Cx;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
};
/* compute pixel color (24 bit = 3 bytes) */
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
else
{ /* exterior of Mandelbrot set = white */
color[0]=255; /* Red*/
color[1]=255; /* Green */
color[2]=255;/* Blue */
};
/*write color to the file*/
fwrite(color,1,3,fp);
}
}
fclose(fp);
return 0;
}
</syntaxhighlight >
===Integer escape time = LSM/M = dwell bands===
<gallery>
File:Mandelbrot seq.png|Number of details is proportional to maximal number of iterations
File:Animation of the growth of the Mandelbrot set as you iterate towards infinity.gif|Mandelbrot animation based on a static number of iterations per pixel. Here you can see why '''offset''' is sometimes used ( because - color gradient changes : for high MaxIteration disapears.
</gallery>
Here color is proportional to last iteration ( of final_n, final iteration).<ref>[http://plus.maths.org/content/computing-mandelbrot-set Computing the Mandelbrot set by Andrew Williams]</ref>
This is also called [[w:Level Set Method|Level Set Method]] ( LSM )
<math>L_n= \{ c : z_n \in T ~~\mbox{and} ~~ z_k \notin T ~~\mbox{where}~~ k<n \}\,</math>
====C====
[[Image:Mandel_lsm_bw.jpg|thumb|LSM/M image with full code in C]]
Difference between Mandelbrot algorithm and LSM/M is in only in part instruction, which computes pixel color of exterior of Mandelbrot set. In LSM/M is :
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set = LSM */
else if ((Iteration%2)==0)
{ /* even number = black */
color[0]=0; /* Red */
color[1]=0; /* Green */
color[2]=0; /* Blue */
}
else
{/* odd number = white */
color[0]=255; /* Red */
color[1]=255; /* Green */
color[2]=255; /* Blue */
};
</syntaxhighlight>
Here is [[w:C (programming language)|C]] function whithout explicit complex numbers, only doubles:
<syntaxhighlight lang="c">
int GiveEscapeTime(double C_x, double C_y, int iMax, double _ER2)
{
int i;
double Zx, Zy;
double Zx2, Zy2; /* Zx2=Zx*Zx; Zy2=Zy*Zy */
Zx=0.0; /* initial value of orbit = critical point Z= 0 */
Zy=0.0;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
for (i=0;i<iMax && ((Zx2+Zy2)<_ER2);i++)
{
Zy=2*Zx*Zy + C_y;
Zx=Zx2-Zy2 +C_x;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
};
return i;
}
</syntaxhighlight>
here a short code with complex numbers:
<syntaxhighlight lang=c>
// https://gitlab.com/adammajewski/mandelbrot_wiki_ACh/blob/master/betm.c
int iterate(double complex C , int iMax)
{
int i;
double complex Z= 0.0; // initial value for iteration Z0
for(i=0;i<iMax;i++)
{
Z=Z*Z+C; // https://stackoverflow.com/questions/6418807/how-to-work-with-complex-numbers-in-c
if(cabs(Z)>EscapeRadius) break;
}
return i;
}
</syntaxhighlight>
====C++====
Here is C++ function which can be used to draw LSM/M :
<syntaxhighlight lang=Cpp>
int iterate_mandel(complex C , int imax, int bailout)
{
int i;
std::complex Z(0,0); // initial value for iteration Z0
for(i=0;i<=imax-1;i++)
{
Z=Z*Z+C; // overloading of operators
if(abs(Z)>bailout)break;
}
return i;
}
</syntaxhighlight>
I think that it can't be coded simpler (it looks better than pseudocode), but it can be coded in other way which can be executed faster .
Here is faster code :
<syntaxhighlight lang=Cpp>
// based on cpp code by Geek3
inline int fractal(double cx, double cy, int max_iters)
// gives last iteration
{
double zx = 0, zy = 0;
if (zx * zx + zy * zy > 4) return(0); // it=0
for (int it = 1; it < max_iters; it++)
{ double zx_old = zx;
zx = zx * zx - zy * zy;
zy = 2 * zx_old * zy;
zx += cx;
zy += cy;
if (zx * zx + zy * zy > 4.0) return(it);
}
return(max_iters);
}
</syntaxhighlight>
A touch more optimised :
<syntaxhighlight lang=Cpp>
// optimised from cpp code by Geek3
inline int fractal(double cReal, double cImg, int max_iters)
// gives last iteration
{
double zReal = 0, zImg = 0, zReal2 = 0, zImg2 = 0;
//iteration zero is always 0^2+0^2, it will never escape
for (int it = 1; it < max_iters; it++)
{ //because we have zReal^2 and zImg^2 pre-calculated
//we can calculate zImg first
//then we don't need to calculate/store the "old" zReal
zImg = (2 * zReal * zImg ) + cImg;
zReal = zReal2 - zImg2 + cReal;
// calculate next iteration: zReal^2 and zImg^2
// they are used twice so calculate them once
zReal2 = zReal * zReal;
zImg2 = zImg * zImg;
if (zReal2 + zImg2 > 4.0) return(it);
}
return(max_iters);
}
</syntaxhighlight>
See also :
* [https://www.youtube.com/watch?v=nkf6icQln7w Rendering The Mandelbrot Set In C++: Part 1 - Saving Images , Video by Superdavo0001]
====GLSL====
* [[Fractals/shadertoy#LSM|shadertoy]]
====Java ====
<syntaxhighlight lang="java">
//Java code by Josef Jelinek
// http://java.rubikscube.info/
int mandel(double cx, double cy) {
double zx = 0.0, zy = 0.0;
double zx2 = 0.0, zy2 = 0.0;
int iter = 0;
while (iter < iterMax && zx2 + zy2 < 4.0) {
zy = 2.0 * zx * zy + cy;
zx = zx2 - zy2 + cx;
zx2 = zx * zx;
zy2 = zy * zy;
iter++;
}
return iter;
}
</syntaxhighlight>
====Java Script====
Here is JavaScript function which does not give last iteration but LastIteration modulo maxCol. It makes colour cycling ( if maxCol < maxIt ).
<syntaxhighlight lang="javascript">
function iterate(Cr,Ci) {
// JavaScript function by Evgeny Demidov
// http://www.ibiblio.org/e-notes/html5/fractals/mandelbrot.htm
var I=0, R=0, I2=0, R2=0, n=0;
if (R2+I2 > max) return 0;
do { I=(R+R)*I+Ci; R=R2-I2+Cr; R2=R*R; I2=I*I; n++;
} while ((R2+I2 < max) && (n < maxIt) );
if (n == maxIt) return maxCol; else return n % maxCol;
}
</syntaxhighlight>
Above functions do not use explicit definition of [[w:complex number|complex number]].
====Khan Academy====
* [https://www.khanacademy.org/computer-programming/mandelbrot-set/1274517860 khan academy mandelbrot-set]
====Lisp program ====
Whole Lisp program making ASCII graphic based on code by [http://www.frank-buss.de/ Frank Buss]
<ref>[http://groups.google.com/group/comp.lang.lisp/msg/dd505fd509fc8512 LIsp Program by Frank Buss]</ref>
<ref>[http://bc.tech.coop/blog/040811.html Mandelbrot Set ASCII art at Bill Clementson's blog]</ref>
<syntaxhighlight lang=lisp>
; common lisp
(loop for y from -1.5 to 1.5 by 0.1 do
(loop for x from -2.5 to 0.5 by 0.04 do
(let* ((i 0)
(z (complex x y))
(c z))
(loop while (< (abs
(setq z (+ (* z z) c)))
2)
while (< (incf i) 32))
(princ (code-char (+ i 32))))) ; ASCII chars <= 32 contains non-printing characters
(format t "~%"))
</syntaxhighlight>
====MathMap plugin for [[GIMP|Gimp]]====
<pre>
filter mandelbrot (gradient coloration)
c=ri:(xy/xy:[X,X]*1.5-xy:[0.5,0]);
z=ri:[0,0]; # initial value z0 = 0
# iteration of z
iter=0;
while abs(z)<2 && iter<31
do
z=z*z+c; # z(n+1) = fc(zn)
iter=iter+1
end;
coloration(iter/32) # color of pixel
end
</pre>
====Pov-Ray====
Pov-Ray has a built-in function mandel<ref>[http://www.povray.org/documentation/view/3.6.1/377/ mandel function from 2.5.11.14 Fractal Patterns at Pov-Ray docs]</ref>
====Wolfram Mathematica====
Here is [http://www.bugman123.com/Fractals/index.html code by Paul Nylander]
===Level Curves of escape time Method = LCM/M===
[[Image:LCMM.jpg|right|thumb|edge detection of Level sets]]
[[Image:Lemniscates5.png|thumb|right|Lemniscates of Mandelbrot set]]
Lemniscates are boundaries of Level Sets of escape time ( LSM/M ). They can be drawn using :
* edge detection of Level sets.
** Algorithm described in paper by M. Romera et al.<ref>[http://www.iec.csic.es/~miguel/Preprint3.ps Drawing the Mandelbrot set by the method of escape lines. M. Romera et al.]</ref> This method is fast and allows looking for high iterations.
*boundary trace<ref>http://www.metabit.org/~rfigura/figura-fractal/math.html boundary trace by Robert Figura</ref>
* drawing curves <math>L_n(T)=\{c: abs(z_n)=ER \}\,</math>, see [[:Image:Lemniscates5.png| explanation and source code]]. This method is very complicated for iterations > 5.
===Decomposition of target set for Mandelbrot set drawing===
Decomposition is modification of escape time algorithm.
The '''target set''' is divided into parts (2 or more).
Very large escape radius is used, for example ER = 12.
====Binary decomposition of LSM/M====
[[Image:Mandel_bd.png|thumb|binary decomposition: image with full code in C]]
Here target set <math>T\,</math> on dynamic plane is divided into 2 parts (binary decomposition = 2-decomposition ):
* upper half ( white) <math>T_u = \{ z : |z| > ER ~~\mbox{and}~~ Im (z) > 0\}\,</math>
* lower half (black) <math>T_l = \{ z : |z| > ER ~~\mbox{and}~~ Im (z) \le 0 \}\,</math>
Division of target set induces decomposition of level sets <math>L_n\,</math> into <math>2^{n+1}\,</math> parts ( cells, subsets):
* <math>L_{n,u} =\{ c: |z_n| > ER ~~\mbox{and}~~ Im (z_n) > 0 \}\,</math> which is colored white,
* <math>L_{n,l} = \{ c : |z_n| > ER ~~\mbox{and}~~ Im (z_n) \le 0 \}\,</math> which is colored black.
"The Level Sets and Field Lines are superimposed, creating a sort of grid, and the "squares" of the grid are filled with N-digit binary numbers giving the first N binary digits of the external angles of field lines passing through the square. (Alternately, only the Nth binary digit is used.) Each level set is divided into 2n squares. It is easy to "read" the external arguments of points in the boundary of the Mandelbrot Set using a binary decomposition." Robert P. Munafo
For binary decomposition use exp(pi) as escape radius, so that the boxes appear square (a tip from mrob).
External rays of angles (measured in turns):
<math>angle = (k / 2^n ) ~~\mbox{mod }~1\,</math>
can be seen as borders of subsets.
Difference between binary decomposition algorithm and Mandel or LSM/M is in only in part of instruction , which computes pixel color of exterior of Mandelbrot set. In binary decomposition is :
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set = LSM */
else if (Zy>0)
{
color[0]=0; /* Red */
color[1]=0; /* Green */
color[2]=0; /* Blue */
}
else
{
color[0]=255; /* Red */
color[1]=255; /* Green */
color[2]=255; /* Blue */
};
</syntaxhighlight>
also GLSL code from [[Fractals/fragmentarium|Fragmentarium]] :
<syntaxhighlight lang=GLSL>
#include "2D.frag"
#group Simple Mandelbrot
// maximal number of iterations
uniform int iMax; slider[1,100,1000] // increase iMax
// er2= er^2 wher er= escape radius = bailout
uniform float er2; slider[4.0,1000,10000] // increase er2
// compute color of pixel
vec3 color(vec2 c) {
vec2 z = vec2(0.0); // initial value
// iteration
for (int i = 0; i < iMax; i++) {
z = vec2(z.x*z.x-z.y*z.y,2*z.x*z.y) + c; // z= z^2+c
if (dot(z,z)> er2) // escape test
// exterior
if (z.x>0){ return vec3( 1.0);} // upper part of the target set
else return vec3(0.0); //lower part of the target set
}
return vec3(0.0); //interior
}
</syntaxhighlight>
<syntaxhighlight lang=GLSL>
// zoomasm -- zoom video assembler
// (c) 2019,2020,2021,2022 Claude Heiland-Allen
// SPDX-License-Identifier: AGPL-3.0-only
// recommended KF bailout settings: linear smoothing, custom radius 25
vec3 colour(void)
{
if (getInterior())
{
return vec3(1.0, 0.0, 0.0);
}
bool decomp = getT() < 0.5;
return vec3(decomp ? 0.0 : 1.0);
}
</syntaxhighlight>
Point c is plotting white or black if [[w:complex number|imaginary value]] of last iteration ( Zy) is positive or negative.<ref>http://web.archive.org/20010415125044/www.geocities.com/CapeCanaveral/Launchpad/5113/fr27.htm| An open letter to Dr. Meech from Joyce Haslam in FRACTAL REPORT 27</ref>
==== nth-decomposition ====
This method is extension of binary decomposition.
The target set T = { z : |zn| > R } with a very large escape radius ( for example R = 12 ) is divided into more than 2 parts ( for example 8).<ref>[http://fraktal.republika.pl/mset_decomposition.html mandelbrot set n-th-decomposition ]</ref>
===Real Escape Time===
Other names of this method/algorithm are :
* the fully-renormalized fractional iteration count ( by Linas Vepstas in 1997)<ref>[http://linas.org/art-gallery/escape/escape.html linas.org : Renormalizing the Mandelbrot Escape]</ref>
* smooth iteration count for generalized Mandelbrot sets ( by Inigo Quilez in 2016)<ref>[http://www.iquilezles.org/www/articles/mset_smooth/mset_smooth.htm I Quilez : mset_smooth]</ref>
* continuous iteration count for the Mandelbrot set
* Normalized Iteration Count Algorithm
* Continuous coloring
* smooth colour gradient
* fractional iterations
* fractional escape time
Here color of exterior of Mandelbrot set is proportional not to Last Iteration ( which is integer number) but to real number :
: <math>\nu(z) = \lim_{i \to \infty} (i - \log_2 \log_2 |z_i|)\,</math>
Other methods and speedups
Colouring formula in Ultrafractal :<ref>[http://www.fractalforums.com/programming/what-rangeprecision-for-fractional-escape-counts-for-mandelbrotjulia-sets/ fractalforums : What range/precision for fractional escape counts for Mandelbrot/Julia sets? ]</ref>
smooth iter = iter + 1 + ( log(log(bailout)-log(log(cabs(z))) )/log(2)
where :
* log(log(bailout) can be precalculated
*
====theory====
Description by Claude :
'''First description :'''
If R is large, the first z to escape satisfies (approximately)<ref>[https://fractalforums.org/noobs-corner/76/gradient-pallet-with-two-colors/4498 fractalforums : gradient-pallet-with-two-colors]</ref>
<math>R < |z| < R^p</math>
so taking logs
<math>\log(R) < \log(|z|) < p \log(R)</math>
so taking logs again
<math>\log(\log(R)) < \log(\log(|z|)) < \log(p) + \log(\log(R))</math>
so by algebra
<math>0 < \frac{\log(\log(|z|)) - \log(\log(R))}{\log(p)} < 1</math>
when <math>|z|</math> at escape is bigger, the smooth iteration count should be smaller, so this value needs to be subtracted from the integer iteration count
Alternatively this fraction can be used for interpolation, or used with arg(z) for exterior tiling / binary decomposition.
'''Second description'''<ref>[https://fractalforums.org/programming/11/can-anyone-help-me-understand-smooth-coloring/4597/msg37885 fractalforums.org : can-anyone-help-me-understand-smooth-coloring]</ref>
pick a radius R > 2, then |Z| > R implies that |Z^2 + C| > |Z| and more generally that |Z| -> infinity, this gives R the name escape radius. proof is on math.stackexchange.com somewhere
now suppose R is large, and n is the first iteration where |Z_n| > R.
consider what happens when |Z_n| increases as you move the point C a bit further from the Mandelbrot set boundary.
eventually |Z_n| > R^2, but then |Z_{n-1}| > R, so the iteration count should be n - 1.
for smoothing, we want a value to add to n that is 0 when |Z_n| = R and -1 when |Z_n| = R^2.
taking logs, get log |Z| is between log(R) and 2 log(R)
taking logs again, get log log |Z| is between log log R and log log R + log 2
dividing by log 2, get log_2 log |Z| is between log_2 log R and log_2 log R + 1
subtracting log_2 log R gives (log_2 log |Z| - log_2 log R) is between 0 and 1
negating it gives a value between 0 and -1, as desired
so the smooth iteration count is
<math>n - (log_2 log |Z| - log_2 log R)</math>
(replace 2 by P if you do Z^P + C)
see also http://linas.org/art-gallery/escape/escape.html which makes a value independent of R, but that is not so useful for some colouring algorithms (e.g. smooth part of escape count doesn't align with angle of final iterate)
====C====
To use log2 function add :
<nowiki> #include <math.h> </nowiki>
at the beginning of program.
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set */
else GiveRainbowColor((double)(Iteration- log2(log2(sqrt(Zx2+Zy2))))/IterationMax,color);
</syntaxhighlight>
where :
* Zx2 = Zx*Zx
* Zy2 = Zy*Zy
Here is another version by Tony Finch<ref>[http://dotat.at/prog/mandelbrot/ Making Mandelbrot Set Movies by Tony Finch]</ref>
<syntaxhighlight lang=C>
while (n++ < max &&
x2+y2 < inf) {
y = 2*x*y + b;
x = x2-y2 + a;
y2 = y*y;
x2 = x*x;
}
nu = n - log(log(x2+y2)/2)/ log(2);
</syntaxhighlight >
based on equation <ref>[http://linas.org/art-gallery/escape/escape.html Linas Vepstas. Renormalizing the mandelbrot escape.]</ref>
: <math>\nu(z) = n - \log_2 \log (z_n)\,</math>
====C++====
<syntaxhighlight lang=cpp>
// based on cpp code by Geek3 from http://en.wikibooks.org/wiki/File:Mandelbrot_set_rainbow_colors.png
sqrxy = x * x + y * y;
double m = LastIteration + 1.5 - log2(log2(sqrxy));
</syntaxhighlight>
====java====
<syntaxhighlight lang=java>
/**
Smooth coloring algorithm
https://gitlab.com/shreyas.siravara/mandelbrot-with-smooth-coloring/blob/master/Mandelbrot.java
Mandelbrot with Smooth Coloring by Shreyas Siravara
*/
double nsmooth = (iterations + 1 - Math.log(Math.log(Zn.getMagnitude())) / Math.log(ESCAPE_RADIUS));
double smoothcolor = nsmooth / MAX_ITERATIONS;
if (iterations < MAX_ITERATIONS) {
int rgb = Color.HSBtoRGB((float) (0.99f + 1.9 * smoothcolor), 0.9f, 0.9f);
g2d.setColor(new Color(rgb));
} else {
g2d.setColor(Color.black.darker());
}
</syntaxhighlight>
====Matemathica====
Here is [http://www.bugman123.com/Fractals/index.html code by Paul Nylander]. It uses different formula :
<math>cet = n + log_2ln(R) - log_2ln|z|</math>
====Python====
Python code using mpmath library<ref>[http://code.google.com/p/mpmath/ mpmath Python library]</ref>
<syntaxhighlight lang=python>
def mandelbrot(z):
c = z
for i in xrange(ITERATIONS):
zprev = z
z = z*z + c
if abs(z) > ESCAPE_RADIUS:
return ctx.exp(1j*(i + 1 - ctx.log(ctx.log(abs(z)))/ctx.log(2)))
return 0
</syntaxhighlight>
==Distance estimation DEM/M==
<gallery>
File:Demm_2000_Mandelbrot_set.jpg|Exterior DEM/M
File:Boundary mandelbrot set.png|simple boundary with DEM/M
File:Mandelbrot DEM Sobel.png|Boundary with DEM/M and Sobel filter
</gallery>
Variants :
* exterior DEM/M
* interior DEM/M
[[Fractals/Iterations in the complex plane/demm|Description]]
==Complex potential==
[[Fractals/Iterations_in_the_complex_plane/MandelbrotSetExteriorComplex_potential|Description]]
=See also=
* https://web.archive.org/web/20071008112609/http://rgba.scenesp.org/iq/trastero/fieldlines/
* http://fraktal.republika.pl/mset_bottcher.html
=References=
<references/>
{{BookCat}}
oaok89x0a2t6e5zoa0lrpzmuyq5p2kw
4639936
4639934
2026-06-11T17:25:24Z
Aokoroko
3059689
/* Mandelbrot CLI: Renderer with Perturbation Theory (with a 1e−308 hardware limit) */
4639936
wikitext
text/x-wiki
[[Fractals/color_mandelbrot|Colouring]] of exterior of Mandelbrot set can be :
* non-smooth = Escape Time = dwell
** Boolean/binary Escape Time Method ( bETM/M )
** discrete = Level Set Method = LSM/M = integer ETM = iETM/M
* Smooth :
** radial measures
*** Real Escape Time Method( rETM/M )
*** Distance Estimation Method( DEM/M )
*** radius of complex potential = Complex Potential Method ( CPM/M )
** angular measures
*** argument of complex potential
*** SAC = stripe average coloring
*** other
**** "triangle inequality"<ref>[http://www.hiddendimension.com/fractalmath/divergent_fractals_main.html Mathematics of Divergent Fractals by ]</ref><ref>[http://jussiharkonen.com/gallery/coloring-techniques/ jussi harkonen : coloring-techniques]</ref>
**** Orbit trap <ref>[[w:Orbit trap|wikipedia : Orbit trap]]</ref><ref>[https://www.youtube.com/watch?v=tnMNamKPy6k Mandelbrot Orbit Trap Rendering! Programming How-To Video by DKM101]</ref>
One can also draw curves :
* external rays
* equipotential lines ( closed curves - quasi circles)
Similar projects:
* [http://mathr.co.uk/blog/2014-03-06_mandelbrot_notebook.html Mandelbrot Notebook by Claude Heiland-Allen ]
** [https://code.mathr.co.uk/mandelbrot-book mandelbrot-book]
** [https://gitlab.com/adammajewski/mandelbrot-book_book mandelbrot-book/book : one file c programs , images and description]
** [https://gitlab.com/adammajewski/my-book fork of the mandelbrot-book] and [https://gitlab.com/adammajewski/git-book-pdf book in pdf format]
* [https://www.math.univ-toulouse.fr/~cheritat/wiki-draw/index.php/Main_Page different drawing techniques and algorithms by Arnaud Cheritat ]
** [https://www.math.univ-toulouse.fr/~cheritat/wiki-draw/index.php/Mandelbrot_set Mandelbrot set] and [https://gitlab.com/adammajewski/mandelbrot_wiki_ACh example C programs ( not by A Cheritat)]
* Linas Vepstas' Art Gallery:
** [http://linas.org/art-gallery/index.html original site]
** [https://gitlab.com/adammajewski/LinasArtGallery_MandelbrotSet fork at gitlab]
== Mandelbrot CLI: Renderer with Perturbation Theory (with a 10<sup>−308</sup> hardware limit) ==
Key Features:
High-Precision Reference: The 5000-bit reference trajectory is computed exactly once per zoom layer.
Hardware-Native Performance: Blazing-fast math for billions of pixels utilizing hardware-native double registers.
When using double-precision floating-point numbers (on the order of 10 − 15 ), perturbation theory only allows you to zoom down to the 10 − 308 level-no further.
Innovative Algorithm: Revolutionary Reference Reset to Zero implementation.
True 8x8 SSAA: Pristine, anti-aliased image quality with 64 independent samples per pixel. 80000 x 80000 pixels downscaled to 10000 x 10000.
OpenMP Multi-threading: High-speed parallel computing to maximize CPU utilization.
<gallery>
File:Mandelbrot_Set_Image_106.png|A high-resolution, 100-megapixel fragment of the Mandelbrot set, rendered using Perturbation Theory.
</gallery>
<syntaxhighlight lang=cpp>
/*
* Original project:
* https://github.com/Divetoxx/Mandelbrot
*/
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
#include <cstdint>
#include <string>
#include <atomic>
#include <omp.h>
#include <cstdio>
#include <iomanip>
#include <gmp.h>
#include <mpfr.h>
using namespace std;
const double PI = 3.14159265358979323846;
const mpfr_prec_t MPFR_BITS = 5000;
#pragma pack(push, 1)
struct BMPHeader {
uint16_t type{0x4D42};
uint32_t size{0};
uint16_t reserved1{0};
uint16_t reserved2{0};
uint32_t offBits{54};
uint32_t structSize{40};
int32_t width{0};
int32_t height{0};
uint16_t planes{1};
uint16_t bitCount{24};
uint32_t compression{0};
uint32_t sizeImage{0};
int32_t xpelsPerMeter{2834};
int32_t ypelsPerMeter{2834};
uint32_t clrUsed{0};
uint32_t clrImportant{0};
};
#pragma pack(pop)
struct ComplexDouble {
double re;
double im;
};
void save_bmp(const string& filename, const vector<uint8_t>& data, int w, int h) {
int rowSize = (w * 3 + 3) & ~3;
BMPHeader header;
header.width = w;
header.height = h;
header.sizeImage = rowSize * h;
header.size = header.sizeImage + 54;
ofstream f(filename, ios::binary);
f.write(reinterpret_cast<char*>(&header), 54);
f.write(reinterpret_cast<const char*>(data.data()), data.size());
f.close();
}
int main() {
string absc_str, ordi_str, size_str;
absc_str = "-1.7491976289657893741942376816272921165326158557416159";
ordi_str = "-0.00000042530777152440422725855012159249401150956515248";
size_str = "0.00000000000000000000000000000000000000000000000000431";
const int targetW = 10000;
const int targetH = 10000;
const int scale = 8;
const int rawW = targetW * scale;
const int rawH = targetH * scale;
cout << "Step 1: Calculating Raw Map (" << rawW << "x" << rawH << ") using Perturbation..." << endl;
vector<uint8_t> iterMap((size_t)rawW * rawH);
mpfr_t rx, ry, zr, zi, zr2, zi2, tmp, sz, st;
mpfr_inits2(MPFR_BITS, rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
mpfr_set_str(rx, absc_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(ry, ordi_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(sz, size_str.c_str(), 10, MPFR_RNDN);
mpfr_div_ui(st, sz, rawW, MPFR_RNDN);
double step_d = mpfr_get_d(st, MPFR_RNDN);
double ref_rec_d = mpfr_get_d(rx, MPFR_RNDN);
double ref_imc_d = mpfr_get_d(ry, MPFR_RNDN);
vector<ComplexDouble> ref_orbit_double(50005);
mpfr_set_ui(zr, 0, MPFR_RNDN);
mpfr_set_ui(zi, 0, MPFR_RNDN);
mpfr_set_ui(zr2, 0, MPFR_RNDN);
mpfr_set_ui(zi2, 0, MPFR_RNDN);
uint32_t ref_i = 0;
bool escaped = false;
while (ref_i < 50000) {
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
mpfr_mul(tmp, zr, zi, MPFR_RNDN);
mpfr_mul_ui(zi, tmp, 2, MPFR_RNDN);
mpfr_add(zi, zi, ry, MPFR_RNDN);
mpfr_sub(zr, zr2, zi2, MPFR_RNDN);
mpfr_add(zr, zr, rx, MPFR_RNDN);
mpfr_mul(zr2, zr, zr, MPFR_RNDN);
mpfr_mul(zi2, zi, zi, MPFR_RNDN);
if (escaped) {
ref_i++;
break;
}
mpfr_add(tmp, zr2, zi2, MPFR_RNDN);
if (mpfr_cmp_d(tmp, 4.0) >= 0) {
escaped = true;
}
ref_i++;
}
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
uint32_t max_valid_ref_iter = ref_i;
mpfr_clears(rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
atomic<int> linesDone{0};
#pragma omp parallel for schedule(dynamic)
for (size_t b = 0; b < (size_t)rawH; ++b) {
for (size_t a = 0; a < (size_t)rawW; ++a) {
double delta_rec = (double)((long long)a - (rawW / 2)) * step_d;
double delta_imc = (double)((long long)b - (rawH / 2)) * step_d;
uint32_t index = 0;
double delta_re = 0.0;
double delta_im = 0.0;
double z_re = 0.0;
double z_im = 0.0;
uint32_t i = 0;
const ComplexDouble* ref_ptr = ref_orbit_double.data();
while (i < max_valid_ref_iter) {
if ((z_re * z_re + z_im * z_im) >= 40000.0) {
break;
}
if ((z_re * z_re + z_im * z_im) < (delta_re * delta_re + delta_im * delta_im)) {
index = 0;
delta_re = z_re;
delta_im = z_im;
}
for (int step = 0; step < 2; ++step) {
double Ur = ref_ptr[index].re;
double Ui = ref_ptr[index].im;
double next_delta_im = 2.0 * Ur * delta_im + 2.0 * Ui * delta_re + 2.0 * delta_re * delta_im + delta_imc;
delta_re = 2.0 * Ur * delta_re - 2.0 * Ui * delta_im + delta_re * delta_re - delta_im * delta_im + delta_rec;
delta_im = next_delta_im;
index++;
}
z_re = ref_ptr[index].re + delta_re;
z_im = ref_ptr[index].im + delta_im;
i += 2;
}
int final_t = 50000 - i;
if (final_t == 0) {
iterMap[b * (size_t)rawW + a] = 255;
} else {
iterMap[b * (size_t)rawW + a] = (uint8_t)(final_t % 254);
}
}
if (++linesDone % 100 == 0) cout << "Progress: " << linesDone << "/" << rawH << "\r" << flush;
}
uint8_t pal[256][3];
for (int a = 0; a < 255; ++a) {
pal[a][0] = (uint8_t)round(127.0 + 127.0 * cos(2.0 * PI * a / 255.0)); // Blue
pal[a][1] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Green
pal[a][2] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Red
}
pal[255][0] = 255; pal[255][1] = 255; pal[255][2] = 255;
cout << "\nStep 2: Rendering frames..." << endl;
int rowSize = (targetW * 3 + 3) & ~3;
for (int frame = 0; frame < 255; ++frame) {
vector<uint8_t> frameData(rowSize * targetH);
#pragma omp parallel for schedule(static)
for (int y = 0; y < targetH; ++y) {
for (int x = 0; x < targetW; ++x) {
uint32_t rSum = 0, gSum = 0, bSum = 0;
for (int j = 0; j < scale; ++j) {
size_t mapRowIdx = (size_t)(y * scale + j) * rawW;
for (int i = 0; i < scale; ++i) {
uint8_t t = iterMap[mapRowIdx + (x * scale + i)];
int colorIdx;
if (t == 255) {
colorIdx = 255;
} else {
colorIdx = (t - frame + 255) % 255;
}
bSum += pal[colorIdx][0];
gSum += pal[colorIdx][1];
rSum += pal[colorIdx][2];
}
}
int outIdx = y * rowSize + x * 3;
frameData[outIdx + 0] = (uint8_t)(bSum >> 6);
frameData[outIdx + 1] = (uint8_t)(gSum >> 6);
frameData[outIdx + 2] = (uint8_t)(rSum >> 6);
}
}
string filename = "Mandelbrot" + to_string(1000 + frame).substr(1) + ".bmp";
save_bmp(filename, frameData, targetW, targetH);
cout << "Frame " << frame << "/254 saved. \r" << flush;
}
return 0;
}
</syntaxhighlight>
=='''Escape time''' or dwell==
Here for given point c on parameter plane one checks how critical point <math> z = 0.0 </math> behaves on dynamical plane under [[Fractals/Iterations in the complex plane/q-iterations#Forward iteration|forward iteration]]. If you change initial point you will get different result <ref>[http://mathesim.degruyter.de/jws_en/show_simulation.php?id=1052&type=RoessMa&lang=en Java program by Dieter Röß showing result of changing initial point of Mandelbrot iterations]</ref>
To draw given plane one needs to [[Fractals/Computer graphic techniques/2D#Scanning|check/scan]] (all) its points. See [[Fractals/Iterations in the complex plane/Mandelbrot set#Period detection|here for more details ( optimisation)]]
Read [[Fractals/Iterations in the complex plane/def cqp|definitions]] first.
===How to find the number of iterations required to escape the mandelbrot set ?===
* [https://math.stackexchange.com/questions/4056809/is-there-an-equation-for-the-number-of-iterations-required-to-escape-the-mandelb/4059340 math.stackexchange question: is-there-an-equation-for-the-number-of-iterations-required-to-escape-the-mandelb]
* [https://math.stackexchange.com/questions/16970/a-way-to-determine-the-ideal-number-of-maximum-iterations-for-an-arbitrary-zoom?rq=1 math.stackexchange question: a-way-to-determine-the-ideal-number-of-maximum-iterations-for-an-arbitrary-zoom?]
===Boolean escape time ===
This algorithm answers the question: “For which values of c will the Julia fractal, J(c), be line-like and for which dust-like?”<ref>[https://www.ntg.nl/maps/45/03.pdf Julia fractals in PostScript by Kees van der Laan, EUROTEX 2012 & 6CM PROCEEDINGS 47]</ref>
Here complex plane consists of 2 sets : Mandelbrot set <math>M\,</math> and its complement <math>M^c\,</math> :
<math>\mathbb{C}= M \cup M^c</math>
====ASCI graphic ( on screen) ====
[[File:Mandel.png|right|thumb|ASCI graphic : Boolean escape time in text mode]]
<syntaxhighlight lang=c>
// http://mrl.nyu.edu/~perlin/
main(k){float i,j,r,x,y=-16;while(puts(""),y++<15)for(x
=0;x++<84;putchar(" .:-;!/>)|&IH%*#"[k&15]))for(i=k=r=0;
j=r*r-i*i-2+x/25,i=2*r*i+y/10,j*j+i*i<11&&k++<111;r=j);}
</syntaxhighlight>
<syntaxhighlight lang=haskell>
-- Haskell code by Ochronus
-- http://blog.mostof.it/mandelbrot-set-in-ruby-and-haskell/
import Data.Complex
mandelbrot a = iterate (\z -> z^2 + a) a !! 500
main = mapM_ putStrLn [[if magnitude (mandelbrot (x :+ y)) < 2 then '*' else ' '
| x <- [-2, -1.9685 .. 0.5]]
| y <- [1, 0.95 .. -1]]
</syntaxhighlight>
<syntaxhighlight lang=lisp>
; common lisp
(loop for y from -1.5 to 1.5 by 0.05 do
(loop for x from -2.5 to 0.5 by 0.025 do
(let* ((c (complex x y)) ; parameter
(z (complex 0 0))
(iMax 20) ; maximal number of iterations
(i 0)) ; iteration number
(loop while (< i iMax ) do
(setq z (+ (* z z) c)) ; iteration
(incf i)
(when (> (abs z) 2) (return i)))
; color of pixel
(if (= i iMax) (princ (code-char 42)) ; inside M
(princ (code-char 32))))) ; outside M
(format t "~%")) ; new line
</syntaxhighlight>
Comparison programs in various languages <ref>[http://www.timestretch.com/tag/mandelbrot Fractal Benchmark by Erik Wrenholt]</ref><ref>[http://www.righto.com/2015/03/12-minute-mandelbrot-fractals-on-50.html 12-minute Mandelbrot: fractals on a 50 year old IBM 1401 mainframe]</ref>
==== Graphic file ( PPM ) ====
Here are various programs for creating pbm file <ref>[https://benchmarksgame-team.pages.debian.net/benchmarksgame/description/mandelbrot.html#mandelbrotThe Computer Language Benchmarks Game ]</ref>
* GLSL using [[Fractals/shadertoy#Boolean escape time|shadertoy]]
* short c programs by ed Burke<ref>[https://batchloaf.wordpress.com/2016/02/13/example-code-from-presentation-ways-of-seeing-julia-sets/ example-code-from-presentation-ways-of-seeing-julia-sets by ed Burke]</ref>
=====C=====
This is complete code of C one file program.
*It makes a ppm file which consists an image. To see the file (image) use external application ( graphic viewer).
*Program consists of 3 loops:
** iY and iX, which are used to scan rectangle area of parameter plane
**iterations.
For each point of screen (iX,iY) it's complex value is computed c=cx+cy*i.
For each point c is computed iterations of critical point <math>z_0 = z_{cr} = 0 \,</math>
It uses some [[Fractals/Iterations in the complex plane/Mandelbrot set#Speed improvements - optimisation|speed_improvement]]. Instead of checking :
sqrt(Zx2+Zy2)<ER
it checks :
(Zx2+Zy2)<ER2 // ER2 = ER*ER
It gives the same result but is faster.
<syntaxhighlight lang=C>
/*
c program:
--------------------------------
1. draws Mandelbrot set for Fc(z)=z*z +c
using Mandelbrot algorithm ( boolean escape time )
-------------------------------
2. technique of creating ppm file is based on the code of Claudio Rocchini
http://en.wikipedia.org/wiki/Image:Color_complex_plot.jpg
create 24 bit color graphic file , portable pixmap file = PPM
see http://en.wikipedia.org/wiki/Portable_pixmap
to see the file use external application ( graphic viewer)
*/
#include <stdio.h>
#include <math.h>
int main()
{
/* screen ( integer) coordinate */
int iX,iY;
const int iXmax = 800;
const int iYmax = 800;
/* world ( double) coordinate = parameter plane*/
double Cx,Cy;
const double CxMin=-2.5;
const double CxMax=1.5;
const double CyMin=-2.0;
const double CyMax=2.0;
/* */
double PixelWidth=(CxMax-CxMin)/iXmax;
double PixelHeight=(CyMax-CyMin)/iYmax;
/* color component ( R or G or B) is coded from 0 to 255 */
/* it is 24 bit color RGB file */
const int MaxColorComponentValue=255;
FILE * fp;
char *filename="new1.ppm";
char *comment="# ";/* comment should start with # */
static unsigned char color[3];
/* Z=Zx+Zy*i ; Z0 = 0 */
double Zx, Zy;
double Zx2, Zy2; /* Zx2=Zx*Zx; Zy2=Zy*Zy */
/* */
int Iteration;
const int IterationMax=200;
/* bail-out value , radius of circle ; */
const double EscapeRadius=2;
double ER2=EscapeRadius*EscapeRadius;
/*create new file,give it a name and open it in binary mode */
fp= fopen(filename,"wb"); /* b - binary mode */
/*write ASCII header to the file*/
fprintf(fp,"P6\n %s\n %d\n %d\n %d\n",comment,iXmax,iYmax,MaxColorComponentValue);
/* compute and write image data bytes to the file*/
for(iY=0;iY<iYmax;iY++)
{
Cy=CyMin + iY*PixelHeight;
if (fabs(Cy)< PixelHeight/2) Cy=0.0; /* Main antenna */
for(iX=0;iX<iXmax;iX++)
{
Cx=CxMin + iX*PixelWidth;
/* initial value of orbit = critical point Z= 0 */
Zx=0.0;
Zy=0.0;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
/* */
for (Iteration=0;Iteration<IterationMax && ((Zx2+Zy2)<ER2);Iteration++)
{
Zy=2*Zx*Zy + Cy;
Zx=Zx2-Zy2 +Cx;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
};
/* compute pixel color (24 bit = 3 bytes) */
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
else
{ /* exterior of Mandelbrot set = white */
color[0]=255; /* Red*/
color[1]=255; /* Green */
color[2]=255;/* Blue */
};
/*write color to the file*/
fwrite(color,1,3,fp);
}
}
fclose(fp);
return 0;
}
</syntaxhighlight >
===Integer escape time = LSM/M = dwell bands===
<gallery>
File:Mandelbrot seq.png|Number of details is proportional to maximal number of iterations
File:Animation of the growth of the Mandelbrot set as you iterate towards infinity.gif|Mandelbrot animation based on a static number of iterations per pixel. Here you can see why '''offset''' is sometimes used ( because - color gradient changes : for high MaxIteration disapears.
</gallery>
Here color is proportional to last iteration ( of final_n, final iteration).<ref>[http://plus.maths.org/content/computing-mandelbrot-set Computing the Mandelbrot set by Andrew Williams]</ref>
This is also called [[w:Level Set Method|Level Set Method]] ( LSM )
<math>L_n= \{ c : z_n \in T ~~\mbox{and} ~~ z_k \notin T ~~\mbox{where}~~ k<n \}\,</math>
====C====
[[Image:Mandel_lsm_bw.jpg|thumb|LSM/M image with full code in C]]
Difference between Mandelbrot algorithm and LSM/M is in only in part instruction, which computes pixel color of exterior of Mandelbrot set. In LSM/M is :
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set = LSM */
else if ((Iteration%2)==0)
{ /* even number = black */
color[0]=0; /* Red */
color[1]=0; /* Green */
color[2]=0; /* Blue */
}
else
{/* odd number = white */
color[0]=255; /* Red */
color[1]=255; /* Green */
color[2]=255; /* Blue */
};
</syntaxhighlight>
Here is [[w:C (programming language)|C]] function whithout explicit complex numbers, only doubles:
<syntaxhighlight lang="c">
int GiveEscapeTime(double C_x, double C_y, int iMax, double _ER2)
{
int i;
double Zx, Zy;
double Zx2, Zy2; /* Zx2=Zx*Zx; Zy2=Zy*Zy */
Zx=0.0; /* initial value of orbit = critical point Z= 0 */
Zy=0.0;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
for (i=0;i<iMax && ((Zx2+Zy2)<_ER2);i++)
{
Zy=2*Zx*Zy + C_y;
Zx=Zx2-Zy2 +C_x;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
};
return i;
}
</syntaxhighlight>
here a short code with complex numbers:
<syntaxhighlight lang=c>
// https://gitlab.com/adammajewski/mandelbrot_wiki_ACh/blob/master/betm.c
int iterate(double complex C , int iMax)
{
int i;
double complex Z= 0.0; // initial value for iteration Z0
for(i=0;i<iMax;i++)
{
Z=Z*Z+C; // https://stackoverflow.com/questions/6418807/how-to-work-with-complex-numbers-in-c
if(cabs(Z)>EscapeRadius) break;
}
return i;
}
</syntaxhighlight>
====C++====
Here is C++ function which can be used to draw LSM/M :
<syntaxhighlight lang=Cpp>
int iterate_mandel(complex C , int imax, int bailout)
{
int i;
std::complex Z(0,0); // initial value for iteration Z0
for(i=0;i<=imax-1;i++)
{
Z=Z*Z+C; // overloading of operators
if(abs(Z)>bailout)break;
}
return i;
}
</syntaxhighlight>
I think that it can't be coded simpler (it looks better than pseudocode), but it can be coded in other way which can be executed faster .
Here is faster code :
<syntaxhighlight lang=Cpp>
// based on cpp code by Geek3
inline int fractal(double cx, double cy, int max_iters)
// gives last iteration
{
double zx = 0, zy = 0;
if (zx * zx + zy * zy > 4) return(0); // it=0
for (int it = 1; it < max_iters; it++)
{ double zx_old = zx;
zx = zx * zx - zy * zy;
zy = 2 * zx_old * zy;
zx += cx;
zy += cy;
if (zx * zx + zy * zy > 4.0) return(it);
}
return(max_iters);
}
</syntaxhighlight>
A touch more optimised :
<syntaxhighlight lang=Cpp>
// optimised from cpp code by Geek3
inline int fractal(double cReal, double cImg, int max_iters)
// gives last iteration
{
double zReal = 0, zImg = 0, zReal2 = 0, zImg2 = 0;
//iteration zero is always 0^2+0^2, it will never escape
for (int it = 1; it < max_iters; it++)
{ //because we have zReal^2 and zImg^2 pre-calculated
//we can calculate zImg first
//then we don't need to calculate/store the "old" zReal
zImg = (2 * zReal * zImg ) + cImg;
zReal = zReal2 - zImg2 + cReal;
// calculate next iteration: zReal^2 and zImg^2
// they are used twice so calculate them once
zReal2 = zReal * zReal;
zImg2 = zImg * zImg;
if (zReal2 + zImg2 > 4.0) return(it);
}
return(max_iters);
}
</syntaxhighlight>
See also :
* [https://www.youtube.com/watch?v=nkf6icQln7w Rendering The Mandelbrot Set In C++: Part 1 - Saving Images , Video by Superdavo0001]
====GLSL====
* [[Fractals/shadertoy#LSM|shadertoy]]
====Java ====
<syntaxhighlight lang="java">
//Java code by Josef Jelinek
// http://java.rubikscube.info/
int mandel(double cx, double cy) {
double zx = 0.0, zy = 0.0;
double zx2 = 0.0, zy2 = 0.0;
int iter = 0;
while (iter < iterMax && zx2 + zy2 < 4.0) {
zy = 2.0 * zx * zy + cy;
zx = zx2 - zy2 + cx;
zx2 = zx * zx;
zy2 = zy * zy;
iter++;
}
return iter;
}
</syntaxhighlight>
====Java Script====
Here is JavaScript function which does not give last iteration but LastIteration modulo maxCol. It makes colour cycling ( if maxCol < maxIt ).
<syntaxhighlight lang="javascript">
function iterate(Cr,Ci) {
// JavaScript function by Evgeny Demidov
// http://www.ibiblio.org/e-notes/html5/fractals/mandelbrot.htm
var I=0, R=0, I2=0, R2=0, n=0;
if (R2+I2 > max) return 0;
do { I=(R+R)*I+Ci; R=R2-I2+Cr; R2=R*R; I2=I*I; n++;
} while ((R2+I2 < max) && (n < maxIt) );
if (n == maxIt) return maxCol; else return n % maxCol;
}
</syntaxhighlight>
Above functions do not use explicit definition of [[w:complex number|complex number]].
====Khan Academy====
* [https://www.khanacademy.org/computer-programming/mandelbrot-set/1274517860 khan academy mandelbrot-set]
====Lisp program ====
Whole Lisp program making ASCII graphic based on code by [http://www.frank-buss.de/ Frank Buss]
<ref>[http://groups.google.com/group/comp.lang.lisp/msg/dd505fd509fc8512 LIsp Program by Frank Buss]</ref>
<ref>[http://bc.tech.coop/blog/040811.html Mandelbrot Set ASCII art at Bill Clementson's blog]</ref>
<syntaxhighlight lang=lisp>
; common lisp
(loop for y from -1.5 to 1.5 by 0.1 do
(loop for x from -2.5 to 0.5 by 0.04 do
(let* ((i 0)
(z (complex x y))
(c z))
(loop while (< (abs
(setq z (+ (* z z) c)))
2)
while (< (incf i) 32))
(princ (code-char (+ i 32))))) ; ASCII chars <= 32 contains non-printing characters
(format t "~%"))
</syntaxhighlight>
====MathMap plugin for [[GIMP|Gimp]]====
<pre>
filter mandelbrot (gradient coloration)
c=ri:(xy/xy:[X,X]*1.5-xy:[0.5,0]);
z=ri:[0,0]; # initial value z0 = 0
# iteration of z
iter=0;
while abs(z)<2 && iter<31
do
z=z*z+c; # z(n+1) = fc(zn)
iter=iter+1
end;
coloration(iter/32) # color of pixel
end
</pre>
====Pov-Ray====
Pov-Ray has a built-in function mandel<ref>[http://www.povray.org/documentation/view/3.6.1/377/ mandel function from 2.5.11.14 Fractal Patterns at Pov-Ray docs]</ref>
====Wolfram Mathematica====
Here is [http://www.bugman123.com/Fractals/index.html code by Paul Nylander]
===Level Curves of escape time Method = LCM/M===
[[Image:LCMM.jpg|right|thumb|edge detection of Level sets]]
[[Image:Lemniscates5.png|thumb|right|Lemniscates of Mandelbrot set]]
Lemniscates are boundaries of Level Sets of escape time ( LSM/M ). They can be drawn using :
* edge detection of Level sets.
** Algorithm described in paper by M. Romera et al.<ref>[http://www.iec.csic.es/~miguel/Preprint3.ps Drawing the Mandelbrot set by the method of escape lines. M. Romera et al.]</ref> This method is fast and allows looking for high iterations.
*boundary trace<ref>http://www.metabit.org/~rfigura/figura-fractal/math.html boundary trace by Robert Figura</ref>
* drawing curves <math>L_n(T)=\{c: abs(z_n)=ER \}\,</math>, see [[:Image:Lemniscates5.png| explanation and source code]]. This method is very complicated for iterations > 5.
===Decomposition of target set for Mandelbrot set drawing===
Decomposition is modification of escape time algorithm.
The '''target set''' is divided into parts (2 or more).
Very large escape radius is used, for example ER = 12.
====Binary decomposition of LSM/M====
[[Image:Mandel_bd.png|thumb|binary decomposition: image with full code in C]]
Here target set <math>T\,</math> on dynamic plane is divided into 2 parts (binary decomposition = 2-decomposition ):
* upper half ( white) <math>T_u = \{ z : |z| > ER ~~\mbox{and}~~ Im (z) > 0\}\,</math>
* lower half (black) <math>T_l = \{ z : |z| > ER ~~\mbox{and}~~ Im (z) \le 0 \}\,</math>
Division of target set induces decomposition of level sets <math>L_n\,</math> into <math>2^{n+1}\,</math> parts ( cells, subsets):
* <math>L_{n,u} =\{ c: |z_n| > ER ~~\mbox{and}~~ Im (z_n) > 0 \}\,</math> which is colored white,
* <math>L_{n,l} = \{ c : |z_n| > ER ~~\mbox{and}~~ Im (z_n) \le 0 \}\,</math> which is colored black.
"The Level Sets and Field Lines are superimposed, creating a sort of grid, and the "squares" of the grid are filled with N-digit binary numbers giving the first N binary digits of the external angles of field lines passing through the square. (Alternately, only the Nth binary digit is used.) Each level set is divided into 2n squares. It is easy to "read" the external arguments of points in the boundary of the Mandelbrot Set using a binary decomposition." Robert P. Munafo
For binary decomposition use exp(pi) as escape radius, so that the boxes appear square (a tip from mrob).
External rays of angles (measured in turns):
<math>angle = (k / 2^n ) ~~\mbox{mod }~1\,</math>
can be seen as borders of subsets.
Difference between binary decomposition algorithm and Mandel or LSM/M is in only in part of instruction , which computes pixel color of exterior of Mandelbrot set. In binary decomposition is :
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set = LSM */
else if (Zy>0)
{
color[0]=0; /* Red */
color[1]=0; /* Green */
color[2]=0; /* Blue */
}
else
{
color[0]=255; /* Red */
color[1]=255; /* Green */
color[2]=255; /* Blue */
};
</syntaxhighlight>
also GLSL code from [[Fractals/fragmentarium|Fragmentarium]] :
<syntaxhighlight lang=GLSL>
#include "2D.frag"
#group Simple Mandelbrot
// maximal number of iterations
uniform int iMax; slider[1,100,1000] // increase iMax
// er2= er^2 wher er= escape radius = bailout
uniform float er2; slider[4.0,1000,10000] // increase er2
// compute color of pixel
vec3 color(vec2 c) {
vec2 z = vec2(0.0); // initial value
// iteration
for (int i = 0; i < iMax; i++) {
z = vec2(z.x*z.x-z.y*z.y,2*z.x*z.y) + c; // z= z^2+c
if (dot(z,z)> er2) // escape test
// exterior
if (z.x>0){ return vec3( 1.0);} // upper part of the target set
else return vec3(0.0); //lower part of the target set
}
return vec3(0.0); //interior
}
</syntaxhighlight>
<syntaxhighlight lang=GLSL>
// zoomasm -- zoom video assembler
// (c) 2019,2020,2021,2022 Claude Heiland-Allen
// SPDX-License-Identifier: AGPL-3.0-only
// recommended KF bailout settings: linear smoothing, custom radius 25
vec3 colour(void)
{
if (getInterior())
{
return vec3(1.0, 0.0, 0.0);
}
bool decomp = getT() < 0.5;
return vec3(decomp ? 0.0 : 1.0);
}
</syntaxhighlight>
Point c is plotting white or black if [[w:complex number|imaginary value]] of last iteration ( Zy) is positive or negative.<ref>http://web.archive.org/20010415125044/www.geocities.com/CapeCanaveral/Launchpad/5113/fr27.htm| An open letter to Dr. Meech from Joyce Haslam in FRACTAL REPORT 27</ref>
==== nth-decomposition ====
This method is extension of binary decomposition.
The target set T = { z : |zn| > R } with a very large escape radius ( for example R = 12 ) is divided into more than 2 parts ( for example 8).<ref>[http://fraktal.republika.pl/mset_decomposition.html mandelbrot set n-th-decomposition ]</ref>
===Real Escape Time===
Other names of this method/algorithm are :
* the fully-renormalized fractional iteration count ( by Linas Vepstas in 1997)<ref>[http://linas.org/art-gallery/escape/escape.html linas.org : Renormalizing the Mandelbrot Escape]</ref>
* smooth iteration count for generalized Mandelbrot sets ( by Inigo Quilez in 2016)<ref>[http://www.iquilezles.org/www/articles/mset_smooth/mset_smooth.htm I Quilez : mset_smooth]</ref>
* continuous iteration count for the Mandelbrot set
* Normalized Iteration Count Algorithm
* Continuous coloring
* smooth colour gradient
* fractional iterations
* fractional escape time
Here color of exterior of Mandelbrot set is proportional not to Last Iteration ( which is integer number) but to real number :
: <math>\nu(z) = \lim_{i \to \infty} (i - \log_2 \log_2 |z_i|)\,</math>
Other methods and speedups
Colouring formula in Ultrafractal :<ref>[http://www.fractalforums.com/programming/what-rangeprecision-for-fractional-escape-counts-for-mandelbrotjulia-sets/ fractalforums : What range/precision for fractional escape counts for Mandelbrot/Julia sets? ]</ref>
smooth iter = iter + 1 + ( log(log(bailout)-log(log(cabs(z))) )/log(2)
where :
* log(log(bailout) can be precalculated
*
====theory====
Description by Claude :
'''First description :'''
If R is large, the first z to escape satisfies (approximately)<ref>[https://fractalforums.org/noobs-corner/76/gradient-pallet-with-two-colors/4498 fractalforums : gradient-pallet-with-two-colors]</ref>
<math>R < |z| < R^p</math>
so taking logs
<math>\log(R) < \log(|z|) < p \log(R)</math>
so taking logs again
<math>\log(\log(R)) < \log(\log(|z|)) < \log(p) + \log(\log(R))</math>
so by algebra
<math>0 < \frac{\log(\log(|z|)) - \log(\log(R))}{\log(p)} < 1</math>
when <math>|z|</math> at escape is bigger, the smooth iteration count should be smaller, so this value needs to be subtracted from the integer iteration count
Alternatively this fraction can be used for interpolation, or used with arg(z) for exterior tiling / binary decomposition.
'''Second description'''<ref>[https://fractalforums.org/programming/11/can-anyone-help-me-understand-smooth-coloring/4597/msg37885 fractalforums.org : can-anyone-help-me-understand-smooth-coloring]</ref>
pick a radius R > 2, then |Z| > R implies that |Z^2 + C| > |Z| and more generally that |Z| -> infinity, this gives R the name escape radius. proof is on math.stackexchange.com somewhere
now suppose R is large, and n is the first iteration where |Z_n| > R.
consider what happens when |Z_n| increases as you move the point C a bit further from the Mandelbrot set boundary.
eventually |Z_n| > R^2, but then |Z_{n-1}| > R, so the iteration count should be n - 1.
for smoothing, we want a value to add to n that is 0 when |Z_n| = R and -1 when |Z_n| = R^2.
taking logs, get log |Z| is between log(R) and 2 log(R)
taking logs again, get log log |Z| is between log log R and log log R + log 2
dividing by log 2, get log_2 log |Z| is between log_2 log R and log_2 log R + 1
subtracting log_2 log R gives (log_2 log |Z| - log_2 log R) is between 0 and 1
negating it gives a value between 0 and -1, as desired
so the smooth iteration count is
<math>n - (log_2 log |Z| - log_2 log R)</math>
(replace 2 by P if you do Z^P + C)
see also http://linas.org/art-gallery/escape/escape.html which makes a value independent of R, but that is not so useful for some colouring algorithms (e.g. smooth part of escape count doesn't align with angle of final iterate)
====C====
To use log2 function add :
<nowiki> #include <math.h> </nowiki>
at the beginning of program.
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set */
else GiveRainbowColor((double)(Iteration- log2(log2(sqrt(Zx2+Zy2))))/IterationMax,color);
</syntaxhighlight>
where :
* Zx2 = Zx*Zx
* Zy2 = Zy*Zy
Here is another version by Tony Finch<ref>[http://dotat.at/prog/mandelbrot/ Making Mandelbrot Set Movies by Tony Finch]</ref>
<syntaxhighlight lang=C>
while (n++ < max &&
x2+y2 < inf) {
y = 2*x*y + b;
x = x2-y2 + a;
y2 = y*y;
x2 = x*x;
}
nu = n - log(log(x2+y2)/2)/ log(2);
</syntaxhighlight >
based on equation <ref>[http://linas.org/art-gallery/escape/escape.html Linas Vepstas. Renormalizing the mandelbrot escape.]</ref>
: <math>\nu(z) = n - \log_2 \log (z_n)\,</math>
====C++====
<syntaxhighlight lang=cpp>
// based on cpp code by Geek3 from http://en.wikibooks.org/wiki/File:Mandelbrot_set_rainbow_colors.png
sqrxy = x * x + y * y;
double m = LastIteration + 1.5 - log2(log2(sqrxy));
</syntaxhighlight>
====java====
<syntaxhighlight lang=java>
/**
Smooth coloring algorithm
https://gitlab.com/shreyas.siravara/mandelbrot-with-smooth-coloring/blob/master/Mandelbrot.java
Mandelbrot with Smooth Coloring by Shreyas Siravara
*/
double nsmooth = (iterations + 1 - Math.log(Math.log(Zn.getMagnitude())) / Math.log(ESCAPE_RADIUS));
double smoothcolor = nsmooth / MAX_ITERATIONS;
if (iterations < MAX_ITERATIONS) {
int rgb = Color.HSBtoRGB((float) (0.99f + 1.9 * smoothcolor), 0.9f, 0.9f);
g2d.setColor(new Color(rgb));
} else {
g2d.setColor(Color.black.darker());
}
</syntaxhighlight>
====Matemathica====
Here is [http://www.bugman123.com/Fractals/index.html code by Paul Nylander]. It uses different formula :
<math>cet = n + log_2ln(R) - log_2ln|z|</math>
====Python====
Python code using mpmath library<ref>[http://code.google.com/p/mpmath/ mpmath Python library]</ref>
<syntaxhighlight lang=python>
def mandelbrot(z):
c = z
for i in xrange(ITERATIONS):
zprev = z
z = z*z + c
if abs(z) > ESCAPE_RADIUS:
return ctx.exp(1j*(i + 1 - ctx.log(ctx.log(abs(z)))/ctx.log(2)))
return 0
</syntaxhighlight>
==Distance estimation DEM/M==
<gallery>
File:Demm_2000_Mandelbrot_set.jpg|Exterior DEM/M
File:Boundary mandelbrot set.png|simple boundary with DEM/M
File:Mandelbrot DEM Sobel.png|Boundary with DEM/M and Sobel filter
</gallery>
Variants :
* exterior DEM/M
* interior DEM/M
[[Fractals/Iterations in the complex plane/demm|Description]]
==Complex potential==
[[Fractals/Iterations_in_the_complex_plane/MandelbrotSetExteriorComplex_potential|Description]]
=See also=
* https://web.archive.org/web/20071008112609/http://rgba.scenesp.org/iq/trastero/fieldlines/
* http://fraktal.republika.pl/mset_bottcher.html
=References=
<references/>
{{BookCat}}
6ncy4k0vhs2b0akktdenmyz9vlpw215
4639938
4639936
2026-06-11T17:26:58Z
Aokoroko
3059689
/* Mandelbrot CLI: Renderer with Perturbation Theory (with a 10−308 hardware limit) */
4639938
wikitext
text/x-wiki
[[Fractals/color_mandelbrot|Colouring]] of exterior of Mandelbrot set can be :
* non-smooth = Escape Time = dwell
** Boolean/binary Escape Time Method ( bETM/M )
** discrete = Level Set Method = LSM/M = integer ETM = iETM/M
* Smooth :
** radial measures
*** Real Escape Time Method( rETM/M )
*** Distance Estimation Method( DEM/M )
*** radius of complex potential = Complex Potential Method ( CPM/M )
** angular measures
*** argument of complex potential
*** SAC = stripe average coloring
*** other
**** "triangle inequality"<ref>[http://www.hiddendimension.com/fractalmath/divergent_fractals_main.html Mathematics of Divergent Fractals by ]</ref><ref>[http://jussiharkonen.com/gallery/coloring-techniques/ jussi harkonen : coloring-techniques]</ref>
**** Orbit trap <ref>[[w:Orbit trap|wikipedia : Orbit trap]]</ref><ref>[https://www.youtube.com/watch?v=tnMNamKPy6k Mandelbrot Orbit Trap Rendering! Programming How-To Video by DKM101]</ref>
One can also draw curves :
* external rays
* equipotential lines ( closed curves - quasi circles)
Similar projects:
* [http://mathr.co.uk/blog/2014-03-06_mandelbrot_notebook.html Mandelbrot Notebook by Claude Heiland-Allen ]
** [https://code.mathr.co.uk/mandelbrot-book mandelbrot-book]
** [https://gitlab.com/adammajewski/mandelbrot-book_book mandelbrot-book/book : one file c programs , images and description]
** [https://gitlab.com/adammajewski/my-book fork of the mandelbrot-book] and [https://gitlab.com/adammajewski/git-book-pdf book in pdf format]
* [https://www.math.univ-toulouse.fr/~cheritat/wiki-draw/index.php/Main_Page different drawing techniques and algorithms by Arnaud Cheritat ]
** [https://www.math.univ-toulouse.fr/~cheritat/wiki-draw/index.php/Mandelbrot_set Mandelbrot set] and [https://gitlab.com/adammajewski/mandelbrot_wiki_ACh example C programs ( not by A Cheritat)]
* Linas Vepstas' Art Gallery:
** [http://linas.org/art-gallery/index.html original site]
** [https://gitlab.com/adammajewski/LinasArtGallery_MandelbrotSet fork at gitlab]
== Mandelbrot CLI: Renderer with Perturbation Theory (with a 10<sup>−308</sup> hardware limit) ==
Key Features:
High-Precision Reference: The 5000-bit reference trajectory is computed exactly once per zoom layer.
Hardware-Native Performance: Blazing-fast math for billions of pixels utilizing hardware-native double registers.
When using double-precision floating-point numbers (on the order of 10<sup>−15</sup>), perturbation theory only allows you to zoom down to the 10<sup>−308</sup> level-no further.
Innovative Algorithm: Revolutionary Reference Reset to Zero implementation.
True 8x8 SSAA: Pristine, anti-aliased image quality with 64 independent samples per pixel. 80000 x 80000 pixels downscaled to 10000 x 10000.
OpenMP Multi-threading: High-speed parallel computing to maximize CPU utilization.
<gallery>
File:Mandelbrot_Set_Image_106.png|A high-resolution, 100-megapixel fragment of the Mandelbrot set, rendered using Perturbation Theory.
</gallery>
<syntaxhighlight lang=cpp>
/*
* Original project:
* https://github.com/Divetoxx/Mandelbrot
*/
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
#include <cstdint>
#include <string>
#include <atomic>
#include <omp.h>
#include <cstdio>
#include <iomanip>
#include <gmp.h>
#include <mpfr.h>
using namespace std;
const double PI = 3.14159265358979323846;
const mpfr_prec_t MPFR_BITS = 5000;
#pragma pack(push, 1)
struct BMPHeader {
uint16_t type{0x4D42};
uint32_t size{0};
uint16_t reserved1{0};
uint16_t reserved2{0};
uint32_t offBits{54};
uint32_t structSize{40};
int32_t width{0};
int32_t height{0};
uint16_t planes{1};
uint16_t bitCount{24};
uint32_t compression{0};
uint32_t sizeImage{0};
int32_t xpelsPerMeter{2834};
int32_t ypelsPerMeter{2834};
uint32_t clrUsed{0};
uint32_t clrImportant{0};
};
#pragma pack(pop)
struct ComplexDouble {
double re;
double im;
};
void save_bmp(const string& filename, const vector<uint8_t>& data, int w, int h) {
int rowSize = (w * 3 + 3) & ~3;
BMPHeader header;
header.width = w;
header.height = h;
header.sizeImage = rowSize * h;
header.size = header.sizeImage + 54;
ofstream f(filename, ios::binary);
f.write(reinterpret_cast<char*>(&header), 54);
f.write(reinterpret_cast<const char*>(data.data()), data.size());
f.close();
}
int main() {
string absc_str, ordi_str, size_str;
absc_str = "-1.7491976289657893741942376816272921165326158557416159";
ordi_str = "-0.00000042530777152440422725855012159249401150956515248";
size_str = "0.00000000000000000000000000000000000000000000000000431";
const int targetW = 10000;
const int targetH = 10000;
const int scale = 8;
const int rawW = targetW * scale;
const int rawH = targetH * scale;
cout << "Step 1: Calculating Raw Map (" << rawW << "x" << rawH << ") using Perturbation..." << endl;
vector<uint8_t> iterMap((size_t)rawW * rawH);
mpfr_t rx, ry, zr, zi, zr2, zi2, tmp, sz, st;
mpfr_inits2(MPFR_BITS, rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
mpfr_set_str(rx, absc_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(ry, ordi_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(sz, size_str.c_str(), 10, MPFR_RNDN);
mpfr_div_ui(st, sz, rawW, MPFR_RNDN);
double step_d = mpfr_get_d(st, MPFR_RNDN);
double ref_rec_d = mpfr_get_d(rx, MPFR_RNDN);
double ref_imc_d = mpfr_get_d(ry, MPFR_RNDN);
vector<ComplexDouble> ref_orbit_double(50005);
mpfr_set_ui(zr, 0, MPFR_RNDN);
mpfr_set_ui(zi, 0, MPFR_RNDN);
mpfr_set_ui(zr2, 0, MPFR_RNDN);
mpfr_set_ui(zi2, 0, MPFR_RNDN);
uint32_t ref_i = 0;
bool escaped = false;
while (ref_i < 50000) {
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
mpfr_mul(tmp, zr, zi, MPFR_RNDN);
mpfr_mul_ui(zi, tmp, 2, MPFR_RNDN);
mpfr_add(zi, zi, ry, MPFR_RNDN);
mpfr_sub(zr, zr2, zi2, MPFR_RNDN);
mpfr_add(zr, zr, rx, MPFR_RNDN);
mpfr_mul(zr2, zr, zr, MPFR_RNDN);
mpfr_mul(zi2, zi, zi, MPFR_RNDN);
if (escaped) {
ref_i++;
break;
}
mpfr_add(tmp, zr2, zi2, MPFR_RNDN);
if (mpfr_cmp_d(tmp, 4.0) >= 0) {
escaped = true;
}
ref_i++;
}
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
uint32_t max_valid_ref_iter = ref_i;
mpfr_clears(rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
atomic<int> linesDone{0};
#pragma omp parallel for schedule(dynamic)
for (size_t b = 0; b < (size_t)rawH; ++b) {
for (size_t a = 0; a < (size_t)rawW; ++a) {
double delta_rec = (double)((long long)a - (rawW / 2)) * step_d;
double delta_imc = (double)((long long)b - (rawH / 2)) * step_d;
uint32_t index = 0;
double delta_re = 0.0;
double delta_im = 0.0;
double z_re = 0.0;
double z_im = 0.0;
uint32_t i = 0;
const ComplexDouble* ref_ptr = ref_orbit_double.data();
while (i < max_valid_ref_iter) {
if ((z_re * z_re + z_im * z_im) >= 40000.0) {
break;
}
if ((z_re * z_re + z_im * z_im) < (delta_re * delta_re + delta_im * delta_im)) {
index = 0;
delta_re = z_re;
delta_im = z_im;
}
for (int step = 0; step < 2; ++step) {
double Ur = ref_ptr[index].re;
double Ui = ref_ptr[index].im;
double next_delta_im = 2.0 * Ur * delta_im + 2.0 * Ui * delta_re + 2.0 * delta_re * delta_im + delta_imc;
delta_re = 2.0 * Ur * delta_re - 2.0 * Ui * delta_im + delta_re * delta_re - delta_im * delta_im + delta_rec;
delta_im = next_delta_im;
index++;
}
z_re = ref_ptr[index].re + delta_re;
z_im = ref_ptr[index].im + delta_im;
i += 2;
}
int final_t = 50000 - i;
if (final_t == 0) {
iterMap[b * (size_t)rawW + a] = 255;
} else {
iterMap[b * (size_t)rawW + a] = (uint8_t)(final_t % 254);
}
}
if (++linesDone % 100 == 0) cout << "Progress: " << linesDone << "/" << rawH << "\r" << flush;
}
uint8_t pal[256][3];
for (int a = 0; a < 255; ++a) {
pal[a][0] = (uint8_t)round(127.0 + 127.0 * cos(2.0 * PI * a / 255.0)); // Blue
pal[a][1] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Green
pal[a][2] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Red
}
pal[255][0] = 255; pal[255][1] = 255; pal[255][2] = 255;
cout << "\nStep 2: Rendering frames..." << endl;
int rowSize = (targetW * 3 + 3) & ~3;
for (int frame = 0; frame < 255; ++frame) {
vector<uint8_t> frameData(rowSize * targetH);
#pragma omp parallel for schedule(static)
for (int y = 0; y < targetH; ++y) {
for (int x = 0; x < targetW; ++x) {
uint32_t rSum = 0, gSum = 0, bSum = 0;
for (int j = 0; j < scale; ++j) {
size_t mapRowIdx = (size_t)(y * scale + j) * rawW;
for (int i = 0; i < scale; ++i) {
uint8_t t = iterMap[mapRowIdx + (x * scale + i)];
int colorIdx;
if (t == 255) {
colorIdx = 255;
} else {
colorIdx = (t - frame + 255) % 255;
}
bSum += pal[colorIdx][0];
gSum += pal[colorIdx][1];
rSum += pal[colorIdx][2];
}
}
int outIdx = y * rowSize + x * 3;
frameData[outIdx + 0] = (uint8_t)(bSum >> 6);
frameData[outIdx + 1] = (uint8_t)(gSum >> 6);
frameData[outIdx + 2] = (uint8_t)(rSum >> 6);
}
}
string filename = "Mandelbrot" + to_string(1000 + frame).substr(1) + ".bmp";
save_bmp(filename, frameData, targetW, targetH);
cout << "Frame " << frame << "/254 saved. \r" << flush;
}
return 0;
}
</syntaxhighlight>
=='''Escape time''' or dwell==
Here for given point c on parameter plane one checks how critical point <math> z = 0.0 </math> behaves on dynamical plane under [[Fractals/Iterations in the complex plane/q-iterations#Forward iteration|forward iteration]]. If you change initial point you will get different result <ref>[http://mathesim.degruyter.de/jws_en/show_simulation.php?id=1052&type=RoessMa&lang=en Java program by Dieter Röß showing result of changing initial point of Mandelbrot iterations]</ref>
To draw given plane one needs to [[Fractals/Computer graphic techniques/2D#Scanning|check/scan]] (all) its points. See [[Fractals/Iterations in the complex plane/Mandelbrot set#Period detection|here for more details ( optimisation)]]
Read [[Fractals/Iterations in the complex plane/def cqp|definitions]] first.
===How to find the number of iterations required to escape the mandelbrot set ?===
* [https://math.stackexchange.com/questions/4056809/is-there-an-equation-for-the-number-of-iterations-required-to-escape-the-mandelb/4059340 math.stackexchange question: is-there-an-equation-for-the-number-of-iterations-required-to-escape-the-mandelb]
* [https://math.stackexchange.com/questions/16970/a-way-to-determine-the-ideal-number-of-maximum-iterations-for-an-arbitrary-zoom?rq=1 math.stackexchange question: a-way-to-determine-the-ideal-number-of-maximum-iterations-for-an-arbitrary-zoom?]
===Boolean escape time ===
This algorithm answers the question: “For which values of c will the Julia fractal, J(c), be line-like and for which dust-like?”<ref>[https://www.ntg.nl/maps/45/03.pdf Julia fractals in PostScript by Kees van der Laan, EUROTEX 2012 & 6CM PROCEEDINGS 47]</ref>
Here complex plane consists of 2 sets : Mandelbrot set <math>M\,</math> and its complement <math>M^c\,</math> :
<math>\mathbb{C}= M \cup M^c</math>
====ASCI graphic ( on screen) ====
[[File:Mandel.png|right|thumb|ASCI graphic : Boolean escape time in text mode]]
<syntaxhighlight lang=c>
// http://mrl.nyu.edu/~perlin/
main(k){float i,j,r,x,y=-16;while(puts(""),y++<15)for(x
=0;x++<84;putchar(" .:-;!/>)|&IH%*#"[k&15]))for(i=k=r=0;
j=r*r-i*i-2+x/25,i=2*r*i+y/10,j*j+i*i<11&&k++<111;r=j);}
</syntaxhighlight>
<syntaxhighlight lang=haskell>
-- Haskell code by Ochronus
-- http://blog.mostof.it/mandelbrot-set-in-ruby-and-haskell/
import Data.Complex
mandelbrot a = iterate (\z -> z^2 + a) a !! 500
main = mapM_ putStrLn [[if magnitude (mandelbrot (x :+ y)) < 2 then '*' else ' '
| x <- [-2, -1.9685 .. 0.5]]
| y <- [1, 0.95 .. -1]]
</syntaxhighlight>
<syntaxhighlight lang=lisp>
; common lisp
(loop for y from -1.5 to 1.5 by 0.05 do
(loop for x from -2.5 to 0.5 by 0.025 do
(let* ((c (complex x y)) ; parameter
(z (complex 0 0))
(iMax 20) ; maximal number of iterations
(i 0)) ; iteration number
(loop while (< i iMax ) do
(setq z (+ (* z z) c)) ; iteration
(incf i)
(when (> (abs z) 2) (return i)))
; color of pixel
(if (= i iMax) (princ (code-char 42)) ; inside M
(princ (code-char 32))))) ; outside M
(format t "~%")) ; new line
</syntaxhighlight>
Comparison programs in various languages <ref>[http://www.timestretch.com/tag/mandelbrot Fractal Benchmark by Erik Wrenholt]</ref><ref>[http://www.righto.com/2015/03/12-minute-mandelbrot-fractals-on-50.html 12-minute Mandelbrot: fractals on a 50 year old IBM 1401 mainframe]</ref>
==== Graphic file ( PPM ) ====
Here are various programs for creating pbm file <ref>[https://benchmarksgame-team.pages.debian.net/benchmarksgame/description/mandelbrot.html#mandelbrotThe Computer Language Benchmarks Game ]</ref>
* GLSL using [[Fractals/shadertoy#Boolean escape time|shadertoy]]
* short c programs by ed Burke<ref>[https://batchloaf.wordpress.com/2016/02/13/example-code-from-presentation-ways-of-seeing-julia-sets/ example-code-from-presentation-ways-of-seeing-julia-sets by ed Burke]</ref>
=====C=====
This is complete code of C one file program.
*It makes a ppm file which consists an image. To see the file (image) use external application ( graphic viewer).
*Program consists of 3 loops:
** iY and iX, which are used to scan rectangle area of parameter plane
**iterations.
For each point of screen (iX,iY) it's complex value is computed c=cx+cy*i.
For each point c is computed iterations of critical point <math>z_0 = z_{cr} = 0 \,</math>
It uses some [[Fractals/Iterations in the complex plane/Mandelbrot set#Speed improvements - optimisation|speed_improvement]]. Instead of checking :
sqrt(Zx2+Zy2)<ER
it checks :
(Zx2+Zy2)<ER2 // ER2 = ER*ER
It gives the same result but is faster.
<syntaxhighlight lang=C>
/*
c program:
--------------------------------
1. draws Mandelbrot set for Fc(z)=z*z +c
using Mandelbrot algorithm ( boolean escape time )
-------------------------------
2. technique of creating ppm file is based on the code of Claudio Rocchini
http://en.wikipedia.org/wiki/Image:Color_complex_plot.jpg
create 24 bit color graphic file , portable pixmap file = PPM
see http://en.wikipedia.org/wiki/Portable_pixmap
to see the file use external application ( graphic viewer)
*/
#include <stdio.h>
#include <math.h>
int main()
{
/* screen ( integer) coordinate */
int iX,iY;
const int iXmax = 800;
const int iYmax = 800;
/* world ( double) coordinate = parameter plane*/
double Cx,Cy;
const double CxMin=-2.5;
const double CxMax=1.5;
const double CyMin=-2.0;
const double CyMax=2.0;
/* */
double PixelWidth=(CxMax-CxMin)/iXmax;
double PixelHeight=(CyMax-CyMin)/iYmax;
/* color component ( R or G or B) is coded from 0 to 255 */
/* it is 24 bit color RGB file */
const int MaxColorComponentValue=255;
FILE * fp;
char *filename="new1.ppm";
char *comment="# ";/* comment should start with # */
static unsigned char color[3];
/* Z=Zx+Zy*i ; Z0 = 0 */
double Zx, Zy;
double Zx2, Zy2; /* Zx2=Zx*Zx; Zy2=Zy*Zy */
/* */
int Iteration;
const int IterationMax=200;
/* bail-out value , radius of circle ; */
const double EscapeRadius=2;
double ER2=EscapeRadius*EscapeRadius;
/*create new file,give it a name and open it in binary mode */
fp= fopen(filename,"wb"); /* b - binary mode */
/*write ASCII header to the file*/
fprintf(fp,"P6\n %s\n %d\n %d\n %d\n",comment,iXmax,iYmax,MaxColorComponentValue);
/* compute and write image data bytes to the file*/
for(iY=0;iY<iYmax;iY++)
{
Cy=CyMin + iY*PixelHeight;
if (fabs(Cy)< PixelHeight/2) Cy=0.0; /* Main antenna */
for(iX=0;iX<iXmax;iX++)
{
Cx=CxMin + iX*PixelWidth;
/* initial value of orbit = critical point Z= 0 */
Zx=0.0;
Zy=0.0;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
/* */
for (Iteration=0;Iteration<IterationMax && ((Zx2+Zy2)<ER2);Iteration++)
{
Zy=2*Zx*Zy + Cy;
Zx=Zx2-Zy2 +Cx;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
};
/* compute pixel color (24 bit = 3 bytes) */
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
else
{ /* exterior of Mandelbrot set = white */
color[0]=255; /* Red*/
color[1]=255; /* Green */
color[2]=255;/* Blue */
};
/*write color to the file*/
fwrite(color,1,3,fp);
}
}
fclose(fp);
return 0;
}
</syntaxhighlight >
===Integer escape time = LSM/M = dwell bands===
<gallery>
File:Mandelbrot seq.png|Number of details is proportional to maximal number of iterations
File:Animation of the growth of the Mandelbrot set as you iterate towards infinity.gif|Mandelbrot animation based on a static number of iterations per pixel. Here you can see why '''offset''' is sometimes used ( because - color gradient changes : for high MaxIteration disapears.
</gallery>
Here color is proportional to last iteration ( of final_n, final iteration).<ref>[http://plus.maths.org/content/computing-mandelbrot-set Computing the Mandelbrot set by Andrew Williams]</ref>
This is also called [[w:Level Set Method|Level Set Method]] ( LSM )
<math>L_n= \{ c : z_n \in T ~~\mbox{and} ~~ z_k \notin T ~~\mbox{where}~~ k<n \}\,</math>
====C====
[[Image:Mandel_lsm_bw.jpg|thumb|LSM/M image with full code in C]]
Difference between Mandelbrot algorithm and LSM/M is in only in part instruction, which computes pixel color of exterior of Mandelbrot set. In LSM/M is :
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set = LSM */
else if ((Iteration%2)==0)
{ /* even number = black */
color[0]=0; /* Red */
color[1]=0; /* Green */
color[2]=0; /* Blue */
}
else
{/* odd number = white */
color[0]=255; /* Red */
color[1]=255; /* Green */
color[2]=255; /* Blue */
};
</syntaxhighlight>
Here is [[w:C (programming language)|C]] function whithout explicit complex numbers, only doubles:
<syntaxhighlight lang="c">
int GiveEscapeTime(double C_x, double C_y, int iMax, double _ER2)
{
int i;
double Zx, Zy;
double Zx2, Zy2; /* Zx2=Zx*Zx; Zy2=Zy*Zy */
Zx=0.0; /* initial value of orbit = critical point Z= 0 */
Zy=0.0;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
for (i=0;i<iMax && ((Zx2+Zy2)<_ER2);i++)
{
Zy=2*Zx*Zy + C_y;
Zx=Zx2-Zy2 +C_x;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
};
return i;
}
</syntaxhighlight>
here a short code with complex numbers:
<syntaxhighlight lang=c>
// https://gitlab.com/adammajewski/mandelbrot_wiki_ACh/blob/master/betm.c
int iterate(double complex C , int iMax)
{
int i;
double complex Z= 0.0; // initial value for iteration Z0
for(i=0;i<iMax;i++)
{
Z=Z*Z+C; // https://stackoverflow.com/questions/6418807/how-to-work-with-complex-numbers-in-c
if(cabs(Z)>EscapeRadius) break;
}
return i;
}
</syntaxhighlight>
====C++====
Here is C++ function which can be used to draw LSM/M :
<syntaxhighlight lang=Cpp>
int iterate_mandel(complex C , int imax, int bailout)
{
int i;
std::complex Z(0,0); // initial value for iteration Z0
for(i=0;i<=imax-1;i++)
{
Z=Z*Z+C; // overloading of operators
if(abs(Z)>bailout)break;
}
return i;
}
</syntaxhighlight>
I think that it can't be coded simpler (it looks better than pseudocode), but it can be coded in other way which can be executed faster .
Here is faster code :
<syntaxhighlight lang=Cpp>
// based on cpp code by Geek3
inline int fractal(double cx, double cy, int max_iters)
// gives last iteration
{
double zx = 0, zy = 0;
if (zx * zx + zy * zy > 4) return(0); // it=0
for (int it = 1; it < max_iters; it++)
{ double zx_old = zx;
zx = zx * zx - zy * zy;
zy = 2 * zx_old * zy;
zx += cx;
zy += cy;
if (zx * zx + zy * zy > 4.0) return(it);
}
return(max_iters);
}
</syntaxhighlight>
A touch more optimised :
<syntaxhighlight lang=Cpp>
// optimised from cpp code by Geek3
inline int fractal(double cReal, double cImg, int max_iters)
// gives last iteration
{
double zReal = 0, zImg = 0, zReal2 = 0, zImg2 = 0;
//iteration zero is always 0^2+0^2, it will never escape
for (int it = 1; it < max_iters; it++)
{ //because we have zReal^2 and zImg^2 pre-calculated
//we can calculate zImg first
//then we don't need to calculate/store the "old" zReal
zImg = (2 * zReal * zImg ) + cImg;
zReal = zReal2 - zImg2 + cReal;
// calculate next iteration: zReal^2 and zImg^2
// they are used twice so calculate them once
zReal2 = zReal * zReal;
zImg2 = zImg * zImg;
if (zReal2 + zImg2 > 4.0) return(it);
}
return(max_iters);
}
</syntaxhighlight>
See also :
* [https://www.youtube.com/watch?v=nkf6icQln7w Rendering The Mandelbrot Set In C++: Part 1 - Saving Images , Video by Superdavo0001]
====GLSL====
* [[Fractals/shadertoy#LSM|shadertoy]]
====Java ====
<syntaxhighlight lang="java">
//Java code by Josef Jelinek
// http://java.rubikscube.info/
int mandel(double cx, double cy) {
double zx = 0.0, zy = 0.0;
double zx2 = 0.0, zy2 = 0.0;
int iter = 0;
while (iter < iterMax && zx2 + zy2 < 4.0) {
zy = 2.0 * zx * zy + cy;
zx = zx2 - zy2 + cx;
zx2 = zx * zx;
zy2 = zy * zy;
iter++;
}
return iter;
}
</syntaxhighlight>
====Java Script====
Here is JavaScript function which does not give last iteration but LastIteration modulo maxCol. It makes colour cycling ( if maxCol < maxIt ).
<syntaxhighlight lang="javascript">
function iterate(Cr,Ci) {
// JavaScript function by Evgeny Demidov
// http://www.ibiblio.org/e-notes/html5/fractals/mandelbrot.htm
var I=0, R=0, I2=0, R2=0, n=0;
if (R2+I2 > max) return 0;
do { I=(R+R)*I+Ci; R=R2-I2+Cr; R2=R*R; I2=I*I; n++;
} while ((R2+I2 < max) && (n < maxIt) );
if (n == maxIt) return maxCol; else return n % maxCol;
}
</syntaxhighlight>
Above functions do not use explicit definition of [[w:complex number|complex number]].
====Khan Academy====
* [https://www.khanacademy.org/computer-programming/mandelbrot-set/1274517860 khan academy mandelbrot-set]
====Lisp program ====
Whole Lisp program making ASCII graphic based on code by [http://www.frank-buss.de/ Frank Buss]
<ref>[http://groups.google.com/group/comp.lang.lisp/msg/dd505fd509fc8512 LIsp Program by Frank Buss]</ref>
<ref>[http://bc.tech.coop/blog/040811.html Mandelbrot Set ASCII art at Bill Clementson's blog]</ref>
<syntaxhighlight lang=lisp>
; common lisp
(loop for y from -1.5 to 1.5 by 0.1 do
(loop for x from -2.5 to 0.5 by 0.04 do
(let* ((i 0)
(z (complex x y))
(c z))
(loop while (< (abs
(setq z (+ (* z z) c)))
2)
while (< (incf i) 32))
(princ (code-char (+ i 32))))) ; ASCII chars <= 32 contains non-printing characters
(format t "~%"))
</syntaxhighlight>
====MathMap plugin for [[GIMP|Gimp]]====
<pre>
filter mandelbrot (gradient coloration)
c=ri:(xy/xy:[X,X]*1.5-xy:[0.5,0]);
z=ri:[0,0]; # initial value z0 = 0
# iteration of z
iter=0;
while abs(z)<2 && iter<31
do
z=z*z+c; # z(n+1) = fc(zn)
iter=iter+1
end;
coloration(iter/32) # color of pixel
end
</pre>
====Pov-Ray====
Pov-Ray has a built-in function mandel<ref>[http://www.povray.org/documentation/view/3.6.1/377/ mandel function from 2.5.11.14 Fractal Patterns at Pov-Ray docs]</ref>
====Wolfram Mathematica====
Here is [http://www.bugman123.com/Fractals/index.html code by Paul Nylander]
===Level Curves of escape time Method = LCM/M===
[[Image:LCMM.jpg|right|thumb|edge detection of Level sets]]
[[Image:Lemniscates5.png|thumb|right|Lemniscates of Mandelbrot set]]
Lemniscates are boundaries of Level Sets of escape time ( LSM/M ). They can be drawn using :
* edge detection of Level sets.
** Algorithm described in paper by M. Romera et al.<ref>[http://www.iec.csic.es/~miguel/Preprint3.ps Drawing the Mandelbrot set by the method of escape lines. M. Romera et al.]</ref> This method is fast and allows looking for high iterations.
*boundary trace<ref>http://www.metabit.org/~rfigura/figura-fractal/math.html boundary trace by Robert Figura</ref>
* drawing curves <math>L_n(T)=\{c: abs(z_n)=ER \}\,</math>, see [[:Image:Lemniscates5.png| explanation and source code]]. This method is very complicated for iterations > 5.
===Decomposition of target set for Mandelbrot set drawing===
Decomposition is modification of escape time algorithm.
The '''target set''' is divided into parts (2 or more).
Very large escape radius is used, for example ER = 12.
====Binary decomposition of LSM/M====
[[Image:Mandel_bd.png|thumb|binary decomposition: image with full code in C]]
Here target set <math>T\,</math> on dynamic plane is divided into 2 parts (binary decomposition = 2-decomposition ):
* upper half ( white) <math>T_u = \{ z : |z| > ER ~~\mbox{and}~~ Im (z) > 0\}\,</math>
* lower half (black) <math>T_l = \{ z : |z| > ER ~~\mbox{and}~~ Im (z) \le 0 \}\,</math>
Division of target set induces decomposition of level sets <math>L_n\,</math> into <math>2^{n+1}\,</math> parts ( cells, subsets):
* <math>L_{n,u} =\{ c: |z_n| > ER ~~\mbox{and}~~ Im (z_n) > 0 \}\,</math> which is colored white,
* <math>L_{n,l} = \{ c : |z_n| > ER ~~\mbox{and}~~ Im (z_n) \le 0 \}\,</math> which is colored black.
"The Level Sets and Field Lines are superimposed, creating a sort of grid, and the "squares" of the grid are filled with N-digit binary numbers giving the first N binary digits of the external angles of field lines passing through the square. (Alternately, only the Nth binary digit is used.) Each level set is divided into 2n squares. It is easy to "read" the external arguments of points in the boundary of the Mandelbrot Set using a binary decomposition." Robert P. Munafo
For binary decomposition use exp(pi) as escape radius, so that the boxes appear square (a tip from mrob).
External rays of angles (measured in turns):
<math>angle = (k / 2^n ) ~~\mbox{mod }~1\,</math>
can be seen as borders of subsets.
Difference between binary decomposition algorithm and Mandel or LSM/M is in only in part of instruction , which computes pixel color of exterior of Mandelbrot set. In binary decomposition is :
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set = LSM */
else if (Zy>0)
{
color[0]=0; /* Red */
color[1]=0; /* Green */
color[2]=0; /* Blue */
}
else
{
color[0]=255; /* Red */
color[1]=255; /* Green */
color[2]=255; /* Blue */
};
</syntaxhighlight>
also GLSL code from [[Fractals/fragmentarium|Fragmentarium]] :
<syntaxhighlight lang=GLSL>
#include "2D.frag"
#group Simple Mandelbrot
// maximal number of iterations
uniform int iMax; slider[1,100,1000] // increase iMax
// er2= er^2 wher er= escape radius = bailout
uniform float er2; slider[4.0,1000,10000] // increase er2
// compute color of pixel
vec3 color(vec2 c) {
vec2 z = vec2(0.0); // initial value
// iteration
for (int i = 0; i < iMax; i++) {
z = vec2(z.x*z.x-z.y*z.y,2*z.x*z.y) + c; // z= z^2+c
if (dot(z,z)> er2) // escape test
// exterior
if (z.x>0){ return vec3( 1.0);} // upper part of the target set
else return vec3(0.0); //lower part of the target set
}
return vec3(0.0); //interior
}
</syntaxhighlight>
<syntaxhighlight lang=GLSL>
// zoomasm -- zoom video assembler
// (c) 2019,2020,2021,2022 Claude Heiland-Allen
// SPDX-License-Identifier: AGPL-3.0-only
// recommended KF bailout settings: linear smoothing, custom radius 25
vec3 colour(void)
{
if (getInterior())
{
return vec3(1.0, 0.0, 0.0);
}
bool decomp = getT() < 0.5;
return vec3(decomp ? 0.0 : 1.0);
}
</syntaxhighlight>
Point c is plotting white or black if [[w:complex number|imaginary value]] of last iteration ( Zy) is positive or negative.<ref>http://web.archive.org/20010415125044/www.geocities.com/CapeCanaveral/Launchpad/5113/fr27.htm| An open letter to Dr. Meech from Joyce Haslam in FRACTAL REPORT 27</ref>
==== nth-decomposition ====
This method is extension of binary decomposition.
The target set T = { z : |zn| > R } with a very large escape radius ( for example R = 12 ) is divided into more than 2 parts ( for example 8).<ref>[http://fraktal.republika.pl/mset_decomposition.html mandelbrot set n-th-decomposition ]</ref>
===Real Escape Time===
Other names of this method/algorithm are :
* the fully-renormalized fractional iteration count ( by Linas Vepstas in 1997)<ref>[http://linas.org/art-gallery/escape/escape.html linas.org : Renormalizing the Mandelbrot Escape]</ref>
* smooth iteration count for generalized Mandelbrot sets ( by Inigo Quilez in 2016)<ref>[http://www.iquilezles.org/www/articles/mset_smooth/mset_smooth.htm I Quilez : mset_smooth]</ref>
* continuous iteration count for the Mandelbrot set
* Normalized Iteration Count Algorithm
* Continuous coloring
* smooth colour gradient
* fractional iterations
* fractional escape time
Here color of exterior of Mandelbrot set is proportional not to Last Iteration ( which is integer number) but to real number :
: <math>\nu(z) = \lim_{i \to \infty} (i - \log_2 \log_2 |z_i|)\,</math>
Other methods and speedups
Colouring formula in Ultrafractal :<ref>[http://www.fractalforums.com/programming/what-rangeprecision-for-fractional-escape-counts-for-mandelbrotjulia-sets/ fractalforums : What range/precision for fractional escape counts for Mandelbrot/Julia sets? ]</ref>
smooth iter = iter + 1 + ( log(log(bailout)-log(log(cabs(z))) )/log(2)
where :
* log(log(bailout) can be precalculated
*
====theory====
Description by Claude :
'''First description :'''
If R is large, the first z to escape satisfies (approximately)<ref>[https://fractalforums.org/noobs-corner/76/gradient-pallet-with-two-colors/4498 fractalforums : gradient-pallet-with-two-colors]</ref>
<math>R < |z| < R^p</math>
so taking logs
<math>\log(R) < \log(|z|) < p \log(R)</math>
so taking logs again
<math>\log(\log(R)) < \log(\log(|z|)) < \log(p) + \log(\log(R))</math>
so by algebra
<math>0 < \frac{\log(\log(|z|)) - \log(\log(R))}{\log(p)} < 1</math>
when <math>|z|</math> at escape is bigger, the smooth iteration count should be smaller, so this value needs to be subtracted from the integer iteration count
Alternatively this fraction can be used for interpolation, or used with arg(z) for exterior tiling / binary decomposition.
'''Second description'''<ref>[https://fractalforums.org/programming/11/can-anyone-help-me-understand-smooth-coloring/4597/msg37885 fractalforums.org : can-anyone-help-me-understand-smooth-coloring]</ref>
pick a radius R > 2, then |Z| > R implies that |Z^2 + C| > |Z| and more generally that |Z| -> infinity, this gives R the name escape radius. proof is on math.stackexchange.com somewhere
now suppose R is large, and n is the first iteration where |Z_n| > R.
consider what happens when |Z_n| increases as you move the point C a bit further from the Mandelbrot set boundary.
eventually |Z_n| > R^2, but then |Z_{n-1}| > R, so the iteration count should be n - 1.
for smoothing, we want a value to add to n that is 0 when |Z_n| = R and -1 when |Z_n| = R^2.
taking logs, get log |Z| is between log(R) and 2 log(R)
taking logs again, get log log |Z| is between log log R and log log R + log 2
dividing by log 2, get log_2 log |Z| is between log_2 log R and log_2 log R + 1
subtracting log_2 log R gives (log_2 log |Z| - log_2 log R) is between 0 and 1
negating it gives a value between 0 and -1, as desired
so the smooth iteration count is
<math>n - (log_2 log |Z| - log_2 log R)</math>
(replace 2 by P if you do Z^P + C)
see also http://linas.org/art-gallery/escape/escape.html which makes a value independent of R, but that is not so useful for some colouring algorithms (e.g. smooth part of escape count doesn't align with angle of final iterate)
====C====
To use log2 function add :
<nowiki> #include <math.h> </nowiki>
at the beginning of program.
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set */
else GiveRainbowColor((double)(Iteration- log2(log2(sqrt(Zx2+Zy2))))/IterationMax,color);
</syntaxhighlight>
where :
* Zx2 = Zx*Zx
* Zy2 = Zy*Zy
Here is another version by Tony Finch<ref>[http://dotat.at/prog/mandelbrot/ Making Mandelbrot Set Movies by Tony Finch]</ref>
<syntaxhighlight lang=C>
while (n++ < max &&
x2+y2 < inf) {
y = 2*x*y + b;
x = x2-y2 + a;
y2 = y*y;
x2 = x*x;
}
nu = n - log(log(x2+y2)/2)/ log(2);
</syntaxhighlight >
based on equation <ref>[http://linas.org/art-gallery/escape/escape.html Linas Vepstas. Renormalizing the mandelbrot escape.]</ref>
: <math>\nu(z) = n - \log_2 \log (z_n)\,</math>
====C++====
<syntaxhighlight lang=cpp>
// based on cpp code by Geek3 from http://en.wikibooks.org/wiki/File:Mandelbrot_set_rainbow_colors.png
sqrxy = x * x + y * y;
double m = LastIteration + 1.5 - log2(log2(sqrxy));
</syntaxhighlight>
====java====
<syntaxhighlight lang=java>
/**
Smooth coloring algorithm
https://gitlab.com/shreyas.siravara/mandelbrot-with-smooth-coloring/blob/master/Mandelbrot.java
Mandelbrot with Smooth Coloring by Shreyas Siravara
*/
double nsmooth = (iterations + 1 - Math.log(Math.log(Zn.getMagnitude())) / Math.log(ESCAPE_RADIUS));
double smoothcolor = nsmooth / MAX_ITERATIONS;
if (iterations < MAX_ITERATIONS) {
int rgb = Color.HSBtoRGB((float) (0.99f + 1.9 * smoothcolor), 0.9f, 0.9f);
g2d.setColor(new Color(rgb));
} else {
g2d.setColor(Color.black.darker());
}
</syntaxhighlight>
====Matemathica====
Here is [http://www.bugman123.com/Fractals/index.html code by Paul Nylander]. It uses different formula :
<math>cet = n + log_2ln(R) - log_2ln|z|</math>
====Python====
Python code using mpmath library<ref>[http://code.google.com/p/mpmath/ mpmath Python library]</ref>
<syntaxhighlight lang=python>
def mandelbrot(z):
c = z
for i in xrange(ITERATIONS):
zprev = z
z = z*z + c
if abs(z) > ESCAPE_RADIUS:
return ctx.exp(1j*(i + 1 - ctx.log(ctx.log(abs(z)))/ctx.log(2)))
return 0
</syntaxhighlight>
==Distance estimation DEM/M==
<gallery>
File:Demm_2000_Mandelbrot_set.jpg|Exterior DEM/M
File:Boundary mandelbrot set.png|simple boundary with DEM/M
File:Mandelbrot DEM Sobel.png|Boundary with DEM/M and Sobel filter
</gallery>
Variants :
* exterior DEM/M
* interior DEM/M
[[Fractals/Iterations in the complex plane/demm|Description]]
==Complex potential==
[[Fractals/Iterations_in_the_complex_plane/MandelbrotSetExteriorComplex_potential|Description]]
=See also=
* https://web.archive.org/web/20071008112609/http://rgba.scenesp.org/iq/trastero/fieldlines/
* http://fraktal.republika.pl/mset_bottcher.html
=References=
<references/>
{{BookCat}}
7dg66m9eh34250h6pws91w6jpzgbuwd
User:PeterEasthope/sandbox
2
382752
4639917
4639881
2026-06-11T14:26:30Z
PeterEasthope
660399
Added punctuation and link to Readme.txt.
4639917
wikitext
text/x-wiki
{{User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{User:PeterEasthope/ThreeBoxes
| Bare [[w:X86|X86 PC]].
| [[Oberon/A2|A2 = AOS = Bluebottle]].<br>[[w:Bluebottle_OS|Bluebottle in Wikipedia]].
| [https://sourceforge.net/projects/a2oberon/files/ SourceForge].<br>[[Oberon/A2#Installing_and_Running_UnixAOS|Contemporary instructions]].<ref name="portability"/>
| 50px}}
{{User:PeterEasthope/ThreeBoxes
| X86 PC with Solaris,<br>Linux or MacOSX (Darwin).
| [[Oberon/A2#Installing_and_Running_UnixAOS|UnixAos = UnixA2]].
| [http://www.informatik.uni-bremen.de/~fld/UnixAos Uni-Bremen, G. Feldmann]. [http://www.informatik.uni-bremen.de/~fld/UnixAos/Readme.txt Readme.txt].
| 50px}}
{{User:PeterEasthope/ThreeBoxes
| X86 PC with A2 or UnixA2 or WinA2.
| [[Oberon/A2#Oberon_Subsystem|Oberon subsystem of A2]].
| Included in A2, UnixA2 and WinA2.
| 50px}}
mv4m2o5j1unrauj7vpr363deo3x1miu
4639926
4639917
2026-06-11T15:18:16Z
PeterEasthope
660399
Initialized the first five rows.
4639926
wikitext
text/x-wiki
{{User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{User:PeterEasthope/ThreeBoxes
| [[w:Field-programmable_gate_array|FPGA]] [[w:Reduced_instruction_set_computer|RISC]]
| [[Oberon/V5|V5]] and [[w:Oberon_(operating_system)#Project_Oberon_2013|Oberon V5]] in Wikipedia.
| [https://www.inf.ethz.ch/personal/wirth/ N. Wirth], [http://www.projectoberon.net/ P. Reed].
| 25px}}
{{User:PeterEasthope/ThreeBoxes
| [[Oberon/Android]], [[w:Linux|Linux]], [[w:Windows_NT|MS Windows]], [[w:MacOS|Mac OS X]] or [[w:Unix|Unix]] on a wide variety of machines<ref name="RISCemuRequirements"/>
| RISC Emulator written in C.
| [https://github.com/pdewacht/oberon-risc-emu P. De Wachter]
| 70px}}
{{User:PeterEasthope/ThreeBoxes
| Unix command line
| Norebo<ref name="norebo"/>
| [https://github.com/pdewacht/project-norebo P. De Wachter]
| 25px}}
{{User:PeterEasthope/ThreeBoxes
| Oberon [[w:Reduced_instruction_set_computer|RISC]] processor or emulation of it<ref name="ExtOberonFootnote"/>
| [[Oberon/Extended_Oberon|Extended Oberon]]
| A. Pirklbauer, [https://github.com/andreaspirklbauer/Oberon-extended/blob/master/README.md README], [https://github.com/andreaspirklbauer/Oberon-extended/blob/master/Documentation/ Documentation], [https://github.com/andreaspirklbauer/Oberon-extended Oberon{{nbhyph}}extended]<ref name="ExtOberonName"/> and [https://github.com/andreaspirklbauer/Oberon-retro-compiler Oberon-retro-compiler].
| 90px}}
{{User:PeterEasthope/ThreeBoxes
|
|
|
| 125px}}
{{User:PeterEasthope/ThreeBoxes
|
|
|
| 125px}}
{{User:PeterEasthope/ThreeBoxes
|
|
|
| 125px}}
{{User:PeterEasthope/ThreeBoxes
|
|
|
| 125px}}
{{User:PeterEasthope/ThreeBoxes
|
|
|
| 125px}}
{{User:PeterEasthope/ThreeBoxes
|
|
|
| 125px}}
{{User:PeterEasthope/ThreeBoxes
|
|
|
| 125px}}
{{User:PeterEasthope/ThreeBoxes
|
|
|
| 125px}}
{{User:PeterEasthope/ThreeBoxes
|
|
|
| 125px}}
{{User:PeterEasthope/ThreeBoxes
|
|
|
| 125px}}
gexcmqe86tkcx7f4n8ep06a71quoixx
The Story of Rhodesia
0
411535
4639937
4325567
2026-06-11T17:26:05Z
Dirk Hünniger
343292
4639937
wikitext
text/x-wiki
[[File:Flag of Rhodesia (1968–1979).svg|frameless|alt=The Flag of Rhodesia from 1968 to 1979|900x900px|center]]
{{Book title|{{BOOKNAME}}|}}
{{Center|
This book is intended to provide information about Rhodesia. It will give information about the history and legacy of this storied nation.
}}
== Table of Contents ==
{{Book search}}
{{Print version}}
{{PDF version}}
=== Part 1: Pre-Colonial History ===
[[File:Punch_Rhodes_Colossus.png|alt=|right|frameless|233x233px]]
#[[/Kingdom of Mapungubwe/]] {{decistage|10|November 14, 2020}} [[File:Southern Rhodesia (1909) (14804694073).jpg|alt=|right|frameless|180x180px]]
#[[/Kingdom of Zimbabwe/]] {{decistage|10|November 14, 2020}} [[File:Smith Dinner.jpg|alt=|right|frameless|180x180px]]
#[[/Kingdom of Mutapa/]] {{decistage|10|November 14, 2020}} [[File:British South Africa Police.jpg|alt=|right|frameless|180x180px]]
#[[/Kingdom of Batua/]] {{decistage|10|November 14, 2020}}
#[[/Rozwi Empire/]] {{decistage|10|November 14, 2020}} [[File:Coat of arms of Rhodesia.svg|alt=|right|frameless|185x185px]]
#[[/Matabeleland (Ndebele Kingdom)/]] {{decistage|10|November 14, 2020}}
===Part 2: Company Rule in Rhodesia===
#[[/Rhodes’s Dream/]] [[File:Flag map of Rhodesia (1968–1979).svg|alt=|right|frameless|180x180px]]{{decistage|10|November 14, 2020}}
#[[/Rudd Concession & Royal Charter/]] {{decistage|10|November 14, 2020}}
#[[/Territorial Expansion/]] {{decistage|10|November 14, 2020}}
#[[/Matabele Wars/]] {{decistage|10|November 27, 2020}}
#[[/Administration & the Name Rhodesia/]] {{decistage|10|November 27, 2020}}
#[[/Development/]] {{decistage|10|November 30, 2020}}
#[[/Military & Involvement in the second Boers War, WWI/]]{{Decistage|10|November 30, 2020}}
===Part 3: Colonial History of Southern Rhodesia===
#[[/1922 Southern Rhodesian government referendum & End of Company Rule/]] {{decistage|10|December 2, 2020}}
#[[/Colony of Southern Rhodesia before WWII/]] {{decistage|10|December 3, 2020}}
#[[/Involvement in WWII/]] {{decistage|10|December 11, 2020}}
#[[/Colony of Southern Rhodesia Post WWII/]] {{decistage|10|October 22, 2021}}
#[[/Central African Federation & Return to “Rhodesia”/]] {{decistage|10|December 29, 2021}}
===Part 4: Rhodesia Under U.D.I.===
#[[/Rhodesia's Unilateral Declaration of Independence/]] {{decistage|0|January 24, 2020}}
#[[/Post-U.D.I. Rhodesia/]] {{decistage|0|January 24, 2020}}
#[[/Zimbabwe-Rhodesia/]] {{decistage|0|January 24, 2020}}
#[[/Lancaster House Agreement/]] {{decistage|0|January 24, 2020}}
#[[/British Dependency & End of Rhodesia/]] {{decistage|0|January 24, 2020}}
#[[/Legacy of Rhodesia/]] {{Decistage|0|December 11, 2020}}
=== End Notes ===
#[[/Authors and Contributors/]]
#[[/Important Notes/]]
#[[/More resources about Rhodesia/]]
*
{{Alphabetical|T}}
{{Shelves|African history}}
{{status|75%}}
__NOTOC__
rx9dqlf3hjp7ddx61szcnm8g4e2spns
The Story of Rhodesia/Rhodesia's Unilateral Declaration of Independence
0
412606
4639919
4410785
2026-06-11T14:44:14Z
Dirk Hünniger
343292
temporarily disabling link to amazon to avoid blocking edit filter
4639919
wikitext
text/x-wiki
{{dewikify}}
The '''Unilateral Declaration of Independence''' ('''UDI''') was a statement adopted by the Cabinet of Rhodesia on 11 November 1965, announcing that Rhodesia,{{#tag:ref||group="n"|name="name"}} a British territory in southern Africa that had governed itself since 1923, now regarded itself as an independent sovereign state. The culmination of a protracted dispute between the British and Rhodesian governments regarding the terms under which the latter could become fully independent, it was the first unilateral break from the United Kingdom by one of its colonies since the United States Declaration of Independence in 1776. The UK, the Commonwealth and the United Nations all deemed Rhodesia's UDI illegal, and economic sanctions, the first in the UN's history, were imposed on the breakaway colony. Amid near-complete international isolation, Rhodesia continued as an unrecognised state with the assistance of South Africa and Portugal.
The Rhodesian government, which mostly comprised members of the country's white minority of about 5%, was indignant when, amid the UK colonial government's ''Wind of Change'' policies of decolonisation, less developed African colonies to the north without comparable experience of self-rule quickly advanced to independence during the early 1960s while Rhodesia was refused sovereignty under the newly ascendant principle of "no independence before majority rule" ("NIBMAR"). Most white Rhodesians felt that they were due independence following four decades of self-government, and that the British government was betraying them by withholding it. This combined with the colonial government's acute reluctance to hand over power to black Rhodesians—the manifestation of racial tensions, Cold War anti-communism and the fear that a dystopian Congo-style situation might result—to create the impression that if the UK did not grant independence, Rhodesia might be justified in taking it unilaterally.
A stalemate developed between the British and Rhodesian prime ministers, Harold Wilson and Ian Smith respectively, between 1964 and 1965. Dispute largely surrounded the British condition that the terms for independence had to be acceptable "to the people of the country as a whole"; Smith contended that this was met, while the UK and black Rhodesian leaders held that it was not. After Wilson proposed in late October 1965 that the UK might safeguard future black representation in the Rhodesian parliament by withdrawing some of the colonial government's devolved powers, then presented terms for an investigatory Royal Commission that the Rhodesians found unacceptable, Smith and his Cabinet declared independence. Calling this treasonous, the British colonial governor, Sir Humphrey Gibbs, formally dismissed Smith and his government, but they ignored him and appointed an "Officer Administering the Government" to take his place.
While no country recognised the UDI, the Rhodesian High Court deemed the post-UDI government legal and ''de jure'' in 1968. The Smith administration initially professed continued loyalty to Queen Elizabeth II, but abandoned this in 1970 when it declared a republic in an unsuccessful attempt to win foreign recognition. The Rhodesian Bush War, a guerrilla conflict between the government and two rival communist-backed black Rhodesian groups, began in earnest two years later, and after several attempts to end the war Smith concluded the Internal Settlement with non-militant nationalists in 1978. Under these terms the country was reconstituted under black rule as Zimbabwe Rhodesia in June 1979, but this new order was rejected by the guerrillas and the international community. The Bush War continued until Zimbabwe Rhodesia revoked its UDI as part of the Lancaster House Agreement in December 1979. Following a brief period of direct British rule, the country was granted internationally recognised independence under the name Zimbabwe in 1980.
==Background==
===A unique case===
[[File:Zimbabwe in Africa.svg|thumb|Southern Rhodesia (or Rhodesia), highlighted in red on a map of Africa|alt=A map. See description]]
The southern African territory of Rhodesia, officially Southern Rhodesia,{{#tag:ref|Renamed Zimbabwe in 1980.<ref>{{Harvnb
|Wessels
|2010
|p=273}}</ref> The official name of the colony under British law was Southern Rhodesia, but the colonial government switched to using the name Rhodesia in October 1964, when Northern Rhodesia changed its name to Zambia concurrently with its independence from Britain.<ref name="palley742743"/>|group="n"|name="name"}} was a unique case in the British Empire and Commonwealth: although a colony in name, it was internally self-governing and constitutionally not unlike a dominion.<ref name=rowland247248>{{Harvnb
|Rowland
|1978
|pp=247–248}}</ref> This situation dated back to 1923, when it was granted responsible government within the Empire as a self-governing colony, following three decades of administration and development by the British South Africa Company.<ref name=rowland245246>{{Harvnb
|Rowland
|1978
|pp=245–246}}</ref> Britain had intended Southern Rhodesia's integration into the Union of South Africa as a new province, but this having been rejected by registered voters in the 1922 government referendum, the territory was moulded into a prospective dominion instead.<ref>{{Harvnb
|Wood
|2005
|p=9}}</ref> It was empowered to run its own affairs in almost all respects, including defence.{{#tag:ref|Powers reserved to the British government at Whitehall under the 1923 constitution concerned foreign affairs, alterations to the constitution, the British-appointed Governor's salary, and bills regarding native administration, mining revenues and railways. Laws relevant to these subjects had to receive assent from the Governor (and, by extension, Whitehall), but all other bills could be passed by Salisbury without interference.<ref name=rowland247248/>|group="n"|name="selfgoverning"}}
Whitehall's powers over Southern Rhodesia under the 1923 constitution were, on paper, considerable; the British Crown was theoretically able to cancel any passed bill within a year, or alter the constitution however it wished. These reserved powers were intended to protect the indigenous black Africans from discriminatory legislation and to safeguard British commercial interests in the colony,<ref name=rowland247248/> but as Claire Palley comments in her constitutional history of the country, it would have been extremely difficult for Whitehall to enforce such actions, and attempting to do so would have probably caused a crisis.<ref>{{Harvnb
|Palley
|1966
|p=230}}</ref> In the event, they were never exercised. A generally co-operative relationship developed between Whitehall and the colonial government and civil service in Salisbury, and dispute was rare.<ref name=rowland247248/>
The 1923 constitution was drawn up in non-racial terms, and the electoral system it devised was similarly open, at least in theory. Voting qualifications regarding personal income, education and property, similar to those of the Cape Qualified Franchise, were applied equally to all, but since most blacks did not meet the set standards, both the electoral roll and the colonial parliament were overwhelmingly from the white minority of about 5%.<ref name=gd4853/><ref name=pops/> The result was that black interests were sparsely represented if at all, something that most of the colony's whites showed little interest in changing;<ref name=gd4853/> they claimed that most blacks were uninterested in Western-style political process and that they would not govern properly if they took over.<ref>{{Harvnb
|Weinrich
|1973
|pp=69–72}}</ref> Bills such as the Land Apportionment Act of 1930, which earmarked about half of the country for white ownership and residence while dividing the rest into black purchase, tribal trust and national areas, were variously biased towards the white minority.<ref name=gd4853>{{Harvnb
|Gowlland-Debbas
|1990
|pp=48–53}}</ref> White settlers and their offspring provided most of the colony's administrative, industrial, scientific and farming skills, and built a relatively balanced, partially industrialised market economy, boasting strong agricultural and manufacturing sectors, iron and steel industries and modern mining enterprises.<ref>{{Harvnb
|Duignan
|Jackson
|1986
|p=164}}</ref>
In the wider Imperial context, Southern Rhodesia occupied a category unto itself because of the "special quasi-independent status" it held.<ref name=stbrides/> The Dominions Office, formed in 1925 to handle British relations with the dominions of Australia, Canada, New Zealand, Newfoundland, South Africa and the Irish Free State, also dealt with Southern Rhodesia, and Imperial Conferences included the Southern Rhodesian Prime Minister alongside those of the dominions from 1932.<ref name=stbrides>{{Harvnb
|St Brides
|1980}}</ref> This unique arrangement continued following the advent of Commonwealth Prime Ministers' Conferences in 1944.<ref>{{Harvnb
|Berlyn
|1978
|pp=134–142}}</ref> Southern Rhodesians of all races fought for Britain in the Second World War, and the colonial government gradually received more autonomy regarding external affairs.<ref name=rowland247248/> During the immediate post-war years, Southern Rhodesian politicians generally thought that they were as good as independent as they were, and that full autonomy in the form of dominionship would make little difference to them.<ref name=smith32>{{Harvnb
|Smith
|1997
|p=32}}</ref> Post-war immigration to Southern Rhodesia, mainly from Britain, Ireland and South Africa, caused the white community to swell from 68,954 in 1941 to 221,504 in 1961. The black population grew from 1,400,000 to 3,550,000 over the same period.<ref name=pops>{{Harvnb
|Weinrich
|1973
|p=15}}</ref>
===Federation and the Wind of Change===
[[File:Federation of Rhodesia and Nyasaland.png|thumb|The Federation of Rhodesia and Nyasaland (1953–63)|alt=A map. See description]]
Believing full dominion status to be effectively symbolic and "there for the asking",<ref name=smith32/> Prime Minister Godfrey Huggins (in office from 1933 to 1953) twice ignored British overtures hinting at dominionship,<ref name=independenceoffers/> and instead pursued an initially semi-independent Federation with Northern Rhodesia and Nyasaland, two colonies directly administered from London.<ref name="independenceoffers">{{Harvnb
|Wood
|2005
|p=279}}</ref> He hoped that this might set in motion the creation of one united dominion in south-central Africa, emulating the Federation of Australia half a century before.{{#tag:ref|The original vision shared by Huggins and his Northern Rhodesian counterpart Sir Roy Welensky was a unitary amalgamation of the two Rhodesias that would eventually become a dominion. British politicians rejected this idea, asserting that black Northern Rhodesians would never accept it, but agreed to consider a Federation on the condition that neighbouring Nyasaland was also included.<ref>{{Harvnb
|Blake
|1977
|pp=247–249}}</ref>|group="n"|name="fed"}} The Federation of Rhodesia and Nyasaland, defined in its constitution as indissoluble,<ref name=wood123>{{Harvnb
|Wood
|2005
|p=123}}</ref> began in 1953, mandated by the results of a mostly white referendum, with Southern Rhodesia, the most developed of the three territories, at its head, Huggins as Federal Prime Minister and Salisbury as Federal capital.<ref>{{Harvnb
|Smith
|1997
|p=33}}</ref>{{#tag:ref|Southern Rhodesian politicians from various parties later claimed that had Federation not occurred, Southern Rhodesia would have been a dominion by 1955.<ref>{{Harvnb
|Wood
|2005
|pp=25, 135, 140}}</ref>|group="n"|name="by1955"}}
Coming at the start of the decolonisation period, the Federation of self-governing Southern Rhodesia with two directly ruled British protectorates was later described by the British historian Robert Blake as "an aberration of history—a curious deviation from the inevitable course of events".<ref>{{Harvnb
|Wood
|2005
|p=11}}</ref> The project faced black opposition from the start, and ultimately failed because of the shifting international attitudes and rising black Rhodesian ambitions of the late 1950s and early 1960s, often collectively called the Wind of Change.<ref>{{Harvnb
|Blake
|1977
|p=331}}; {{Harvnb
|Welensky
|1964
|p=64}}</ref> Britain, France and Belgium vastly accelerated their withdrawal from Africa during this period, believing colonial rule to be no longer sustainable geopolitically or ethically. The idea of "no independence before majority rule", commonly abbreviated to "NIBMAR", gained considerable ground in British political circles.<ref>{{Harvnb
|Jackson
|1990
|pp=96–97}}; {{Harvnb
|Wood
|2005
|p=20}}</ref> When Huggins (who had been recently ennobled as Lord Malvern) asked Britain to make the Federation a dominion in 1956, he was rebuffed. The opposition Dominion Party responded by repeatedly calling for a Federal unilateral declaration of independence (UDI) over the next few years.<ref name=wood1516/> Following Lord Malvern's retirement in late 1956, his successor Sir Roy Welensky pondered such a move on at least three occasions.{{#tag:ref|With Northern Rhodesia and Nyasaland under direct British control, a Federal UDI would have been far more complicated and difficult to execute than one by Southern Rhodesia alone. Indeed, it was partly because of this that Welensky deemed it infeasible.<ref name=wood3>{{Harvnb
|Wood
|2008
|p=3}}</ref>|group="n"|name="federaludi"}}
Attempting to advance the case for Southern Rhodesian independence, particularly in the event of Federal dissolution,<ref name=wood1516>{{Harvnb
|Wood
|2005
|pp=15–16}}</ref> the Southern Rhodesian Prime Minister Sir Edgar Whitehead brokered the 1961 constitution with Britain, which he thought would remove all British powers of reservation over Southern Rhodesian bills and acts,<ref name=rowland249250>{{Harvnb
|Rowland
|1978
|pp=249–250}}</ref> and put the country on the brink of full sovereignty.<ref name=wood7475>{{Harvnb
|Wood
|2005
|pp=74–75}}</ref> Despite its containing no independence guarantees, Whitehead, Welensky and other proponents of this constitution presented it to the Southern Rhodesian electorate as the "independence constitution" under which Southern Rhodesia would become a dominion on a par with Australia, Canada and New Zealand if the Federation dissolved.<ref name=wood89>{{Harvnb
|Wood
|2005
|p=89}}</ref> White dissenters included Ian Smith, MP for Gwanda and Chief Whip for the governing United Federal Party (UFP) in the Federal Assembly, who took exception to the constitution's omission of an explicit promise of Southern Rhodesian independence in the event of Federal dissolution, and ultimately resigned his post in protest.<ref name=wood7475/> A referendum of the mostly white electorate approved the new constitution by a majority of 65% on 26 July 1961.<ref name=wood92>{{Harvnb
|Wood
|2005
|p=92}}</ref> The final version of the constitution included a few extra provisions inserted by the British, one of which—Section 111—reserved full powers to the Crown to amend, add to or revoke certain sections of the Southern Rhodesian constitution by Order in Council at the request of the British government. This effectively negated the relinquishment of British powers described elsewhere in the document, but the Southern Rhodesians did not initially notice it.<ref name=wood93>{{Harvnb
|Wood
|2005
|p=93}}</ref>
The black Rhodesian movement in Southern Rhodesia, founded and organised by urban black elites during the late 1950s,<ref>{{Harvnb
|West
|2002
|p=203}}</ref> was repeatedly banned by the colonial government because of the political violence, industrial sabotage and intimidation of potential black voters that characterised its campaign.<ref>{{Harvnb
|Wood
|2005
|pp=95–96, 111–120}}</ref> The principal nationalist group, led by the Bulawayo trade unionist Joshua Nkomo, renamed itself with each post-ban reorganisation, and by the start of 1962 was called the Zimbabwe African People's Union (ZAPU).<ref>{{Harvnb
|Wood
|2005
|pp=95–96}}</ref>{{#tag:ref|Zimbabwe, derived from the name applied by the Shona people to the ancient ruined city today referred to as Great Zimbabwe, was adopted by the black Rhodesian movement between 1960 and 1962 as their preferred name for a majority-ruled Southern Rhodesia.<ref>{{Harvnb
|Fontein
|2006
|pp=119–120}}; {{Harvnb
|Ndlovu-Gatsheni
|2009
|pp=113–114}}</ref> ZAPU was banned by the Whitehead administration in 1962 because of its violent activities,<ref>{{Harvnb
|Wood
|2005
|pp=116–117}}</ref> but it continued operating nevertheless, publicly calling itself the People's Caretaker Council (PCC). Several prominent members left to form the rival Zimbabwe African National Union (ZANU) in 1963. ZANU and ZAPU were respectively backed by China and the Soviet Union, and influenced to various degrees by Chinese Maoism and Soviet Marxism–Leninism.<ref name=wood173175>{{Harvnb
|Wood
|2005
|pp=173–175}}</ref> Following an escalation in internecine political violence between the two movements, a spate of industrial sabotage and civil disobedience and the politically motivated killing of a white man, Petrus Oberholzer, by ZANU insurgents, both PCC and ZANU were banned by Smith's government in August 1964, with most of each party's leaders concurrently jailed for criminal offences or otherwise restricted.<ref>{{Harvnb
|Cilliers
|1984
|p=5}}; {{Harvnb
|Martin
|Johnson
|1981
|pp=70–71}}; {{Harvnb
|Ranger
|1997
|p=237}}; {{Harvnb
|Wessels
|2010
|pp=102–103}}</ref> Both movements thereafter based themselves overseas.<ref>{{Harvnb
|Wood
|2005
|p=228}}</ref>|group="n"|name="nationalists"}} Attempting to win black political support, Whitehead proposed a number of reforms to racially discriminatory legislation, including the Land Apportionment Act, and promised to implement these if his UFP won the next Southern Rhodesian election.<ref>{{Harvnb
|Wood
|2005
|p=98}}</ref> But intimidation by ZAPU of prospective black voters impeded the UFP's efforts to win their support,<ref name=rowe52>{{Harvnb
|Rowe
|2001
|p=52}}</ref> and much of the white community saw Whitehead as too radical, and soft on what they saw as black extremism. In the December 1962 Southern Rhodesian election, the UFP was defeated by the Rhodesian Front (RF), a newly formed alliance of conservative voices headed by Winston Field and Ian Smith, in what was widely considered a shock result.<ref name=wood97101>{{Harvnb
|Wood
|2005
|pp=97–101}}</ref> Field became Prime Minister, with Smith as his deputy.<ref name=wood119122>{{Harvnb
|Wood
|2005
|pp=119–122}}</ref>
===Federal dissolution; the roots of mistrust===
Meanwhile, secessionist black Rhodesian parties won electoral victories in Northern Rhodesia and Nyasaland,<ref name=wood119122/> and Harold Macmillan's Conservative administration in Britain moved towards breaking up the Federation, resolving that it had become untenable. In February 1962, the British Secretary of State for Commonwealth Relations, Duncan Sandys, secretly informed the Nyasaland nationalist leader Hastings Banda that secession would be allowed. A few days later, he horrified Welensky by telling him that "we British have lost the will to govern".<ref>{{Harvnb
|Schwarz
|2011
|p=370}}; {{Harvnb
|Wood
|2005
|p=99}}</ref> "But we haven't", retorted Julian Greenfield, Welensky's Law Minister.<ref>{{Harvnb
|Meredith
|1984
|p=131}}</ref>{{#tag:ref|Welensky was so shaken by Sandys' statement that he suffered a migraine. Lord Alport, the UK's High Commissioner to the Federation, reportedly left the meeting and vomited.<ref name=wood99>{{Harvnb
|Wood
|2005
|p=99}}</ref>|group="n"|name="vomited"}} Macmillan's Deputy Prime Minister and First Secretary of State, R.A. Butler, who headed British oversight of the Federation,<ref>{{Harvnb
|Schwarz
|2011
|pp=379–380}}</ref> officially announced Nyasaland's right to secede in December 1962.<ref name="wood123"/> Four months later, he informed the three territories that he was going to convene a conference to decide the Federation's future.<ref name=wood133135/>
As Southern Rhodesia had been the UK's legislative partner in forming the Federation in 1953, it would be impossible (or at least very difficult) for Britain to dissolve the union without Southern Rhodesia's co-operation. Field could therefore potentially hamstring the British by refusing to attend the conference until they pledged to grant his country full independence.<ref name=wood133135>{{Harvnb
|Wood
|2005
|pp=133–135}}</ref> According to Field, Smith and other RF politicians, Butler made several such guarantees orally to ensure their co-operation at the conference, but repeatedly refused to give anything on paper.{{#tag:ref|In particular, Field and Smith claimed that Butler told them at Victoria Falls on 27 June 1963 that in return for their help in winding up the Federation, Southern Rhodesia would be granted "independence no later than, if not before, the other two territories ... in view of your country's wonderful record of Responsible Government over the past forty years... and above all the great loyalty you have always given to Britain in time of war".<ref name=butlerpromise/>|group="n"|name="promise"}} The Southern Rhodesians claimed that Butler justified his refusal to give a written promise by saying that binding Whitehall to a document rather than his word would be against the Commonwealth's "spirit of trust"—an argument that Field eventually accepted.<ref name=butlerpromise>{{Harvnb
|Wood
|2005
|pp=138–140, 167}}; {{Harvnb
|Berlyn
|1978
|p=135}}; {{Harvnb
|Smith
|1997
|pp=51–52}}</ref> "Let's remember the trust you emphasised", Smith warned, according to Field's account wagging his finger at Butler; "if you break that you will live to regret it."<ref name=wood167>{{Harvnb
|Wood
|2005
|p=167}}</ref> Southern Rhodesia attended the conference, which was held at Victoria Falls over a week starting from 28 June 1963, and among other things it was agreed to formally liquidate the Federation at the end of the year.<ref name=wood169172>{{Harvnb
|Wood
|2005
|pp=169–172}}</ref> In the House of Commons afterwards, Butler flatly denied suggestions that he had "oiled the wheels" of Federal dissolution with secret promises to the Southern Rhodesians.<ref name=butlerpromise/>
Field's government was startled by Britain's announcement in October 1963 that Nyasaland would become fully independent on 6 July 1964. While no date was set for Northern Rhodesian statehood, it was generally surmised that it was going to follow shortly thereafter. Smith was promptly sent to London, where he held a round of inconclusive Southern Rhodesian independence talks with the new British Prime Minister, Sir Alec Douglas-Home.{{#tag:ref|Douglas-Home was only a few days into his premiership following Macmillan's resignation on grounds of ill health. At one point during the meeting on 31 October 1964 he told Smith that though he opposed unilateral action, he felt Southern Rhodesia could "declare herself independent, [and] would be within her rights to do so".<ref name=wood176181/> Scandalised, British civil servants withheld record of this comment from their Southern Rhodesian counterparts.<ref name=wood176181>{{Harvnb
|Wood
|2005
|pp=176–181}}</ref>|group="n"|name="douglashome"}} Around the same time, the presence and significance of Section 111 of the 1961 constitution emerged in Southern Rhodesia, prompting speculation in political circles that a future British government might, if it were so inclined, go against previous conventions by legislating for Salisbury without its consent, withdrawing devolved powers or otherwise altering the Southern Rhodesian constitution. Fearing what the Labour Party might do if it won the next British general election (which was projected for late 1964), the Southern Rhodesians stepped up their efforts, hoping to win independence before Britain went to the polls, and preferably not after Nyasaland.<ref name=wood186190/> The Federation dissolved as scheduled at the end of 1963.<ref name=wood186190/>
==Positions and motivations==
===British government stance===
The British government's refusal to grant independence to Southern Rhodesia under the 1961 constitution was largely the result of the geopolitical and moral shifts associated with the Wind of Change, coupled with the UK's wish to avoid opprobrium and loss of prestige in the United Nations (UN) and the Commonwealth.<ref name=mcwilliam/> The issue gained international attention in Africa and worldwide as a flashpoint for questions of decolonisation and racism.<ref>{{Harvnb
|Nyamunda
|2016
|pp=1005–1019}}</ref> By the early 1960s, general consensus in the post-colonial UN—particularly the General Assembly, where the communist bloc and the Afro-Asian lobby were collectively very strong—roundly denounced all forms of colonialism, and supported communist-backed black nationalist insurgencies across southern Africa, regarding them as racial liberation movements. Amid the Cold War, Britain opposed the spread of Soviet and Chinese influence into Africa, but knew it would become an international pariah if it publicly expressed reservations or backed down on NIBMAR in the Southern Rhodesia question.<ref>{{Harvnb
|Fedorowich
|Thomas
|2001
|pp=172–177}}</ref> Once the topic of Southern Rhodesia came to the fore in the UN and other bodies, particularly the Organisation of African Unity (OAU), even maintaining the ''status quo'' became regarded as unacceptable internationally, causing the UK government a great deal of embarrassment.<ref>{{Harvnb
|Nelson
|1983
|p=43}}</ref>
In the Commonwealth context, too, Britain knew that simply granting independence to Southern Rhodesia was out of the question as many of the Afro-Asian countries were also Commonwealth members. Statehood for Salisbury without majority rule would split the Commonwealth and perhaps cause it to break up, a disastrous prospect for British foreign policy.<ref name=mcwilliam/> The Commonwealth repeatedly called on Britain to intervene directly should Southern Rhodesian defiance continue,<ref>{{Harvnb
|Wood
|2005
|p=325}}</ref> while liberals in Britain worried that if left unchecked Salisbury might drift towards South African-style apartheid.<ref name=cunningham>{{Harvnb
|Cunningham
|1966
|p=12}}</ref> Anxious to avoid having to choose between Southern Rhodesia and the Commonwealth, Whitehall attempted to negotiate a middle way between the two, but ultimately put international considerations first, regarding them as more important.<ref name=mcwilliam>{{Harvnb
|McWilliam
|2003}}</ref>
At party level, the Labour Party, in opposition until October 1964, was overtly against Southern Rhodesian independence under the 1961 constitution and supportive of the black Rhodesian movement on ideological and moral grounds. The Liberal Party, holding a handful of parliament seats, took a similar stance. The Conservative Party, while also following a policy of decolonisation, was more sympathetic to the Southern Rhodesian government's position, and included members who openly supported it.<ref>{{Harvnb
|Wood
|2005
|p=242}}</ref>{{#tag:ref|In particular, a small but vocal phalanx of stridently pro-Salisbury Conservative peers emerged in the House of Lords, including Lord Salisbury (after whose grandfather the Southern Rhodesian capital was named), Lord Coleraine and Lord Grimston.<ref>{{Harvnb
|Morgan
|1975
|p=140}}</ref> Together with an ancillary group of similarly minded Conservative MPs in the Commons, headed by Major Patrick Wall, these became referred to as the "Rhodesia Lobby".<ref name=white97/>|group="n"|name="lobby"}}
===Southern Rhodesian government view===
The Southern Rhodesian government found it bizarre that Britain was making independent states out of Northern Rhodesia and Nyasaland, less developed territories with little experience of self-rule, while withholding sovereign statehood from Southern Rhodesia, the Federation's senior partner, which had already been self-governing for four decades and which was one of the most prosperous and developed countries in Africa. The principle of majority rule, the basis for this apparent inconsistency, was considered irrelevant by the Southern Rhodesians.<ref>{{Harvnb
|Olson
|Shadle
|1996
|pp=1029–1030}}; {{Harvnb
|Wood
|2005
|pp=20, 135, 140}}; {{Harvnb
|Di Perna
|1978
|p=189}}</ref> They had presumed that in the event of Federal dissolution they would be first in line for independence without major adjustments to the 1961 constitution, an impression confirmed to them by prior intergovernmental correspondence, particularly the oral promises they claimed to have received from Butler. When it did not prove forthcoming they felt cheated.<ref name=wood371>{{Harvnb
|Wood
|2005
|p=371}}</ref> Salisbury contended that its predominantly white legislature was more deserving of independence than the untried black Rhodesian leaders as it had proven its competence over decades of self-rule.<ref>{{Harvnb
|Olson
|Shadle
|1996
|pp=1029–1030}}; {{Harvnb
|Moorcraft
|1990}}; {{Harvnb
|Wood
|2005
|pp=20, 135, 140}}; {{Harvnb
|Di Perna
|1978
|p=189}}</ref>
The RF claimed that the bloody civil wars, military coups and other disasters that plagued the new majority-ruled African states to the north, many of which had become corrupt, autocratic or communist one-party states very soon after independence,<ref>{{Harvnb
|Mazrui
|1993
|p=495}}</ref> showed that black Rhodesian leaders were not ready to govern. Influenced strongly by the white refugees who had fled south from the Congo, it presented chaotic doomsday scenarios of what black Rhodesian rule in Southern Rhodesia might mean, particularly for the white community.<ref>{{Harvnb
|Petter-Bowyer
|2005
|p=75}}; {{Harvnb
|Schwarz
|2011
|p=371}}; {{Harvnb
|Wood
|2005
|p=101}}</ref> Proponents of the RF stand downplayed black Rhodesian grievances regarding land ownership and segregation, and argued that despite the racial imbalance in domestic politics—whites made up 5% of the population, but over 90% of registered voters—the electoral system was not racist as the franchise was based on financial and educational qualifications rather than ethnicity.<ref>{{Harvnb
|Wood
|2005
|pp=392–393}}</ref> They emphasised the colony's proud war record on Britain's behalf,<ref name=moorcraft1990>{{Harvnb
|Moorcraft
|1990}}</ref> and expressed a wish in the Cold War context to form an anti-communist, pro-Western front in Africa alongside South Africa and Portugal.<ref name=olsonshadle10291030>{{Harvnb
|Olson
|Shadle
|1996
|pp=1029–1030}}</ref>
These factors combined with what RF politicians and supporters saw as British decadence, chicanery and betrayal to create the case they put forward that UDI, while dubious legally and likely to provoke international uproar, might nevertheless be in their eyes justifiable and necessary for the good of the country and region if an accommodation could not be found with Whitehall.<ref name=wood190/>
==Road to UDI==
===First steps, under Field===
Field's failure to secure independence concurrently with the end of the Federation caused his Cabinet's support for him to waver during late 1963 and early 1964.<ref name=wood186190>{{Harvnb
|Wood
|2005
|pp=186–190}}</ref> The RF caucus in January 1964 revealed widespread dissatisfaction with him on the grounds that the British seemed to be outwitting him. The Prime Minister was put under immense pressure to win the colony's independence.<ref name=wood190>{{Harvnb
|Wood
|2005
|p=190}}</ref> Field travelled to England later that month to press Douglas-Home and Sandys for independence, and raised the possibility of UDI on a few occasions, but returned empty-handed on 2 February.<ref>{{Harvnb
|Wood
|2005
|pp=193–194, 198}}</ref>
The RF united behind Field after Sandys wrote him a terse letter warning him of the likely Commonwealth reaction to a declaration of independence, but the Prime Minister then lost his party's confidence by failing to pursue a possible route to at least ''de facto'' independence devised by Desmond Lardner-Burke, a lawyer and RF MP for Gwelo. During March 1964, the Legislative Assembly in Salisbury considered and passed Lardner-Burke's motion that the Governor, Sir Humphrey Gibbs, should submit a petition to the Queen requesting alteration of Section 111 of the 1961 constitution so that the Royal Assent described therein would be exercised at the request of the Southern Rhodesian government rather than that of its British counterpart. This would both remove the possibility of British legislative interference and pave the way for an attempted assumption of independence by Order in Council.{{#tag:ref|The Lardner-Burke bill proposed that a two-thirds majority in the Legislative Assembly would prompt automatic consent for alterations from the Governor, who would then sign them into law on behalf of the Queen.<ref name=wood200202>{{Harvnb
|Wood
|2005
|pp=200–202}}</ref> William Harper, the Minister of Water Development and Roads, posited that if this passed, Salisbury would be able to proclaim an independent republic outside the Commonwealth with a two-thirds majority in parliament.<ref name=wood204207/>|group="n"|name="harper"}}
The RF's intention was partly to test whether or not the British would attempt to block this bill after Gibbs had granted Royal Assent to it,<ref>{{Harvnb
|Smith
|1997
|p=63}}</ref> but this issue never came to a head because Sandys persuaded Field not to forward it to Gibbs for ratification on the grounds that it had not been unanimously passed.<ref>{{Harvnb
|Young
|1969
|p=205}}</ref> Lord Salisbury, one of Southern Rhodesia's main supporters in Britain, despaired at Field's lack of action, telling Welensky that as he saw it "the simple time to have declared independence, whether right or wrong, would have been when the Federation came to an end".<ref name=wood204207/> The RF hierarchy interpreted this latest backtrack by Field as evidence that he would not seriously challenge the British on the independence issue, and forced his resignation on 13 April 1964.<ref name=wood204207>{{Harvnb
|Wood
|2005
|pp=204–207}}</ref> Smith accepted the Cabinet's nomination to take his place.<ref name=fieldtosmith/>
===Smith replaces Field; talks with Douglas-Home===
[[File:Ian Smith 1950s.jpg|thumb|upright|Ian Smith replaced Winston Field as Southern Rhodesian Prime Minister in April 1964, and pledged to challenge Britain on independence.|alt=A portrait photograph of Ian Smith]]
Smith, a farmer from the Midlands town of Selukwe who had been seriously wounded while serving in the British Royal Air Force during the Second World War, was Southern Rhodesia's first native-born Prime Minister.{{#tag:ref|Roy Welensky, who held the Federal premiership from 1956 to dissolution in 1963, was also born in Southern Rhodesia. Before Smith, Southern Rhodesia had had seven Prime Ministers, three of whom (including Field) had been born in Britain. The country's first two Prime Ministers, Charles Coghlan (1923–27) and Howard Moffat (1927–33), were respectively born in South Africa and Bechuanaland,<ref>{{Harvnb
|Baxter
|Burke
|1970
|pp=125, 340}}</ref> while Garfield Todd (1953–58) was originally from New Zealand.<ref>{{Harvnb
|Wood
|2005
|p=12}}</ref> Edgar Whitehead (1958–62) was born at the British Embassy in Germany, where his father was a diplomat.<ref>{{Harvnb
|Schwarz
|2011
|p=411}}</ref>|group="n"|name="nativeborn"}} Regarded in British political circles as a "raw colonial"—when he took over, Smith's personal experience of the UK comprised four brief visits—he promised a harder line than Field in independence talks.<ref name=fieldtosmith>{{Harvnb
|Berlyn
|1978
|pp=131–132}}; {{Harvnb
|Caute
|1983
|p=89}}; {{Harvnb
|Wessels
|2010
|pp=102–104}}</ref> The RF's replacement of Field drew criticism from the British Labour Party, whose leader Harold Wilson called it "brutal",<ref>{{Harvnb
|Wilson
|1974
|p=48}}</ref> while Nkomo described the new Smith Cabinet as "a suicide squad... not interested in the welfare of all the people but only in their own".<ref>{{Harvnb
|Wood
|2005
|p=208}}</ref> Smith said he was pursuing a middle course between black Rhodesian rule and apartheid so that there would still be "a place for the white man" in Southern Rhodesia;<ref>{{Harvnb
|Hall
|1966
|p=30}}</ref> this would benefit the blacks too, he claimed.<ref name=hall22/> He held that the government should be based "on merit, not on colour or nationalism",<ref name=hall22>{{Harvnb
|Hall
|1966
|p=22}}</ref> and insisted that there would be "no African nationalist government here in my lifetime".<ref>{{Harvnb
|Hall
|1966
|p=26}}</ref>
Salisbury's blunt refusal to be part of the Wind of Change caused the Southern Rhodesian military's traditional British and American suppliers to impose an informal embargo,<ref name="wood319"/> and prompted Whitehall and Washington to stop sending Southern Rhodesia financial aid around the same time. In June 1964, Douglas-Home informed Smith that Southern Rhodesia would not be represented at the year's Commonwealth Prime Ministers' Conference, despite Salisbury's record of attendance going back to 1932,{{#tag:ref|Salisbury attended under the Federal flag from 1953 to 1963.<ref name=welenskyspeech/>|group="n"|name="conference"}} because of a change in policy to only include representatives from fully independent states. This decision, taken by Britain to preempt the possibility of open confrontation with Asian and black African leaders at the conference, deeply insulted Smith.<ref>{{Harvnb
|Wood
|2005
|pp=215–216}}</ref> Lord Malvern equated Britain's removal of Southern Rhodesia's conference seat with "kicking us out of the Commonwealth",<ref>{{Harvnb
|Berlyn
|1978
|pp=140, 143}}</ref> while Welensky expressed horror at what he described as "this cavalier treatment of a country which has, since its creation, staunchly supported, in every possible way, Britain and the Commonwealth".<ref name=welenskyspeech>{{Harvnb
|Welensky
|1965}}</ref>
[[File:Alec Douglas-Home (c1963).jpg|thumb|upright|left|UK Prime Minister Sir Alec Douglas-Home met Smith in London in September 1964.|alt=A photograph of Sir Alec Douglas-Home]]
At 10 Downing Street in early September 1964, impasse developed between Douglas-Home and Smith over the best way to measure black public opinion in Southern Rhodesia. A key plank of Britain's Southern Rhodesia policy was that the terms for independence had to be "acceptable to the people of the country as a whole"—agreeing to this, Smith suggested that white and urban black opinion could be gauged through a general referendum of registered voters, and that rural black views could be obtained at a national ''indaba'' (tribal conference) of chiefs and headmen. Douglas-Home told Smith that although this proposal satisfied him personally, he could not accept it as he did not believe the Commonwealth, the United Nations or the Labour Party would also do so. He stressed that such a move towards accommodation with Smith might hurt the Conservatives' chances in the British general election the next month, and suggested that it might be in Smith's best interests to wait until after the election to continue negotiations. Smith accepted this argument. Douglas-Home assured Smith that a Conservative government would settle with him and grant independence within a year.<ref>{{Harvnb
|Wood
|2005
|pp=231–233}}</ref>
Attempting to form a viable white opposition to the Rhodesian Front, the UFP resurrected itself around Welensky, renamed itself the Rhodesia Party, and entered the Arundel and Avondale by-elections that had been called for 1 October 1964. Perturbed by the prospect of having to face the political heavyweight Welensky in parliament at the head of the opposition, the RF poured huge resources into winning both of these former UFP safe seats, and fielded Clifford Dupont, Smith's deputy, against Welensky in Arundel.{{#tag:ref|During the bitterly fought campaign,<ref name=byelection>{{Harvnb
|Wood
|2005
|pp=239–240}}; {{Harvnb
|Windrich
|1978
|p=25}}</ref> Welensky was falsely personified by his opponents as representing appeasement of Britain and black extremists, and heckled at public concourses with cries of "communist", "traitor" and "coward";<ref>{{Harvnb
|Blake
|1977
|p=366}}</ref> one man even screamed "you bloody Jew" at Welensky during a debate.<ref>{{Harvnb
|White
|1978
|p=36}}</ref>|group="n"|name="campaign64"}} The RF won both seats comfortably, and the Rhodesia Party soon faded away. Spurred on by this success, Smith organised the ''indaba'' for 22 October, and called a general independence referendum for 5 November 1964.<ref name=byelection/> Meanwhile, Wilson wrote a number of letters to black Southern Rhodesians, assuring them that "the Labour Party is totally opposed to granting independence to Southern Rhodesia so long as the government of that country remains under the control of the white minority".<ref name=berlyn157>{{Harvnb
|Berlyn
|1978
|p=157}}</ref>
===Wilson's Labour government; Salisbury's tests of opinion===
[[File:Harold Wilson.jpg|thumb|upright|Harold Wilson replaced Douglas-Home in October 1964, and proved a formidable opponent of Smith.|alt=A portrait photograph of Harold Wilson]]
Labour defeated the Conservatives by four seats in the British general election on 15 October 1964, and formed a government the next day. Both Labour and the Conservatives told Smith that a positive result at the ''indaba'' would not be recognised by Britain as representative of the people, and the Conservatives turned down Salisbury's invitation to send observers. Smith pressed on, telling parliament that he would ask the tribal chiefs and headmen "to consult their people in the traditional manner", then hold the ''indaba'' as planned.<ref>{{Harvnb
|Wood
|2005
|p=241}}</ref> On 22 October, 196 chiefs and 426 headmen from across the country gathered at Domboshawa, just north-east of Salisbury, and began their deliberations. Smith hoped that Britain, having taken part in such ''indabas'' in the past, might send a delegation at the last minute, but none arrived, much to his annoyance, particularly as the British government's Commonwealth Secretary Arthur Bottomley was only across the Zambezi in Lusaka at the time.<ref name=wood242243>{{Harvnb
|Wood
|2005
|pp=242–243, 246}}</ref>{{#tag:ref|Official observers came from Australia, Austria, France, Greece, New Zealand, Norway, Portugal, South Africa and Sweden.<ref name=wood242243/>|group="n"|name="observers"}}
While the chiefs conferred, Northern Rhodesia became independent Zambia on 24 October 1964, emulating Nyasaland, which had achieved statehood as Malawi three months earlier. Reasoning that it was no longer necessary to refer to itself as "Southern" in the absence of a northern counterpart, Southern Rhodesia began calling itself simply Rhodesia.{{#tag:ref|Salisbury passed legislation to shorten the name, but Britain ruled this ''[[ultra vires]]'' as the laws naming the country were British acts passed at Westminster. Salisbury went on using the shortened name in an official manner anyway,<ref name="palley742743">{{Harvnb
|Palley
|1966
|pp=742–743}}</ref> while the British government, the United Nations and other overseas bodies continued referring to the country as Southern Rhodesia. This situation continued throughout the UDI period.<ref name=rowland251>{{Harvnb
|Rowland
|1978
|p=251}}</ref>|group="n"|name="name2"}} The same day, the commander of the Rhodesian Army, Major-General John "Jock" Anderson, resigned, announcing publicly that he was doing so because of his opposition to UDI, which he said he could not go along with because of his oath of allegiance to the Queen. Interpreting this as a sign that Smith intended to declare independence if a majority backed it in the referendum, Wilson wrote a stiff letter to Smith on 25 October, warning him of the consequences of UDI, and demanding "a categorical assurance forthwith that no attempt at a unilateral declaration of independence on your part will be made".<ref name=wood243246/> Smith expressed confusion as to what he had done to provoke this, and ignored it.<ref name=wood243246/>
When the ''indaba'' ended on 26 October, the chiefs and headmen returned a unanimous decision to support the government's stand for independence under the 1961 constitution, attesting in their report that "people who live far away do not understand the problems of our country".<ref name=wood243246>{{Harvnb
|Wood
|2005
|pp=243–246}}</ref> This verdict was rejected by the nationalist movement on the grounds that the chiefs received governmental salaries; the chiefs countered that the black MPs in parliamentary opposition also received such salaries, but still opposed the government.<ref name=wood243246/> Malvern, who was becoming perturbed by the RF's actions, dismissed the ''indaba'' as a "swindle", asserting that the chiefs no longer had any real power; the British simply ignored the whole exercise.<ref name=wood250>{{Harvnb
|Wood
|2005
|p=250}}</ref> On 27 October, Wilson released a firm statement regarding Britain's intended response to UDI, warning that Rhodesia's economic and political ties with Britain, the Commonwealth and most of the world would be immediately severed amid a campaign of sanctions if Smith's government went ahead with UDI.<ref name=wood243246/> This was intended to discourage white Rhodesians from voting for independence in the referendum,<ref name=wood247>{{Harvnb
|Wood
|2005
|p=247}}</ref> for which the RF campaign slogan was "Yes means Unity, not UDI".<ref>{{Harvnb
|Blake
|1977
|p=369}}</ref> Wilson was pleased when Douglas-Home, his leading opponent in the House of Commons, praised the statement as "rough but right".<ref>{{Harvnb
|Wilson
|1974
|p=51}}</ref> On 5 November 1964, Rhodesia's mostly white electorate voted "yes" to independence under the 1961 constitution by a margin of 89%,{{#tag:ref|Turnout was 61% of the 105,444 registered voters (89,886 whites, 12,729 blacks and 2,829 coloureds and Asians). There were 58,091 ballots in favour, 6,096 against and 944 spoilt papers. Most eligible non-whites reportedly abstained.<ref name=wood249>{{Harvnb
|Wood
|2005
|p=249}}</ref>|group="n"|name="vote"}} prompting Smith to declare that the British condition of acceptability to the people as a whole had been met.<ref name=wood251>{{Harvnb
|Wood
|2005
|p=251}}</ref>
===Stalemate develops between Smith and Wilson===
Smith wrote to Wilson the day after the referendum, asking him to send Bottomley to Salisbury for talks. Wilson replied that Smith should instead come to London.<ref name=wood251/> The British and Rhodesians exchanged often confrontational letters for the next few months. Alluding to the British financial aid pledged to Salisbury as part of the Federal dissolution arrangements, Wilson's High Commissioner in Salisbury, J B Johnston, wrote to the Rhodesian Cabinet Secretary Gerald B Clarke on 23 December that "talk of a unilateral declaration of independence is bound to throw a shadow of uncertainty on the future financial relations between the two governments".<ref>{{Harvnb
|Wood
|2005
|pp=257–258}}</ref> Smith was furious, seeing this as blackmail, and on 13 January 1965 wrote to Wilson: "I am so incensed at the line of your High Commissioner's letter that I am replying directly to you ... It would appear that any undertakings given by the British government are worthless ... such immoral behaviour on the part of the British government makes it impossible for me to continue negotiations with you with any confidence that our standards of fair play, honesty and decency will prevail."<ref name=smith85>{{Harvnb
|Smith
|1997
|p=85}}</ref>
[[File:10 Downing Street 2010.jpg|thumb|10 Downing Street, where Wilson received Smith in January 1965|alt=A wide shot of Downing Street]]
The two premiers were brought together in person in late January 1965, when Smith travelled to London for Sir Winston Churchill's funeral. Following an episode concerning Smith's non-invitation to a luncheon at Buckingham Palace after the funeral—noticing the Rhodesian's absence, the Queen sent a royal equerry to Smith's hotel to retrieve him, reportedly causing Wilson much irritation—the two Prime Ministers inconclusively debated at 10 Downing Street. They differed on most matters, but agreed on a visit to Rhodesia the next month by Bottomley and the Lord Chancellor, Lord Gardiner, to gauge public opinion and meet political and commercial figures.<ref>{{Harvnb
|Wood
|2005
|pp=270–275}}</ref> Bottomley and Gardiner visited Rhodesia from 22 February to 3 March, collected a wide cross-section of opinions, including some from black Rhodesians, and on returning to Britain reported to the House of Commons that they were "not without hope of finding a way towards a solution that will win the support of all communities and lead to independence and prosperity for all Rhodesians".<ref name=wood286>{{Harvnb
|Wood
|2005
|p=286}}</ref> Bottomley also condemned black-on-black political violence, and dismissed the idea of introducing majority rule through military force.<ref name=wood286/>
The RF called a new general election for May 1965 and, campaigning on an election promise of independence, won all 50 "A"-roll seats (the voters for which were mostly white).{{#tag:ref|The electoral system devised in the 1961 constitution replaced the common voters' roll with two rolls, the "A" roll and the "B" roll, the latter of which had lower qualifications intended to make it easier for prospective voters to enter the political system. There were 50 "A"-roll constituencies and 15 larger "B"-roll districts, with a complicated mechanism of "cross-voting" allowing "B"-roll voters to slightly influence "A"-roll elections and ''vice versa''. This system was theoretically non-racial, but in practice the "A" roll was largely white and the "B" roll was almost all black.<ref>{{Harvnb
|Palley
|1966
|pp=414–416}}</ref>|group="n"|name="crossvoting"}} Josiah Gondo, leader of the United People's Party, became Rhodesia's first black Leader of the Opposition. Opening parliament on 9 June, Gibbs told the Legislative Assembly that the RF's strengthened majority amounted to "a mandate to lead the country to its full independence", and announced that the new government had informed him of its intent to open its own diplomatic mission in Lisbon, separate from the British embassy there. The British and Rhodesians argued about this unilateral act by Salisbury, described by the historian J R T Wood as the "veritable straw in the wind",<ref name=wood319>{{Harvnb
|Wood
|2005
|p=319}}</ref> alongside the independence issue until Portugal accepted the mission in late September, much to Britain's fury and Rhodesia's delight.<ref name=fedorowichthomas185186>{{Harvnb
|Fedorowich
|Thomas
|2001
|pp=185–186}}</ref> Hoping to bring Smith to heel by stonewalling him, Wilson's ministers deliberately delayed and frustrated the Rhodesian government in negotiations.<ref>{{Harvnb
|Wood
|2005
|p=344}}</ref> Rhodesia was again excluded from the Commonwealth Prime Ministers' Conference in 1965. The UK's refusal of aid, the Lisbon mission, the informal arms embargo and other issues combined with this to cause the Rhodesian government's sense of alienation from Britain and the Commonwealth to deepen.<ref name=wood335>{{Harvnb
|Wood
|2005
|p=335}}</ref> In his memoirs, Smith accused the British of "resorting to politics of convenience and appeasement".<ref>{{Harvnb
|Smith
|1997
|p=92}}</ref> Wilson, meanwhile, became exasperated by what he saw as Rhodesian inflexibility, describing the gap between the two governments as "between different worlds and different centuries".<ref name=wood5>{{Harvnb
|Wood
|2008
|p=5}}</ref>
===Final steps to UDI===
Amid renewed rumours of an impending Rhodesian UDI, Smith travelled to meet Wilson in London at the start of October 1965, telling the press that he intended to resolve the independence issue once and for all.<ref name=wood360363>{{Harvnb
|Wood
|2005
|pp=360–363, 367}}</ref> Both the British and the Rhodesians were surprised by the large numbers of Britons who came out to support Smith during his visit.<ref name=wood381383/> Smith accepted an invitation from the BBC to appear on its ''Twenty-Four Hours'' evening news and current affairs programme, but Downing Street blocked this at the last minute.<ref name=wood381383>{{Harvnb
|Wood
|2005
|pp=381–383}}</ref> Following largely abortive talks with Wilson, the Rhodesian Prime Minister flew home on 12 October.<ref name=wood387388>{{Harvnb
|Wood
|2005
|pp=387–388}}</ref> Desperate to avert UDI, Wilson travelled to Salisbury two weeks later to continue negotiations.<ref name=wood411414/>
During these discussions, Smith referred to the last resort of a UDI on many occasions,<ref name=young271/> though he said he hoped to find another way out of the quandary. He offered to increase black legislative representation by expanding the electorate along the lines of "one taxpayer, one vote"—which would enfranchise about half a million, but still leave most of the nation voteless—in return for a grant of independence.<ref name=wood411414>{{Harvnb
|Wood
|2005
|pp=411–414}}</ref> Wilson said this was insufficient, and countered that future black representation might be better safeguarded by Britain's withdrawal from the colonial government of the power it had held since 1923 to determine the size and makeup of its parliament. The Rhodesians were horrified by this prospect, particularly as Wilson's suggestion of it seemed to them to have removed the failsafe alternative of keeping the ''status quo''.<ref>{{Harvnb
|Wood
|2005
|p=440}}</ref> Before the British Prime Minister left Rhodesia on 30 October 1965, he proposed a Royal Commission to gauge public opinion in the colony regarding independence under the 1961 constitution, possibly chaired by the Rhodesian Chief Justice Sir Hugh Beadle, which would report its findings to both the British and Rhodesian Cabinets.<ref name=wood441442>{{Harvnb
|Wood
|2005
|pp=441–442}}</ref> Wilson confirmed in the House of Commons two days later that he intended to introduce direct British control over the Rhodesian parliamentary structure to ensure that progress was made towards majority rule.<ref name=wood445>{{Harvnb
|Wood
|2005
|p=445}}</ref>
Stalemate drew closer as the Rhodesian Cabinet resolved that since Wilson had ruled out maintenance of the ''status quo'', its only remaining options were to trust in the Royal Commission or declare independence.<ref name=wood443>{{Harvnb
|Wood
|2005
|p=443}}</ref> When the terms for the commission's visit were presented to Smith, he found that contrary to what had been discussed during the British Prime Minister's visit, the Royal Commission would operate on the basis that the 1961 constitution was unacceptable to the British government, and that Britain would not commit itself to accepting the final report. Smith said these conditions amounted to a "vote of no confidence in [the commission] before they commenced", and therefore rejected them.<ref>{{Harvnb
|Smith
|1997
|p=98}}</ref> "The impression you left with us of a determined effort to resolve our constitutional problem has been utterly dissipated", he wrote to Wilson on 5 November. "It would seem that you have now finally closed the door which you publicly claimed to have opened."<ref name=young271>{{Harvnb
|Young
|1969
|p=271}}</ref>
Amid frantic efforts by Beadle and others on both sides to revive the Royal Commission, the Rhodesian government had Gibbs announce a state of emergency the same day on the grounds that black Rhodesian insurgents were reportedly entering the country. Smith denied that this foreshadowed a declaration of independence,<ref name=wood453>{{Harvnb
|Wood
|2005
|p=453}}</ref> but the publishing of his letter to Wilson in the press provoked a worldwide storm of speculation that UDI was imminent.<ref name=young271/> Smith wrote again to Wilson on 8 November, asking him to appoint the Royal Commission under the terms they had agreed in Salisbury and to commit the British government to accepting its ruling, but Wilson did not immediately reply.<ref>{{Harvnb
|Wood
|2005
|p=463}}</ref> On 9 November, the Rhodesian Cabinet sent a letter to Queen Elizabeth II, assuring her that Rhodesia would remain loyal to her personally "whatever happens".<ref name=wood460461/>
==Draft, adoption and signing==
[[File:United States Declaration of Independence.jpg|thumb|upright|The United States Declaration of Independence was used by the Rhodesians as the model for their UDI.|alt=The United States Declaration of Independence]]
The Rhodesian Minister for Justice and Law and Order, Desmond Lardner-Burke, presented the rest of the Cabinet with a draft for the declaration of independence on 5 November 1965. When Jack Howman, Minister of Tourism and Information, said that he was also preparing a draft, the Cabinet decided to wait to see his version too. The ministers agreed that if an independence proclamation were issued, they would all sign it.<ref name="wood453"/> On 9 November, the Cabinet jointly devised an outline for the proclamation document and the accompanying statement to be made by Smith.<ref name=wood460461>{{Harvnb
|Wood
|2005
|pp=460–461}}</ref> The final version of the declaration of independence was prepared by a sub-committee of civil servants headed by Gerald Clarke, the Cabinet Secretary,<ref name=smith100103>{{Harvnb
|Smith
|1997
|pp=100, 103}}</ref> with the United States Declaration of Independence of 1776, the only other such proclamation ever issued by British colonials, used as a model.<ref name=wood471/> Strongly alluding to Thomas Jefferson's text throughout, the Rhodesians used one phrase verbatim — "a respect for the opinions of mankind"<ref name=stpetersburgtimes>{{Harvnb
|St. Petersburg Times
|1965}}</ref>—but no reference was made to the assertion that "all men are created equal", nor to the "consent of the governed", two omissions later stressed by a number of commentators.<ref>{{Harvnb
|Hillier
|1998
|p=207}}; {{Harvnb
|Palley
|1966
|p=750}}; {{Harvnb
|Gowlland-Debbas
|1990
|p=71}}</ref>
Attached to the declaration of independence was a copy of the 1961 constitution amended for the circumstances, which became the 1965<ref>{{cite web |title=The Constitution of Rhodesia, 1965 |url=http://www.worldstatesmen.org/Rhodesia_1965.pdf |publisher=Harvard Law Library |accessdate=9 May 2019}}</ref> constitution. In the eyes of the Smith administration, this document removed Whitehall's remaining authority over Rhodesia and made Rhodesia a ''de jure'' independent state. However, the Smith government still professed loyalty to Elizabeth II, and accordingly the document reconstituted Rhodesia as a dominion with Elizabeth as "Queen of Rhodesia". The new constitution created the concept of allegiance to the "Constitution of Rhodesia," and introduced the post of Officer Administering the Government, a viceregal figure empowered to sign passed legislation into law on behalf of the monarch if she did not appoint a Governor-General.<ref name=wood471/>
The Rhodesian Cabinet waited in vain for Wilson's reply for the rest of 9 November and the next day. After briefly meeting Smith late on 10 November,<ref>{{Harvnb
|Wood
|2005
|pp=465–467}}</ref> Johnston warned Wilson that evening that the Rhodesians seemed poised to declare independence in the morning. The British Prime Minister tried repeatedly to call Smith, but did not get through until Smith was already chairing a Cabinet meeting on the independence issue around 08:00 Central Africa Time (06:00 in London) on 11 November. Wilson attempted to talk Smith out of unilateral action by telling him the ''status quo'' could continue, and the two argued inconclusively about the proposed Royal Commission. Returning to his Cabinet meeting, Smith reported the conversation to his ministers, and, after debating for a while, the Cabinet came to the conclusion that Wilson was simply attempting to buy more time and that there was no sign of actual progress. Smith asked if Rhodesia should declare its independence, and had each Cabinet minister answer in turn. According to Smith's account, "each one, quietly but firmly, without hesitation, said: 'Yes'."<ref name=wood468470>{{Harvnb
|Wood
|2005
|pp=468–470}}</ref>
At 11:00 local time on 11 November 1965, Armistice Day, during the traditional two minutes' silence to remember the fallen of the two World Wars, Smith declared Rhodesia independent and signed the proclamation document, with Dupont and the other 10 ministers of the Cabinet following. The timing was intended to emphasise the sacrifices Rhodesia had made for Britain in wartime.<ref>{{Harvnb
|McLaughlin
|1980
|p=141}}; {{Harvnb
|Wood
|2005
|p=463}}</ref> As Ken Flower later said, "the rebellion was made to appear as though it was not a rebellion".<ref name=wood471/> Smith and his ministers still pledged allegiance to Queen Elizabeth II, whose official portrait hung prominently behind them as they signed; the declaration even ended "God Save The Queen".<ref name=wood471>{{Harvnb
|Wood
|2005
|p=471}}</ref> Four junior members of the Cabinet—Lance Smith, Ian Dillon, Andrew Dunlop and P K van der Byl—did not sign, but were included in the official photograph.<ref>{{Harvnb
|White
|1978
|p=45}}</ref>
==Text of the declaration==
{{quote|
{{center|Proclamation}}
----
Whereas in the course of human affairs history has shown that it may become necessary for a people to resolve the political affiliations which have connected them with another people and to assume amongst other nations the separate and equal status to which they are entitled:
And Whereas in such event a respect for the opinions of mankind requires them to declare to other nations the causes which impel them to assume full responsibility for their own affairs:
Now Therefore, We, The Government of Rhodesia, Do Hereby Declare:
That it is an indisputable and accepted historic fact that since 1923 the Government of Rhodesia have exercised the powers of self-government and have been responsible for the progress, development and welfare of their people;
That the people of Rhodesia having demonstrated their loyalty to the Crown and to their kith and kin in the United Kingdom and elsewhere through two world wars, and having been prepared to shed their blood and give of their substance in what they believed to be the mutual interests of freedom-loving people, now see all that they have cherished about to be shattered on the rocks of expediency;
That the people of Rhodesia have witnessed a process which is destructive of those very precepts upon which civilization in a primitive country has been built, they have seen the principles of Western democracy, responsible government and moral standards crumble elsewhere, nevertheless they have remained steadfast;
That the people of Rhodesia fully support the requests of their government for sovereign independence but have witnessed the consistent refusal of the Government of the United Kingdom to accede to their entreaties;
That the Government of the United Kingdom have thus demonstrated that they are not prepared to grant sovereign independence to Rhodesia on terms acceptable to the people of Rhodesia, thereby persisting in maintaining an unwarrantable jurisdiction over Rhodesia, obstructing laws and treaties with other states and the conduct of affairs with other nations and refusing assent to laws necessary for the public good, all this to the detriment of the future peace, prosperity and good government of Rhodesia;
That the Government of Rhodesia have for a long period patiently and in good faith negotiated with the Government of the United Kingdom for the removal of the remaining limitations placed upon them and for the grant of sovereign independence;
That in the belief that procrastination and delay strike at and injure the very life of the nation, the Government of Rhodesia consider it essential that Rhodesia should attain, without delay, sovereign independence, the justice of which is beyond question;
Now Therefore, We The Government of Rhodesia, in humble submission to Almighty God who controls the destinies of nations, conscious that the people of Rhodesia have always shown unswerving loyalty and devotion to Her Majesty the Queen and earnestly praying that we and the people of Rhodesia will not be hindered in our determination to continue exercising our undoubted right to demonstrate the same loyalty and devotion, and seeking to promote the common good so that the dignity and freedom of all men may be assured, Do, By This Proclamation, adopt, enact and give to the people of Rhodesia the Constitution annexed hereto;
{{center|God Save The Queen}}
Given under Our Hand at Salisbury, this eleventh day of November in the Year of Our Lord one thousand nine hundred and sixty-five.
{{plainlist |
* ''Prime Minister:'' Ian Smith
* ''Deputy Prime Minister:'' Clifford Dupont
* ''Ministers:'' William Harper, Montrose, Phillip van Heerden, Jack Howman, Jack Mussett, John Wrathall, Desmond Lardner-Burke, George Rudland, Ian McLean, Arthur Philip Smith
{{right|<ref name=wood472/>}}
}}
|}}
==Announcement and reactions==
===Announcement===
Prompted by the government, the Rhodesian Broadcasting Corporation told the public to stand by for an important announcement from the Prime Minister at 13:15 local time. Smith went first to Government House to inform Gibbs that his Cabinet had declared independence,<ref name=wood471/> then to Pockets Hill Studios in east Salisbury to announce UDI to the nation. He read the proclamation aloud, then stated that independence had been declared because it had become "abundantly clear that it is the policy of the British government to play us along with no real intention of arriving at a solution which we could possibly accept ... I promised the people of this country that I would continue to negotiate to the bitter end and that I would leave no stone unturned in my endeavours to secure an honourable and mutually accepted settlement; it now falls to me to tell you that negotiations have come to an end".<ref name=wood472>{{Harvnb
|Wood
|2005
|p=472}}</ref>
Smith said that he believed that he would be remiss in his duty if he allowed Rhodesia to continue to "drift in its present paralysing state of uncertainty", and that following Britain's abandonment of the Federation his government was determined that "the same will never be allowed to happen here". He claimed that UDI did not mark "a diminution in the opportunities which our African people have to advance and prosper in Rhodesia", described "racial harmony in Africa" as part of his agenda and condemned black Rhodesian activities as attempts to "blackmail the British government into ... handing the country over to irresponsible rule". He then attempted to assuage fears that economic sanctions might destroy the economy, and asked Rhodesians to stand firm: "The mantle of the pioneers has fallen on our shoulders... In the lives of most nations there comes a moment when a stand has to be made for principles, whatever the consequences. This moment has come to Rhodesia ... the first Western nation in the last two decades to say 'so far and no further'." He concluded with an assertion that the declaration of independence was "a blow for the preservation of justice, civilisation and Christianity".<ref name=wood472475>{{Harvnb
|Wood
|2005
|pp=472–475}}</ref>
===Domestic reactions===
By the time Smith and Dupont arrived at Government House to see Gibbs, Whitehall had instructed the Governor to formally dismiss Smith and his ministers for treason. Gibbs complied without hesitation. Smith and his ministers ignored this, holding that under the new 1965 constitution Gibbs "no longer ha[d] any executive powers in Rhodesia", and his reserve power to sack them no longer existed.<ref>{{Harvnb
|Peterson
|1971
|p=34}}</ref> The Rhodesian government hoped that Gibbs might obligingly resign in light of his impotent situation, but he did not; following orders from London, he remained at his post at Government House. Gibbs told the Rhodesian military's senior officers, some of whom were troubled by the perceived choice between Queen and country, to remain at their posts to maintain law and order.<ref name=wood0834>{{Harvnb
|Wood
|2008
|pp=3–4}}</ref> Wilson briefly flirted with the idea of sending Lord Mountbatten to Rhodesia to support Gibbs as a direct representative of the Queen, but this was dropped after Gibbs asked for somebody "higher up" in the royal family instead.<ref name=wood1999>{{Harvnb
|Wood
|1999</ref> "Not likely", Wilson retorted.<ref name=wood1999/>
The Rhodesian government accompanied UDI with emergency measures that it said were intended to prevent alarm, unrest and the flight of people and capital. Press censorship and petrol rationing were imposed, import licences were cancelled and emigration allowances were cut to £100. News of UDI was generally received calmly by the local citizenry, apart from some isolated incidents of passing cars being stoned in the black townships outside Bulawayo. A few expected dissenters were arrested, most prominently Leo Baron, Nkomo's lawyer, whose links with black Rhodesians and communists were seen by authorities as "subversive".<ref name=wood0834/> Baron, the younger brother of the scientist Jacob Bronowski, was arrested nine minutes after UDI was made.<ref name=wood0834/>
::What was it that could make a country twice the size of Britain with half the population of London pit itself against the massive weight of world opinion? Rights or wrongs aside, there was something splendid about the gesture -- Rhodesian journalist Phillippa Berlyn on UDI<ref name=beleaguered>{{Harvnb
|Berlyn
|1967
|p=9}}</ref>}}
Welensky, who had opposed UDI, stated that he felt it was nevertheless "the duty of every responsible Rhodesian to support the revolutionary government" as he believed the only alternative was a descent into anarchy.<ref name=wood0834/> João de Freitas Cruz, the Portuguese consul-general in Salisbury, reacted to the news with wild excitement; visiting the Smith residence later in the day, he declared "Only Rhodesians could do this!"<ref name=berlyn171/> A statement from ZAPU's Jason Moyo, who was in London at the time, denounced UDI as an act of "treason and rebellion" and asserted that "the lives particularly of four million unarmed Africans are in jeopardy".<ref name=bbc1965>{{Harvnb
|BBC
|1965}}</ref> Davis M'Gabe of the Zimbabwe African National Union (ZANU) said that "For all those who cherish freedom and a meaningful life, UDI has set a collision course which cannot be altered. [It has] marked the turning point of the struggle for freedom ... from a constitutional and political one to primarily a military struggle."<ref>{{Harvnb
|Davidson
|Slovo
|Wilkinson
|1976
|p=230}}</ref> Most major Christian denominational leaders in the country publicly rejected UDI and the assertion that it defended Christianity, with the exception of the local Dutch Reformed Church, which stated that it was apolitical and thereafter refrained from comment.<ref>{{Harvnb
|Peaden
|1979
|p=196}}</ref>
A week after UDI, Smith's government announced that Dupont, the Deputy Prime Minister, had resigned from the Cabinet to accept the post of Officer Administering the Government created by the 1965 constitution.<ref name=wood1999/> Attempting to assert his claimed prerogative as Her Majesty's Rhodesian Prime Minister, Smith advised the Queen by letter to appoint Dupont as Governor-General to supersede Gibbs. The letter was ignored.<ref>{{Harvnb
|Young
|1969
|p=324}}</ref> Dupont nevertheless effectively replaced the Governor. The Smith administration assigned him the Governor's official residence at Government House, but no attempt was made to forcibly remove Gibbs and his entourage; the post-UDI government stated that the Officer Administering the Government would live at Governor's Lodge instead "until Government House, at present temporarily occupied by Sir Humphrey Gibbs in a private capacity, becomes available".<ref name=wood1999/>
The Speaker of the Rhodesian parliament, A R W Stumbles, reconvened the Legislative Assembly on 25 November, resolving that if he did not there would be chaos. He feared that Gibbs might dramatically walk into the chamber in an attempt to stop the proceedings, but Gibbs did no such thing. The parliamentary opposition opened the meeting by asking whether the assembly was legal.<ref name=wood200821/> Ahrn Palley, the lone white opposition MP, announced that as he saw it, "certain Honourable Members in collusion have torn up the constitution under which this House meets. The proceedings have no legal validity whatsoever".<ref name=time65/> Stumbles overruled this objection and two more interruptions from Palley, and suggested that any members with reservations might leave.<ref name=wood200821/> Palley continued his loud protests until he was forcibly ejected by the Sergeant-at-Arms, shouting "This is an illegal assembly! God save the Queen!"<ref name=time65>{{Harvnb
|Time
|1965}}</ref> Gondo and eight other opposition MPs followed Palley out;<ref name=wood200821>{{Harvnb
|Wood
|2008
|p=21}}</ref> all ten of them rejoined the Legislative Assembly in February 1966.{{#tag:ref|When they then repeatedly referred to Smith's government as "the illegal regime" during parliamentary discussions, Stumbles ruled the term out of order.<ref name=wood200822>{{Harvnb
|Wood
|2008
|p=22}}</ref>|group="n"|name="outoforder"}}
Gibbs received threatening letters from the Rhodesian public, and on 26 November 1965 Smith's government cut off the telephones at Government House, and removed the ceremonial guard, the official cars "and even the typewriters", Wood records.<ref name=wood1999/> Gibbs nevertheless refused to step down or to leave Government House, issuing a statement that he would remain there "as the lawful Governor of Rhodesia until such time as constitutional government is restored, which I hope will be soon."<ref name=wood1999/> He stayed at his post, ignored by the post-UDI government, until the declaration of a republic in 1970.<ref name=wood1999/>
===British and international responses; sanctions===
Wilson was astonished by Smith's actions, and found the timing of the declaration to coincide with the Armistice Day silence deeply insulting.<ref name=thinkagain/> Describing Salisbury as "hell-bent on illegal self-destroying",<ref name=wood5/> the British Prime Minister, supported in the Commons by the Liberals and most Conservatives, called on Rhodesians to ignore the post-UDI government.<ref name=wood5/> Within hours of UDI, the UN General Assembly passed a condemnatory resolution, by 107-to-two—South Africa and Portugal voted against, and France abstained—decrying Rhodesia's actions and calling on Britain to end "the rebellion by the unlawful authorities in Salisbury".<ref>{{Harvnb
|Wood
|2008
|p=7}}</ref> The UN Security Council the next day adopted Resolution 216, which denounced the declaration of independence as illegal and racist, and called on all states to refuse recognition and assistance to the Rhodesian government. Security Council Resolution 217, following on 20 November, condemned UDI as an illegitimate "usurpation of power by a racist settler minority", and called on nations neither to recognise what it deemed "this illegal authority" nor to entertain diplomatic or economic relations with it. Both of these measures were adopted by ten votes to none with France abstaining.<ref name=gd183>{{Harvnb
|Gowlland-Debbas
|1990
|pp=183–185}}</ref>
Rhodesian black nationalists and their overseas supporters, prominently the OAU, clamoured for Britain to remove Smith's government with a military invasion, but Britain dismissed this option because of various logistical issues, the risk of provoking a pre-emptive Rhodesian strike on Zambia, and the psychological problems that were likely to accompany any confrontation between British and Rhodesian troops in what Smith said would be a "fratricidal war".<ref>{{Harvnb
|Wood
|2008
|p=6}}; {{Harvnb
|Smith
|1997
|p=110}}</ref> Wilson instead resolved to end the Rhodesian rebellion through economic sanctions; these principally comprised the expulsion of Rhodesia from the Sterling area, a ban on the import of Rhodesian sugar, tobacco, chrome and other goods, and an oil boycott of Rhodesia. When the Rhodesians continued to receive oil, Wilson attempted to directly cut off their main supply lines, namely the Portuguese Mozambican ports at Beira and Lourenço Marques, by posting a Royal Navy squadron to the Mozambique Channel in March 1966. This blockade, the Beira Patrol, was endorsed the following month by UN Security Council Resolution 221.<ref name=mobley>{{Harvnb
|Mobley
|2002
|pp=66, 71–76, 83}}</ref> The United Nations proceeded to institute the first mandatory trade sanctions in its history with Security Council Resolutions 232 (December 1966) and 253 (April 1968), which required member states to cease all trade and economic links with Rhodesia.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|pp=18, 701}}</ref>
Wilson predicted in January 1966 that the various boycotts would force Smith to give in "within a matter of weeks rather than months",<ref>{{Harvnb
|Wood
|2008
|p=47}}</ref> but the British and UN sanctions had little effect on Rhodesia, largely because South Africa and Portugal went on trading with the breakaway colony, providing it with oil and other key resources.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|p=442}}</ref> Clandestine "sanction-busting" trade with other nations also continued, initially at a reduced level, and the diminished presence of foreign competitors helped domestic industries to slowly mature and expand. Rhodesia thus avoided the economic collapse predicted by Wilson and gradually became more self-sufficient.<ref>{{Harvnb
|Rowe
|2001
|pp=124–130}}</ref> The Rhodesian government set up a string of front holding companies in Switzerland, Luxembourg and Liechtenstein to help keep trade open, with some success; goods that had previously been imported from Britain were replaced by Japanese, French and West German equivalents. Even many OAU states, while bombarding Rhodesia with vitriol, continued importing Rhodesian food and other products.<ref>{{Harvnb
|Moorcraft
|McLaughlin
|2008
|p=120}}</ref> The United States created a formal exception in its embargo with the Byrd Amendment of 1971, under which the US replaced its import of chrome from the Soviet Union with Rhodesian chrome ore. This breach of the UN sanctions, passed by the US Congress on the back of anti-communist Cold War considerations, was warmly welcomed by several white Southerners in Congress; it aided the Rhodesian economy until 1977, when the newly elected President Jimmy Carter successfully pushed Congress to repeal it.<ref>{{Harvnb
|Borstelmann
|2003
|pp=236–237}}</ref>
==Recognition==
===Foreign===
[[File:Zimbabwean embassy in London.jpg|thumb|upright|Rhodesia House, the Rhodesian High Commission in London, represented Smith's government in the UK until 1969, and became a regular target for political activists.|alt=An Edwardian building with six floors stands on a moderate day, a flag flying atop it.]]
Official diplomatic recognition by other countries was key for Rhodesia as it was the only way it could regain the international legitimacy it had lost through UDI.<ref name=white97/> Recognition by the UK itself through a bilateral settlement would be the "first prize", in Smith's words, as it would end sanctions and constitutional ambiguity and make foreign acceptance, at least in the West, far more likely.<ref>{{Harvnb
|Windrich
|1978
|p=132}}</ref> Considering their country a potentially important player in the Cold War as a "bastion against communism" in southern Africa,<ref>{{Harvnb
|Borstelmann
|2003
|p=195}}</ref> the RF posited that some Western countries might recognise UDI even without a prior Anglo-Rhodesian rapprochement. Specifically, it expected diplomatic recognition from South Africa and Portugal, and thought that France might recognise Rhodesia to annoy Britain and create a precedent for an independent Quebec.<ref name=white97>{{Harvnb
|White
|2010
|p=97}}</ref> But although South Africa and Portugal gave economic, military and limited political support to the post-UDI government (as did France and other nations, to a lesser extent), neither they nor any other country ever recognised Rhodesia as a ''de jure'' independent state.<ref>{{Harvnb
|Nel
|McGowan
|1999
|p=246}}</ref> Rhodesia's unsuccessful attempts to win Western support and recognition included offers to the US government in 1966 and 1967, ignored by Lyndon B Johnson's administration, to provide Rhodesian troops to fight alongside the Americans and other anti-communist forces in Vietnam.<ref>{{Harvnb
|Glasgow Herald
|1967}}</ref>
Britain withdrew most of its High Commission staff from Salisbury in the days following UDI, leaving a small skeleton staff to man a "residual mission" intended to help Gibbs keep the British government informed of local happenings.<ref name=berlyn171>{{Harvnb
|Berlyn
|1978
|p=171}}</ref> Several countries followed Britain's lead and closed their consulates in Salisbury, with one prominent exception to this being the United States, which retained its consulate-general in post-UDI Rhodesia, relabelling it a "US Contacts Office" to circumvent the problem of diplomatic recognition.{{#tag:ref|Australia and Canada shut down their trade missions in Salisbury, while Finland, Sweden and Turkey closed their honorary consulates. Denmark, France, Italy, Japan and the United States withdrew their heads of mission, but kept their offices open. Austria, Belgium, Greece, the Netherlands, Norway, Portugal and Switzerland retained their representative missions in Salisbury at the same levels as before UDI.<ref name=strack5152/>|group="n"|name="embassies"}} South Africa and Portugal maintained "Accredited Diplomatic Representative" offices in Salisbury, which were embassies in all but name, while Rhodesia kept its pre-UDI overseas missions in Pretoria, Lisbon and Lourenço Marques. Unofficial representative offices of the Rhodesian government also existed in the US, Japan and West Germany, while a citizen of Belgium was employed to represent Rhodesian interests there. The Rhodesian High Commission in London, located at Rhodesia House on the Strand, remained under the control of the post-UDI government and effectively became its representative office in the UK.<ref name=strack5152>{{Harvnb
|Strack
|1978
|pp=51–52}}</ref> Like the South African Embassy on Trafalgar Square, Rhodesia House became a regular target for political demonstrations. These continued even after Britain forced the office to close in 1969.<ref name=brownell>{{Harvnb
|Brownell
|2010}}</ref>
Because UDI claimed to make Rhodesia independent under the Queen as an effective dominion, many countries justified their retention of missions in Rhodesia concurrently with their non-recognition of the state by pointing out that the envoys' accreditation was to the Queen and not to Smith's government ''per se''. But Rhodesia moved away from its original line of independence as a constitutional monarchy and towards republicanism during the late 1960s, hoping to end ambiguity regarding its claimed constitutional status and elicit official foreign recognition. In March 1970, after the electorate had voted "yes" in a referendum the previous year both to a new constitution and to the abandoning of symbolic ties to the Queen, Smith's government declared Rhodesia a republic. Far from prompting recognition, this led all countries apart from Portugal and South Africa to withdraw their consulates and missions, as the justification of royal accreditation could no longer be used.<ref name=strack5152/> After Portugal's Carnation Revolution in 1974, the Rhodesian mission in Lisbon was closed in May 1975, with its counterpart in Lourenço Marques following a month later on Mozambican independence. Portugal also withdrew its own remaining officials from Rhodesia, leaving South Africa as the only country with links to Salisbury. Rhodesia's diplomatic activities were thereafter greatly diminished.<ref name=strack53>{{Harvnb
|Strack
|1978
|p=53}}</ref>
===Judicial===
The Rhodesian High Court's nine Appellate and General Division judges initially neither rejected UDI nor openly supported it. The Chief Justice Sir Hugh Beadle, of the Appellate Division, announced simply that the judges would go on carrying out their duties "according to the law".<ref name=wood1999/> This originally noncommittal stance evolved over time, largely pivoting around legal cases argued at the High Court in Salisbury between 1966 and 1968. The first of these, ''Madzimbamuto v. Lardner-Burke N. O. and Others'', concerned Daniel Madzimbamuto, a black Rhodesian who was detained without trial by the Rhodesian government on 6 November 1965, the day after the declaration of a state of emergency and five days before UDI, on the grounds that he might pose a danger to the public. Desmond Lardner-Burke, the Rhodesian Minister of Justice and Law and Order, prolonged the state of emergency in February 1966, prompting Madzimbamuto's wife to appeal for his release, arguing that since the United Kingdom had declared UDI illegal and outlawed the Rhodesian government with the Southern Rhodesia Act 1965, the state of emergency (and, by extension, Madzimbamuto's imprisonment) had no legal basis.<ref name=gowllanddebbas7576/>
The General Division of the Rhodesian High Court ruled on 9 September 1966 that legal sovereignty lay with the British government, but that to "avoid chaos and a vacuum in the law" the Rhodesian government should be considered to be in control of law and order to the same extent as before UDI. In February 1968, ruling on Madzimbamuto's appeal, Beadle concluded that the Smith administration would be recognised by the local judiciary as the ''de facto'' government by virtue of its "effective control over the state's territory", but that ''de jure'' recognition would be withheld as this was not "firmly established".<ref name=gowllanddebbas7576>{{Harvnb
|Gowlland-Debbas
|1990
|pp=75–76}}</ref> Madzimbamuto applied for the right to appeal to the British Privy Council; the Rhodesian Appellate Division promptly ruled that he had no right to do so,<ref>{{Harvnb
|Wood
|2008
|p=421}}</ref> but the Privy Council considered his case anyway.<ref name=wood487488>{{Harvnb
|Wood
|2008
|pp=487–488}}</ref>
In late February 1968, considering the fate of James Dhlamini, Victor Mlambo and Duly Shadreck, three black Rhodesians convicted of murder and terrorist offences before UDI, Beadle ruled that Salisbury retained its pre-UDI powers regarding executions and could carry out death sentences. Whitehall announced on 1 March that at the request of the UK government, the Queen had exercised the royal prerogative of mercy and commuted the three death sentences to life imprisonment. Dhlamini and the others applied for a permanent stay of execution on this basis. At the hearing for Dhlamini and Mlambo on 4 March 1968, Beadle argued that he saw the statement from London as a decision by the UK government and not the Queen herself, and that in any case the 1961 constitution had transferred the prerogative of mercy from Britain to the Rhodesian Executive Council. "The present government is the fully ''de facto'' government and as such is the only power that can exercise the prerogative", he concluded. "It would be strange indeed if the United Kingdom government, exercising no internal power in Rhodesia, were given the right to exercise the prerogative of clemency."<ref name=wood423424>{{Harvnb
|Wood
|2008
|pp=423–424}}</ref> The Judge President Sir Vincent Quenet and Justice Hector Macdonald agreed, and the application was dismissed. Justice John Fieldsend of the High Court's General Division resigned in protest, writing to Gibbs that he no longer believed the High Court to be defending the rights of Rhodesian citizens. Dhlamini, Mlambo and Shadreck were hanged on 6 March.<ref name=wood423424/>
On 23 July 1968, the Privy Council in London ruled in Madzimbamuto's favour, deciding that orders for detention made by the Rhodesian government were invalid regardless of whether the 1961 or 1965 constitution was considered effective. It declared the latter, "revolutionary" constitution illegal, and ruled that the former was overridden by the Southern Rhodesia Act 1965, which had effectively outlawed the Rhodesian legislative, administrative and legal authorities in British law. Lord Reid, delivering the majority opinion (Lord Pearce dissented), argued that the "usurper" government, though the effective master of Rhodesia, could not be considered lawful as the UK government was still attempting to regain control and it was impossible to say whether or not it would succeed. He ruled that only Whitehall could determine what constituted the maintenance of "law and order" in Rhodesia, and that the Rhodesian emergency measures were unlawful as they had been formalised by the Officer Administering the Government, a post-UDI figure who was, in British eyes, unconstitutional. Reid concluded that Madzimbamuto was illegally detained.<ref name=wood487488/> Harry Davies, one of the Rhodesian judges, announced on 8 August that the Rhodesian courts would not consider this ruling binding as they no longer accepted the Privy Council as part of the Rhodesian judicial hierarchy. Justice J R Dendy Young resigned in protest at Davies' ruling on 12 August and four days later was sworn in as Chief Justice of Botswana.<ref name=wood499>{{Harvnb
|Wood
|2008
|p=499}}</ref>
The Rhodesian High Court granted full ''de jure'' recognition to the post-UDI government on 13 September 1968, while rejecting the appeals of 32 black Rhodesians who had been a month earlier convicted of terrorist offences and sentenced to death. Beadle declared that while he believed the Rhodesian judiciary should respect rulings of the Privy Council "so far as possible", the judgement of 23 July had made it legally impossible for Rhodesian judges to continue under the 1961 constitution. He asserted that the court therefore faced a choice between the 1965 constitution and a legal vacuum, the latter of which he felt he could not endorse.<ref name=wood513>{{Harvnb
|Wood
|2008
|p=513}}</ref> Referring to the Privy Council's decision that the UK might yet remove the post-UDI government, he said that "on the facts as they exist today, the only prediction which this court can make is that sanctions will not succeed in overthrowing the present government ... and that there are no other factors which might succeed in doing so".<ref name=gowllanddebbas7576/>
Macdonald, a member of Beadle's ruling panel, argued that since UDI, the British government had acted unconstitutionally and illegally regarding Rhodesia by involving the United Nations in what should have been legally considered a domestic problem, and had concurrently abdicated its right to the allegiance of the Rhodesian people by waging economic war against the country and encouraging other nations to do the same. To support this argument, Macdonald referred to the assertion by the 17th-century Dutch jurist Hugo Grotius that "the purpose of governing and the purpose of destroying cannot subsist together".<ref name=young538541/> Since Britain was in a state of economic war against Rhodesia, the court concluded, it could not at the same time be regarded as governing it.<ref name=young538541>{{Harvnb
|Young
|1969
|pp=538–541}}</ref> UDI, the associated 1965 constitution and the government were thereafter considered ''de jure'' by the Rhodesian legal system.<ref name=gowllanddebbas7576/>
The British Commonwealth Secretary, George Thomson, promptly accused the Rhodesian judges of breaching "the fundamental laws of the land",<ref name=wood513/> while Gibbs announced that since his position as Governor existed under the 1961 constitution, which allowed appeals to the Privy Council, he could only reject the Rhodesian court ruling.<ref name=wood513/> The Rhodesian judges continued regardless. Their recognition of the post-UDI order carried over to the 1969 republican constitution, adopted in 1970.<ref name=gowllanddebbas7576/>
==Replacement of national symbols==
{{multiple image
| direction = vertical
| image1 = Flag of Rhodesia (1964–1968).svg
| width1 = 140
| alt1 = A sky blue flag with the Union Jack in the upper-left-hand corner, and a coat of arms on the right.
| caption1 = Rhodesian Sky Blue Ensign, used until 1968{{#tag:ref|This overall design dated back to 1923, but a darker blue field was used until 1964, when the shade was lightened to make the Rhodesian flag more recognisable.<ref>{{Harvnb
|Smith
|1976
|p=46}}</ref>|group="n"|name="flags"}}
| image2 = Flag of Rhodesia (1968–1979).svg
| width2 = 140
| alt2 = A flag with vertical green, white and green stripes, with a coat of arms on the central white stripe.
| caption2 = Rhodesian green-and-white triband], adopted in 1968
}}
Vestiges of British ties were removed piecemeal by the government over the decade following UDI, and replaced with symbols and terminology intended to be more uniquely Rhodesian.<ref name=nyoka>{{Harvnb
|Nyoka
|1970}}</ref> A silver "Liberty Bell", based on the bell of the same name in Philadelphia, was cast during 1966 and rung by the Prime Minister each year on Independence Day (the anniversary of UDI), the number of chimes signifying the number of years since the declaration of independence.<ref>{{Harvnb
|Wood
|2008
|p=200}}</ref> The Union Jack and Rhodesia's Commonwealth-style national flag—a defaced Sky Blue Ensign with the Union Jack in the canton—continued to fly over government buildings, military bases and other official locations until 11 November 1968, the third anniversary of UDI, when they were superseded by a new national flag: a green-white-green vertical triband, charged centrally with the Rhodesian coat of arms.<ref name=young585>{{Harvnb
|Young
|1969
|p=585}}</ref> The Union Jack continued to be ceremonially raised at Cecil Square in Salisbury on 12 September each year as part of the Pioneers' Day holiday, which marked the anniversary of the establishment of Salisbury (and, by extension, Rhodesia) in 1890.<ref>{{Harvnb
|Schwarz
|2011
|pp=394–395}}</ref>
Since Elizabeth II was still the Rhodesian head of state in the eyes of Smith's administration until 1970, "God Save the Queen" remained the Rhodesian national anthem, and continued to accompany official occasions such as the opening of the Rhodesian parliament. This was intended to demonstrate Rhodesia's continued loyalty to the Queen, but the use of the unmistakably British song at Rhodesian state occasions soon seemed "fairly ironic", as ''The Times'' put it.<ref name=buch243>{{Harvnb
|Buch
|2004
|p=243}}</ref> Salisbury started looking for a replacement anthem around the same time as its introduction of the new flag,<ref>{{Harvnb
|Vancouver Sun
|1974}}</ref> and in 1974, after four years without an anthem ("God Save the Queen" was formally dropped in 1970), republican Rhodesia adopted "Rise, O Voices of Rhodesia", an anthem coupling original lyrics with the tune of Beethoven's "Ode to Joy".<ref name=buch247248>{{Harvnb
|Buch
|2004
|pp=247–248}}</ref> The country's head of state under the republican constitution was the President of Rhodesia, the first of whom was Dupont.<ref name=pb162/>
State press censorship, which had been introduced on UDI, was lifted in early April 1968.<ref>{{Harvnb
|Wood
|2008
|pp=444–445}}</ref> Decimalisation occurred on 17 February 1970, two weeks before Rhodesia's reconstitution as a republic, with the new Rhodesian dollar replacing the pound at a rate of two dollars to each pound.<ref>{{Harvnb
|Tanser
|1975
|p=22}}</ref> Following the republic's formal declaration the next month, the Rhodesian military removed nomenclatural and symbolic references to the Crown—the Royal Rhodesian Air Force and Royal Rhodesia Regiment dropped their "Royal" prefixes, new branch and regimental flags were designed, and the St Edward's Crown surmounting many regimental emblems was expunged in favour of the "lion and tusk", a motif from the coat of arms of the British South Africa Company that had been used in Rhodesian military symbolism since the 1890s. The air force's new roundel was a green ring with the lion and tusk on a white centre.<ref name=pb162>{{Harvnb
|Petter-Bowyer
|2005
|p=162}}</ref> Later that year, a system of new Rhodesian honours and decorations was created to replace the old British honours. Rhodesia's police force, the British South Africa Police, was not renamed.<ref>{{Harvnb
|Saffery
|2006
|p=7}}</ref>
==Ending UDI==
[[File:Muzorewa 1978 b.jpg|thumb|upright|Bishop Abel Muzorewa, the country's first black Prime Minister, whose unrecognised government revoked UDI in 1979 as part of the Lancaster House Agreement|alt=A portrait photograph of Abel Muzorewa]]
Wilson told the British House of Commons in January 1966 that he would not enter any kind of dialogue with the post-UDI Rhodesian "illegal regime" until it gave up its claim of independence,<ref>{{Harvnb
|Windrich
|1978
|p=76}}</ref> but by mid-1966 British and Rhodesian civil servants were holding "talks about talks" in London and Salisbury.<ref>{{Harvnb
|Windrich
|1978
|p=87}}</ref> By November that year, Wilson had agreed to negotiate personally with Smith.<ref>{{Harvnb
|Windrich
|1978
|p=98}}</ref> The two Prime Ministers unsuccessfully attempted to settle aboard HMS ''Tiger'' in December 1966 and HMS ''Fearless'' in October 1968. After the Conservatives returned to power in Britain in 1970, provisional agreement was reached in November 1971 between the Rhodesian government and a British team headed by Douglas-Home (who was Foreign Secretary under Prime Minister Edward Heath), and in early 1972 a Royal Commission chaired by Lord Pearce travelled to Rhodesia to investigate how acceptable the proposals were to majority opinion. After extensive consultation, the commission reported that while whites, coloureds and Asians were largely in favour of the presented terms, most blacks rejected them. The deal was therefore shelved by the British government.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|p=87}}</ref>
The Rhodesian Bush War, a guerrilla conflict pitting the Rhodesian Security Forces against the Zimbabwe African National Liberation Army (ZANLA) and the Zimbabwe People's Revolutionary Army (ZIPRA), the respective armed wings of ZANU and ZAPU, began in earnest in December 1972, when ZANLA attacked Altena and Whistlefield Farms in north-eastern Rhodesia.<ref name="binda133136">{{Harvnb
|Binda
|2008
|pp=133–136}}</ref> The 1974 Carnation Revolution in Portugal, which over the next year replaced Portuguese support for Smith with an independent, Marxist–Leninist Mozambique on Rhodesia's eastern frontier, greatly swung the war's momentum in favour of the nationalists (particularly ZANU, which was allied with Mozambique's governing FRELIMO party), and caused the sanctions on Rhodesia to finally begin having a noticeable effect.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|pp=87–88}}; {{Harvnb
|Gastil
|1980
|pp=159–160}}; {{Harvnb
|Olson
|Shadle
|1996
|p=1030}}</ref> Diplomatic isolation, the sanctions, guerrilla activities and pressure from South Africa to find a settlement led the Rhodesian government to hold talks with the various black Rhodesian factions. Abortive conferences were held at Victoria Falls (in 1975) and Geneva (1976).<ref>{{Harvnb
|Gastil
|1980
|pp=159–160}}; {{Harvnb
|Moorcraft
|McLaughlin
|2008
|p=89}}</ref> Despite ideological and tribal rifts, ZANU and ZAPU nominally united as the "Patriotic Front" (PF) in late 1976 in a successful attempt to augment overseas support for the black Rhodesian cause.<ref>{{Harvnb
|Cilliers
|1984
|pp=34–35}}</ref>
By the mid-1970s, it was apparent that white minority rule could not continue forever. Even Vorster realized that white rule in a country where blacks outnumbered whites 22:1 was not a realistic option.<ref name="impression">{{cite web |url=http://www.aliciapatterson.org/APF001975/Wright/Wright12/Wright12.html |title=APF newsletter, "Appraisal of Rhodesia in 1975" |url-status=dead |archiveurl=https://web.archive.org/web/20090531063909/http://www.aliciapatterson.org/APF001975/Wright/Wright12/Wright12.html |archivedate=31 May 2009 |df=dmy-all }}</ref> Smith, who was decisively re-elected three times during the 1970s, eventually came to this conclusion as well. He announced his acceptance in principle of one man, one vote during Henry Kissinger's Anglo-American initiative in September 1976, and in March 1978 concluded the Internal Settlement with non-militant nationalist groups headed by Bishop Abel Muzorewa, the Reverend Ndabaningi Sithole and Chief Jeremiah Chirau. This settlement, boycotted by the PF and rejected internationally,<ref>{{Harvnb
|Gowlland-Debbas
|1990
|pp=88–89, 187–191}}; {{Harvnb
|Gastil
|1980
|pp=159–160}}</ref> led to multiracial elections and Rhodesia's reconstitution under majority rule as Zimbabwe Rhodesia in June 1979. Muzorewa, the electoral victor, took office as the country's first black Prime Minister at the head of a coalition Cabinet comprising 12 blacks and five whites,<ref>{{Harvnb
|Gowlland-Debbas
|1990
|p=79}}</ref> including Smith as minister without portfolio.<ref>{{Harvnb
|Olson
|Shadle
|1996
|p=1030}}</ref> Dismissing Muzorewa as a "neocolonial puppet",<ref>{{Harvnb
|Winn
|1979}}</ref> ZANLA and ZIPRA continued their armed struggle until December 1979, when Whitehall, Salisbury and the Patriotic Front settled at Lancaster House. Muzorewa's government revoked UDI, thereby ending the country's claim to be independent after 14 years, and dissolved itself. The UK suspended the constitution and vested full executive and legislative powers in a new Governor, Lord Soames, who oversaw a ceasefire and fresh elections during February and March 1980. These were won by ZANU, whose leader Robert Mugabe became Prime Minister when the UK granted independence to Zimbabwe as a republic within the Commonwealth in April 1980.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|pp=89–91}}</ref>
==Notes and references==
'''Footnotes'''
{{reflist|group=n|colwidth=35em}}
'''References'''
{{reflist|colwidth=20em}}
'''Speeches'''
{{refbegin}}
*{{cite web
|title=Rhodesia's Position Within the Commonwealth
|first=Roy
|last=Welensky
|authorlink=Roy Welensky
|event=Empire Club of Canada Addresses
|location=Toronto
|date=8 April 1965
|url=http://speeches.empireclub.org/61140/data
|pages=314–319
|accessdate=5 June 2013
|ref=harv}}
{{refend2}}
'''Newspaper and journal articles'''
{{refbegin}}
*{{cite journal
|title='A Sordid Tussle on the Strand': Rhodesia House during the UDI Rebellion (1965–80)
|last=Brownell
|first=Josiah
|year=2010
|journal=The Journal of Imperial and Commonwealth History
|volume=38
|issue=3
|pages=471–499
|doi=10.1080/03086534.2010.503398
|ref=harv}}
*{{cite journal
|title=Rhodesia: The Last Chance#
|journal=Fabian Tracts |issue=368
|last=Cunningham
|first=George
|authorlink=George Cunningham (British politician)
|date=September 1966
|location=London
|publisher=Fabian Society
|ref=harv}}
*{{cite journal
|title=Rhodesia's Face of Defiance
|url=https://books.google.com/?id=XVYEAAAAMBAJ&pg=PA22&dq=%22#v=onepage&q&f=false
|last=Hall
|first=Lee
|journal=Life
|date=27 May 1966
|accessdate=11 June 2013
|pages=22–30
|ref=harv}}
*{{cite journal
|title=Zimbabwe and the Commonwealth
|last=McWilliam
|first=Michael
|date=January 2003
|journal=The Round Table
|volume=92
|issue=368
|pages=89–98
|doi=10.1080/750456746
|ref=harv}}
*{{cite journal
|title = The Beira patrol: Britain's broken blockade against Rhodesia
|last = Mobley
|first = Richard
|date = Winter 2002
|volume = LV
|pages = 63–84
|journal = Naval War College Review
|url = http://www.usnwc.edu/getattachment/5b9b2e96-200c-4d99-b8bb-0e3490488bfa/Beira-Patrol,-The--Britain-s-Broken-Blockade-again
|issue = 1
|ref = harv
|url-status = dead
|archiveurl = https://web.archive.org/web/20140914110201/https://www.usnwc.edu/getattachment/5b9b2e96-200c-4d99-b8bb-0e3490488bfa/Beira-Patrol%2C-The--Britain-s-Broken-Blockade-again
|archivedate = 14 September 2014
|df = dmy-all
}}
*{{cite journal
|title=Rhodesia's War of Independence
|url=http://www.historytoday.com/paul-moorcraft/rhodesias-war-independence
|last=Moorcraft
|first=Paul
|authorlink=Paul Moorcraft
|journal=History Today
|issn=0018-2753
|year=1990
|volume=40
|issue=9
|accessdate=11 June 2013
|ref=harv}}
*{{cite journal
|title='More a Cause than a Country': Historiography, UDI and the Crisis of Decolonisation in Rhodesia
|last=Nyamunda
|first=Tinashe
|journal=Journal of Southern African Studies
|year=2016
|volume=42
|number=5
|pages=1005–1019
|issn=0305-7070
|ref=harv|doi=10.1080/03057070.2016.1222796
}}
*{{cite news
|title=Smith regime doing away with last British influences
|last=Nyoka
|first=Justin V J
|journal=The Afro-American
|location=Baltimore, Maryland
|publisher=The Afro-American Company
|url=https://news.google.com/newspapers?nid=2211&dat=19700718&id=5iYmAAAAIBAJ&sjid=_f0FAAAAIBAJ&pg=2344,379690
|page=22
|date=18 July 1970
|accessdate=11 June 2013
|ref=harv}}
*{{cite journal
|title=Aspects of the Church and its Political Involvement in Southern Rhodesia, 1959–1972
|last=Peaden
|first=W R
|url=http://archive.lib.msu.edu/DMC/African%20Journals/pdfs/Journal%20of%20the%20University%20of%20Zimbabwe/vol7n2/juz007002006.pdf
|journal=Zambezia
|year=1979
|volume=7
|number=2
|pages=191–210
|issn=0379-0622
|accessdate=4 July 2013
|ref=harv}}
*{{cite journal
|title=Violence Variously Remembered: the Killing of Pieter Oberholzer in July 1964
|last=Ranger
|first=Terence
|authorlink=Terence Ranger
|journal=History in Africa
|year=1997
|volume=24
|pages=273–286
|jstor=3172030
|doi=10.2307/3172030
|ref=harv}}
*{{cite journal
|last=Lord St Brides
|authorlink=Morrice James, Baron St Brides
|title=The Lessons of Zimbabwe-Rhodesia
|journal=International Security
|date=April 1980
|volume=4
|issue=4
|pages=177–184
|jstor=2626673
|doi=10.2307/2626673
|ref={{harvid|St Brides|1980}}}}
*{{cite journal
|title=Despite Rhodesia's Elections, Robert Mugabe Vows to Wage Guerrilla War 'to the Last Man'
|last=Winn
|first=Michael
|journal=People
|url=http://www.people.com/people/archive/article/0,,20073566,00.html
|volume=11
|number=18
|date=7 May 1979
|accessdate=11 June 2013
|ref=harv}}
*{{cite journal
|title=Rhodesia: The Shortened Fuse
|journal=Time
|url=http://www.time.com/time/magazine/article/0,9171,842248-1,00.html
|date=3 December 1965
|accessdate=24 July 2013
|ref={{harvid|Time|1965}}}}
*{{cite news
|title=US snubs Rhodesia over troops for Vietnam
|url=https://news.google.com/newspapers?id=72NAAAAAIBAJ&sjid=caMMAAAAIBAJ&pg=2984,4130302&dq=&hl=en
|work=The Glasgow Herald
|publisher=Lord Fraser
|location=Glasgow
|date=20 May 1967
|accessdate=21 June 2013
|page=7
|ref={{harvid|Glasgow Herald|1967}}}}
*{{cite news
|title=Rhodesia Declares Independence, Provokes Wrath
|url=https://news.google.com/newspapers?id=aPhRAAAAIBAJ&sjid=VnQDAAAAIBAJ&pg=6679%2C762352
|work=The St. Petersburg Times
|publisher=Times Publishing Company
|location=St. Petersburg, Florida
|date=12 November 1965
|accessdate=11 June 2013
|pages=1–A, 7–A
|ref={{harvid|St. Petersburg Times|1965}}}}
*{{cite news
|title=Rhodesia picks Ode to Joy
|url=https://news.google.com/newspapers?id=cHBmAAAAIBAJ&sjid=XosNAAAAIBAJ&pg=6475,5011881&dq
|work=The Vancouver Sun
|location=Vancouver, British Columbia
|publisher=Postmedia News
|page=12
|date=30 August 1974
|accessdate=11 June 2013
|ref={{harvid|Vancouver Sun|1974}}}}
{{refend2}}
'''Online sources'''
{{refbegin}}
*{{cite web
|last=Wood
|first=J R T
|title=Four Tall NCOs of the Life Guards: Lord Mountbatten, Harold Wilson, and the Immediate Aftermath of UDI: The Proposed Mountbatten Mission
|url=http://www.jrtwood.com/article_guardsmen.asp
|year=1999
|work=jrtwood.com
|location=Durban
|accessdate=10 June 2013
|ref=harv}}
*{{cite web
|title=1965: Rhodesia breaks from UK
|url=http://news.bbc.co.uk/onthisday/hi/dates/stories/november/11/newsid_2658000/2658445.stm
|publisher=BBC
|location=London
|date=11 November 1965
|accessdate=4 July 2013
|ref={{harvid|BBC|1965}}}}
{{refend2}}
'''Bibliography'''
{{refbegin|colwidth=35em}}
<!--
*{{cite book
|title=Guide to the Historical Manuscripts in the National Archives of Rhodesia
|last1=Baxter
|first1=T W
|last2=Burke
|first2=E E
|year=1970
|location=Salisbury
|publisher=National Archives of Rhodesia
|edition=First
|asin=B0017HAKHI
|ref=harv}}
-->
*{{cite book
|title=Rhodesia: Beleaguered Country
|last=Berlyn
|first=Phillippa
|location=London
|publisher=Mitre Press
|year=1967
|isbn=978-0-7051-9002-2
|ref=harv}}
*{{cite book
|title=The Quiet Man: A Biography of the Hon. Ian Douglas Smith
|last=Berlyn
|first=Phillippa
|location=Salisbury
|publisher=M O Collins
|date=April 1978
|oclc=4282978
|ref=harv}} also includes (on pp. 240–256) {{cite journal
|title=Constitutional History of Rhodesia: An outline
|last=Rowland
|first=J Reid
|ref={{harvid|Rowland|1978}}}}
*{{cite book
|title=The Saints: The Rhodesian Light Infantry
|last=Binda
|first=Alexandre
|location=Johannesburg
|publisher=30° South Publishers
|date=May 2008
|isbn=978-1-920143-07-7
|ref=harv}}
*{{cite book
|title=A History of Rhodesia
|last=Blake
|first=Robert
|authorlink=Robert Blake, Baron Blake
|year=1977
|edition=First
|location=London
|publisher=Eyre Methuen
|isbn=978-0-413-28350-4
|ref=harv}}
*{{cite book
|title=The Cold War and the Color Line: American Race Relations in the Global Arena
|last=Borstelmann
|first=Thomas
|location=Cambridge, Massachusetts
|publisher=Harvard University Press
|date=September 2003
|isbn=978-0-674-01238-7
|ref=harv
|url=https://archive.org/details/coldwarcolo00thom
}}
*{{cite book
|title=Beethoven's Ninth: A Political History
|last=Buch
|first=Esteban
|others=Trans. Miller, Richard
|publisher=University Of Chicago Press
|location=Chicago, Illinois
|date=May 2004
|origyear=1999
|isbn=978-0-226-07824-3
|ref=harv}}
*{{cite book
|title=Under the Skin: The Death of White Rhodesia
|last=Caute
|first=David
|authorlink=David Caute
|date=June 1983
|edition=First
|location=Evanston, Illinois
|publisher=Northwestern University Press
|isbn=978-0-8101-0658-1
|ref=harv
|url=https://archive.org/details/underskindeat00caut
}}
*{{cite book
|title=Counter-Insurgency in Rhodesia
|last=Cilliers
|first=Jakkie
|location=London, Sydney & Dover, New Hampshire
|publisher=Croom Helm
|date=December 1984
|isbn=978-0-7099-3412-7
|ref=harv}}
*{{cite book
|title=Southern Africa: The New Politics of Revolution
|last1=Davidson
|first1=Basil
|author1-link=Basil Davidson
|last2=Slovo
|first2=Joe
|author2-link=Joe Slovo
|last3=Wilkinson
|first3=Anthony R
|publisher=Penguin Books
|location=Harmondsworth, England
|year=1976
|edition=First
|isbn=978-0-14-021963-0
|ref=harv}}
*{{cite book
|title=A Right to be Proud: The Struggle for Self-Government and the Roots of White Nationalism in Rhodesia, 1890–1922
|last=Di Perna
|first=Anthony D
|year=1978
|origyear=1973
|publisher=Books of Rhodesia
|location=Bulawayo
|isbn=978-0-86920-176-3
|ref=harv}}
*{{cite book
|title=Politics & government in African states, 1960–1985
|editor1-last=Duignan
|editor1-first=Peter
|editor2-last=Jackson
|editor2-first=Robert H
|location=London, Sydney & Dover, New Hampshire
|publisher=Croom Helm
|date=May 1986
|isbn=978-0-8179-8482-3
|ref=harv}}
*{{cite book
|title=International Diplomacy and Colonial Retreat
|editor1-last=Fedorowich
|editor1-first=Kent
|editor2-last=Thomas
|editor2-first=Martin
|year=2001
|location=London
|publisher=Frank Cass
|isbn=978-0-7146-5063-0
|ref=harv}}
*{{cite book
|title=The Silence of Great Zimbabwe: Contested Landscapes and the Power of Heritage
|last=Fontein
|first=Joost
|location=London
|publisher=University College London Press
|date=September 2006
|edition=First
|isbn=978-1-84472-123-8
|ref=harv}}
*{{cite book
|title=Freedom in the World: Political Rights and Civil Liberties, 1980
|editor-last=Gastil
|editor-first=Raymond
|editor-link=Raymond Gastil
|location=New York
|publisher=Freedom House
|year=1980
|isbn=978-0-87855-852-0
|ref=harv|title-link=Freedom in the World
}}
*{{cite book
|title=Collective Responses to Illegal Acts in International Law: United Nations action in the question of Southern Rhodesia
|last=Gowlland-Debbas
|first=Vera
|publisher=Martinus Nijhoff Publishers
|location=Leiden and New York
|year=1990
|edition=First
|isbn=978-0-7923-0811-9
|ref=harv}}
*{{cite book
|title=Sourcebook on Public International Law
|last=Hillier
|first=Tim
|year=1998
|edition=First
|location=London & Sydney
|publisher=Cavendish Publishing
|isbn=978-1-85941-050-9
|ref=harv}}
*{{cite book
|title=Quasi-States: Sovereignty, International Relations and the Third World
|last=Jackson
|first=Robert H
|year=1990
|location=Cambridge, England
|publisher=Cambridge University Press
|isbn=978-0-521-44783-6
|ref=harv}}
*{{cite book
|title=Defunct Federalisms: Critical Perspectives on Federal Failure
|editor1-last=Kavalski
|editor1-first=Emilian
|editor2-last=Zolkos
|editor2-first=Magdalena
|location=Farnham, England
|publisher=Ashgate Publishing
|date=September 2008
|isbn=978-0-7546-4984-7
|ref=harv}}
*{{cite book
|title=The Struggle for Zimbabwe
|last1=Martin
|first1=David
|last2=Johnson
|first2=Phyllis
|date=July 1981
|edition=First
|location=London
|publisher=Faber and Faber
|isbn=978-0-571-11066-7
|ref=harv}}
*{{cite book
|title=General History of Africa, VIII: Africa Since 1935
|editor-last=Mazrui
|editor-first=Ali Al'Amin
|editor-link=Ali Mazrui
|year=1993
|edition=First
|location=Paris
|publisher=United Nations Educational, Scientific and Cultural Organization
|isbn=978-92-3-102758-1
|ref=harv
|url-access=registration
|url=https://archive.org/details/unescogeneralhis08alim
}}
*{{cite book
|title=The First Dance of Freedom: Black Africa in the postwar era
|url=https://archive.org/details/firstdanceoffree00mere
|url-access=registration
|last=Meredith
|first=Martin
|authorlink=Martin Meredith
|year=1984
|location=New York
|publisher=HarperCollins
|isbn=978-0-06-430150-3
|ref=harv}}
*{{cite book
|title=Ragtime Soldiers: the Rhodesian Experience in the First World War
|last=McLaughlin
|first=Peter
|authorlink=Peter McLaughlin
|publisher=Books of Zimbabwe
|location=Bulawayo
|year=1980
|isbn=978-0-86920-232-6
|ref=harv
|url=https://archive.org/details/ragtimesoldiersr00mcla
}}
* Michel, Eddie. ''The White House and White Africa: Presidential Policy Toward Rhodesia During the UDI Era, 1965-1979'' (New York: Routledge, 2019). {{ISBN|9781138319998}} [https://issforum.org/roundtables/PDF/Roundtable-XXI-6.pdf online review]
*{{cite book
|title=The Rhodesian War: A Military History
|last1=Moorcraft
|first1=Paul L
|authorlink1=Paul Moorcraft
|last2=McLaughlin
|first2=Peter
|authorlink2=Peter McLaughlin
|date=April 2008
|origyear=1982
|location=Barnsley
|publisher=Pen and Sword Books
|isbn=978-1-84415-694-8
|ref=harv}}
*{{cite book
|title=The House of Lords and the Labour government, 1964–1970
|last=Morgan
|first=Janet P
|location=Oxford
|publisher=Clarendon Press
|date=April 1975
|isbn=978-0-19-827191-8
|ref=harv
|url=https://archive.org/details/houseoflordslabo0000morg
}}
*{{cite book
|title=Do 'Zimbabweans' Exist? Trajectories of Nationalism, National Identity Formation and Crisis in a Postcolonial State
|last=Ndlovu-Gatsheni
|first=Sabelo J
|location=Bern
|publisher=Peter Lang AG
|year=2009
|edition=First
|isbn=978-3-03911-941-7
|ref=harv}}
*{{cite book
|title=Power, Wealth and Global Order: an International Relations Textbook for Africa
|editor1-last=Nel
|editor1-first=Philip
|editor2-last=McGowan
|editor2-first=Pat
|year=1999
|edition=First
|location=Cape Town
|publisher=University of Cape Town Press
|isbn=978-1-919713-30-4
|ref=harv}}
*{{cite book
|title=Zimbabwe, a Country Study
|series=Area Handbook Series
|editor-last=Nelson
|editor-first=Harold D
|year=1983
|location=Washington, D.C.
|publisher=Department of the Army, American University
|edition=Second
|oclc=227599708
|ref=harv}}
*{{cite book
|title=Historical Dictionary of the British Empire: K–Z
|editor1-last=Olson
|editor1-first=James Stuart
|editor1-link=James S. Olson
|editor2-last=Shadle
|editor2-first=Robert
|year=1996
|location=Westport, Connecticut
|publisher=Greenwood Publishing Group
|isbn=978-0-313-27917-1
|ref=harv}}
*{{cite book
|title=The Constitutional History and Law of Southern Rhodesia 1888–1965, with Special Reference to Imperial Control
|last=Palley
|first=Claire
|authorlink=Claire Palley
|year=1966
|edition=First
|location=Oxford
|publisher=Oxford University Press
|oclc=406157
|ref=harv}}
*{{cite book
|title=Rhodesian Independence
|series=Interim History
|editor-last=Peterson
|editor-first=Robert W
|year=1971
|location=New York
|publisher=Facts On File
|isbn=978-0-87196-184-6
|ref=harv}}
*{{cite book
|title=Winds of Destruction: the Autobiography of a Rhodesian Combat Pilot
|last=Petter-Bowyer
|first=P J H
|date=November 2005
|origyear=2003
|location=Johannesburg
|publisher=30° South Publishers
|isbn=978-0-9584890-3-4
|ref=harv}}
*{{cite book
|title=Manipulating the Market: Understanding Economic Sanctions, Institutional Change, and the Political Unity of White Rhodesia
|last=Rowe
|first=David M
|year=2001
|edition=First
|location=Ann Arbor, Michigan
|publisher=University of Michigan Press
|isbn=978-0-472-11187-9
|ref=harv}}
*{{cite book
|title=Rhodesia Medal Roll: Honours and Decorations of the Rhodesian Conflict 1970–1981
|last=Saffery
|first=David
|date=August 2006
|location=London
|publisher=Jeppestown Press
|isbn=978-0-9553936-0-0
|ref=harv}}
*{{cite book
|title=The White Man's World
|last=Schwarz
|first=Bill
|location=Oxford
|publisher=Oxford University Press
|year=2011
|edition=First
|isbn=978-0-19-929691-0
|ref=harv}}
*{{cite book
|title=The Great Betrayal: The Memoirs of Ian Douglas Smith
|last=Smith
|first=Ian
|authorlink=Ian Smith
|date=June 1997
|location=London
|publisher=John Blake Publishing
|isbn= 978-1-85782-176-5
|ref=harv|title-link=The Great Betrayal: The Memoirs of Ian Douglas Smith
}}
*{{cite book
|title=The Flag Bulletin. ''Volumes 15–17''
|editor-last=Smith
|editor-first=Whitney
|editor-link=Whitney Smith
|year=1976
|publisher=Flag Research Center
|location=Winchester, Massachusetts
|ref=harv}}
*{{cite book
|title=Sanctions: The Case of Rhodesia
|last=Strack
|first=Harry R
|date=May 1978
|publisher=Syracuse University Press
|location=Syracuse, New York
|edition=First
|isbn=978-0-8156-2161-4
|ref=harv}}
*{{cite book
|title=The Guide to Rhodesia
|last=Tanser
|first=George Henry
|year=1975
|location=Johannesburg & Salisbury
|publisher=Winchester Press
|isbn=978-0-620-01590-5
|ref=harv}}
*{{cite book
|title=Black and White Elites in Rural Rhodesia
|last=Weinrich
|first=A K H
|year=1973
|location=Manchester
|publisher=Manchester University Press
|isbn=978-0-7190-0533-6
|ref=harv}}
*{{cite book
|title=Welensky's 4000 Days
|last=Welensky
|first=Roy
|authorlink=Roy Welensky
|year=1964
|location=London
|publisher=HarperCollins
|oclc=460725368
|ref=harv}}
*{{cite book
|title=P K van der Byl: African Statesman
|last=Wessels
|first=Hannes
|location=Johannesburg
|publisher=30° South Publishers
|date=July 2010
|isbn=978-1-920143-49-7
|ref=harv}}
*{{cite book
|title=The Rise of an African Middle Class: Colonial Zimbabwe, 1898–1965
|last=West
|first=Michael O
|date=August 2002
|location=Bloomington, Indiana
|publisher=Indiana University Press
|isbn=978-0-253-21524-6
|ref=harv}}
*{{cite news
|last=White
|first=Luise
|title=The Utopia of Working Phones: Rhodesian Independence and the Place of Race in Decolonization
|ref={{harvid|White|2010}}}} in {{cite book
|title=Utopia/Dystopia: Conditions of Historical Possibility
|editor1-last=Gordin
|editor1-first=Michael D
|editor2-last=Tilley
|editor2-first=Helen
|editor3-last=Prakash
|editor3-first=Gyan
|location=Princeton, New Jersey
|publisher=Princeton University Press
|date=August 2010
|pages=94–116
|isbn=978-1-4008-3495-2}}
*{{cite book
|title=Smith of Rhodesia: A Pictorial Biography
|last=White
|first=Matthew C
|location=Cape Town
|publisher=Don Nelson
|year=1978
|isbn=978-0-909238-36-0
|ref=harv}}
*{{cite book
|title=The Labour Government, 1964–70: A Personal Record
|last=Wilson
|first=Harold
|authorlink=Harold Wilson
|year=1974
|origyear=1971
|publisher=Penguin Books
|location=Harmondsworth, England
|isbn=978-0-14-021762-9
|ref=harv
|url=https://archive.org/details/isbn_0140217622
}}
*{{cite book
|title=Britain and the Politics of Rhodesian Independence
|last=Windrich
|first=Elaine
|year=1978
|location=London
|publisher=Croom Helm
|isbn=978-0-85664-709-3
|ref=harv}}
*{{cite book
|title=So Far and No Further! Rhodesia's Bid For Independence During the Retreat From Empire 1959–1965
|last=Wood
|first=J R T
|date=June 2005
|location=Victoria, British Columbia
|publisher=Trafford Publishing
|isbn=978-1-4120-4952-8
|ref=harv}}
*{{cite book
|title=A Matter of Weeks Rather Than Months: The Impasse Between Harold Wilson and Ian Smith: Sanctions, Aborted Settlements and War 1965–1969
|last=Wood
|first=J R T
|date=April 2008
|location=Victoria, British Columbia
|publisher=Trafford Publishing
|isbn=978-1-4251-4807-2
|ref=harv}}
*{{cite book
|title=Rhodesia and Independence: A Study in British Colonial Policy
|last=Young
|first=Kenneth
|year=1969
|origyear=1967
|location=London
|publisher=J M Dent & Sons
|oclc=955160
|ref=harv}}
{{refend2}}
{{BookCat}}
n21t0e5jwyzsj6rgdxjraqefiww49h3
4639921
4639919
2026-06-11T14:45:57Z
Dirk Hünniger
343292
[[WB:REVERT|Reverted]] edit by [[Special:Contributions/Dirk Hünniger|Dirk Hünniger]] ([[User talk:Dirk Hünniger|talk]]) to last version by ShakespeareFan00
4410785
wikitext
text/x-wiki
{{dewikify}}
The '''Unilateral Declaration of Independence''' ('''UDI''') was a statement adopted by the Cabinet of Rhodesia on 11 November 1965, announcing that Rhodesia,{{#tag:ref||group="n"|name="name"}} a British territory in southern Africa that had governed itself since 1923, now regarded itself as an independent sovereign state. The culmination of a protracted dispute between the British and Rhodesian governments regarding the terms under which the latter could become fully independent, it was the first unilateral break from the United Kingdom by one of its colonies since the United States Declaration of Independence in 1776. The UK, the Commonwealth and the United Nations all deemed Rhodesia's UDI illegal, and economic sanctions, the first in the UN's history, were imposed on the breakaway colony. Amid near-complete international isolation, Rhodesia continued as an unrecognised state with the assistance of South Africa and Portugal.
The Rhodesian government, which mostly comprised members of the country's white minority of about 5%, was indignant when, amid the UK colonial government's ''Wind of Change'' policies of decolonisation, less developed African colonies to the north without comparable experience of self-rule quickly advanced to independence during the early 1960s while Rhodesia was refused sovereignty under the newly ascendant principle of "no independence before majority rule" ("NIBMAR"). Most white Rhodesians felt that they were due independence following four decades of self-government, and that the British government was betraying them by withholding it. This combined with the colonial government's acute reluctance to hand over power to black Rhodesians—the manifestation of racial tensions, Cold War anti-communism and the fear that a dystopian Congo-style situation might result—to create the impression that if the UK did not grant independence, Rhodesia might be justified in taking it unilaterally.
A stalemate developed between the British and Rhodesian prime ministers, Harold Wilson and Ian Smith respectively, between 1964 and 1965. Dispute largely surrounded the British condition that the terms for independence had to be acceptable "to the people of the country as a whole"; Smith contended that this was met, while the UK and black Rhodesian leaders held that it was not. After Wilson proposed in late October 1965 that the UK might safeguard future black representation in the Rhodesian parliament by withdrawing some of the colonial government's devolved powers, then presented terms for an investigatory Royal Commission that the Rhodesians found unacceptable, Smith and his Cabinet declared independence. Calling this treasonous, the British colonial governor, Sir Humphrey Gibbs, formally dismissed Smith and his government, but they ignored him and appointed an "Officer Administering the Government" to take his place.
While no country recognised the UDI, the Rhodesian High Court deemed the post-UDI government legal and ''de jure'' in 1968. The Smith administration initially professed continued loyalty to Queen Elizabeth II, but abandoned this in 1970 when it declared a republic in an unsuccessful attempt to win foreign recognition. The Rhodesian Bush War, a guerrilla conflict between the government and two rival communist-backed black Rhodesian groups, began in earnest two years later, and after several attempts to end the war Smith concluded the Internal Settlement with non-militant nationalists in 1978. Under these terms the country was reconstituted under black rule as Zimbabwe Rhodesia in June 1979, but this new order was rejected by the guerrillas and the international community. The Bush War continued until Zimbabwe Rhodesia revoked its UDI as part of the Lancaster House Agreement in December 1979. Following a brief period of direct British rule, the country was granted internationally recognised independence under the name Zimbabwe in 1980.
==Background==
===A unique case===
[[File:Zimbabwe in Africa.svg|thumb|Southern Rhodesia (or Rhodesia), highlighted in red on a map of Africa|alt=A map. See description]]
The southern African territory of Rhodesia, officially Southern Rhodesia,{{#tag:ref|Renamed Zimbabwe in 1980.<ref>{{Harvnb
|Wessels
|2010
|p=273}}</ref> The official name of the colony under British law was Southern Rhodesia, but the colonial government switched to using the name Rhodesia in October 1964, when Northern Rhodesia changed its name to Zambia concurrently with its independence from Britain.<ref name="palley742743"/>|group="n"|name="name"}} was a unique case in the British Empire and Commonwealth: although a colony in name, it was internally self-governing and constitutionally not unlike a dominion.<ref name=rowland247248>{{Harvnb
|Rowland
|1978
|pp=247–248}}</ref> This situation dated back to 1923, when it was granted responsible government within the Empire as a self-governing colony, following three decades of administration and development by the British South Africa Company.<ref name=rowland245246>{{Harvnb
|Rowland
|1978
|pp=245–246}}</ref> Britain had intended Southern Rhodesia's integration into the Union of South Africa as a new province, but this having been rejected by registered voters in the 1922 government referendum, the territory was moulded into a prospective dominion instead.<ref>{{Harvnb
|Wood
|2005
|p=9}}</ref> It was empowered to run its own affairs in almost all respects, including defence.{{#tag:ref|Powers reserved to the British government at Whitehall under the 1923 constitution concerned foreign affairs, alterations to the constitution, the British-appointed Governor's salary, and bills regarding native administration, mining revenues and railways. Laws relevant to these subjects had to receive assent from the Governor (and, by extension, Whitehall), but all other bills could be passed by Salisbury without interference.<ref name=rowland247248/>|group="n"|name="selfgoverning"}}
Whitehall's powers over Southern Rhodesia under the 1923 constitution were, on paper, considerable; the British Crown was theoretically able to cancel any passed bill within a year, or alter the constitution however it wished. These reserved powers were intended to protect the indigenous black Africans from discriminatory legislation and to safeguard British commercial interests in the colony,<ref name=rowland247248/> but as Claire Palley comments in her constitutional history of the country, it would have been extremely difficult for Whitehall to enforce such actions, and attempting to do so would have probably caused a crisis.<ref>{{Harvnb
|Palley
|1966
|p=230}}</ref> In the event, they were never exercised. A generally co-operative relationship developed between Whitehall and the colonial government and civil service in Salisbury, and dispute was rare.<ref name=rowland247248/>
The 1923 constitution was drawn up in non-racial terms, and the electoral system it devised was similarly open, at least in theory. Voting qualifications regarding personal income, education and property, similar to those of the Cape Qualified Franchise, were applied equally to all, but since most blacks did not meet the set standards, both the electoral roll and the colonial parliament were overwhelmingly from the white minority of about 5%.<ref name=gd4853/><ref name=pops/> The result was that black interests were sparsely represented if at all, something that most of the colony's whites showed little interest in changing;<ref name=gd4853/> they claimed that most blacks were uninterested in Western-style political process and that they would not govern properly if they took over.<ref>{{Harvnb
|Weinrich
|1973
|pp=69–72}}</ref> Bills such as the Land Apportionment Act of 1930, which earmarked about half of the country for white ownership and residence while dividing the rest into black purchase, tribal trust and national areas, were variously biased towards the white minority.<ref name=gd4853>{{Harvnb
|Gowlland-Debbas
|1990
|pp=48–53}}</ref> White settlers and their offspring provided most of the colony's administrative, industrial, scientific and farming skills, and built a relatively balanced, partially industrialised market economy, boasting strong agricultural and manufacturing sectors, iron and steel industries and modern mining enterprises.<ref>{{Harvnb
|Duignan
|Jackson
|1986
|p=164}}</ref>
In the wider Imperial context, Southern Rhodesia occupied a category unto itself because of the "special quasi-independent status" it held.<ref name=stbrides/> The Dominions Office, formed in 1925 to handle British relations with the dominions of Australia, Canada, New Zealand, Newfoundland, South Africa and the Irish Free State, also dealt with Southern Rhodesia, and Imperial Conferences included the Southern Rhodesian Prime Minister alongside those of the dominions from 1932.<ref name=stbrides>{{Harvnb
|St Brides
|1980}}</ref> This unique arrangement continued following the advent of Commonwealth Prime Ministers' Conferences in 1944.<ref>{{Harvnb
|Berlyn
|1978
|pp=134–142}}</ref> Southern Rhodesians of all races fought for Britain in the Second World War, and the colonial government gradually received more autonomy regarding external affairs.<ref name=rowland247248/> During the immediate post-war years, Southern Rhodesian politicians generally thought that they were as good as independent as they were, and that full autonomy in the form of dominionship would make little difference to them.<ref name=smith32>{{Harvnb
|Smith
|1997
|p=32}}</ref> Post-war immigration to Southern Rhodesia, mainly from Britain, Ireland and South Africa, caused the white community to swell from 68,954 in 1941 to 221,504 in 1961. The black population grew from 1,400,000 to 3,550,000 over the same period.<ref name=pops>{{Harvnb
|Weinrich
|1973
|p=15}}</ref>
===Federation and the Wind of Change===
[[File:Federation of Rhodesia and Nyasaland.png|thumb|The Federation of Rhodesia and Nyasaland (1953–63)|alt=A map. See description]]
Believing full dominion status to be effectively symbolic and "there for the asking",<ref name=smith32/> Prime Minister Godfrey Huggins (in office from 1933 to 1953) twice ignored British overtures hinting at dominionship,<ref name=independenceoffers/> and instead pursued an initially semi-independent Federation with Northern Rhodesia and Nyasaland, two colonies directly administered from London.<ref name="independenceoffers">{{Harvnb
|Wood
|2005
|p=279}}</ref> He hoped that this might set in motion the creation of one united dominion in south-central Africa, emulating the Federation of Australia half a century before.{{#tag:ref|The original vision shared by Huggins and his Northern Rhodesian counterpart Sir Roy Welensky was a unitary amalgamation of the two Rhodesias that would eventually become a dominion. British politicians rejected this idea, asserting that black Northern Rhodesians would never accept it, but agreed to consider a Federation on the condition that neighbouring Nyasaland was also included.<ref>{{Harvnb
|Blake
|1977
|pp=247–249}}</ref>|group="n"|name="fed"}} The Federation of Rhodesia and Nyasaland, defined in its constitution as indissoluble,<ref name=wood123>{{Harvnb
|Wood
|2005
|p=123}}</ref> began in 1953, mandated by the results of a mostly white referendum, with Southern Rhodesia, the most developed of the three territories, at its head, Huggins as Federal Prime Minister and Salisbury as Federal capital.<ref>{{Harvnb
|Smith
|1997
|p=33}}</ref>{{#tag:ref|Southern Rhodesian politicians from various parties later claimed that had Federation not occurred, Southern Rhodesia would have been a dominion by 1955.<ref>{{Harvnb
|Wood
|2005
|pp=25, 135, 140}}</ref>|group="n"|name="by1955"}}
Coming at the start of the decolonisation period, the Federation of self-governing Southern Rhodesia with two directly ruled British protectorates was later described by the British historian Robert Blake as "an aberration of history—a curious deviation from the inevitable course of events".<ref>{{Harvnb
|Wood
|2005
|p=11}}</ref> The project faced black opposition from the start, and ultimately failed because of the shifting international attitudes and rising black Rhodesian ambitions of the late 1950s and early 1960s, often collectively called the Wind of Change.<ref>{{Harvnb
|Blake
|1977
|p=331}}; {{Harvnb
|Welensky
|1964
|p=64}}</ref> Britain, France and Belgium vastly accelerated their withdrawal from Africa during this period, believing colonial rule to be no longer sustainable geopolitically or ethically. The idea of "no independence before majority rule", commonly abbreviated to "NIBMAR", gained considerable ground in British political circles.<ref>{{Harvnb
|Jackson
|1990
|pp=96–97}}; {{Harvnb
|Wood
|2005
|p=20}}</ref> When Huggins (who had been recently ennobled as Lord Malvern) asked Britain to make the Federation a dominion in 1956, he was rebuffed. The opposition Dominion Party responded by repeatedly calling for a Federal unilateral declaration of independence (UDI) over the next few years.<ref name=wood1516/> Following Lord Malvern's retirement in late 1956, his successor Sir Roy Welensky pondered such a move on at least three occasions.{{#tag:ref|With Northern Rhodesia and Nyasaland under direct British control, a Federal UDI would have been far more complicated and difficult to execute than one by Southern Rhodesia alone. Indeed, it was partly because of this that Welensky deemed it infeasible.<ref name=wood3>{{Harvnb
|Wood
|2008
|p=3}}</ref>|group="n"|name="federaludi"}}
Attempting to advance the case for Southern Rhodesian independence, particularly in the event of Federal dissolution,<ref name=wood1516>{{Harvnb
|Wood
|2005
|pp=15–16}}</ref> the Southern Rhodesian Prime Minister Sir Edgar Whitehead brokered the 1961 constitution with Britain, which he thought would remove all British powers of reservation over Southern Rhodesian bills and acts,<ref name=rowland249250>{{Harvnb
|Rowland
|1978
|pp=249–250}}</ref> and put the country on the brink of full sovereignty.<ref name=wood7475>{{Harvnb
|Wood
|2005
|pp=74–75}}</ref> Despite its containing no independence guarantees, Whitehead, Welensky and other proponents of this constitution presented it to the Southern Rhodesian electorate as the "independence constitution" under which Southern Rhodesia would become a dominion on a par with Australia, Canada and New Zealand if the Federation dissolved.<ref name=wood89>{{Harvnb
|Wood
|2005
|p=89}}</ref> White dissenters included Ian Smith, MP for Gwanda and Chief Whip for the governing United Federal Party (UFP) in the Federal Assembly, who took exception to the constitution's omission of an explicit promise of Southern Rhodesian independence in the event of Federal dissolution, and ultimately resigned his post in protest.<ref name=wood7475/> A referendum of the mostly white electorate approved the new constitution by a majority of 65% on 26 July 1961.<ref name=wood92>{{Harvnb
|Wood
|2005
|p=92}}</ref> The final version of the constitution included a few extra provisions inserted by the British, one of which—Section 111—reserved full powers to the Crown to amend, add to or revoke certain sections of the Southern Rhodesian constitution by Order in Council at the request of the British government. This effectively negated the relinquishment of British powers described elsewhere in the document, but the Southern Rhodesians did not initially notice it.<ref name=wood93>{{Harvnb
|Wood
|2005
|p=93}}</ref>
The black Rhodesian movement in Southern Rhodesia, founded and organised by urban black elites during the late 1950s,<ref>{{Harvnb
|West
|2002
|p=203}}</ref> was repeatedly banned by the colonial government because of the political violence, industrial sabotage and intimidation of potential black voters that characterised its campaign.<ref>{{Harvnb
|Wood
|2005
|pp=95–96, 111–120}}</ref> The principal nationalist group, led by the Bulawayo trade unionist Joshua Nkomo, renamed itself with each post-ban reorganisation, and by the start of 1962 was called the Zimbabwe African People's Union (ZAPU).<ref>{{Harvnb
|Wood
|2005
|pp=95–96}}</ref>{{#tag:ref|Zimbabwe, derived from the name applied by the Shona people to the ancient ruined city today referred to as Great Zimbabwe, was adopted by the black Rhodesian movement between 1960 and 1962 as their preferred name for a majority-ruled Southern Rhodesia.<ref>{{Harvnb
|Fontein
|2006
|pp=119–120}}; {{Harvnb
|Ndlovu-Gatsheni
|2009
|pp=113–114}}</ref> ZAPU was banned by the Whitehead administration in 1962 because of its violent activities,<ref>{{Harvnb
|Wood
|2005
|pp=116–117}}</ref> but it continued operating nevertheless, publicly calling itself the People's Caretaker Council (PCC). Several prominent members left to form the rival Zimbabwe African National Union (ZANU) in 1963. ZANU and ZAPU were respectively backed by China and the Soviet Union, and influenced to various degrees by Chinese Maoism and Soviet Marxism–Leninism.<ref name=wood173175>{{Harvnb
|Wood
|2005
|pp=173–175}}</ref> Following an escalation in internecine political violence between the two movements, a spate of industrial sabotage and civil disobedience and the politically motivated killing of a white man, Petrus Oberholzer, by ZANU insurgents, both PCC and ZANU were banned by Smith's government in August 1964, with most of each party's leaders concurrently jailed for criminal offences or otherwise restricted.<ref>{{Harvnb
|Cilliers
|1984
|p=5}}; {{Harvnb
|Martin
|Johnson
|1981
|pp=70–71}}; {{Harvnb
|Ranger
|1997
|p=237}}; {{Harvnb
|Wessels
|2010
|pp=102–103}}</ref> Both movements thereafter based themselves overseas.<ref>{{Harvnb
|Wood
|2005
|p=228}}</ref>|group="n"|name="nationalists"}} Attempting to win black political support, Whitehead proposed a number of reforms to racially discriminatory legislation, including the Land Apportionment Act, and promised to implement these if his UFP won the next Southern Rhodesian election.<ref>{{Harvnb
|Wood
|2005
|p=98}}</ref> But intimidation by ZAPU of prospective black voters impeded the UFP's efforts to win their support,<ref name=rowe52>{{Harvnb
|Rowe
|2001
|p=52}}</ref> and much of the white community saw Whitehead as too radical, and soft on what they saw as black extremism. In the December 1962 Southern Rhodesian election, the UFP was defeated by the Rhodesian Front (RF), a newly formed alliance of conservative voices headed by Winston Field and Ian Smith, in what was widely considered a shock result.<ref name=wood97101>{{Harvnb
|Wood
|2005
|pp=97–101}}</ref> Field became Prime Minister, with Smith as his deputy.<ref name=wood119122>{{Harvnb
|Wood
|2005
|pp=119–122}}</ref>
===Federal dissolution; the roots of mistrust===
Meanwhile, secessionist black Rhodesian parties won electoral victories in Northern Rhodesia and Nyasaland,<ref name=wood119122/> and Harold Macmillan's Conservative administration in Britain moved towards breaking up the Federation, resolving that it had become untenable. In February 1962, the British Secretary of State for Commonwealth Relations, Duncan Sandys, secretly informed the Nyasaland nationalist leader Hastings Banda that secession would be allowed. A few days later, he horrified Welensky by telling him that "we British have lost the will to govern".<ref>{{Harvnb
|Schwarz
|2011
|p=370}}; {{Harvnb
|Wood
|2005
|p=99}}</ref> "But we haven't", retorted Julian Greenfield, Welensky's Law Minister.<ref>{{Harvnb
|Meredith
|1984
|p=131}}</ref>{{#tag:ref|Welensky was so shaken by Sandys' statement that he suffered a migraine. Lord Alport, the UK's High Commissioner to the Federation, reportedly left the meeting and vomited.<ref name=wood99>{{Harvnb
|Wood
|2005
|p=99}}</ref>|group="n"|name="vomited"}} Macmillan's Deputy Prime Minister and First Secretary of State, R.A. Butler, who headed British oversight of the Federation,<ref>{{Harvnb
|Schwarz
|2011
|pp=379–380}}</ref> officially announced Nyasaland's right to secede in December 1962.<ref name="wood123"/> Four months later, he informed the three territories that he was going to convene a conference to decide the Federation's future.<ref name=wood133135/>
As Southern Rhodesia had been the UK's legislative partner in forming the Federation in 1953, it would be impossible (or at least very difficult) for Britain to dissolve the union without Southern Rhodesia's co-operation. Field could therefore potentially hamstring the British by refusing to attend the conference until they pledged to grant his country full independence.<ref name=wood133135>{{Harvnb
|Wood
|2005
|pp=133–135}}</ref> According to Field, Smith and other RF politicians, Butler made several such guarantees orally to ensure their co-operation at the conference, but repeatedly refused to give anything on paper.{{#tag:ref|In particular, Field and Smith claimed that Butler told them at Victoria Falls on 27 June 1963 that in return for their help in winding up the Federation, Southern Rhodesia would be granted "independence no later than, if not before, the other two territories ... in view of your country's wonderful record of Responsible Government over the past forty years... and above all the great loyalty you have always given to Britain in time of war".<ref name=butlerpromise/>|group="n"|name="promise"}} The Southern Rhodesians claimed that Butler justified his refusal to give a written promise by saying that binding Whitehall to a document rather than his word would be against the Commonwealth's "spirit of trust"—an argument that Field eventually accepted.<ref name=butlerpromise>{{Harvnb
|Wood
|2005
|pp=138–140, 167}}; {{Harvnb
|Berlyn
|1978
|p=135}}; {{Harvnb
|Smith
|1997
|pp=51–52}}</ref> "Let's remember the trust you emphasised", Smith warned, according to Field's account wagging his finger at Butler; "if you break that you will live to regret it."<ref name=wood167>{{Harvnb
|Wood
|2005
|p=167}}</ref> Southern Rhodesia attended the conference, which was held at Victoria Falls over a week starting from 28 June 1963, and among other things it was agreed to formally liquidate the Federation at the end of the year.<ref name=wood169172>{{Harvnb
|Wood
|2005
|pp=169–172}}</ref> In the House of Commons afterwards, Butler flatly denied suggestions that he had "oiled the wheels" of Federal dissolution with secret promises to the Southern Rhodesians.<ref name=butlerpromise/>
Field's government was startled by Britain's announcement in October 1963 that Nyasaland would become fully independent on 6 July 1964. While no date was set for Northern Rhodesian statehood, it was generally surmised that it was going to follow shortly thereafter. Smith was promptly sent to London, where he held a round of inconclusive Southern Rhodesian independence talks with the new British Prime Minister, Sir Alec Douglas-Home.{{#tag:ref|Douglas-Home was only a few days into his premiership following Macmillan's resignation on grounds of ill health. At one point during the meeting on 31 October 1964 he told Smith that though he opposed unilateral action, he felt Southern Rhodesia could "declare herself independent, [and] would be within her rights to do so".<ref name=wood176181/> Scandalised, British civil servants withheld record of this comment from their Southern Rhodesian counterparts.<ref name=wood176181>{{Harvnb
|Wood
|2005
|pp=176–181}}</ref>|group="n"|name="douglashome"}} Around the same time, the presence and significance of Section 111 of the 1961 constitution emerged in Southern Rhodesia, prompting speculation in political circles that a future British government might, if it were so inclined, go against previous conventions by legislating for Salisbury without its consent, withdrawing devolved powers or otherwise altering the Southern Rhodesian constitution. Fearing what the Labour Party might do if it won the next British general election (which was projected for late 1964), the Southern Rhodesians stepped up their efforts, hoping to win independence before Britain went to the polls, and preferably not after Nyasaland.<ref name=wood186190/> The Federation dissolved as scheduled at the end of 1963.<ref name=wood186190/>
==Positions and motivations==
===British government stance===
The British government's refusal to grant independence to Southern Rhodesia under the 1961 constitution was largely the result of the geopolitical and moral shifts associated with the Wind of Change, coupled with the UK's wish to avoid opprobrium and loss of prestige in the United Nations (UN) and the Commonwealth.<ref name=mcwilliam/> The issue gained international attention in Africa and worldwide as a flashpoint for questions of decolonisation and racism.<ref>{{Harvnb
|Nyamunda
|2016
|pp=1005–1019}}</ref> By the early 1960s, general consensus in the post-colonial UN—particularly the General Assembly, where the communist bloc and the Afro-Asian lobby were collectively very strong—roundly denounced all forms of colonialism, and supported communist-backed black nationalist insurgencies across southern Africa, regarding them as racial liberation movements. Amid the Cold War, Britain opposed the spread of Soviet and Chinese influence into Africa, but knew it would become an international pariah if it publicly expressed reservations or backed down on NIBMAR in the Southern Rhodesia question.<ref>{{Harvnb
|Fedorowich
|Thomas
|2001
|pp=172–177}}</ref> Once the topic of Southern Rhodesia came to the fore in the UN and other bodies, particularly the Organisation of African Unity (OAU), even maintaining the ''status quo'' became regarded as unacceptable internationally, causing the UK government a great deal of embarrassment.<ref>{{Harvnb
|Nelson
|1983
|p=43}}</ref>
In the Commonwealth context, too, Britain knew that simply granting independence to Southern Rhodesia was out of the question as many of the Afro-Asian countries were also Commonwealth members. Statehood for Salisbury without majority rule would split the Commonwealth and perhaps cause it to break up, a disastrous prospect for British foreign policy.<ref name=mcwilliam/> The Commonwealth repeatedly called on Britain to intervene directly should Southern Rhodesian defiance continue,<ref>{{Harvnb
|Wood
|2005
|p=325}}</ref> while liberals in Britain worried that if left unchecked Salisbury might drift towards South African-style apartheid.<ref name=cunningham>{{Harvnb
|Cunningham
|1966
|p=12}}</ref> Anxious to avoid having to choose between Southern Rhodesia and the Commonwealth, Whitehall attempted to negotiate a middle way between the two, but ultimately put international considerations first, regarding them as more important.<ref name=mcwilliam>{{Harvnb
|McWilliam
|2003}}</ref>
At party level, the Labour Party, in opposition until October 1964, was overtly against Southern Rhodesian independence under the 1961 constitution and supportive of the black Rhodesian movement on ideological and moral grounds. The Liberal Party, holding a handful of parliament seats, took a similar stance. The Conservative Party, while also following a policy of decolonisation, was more sympathetic to the Southern Rhodesian government's position, and included members who openly supported it.<ref>{{Harvnb
|Wood
|2005
|p=242}}</ref>{{#tag:ref|In particular, a small but vocal phalanx of stridently pro-Salisbury Conservative peers emerged in the House of Lords, including Lord Salisbury (after whose grandfather the Southern Rhodesian capital was named), Lord Coleraine and Lord Grimston.<ref>{{Harvnb
|Morgan
|1975
|p=140}}</ref> Together with an ancillary group of similarly minded Conservative MPs in the Commons, headed by Major Patrick Wall, these became referred to as the "Rhodesia Lobby".<ref name=white97/>|group="n"|name="lobby"}}
===Southern Rhodesian government view===
The Southern Rhodesian government found it bizarre that Britain was making independent states out of Northern Rhodesia and Nyasaland, less developed territories with little experience of self-rule, while withholding sovereign statehood from Southern Rhodesia, the Federation's senior partner, which had already been self-governing for four decades and which was one of the most prosperous and developed countries in Africa. The principle of majority rule, the basis for this apparent inconsistency, was considered irrelevant by the Southern Rhodesians.<ref>{{Harvnb
|Olson
|Shadle
|1996
|pp=1029–1030}}; {{Harvnb
|Wood
|2005
|pp=20, 135, 140}}; {{Harvnb
|Di Perna
|1978
|p=189}}</ref> They had presumed that in the event of Federal dissolution they would be first in line for independence without major adjustments to the 1961 constitution, an impression confirmed to them by prior intergovernmental correspondence, particularly the oral promises they claimed to have received from Butler. When it did not prove forthcoming they felt cheated.<ref name=wood371>{{Harvnb
|Wood
|2005
|p=371}}</ref> Salisbury contended that its predominantly white legislature was more deserving of independence than the untried black Rhodesian leaders as it had proven its competence over decades of self-rule.<ref>{{Harvnb
|Olson
|Shadle
|1996
|pp=1029–1030}}; {{Harvnb
|Moorcraft
|1990}}; {{Harvnb
|Wood
|2005
|pp=20, 135, 140}}; {{Harvnb
|Di Perna
|1978
|p=189}}</ref>
The RF claimed that the bloody civil wars, military coups and other disasters that plagued the new majority-ruled African states to the north, many of which had become corrupt, autocratic or communist one-party states very soon after independence,<ref>{{Harvnb
|Mazrui
|1993
|p=495}}</ref> showed that black Rhodesian leaders were not ready to govern. Influenced strongly by the white refugees who had fled south from the Congo, it presented chaotic doomsday scenarios of what black Rhodesian rule in Southern Rhodesia might mean, particularly for the white community.<ref>{{Harvnb
|Petter-Bowyer
|2005
|p=75}}; {{Harvnb
|Schwarz
|2011
|p=371}}; {{Harvnb
|Wood
|2005
|p=101}}</ref> Proponents of the RF stand downplayed black Rhodesian grievances regarding land ownership and segregation, and argued that despite the racial imbalance in domestic politics—whites made up 5% of the population, but over 90% of registered voters—the electoral system was not racist as the franchise was based on financial and educational qualifications rather than ethnicity.<ref>{{Harvnb
|Wood
|2005
|pp=392–393}}</ref> They emphasised the colony's proud war record on Britain's behalf,<ref name=moorcraft1990>{{Harvnb
|Moorcraft
|1990}}</ref> and expressed a wish in the Cold War context to form an anti-communist, pro-Western front in Africa alongside South Africa and Portugal.<ref name=olsonshadle10291030>{{Harvnb
|Olson
|Shadle
|1996
|pp=1029–1030}}</ref>
These factors combined with what RF politicians and supporters saw as British decadence, chicanery and betrayal to create the case they put forward that UDI, while dubious legally and likely to provoke international uproar, might nevertheless be in their eyes justifiable and necessary for the good of the country and region if an accommodation could not be found with Whitehall.<ref name=wood190/>
==Road to UDI==
===First steps, under Field===
Field's failure to secure independence concurrently with the end of the Federation caused his Cabinet's support for him to waver during late 1963 and early 1964.<ref name=wood186190>{{Harvnb
|Wood
|2005
|pp=186–190}}</ref> The RF caucus in January 1964 revealed widespread dissatisfaction with him on the grounds that the British seemed to be outwitting him. The Prime Minister was put under immense pressure to win the colony's independence.<ref name=wood190>{{Harvnb
|Wood
|2005
|p=190}}</ref> Field travelled to England later that month to press Douglas-Home and Sandys for independence, and raised the possibility of UDI on a few occasions, but returned empty-handed on 2 February.<ref>{{Harvnb
|Wood
|2005
|pp=193–194, 198}}</ref>
The RF united behind Field after Sandys wrote him a terse letter warning him of the likely Commonwealth reaction to a declaration of independence, but the Prime Minister then lost his party's confidence by failing to pursue a possible route to at least ''de facto'' independence devised by Desmond Lardner-Burke, a lawyer and RF MP for Gwelo. During March 1964, the Legislative Assembly in Salisbury considered and passed Lardner-Burke's motion that the Governor, Sir Humphrey Gibbs, should submit a petition to the Queen requesting alteration of Section 111 of the 1961 constitution so that the Royal Assent described therein would be exercised at the request of the Southern Rhodesian government rather than that of its British counterpart. This would both remove the possibility of British legislative interference and pave the way for an attempted assumption of independence by Order in Council.{{#tag:ref|The Lardner-Burke bill proposed that a two-thirds majority in the Legislative Assembly would prompt automatic consent for alterations from the Governor, who would then sign them into law on behalf of the Queen.<ref name=wood200202>{{Harvnb
|Wood
|2005
|pp=200–202}}</ref> William Harper, the Minister of Water Development and Roads, posited that if this passed, Salisbury would be able to proclaim an independent republic outside the Commonwealth with a two-thirds majority in parliament.<ref name=wood204207/>|group="n"|name="harper"}}
The RF's intention was partly to test whether or not the British would attempt to block this bill after Gibbs had granted Royal Assent to it,<ref>{{Harvnb
|Smith
|1997
|p=63}}</ref> but this issue never came to a head because Sandys persuaded Field not to forward it to Gibbs for ratification on the grounds that it had not been unanimously passed.<ref>{{Harvnb
|Young
|1969
|p=205}}</ref> Lord Salisbury, one of Southern Rhodesia's main supporters in Britain, despaired at Field's lack of action, telling Welensky that as he saw it "the simple time to have declared independence, whether right or wrong, would have been when the Federation came to an end".<ref name=wood204207/> The RF hierarchy interpreted this latest backtrack by Field as evidence that he would not seriously challenge the British on the independence issue, and forced his resignation on 13 April 1964.<ref name=wood204207>{{Harvnb
|Wood
|2005
|pp=204–207}}</ref> Smith accepted the Cabinet's nomination to take his place.<ref name=fieldtosmith/>
===Smith replaces Field; talks with Douglas-Home===
[[File:Ian Smith 1950s.jpg|thumb|upright|Ian Smith replaced Winston Field as Southern Rhodesian Prime Minister in April 1964, and pledged to challenge Britain on independence.|alt=A portrait photograph of Ian Smith]]
Smith, a farmer from the Midlands town of Selukwe who had been seriously wounded while serving in the British Royal Air Force during the Second World War, was Southern Rhodesia's first native-born Prime Minister.{{#tag:ref|Roy Welensky, who held the Federal premiership from 1956 to dissolution in 1963, was also born in Southern Rhodesia. Before Smith, Southern Rhodesia had had seven Prime Ministers, three of whom (including Field) had been born in Britain. The country's first two Prime Ministers, Charles Coghlan (1923–27) and Howard Moffat (1927–33), were respectively born in South Africa and Bechuanaland,<ref>{{Harvnb
|Baxter
|Burke
|1970
|pp=125, 340}}</ref> while Garfield Todd (1953–58) was originally from New Zealand.<ref>{{Harvnb
|Wood
|2005
|p=12}}</ref> Edgar Whitehead (1958–62) was born at the British Embassy in Germany, where his father was a diplomat.<ref>{{Harvnb
|Schwarz
|2011
|p=411}}</ref>|group="n"|name="nativeborn"}} Regarded in British political circles as a "raw colonial"—when he took over, Smith's personal experience of the UK comprised four brief visits—he promised a harder line than Field in independence talks.<ref name=fieldtosmith>{{Harvnb
|Berlyn
|1978
|pp=131–132}}; {{Harvnb
|Caute
|1983
|p=89}}; {{Harvnb
|Wessels
|2010
|pp=102–104}}</ref> The RF's replacement of Field drew criticism from the British Labour Party, whose leader Harold Wilson called it "brutal",<ref>{{Harvnb
|Wilson
|1974
|p=48}}</ref> while Nkomo described the new Smith Cabinet as "a suicide squad... not interested in the welfare of all the people but only in their own".<ref>{{Harvnb
|Wood
|2005
|p=208}}</ref> Smith said he was pursuing a middle course between black Rhodesian rule and apartheid so that there would still be "a place for the white man" in Southern Rhodesia;<ref>{{Harvnb
|Hall
|1966
|p=30}}</ref> this would benefit the blacks too, he claimed.<ref name=hall22/> He held that the government should be based "on merit, not on colour or nationalism",<ref name=hall22>{{Harvnb
|Hall
|1966
|p=22}}</ref> and insisted that there would be "no African nationalist government here in my lifetime".<ref>{{Harvnb
|Hall
|1966
|p=26}}</ref>
Salisbury's blunt refusal to be part of the Wind of Change caused the Southern Rhodesian military's traditional British and American suppliers to impose an informal embargo,<ref name="wood319"/> and prompted Whitehall and Washington to stop sending Southern Rhodesia financial aid around the same time. In June 1964, Douglas-Home informed Smith that Southern Rhodesia would not be represented at the year's Commonwealth Prime Ministers' Conference, despite Salisbury's record of attendance going back to 1932,{{#tag:ref|Salisbury attended under the Federal flag from 1953 to 1963.<ref name=welenskyspeech/>|group="n"|name="conference"}} because of a change in policy to only include representatives from fully independent states. This decision, taken by Britain to preempt the possibility of open confrontation with Asian and black African leaders at the conference, deeply insulted Smith.<ref>{{Harvnb
|Wood
|2005
|pp=215–216}}</ref> Lord Malvern equated Britain's removal of Southern Rhodesia's conference seat with "kicking us out of the Commonwealth",<ref>{{Harvnb
|Berlyn
|1978
|pp=140, 143}}</ref> while Welensky expressed horror at what he described as "this cavalier treatment of a country which has, since its creation, staunchly supported, in every possible way, Britain and the Commonwealth".<ref name=welenskyspeech>{{Harvnb
|Welensky
|1965}}</ref>
[[File:Alec Douglas-Home (c1963).jpg|thumb|upright|left|UK Prime Minister Sir Alec Douglas-Home met Smith in London in September 1964.|alt=A photograph of Sir Alec Douglas-Home]]
At 10 Downing Street in early September 1964, impasse developed between Douglas-Home and Smith over the best way to measure black public opinion in Southern Rhodesia. A key plank of Britain's Southern Rhodesia policy was that the terms for independence had to be "acceptable to the people of the country as a whole"—agreeing to this, Smith suggested that white and urban black opinion could be gauged through a general referendum of registered voters, and that rural black views could be obtained at a national ''indaba'' (tribal conference) of chiefs and headmen. Douglas-Home told Smith that although this proposal satisfied him personally, he could not accept it as he did not believe the Commonwealth, the United Nations or the Labour Party would also do so. He stressed that such a move towards accommodation with Smith might hurt the Conservatives' chances in the British general election the next month, and suggested that it might be in Smith's best interests to wait until after the election to continue negotiations. Smith accepted this argument. Douglas-Home assured Smith that a Conservative government would settle with him and grant independence within a year.<ref>{{Harvnb
|Wood
|2005
|pp=231–233}}</ref>
Attempting to form a viable white opposition to the Rhodesian Front, the UFP resurrected itself around Welensky, renamed itself the Rhodesia Party, and entered the Arundel and Avondale by-elections that had been called for 1 October 1964. Perturbed by the prospect of having to face the political heavyweight Welensky in parliament at the head of the opposition, the RF poured huge resources into winning both of these former UFP safe seats, and fielded Clifford Dupont, Smith's deputy, against Welensky in Arundel.{{#tag:ref|During the bitterly fought campaign,<ref name=byelection>{{Harvnb
|Wood
|2005
|pp=239–240}}; {{Harvnb
|Windrich
|1978
|p=25}}</ref> Welensky was falsely personified by his opponents as representing appeasement of Britain and black extremists, and heckled at public concourses with cries of "communist", "traitor" and "coward";<ref>{{Harvnb
|Blake
|1977
|p=366}}</ref> one man even screamed "you bloody Jew" at Welensky during a debate.<ref>{{Harvnb
|White
|1978
|p=36}}</ref>|group="n"|name="campaign64"}} The RF won both seats comfortably, and the Rhodesia Party soon faded away. Spurred on by this success, Smith organised the ''indaba'' for 22 October, and called a general independence referendum for 5 November 1964.<ref name=byelection/> Meanwhile, Wilson wrote a number of letters to black Southern Rhodesians, assuring them that "the Labour Party is totally opposed to granting independence to Southern Rhodesia so long as the government of that country remains under the control of the white minority".<ref name=berlyn157>{{Harvnb
|Berlyn
|1978
|p=157}}</ref>
===Wilson's Labour government; Salisbury's tests of opinion===
[[File:Harold Wilson.jpg|thumb|upright|Harold Wilson replaced Douglas-Home in October 1964, and proved a formidable opponent of Smith.|alt=A portrait photograph of Harold Wilson]]
Labour defeated the Conservatives by four seats in the British general election on 15 October 1964, and formed a government the next day. Both Labour and the Conservatives told Smith that a positive result at the ''indaba'' would not be recognised by Britain as representative of the people, and the Conservatives turned down Salisbury's invitation to send observers. Smith pressed on, telling parliament that he would ask the tribal chiefs and headmen "to consult their people in the traditional manner", then hold the ''indaba'' as planned.<ref>{{Harvnb
|Wood
|2005
|p=241}}</ref> On 22 October, 196 chiefs and 426 headmen from across the country gathered at Domboshawa, just north-east of Salisbury, and began their deliberations. Smith hoped that Britain, having taken part in such ''indabas'' in the past, might send a delegation at the last minute, but none arrived, much to his annoyance, particularly as the British government's Commonwealth Secretary Arthur Bottomley was only across the Zambezi in Lusaka at the time.<ref name=wood242243>{{Harvnb
|Wood
|2005
|pp=242–243, 246}}</ref>{{#tag:ref|Official observers came from Australia, Austria, France, Greece, New Zealand, Norway, Portugal, South Africa and Sweden.<ref name=wood242243/>|group="n"|name="observers"}}
While the chiefs conferred, Northern Rhodesia became independent Zambia on 24 October 1964, emulating Nyasaland, which had achieved statehood as Malawi three months earlier. Reasoning that it was no longer necessary to refer to itself as "Southern" in the absence of a northern counterpart, Southern Rhodesia began calling itself simply Rhodesia.{{#tag:ref|Salisbury passed legislation to shorten the name, but Britain ruled this ''[[ultra vires]]'' as the laws naming the country were British acts passed at Westminster. Salisbury went on using the shortened name in an official manner anyway,<ref name="palley742743">{{Harvnb
|Palley
|1966
|pp=742–743}}</ref> while the British government, the United Nations and other overseas bodies continued referring to the country as Southern Rhodesia. This situation continued throughout the UDI period.<ref name=rowland251>{{Harvnb
|Rowland
|1978
|p=251}}</ref>|group="n"|name="name2"}} The same day, the commander of the Rhodesian Army, Major-General John "Jock" Anderson, resigned, announcing publicly that he was doing so because of his opposition to UDI, which he said he could not go along with because of his oath of allegiance to the Queen. Interpreting this as a sign that Smith intended to declare independence if a majority backed it in the referendum, Wilson wrote a stiff letter to Smith on 25 October, warning him of the consequences of UDI, and demanding "a categorical assurance forthwith that no attempt at a unilateral declaration of independence on your part will be made".<ref name=wood243246/> Smith expressed confusion as to what he had done to provoke this, and ignored it.<ref name=wood243246/>
When the ''indaba'' ended on 26 October, the chiefs and headmen returned a unanimous decision to support the government's stand for independence under the 1961 constitution, attesting in their report that "people who live far away do not understand the problems of our country".<ref name=wood243246>{{Harvnb
|Wood
|2005
|pp=243–246}}</ref> This verdict was rejected by the nationalist movement on the grounds that the chiefs received governmental salaries; the chiefs countered that the black MPs in parliamentary opposition also received such salaries, but still opposed the government.<ref name=wood243246/> Malvern, who was becoming perturbed by the RF's actions, dismissed the ''indaba'' as a "swindle", asserting that the chiefs no longer had any real power; the British simply ignored the whole exercise.<ref name=wood250>{{Harvnb
|Wood
|2005
|p=250}}</ref> On 27 October, Wilson released a firm statement regarding Britain's intended response to UDI, warning that Rhodesia's economic and political ties with Britain, the Commonwealth and most of the world would be immediately severed amid a campaign of sanctions if Smith's government went ahead with UDI.<ref name=wood243246/> This was intended to discourage white Rhodesians from voting for independence in the referendum,<ref name=wood247>{{Harvnb
|Wood
|2005
|p=247}}</ref> for which the RF campaign slogan was "Yes means Unity, not UDI".<ref>{{Harvnb
|Blake
|1977
|p=369}}</ref> Wilson was pleased when Douglas-Home, his leading opponent in the House of Commons, praised the statement as "rough but right".<ref>{{Harvnb
|Wilson
|1974
|p=51}}</ref> On 5 November 1964, Rhodesia's mostly white electorate voted "yes" to independence under the 1961 constitution by a margin of 89%,{{#tag:ref|Turnout was 61% of the 105,444 registered voters (89,886 whites, 12,729 blacks and 2,829 coloureds and Asians). There were 58,091 ballots in favour, 6,096 against and 944 spoilt papers. Most eligible non-whites reportedly abstained.<ref name=wood249>{{Harvnb
|Wood
|2005
|p=249}}</ref>|group="n"|name="vote"}} prompting Smith to declare that the British condition of acceptability to the people as a whole had been met.<ref name=wood251>{{Harvnb
|Wood
|2005
|p=251}}</ref>
===Stalemate develops between Smith and Wilson===
Smith wrote to Wilson the day after the referendum, asking him to send Bottomley to Salisbury for talks. Wilson replied that Smith should instead come to London.<ref name=wood251/> The British and Rhodesians exchanged often confrontational letters for the next few months. Alluding to the British financial aid pledged to Salisbury as part of the Federal dissolution arrangements, Wilson's High Commissioner in Salisbury, J B Johnston, wrote to the Rhodesian Cabinet Secretary Gerald B Clarke on 23 December that "talk of a unilateral declaration of independence is bound to throw a shadow of uncertainty on the future financial relations between the two governments".<ref>{{Harvnb
|Wood
|2005
|pp=257–258}}</ref> Smith was furious, seeing this as blackmail, and on 13 January 1965 wrote to Wilson: "I am so incensed at the line of your High Commissioner's letter that I am replying directly to you ... It would appear that any undertakings given by the British government are worthless ... such immoral behaviour on the part of the British government makes it impossible for me to continue negotiations with you with any confidence that our standards of fair play, honesty and decency will prevail."<ref name=smith85>{{Harvnb
|Smith
|1997
|p=85}}</ref>
[[File:10 Downing Street 2010.jpg|thumb|10 Downing Street, where Wilson received Smith in January 1965|alt=A wide shot of Downing Street]]
The two premiers were brought together in person in late January 1965, when Smith travelled to London for Sir Winston Churchill's funeral. Following an episode concerning Smith's non-invitation to a luncheon at Buckingham Palace after the funeral—noticing the Rhodesian's absence, the Queen sent a royal equerry to Smith's hotel to retrieve him, reportedly causing Wilson much irritation—the two Prime Ministers inconclusively debated at 10 Downing Street. They differed on most matters, but agreed on a visit to Rhodesia the next month by Bottomley and the Lord Chancellor, Lord Gardiner, to gauge public opinion and meet political and commercial figures.<ref>{{Harvnb
|Wood
|2005
|pp=270–275}}</ref> Bottomley and Gardiner visited Rhodesia from 22 February to 3 March, collected a wide cross-section of opinions, including some from black Rhodesians, and on returning to Britain reported to the House of Commons that they were "not without hope of finding a way towards a solution that will win the support of all communities and lead to independence and prosperity for all Rhodesians".<ref name=wood286>{{Harvnb
|Wood
|2005
|p=286}}</ref> Bottomley also condemned black-on-black political violence, and dismissed the idea of introducing majority rule through military force.<ref name=wood286/>
The RF called a new general election for May 1965 and, campaigning on an election promise of independence, won all 50 "A"-roll seats (the voters for which were mostly white).{{#tag:ref|The electoral system devised in the 1961 constitution replaced the common voters' roll with two rolls, the "A" roll and the "B" roll, the latter of which had lower qualifications intended to make it easier for prospective voters to enter the political system. There were 50 "A"-roll constituencies and 15 larger "B"-roll districts, with a complicated mechanism of "cross-voting" allowing "B"-roll voters to slightly influence "A"-roll elections and ''vice versa''. This system was theoretically non-racial, but in practice the "A" roll was largely white and the "B" roll was almost all black.<ref>{{Harvnb
|Palley
|1966
|pp=414–416}}</ref>|group="n"|name="crossvoting"}} Josiah Gondo, leader of the United People's Party, became Rhodesia's first black Leader of the Opposition. Opening parliament on 9 June, Gibbs told the Legislative Assembly that the RF's strengthened majority amounted to "a mandate to lead the country to its full independence", and announced that the new government had informed him of its intent to open its own diplomatic mission in Lisbon, separate from the British embassy there. The British and Rhodesians argued about this unilateral act by Salisbury, described by the historian J R T Wood as the "veritable straw in the wind",<ref name=wood319>{{Harvnb
|Wood
|2005
|p=319}}</ref> alongside the independence issue until Portugal accepted the mission in late September, much to Britain's fury and Rhodesia's delight.<ref name=fedorowichthomas185186>{{Harvnb
|Fedorowich
|Thomas
|2001
|pp=185–186}}</ref> Hoping to bring Smith to heel by stonewalling him, Wilson's ministers deliberately delayed and frustrated the Rhodesian government in negotiations.<ref>{{Harvnb
|Wood
|2005
|p=344}}</ref> Rhodesia was again excluded from the Commonwealth Prime Ministers' Conference in 1965. The UK's refusal of aid, the Lisbon mission, the informal arms embargo and other issues combined with this to cause the Rhodesian government's sense of alienation from Britain and the Commonwealth to deepen.<ref name=wood335>{{Harvnb
|Wood
|2005
|p=335}}</ref> In his memoirs, Smith accused the British of "resorting to politics of convenience and appeasement".<ref>{{Harvnb
|Smith
|1997
|p=92}}</ref> Wilson, meanwhile, became exasperated by what he saw as Rhodesian inflexibility, describing the gap between the two governments as "between different worlds and different centuries".<ref name=wood5>{{Harvnb
|Wood
|2008
|p=5}}</ref>
===Final steps to UDI===
Amid renewed rumours of an impending Rhodesian UDI, Smith travelled to meet Wilson in London at the start of October 1965, telling the press that he intended to resolve the independence issue once and for all.<ref name=wood360363>{{Harvnb
|Wood
|2005
|pp=360–363, 367}}</ref> Both the British and the Rhodesians were surprised by the large numbers of Britons who came out to support Smith during his visit.<ref name=wood381383/> Smith accepted an invitation from the BBC to appear on its ''Twenty-Four Hours'' evening news and current affairs programme, but Downing Street blocked this at the last minute.<ref name=wood381383>{{Harvnb
|Wood
|2005
|pp=381–383}}</ref> Following largely abortive talks with Wilson, the Rhodesian Prime Minister flew home on 12 October.<ref name=wood387388>{{Harvnb
|Wood
|2005
|pp=387–388}}</ref> Desperate to avert UDI, Wilson travelled to Salisbury two weeks later to continue negotiations.<ref name=wood411414/>
During these discussions, Smith referred to the last resort of a UDI on many occasions,<ref name=young271/> though he said he hoped to find another way out of the quandary. He offered to increase black legislative representation by expanding the electorate along the lines of "one taxpayer, one vote"—which would enfranchise about half a million, but still leave most of the nation voteless—in return for a grant of independence.<ref name=wood411414>{{Harvnb
|Wood
|2005
|pp=411–414}}</ref> Wilson said this was insufficient, and countered that future black representation might be better safeguarded by Britain's withdrawal from the colonial government of the power it had held since 1923 to determine the size and makeup of its parliament. The Rhodesians were horrified by this prospect, particularly as Wilson's suggestion of it seemed to them to have removed the failsafe alternative of keeping the ''status quo''.<ref>{{Harvnb
|Wood
|2005
|p=440}}</ref> Before the British Prime Minister left Rhodesia on 30 October 1965, he proposed a Royal Commission to gauge public opinion in the colony regarding independence under the 1961 constitution, possibly chaired by the Rhodesian Chief Justice Sir Hugh Beadle, which would report its findings to both the British and Rhodesian Cabinets.<ref name=wood441442>{{Harvnb
|Wood
|2005
|pp=441–442}}</ref> Wilson confirmed in the House of Commons two days later that he intended to introduce direct British control over the Rhodesian parliamentary structure to ensure that progress was made towards majority rule.<ref name=wood445>{{Harvnb
|Wood
|2005
|p=445}}</ref>
Stalemate drew closer as the Rhodesian Cabinet resolved that since Wilson had ruled out maintenance of the ''status quo'', its only remaining options were to trust in the Royal Commission or declare independence.<ref name=wood443>{{Harvnb
|Wood
|2005
|p=443}}</ref> When the terms for the commission's visit were presented to Smith, he found that contrary to what had been discussed during the British Prime Minister's visit, the Royal Commission would operate on the basis that the 1961 constitution was unacceptable to the British government, and that Britain would not commit itself to accepting the final report. Smith said these conditions amounted to a "vote of no confidence in [the commission] before they commenced", and therefore rejected them.<ref>{{Harvnb
|Smith
|1997
|p=98}}</ref> "The impression you left with us of a determined effort to resolve our constitutional problem has been utterly dissipated", he wrote to Wilson on 5 November. "It would seem that you have now finally closed the door which you publicly claimed to have opened."<ref name=young271>{{Harvnb
|Young
|1969
|p=271}}</ref>
Amid frantic efforts by Beadle and others on both sides to revive the Royal Commission, the Rhodesian government had Gibbs announce a state of emergency the same day on the grounds that black Rhodesian insurgents were reportedly entering the country. Smith denied that this foreshadowed a declaration of independence,<ref name=wood453>{{Harvnb
|Wood
|2005
|p=453}}</ref> but the publishing of his letter to Wilson in the press provoked a worldwide storm of speculation that UDI was imminent.<ref name=young271/> Smith wrote again to Wilson on 8 November, asking him to appoint the Royal Commission under the terms they had agreed in Salisbury and to commit the British government to accepting its ruling, but Wilson did not immediately reply.<ref>{{Harvnb
|Wood
|2005
|p=463}}</ref> On 9 November, the Rhodesian Cabinet sent a letter to Queen Elizabeth II, assuring her that Rhodesia would remain loyal to her personally "whatever happens".<ref name=wood460461/>
==Draft, adoption and signing==
[[File:United States Declaration of Independence.jpg|thumb|upright|The United States Declaration of Independence was used by the Rhodesians as the model for their UDI.|alt=The United States Declaration of Independence]]
The Rhodesian Minister for Justice and Law and Order, Desmond Lardner-Burke, presented the rest of the Cabinet with a draft for the declaration of independence on 5 November 1965. When Jack Howman, Minister of Tourism and Information, said that he was also preparing a draft, the Cabinet decided to wait to see his version too. The ministers agreed that if an independence proclamation were issued, they would all sign it.<ref name="wood453"/> On 9 November, the Cabinet jointly devised an outline for the proclamation document and the accompanying statement to be made by Smith.<ref name=wood460461>{{Harvnb
|Wood
|2005
|pp=460–461}}</ref> The final version of the declaration of independence was prepared by a sub-committee of civil servants headed by Gerald Clarke, the Cabinet Secretary,<ref name=smith100103>{{Harvnb
|Smith
|1997
|pp=100, 103}}</ref> with the United States Declaration of Independence of 1776, the only other such proclamation ever issued by British colonials, used as a model.<ref name=wood471/> Strongly alluding to Thomas Jefferson's text throughout, the Rhodesians used one phrase verbatim — "a respect for the opinions of mankind"<ref name=stpetersburgtimes>{{Harvnb
|St. Petersburg Times
|1965}}</ref>—but no reference was made to the assertion that "all men are created equal", nor to the "consent of the governed", two omissions later stressed by a number of commentators.<ref>{{Harvnb
|Hillier
|1998
|p=207}}; {{Harvnb
|Palley
|1966
|p=750}}; {{Harvnb
|Gowlland-Debbas
|1990
|p=71}}</ref>
Attached to the declaration of independence was a copy of the 1961 constitution amended for the circumstances, which became the 1965<ref>{{cite web |title=The Constitution of Rhodesia, 1965 |url=http://www.worldstatesmen.org/Rhodesia_1965.pdf |publisher=Harvard Law Library |accessdate=9 May 2019}}</ref> constitution. In the eyes of the Smith administration, this document removed Whitehall's remaining authority over Rhodesia and made Rhodesia a ''de jure'' independent state. However, the Smith government still professed loyalty to Elizabeth II, and accordingly the document reconstituted Rhodesia as a dominion with Elizabeth as "Queen of Rhodesia". The new constitution created the concept of allegiance to the "Constitution of Rhodesia," and introduced the post of Officer Administering the Government, a viceregal figure empowered to sign passed legislation into law on behalf of the monarch if she did not appoint a Governor-General.<ref name=wood471/>
The Rhodesian Cabinet waited in vain for Wilson's reply for the rest of 9 November and the next day. After briefly meeting Smith late on 10 November,<ref>{{Harvnb
|Wood
|2005
|pp=465–467}}</ref> Johnston warned Wilson that evening that the Rhodesians seemed poised to declare independence in the morning. The British Prime Minister tried repeatedly to call Smith, but did not get through until Smith was already chairing a Cabinet meeting on the independence issue around 08:00 Central Africa Time (06:00 in London) on 11 November. Wilson attempted to talk Smith out of unilateral action by telling him the ''status quo'' could continue, and the two argued inconclusively about the proposed Royal Commission. Returning to his Cabinet meeting, Smith reported the conversation to his ministers, and, after debating for a while, the Cabinet came to the conclusion that Wilson was simply attempting to buy more time and that there was no sign of actual progress. Smith asked if Rhodesia should declare its independence, and had each Cabinet minister answer in turn. According to Smith's account, "each one, quietly but firmly, without hesitation, said: 'Yes'."<ref name=wood468470>{{Harvnb
|Wood
|2005
|pp=468–470}}</ref>
At 11:00 local time on 11 November 1965, Armistice Day, during the traditional two minutes' silence to remember the fallen of the two World Wars, Smith declared Rhodesia independent and signed the proclamation document, with Dupont and the other 10 ministers of the Cabinet following. The timing was intended to emphasise the sacrifices Rhodesia had made for Britain in wartime.<ref>{{Harvnb
|McLaughlin
|1980
|p=141}}; {{Harvnb
|Wood
|2005
|p=463}}</ref> As Ken Flower later said, "the rebellion was made to appear as though it was not a rebellion".<ref name=wood471/> Smith and his ministers still pledged allegiance to Queen Elizabeth II, whose official portrait hung prominently behind them as they signed; the declaration even ended "God Save The Queen".<ref name=wood471>{{Harvnb
|Wood
|2005
|p=471}}</ref> Four junior members of the Cabinet—Lance Smith, Ian Dillon, Andrew Dunlop and P K van der Byl—did not sign, but were included in the official photograph.<ref>{{Harvnb
|White
|1978
|p=45}}</ref>
==Text of the declaration==
{{quote|
{{center|Proclamation}}
----
Whereas in the course of human affairs history has shown that it may become necessary for a people to resolve the political affiliations which have connected them with another people and to assume amongst other nations the separate and equal status to which they are entitled:
And Whereas in such event a respect for the opinions of mankind requires them to declare to other nations the causes which impel them to assume full responsibility for their own affairs:
Now Therefore, We, The Government of Rhodesia, Do Hereby Declare:
That it is an indisputable and accepted historic fact that since 1923 the Government of Rhodesia have exercised the powers of self-government and have been responsible for the progress, development and welfare of their people;
That the people of Rhodesia having demonstrated their loyalty to the Crown and to their kith and kin in the United Kingdom and elsewhere through two world wars, and having been prepared to shed their blood and give of their substance in what they believed to be the mutual interests of freedom-loving people, now see all that they have cherished about to be shattered on the rocks of expediency;
That the people of Rhodesia have witnessed a process which is destructive of those very precepts upon which civilization in a primitive country has been built, they have seen the principles of Western democracy, responsible government and moral standards crumble elsewhere, nevertheless they have remained steadfast;
That the people of Rhodesia fully support the requests of their government for sovereign independence but have witnessed the consistent refusal of the Government of the United Kingdom to accede to their entreaties;
That the Government of the United Kingdom have thus demonstrated that they are not prepared to grant sovereign independence to Rhodesia on terms acceptable to the people of Rhodesia, thereby persisting in maintaining an unwarrantable jurisdiction over Rhodesia, obstructing laws and treaties with other states and the conduct of affairs with other nations and refusing assent to laws necessary for the public good, all this to the detriment of the future peace, prosperity and good government of Rhodesia;
That the Government of Rhodesia have for a long period patiently and in good faith negotiated with the Government of the United Kingdom for the removal of the remaining limitations placed upon them and for the grant of sovereign independence;
That in the belief that procrastination and delay strike at and injure the very life of the nation, the Government of Rhodesia consider it essential that Rhodesia should attain, without delay, sovereign independence, the justice of which is beyond question;
Now Therefore, We The Government of Rhodesia, in humble submission to Almighty God who controls the destinies of nations, conscious that the people of Rhodesia have always shown unswerving loyalty and devotion to Her Majesty the Queen and earnestly praying that we and the people of Rhodesia will not be hindered in our determination to continue exercising our undoubted right to demonstrate the same loyalty and devotion, and seeking to promote the common good so that the dignity and freedom of all men may be assured, Do, By This Proclamation, adopt, enact and give to the people of Rhodesia the Constitution annexed hereto;
{{center|God Save The Queen}}
Given under Our Hand at Salisbury, this eleventh day of November in the Year of Our Lord one thousand nine hundred and sixty-five.
{{plainlist |
* ''Prime Minister:'' Ian Smith
* ''Deputy Prime Minister:'' Clifford Dupont
* ''Ministers:'' William Harper, Montrose, Phillip van Heerden, Jack Howman, Jack Mussett, John Wrathall, Desmond Lardner-Burke, George Rudland, Ian McLean, Arthur Philip Smith
{{right|<ref name=wood472/>}}
}}
|}}
==Announcement and reactions==
===Announcement===
Prompted by the government, the Rhodesian Broadcasting Corporation told the public to stand by for an important announcement from the Prime Minister at 13:15 local time. Smith went first to Government House to inform Gibbs that his Cabinet had declared independence,<ref name=wood471/> then to Pockets Hill Studios in east Salisbury to announce UDI to the nation. He read the proclamation aloud, then stated that independence had been declared because it had become "abundantly clear that it is the policy of the British government to play us along with no real intention of arriving at a solution which we could possibly accept ... I promised the people of this country that I would continue to negotiate to the bitter end and that I would leave no stone unturned in my endeavours to secure an honourable and mutually accepted settlement; it now falls to me to tell you that negotiations have come to an end".<ref name=wood472>{{Harvnb
|Wood
|2005
|p=472}}</ref>
Smith said that he believed that he would be remiss in his duty if he allowed Rhodesia to continue to "drift in its present paralysing state of uncertainty", and that following Britain's abandonment of the Federation his government was determined that "the same will never be allowed to happen here". He claimed that UDI did not mark "a diminution in the opportunities which our African people have to advance and prosper in Rhodesia", described "racial harmony in Africa" as part of his agenda and condemned black Rhodesian activities as attempts to "blackmail the British government into ... handing the country over to irresponsible rule". He then attempted to assuage fears that economic sanctions might destroy the economy, and asked Rhodesians to stand firm: "The mantle of the pioneers has fallen on our shoulders... In the lives of most nations there comes a moment when a stand has to be made for principles, whatever the consequences. This moment has come to Rhodesia ... the first Western nation in the last two decades to say 'so far and no further'." He concluded with an assertion that the declaration of independence was "a blow for the preservation of justice, civilisation and Christianity".<ref name=wood472475>{{Harvnb
|Wood
|2005
|pp=472–475}}</ref>
===Domestic reactions===
By the time Smith and Dupont arrived at Government House to see Gibbs, Whitehall had instructed the Governor to formally dismiss Smith and his ministers for treason. Gibbs complied without hesitation. Smith and his ministers ignored this, holding that under the new 1965 constitution Gibbs "no longer ha[d] any executive powers in Rhodesia", and his reserve power to sack them no longer existed.<ref>{{Harvnb
|Peterson
|1971
|p=34}}</ref> The Rhodesian government hoped that Gibbs might obligingly resign in light of his impotent situation, but he did not; following orders from London, he remained at his post at Government House. Gibbs told the Rhodesian military's senior officers, some of whom were troubled by the perceived choice between Queen and country, to remain at their posts to maintain law and order.<ref name=wood0834>{{Harvnb
|Wood
|2008
|pp=3–4}}</ref> Wilson briefly flirted with the idea of sending Lord Mountbatten to Rhodesia to support Gibbs as a direct representative of the Queen, but this was dropped after Gibbs asked for somebody "higher up" in the royal family instead.<ref name=wood1999>{{Harvnb
|Wood
|1999</ref> "Not likely", Wilson retorted.<ref name=wood1999/>
The Rhodesian government accompanied UDI with emergency measures that it said were intended to prevent alarm, unrest and the flight of people and capital. Press censorship and petrol rationing were imposed, import licences were cancelled and emigration allowances were cut to £100. News of UDI was generally received calmly by the local citizenry, apart from some isolated incidents of passing cars being stoned in the black townships outside Bulawayo. A few expected dissenters were arrested, most prominently Leo Baron, Nkomo's lawyer, whose links with black Rhodesians and communists were seen by authorities as "subversive".<ref name=wood0834/> Baron, the younger brother of the scientist Jacob Bronowski, was arrested nine minutes after UDI was made.<ref name=wood0834/>
::What was it that could make a country twice the size of Britain with half the population of London pit itself against the massive weight of world opinion? Rights or wrongs aside, there was something splendid about the gesture -- Rhodesian journalist Phillippa Berlyn on UDI<ref name=beleaguered>{{Harvnb
|Berlyn
|1967
|p=9}}</ref>}}
Welensky, who had opposed UDI, stated that he felt it was nevertheless "the duty of every responsible Rhodesian to support the revolutionary government" as he believed the only alternative was a descent into anarchy.<ref name=wood0834/> João de Freitas Cruz, the Portuguese consul-general in Salisbury, reacted to the news with wild excitement; visiting the Smith residence later in the day, he declared "Only Rhodesians could do this!"<ref name=berlyn171/> A statement from ZAPU's Jason Moyo, who was in London at the time, denounced UDI as an act of "treason and rebellion" and asserted that "the lives particularly of four million unarmed Africans are in jeopardy".<ref name=bbc1965>{{Harvnb
|BBC
|1965}}</ref> Davis M'Gabe of the Zimbabwe African National Union (ZANU) said that "For all those who cherish freedom and a meaningful life, UDI has set a collision course which cannot be altered. [It has] marked the turning point of the struggle for freedom ... from a constitutional and political one to primarily a military struggle."<ref>{{Harvnb
|Davidson
|Slovo
|Wilkinson
|1976
|p=230}}</ref> Most major Christian denominational leaders in the country publicly rejected UDI and the assertion that it defended Christianity, with the exception of the local Dutch Reformed Church, which stated that it was apolitical and thereafter refrained from comment.<ref>{{Harvnb
|Peaden
|1979
|p=196}}</ref>
A week after UDI, Smith's government announced that Dupont, the Deputy Prime Minister, had resigned from the Cabinet to accept the post of Officer Administering the Government created by the 1965 constitution.<ref name=wood1999/> Attempting to assert his claimed prerogative as Her Majesty's Rhodesian Prime Minister, Smith advised the Queen by letter to appoint Dupont as Governor-General to supersede Gibbs. The letter was ignored.<ref>{{Harvnb
|Young
|1969
|p=324}}</ref> Dupont nevertheless effectively replaced the Governor. The Smith administration assigned him the Governor's official residence at Government House, but no attempt was made to forcibly remove Gibbs and his entourage; the post-UDI government stated that the Officer Administering the Government would live at Governor's Lodge instead "until Government House, at present temporarily occupied by Sir Humphrey Gibbs in a private capacity, becomes available".<ref name=wood1999/>
The Speaker of the Rhodesian parliament, A R W Stumbles, reconvened the Legislative Assembly on 25 November, resolving that if he did not there would be chaos. He feared that Gibbs might dramatically walk into the chamber in an attempt to stop the proceedings, but Gibbs did no such thing. The parliamentary opposition opened the meeting by asking whether the assembly was legal.<ref name=wood200821/> Ahrn Palley, the lone white opposition MP, announced that as he saw it, "certain Honourable Members in collusion have torn up the constitution under which this House meets. The proceedings have no legal validity whatsoever".<ref name=time65/> Stumbles overruled this objection and two more interruptions from Palley, and suggested that any members with reservations might leave.<ref name=wood200821/> Palley continued his loud protests until he was forcibly ejected by the Sergeant-at-Arms, shouting "This is an illegal assembly! God save the Queen!"<ref name=time65>{{Harvnb
|Time
|1965}}</ref> Gondo and eight other opposition MPs followed Palley out;<ref name=wood200821>{{Harvnb
|Wood
|2008
|p=21}}</ref> all ten of them rejoined the Legislative Assembly in February 1966.{{#tag:ref|When they then repeatedly referred to Smith's government as "the illegal regime" during parliamentary discussions, Stumbles ruled the term out of order.<ref name=wood200822>{{Harvnb
|Wood
|2008
|p=22}}</ref>|group="n"|name="outoforder"}}
Gibbs received threatening letters from the Rhodesian public, and on 26 November 1965 Smith's government cut off the telephones at Government House, and removed the ceremonial guard, the official cars "and even the typewriters", Wood records.<ref name=wood1999/> Gibbs nevertheless refused to step down or to leave Government House, issuing a statement that he would remain there "as the lawful Governor of Rhodesia until such time as constitutional government is restored, which I hope will be soon."<ref name=wood1999/> He stayed at his post, ignored by the post-UDI government, until the declaration of a republic in 1970.<ref name=wood1999/>
===British and international responses; sanctions===
Wilson was astonished by Smith's actions, and found the timing of the declaration to coincide with the Armistice Day silence deeply insulting.<ref name=thinkagain/> Describing Salisbury as "hell-bent on illegal self-destroying",<ref name=wood5/> the British Prime Minister, supported in the Commons by the Liberals and most Conservatives, called on Rhodesians to ignore the post-UDI government.<ref name=wood5/> Within hours of UDI, the UN General Assembly passed a condemnatory resolution, by 107-to-two—South Africa and Portugal voted against, and France abstained—decrying Rhodesia's actions and calling on Britain to end "the rebellion by the unlawful authorities in Salisbury".<ref>{{Harvnb
|Wood
|2008
|p=7}}</ref> The UN Security Council the next day adopted Resolution 216, which denounced the declaration of independence as illegal and racist, and called on all states to refuse recognition and assistance to the Rhodesian government. Security Council Resolution 217, following on 20 November, condemned UDI as an illegitimate "usurpation of power by a racist settler minority", and called on nations neither to recognise what it deemed "this illegal authority" nor to entertain diplomatic or economic relations with it. Both of these measures were adopted by ten votes to none with France abstaining.<ref name=gd183>{{Harvnb
|Gowlland-Debbas
|1990
|pp=183–185}}</ref>
Rhodesian black nationalists and their overseas supporters, prominently the OAU, clamoured for Britain to remove Smith's government with a military invasion, but Britain dismissed this option because of various logistical issues, the risk of provoking a pre-emptive Rhodesian strike on Zambia, and the psychological problems that were likely to accompany any confrontation between British and Rhodesian troops in what Smith said would be a "fratricidal war".<ref>{{Harvnb
|Wood
|2008
|p=6}}; {{Harvnb
|Smith
|1997
|p=110}}</ref> Wilson instead resolved to end the Rhodesian rebellion through economic sanctions; these principally comprised the expulsion of Rhodesia from the Sterling area, a ban on the import of Rhodesian sugar, tobacco, chrome and other goods, and an oil boycott of Rhodesia. When the Rhodesians continued to receive oil, Wilson attempted to directly cut off their main supply lines, namely the Portuguese Mozambican ports at Beira and Lourenço Marques, by posting a Royal Navy squadron to the Mozambique Channel in March 1966. This blockade, the Beira Patrol, was endorsed the following month by UN Security Council Resolution 221.<ref name=mobley>{{Harvnb
|Mobley
|2002
|pp=66, 71–76, 83}}</ref> The United Nations proceeded to institute the first mandatory trade sanctions in its history with Security Council Resolutions 232 (December 1966) and 253 (April 1968), which required member states to cease all trade and economic links with Rhodesia.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|pp=18, 701}}</ref>
Wilson predicted in January 1966 that the various boycotts would force Smith to give in "within a matter of weeks rather than months",<ref>{{Harvnb
|Wood
|2008
|p=47}}</ref> but the British and UN sanctions had little effect on Rhodesia, largely because South Africa and Portugal went on trading with the breakaway colony, providing it with oil and other key resources.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|p=442}}</ref> Clandestine "sanction-busting" trade with other nations also continued, initially at a reduced level, and the diminished presence of foreign competitors helped domestic industries to slowly mature and expand. Rhodesia thus avoided the economic collapse predicted by Wilson and gradually became more self-sufficient.<ref>{{Harvnb
|Rowe
|2001
|pp=124–130}}</ref> The Rhodesian government set up a string of front holding companies in Switzerland, Luxembourg and Liechtenstein to help keep trade open, with some success; goods that had previously been imported from Britain were replaced by Japanese, French and West German equivalents. Even many OAU states, while bombarding Rhodesia with vitriol, continued importing Rhodesian food and other products.<ref>{{Harvnb
|Moorcraft
|McLaughlin
|2008
|p=120}}</ref> The United States created a formal exception in its embargo with the Byrd Amendment of 1971, under which the US replaced its import of chrome from the Soviet Union with Rhodesian chrome ore. This breach of the UN sanctions, passed by the US Congress on the back of anti-communist Cold War considerations, was warmly welcomed by several white Southerners in Congress; it aided the Rhodesian economy until 1977, when the newly elected President Jimmy Carter successfully pushed Congress to repeal it.<ref>{{Harvnb
|Borstelmann
|2003
|pp=236–237}}</ref>
==Recognition==
===Foreign===
[[File:Zimbabwean embassy in London.jpg|thumb|upright|Rhodesia House, the Rhodesian High Commission in London, represented Smith's government in the UK until 1969, and became a regular target for political activists.|alt=An Edwardian building with six floors stands on a moderate day, a flag flying atop it.]]
Official diplomatic recognition by other countries was key for Rhodesia as it was the only way it could regain the international legitimacy it had lost through UDI.<ref name=white97/> Recognition by the UK itself through a bilateral settlement would be the "first prize", in Smith's words, as it would end sanctions and constitutional ambiguity and make foreign acceptance, at least in the West, far more likely.<ref>{{Harvnb
|Windrich
|1978
|p=132}}</ref> Considering their country a potentially important player in the Cold War as a "bastion against communism" in southern Africa,<ref>{{Harvnb
|Borstelmann
|2003
|p=195}}</ref> the RF posited that some Western countries might recognise UDI even without a prior Anglo-Rhodesian rapprochement. Specifically, it expected diplomatic recognition from South Africa and Portugal, and thought that France might recognise Rhodesia to annoy Britain and create a precedent for an independent Quebec.<ref name=white97>{{Harvnb
|White
|2010
|p=97}}</ref> But although South Africa and Portugal gave economic, military and limited political support to the post-UDI government (as did France and other nations, to a lesser extent), neither they nor any other country ever recognised Rhodesia as a ''de jure'' independent state.<ref>{{Harvnb
|Nel
|McGowan
|1999
|p=246}}</ref> Rhodesia's unsuccessful attempts to win Western support and recognition included offers to the US government in 1966 and 1967, ignored by Lyndon B Johnson's administration, to provide Rhodesian troops to fight alongside the Americans and other anti-communist forces in Vietnam.<ref>{{Harvnb
|Glasgow Herald
|1967}}</ref>
Britain withdrew most of its High Commission staff from Salisbury in the days following UDI, leaving a small skeleton staff to man a "residual mission" intended to help Gibbs keep the British government informed of local happenings.<ref name=berlyn171>{{Harvnb
|Berlyn
|1978
|p=171}}</ref> Several countries followed Britain's lead and closed their consulates in Salisbury, with one prominent exception to this being the United States, which retained its consulate-general in post-UDI Rhodesia, relabelling it a "US Contacts Office" to circumvent the problem of diplomatic recognition.{{#tag:ref|Australia and Canada shut down their trade missions in Salisbury, while Finland, Sweden and Turkey closed their honorary consulates. Denmark, France, Italy, Japan and the United States withdrew their heads of mission, but kept their offices open. Austria, Belgium, Greece, the Netherlands, Norway, Portugal and Switzerland retained their representative missions in Salisbury at the same levels as before UDI.<ref name=strack5152/>|group="n"|name="embassies"}} South Africa and Portugal maintained "Accredited Diplomatic Representative" offices in Salisbury, which were embassies in all but name, while Rhodesia kept its pre-UDI overseas missions in Pretoria, Lisbon and Lourenço Marques. Unofficial representative offices of the Rhodesian government also existed in the US, Japan and West Germany, while a citizen of Belgium was employed to represent Rhodesian interests there. The Rhodesian High Commission in London, located at Rhodesia House on the Strand, remained under the control of the post-UDI government and effectively became its representative office in the UK.<ref name=strack5152>{{Harvnb
|Strack
|1978
|pp=51–52}}</ref> Like the South African Embassy on Trafalgar Square, Rhodesia House became a regular target for political demonstrations. These continued even after Britain forced the office to close in 1969.<ref name=brownell>{{Harvnb
|Brownell
|2010}}</ref>
Because UDI claimed to make Rhodesia independent under the Queen as an effective dominion, many countries justified their retention of missions in Rhodesia concurrently with their non-recognition of the state by pointing out that the envoys' accreditation was to the Queen and not to Smith's government ''per se''. But Rhodesia moved away from its original line of independence as a constitutional monarchy and towards republicanism during the late 1960s, hoping to end ambiguity regarding its claimed constitutional status and elicit official foreign recognition. In March 1970, after the electorate had voted "yes" in a referendum the previous year both to a new constitution and to the abandoning of symbolic ties to the Queen, Smith's government declared Rhodesia a republic. Far from prompting recognition, this led all countries apart from Portugal and South Africa to withdraw their consulates and missions, as the justification of royal accreditation could no longer be used.<ref name=strack5152/> After Portugal's Carnation Revolution in 1974, the Rhodesian mission in Lisbon was closed in May 1975, with its counterpart in Lourenço Marques following a month later on Mozambican independence. Portugal also withdrew its own remaining officials from Rhodesia, leaving South Africa as the only country with links to Salisbury. Rhodesia's diplomatic activities were thereafter greatly diminished.<ref name=strack53>{{Harvnb
|Strack
|1978
|p=53}}</ref>
===Judicial===
The Rhodesian High Court's nine Appellate and General Division judges initially neither rejected UDI nor openly supported it. The Chief Justice Sir Hugh Beadle, of the Appellate Division, announced simply that the judges would go on carrying out their duties "according to the law".<ref name=wood1999/> This originally noncommittal stance evolved over time, largely pivoting around legal cases argued at the High Court in Salisbury between 1966 and 1968. The first of these, ''Madzimbamuto v. Lardner-Burke N. O. and Others'', concerned Daniel Madzimbamuto, a black Rhodesian who was detained without trial by the Rhodesian government on 6 November 1965, the day after the declaration of a state of emergency and five days before UDI, on the grounds that he might pose a danger to the public. Desmond Lardner-Burke, the Rhodesian Minister of Justice and Law and Order, prolonged the state of emergency in February 1966, prompting Madzimbamuto's wife to appeal for his release, arguing that since the United Kingdom had declared UDI illegal and outlawed the Rhodesian government with the Southern Rhodesia Act 1965, the state of emergency (and, by extension, Madzimbamuto's imprisonment) had no legal basis.<ref name=gowllanddebbas7576/>
The General Division of the Rhodesian High Court ruled on 9 September 1966 that legal sovereignty lay with the British government, but that to "avoid chaos and a vacuum in the law" the Rhodesian government should be considered to be in control of law and order to the same extent as before UDI. In February 1968, ruling on Madzimbamuto's appeal, Beadle concluded that the Smith administration would be recognised by the local judiciary as the ''de facto'' government by virtue of its "effective control over the state's territory", but that ''de jure'' recognition would be withheld as this was not "firmly established".<ref name=gowllanddebbas7576>{{Harvnb
|Gowlland-Debbas
|1990
|pp=75–76}}</ref> Madzimbamuto applied for the right to appeal to the British Privy Council; the Rhodesian Appellate Division promptly ruled that he had no right to do so,<ref>{{Harvnb
|Wood
|2008
|p=421}}</ref> but the Privy Council considered his case anyway.<ref name=wood487488>{{Harvnb
|Wood
|2008
|pp=487–488}}</ref>
In late February 1968, considering the fate of James Dhlamini, Victor Mlambo and Duly Shadreck, three black Rhodesians convicted of murder and terrorist offences before UDI, Beadle ruled that Salisbury retained its pre-UDI powers regarding executions and could carry out death sentences. Whitehall announced on 1 March that at the request of the UK government, the Queen had exercised the royal prerogative of mercy and commuted the three death sentences to life imprisonment. Dhlamini and the others applied for a permanent stay of execution on this basis. At the hearing for Dhlamini and Mlambo on 4 March 1968, Beadle argued that he saw the statement from London as a decision by the UK government and not the Queen herself, and that in any case the 1961 constitution had transferred the prerogative of mercy from Britain to the Rhodesian Executive Council. "The present government is the fully ''de facto'' government and as such is the only power that can exercise the prerogative", he concluded. "It would be strange indeed if the United Kingdom government, exercising no internal power in Rhodesia, were given the right to exercise the prerogative of clemency."<ref name=wood423424>{{Harvnb
|Wood
|2008
|pp=423–424}}</ref> The Judge President Sir Vincent Quenet and Justice Hector Macdonald agreed, and the application was dismissed. Justice John Fieldsend of the High Court's General Division resigned in protest, writing to Gibbs that he no longer believed the High Court to be defending the rights of Rhodesian citizens. Dhlamini, Mlambo and Shadreck were hanged on 6 March.<ref name=wood423424/>
On 23 July 1968, the Privy Council in London ruled in Madzimbamuto's favour, deciding that orders for detention made by the Rhodesian government were invalid regardless of whether the 1961 or 1965 constitution was considered effective. It declared the latter, "revolutionary" constitution illegal, and ruled that the former was overridden by the Southern Rhodesia Act 1965, which had effectively outlawed the Rhodesian legislative, administrative and legal authorities in British law. Lord Reid, delivering the majority opinion (Lord Pearce dissented), argued that the "usurper" government, though the effective master of Rhodesia, could not be considered lawful as the UK government was still attempting to regain control and it was impossible to say whether or not it would succeed. He ruled that only Whitehall could determine what constituted the maintenance of "law and order" in Rhodesia, and that the Rhodesian emergency measures were unlawful as they had been formalised by the Officer Administering the Government, a post-UDI figure who was, in British eyes, unconstitutional. Reid concluded that Madzimbamuto was illegally detained.<ref name=wood487488/> Harry Davies, one of the Rhodesian judges, announced on 8 August that the Rhodesian courts would not consider this ruling binding as they no longer accepted the Privy Council as part of the Rhodesian judicial hierarchy. Justice J R Dendy Young resigned in protest at Davies' ruling on 12 August and four days later was sworn in as Chief Justice of Botswana.<ref name=wood499>{{Harvnb
|Wood
|2008
|p=499}}</ref>
The Rhodesian High Court granted full ''de jure'' recognition to the post-UDI government on 13 September 1968, while rejecting the appeals of 32 black Rhodesians who had been a month earlier convicted of terrorist offences and sentenced to death. Beadle declared that while he believed the Rhodesian judiciary should respect rulings of the Privy Council "so far as possible", the judgement of 23 July had made it legally impossible for Rhodesian judges to continue under the 1961 constitution. He asserted that the court therefore faced a choice between the 1965 constitution and a legal vacuum, the latter of which he felt he could not endorse.<ref name=wood513>{{Harvnb
|Wood
|2008
|p=513}}</ref> Referring to the Privy Council's decision that the UK might yet remove the post-UDI government, he said that "on the facts as they exist today, the only prediction which this court can make is that sanctions will not succeed in overthrowing the present government ... and that there are no other factors which might succeed in doing so".<ref name=gowllanddebbas7576/>
Macdonald, a member of Beadle's ruling panel, argued that since UDI, the British government had acted unconstitutionally and illegally regarding Rhodesia by involving the United Nations in what should have been legally considered a domestic problem, and had concurrently abdicated its right to the allegiance of the Rhodesian people by waging economic war against the country and encouraging other nations to do the same. To support this argument, Macdonald referred to the assertion by the 17th-century Dutch jurist Hugo Grotius that "the purpose of governing and the purpose of destroying cannot subsist together".<ref name=young538541/> Since Britain was in a state of economic war against Rhodesia, the court concluded, it could not at the same time be regarded as governing it.<ref name=young538541>{{Harvnb
|Young
|1969
|pp=538–541}}</ref> UDI, the associated 1965 constitution and the government were thereafter considered ''de jure'' by the Rhodesian legal system.<ref name=gowllanddebbas7576/>
The British Commonwealth Secretary, George Thomson, promptly accused the Rhodesian judges of breaching "the fundamental laws of the land",<ref name=wood513/> while Gibbs announced that since his position as Governor existed under the 1961 constitution, which allowed appeals to the Privy Council, he could only reject the Rhodesian court ruling.<ref name=wood513/> The Rhodesian judges continued regardless. Their recognition of the post-UDI order carried over to the 1969 republican constitution, adopted in 1970.<ref name=gowllanddebbas7576/>
==Replacement of national symbols==
{{multiple image
| direction = vertical
| image1 = Flag of Rhodesia (1964–1968).svg
| width1 = 140
| alt1 = A sky blue flag with the Union Jack in the upper-left-hand corner, and a coat of arms on the right.
| caption1 = Rhodesian Sky Blue Ensign, used until 1968{{#tag:ref|This overall design dated back to 1923, but a darker blue field was used until 1964, when the shade was lightened to make the Rhodesian flag more recognisable.<ref>{{Harvnb
|Smith
|1976
|p=46}}</ref>|group="n"|name="flags"}}
| image2 = Flag of Rhodesia (1968–1979).svg
| width2 = 140
| alt2 = A flag with vertical green, white and green stripes, with a coat of arms on the central white stripe.
| caption2 = Rhodesian green-and-white triband], adopted in 1968
}}
Vestiges of British ties were removed piecemeal by the government over the decade following UDI, and replaced with symbols and terminology intended to be more uniquely Rhodesian.<ref name=nyoka>{{Harvnb
|Nyoka
|1970}}</ref> A silver "Liberty Bell", based on the bell of the same name in Philadelphia, was cast during 1966 and rung by the Prime Minister each year on Independence Day (the anniversary of UDI), the number of chimes signifying the number of years since the declaration of independence.<ref>{{Harvnb
|Wood
|2008
|p=200}}</ref> The Union Jack and Rhodesia's Commonwealth-style national flag—a defaced Sky Blue Ensign with the Union Jack in the canton—continued to fly over government buildings, military bases and other official locations until 11 November 1968, the third anniversary of UDI, when they were superseded by a new national flag: a green-white-green vertical triband, charged centrally with the Rhodesian coat of arms.<ref name=young585>{{Harvnb
|Young
|1969
|p=585}}</ref> The Union Jack continued to be ceremonially raised at Cecil Square in Salisbury on 12 September each year as part of the Pioneers' Day holiday, which marked the anniversary of the establishment of Salisbury (and, by extension, Rhodesia) in 1890.<ref>{{Harvnb
|Schwarz
|2011
|pp=394–395}}</ref>
Since Elizabeth II was still the Rhodesian head of state in the eyes of Smith's administration until 1970, "God Save the Queen" remained the Rhodesian national anthem, and continued to accompany official occasions such as the opening of the Rhodesian parliament. This was intended to demonstrate Rhodesia's continued loyalty to the Queen, but the use of the unmistakably British song at Rhodesian state occasions soon seemed "fairly ironic", as ''The Times'' put it.<ref name=buch243>{{Harvnb
|Buch
|2004
|p=243}}</ref> Salisbury started looking for a replacement anthem around the same time as its introduction of the new flag,<ref>{{Harvnb
|Vancouver Sun
|1974}}</ref> and in 1974, after four years without an anthem ("God Save the Queen" was formally dropped in 1970), republican Rhodesia adopted "Rise, O Voices of Rhodesia", an anthem coupling original lyrics with the tune of Beethoven's "Ode to Joy".<ref name=buch247248>{{Harvnb
|Buch
|2004
|pp=247–248}}</ref> The country's head of state under the republican constitution was the President of Rhodesia, the first of whom was Dupont.<ref name=pb162/>
State press censorship, which had been introduced on UDI, was lifted in early April 1968.<ref>{{Harvnb
|Wood
|2008
|pp=444–445}}</ref> Decimalisation occurred on 17 February 1970, two weeks before Rhodesia's reconstitution as a republic, with the new Rhodesian dollar replacing the pound at a rate of two dollars to each pound.<ref>{{Harvnb
|Tanser
|1975
|p=22}}</ref> Following the republic's formal declaration the next month, the Rhodesian military removed nomenclatural and symbolic references to the Crown—the Royal Rhodesian Air Force and Royal Rhodesia Regiment dropped their "Royal" prefixes, new branch and regimental flags were designed, and the St Edward's Crown surmounting many regimental emblems was expunged in favour of the "lion and tusk", a motif from the coat of arms of the British South Africa Company that had been used in Rhodesian military symbolism since the 1890s. The air force's new roundel was a green ring with the lion and tusk on a white centre.<ref name=pb162>{{Harvnb
|Petter-Bowyer
|2005
|p=162}}</ref> Later that year, a system of new Rhodesian honours and decorations was created to replace the old British honours. Rhodesia's police force, the British South Africa Police, was not renamed.<ref>{{Harvnb
|Saffery
|2006
|p=7}}</ref>
==Ending UDI==
[[File:Muzorewa 1978 b.jpg|thumb|upright|Bishop Abel Muzorewa, the country's first black Prime Minister, whose unrecognised government revoked UDI in 1979 as part of the Lancaster House Agreement|alt=A portrait photograph of Abel Muzorewa]]
Wilson told the British House of Commons in January 1966 that he would not enter any kind of dialogue with the post-UDI Rhodesian "illegal regime" until it gave up its claim of independence,<ref>{{Harvnb
|Windrich
|1978
|p=76}}</ref> but by mid-1966 British and Rhodesian civil servants were holding "talks about talks" in London and Salisbury.<ref>{{Harvnb
|Windrich
|1978
|p=87}}</ref> By November that year, Wilson had agreed to negotiate personally with Smith.<ref>{{Harvnb
|Windrich
|1978
|p=98}}</ref> The two Prime Ministers unsuccessfully attempted to settle aboard HMS ''Tiger'' in December 1966 and HMS ''Fearless'' in October 1968. After the Conservatives returned to power in Britain in 1970, provisional agreement was reached in November 1971 between the Rhodesian government and a British team headed by Douglas-Home (who was Foreign Secretary under Prime Minister Edward Heath), and in early 1972 a Royal Commission chaired by Lord Pearce travelled to Rhodesia to investigate how acceptable the proposals were to majority opinion. After extensive consultation, the commission reported that while whites, coloureds and Asians were largely in favour of the presented terms, most blacks rejected them. The deal was therefore shelved by the British government.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|p=87}}</ref>
The Rhodesian Bush War, a guerrilla conflict pitting the Rhodesian Security Forces against the Zimbabwe African National Liberation Army (ZANLA) and the Zimbabwe People's Revolutionary Army (ZIPRA), the respective armed wings of ZANU and ZAPU, began in earnest in December 1972, when ZANLA attacked Altena and Whistlefield Farms in north-eastern Rhodesia.<ref name="binda133136">{{Harvnb
|Binda
|2008
|pp=133–136}}</ref> The 1974 Carnation Revolution in Portugal, which over the next year replaced Portuguese support for Smith with an independent, Marxist–Leninist Mozambique on Rhodesia's eastern frontier, greatly swung the war's momentum in favour of the nationalists (particularly ZANU, which was allied with Mozambique's governing FRELIMO party), and caused the sanctions on Rhodesia to finally begin having a noticeable effect.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|pp=87–88}}; {{Harvnb
|Gastil
|1980
|pp=159–160}}; {{Harvnb
|Olson
|Shadle
|1996
|p=1030}}</ref> Diplomatic isolation, the sanctions, guerrilla activities and pressure from South Africa to find a settlement led the Rhodesian government to hold talks with the various black Rhodesian factions. Abortive conferences were held at Victoria Falls (in 1975) and Geneva (1976).<ref>{{Harvnb
|Gastil
|1980
|pp=159–160}}; {{Harvnb
|Moorcraft
|McLaughlin
|2008
|p=89}}</ref> Despite ideological and tribal rifts, ZANU and ZAPU nominally united as the "Patriotic Front" (PF) in late 1976 in a successful attempt to augment overseas support for the black Rhodesian cause.<ref>{{Harvnb
|Cilliers
|1984
|pp=34–35}}</ref>
By the mid-1970s, it was apparent that white minority rule could not continue forever. Even Vorster realized that white rule in a country where blacks outnumbered whites 22:1 was not a realistic option.<ref name="impression">{{cite web |url=http://www.aliciapatterson.org/APF001975/Wright/Wright12/Wright12.html |title=APF newsletter, "Appraisal of Rhodesia in 1975" |url-status=dead |archiveurl=https://web.archive.org/web/20090531063909/http://www.aliciapatterson.org/APF001975/Wright/Wright12/Wright12.html |archivedate=31 May 2009 |df=dmy-all }}</ref> Smith, who was decisively re-elected three times during the 1970s, eventually came to this conclusion as well. He announced his acceptance in principle of one man, one vote during Henry Kissinger's Anglo-American initiative in September 1976, and in March 1978 concluded the Internal Settlement with non-militant nationalist groups headed by Bishop Abel Muzorewa, the Reverend Ndabaningi Sithole and Chief Jeremiah Chirau. This settlement, boycotted by the PF and rejected internationally,<ref>{{Harvnb
|Gowlland-Debbas
|1990
|pp=88–89, 187–191}}; {{Harvnb
|Gastil
|1980
|pp=159–160}}</ref> led to multiracial elections and Rhodesia's reconstitution under majority rule as Zimbabwe Rhodesia in June 1979. Muzorewa, the electoral victor, took office as the country's first black Prime Minister at the head of a coalition Cabinet comprising 12 blacks and five whites,<ref>{{Harvnb
|Gowlland-Debbas
|1990
|p=79}}</ref> including Smith as minister without portfolio.<ref>{{Harvnb
|Olson
|Shadle
|1996
|p=1030}}</ref> Dismissing Muzorewa as a "neocolonial puppet",<ref>{{Harvnb
|Winn
|1979}}</ref> ZANLA and ZIPRA continued their armed struggle until December 1979, when Whitehall, Salisbury and the Patriotic Front settled at Lancaster House. Muzorewa's government revoked UDI, thereby ending the country's claim to be independent after 14 years, and dissolved itself. The UK suspended the constitution and vested full executive and legislative powers in a new Governor, Lord Soames, who oversaw a ceasefire and fresh elections during February and March 1980. These were won by ZANU, whose leader Robert Mugabe became Prime Minister when the UK granted independence to Zimbabwe as a republic within the Commonwealth in April 1980.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|pp=89–91}}</ref>
==Notes and references==
'''Footnotes'''
{{reflist|group=n|colwidth=35em}}
'''References'''
{{reflist|colwidth=20em}}
'''Speeches'''
{{refbegin}}
*{{cite web
|title=Rhodesia's Position Within the Commonwealth
|first=Roy
|last=Welensky
|authorlink=Roy Welensky
|event=Empire Club of Canada Addresses
|location=Toronto
|date=8 April 1965
|url=http://speeches.empireclub.org/61140/data
|pages=314–319
|accessdate=5 June 2013
|ref=harv}}
{{refend2}}
'''Newspaper and journal articles'''
{{refbegin}}
*{{cite journal
|title='A Sordid Tussle on the Strand': Rhodesia House during the UDI Rebellion (1965–80)
|last=Brownell
|first=Josiah
|year=2010
|journal=The Journal of Imperial and Commonwealth History
|volume=38
|issue=3
|pages=471–499
|doi=10.1080/03086534.2010.503398
|ref=harv}}
*{{cite journal
|title=Rhodesia: The Last Chance#
|journal=Fabian Tracts |issue=368
|last=Cunningham
|first=George
|authorlink=George Cunningham (British politician)
|date=September 1966
|location=London
|publisher=Fabian Society
|ref=harv}}
*{{cite journal
|title=Rhodesia's Face of Defiance
|url=https://books.google.com/?id=XVYEAAAAMBAJ&pg=PA22&dq=%22#v=onepage&q&f=false
|last=Hall
|first=Lee
|journal=Life
|date=27 May 1966
|accessdate=11 June 2013
|pages=22–30
|ref=harv}}
*{{cite journal
|title=Zimbabwe and the Commonwealth
|last=McWilliam
|first=Michael
|date=January 2003
|journal=The Round Table
|volume=92
|issue=368
|pages=89–98
|doi=10.1080/750456746
|ref=harv}}
*{{cite journal
|title = The Beira patrol: Britain's broken blockade against Rhodesia
|last = Mobley
|first = Richard
|date = Winter 2002
|volume = LV
|pages = 63–84
|journal = Naval War College Review
|url = http://www.usnwc.edu/getattachment/5b9b2e96-200c-4d99-b8bb-0e3490488bfa/Beira-Patrol,-The--Britain-s-Broken-Blockade-again
|issue = 1
|ref = harv
|url-status = dead
|archiveurl = https://web.archive.org/web/20140914110201/https://www.usnwc.edu/getattachment/5b9b2e96-200c-4d99-b8bb-0e3490488bfa/Beira-Patrol%2C-The--Britain-s-Broken-Blockade-again
|archivedate = 14 September 2014
|df = dmy-all
}}
*{{cite journal
|title=Rhodesia's War of Independence
|url=http://www.historytoday.com/paul-moorcraft/rhodesias-war-independence
|last=Moorcraft
|first=Paul
|authorlink=Paul Moorcraft
|journal=History Today
|issn=0018-2753
|year=1990
|volume=40
|issue=9
|accessdate=11 June 2013
|ref=harv}}
*{{cite journal
|title='More a Cause than a Country': Historiography, UDI and the Crisis of Decolonisation in Rhodesia
|last=Nyamunda
|first=Tinashe
|journal=Journal of Southern African Studies
|year=2016
|volume=42
|number=5
|pages=1005–1019
|issn=0305-7070
|ref=harv|doi=10.1080/03057070.2016.1222796
}}
*{{cite news
|title=Smith regime doing away with last British influences
|last=Nyoka
|first=Justin V J
|journal=The Afro-American
|location=Baltimore, Maryland
|publisher=The Afro-American Company
|url=https://news.google.com/newspapers?nid=2211&dat=19700718&id=5iYmAAAAIBAJ&sjid=_f0FAAAAIBAJ&pg=2344,379690
|page=22
|date=18 July 1970
|accessdate=11 June 2013
|ref=harv}}
*{{cite journal
|title=Aspects of the Church and its Political Involvement in Southern Rhodesia, 1959–1972
|last=Peaden
|first=W R
|url=http://archive.lib.msu.edu/DMC/African%20Journals/pdfs/Journal%20of%20the%20University%20of%20Zimbabwe/vol7n2/juz007002006.pdf
|journal=Zambezia
|year=1979
|volume=7
|number=2
|pages=191–210
|issn=0379-0622
|accessdate=4 July 2013
|ref=harv}}
*{{cite journal
|title=Violence Variously Remembered: the Killing of Pieter Oberholzer in July 1964
|last=Ranger
|first=Terence
|authorlink=Terence Ranger
|journal=History in Africa
|year=1997
|volume=24
|pages=273–286
|jstor=3172030
|doi=10.2307/3172030
|ref=harv}}
*{{cite journal
|last=Lord St Brides
|authorlink=Morrice James, Baron St Brides
|title=The Lessons of Zimbabwe-Rhodesia
|journal=International Security
|date=April 1980
|volume=4
|issue=4
|pages=177–184
|jstor=2626673
|doi=10.2307/2626673
|ref={{harvid|St Brides|1980}}}}
*{{cite journal
|title=Despite Rhodesia's Elections, Robert Mugabe Vows to Wage Guerrilla War 'to the Last Man'
|last=Winn
|first=Michael
|journal=People
|url=http://www.people.com/people/archive/article/0,,20073566,00.html
|volume=11
|number=18
|date=7 May 1979
|accessdate=11 June 2013
|ref=harv}}
*{{cite journal
|title=Rhodesia: The Shortened Fuse
|journal=Time
|url=http://www.time.com/time/magazine/article/0,9171,842248-1,00.html
|date=3 December 1965
|accessdate=24 July 2013
|ref={{harvid|Time|1965}}}}
*{{cite news
|title=US snubs Rhodesia over troops for Vietnam
|url=https://news.google.com/newspapers?id=72NAAAAAIBAJ&sjid=caMMAAAAIBAJ&pg=2984,4130302&dq=&hl=en
|work=The Glasgow Herald
|publisher=Lord Fraser
|location=Glasgow
|date=20 May 1967
|accessdate=21 June 2013
|page=7
|ref={{harvid|Glasgow Herald|1967}}}}
*{{cite news
|title=Rhodesia Declares Independence, Provokes Wrath
|url=https://news.google.com/newspapers?id=aPhRAAAAIBAJ&sjid=VnQDAAAAIBAJ&pg=6679%2C762352
|work=The St. Petersburg Times
|publisher=Times Publishing Company
|location=St. Petersburg, Florida
|date=12 November 1965
|accessdate=11 June 2013
|pages=1–A, 7–A
|ref={{harvid|St. Petersburg Times|1965}}}}
*{{cite news
|title=Rhodesia picks Ode to Joy
|url=https://news.google.com/newspapers?id=cHBmAAAAIBAJ&sjid=XosNAAAAIBAJ&pg=6475,5011881&dq
|work=The Vancouver Sun
|location=Vancouver, British Columbia
|publisher=Postmedia News
|page=12
|date=30 August 1974
|accessdate=11 June 2013
|ref={{harvid|Vancouver Sun|1974}}}}
{{refend2}}
'''Online sources'''
{{refbegin}}
*{{cite web
|last=Wood
|first=J R T
|title=Four Tall NCOs of the Life Guards: Lord Mountbatten, Harold Wilson, and the Immediate Aftermath of UDI: The Proposed Mountbatten Mission
|url=http://www.jrtwood.com/article_guardsmen.asp
|year=1999
|work=jrtwood.com
|location=Durban
|accessdate=10 June 2013
|ref=harv}}
*{{cite web
|title=1965: Rhodesia breaks from UK
|url=http://news.bbc.co.uk/onthisday/hi/dates/stories/november/11/newsid_2658000/2658445.stm
|publisher=BBC
|location=London
|date=11 November 1965
|accessdate=4 July 2013
|ref={{harvid|BBC|1965}}}}
{{refend2}}
'''Bibliography'''
{{refbegin|colwidth=35em}}
*{{cite book
|title=Guide to the Historical Manuscripts in the National Archives of Rhodesia
|last1=Baxter
|first1=T W
|last2=Burke
|first2=E E
|year=1970
|location=Salisbury
|publisher=National Archives of Rhodesia
|edition=First
|asin=B0017HAKHI
|ref=harv}}
*{{cite book
|title=Rhodesia: Beleaguered Country
|last=Berlyn
|first=Phillippa
|location=London
|publisher=Mitre Press
|year=1967
|isbn=978-0-7051-9002-2
|ref=harv}}
*{{cite book
|title=The Quiet Man: A Biography of the Hon. Ian Douglas Smith
|last=Berlyn
|first=Phillippa
|location=Salisbury
|publisher=M O Collins
|date=April 1978
|oclc=4282978
|ref=harv}} also includes (on pp. 240–256) {{cite journal
|title=Constitutional History of Rhodesia: An outline
|last=Rowland
|first=J Reid
|ref={{harvid|Rowland|1978}}}}
*{{cite book
|title=The Saints: The Rhodesian Light Infantry
|last=Binda
|first=Alexandre
|location=Johannesburg
|publisher=30° South Publishers
|date=May 2008
|isbn=978-1-920143-07-7
|ref=harv}}
*{{cite book
|title=A History of Rhodesia
|last=Blake
|first=Robert
|authorlink=Robert Blake, Baron Blake
|year=1977
|edition=First
|location=London
|publisher=Eyre Methuen
|isbn=978-0-413-28350-4
|ref=harv}}
*{{cite book
|title=The Cold War and the Color Line: American Race Relations in the Global Arena
|last=Borstelmann
|first=Thomas
|location=Cambridge, Massachusetts
|publisher=Harvard University Press
|date=September 2003
|isbn=978-0-674-01238-7
|ref=harv
|url=https://archive.org/details/coldwarcolo00thom
}}
*{{cite book
|title=Beethoven's Ninth: A Political History
|last=Buch
|first=Esteban
|others=Trans. Miller, Richard
|publisher=University Of Chicago Press
|location=Chicago, Illinois
|date=May 2004
|origyear=1999
|isbn=978-0-226-07824-3
|ref=harv}}
*{{cite book
|title=Under the Skin: The Death of White Rhodesia
|last=Caute
|first=David
|authorlink=David Caute
|date=June 1983
|edition=First
|location=Evanston, Illinois
|publisher=Northwestern University Press
|isbn=978-0-8101-0658-1
|ref=harv
|url=https://archive.org/details/underskindeat00caut
}}
*{{cite book
|title=Counter-Insurgency in Rhodesia
|last=Cilliers
|first=Jakkie
|location=London, Sydney & Dover, New Hampshire
|publisher=Croom Helm
|date=December 1984
|isbn=978-0-7099-3412-7
|ref=harv}}
*{{cite book
|title=Southern Africa: The New Politics of Revolution
|last1=Davidson
|first1=Basil
|author1-link=Basil Davidson
|last2=Slovo
|first2=Joe
|author2-link=Joe Slovo
|last3=Wilkinson
|first3=Anthony R
|publisher=Penguin Books
|location=Harmondsworth, England
|year=1976
|edition=First
|isbn=978-0-14-021963-0
|ref=harv}}
*{{cite book
|title=A Right to be Proud: The Struggle for Self-Government and the Roots of White Nationalism in Rhodesia, 1890–1922
|last=Di Perna
|first=Anthony D
|year=1978
|origyear=1973
|publisher=Books of Rhodesia
|location=Bulawayo
|isbn=978-0-86920-176-3
|ref=harv}}
*{{cite book
|title=Politics & government in African states, 1960–1985
|editor1-last=Duignan
|editor1-first=Peter
|editor2-last=Jackson
|editor2-first=Robert H
|location=London, Sydney & Dover, New Hampshire
|publisher=Croom Helm
|date=May 1986
|isbn=978-0-8179-8482-3
|ref=harv}}
*{{cite book
|title=International Diplomacy and Colonial Retreat
|editor1-last=Fedorowich
|editor1-first=Kent
|editor2-last=Thomas
|editor2-first=Martin
|year=2001
|location=London
|publisher=Frank Cass
|isbn=978-0-7146-5063-0
|ref=harv}}
*{{cite book
|title=The Silence of Great Zimbabwe: Contested Landscapes and the Power of Heritage
|last=Fontein
|first=Joost
|location=London
|publisher=University College London Press
|date=September 2006
|edition=First
|isbn=978-1-84472-123-8
|ref=harv}}
*{{cite book
|title=Freedom in the World: Political Rights and Civil Liberties, 1980
|editor-last=Gastil
|editor-first=Raymond
|editor-link=Raymond Gastil
|location=New York
|publisher=Freedom House
|year=1980
|isbn=978-0-87855-852-0
|ref=harv|title-link=Freedom in the World
}}
*{{cite book
|title=Collective Responses to Illegal Acts in International Law: United Nations action in the question of Southern Rhodesia
|last=Gowlland-Debbas
|first=Vera
|publisher=Martinus Nijhoff Publishers
|location=Leiden and New York
|year=1990
|edition=First
|isbn=978-0-7923-0811-9
|ref=harv}}
*{{cite book
|title=Sourcebook on Public International Law
|last=Hillier
|first=Tim
|year=1998
|edition=First
|location=London & Sydney
|publisher=Cavendish Publishing
|isbn=978-1-85941-050-9
|ref=harv}}
*{{cite book
|title=Quasi-States: Sovereignty, International Relations and the Third World
|last=Jackson
|first=Robert H
|year=1990
|location=Cambridge, England
|publisher=Cambridge University Press
|isbn=978-0-521-44783-6
|ref=harv}}
*{{cite book
|title=Defunct Federalisms: Critical Perspectives on Federal Failure
|editor1-last=Kavalski
|editor1-first=Emilian
|editor2-last=Zolkos
|editor2-first=Magdalena
|location=Farnham, England
|publisher=Ashgate Publishing
|date=September 2008
|isbn=978-0-7546-4984-7
|ref=harv}}
*{{cite book
|title=The Struggle for Zimbabwe
|last1=Martin
|first1=David
|last2=Johnson
|first2=Phyllis
|date=July 1981
|edition=First
|location=London
|publisher=Faber and Faber
|isbn=978-0-571-11066-7
|ref=harv}}
*{{cite book
|title=General History of Africa, VIII: Africa Since 1935
|editor-last=Mazrui
|editor-first=Ali Al'Amin
|editor-link=Ali Mazrui
|year=1993
|edition=First
|location=Paris
|publisher=United Nations Educational, Scientific and Cultural Organization
|isbn=978-92-3-102758-1
|ref=harv
|url-access=registration
|url=https://archive.org/details/unescogeneralhis08alim
}}
*{{cite book
|title=The First Dance of Freedom: Black Africa in the postwar era
|url=https://archive.org/details/firstdanceoffree00mere
|url-access=registration
|last=Meredith
|first=Martin
|authorlink=Martin Meredith
|year=1984
|location=New York
|publisher=HarperCollins
|isbn=978-0-06-430150-3
|ref=harv}}
*{{cite book
|title=Ragtime Soldiers: the Rhodesian Experience in the First World War
|last=McLaughlin
|first=Peter
|authorlink=Peter McLaughlin
|publisher=Books of Zimbabwe
|location=Bulawayo
|year=1980
|isbn=978-0-86920-232-6
|ref=harv
|url=https://archive.org/details/ragtimesoldiersr00mcla
}}
* Michel, Eddie. ''The White House and White Africa: Presidential Policy Toward Rhodesia During the UDI Era, 1965-1979'' (New York: Routledge, 2019). {{ISBN|9781138319998}} [https://issforum.org/roundtables/PDF/Roundtable-XXI-6.pdf online review]
*{{cite book
|title=The Rhodesian War: A Military History
|last1=Moorcraft
|first1=Paul L
|authorlink1=Paul Moorcraft
|last2=McLaughlin
|first2=Peter
|authorlink2=Peter McLaughlin
|date=April 2008
|origyear=1982
|location=Barnsley
|publisher=Pen and Sword Books
|isbn=978-1-84415-694-8
|ref=harv}}
*{{cite book
|title=The House of Lords and the Labour government, 1964–1970
|last=Morgan
|first=Janet P
|location=Oxford
|publisher=Clarendon Press
|date=April 1975
|isbn=978-0-19-827191-8
|ref=harv
|url=https://archive.org/details/houseoflordslabo0000morg
}}
*{{cite book
|title=Do 'Zimbabweans' Exist? Trajectories of Nationalism, National Identity Formation and Crisis in a Postcolonial State
|last=Ndlovu-Gatsheni
|first=Sabelo J
|location=Bern
|publisher=Peter Lang AG
|year=2009
|edition=First
|isbn=978-3-03911-941-7
|ref=harv}}
*{{cite book
|title=Power, Wealth and Global Order: an International Relations Textbook for Africa
|editor1-last=Nel
|editor1-first=Philip
|editor2-last=McGowan
|editor2-first=Pat
|year=1999
|edition=First
|location=Cape Town
|publisher=University of Cape Town Press
|isbn=978-1-919713-30-4
|ref=harv}}
*{{cite book
|title=Zimbabwe, a Country Study
|series=Area Handbook Series
|editor-last=Nelson
|editor-first=Harold D
|year=1983
|location=Washington, D.C.
|publisher=Department of the Army, American University
|edition=Second
|oclc=227599708
|ref=harv}}
*{{cite book
|title=Historical Dictionary of the British Empire: K–Z
|editor1-last=Olson
|editor1-first=James Stuart
|editor1-link=James S. Olson
|editor2-last=Shadle
|editor2-first=Robert
|year=1996
|location=Westport, Connecticut
|publisher=Greenwood Publishing Group
|isbn=978-0-313-27917-1
|ref=harv}}
*{{cite book
|title=The Constitutional History and Law of Southern Rhodesia 1888–1965, with Special Reference to Imperial Control
|last=Palley
|first=Claire
|authorlink=Claire Palley
|year=1966
|edition=First
|location=Oxford
|publisher=Oxford University Press
|oclc=406157
|ref=harv}}
*{{cite book
|title=Rhodesian Independence
|series=Interim History
|editor-last=Peterson
|editor-first=Robert W
|year=1971
|location=New York
|publisher=Facts On File
|isbn=978-0-87196-184-6
|ref=harv}}
*{{cite book
|title=Winds of Destruction: the Autobiography of a Rhodesian Combat Pilot
|last=Petter-Bowyer
|first=P J H
|date=November 2005
|origyear=2003
|location=Johannesburg
|publisher=30° South Publishers
|isbn=978-0-9584890-3-4
|ref=harv}}
*{{cite book
|title=Manipulating the Market: Understanding Economic Sanctions, Institutional Change, and the Political Unity of White Rhodesia
|last=Rowe
|first=David M
|year=2001
|edition=First
|location=Ann Arbor, Michigan
|publisher=University of Michigan Press
|isbn=978-0-472-11187-9
|ref=harv}}
*{{cite book
|title=Rhodesia Medal Roll: Honours and Decorations of the Rhodesian Conflict 1970–1981
|last=Saffery
|first=David
|date=August 2006
|location=London
|publisher=Jeppestown Press
|isbn=978-0-9553936-0-0
|ref=harv}}
*{{cite book
|title=The White Man's World
|last=Schwarz
|first=Bill
|location=Oxford
|publisher=Oxford University Press
|year=2011
|edition=First
|isbn=978-0-19-929691-0
|ref=harv}}
*{{cite book
|title=The Great Betrayal: The Memoirs of Ian Douglas Smith
|last=Smith
|first=Ian
|authorlink=Ian Smith
|date=June 1997
|location=London
|publisher=John Blake Publishing
|isbn= 978-1-85782-176-5
|ref=harv|title-link=The Great Betrayal: The Memoirs of Ian Douglas Smith
}}
*{{cite book
|title=The Flag Bulletin. ''Volumes 15–17''
|editor-last=Smith
|editor-first=Whitney
|editor-link=Whitney Smith
|year=1976
|publisher=Flag Research Center
|location=Winchester, Massachusetts
|ref=harv}}
*{{cite book
|title=Sanctions: The Case of Rhodesia
|last=Strack
|first=Harry R
|date=May 1978
|publisher=Syracuse University Press
|location=Syracuse, New York
|edition=First
|isbn=978-0-8156-2161-4
|ref=harv}}
*{{cite book
|title=The Guide to Rhodesia
|last=Tanser
|first=George Henry
|year=1975
|location=Johannesburg & Salisbury
|publisher=Winchester Press
|isbn=978-0-620-01590-5
|ref=harv}}
*{{cite book
|title=Black and White Elites in Rural Rhodesia
|last=Weinrich
|first=A K H
|year=1973
|location=Manchester
|publisher=Manchester University Press
|isbn=978-0-7190-0533-6
|ref=harv}}
*{{cite book
|title=Welensky's 4000 Days
|last=Welensky
|first=Roy
|authorlink=Roy Welensky
|year=1964
|location=London
|publisher=HarperCollins
|oclc=460725368
|ref=harv}}
*{{cite book
|title=P K van der Byl: African Statesman
|last=Wessels
|first=Hannes
|location=Johannesburg
|publisher=30° South Publishers
|date=July 2010
|isbn=978-1-920143-49-7
|ref=harv}}
*{{cite book
|title=The Rise of an African Middle Class: Colonial Zimbabwe, 1898–1965
|last=West
|first=Michael O
|date=August 2002
|location=Bloomington, Indiana
|publisher=Indiana University Press
|isbn=978-0-253-21524-6
|ref=harv}}
*{{cite news
|last=White
|first=Luise
|title=The Utopia of Working Phones: Rhodesian Independence and the Place of Race in Decolonization
|ref={{harvid|White|2010}}}} in {{cite book
|title=Utopia/Dystopia: Conditions of Historical Possibility
|editor1-last=Gordin
|editor1-first=Michael D
|editor2-last=Tilley
|editor2-first=Helen
|editor3-last=Prakash
|editor3-first=Gyan
|location=Princeton, New Jersey
|publisher=Princeton University Press
|date=August 2010
|pages=94–116
|isbn=978-1-4008-3495-2}}
*{{cite book
|title=Smith of Rhodesia: A Pictorial Biography
|last=White
|first=Matthew C
|location=Cape Town
|publisher=Don Nelson
|year=1978
|isbn=978-0-909238-36-0
|ref=harv}}
*{{cite book
|title=The Labour Government, 1964–70: A Personal Record
|last=Wilson
|first=Harold
|authorlink=Harold Wilson
|year=1974
|origyear=1971
|publisher=Penguin Books
|location=Harmondsworth, England
|isbn=978-0-14-021762-9
|ref=harv
|url=https://archive.org/details/isbn_0140217622
}}
*{{cite book
|title=Britain and the Politics of Rhodesian Independence
|last=Windrich
|first=Elaine
|year=1978
|location=London
|publisher=Croom Helm
|isbn=978-0-85664-709-3
|ref=harv}}
*{{cite book
|title=So Far and No Further! Rhodesia's Bid For Independence During the Retreat From Empire 1959–1965
|last=Wood
|first=J R T
|date=June 2005
|location=Victoria, British Columbia
|publisher=Trafford Publishing
|isbn=978-1-4120-4952-8
|ref=harv}}
*{{cite book
|title=A Matter of Weeks Rather Than Months: The Impasse Between Harold Wilson and Ian Smith: Sanctions, Aborted Settlements and War 1965–1969
|last=Wood
|first=J R T
|date=April 2008
|location=Victoria, British Columbia
|publisher=Trafford Publishing
|isbn=978-1-4251-4807-2
|ref=harv}}
*{{cite book
|title=Rhodesia and Independence: A Study in British Colonial Policy
|last=Young
|first=Kenneth
|year=1969
|origyear=1967
|location=London
|publisher=J M Dent & Sons
|oclc=955160
|ref=harv}}
{{refend2}}
{{BookCat}}
c7mimpb7eokyuqiq61b7kuxdw5siru6
4639923
4639921
2026-06-11T15:12:48Z
Dirk Hünniger
343292
Undid revision [[Special:Diff/4639921|4639921]] by [[Special:Contributions/Dirk Hünniger|Dirk Hünniger]] ([[User talk:Dirk Hünniger|discuss]])
4639923
wikitext
text/x-wiki
{{dewikify}}
The '''Unilateral Declaration of Independence''' ('''UDI''') was a statement adopted by the Cabinet of Rhodesia on 11 November 1965, announcing that Rhodesia,{{#tag:ref||group="n"|name="name"}} a British territory in southern Africa that had governed itself since 1923, now regarded itself as an independent sovereign state. The culmination of a protracted dispute between the British and Rhodesian governments regarding the terms under which the latter could become fully independent, it was the first unilateral break from the United Kingdom by one of its colonies since the United States Declaration of Independence in 1776. The UK, the Commonwealth and the United Nations all deemed Rhodesia's UDI illegal, and economic sanctions, the first in the UN's history, were imposed on the breakaway colony. Amid near-complete international isolation, Rhodesia continued as an unrecognised state with the assistance of South Africa and Portugal.
The Rhodesian government, which mostly comprised members of the country's white minority of about 5%, was indignant when, amid the UK colonial government's ''Wind of Change'' policies of decolonisation, less developed African colonies to the north without comparable experience of self-rule quickly advanced to independence during the early 1960s while Rhodesia was refused sovereignty under the newly ascendant principle of "no independence before majority rule" ("NIBMAR"). Most white Rhodesians felt that they were due independence following four decades of self-government, and that the British government was betraying them by withholding it. This combined with the colonial government's acute reluctance to hand over power to black Rhodesians—the manifestation of racial tensions, Cold War anti-communism and the fear that a dystopian Congo-style situation might result—to create the impression that if the UK did not grant independence, Rhodesia might be justified in taking it unilaterally.
A stalemate developed between the British and Rhodesian prime ministers, Harold Wilson and Ian Smith respectively, between 1964 and 1965. Dispute largely surrounded the British condition that the terms for independence had to be acceptable "to the people of the country as a whole"; Smith contended that this was met, while the UK and black Rhodesian leaders held that it was not. After Wilson proposed in late October 1965 that the UK might safeguard future black representation in the Rhodesian parliament by withdrawing some of the colonial government's devolved powers, then presented terms for an investigatory Royal Commission that the Rhodesians found unacceptable, Smith and his Cabinet declared independence. Calling this treasonous, the British colonial governor, Sir Humphrey Gibbs, formally dismissed Smith and his government, but they ignored him and appointed an "Officer Administering the Government" to take his place.
While no country recognised the UDI, the Rhodesian High Court deemed the post-UDI government legal and ''de jure'' in 1968. The Smith administration initially professed continued loyalty to Queen Elizabeth II, but abandoned this in 1970 when it declared a republic in an unsuccessful attempt to win foreign recognition. The Rhodesian Bush War, a guerrilla conflict between the government and two rival communist-backed black Rhodesian groups, began in earnest two years later, and after several attempts to end the war Smith concluded the Internal Settlement with non-militant nationalists in 1978. Under these terms the country was reconstituted under black rule as Zimbabwe Rhodesia in June 1979, but this new order was rejected by the guerrillas and the international community. The Bush War continued until Zimbabwe Rhodesia revoked its UDI as part of the Lancaster House Agreement in December 1979. Following a brief period of direct British rule, the country was granted internationally recognised independence under the name Zimbabwe in 1980.
==Background==
===A unique case===
[[File:Zimbabwe in Africa.svg|thumb|Southern Rhodesia (or Rhodesia), highlighted in red on a map of Africa|alt=A map. See description]]
The southern African territory of Rhodesia, officially Southern Rhodesia,{{#tag:ref|Renamed Zimbabwe in 1980.<ref>{{Harvnb
|Wessels
|2010
|p=273}}</ref> The official name of the colony under British law was Southern Rhodesia, but the colonial government switched to using the name Rhodesia in October 1964, when Northern Rhodesia changed its name to Zambia concurrently with its independence from Britain.<ref name="palley742743"/>|group="n"|name="name"}} was a unique case in the British Empire and Commonwealth: although a colony in name, it was internally self-governing and constitutionally not unlike a dominion.<ref name=rowland247248>{{Harvnb
|Rowland
|1978
|pp=247–248}}</ref> This situation dated back to 1923, when it was granted responsible government within the Empire as a self-governing colony, following three decades of administration and development by the British South Africa Company.<ref name=rowland245246>{{Harvnb
|Rowland
|1978
|pp=245–246}}</ref> Britain had intended Southern Rhodesia's integration into the Union of South Africa as a new province, but this having been rejected by registered voters in the 1922 government referendum, the territory was moulded into a prospective dominion instead.<ref>{{Harvnb
|Wood
|2005
|p=9}}</ref> It was empowered to run its own affairs in almost all respects, including defence.{{#tag:ref|Powers reserved to the British government at Whitehall under the 1923 constitution concerned foreign affairs, alterations to the constitution, the British-appointed Governor's salary, and bills regarding native administration, mining revenues and railways. Laws relevant to these subjects had to receive assent from the Governor (and, by extension, Whitehall), but all other bills could be passed by Salisbury without interference.<ref name=rowland247248/>|group="n"|name="selfgoverning"}}
Whitehall's powers over Southern Rhodesia under the 1923 constitution were, on paper, considerable; the British Crown was theoretically able to cancel any passed bill within a year, or alter the constitution however it wished. These reserved powers were intended to protect the indigenous black Africans from discriminatory legislation and to safeguard British commercial interests in the colony,<ref name=rowland247248/> but as Claire Palley comments in her constitutional history of the country, it would have been extremely difficult for Whitehall to enforce such actions, and attempting to do so would have probably caused a crisis.<ref>{{Harvnb
|Palley
|1966
|p=230}}</ref> In the event, they were never exercised. A generally co-operative relationship developed between Whitehall and the colonial government and civil service in Salisbury, and dispute was rare.<ref name=rowland247248/>
The 1923 constitution was drawn up in non-racial terms, and the electoral system it devised was similarly open, at least in theory. Voting qualifications regarding personal income, education and property, similar to those of the Cape Qualified Franchise, were applied equally to all, but since most blacks did not meet the set standards, both the electoral roll and the colonial parliament were overwhelmingly from the white minority of about 5%.<ref name=gd4853/><ref name=pops/> The result was that black interests were sparsely represented if at all, something that most of the colony's whites showed little interest in changing;<ref name=gd4853/> they claimed that most blacks were uninterested in Western-style political process and that they would not govern properly if they took over.<ref>{{Harvnb
|Weinrich
|1973
|pp=69–72}}</ref> Bills such as the Land Apportionment Act of 1930, which earmarked about half of the country for white ownership and residence while dividing the rest into black purchase, tribal trust and national areas, were variously biased towards the white minority.<ref name=gd4853>{{Harvnb
|Gowlland-Debbas
|1990
|pp=48–53}}</ref> White settlers and their offspring provided most of the colony's administrative, industrial, scientific and farming skills, and built a relatively balanced, partially industrialised market economy, boasting strong agricultural and manufacturing sectors, iron and steel industries and modern mining enterprises.<ref>{{Harvnb
|Duignan
|Jackson
|1986
|p=164}}</ref>
In the wider Imperial context, Southern Rhodesia occupied a category unto itself because of the "special quasi-independent status" it held.<ref name=stbrides/> The Dominions Office, formed in 1925 to handle British relations with the dominions of Australia, Canada, New Zealand, Newfoundland, South Africa and the Irish Free State, also dealt with Southern Rhodesia, and Imperial Conferences included the Southern Rhodesian Prime Minister alongside those of the dominions from 1932.<ref name=stbrides>{{Harvnb
|St Brides
|1980}}</ref> This unique arrangement continued following the advent of Commonwealth Prime Ministers' Conferences in 1944.<ref>{{Harvnb
|Berlyn
|1978
|pp=134–142}}</ref> Southern Rhodesians of all races fought for Britain in the Second World War, and the colonial government gradually received more autonomy regarding external affairs.<ref name=rowland247248/> During the immediate post-war years, Southern Rhodesian politicians generally thought that they were as good as independent as they were, and that full autonomy in the form of dominionship would make little difference to them.<ref name=smith32>{{Harvnb
|Smith
|1997
|p=32}}</ref> Post-war immigration to Southern Rhodesia, mainly from Britain, Ireland and South Africa, caused the white community to swell from 68,954 in 1941 to 221,504 in 1961. The black population grew from 1,400,000 to 3,550,000 over the same period.<ref name=pops>{{Harvnb
|Weinrich
|1973
|p=15}}</ref>
===Federation and the Wind of Change===
[[File:Federation of Rhodesia and Nyasaland.png|thumb|The Federation of Rhodesia and Nyasaland (1953–63)|alt=A map. See description]]
Believing full dominion status to be effectively symbolic and "there for the asking",<ref name=smith32/> Prime Minister Godfrey Huggins (in office from 1933 to 1953) twice ignored British overtures hinting at dominionship,<ref name=independenceoffers/> and instead pursued an initially semi-independent Federation with Northern Rhodesia and Nyasaland, two colonies directly administered from London.<ref name="independenceoffers">{{Harvnb
|Wood
|2005
|p=279}}</ref> He hoped that this might set in motion the creation of one united dominion in south-central Africa, emulating the Federation of Australia half a century before.{{#tag:ref|The original vision shared by Huggins and his Northern Rhodesian counterpart Sir Roy Welensky was a unitary amalgamation of the two Rhodesias that would eventually become a dominion. British politicians rejected this idea, asserting that black Northern Rhodesians would never accept it, but agreed to consider a Federation on the condition that neighbouring Nyasaland was also included.<ref>{{Harvnb
|Blake
|1977
|pp=247–249}}</ref>|group="n"|name="fed"}} The Federation of Rhodesia and Nyasaland, defined in its constitution as indissoluble,<ref name=wood123>{{Harvnb
|Wood
|2005
|p=123}}</ref> began in 1953, mandated by the results of a mostly white referendum, with Southern Rhodesia, the most developed of the three territories, at its head, Huggins as Federal Prime Minister and Salisbury as Federal capital.<ref>{{Harvnb
|Smith
|1997
|p=33}}</ref>{{#tag:ref|Southern Rhodesian politicians from various parties later claimed that had Federation not occurred, Southern Rhodesia would have been a dominion by 1955.<ref>{{Harvnb
|Wood
|2005
|pp=25, 135, 140}}</ref>|group="n"|name="by1955"}}
Coming at the start of the decolonisation period, the Federation of self-governing Southern Rhodesia with two directly ruled British protectorates was later described by the British historian Robert Blake as "an aberration of history—a curious deviation from the inevitable course of events".<ref>{{Harvnb
|Wood
|2005
|p=11}}</ref> The project faced black opposition from the start, and ultimately failed because of the shifting international attitudes and rising black Rhodesian ambitions of the late 1950s and early 1960s, often collectively called the Wind of Change.<ref>{{Harvnb
|Blake
|1977
|p=331}}; {{Harvnb
|Welensky
|1964
|p=64}}</ref> Britain, France and Belgium vastly accelerated their withdrawal from Africa during this period, believing colonial rule to be no longer sustainable geopolitically or ethically. The idea of "no independence before majority rule", commonly abbreviated to "NIBMAR", gained considerable ground in British political circles.<ref>{{Harvnb
|Jackson
|1990
|pp=96–97}}; {{Harvnb
|Wood
|2005
|p=20}}</ref> When Huggins (who had been recently ennobled as Lord Malvern) asked Britain to make the Federation a dominion in 1956, he was rebuffed. The opposition Dominion Party responded by repeatedly calling for a Federal unilateral declaration of independence (UDI) over the next few years.<ref name=wood1516/> Following Lord Malvern's retirement in late 1956, his successor Sir Roy Welensky pondered such a move on at least three occasions.{{#tag:ref|With Northern Rhodesia and Nyasaland under direct British control, a Federal UDI would have been far more complicated and difficult to execute than one by Southern Rhodesia alone. Indeed, it was partly because of this that Welensky deemed it infeasible.<ref name=wood3>{{Harvnb
|Wood
|2008
|p=3}}</ref>|group="n"|name="federaludi"}}
Attempting to advance the case for Southern Rhodesian independence, particularly in the event of Federal dissolution,<ref name=wood1516>{{Harvnb
|Wood
|2005
|pp=15–16}}</ref> the Southern Rhodesian Prime Minister Sir Edgar Whitehead brokered the 1961 constitution with Britain, which he thought would remove all British powers of reservation over Southern Rhodesian bills and acts,<ref name=rowland249250>{{Harvnb
|Rowland
|1978
|pp=249–250}}</ref> and put the country on the brink of full sovereignty.<ref name=wood7475>{{Harvnb
|Wood
|2005
|pp=74–75}}</ref> Despite its containing no independence guarantees, Whitehead, Welensky and other proponents of this constitution presented it to the Southern Rhodesian electorate as the "independence constitution" under which Southern Rhodesia would become a dominion on a par with Australia, Canada and New Zealand if the Federation dissolved.<ref name=wood89>{{Harvnb
|Wood
|2005
|p=89}}</ref> White dissenters included Ian Smith, MP for Gwanda and Chief Whip for the governing United Federal Party (UFP) in the Federal Assembly, who took exception to the constitution's omission of an explicit promise of Southern Rhodesian independence in the event of Federal dissolution, and ultimately resigned his post in protest.<ref name=wood7475/> A referendum of the mostly white electorate approved the new constitution by a majority of 65% on 26 July 1961.<ref name=wood92>{{Harvnb
|Wood
|2005
|p=92}}</ref> The final version of the constitution included a few extra provisions inserted by the British, one of which—Section 111—reserved full powers to the Crown to amend, add to or revoke certain sections of the Southern Rhodesian constitution by Order in Council at the request of the British government. This effectively negated the relinquishment of British powers described elsewhere in the document, but the Southern Rhodesians did not initially notice it.<ref name=wood93>{{Harvnb
|Wood
|2005
|p=93}}</ref>
The black Rhodesian movement in Southern Rhodesia, founded and organised by urban black elites during the late 1950s,<ref>{{Harvnb
|West
|2002
|p=203}}</ref> was repeatedly banned by the colonial government because of the political violence, industrial sabotage and intimidation of potential black voters that characterised its campaign.<ref>{{Harvnb
|Wood
|2005
|pp=95–96, 111–120}}</ref> The principal nationalist group, led by the Bulawayo trade unionist Joshua Nkomo, renamed itself with each post-ban reorganisation, and by the start of 1962 was called the Zimbabwe African People's Union (ZAPU).<ref>{{Harvnb
|Wood
|2005
|pp=95–96}}</ref>{{#tag:ref|Zimbabwe, derived from the name applied by the Shona people to the ancient ruined city today referred to as Great Zimbabwe, was adopted by the black Rhodesian movement between 1960 and 1962 as their preferred name for a majority-ruled Southern Rhodesia.<ref>{{Harvnb
|Fontein
|2006
|pp=119–120}}; {{Harvnb
|Ndlovu-Gatsheni
|2009
|pp=113–114}}</ref> ZAPU was banned by the Whitehead administration in 1962 because of its violent activities,<ref>{{Harvnb
|Wood
|2005
|pp=116–117}}</ref> but it continued operating nevertheless, publicly calling itself the People's Caretaker Council (PCC). Several prominent members left to form the rival Zimbabwe African National Union (ZANU) in 1963. ZANU and ZAPU were respectively backed by China and the Soviet Union, and influenced to various degrees by Chinese Maoism and Soviet Marxism–Leninism.<ref name=wood173175>{{Harvnb
|Wood
|2005
|pp=173–175}}</ref> Following an escalation in internecine political violence between the two movements, a spate of industrial sabotage and civil disobedience and the politically motivated killing of a white man, Petrus Oberholzer, by ZANU insurgents, both PCC and ZANU were banned by Smith's government in August 1964, with most of each party's leaders concurrently jailed for criminal offences or otherwise restricted.<ref>{{Harvnb
|Cilliers
|1984
|p=5}}; {{Harvnb
|Martin
|Johnson
|1981
|pp=70–71}}; {{Harvnb
|Ranger
|1997
|p=237}}; {{Harvnb
|Wessels
|2010
|pp=102–103}}</ref> Both movements thereafter based themselves overseas.<ref>{{Harvnb
|Wood
|2005
|p=228}}</ref>|group="n"|name="nationalists"}} Attempting to win black political support, Whitehead proposed a number of reforms to racially discriminatory legislation, including the Land Apportionment Act, and promised to implement these if his UFP won the next Southern Rhodesian election.<ref>{{Harvnb
|Wood
|2005
|p=98}}</ref> But intimidation by ZAPU of prospective black voters impeded the UFP's efforts to win their support,<ref name=rowe52>{{Harvnb
|Rowe
|2001
|p=52}}</ref> and much of the white community saw Whitehead as too radical, and soft on what they saw as black extremism. In the December 1962 Southern Rhodesian election, the UFP was defeated by the Rhodesian Front (RF), a newly formed alliance of conservative voices headed by Winston Field and Ian Smith, in what was widely considered a shock result.<ref name=wood97101>{{Harvnb
|Wood
|2005
|pp=97–101}}</ref> Field became Prime Minister, with Smith as his deputy.<ref name=wood119122>{{Harvnb
|Wood
|2005
|pp=119–122}}</ref>
===Federal dissolution; the roots of mistrust===
Meanwhile, secessionist black Rhodesian parties won electoral victories in Northern Rhodesia and Nyasaland,<ref name=wood119122/> and Harold Macmillan's Conservative administration in Britain moved towards breaking up the Federation, resolving that it had become untenable. In February 1962, the British Secretary of State for Commonwealth Relations, Duncan Sandys, secretly informed the Nyasaland nationalist leader Hastings Banda that secession would be allowed. A few days later, he horrified Welensky by telling him that "we British have lost the will to govern".<ref>{{Harvnb
|Schwarz
|2011
|p=370}}; {{Harvnb
|Wood
|2005
|p=99}}</ref> "But we haven't", retorted Julian Greenfield, Welensky's Law Minister.<ref>{{Harvnb
|Meredith
|1984
|p=131}}</ref>{{#tag:ref|Welensky was so shaken by Sandys' statement that he suffered a migraine. Lord Alport, the UK's High Commissioner to the Federation, reportedly left the meeting and vomited.<ref name=wood99>{{Harvnb
|Wood
|2005
|p=99}}</ref>|group="n"|name="vomited"}} Macmillan's Deputy Prime Minister and First Secretary of State, R.A. Butler, who headed British oversight of the Federation,<ref>{{Harvnb
|Schwarz
|2011
|pp=379–380}}</ref> officially announced Nyasaland's right to secede in December 1962.<ref name="wood123"/> Four months later, he informed the three territories that he was going to convene a conference to decide the Federation's future.<ref name=wood133135/>
As Southern Rhodesia had been the UK's legislative partner in forming the Federation in 1953, it would be impossible (or at least very difficult) for Britain to dissolve the union without Southern Rhodesia's co-operation. Field could therefore potentially hamstring the British by refusing to attend the conference until they pledged to grant his country full independence.<ref name=wood133135>{{Harvnb
|Wood
|2005
|pp=133–135}}</ref> According to Field, Smith and other RF politicians, Butler made several such guarantees orally to ensure their co-operation at the conference, but repeatedly refused to give anything on paper.{{#tag:ref|In particular, Field and Smith claimed that Butler told them at Victoria Falls on 27 June 1963 that in return for their help in winding up the Federation, Southern Rhodesia would be granted "independence no later than, if not before, the other two territories ... in view of your country's wonderful record of Responsible Government over the past forty years... and above all the great loyalty you have always given to Britain in time of war".<ref name=butlerpromise/>|group="n"|name="promise"}} The Southern Rhodesians claimed that Butler justified his refusal to give a written promise by saying that binding Whitehall to a document rather than his word would be against the Commonwealth's "spirit of trust"—an argument that Field eventually accepted.<ref name=butlerpromise>{{Harvnb
|Wood
|2005
|pp=138–140, 167}}; {{Harvnb
|Berlyn
|1978
|p=135}}; {{Harvnb
|Smith
|1997
|pp=51–52}}</ref> "Let's remember the trust you emphasised", Smith warned, according to Field's account wagging his finger at Butler; "if you break that you will live to regret it."<ref name=wood167>{{Harvnb
|Wood
|2005
|p=167}}</ref> Southern Rhodesia attended the conference, which was held at Victoria Falls over a week starting from 28 June 1963, and among other things it was agreed to formally liquidate the Federation at the end of the year.<ref name=wood169172>{{Harvnb
|Wood
|2005
|pp=169–172}}</ref> In the House of Commons afterwards, Butler flatly denied suggestions that he had "oiled the wheels" of Federal dissolution with secret promises to the Southern Rhodesians.<ref name=butlerpromise/>
Field's government was startled by Britain's announcement in October 1963 that Nyasaland would become fully independent on 6 July 1964. While no date was set for Northern Rhodesian statehood, it was generally surmised that it was going to follow shortly thereafter. Smith was promptly sent to London, where he held a round of inconclusive Southern Rhodesian independence talks with the new British Prime Minister, Sir Alec Douglas-Home.{{#tag:ref|Douglas-Home was only a few days into his premiership following Macmillan's resignation on grounds of ill health. At one point during the meeting on 31 October 1964 he told Smith that though he opposed unilateral action, he felt Southern Rhodesia could "declare herself independent, [and] would be within her rights to do so".<ref name=wood176181/> Scandalised, British civil servants withheld record of this comment from their Southern Rhodesian counterparts.<ref name=wood176181>{{Harvnb
|Wood
|2005
|pp=176–181}}</ref>|group="n"|name="douglashome"}} Around the same time, the presence and significance of Section 111 of the 1961 constitution emerged in Southern Rhodesia, prompting speculation in political circles that a future British government might, if it were so inclined, go against previous conventions by legislating for Salisbury without its consent, withdrawing devolved powers or otherwise altering the Southern Rhodesian constitution. Fearing what the Labour Party might do if it won the next British general election (which was projected for late 1964), the Southern Rhodesians stepped up their efforts, hoping to win independence before Britain went to the polls, and preferably not after Nyasaland.<ref name=wood186190/> The Federation dissolved as scheduled at the end of 1963.<ref name=wood186190/>
==Positions and motivations==
===British government stance===
The British government's refusal to grant independence to Southern Rhodesia under the 1961 constitution was largely the result of the geopolitical and moral shifts associated with the Wind of Change, coupled with the UK's wish to avoid opprobrium and loss of prestige in the United Nations (UN) and the Commonwealth.<ref name=mcwilliam/> The issue gained international attention in Africa and worldwide as a flashpoint for questions of decolonisation and racism.<ref>{{Harvnb
|Nyamunda
|2016
|pp=1005–1019}}</ref> By the early 1960s, general consensus in the post-colonial UN—particularly the General Assembly, where the communist bloc and the Afro-Asian lobby were collectively very strong—roundly denounced all forms of colonialism, and supported communist-backed black nationalist insurgencies across southern Africa, regarding them as racial liberation movements. Amid the Cold War, Britain opposed the spread of Soviet and Chinese influence into Africa, but knew it would become an international pariah if it publicly expressed reservations or backed down on NIBMAR in the Southern Rhodesia question.<ref>{{Harvnb
|Fedorowich
|Thomas
|2001
|pp=172–177}}</ref> Once the topic of Southern Rhodesia came to the fore in the UN and other bodies, particularly the Organisation of African Unity (OAU), even maintaining the ''status quo'' became regarded as unacceptable internationally, causing the UK government a great deal of embarrassment.<ref>{{Harvnb
|Nelson
|1983
|p=43}}</ref>
In the Commonwealth context, too, Britain knew that simply granting independence to Southern Rhodesia was out of the question as many of the Afro-Asian countries were also Commonwealth members. Statehood for Salisbury without majority rule would split the Commonwealth and perhaps cause it to break up, a disastrous prospect for British foreign policy.<ref name=mcwilliam/> The Commonwealth repeatedly called on Britain to intervene directly should Southern Rhodesian defiance continue,<ref>{{Harvnb
|Wood
|2005
|p=325}}</ref> while liberals in Britain worried that if left unchecked Salisbury might drift towards South African-style apartheid.<ref name=cunningham>{{Harvnb
|Cunningham
|1966
|p=12}}</ref> Anxious to avoid having to choose between Southern Rhodesia and the Commonwealth, Whitehall attempted to negotiate a middle way between the two, but ultimately put international considerations first, regarding them as more important.<ref name=mcwilliam>{{Harvnb
|McWilliam
|2003}}</ref>
At party level, the Labour Party, in opposition until October 1964, was overtly against Southern Rhodesian independence under the 1961 constitution and supportive of the black Rhodesian movement on ideological and moral grounds. The Liberal Party, holding a handful of parliament seats, took a similar stance. The Conservative Party, while also following a policy of decolonisation, was more sympathetic to the Southern Rhodesian government's position, and included members who openly supported it.<ref>{{Harvnb
|Wood
|2005
|p=242}}</ref>{{#tag:ref|In particular, a small but vocal phalanx of stridently pro-Salisbury Conservative peers emerged in the House of Lords, including Lord Salisbury (after whose grandfather the Southern Rhodesian capital was named), Lord Coleraine and Lord Grimston.<ref>{{Harvnb
|Morgan
|1975
|p=140}}</ref> Together with an ancillary group of similarly minded Conservative MPs in the Commons, headed by Major Patrick Wall, these became referred to as the "Rhodesia Lobby".<ref name=white97/>|group="n"|name="lobby"}}
===Southern Rhodesian government view===
The Southern Rhodesian government found it bizarre that Britain was making independent states out of Northern Rhodesia and Nyasaland, less developed territories with little experience of self-rule, while withholding sovereign statehood from Southern Rhodesia, the Federation's senior partner, which had already been self-governing for four decades and which was one of the most prosperous and developed countries in Africa. The principle of majority rule, the basis for this apparent inconsistency, was considered irrelevant by the Southern Rhodesians.<ref>{{Harvnb
|Olson
|Shadle
|1996
|pp=1029–1030}}; {{Harvnb
|Wood
|2005
|pp=20, 135, 140}}; {{Harvnb
|Di Perna
|1978
|p=189}}</ref> They had presumed that in the event of Federal dissolution they would be first in line for independence without major adjustments to the 1961 constitution, an impression confirmed to them by prior intergovernmental correspondence, particularly the oral promises they claimed to have received from Butler. When it did not prove forthcoming they felt cheated.<ref name=wood371>{{Harvnb
|Wood
|2005
|p=371}}</ref> Salisbury contended that its predominantly white legislature was more deserving of independence than the untried black Rhodesian leaders as it had proven its competence over decades of self-rule.<ref>{{Harvnb
|Olson
|Shadle
|1996
|pp=1029–1030}}; {{Harvnb
|Moorcraft
|1990}}; {{Harvnb
|Wood
|2005
|pp=20, 135, 140}}; {{Harvnb
|Di Perna
|1978
|p=189}}</ref>
The RF claimed that the bloody civil wars, military coups and other disasters that plagued the new majority-ruled African states to the north, many of which had become corrupt, autocratic or communist one-party states very soon after independence,<ref>{{Harvnb
|Mazrui
|1993
|p=495}}</ref> showed that black Rhodesian leaders were not ready to govern. Influenced strongly by the white refugees who had fled south from the Congo, it presented chaotic doomsday scenarios of what black Rhodesian rule in Southern Rhodesia might mean, particularly for the white community.<ref>{{Harvnb
|Petter-Bowyer
|2005
|p=75}}; {{Harvnb
|Schwarz
|2011
|p=371}}; {{Harvnb
|Wood
|2005
|p=101}}</ref> Proponents of the RF stand downplayed black Rhodesian grievances regarding land ownership and segregation, and argued that despite the racial imbalance in domestic politics—whites made up 5% of the population, but over 90% of registered voters—the electoral system was not racist as the franchise was based on financial and educational qualifications rather than ethnicity.<ref>{{Harvnb
|Wood
|2005
|pp=392–393}}</ref> They emphasised the colony's proud war record on Britain's behalf,<ref name=moorcraft1990>{{Harvnb
|Moorcraft
|1990}}</ref> and expressed a wish in the Cold War context to form an anti-communist, pro-Western front in Africa alongside South Africa and Portugal.<ref name=olsonshadle10291030>{{Harvnb
|Olson
|Shadle
|1996
|pp=1029–1030}}</ref>
These factors combined with what RF politicians and supporters saw as British decadence, chicanery and betrayal to create the case they put forward that UDI, while dubious legally and likely to provoke international uproar, might nevertheless be in their eyes justifiable and necessary for the good of the country and region if an accommodation could not be found with Whitehall.<ref name=wood190/>
==Road to UDI==
===First steps, under Field===
Field's failure to secure independence concurrently with the end of the Federation caused his Cabinet's support for him to waver during late 1963 and early 1964.<ref name=wood186190>{{Harvnb
|Wood
|2005
|pp=186–190}}</ref> The RF caucus in January 1964 revealed widespread dissatisfaction with him on the grounds that the British seemed to be outwitting him. The Prime Minister was put under immense pressure to win the colony's independence.<ref name=wood190>{{Harvnb
|Wood
|2005
|p=190}}</ref> Field travelled to England later that month to press Douglas-Home and Sandys for independence, and raised the possibility of UDI on a few occasions, but returned empty-handed on 2 February.<ref>{{Harvnb
|Wood
|2005
|pp=193–194, 198}}</ref>
The RF united behind Field after Sandys wrote him a terse letter warning him of the likely Commonwealth reaction to a declaration of independence, but the Prime Minister then lost his party's confidence by failing to pursue a possible route to at least ''de facto'' independence devised by Desmond Lardner-Burke, a lawyer and RF MP for Gwelo. During March 1964, the Legislative Assembly in Salisbury considered and passed Lardner-Burke's motion that the Governor, Sir Humphrey Gibbs, should submit a petition to the Queen requesting alteration of Section 111 of the 1961 constitution so that the Royal Assent described therein would be exercised at the request of the Southern Rhodesian government rather than that of its British counterpart. This would both remove the possibility of British legislative interference and pave the way for an attempted assumption of independence by Order in Council.{{#tag:ref|The Lardner-Burke bill proposed that a two-thirds majority in the Legislative Assembly would prompt automatic consent for alterations from the Governor, who would then sign them into law on behalf of the Queen.<ref name=wood200202>{{Harvnb
|Wood
|2005
|pp=200–202}}</ref> William Harper, the Minister of Water Development and Roads, posited that if this passed, Salisbury would be able to proclaim an independent republic outside the Commonwealth with a two-thirds majority in parliament.<ref name=wood204207/>|group="n"|name="harper"}}
The RF's intention was partly to test whether or not the British would attempt to block this bill after Gibbs had granted Royal Assent to it,<ref>{{Harvnb
|Smith
|1997
|p=63}}</ref> but this issue never came to a head because Sandys persuaded Field not to forward it to Gibbs for ratification on the grounds that it had not been unanimously passed.<ref>{{Harvnb
|Young
|1969
|p=205}}</ref> Lord Salisbury, one of Southern Rhodesia's main supporters in Britain, despaired at Field's lack of action, telling Welensky that as he saw it "the simple time to have declared independence, whether right or wrong, would have been when the Federation came to an end".<ref name=wood204207/> The RF hierarchy interpreted this latest backtrack by Field as evidence that he would not seriously challenge the British on the independence issue, and forced his resignation on 13 April 1964.<ref name=wood204207>{{Harvnb
|Wood
|2005
|pp=204–207}}</ref> Smith accepted the Cabinet's nomination to take his place.<ref name=fieldtosmith/>
===Smith replaces Field; talks with Douglas-Home===
[[File:Ian Smith 1950s.jpg|thumb|upright|Ian Smith replaced Winston Field as Southern Rhodesian Prime Minister in April 1964, and pledged to challenge Britain on independence.|alt=A portrait photograph of Ian Smith]]
Smith, a farmer from the Midlands town of Selukwe who had been seriously wounded while serving in the British Royal Air Force during the Second World War, was Southern Rhodesia's first native-born Prime Minister.{{#tag:ref|Roy Welensky, who held the Federal premiership from 1956 to dissolution in 1963, was also born in Southern Rhodesia. Before Smith, Southern Rhodesia had had seven Prime Ministers, three of whom (including Field) had been born in Britain. The country's first two Prime Ministers, Charles Coghlan (1923–27) and Howard Moffat (1927–33), were respectively born in South Africa and Bechuanaland,<ref>{{Harvnb
|Baxter
|Burke
|1970
|pp=125, 340}}</ref> while Garfield Todd (1953–58) was originally from New Zealand.<ref>{{Harvnb
|Wood
|2005
|p=12}}</ref> Edgar Whitehead (1958–62) was born at the British Embassy in Germany, where his father was a diplomat.<ref>{{Harvnb
|Schwarz
|2011
|p=411}}</ref>|group="n"|name="nativeborn"}} Regarded in British political circles as a "raw colonial"—when he took over, Smith's personal experience of the UK comprised four brief visits—he promised a harder line than Field in independence talks.<ref name=fieldtosmith>{{Harvnb
|Berlyn
|1978
|pp=131–132}}; {{Harvnb
|Caute
|1983
|p=89}}; {{Harvnb
|Wessels
|2010
|pp=102–104}}</ref> The RF's replacement of Field drew criticism from the British Labour Party, whose leader Harold Wilson called it "brutal",<ref>{{Harvnb
|Wilson
|1974
|p=48}}</ref> while Nkomo described the new Smith Cabinet as "a suicide squad... not interested in the welfare of all the people but only in their own".<ref>{{Harvnb
|Wood
|2005
|p=208}}</ref> Smith said he was pursuing a middle course between black Rhodesian rule and apartheid so that there would still be "a place for the white man" in Southern Rhodesia;<ref>{{Harvnb
|Hall
|1966
|p=30}}</ref> this would benefit the blacks too, he claimed.<ref name=hall22/> He held that the government should be based "on merit, not on colour or nationalism",<ref name=hall22>{{Harvnb
|Hall
|1966
|p=22}}</ref> and insisted that there would be "no African nationalist government here in my lifetime".<ref>{{Harvnb
|Hall
|1966
|p=26}}</ref>
Salisbury's blunt refusal to be part of the Wind of Change caused the Southern Rhodesian military's traditional British and American suppliers to impose an informal embargo,<ref name="wood319"/> and prompted Whitehall and Washington to stop sending Southern Rhodesia financial aid around the same time. In June 1964, Douglas-Home informed Smith that Southern Rhodesia would not be represented at the year's Commonwealth Prime Ministers' Conference, despite Salisbury's record of attendance going back to 1932,{{#tag:ref|Salisbury attended under the Federal flag from 1953 to 1963.<ref name=welenskyspeech/>|group="n"|name="conference"}} because of a change in policy to only include representatives from fully independent states. This decision, taken by Britain to preempt the possibility of open confrontation with Asian and black African leaders at the conference, deeply insulted Smith.<ref>{{Harvnb
|Wood
|2005
|pp=215–216}}</ref> Lord Malvern equated Britain's removal of Southern Rhodesia's conference seat with "kicking us out of the Commonwealth",<ref>{{Harvnb
|Berlyn
|1978
|pp=140, 143}}</ref> while Welensky expressed horror at what he described as "this cavalier treatment of a country which has, since its creation, staunchly supported, in every possible way, Britain and the Commonwealth".<ref name=welenskyspeech>{{Harvnb
|Welensky
|1965}}</ref>
[[File:Alec Douglas-Home (c1963).jpg|thumb|upright|left|UK Prime Minister Sir Alec Douglas-Home met Smith in London in September 1964.|alt=A photograph of Sir Alec Douglas-Home]]
At 10 Downing Street in early September 1964, impasse developed between Douglas-Home and Smith over the best way to measure black public opinion in Southern Rhodesia. A key plank of Britain's Southern Rhodesia policy was that the terms for independence had to be "acceptable to the people of the country as a whole"—agreeing to this, Smith suggested that white and urban black opinion could be gauged through a general referendum of registered voters, and that rural black views could be obtained at a national ''indaba'' (tribal conference) of chiefs and headmen. Douglas-Home told Smith that although this proposal satisfied him personally, he could not accept it as he did not believe the Commonwealth, the United Nations or the Labour Party would also do so. He stressed that such a move towards accommodation with Smith might hurt the Conservatives' chances in the British general election the next month, and suggested that it might be in Smith's best interests to wait until after the election to continue negotiations. Smith accepted this argument. Douglas-Home assured Smith that a Conservative government would settle with him and grant independence within a year.<ref>{{Harvnb
|Wood
|2005
|pp=231–233}}</ref>
Attempting to form a viable white opposition to the Rhodesian Front, the UFP resurrected itself around Welensky, renamed itself the Rhodesia Party, and entered the Arundel and Avondale by-elections that had been called for 1 October 1964. Perturbed by the prospect of having to face the political heavyweight Welensky in parliament at the head of the opposition, the RF poured huge resources into winning both of these former UFP safe seats, and fielded Clifford Dupont, Smith's deputy, against Welensky in Arundel.{{#tag:ref|During the bitterly fought campaign,<ref name=byelection>{{Harvnb
|Wood
|2005
|pp=239–240}}; {{Harvnb
|Windrich
|1978
|p=25}}</ref> Welensky was falsely personified by his opponents as representing appeasement of Britain and black extremists, and heckled at public concourses with cries of "communist", "traitor" and "coward";<ref>{{Harvnb
|Blake
|1977
|p=366}}</ref> one man even screamed "you bloody Jew" at Welensky during a debate.<ref>{{Harvnb
|White
|1978
|p=36}}</ref>|group="n"|name="campaign64"}} The RF won both seats comfortably, and the Rhodesia Party soon faded away. Spurred on by this success, Smith organised the ''indaba'' for 22 October, and called a general independence referendum for 5 November 1964.<ref name=byelection/> Meanwhile, Wilson wrote a number of letters to black Southern Rhodesians, assuring them that "the Labour Party is totally opposed to granting independence to Southern Rhodesia so long as the government of that country remains under the control of the white minority".<ref name=berlyn157>{{Harvnb
|Berlyn
|1978
|p=157}}</ref>
===Wilson's Labour government; Salisbury's tests of opinion===
[[File:Harold Wilson.jpg|thumb|upright|Harold Wilson replaced Douglas-Home in October 1964, and proved a formidable opponent of Smith.|alt=A portrait photograph of Harold Wilson]]
Labour defeated the Conservatives by four seats in the British general election on 15 October 1964, and formed a government the next day. Both Labour and the Conservatives told Smith that a positive result at the ''indaba'' would not be recognised by Britain as representative of the people, and the Conservatives turned down Salisbury's invitation to send observers. Smith pressed on, telling parliament that he would ask the tribal chiefs and headmen "to consult their people in the traditional manner", then hold the ''indaba'' as planned.<ref>{{Harvnb
|Wood
|2005
|p=241}}</ref> On 22 October, 196 chiefs and 426 headmen from across the country gathered at Domboshawa, just north-east of Salisbury, and began their deliberations. Smith hoped that Britain, having taken part in such ''indabas'' in the past, might send a delegation at the last minute, but none arrived, much to his annoyance, particularly as the British government's Commonwealth Secretary Arthur Bottomley was only across the Zambezi in Lusaka at the time.<ref name=wood242243>{{Harvnb
|Wood
|2005
|pp=242–243, 246}}</ref>{{#tag:ref|Official observers came from Australia, Austria, France, Greece, New Zealand, Norway, Portugal, South Africa and Sweden.<ref name=wood242243/>|group="n"|name="observers"}}
While the chiefs conferred, Northern Rhodesia became independent Zambia on 24 October 1964, emulating Nyasaland, which had achieved statehood as Malawi three months earlier. Reasoning that it was no longer necessary to refer to itself as "Southern" in the absence of a northern counterpart, Southern Rhodesia began calling itself simply Rhodesia.{{#tag:ref|Salisbury passed legislation to shorten the name, but Britain ruled this ''[[ultra vires]]'' as the laws naming the country were British acts passed at Westminster. Salisbury went on using the shortened name in an official manner anyway,<ref name="palley742743">{{Harvnb
|Palley
|1966
|pp=742–743}}</ref> while the British government, the United Nations and other overseas bodies continued referring to the country as Southern Rhodesia. This situation continued throughout the UDI period.<ref name=rowland251>{{Harvnb
|Rowland
|1978
|p=251}}</ref>|group="n"|name="name2"}} The same day, the commander of the Rhodesian Army, Major-General John "Jock" Anderson, resigned, announcing publicly that he was doing so because of his opposition to UDI, which he said he could not go along with because of his oath of allegiance to the Queen. Interpreting this as a sign that Smith intended to declare independence if a majority backed it in the referendum, Wilson wrote a stiff letter to Smith on 25 October, warning him of the consequences of UDI, and demanding "a categorical assurance forthwith that no attempt at a unilateral declaration of independence on your part will be made".<ref name=wood243246/> Smith expressed confusion as to what he had done to provoke this, and ignored it.<ref name=wood243246/>
When the ''indaba'' ended on 26 October, the chiefs and headmen returned a unanimous decision to support the government's stand for independence under the 1961 constitution, attesting in their report that "people who live far away do not understand the problems of our country".<ref name=wood243246>{{Harvnb
|Wood
|2005
|pp=243–246}}</ref> This verdict was rejected by the nationalist movement on the grounds that the chiefs received governmental salaries; the chiefs countered that the black MPs in parliamentary opposition also received such salaries, but still opposed the government.<ref name=wood243246/> Malvern, who was becoming perturbed by the RF's actions, dismissed the ''indaba'' as a "swindle", asserting that the chiefs no longer had any real power; the British simply ignored the whole exercise.<ref name=wood250>{{Harvnb
|Wood
|2005
|p=250}}</ref> On 27 October, Wilson released a firm statement regarding Britain's intended response to UDI, warning that Rhodesia's economic and political ties with Britain, the Commonwealth and most of the world would be immediately severed amid a campaign of sanctions if Smith's government went ahead with UDI.<ref name=wood243246/> This was intended to discourage white Rhodesians from voting for independence in the referendum,<ref name=wood247>{{Harvnb
|Wood
|2005
|p=247}}</ref> for which the RF campaign slogan was "Yes means Unity, not UDI".<ref>{{Harvnb
|Blake
|1977
|p=369}}</ref> Wilson was pleased when Douglas-Home, his leading opponent in the House of Commons, praised the statement as "rough but right".<ref>{{Harvnb
|Wilson
|1974
|p=51}}</ref> On 5 November 1964, Rhodesia's mostly white electorate voted "yes" to independence under the 1961 constitution by a margin of 89%,{{#tag:ref|Turnout was 61% of the 105,444 registered voters (89,886 whites, 12,729 blacks and 2,829 coloureds and Asians). There were 58,091 ballots in favour, 6,096 against and 944 spoilt papers. Most eligible non-whites reportedly abstained.<ref name=wood249>{{Harvnb
|Wood
|2005
|p=249}}</ref>|group="n"|name="vote"}} prompting Smith to declare that the British condition of acceptability to the people as a whole had been met.<ref name=wood251>{{Harvnb
|Wood
|2005
|p=251}}</ref>
===Stalemate develops between Smith and Wilson===
Smith wrote to Wilson the day after the referendum, asking him to send Bottomley to Salisbury for talks. Wilson replied that Smith should instead come to London.<ref name=wood251/> The British and Rhodesians exchanged often confrontational letters for the next few months. Alluding to the British financial aid pledged to Salisbury as part of the Federal dissolution arrangements, Wilson's High Commissioner in Salisbury, J B Johnston, wrote to the Rhodesian Cabinet Secretary Gerald B Clarke on 23 December that "talk of a unilateral declaration of independence is bound to throw a shadow of uncertainty on the future financial relations between the two governments".<ref>{{Harvnb
|Wood
|2005
|pp=257–258}}</ref> Smith was furious, seeing this as blackmail, and on 13 January 1965 wrote to Wilson: "I am so incensed at the line of your High Commissioner's letter that I am replying directly to you ... It would appear that any undertakings given by the British government are worthless ... such immoral behaviour on the part of the British government makes it impossible for me to continue negotiations with you with any confidence that our standards of fair play, honesty and decency will prevail."<ref name=smith85>{{Harvnb
|Smith
|1997
|p=85}}</ref>
[[File:10 Downing Street 2010.jpg|thumb|10 Downing Street, where Wilson received Smith in January 1965|alt=A wide shot of Downing Street]]
The two premiers were brought together in person in late January 1965, when Smith travelled to London for Sir Winston Churchill's funeral. Following an episode concerning Smith's non-invitation to a luncheon at Buckingham Palace after the funeral—noticing the Rhodesian's absence, the Queen sent a royal equerry to Smith's hotel to retrieve him, reportedly causing Wilson much irritation—the two Prime Ministers inconclusively debated at 10 Downing Street. They differed on most matters, but agreed on a visit to Rhodesia the next month by Bottomley and the Lord Chancellor, Lord Gardiner, to gauge public opinion and meet political and commercial figures.<ref>{{Harvnb
|Wood
|2005
|pp=270–275}}</ref> Bottomley and Gardiner visited Rhodesia from 22 February to 3 March, collected a wide cross-section of opinions, including some from black Rhodesians, and on returning to Britain reported to the House of Commons that they were "not without hope of finding a way towards a solution that will win the support of all communities and lead to independence and prosperity for all Rhodesians".<ref name=wood286>{{Harvnb
|Wood
|2005
|p=286}}</ref> Bottomley also condemned black-on-black political violence, and dismissed the idea of introducing majority rule through military force.<ref name=wood286/>
The RF called a new general election for May 1965 and, campaigning on an election promise of independence, won all 50 "A"-roll seats (the voters for which were mostly white).{{#tag:ref|The electoral system devised in the 1961 constitution replaced the common voters' roll with two rolls, the "A" roll and the "B" roll, the latter of which had lower qualifications intended to make it easier for prospective voters to enter the political system. There were 50 "A"-roll constituencies and 15 larger "B"-roll districts, with a complicated mechanism of "cross-voting" allowing "B"-roll voters to slightly influence "A"-roll elections and ''vice versa''. This system was theoretically non-racial, but in practice the "A" roll was largely white and the "B" roll was almost all black.<ref>{{Harvnb
|Palley
|1966
|pp=414–416}}</ref>|group="n"|name="crossvoting"}} Josiah Gondo, leader of the United People's Party, became Rhodesia's first black Leader of the Opposition. Opening parliament on 9 June, Gibbs told the Legislative Assembly that the RF's strengthened majority amounted to "a mandate to lead the country to its full independence", and announced that the new government had informed him of its intent to open its own diplomatic mission in Lisbon, separate from the British embassy there. The British and Rhodesians argued about this unilateral act by Salisbury, described by the historian J R T Wood as the "veritable straw in the wind",<ref name=wood319>{{Harvnb
|Wood
|2005
|p=319}}</ref> alongside the independence issue until Portugal accepted the mission in late September, much to Britain's fury and Rhodesia's delight.<ref name=fedorowichthomas185186>{{Harvnb
|Fedorowich
|Thomas
|2001
|pp=185–186}}</ref> Hoping to bring Smith to heel by stonewalling him, Wilson's ministers deliberately delayed and frustrated the Rhodesian government in negotiations.<ref>{{Harvnb
|Wood
|2005
|p=344}}</ref> Rhodesia was again excluded from the Commonwealth Prime Ministers' Conference in 1965. The UK's refusal of aid, the Lisbon mission, the informal arms embargo and other issues combined with this to cause the Rhodesian government's sense of alienation from Britain and the Commonwealth to deepen.<ref name=wood335>{{Harvnb
|Wood
|2005
|p=335}}</ref> In his memoirs, Smith accused the British of "resorting to politics of convenience and appeasement".<ref>{{Harvnb
|Smith
|1997
|p=92}}</ref> Wilson, meanwhile, became exasperated by what he saw as Rhodesian inflexibility, describing the gap between the two governments as "between different worlds and different centuries".<ref name=wood5>{{Harvnb
|Wood
|2008
|p=5}}</ref>
===Final steps to UDI===
Amid renewed rumours of an impending Rhodesian UDI, Smith travelled to meet Wilson in London at the start of October 1965, telling the press that he intended to resolve the independence issue once and for all.<ref name=wood360363>{{Harvnb
|Wood
|2005
|pp=360–363, 367}}</ref> Both the British and the Rhodesians were surprised by the large numbers of Britons who came out to support Smith during his visit.<ref name=wood381383/> Smith accepted an invitation from the BBC to appear on its ''Twenty-Four Hours'' evening news and current affairs programme, but Downing Street blocked this at the last minute.<ref name=wood381383>{{Harvnb
|Wood
|2005
|pp=381–383}}</ref> Following largely abortive talks with Wilson, the Rhodesian Prime Minister flew home on 12 October.<ref name=wood387388>{{Harvnb
|Wood
|2005
|pp=387–388}}</ref> Desperate to avert UDI, Wilson travelled to Salisbury two weeks later to continue negotiations.<ref name=wood411414/>
During these discussions, Smith referred to the last resort of a UDI on many occasions,<ref name=young271/> though he said he hoped to find another way out of the quandary. He offered to increase black legislative representation by expanding the electorate along the lines of "one taxpayer, one vote"—which would enfranchise about half a million, but still leave most of the nation voteless—in return for a grant of independence.<ref name=wood411414>{{Harvnb
|Wood
|2005
|pp=411–414}}</ref> Wilson said this was insufficient, and countered that future black representation might be better safeguarded by Britain's withdrawal from the colonial government of the power it had held since 1923 to determine the size and makeup of its parliament. The Rhodesians were horrified by this prospect, particularly as Wilson's suggestion of it seemed to them to have removed the failsafe alternative of keeping the ''status quo''.<ref>{{Harvnb
|Wood
|2005
|p=440}}</ref> Before the British Prime Minister left Rhodesia on 30 October 1965, he proposed a Royal Commission to gauge public opinion in the colony regarding independence under the 1961 constitution, possibly chaired by the Rhodesian Chief Justice Sir Hugh Beadle, which would report its findings to both the British and Rhodesian Cabinets.<ref name=wood441442>{{Harvnb
|Wood
|2005
|pp=441–442}}</ref> Wilson confirmed in the House of Commons two days later that he intended to introduce direct British control over the Rhodesian parliamentary structure to ensure that progress was made towards majority rule.<ref name=wood445>{{Harvnb
|Wood
|2005
|p=445}}</ref>
Stalemate drew closer as the Rhodesian Cabinet resolved that since Wilson had ruled out maintenance of the ''status quo'', its only remaining options were to trust in the Royal Commission or declare independence.<ref name=wood443>{{Harvnb
|Wood
|2005
|p=443}}</ref> When the terms for the commission's visit were presented to Smith, he found that contrary to what had been discussed during the British Prime Minister's visit, the Royal Commission would operate on the basis that the 1961 constitution was unacceptable to the British government, and that Britain would not commit itself to accepting the final report. Smith said these conditions amounted to a "vote of no confidence in [the commission] before they commenced", and therefore rejected them.<ref>{{Harvnb
|Smith
|1997
|p=98}}</ref> "The impression you left with us of a determined effort to resolve our constitutional problem has been utterly dissipated", he wrote to Wilson on 5 November. "It would seem that you have now finally closed the door which you publicly claimed to have opened."<ref name=young271>{{Harvnb
|Young
|1969
|p=271}}</ref>
Amid frantic efforts by Beadle and others on both sides to revive the Royal Commission, the Rhodesian government had Gibbs announce a state of emergency the same day on the grounds that black Rhodesian insurgents were reportedly entering the country. Smith denied that this foreshadowed a declaration of independence,<ref name=wood453>{{Harvnb
|Wood
|2005
|p=453}}</ref> but the publishing of his letter to Wilson in the press provoked a worldwide storm of speculation that UDI was imminent.<ref name=young271/> Smith wrote again to Wilson on 8 November, asking him to appoint the Royal Commission under the terms they had agreed in Salisbury and to commit the British government to accepting its ruling, but Wilson did not immediately reply.<ref>{{Harvnb
|Wood
|2005
|p=463}}</ref> On 9 November, the Rhodesian Cabinet sent a letter to Queen Elizabeth II, assuring her that Rhodesia would remain loyal to her personally "whatever happens".<ref name=wood460461/>
==Draft, adoption and signing==
[[File:United States Declaration of Independence.jpg|thumb|upright|The United States Declaration of Independence was used by the Rhodesians as the model for their UDI.|alt=The United States Declaration of Independence]]
The Rhodesian Minister for Justice and Law and Order, Desmond Lardner-Burke, presented the rest of the Cabinet with a draft for the declaration of independence on 5 November 1965. When Jack Howman, Minister of Tourism and Information, said that he was also preparing a draft, the Cabinet decided to wait to see his version too. The ministers agreed that if an independence proclamation were issued, they would all sign it.<ref name="wood453"/> On 9 November, the Cabinet jointly devised an outline for the proclamation document and the accompanying statement to be made by Smith.<ref name=wood460461>{{Harvnb
|Wood
|2005
|pp=460–461}}</ref> The final version of the declaration of independence was prepared by a sub-committee of civil servants headed by Gerald Clarke, the Cabinet Secretary,<ref name=smith100103>{{Harvnb
|Smith
|1997
|pp=100, 103}}</ref> with the United States Declaration of Independence of 1776, the only other such proclamation ever issued by British colonials, used as a model.<ref name=wood471/> Strongly alluding to Thomas Jefferson's text throughout, the Rhodesians used one phrase verbatim — "a respect for the opinions of mankind"<ref name=stpetersburgtimes>{{Harvnb
|St. Petersburg Times
|1965}}</ref>—but no reference was made to the assertion that "all men are created equal", nor to the "consent of the governed", two omissions later stressed by a number of commentators.<ref>{{Harvnb
|Hillier
|1998
|p=207}}; {{Harvnb
|Palley
|1966
|p=750}}; {{Harvnb
|Gowlland-Debbas
|1990
|p=71}}</ref>
Attached to the declaration of independence was a copy of the 1961 constitution amended for the circumstances, which became the 1965<ref>{{cite web |title=The Constitution of Rhodesia, 1965 |url=http://www.worldstatesmen.org/Rhodesia_1965.pdf |publisher=Harvard Law Library |accessdate=9 May 2019}}</ref> constitution. In the eyes of the Smith administration, this document removed Whitehall's remaining authority over Rhodesia and made Rhodesia a ''de jure'' independent state. However, the Smith government still professed loyalty to Elizabeth II, and accordingly the document reconstituted Rhodesia as a dominion with Elizabeth as "Queen of Rhodesia". The new constitution created the concept of allegiance to the "Constitution of Rhodesia," and introduced the post of Officer Administering the Government, a viceregal figure empowered to sign passed legislation into law on behalf of the monarch if she did not appoint a Governor-General.<ref name=wood471/>
The Rhodesian Cabinet waited in vain for Wilson's reply for the rest of 9 November and the next day. After briefly meeting Smith late on 10 November,<ref>{{Harvnb
|Wood
|2005
|pp=465–467}}</ref> Johnston warned Wilson that evening that the Rhodesians seemed poised to declare independence in the morning. The British Prime Minister tried repeatedly to call Smith, but did not get through until Smith was already chairing a Cabinet meeting on the independence issue around 08:00 Central Africa Time (06:00 in London) on 11 November. Wilson attempted to talk Smith out of unilateral action by telling him the ''status quo'' could continue, and the two argued inconclusively about the proposed Royal Commission. Returning to his Cabinet meeting, Smith reported the conversation to his ministers, and, after debating for a while, the Cabinet came to the conclusion that Wilson was simply attempting to buy more time and that there was no sign of actual progress. Smith asked if Rhodesia should declare its independence, and had each Cabinet minister answer in turn. According to Smith's account, "each one, quietly but firmly, without hesitation, said: 'Yes'."<ref name=wood468470>{{Harvnb
|Wood
|2005
|pp=468–470}}</ref>
At 11:00 local time on 11 November 1965, Armistice Day, during the traditional two minutes' silence to remember the fallen of the two World Wars, Smith declared Rhodesia independent and signed the proclamation document, with Dupont and the other 10 ministers of the Cabinet following. The timing was intended to emphasise the sacrifices Rhodesia had made for Britain in wartime.<ref>{{Harvnb
|McLaughlin
|1980
|p=141}}; {{Harvnb
|Wood
|2005
|p=463}}</ref> As Ken Flower later said, "the rebellion was made to appear as though it was not a rebellion".<ref name=wood471/> Smith and his ministers still pledged allegiance to Queen Elizabeth II, whose official portrait hung prominently behind them as they signed; the declaration even ended "God Save The Queen".<ref name=wood471>{{Harvnb
|Wood
|2005
|p=471}}</ref> Four junior members of the Cabinet—Lance Smith, Ian Dillon, Andrew Dunlop and P K van der Byl—did not sign, but were included in the official photograph.<ref>{{Harvnb
|White
|1978
|p=45}}</ref>
==Text of the declaration==
{{quote|
{{center|Proclamation}}
----
Whereas in the course of human affairs history has shown that it may become necessary for a people to resolve the political affiliations which have connected them with another people and to assume amongst other nations the separate and equal status to which they are entitled:
And Whereas in such event a respect for the opinions of mankind requires them to declare to other nations the causes which impel them to assume full responsibility for their own affairs:
Now Therefore, We, The Government of Rhodesia, Do Hereby Declare:
That it is an indisputable and accepted historic fact that since 1923 the Government of Rhodesia have exercised the powers of self-government and have been responsible for the progress, development and welfare of their people;
That the people of Rhodesia having demonstrated their loyalty to the Crown and to their kith and kin in the United Kingdom and elsewhere through two world wars, and having been prepared to shed their blood and give of their substance in what they believed to be the mutual interests of freedom-loving people, now see all that they have cherished about to be shattered on the rocks of expediency;
That the people of Rhodesia have witnessed a process which is destructive of those very precepts upon which civilization in a primitive country has been built, they have seen the principles of Western democracy, responsible government and moral standards crumble elsewhere, nevertheless they have remained steadfast;
That the people of Rhodesia fully support the requests of their government for sovereign independence but have witnessed the consistent refusal of the Government of the United Kingdom to accede to their entreaties;
That the Government of the United Kingdom have thus demonstrated that they are not prepared to grant sovereign independence to Rhodesia on terms acceptable to the people of Rhodesia, thereby persisting in maintaining an unwarrantable jurisdiction over Rhodesia, obstructing laws and treaties with other states and the conduct of affairs with other nations and refusing assent to laws necessary for the public good, all this to the detriment of the future peace, prosperity and good government of Rhodesia;
That the Government of Rhodesia have for a long period patiently and in good faith negotiated with the Government of the United Kingdom for the removal of the remaining limitations placed upon them and for the grant of sovereign independence;
That in the belief that procrastination and delay strike at and injure the very life of the nation, the Government of Rhodesia consider it essential that Rhodesia should attain, without delay, sovereign independence, the justice of which is beyond question;
Now Therefore, We The Government of Rhodesia, in humble submission to Almighty God who controls the destinies of nations, conscious that the people of Rhodesia have always shown unswerving loyalty and devotion to Her Majesty the Queen and earnestly praying that we and the people of Rhodesia will not be hindered in our determination to continue exercising our undoubted right to demonstrate the same loyalty and devotion, and seeking to promote the common good so that the dignity and freedom of all men may be assured, Do, By This Proclamation, adopt, enact and give to the people of Rhodesia the Constitution annexed hereto;
{{center|God Save The Queen}}
Given under Our Hand at Salisbury, this eleventh day of November in the Year of Our Lord one thousand nine hundred and sixty-five.
{{plainlist |
* ''Prime Minister:'' Ian Smith
* ''Deputy Prime Minister:'' Clifford Dupont
* ''Ministers:'' William Harper, Montrose, Phillip van Heerden, Jack Howman, Jack Mussett, John Wrathall, Desmond Lardner-Burke, George Rudland, Ian McLean, Arthur Philip Smith
{{right|<ref name=wood472/>}}
}}
|}}
==Announcement and reactions==
===Announcement===
Prompted by the government, the Rhodesian Broadcasting Corporation told the public to stand by for an important announcement from the Prime Minister at 13:15 local time. Smith went first to Government House to inform Gibbs that his Cabinet had declared independence,<ref name=wood471/> then to Pockets Hill Studios in east Salisbury to announce UDI to the nation. He read the proclamation aloud, then stated that independence had been declared because it had become "abundantly clear that it is the policy of the British government to play us along with no real intention of arriving at a solution which we could possibly accept ... I promised the people of this country that I would continue to negotiate to the bitter end and that I would leave no stone unturned in my endeavours to secure an honourable and mutually accepted settlement; it now falls to me to tell you that negotiations have come to an end".<ref name=wood472>{{Harvnb
|Wood
|2005
|p=472}}</ref>
Smith said that he believed that he would be remiss in his duty if he allowed Rhodesia to continue to "drift in its present paralysing state of uncertainty", and that following Britain's abandonment of the Federation his government was determined that "the same will never be allowed to happen here". He claimed that UDI did not mark "a diminution in the opportunities which our African people have to advance and prosper in Rhodesia", described "racial harmony in Africa" as part of his agenda and condemned black Rhodesian activities as attempts to "blackmail the British government into ... handing the country over to irresponsible rule". He then attempted to assuage fears that economic sanctions might destroy the economy, and asked Rhodesians to stand firm: "The mantle of the pioneers has fallen on our shoulders... In the lives of most nations there comes a moment when a stand has to be made for principles, whatever the consequences. This moment has come to Rhodesia ... the first Western nation in the last two decades to say 'so far and no further'." He concluded with an assertion that the declaration of independence was "a blow for the preservation of justice, civilisation and Christianity".<ref name=wood472475>{{Harvnb
|Wood
|2005
|pp=472–475}}</ref>
===Domestic reactions===
By the time Smith and Dupont arrived at Government House to see Gibbs, Whitehall had instructed the Governor to formally dismiss Smith and his ministers for treason. Gibbs complied without hesitation. Smith and his ministers ignored this, holding that under the new 1965 constitution Gibbs "no longer ha[d] any executive powers in Rhodesia", and his reserve power to sack them no longer existed.<ref>{{Harvnb
|Peterson
|1971
|p=34}}</ref> The Rhodesian government hoped that Gibbs might obligingly resign in light of his impotent situation, but he did not; following orders from London, he remained at his post at Government House. Gibbs told the Rhodesian military's senior officers, some of whom were troubled by the perceived choice between Queen and country, to remain at their posts to maintain law and order.<ref name=wood0834>{{Harvnb
|Wood
|2008
|pp=3–4}}</ref> Wilson briefly flirted with the idea of sending Lord Mountbatten to Rhodesia to support Gibbs as a direct representative of the Queen, but this was dropped after Gibbs asked for somebody "higher up" in the royal family instead.<ref name=wood1999>{{Harvnb
|Wood
|1999</ref> "Not likely", Wilson retorted.<ref name=wood1999/>
The Rhodesian government accompanied UDI with emergency measures that it said were intended to prevent alarm, unrest and the flight of people and capital. Press censorship and petrol rationing were imposed, import licences were cancelled and emigration allowances were cut to £100. News of UDI was generally received calmly by the local citizenry, apart from some isolated incidents of passing cars being stoned in the black townships outside Bulawayo. A few expected dissenters were arrested, most prominently Leo Baron, Nkomo's lawyer, whose links with black Rhodesians and communists were seen by authorities as "subversive".<ref name=wood0834/> Baron, the younger brother of the scientist Jacob Bronowski, was arrested nine minutes after UDI was made.<ref name=wood0834/>
::What was it that could make a country twice the size of Britain with half the population of London pit itself against the massive weight of world opinion? Rights or wrongs aside, there was something splendid about the gesture -- Rhodesian journalist Phillippa Berlyn on UDI<ref name=beleaguered>{{Harvnb
|Berlyn
|1967
|p=9}}</ref>}}
Welensky, who had opposed UDI, stated that he felt it was nevertheless "the duty of every responsible Rhodesian to support the revolutionary government" as he believed the only alternative was a descent into anarchy.<ref name=wood0834/> João de Freitas Cruz, the Portuguese consul-general in Salisbury, reacted to the news with wild excitement; visiting the Smith residence later in the day, he declared "Only Rhodesians could do this!"<ref name=berlyn171/> A statement from ZAPU's Jason Moyo, who was in London at the time, denounced UDI as an act of "treason and rebellion" and asserted that "the lives particularly of four million unarmed Africans are in jeopardy".<ref name=bbc1965>{{Harvnb
|BBC
|1965}}</ref> Davis M'Gabe of the Zimbabwe African National Union (ZANU) said that "For all those who cherish freedom and a meaningful life, UDI has set a collision course which cannot be altered. [It has] marked the turning point of the struggle for freedom ... from a constitutional and political one to primarily a military struggle."<ref>{{Harvnb
|Davidson
|Slovo
|Wilkinson
|1976
|p=230}}</ref> Most major Christian denominational leaders in the country publicly rejected UDI and the assertion that it defended Christianity, with the exception of the local Dutch Reformed Church, which stated that it was apolitical and thereafter refrained from comment.<ref>{{Harvnb
|Peaden
|1979
|p=196}}</ref>
A week after UDI, Smith's government announced that Dupont, the Deputy Prime Minister, had resigned from the Cabinet to accept the post of Officer Administering the Government created by the 1965 constitution.<ref name=wood1999/> Attempting to assert his claimed prerogative as Her Majesty's Rhodesian Prime Minister, Smith advised the Queen by letter to appoint Dupont as Governor-General to supersede Gibbs. The letter was ignored.<ref>{{Harvnb
|Young
|1969
|p=324}}</ref> Dupont nevertheless effectively replaced the Governor. The Smith administration assigned him the Governor's official residence at Government House, but no attempt was made to forcibly remove Gibbs and his entourage; the post-UDI government stated that the Officer Administering the Government would live at Governor's Lodge instead "until Government House, at present temporarily occupied by Sir Humphrey Gibbs in a private capacity, becomes available".<ref name=wood1999/>
The Speaker of the Rhodesian parliament, A R W Stumbles, reconvened the Legislative Assembly on 25 November, resolving that if he did not there would be chaos. He feared that Gibbs might dramatically walk into the chamber in an attempt to stop the proceedings, but Gibbs did no such thing. The parliamentary opposition opened the meeting by asking whether the assembly was legal.<ref name=wood200821/> Ahrn Palley, the lone white opposition MP, announced that as he saw it, "certain Honourable Members in collusion have torn up the constitution under which this House meets. The proceedings have no legal validity whatsoever".<ref name=time65/> Stumbles overruled this objection and two more interruptions from Palley, and suggested that any members with reservations might leave.<ref name=wood200821/> Palley continued his loud protests until he was forcibly ejected by the Sergeant-at-Arms, shouting "This is an illegal assembly! God save the Queen!"<ref name=time65>{{Harvnb
|Time
|1965}}</ref> Gondo and eight other opposition MPs followed Palley out;<ref name=wood200821>{{Harvnb
|Wood
|2008
|p=21}}</ref> all ten of them rejoined the Legislative Assembly in February 1966.{{#tag:ref|When they then repeatedly referred to Smith's government as "the illegal regime" during parliamentary discussions, Stumbles ruled the term out of order.<ref name=wood200822>{{Harvnb
|Wood
|2008
|p=22}}</ref>|group="n"|name="outoforder"}}
Gibbs received threatening letters from the Rhodesian public, and on 26 November 1965 Smith's government cut off the telephones at Government House, and removed the ceremonial guard, the official cars "and even the typewriters", Wood records.<ref name=wood1999/> Gibbs nevertheless refused to step down or to leave Government House, issuing a statement that he would remain there "as the lawful Governor of Rhodesia until such time as constitutional government is restored, which I hope will be soon."<ref name=wood1999/> He stayed at his post, ignored by the post-UDI government, until the declaration of a republic in 1970.<ref name=wood1999/>
===British and international responses; sanctions===
Wilson was astonished by Smith's actions, and found the timing of the declaration to coincide with the Armistice Day silence deeply insulting.<ref name=thinkagain/> Describing Salisbury as "hell-bent on illegal self-destroying",<ref name=wood5/> the British Prime Minister, supported in the Commons by the Liberals and most Conservatives, called on Rhodesians to ignore the post-UDI government.<ref name=wood5/> Within hours of UDI, the UN General Assembly passed a condemnatory resolution, by 107-to-two—South Africa and Portugal voted against, and France abstained—decrying Rhodesia's actions and calling on Britain to end "the rebellion by the unlawful authorities in Salisbury".<ref>{{Harvnb
|Wood
|2008
|p=7}}</ref> The UN Security Council the next day adopted Resolution 216, which denounced the declaration of independence as illegal and racist, and called on all states to refuse recognition and assistance to the Rhodesian government. Security Council Resolution 217, following on 20 November, condemned UDI as an illegitimate "usurpation of power by a racist settler minority", and called on nations neither to recognise what it deemed "this illegal authority" nor to entertain diplomatic or economic relations with it. Both of these measures were adopted by ten votes to none with France abstaining.<ref name=gd183>{{Harvnb
|Gowlland-Debbas
|1990
|pp=183–185}}</ref>
Rhodesian black nationalists and their overseas supporters, prominently the OAU, clamoured for Britain to remove Smith's government with a military invasion, but Britain dismissed this option because of various logistical issues, the risk of provoking a pre-emptive Rhodesian strike on Zambia, and the psychological problems that were likely to accompany any confrontation between British and Rhodesian troops in what Smith said would be a "fratricidal war".<ref>{{Harvnb
|Wood
|2008
|p=6}}; {{Harvnb
|Smith
|1997
|p=110}}</ref> Wilson instead resolved to end the Rhodesian rebellion through economic sanctions; these principally comprised the expulsion of Rhodesia from the Sterling area, a ban on the import of Rhodesian sugar, tobacco, chrome and other goods, and an oil boycott of Rhodesia. When the Rhodesians continued to receive oil, Wilson attempted to directly cut off their main supply lines, namely the Portuguese Mozambican ports at Beira and Lourenço Marques, by posting a Royal Navy squadron to the Mozambique Channel in March 1966. This blockade, the Beira Patrol, was endorsed the following month by UN Security Council Resolution 221.<ref name=mobley>{{Harvnb
|Mobley
|2002
|pp=66, 71–76, 83}}</ref> The United Nations proceeded to institute the first mandatory trade sanctions in its history with Security Council Resolutions 232 (December 1966) and 253 (April 1968), which required member states to cease all trade and economic links with Rhodesia.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|pp=18, 701}}</ref>
Wilson predicted in January 1966 that the various boycotts would force Smith to give in "within a matter of weeks rather than months",<ref>{{Harvnb
|Wood
|2008
|p=47}}</ref> but the British and UN sanctions had little effect on Rhodesia, largely because South Africa and Portugal went on trading with the breakaway colony, providing it with oil and other key resources.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|p=442}}</ref> Clandestine "sanction-busting" trade with other nations also continued, initially at a reduced level, and the diminished presence of foreign competitors helped domestic industries to slowly mature and expand. Rhodesia thus avoided the economic collapse predicted by Wilson and gradually became more self-sufficient.<ref>{{Harvnb
|Rowe
|2001
|pp=124–130}}</ref> The Rhodesian government set up a string of front holding companies in Switzerland, Luxembourg and Liechtenstein to help keep trade open, with some success; goods that had previously been imported from Britain were replaced by Japanese, French and West German equivalents. Even many OAU states, while bombarding Rhodesia with vitriol, continued importing Rhodesian food and other products.<ref>{{Harvnb
|Moorcraft
|McLaughlin
|2008
|p=120}}</ref> The United States created a formal exception in its embargo with the Byrd Amendment of 1971, under which the US replaced its import of chrome from the Soviet Union with Rhodesian chrome ore. This breach of the UN sanctions, passed by the US Congress on the back of anti-communist Cold War considerations, was warmly welcomed by several white Southerners in Congress; it aided the Rhodesian economy until 1977, when the newly elected President Jimmy Carter successfully pushed Congress to repeal it.<ref>{{Harvnb
|Borstelmann
|2003
|pp=236–237}}</ref>
==Recognition==
===Foreign===
[[File:Zimbabwean embassy in London.jpg|thumb|upright|Rhodesia House, the Rhodesian High Commission in London, represented Smith's government in the UK until 1969, and became a regular target for political activists.|alt=An Edwardian building with six floors stands on a moderate day, a flag flying atop it.]]
Official diplomatic recognition by other countries was key for Rhodesia as it was the only way it could regain the international legitimacy it had lost through UDI.<ref name=white97/> Recognition by the UK itself through a bilateral settlement would be the "first prize", in Smith's words, as it would end sanctions and constitutional ambiguity and make foreign acceptance, at least in the West, far more likely.<ref>{{Harvnb
|Windrich
|1978
|p=132}}</ref> Considering their country a potentially important player in the Cold War as a "bastion against communism" in southern Africa,<ref>{{Harvnb
|Borstelmann
|2003
|p=195}}</ref> the RF posited that some Western countries might recognise UDI even without a prior Anglo-Rhodesian rapprochement. Specifically, it expected diplomatic recognition from South Africa and Portugal, and thought that France might recognise Rhodesia to annoy Britain and create a precedent for an independent Quebec.<ref name=white97>{{Harvnb
|White
|2010
|p=97}}</ref> But although South Africa and Portugal gave economic, military and limited political support to the post-UDI government (as did France and other nations, to a lesser extent), neither they nor any other country ever recognised Rhodesia as a ''de jure'' independent state.<ref>{{Harvnb
|Nel
|McGowan
|1999
|p=246}}</ref> Rhodesia's unsuccessful attempts to win Western support and recognition included offers to the US government in 1966 and 1967, ignored by Lyndon B Johnson's administration, to provide Rhodesian troops to fight alongside the Americans and other anti-communist forces in Vietnam.<ref>{{Harvnb
|Glasgow Herald
|1967}}</ref>
Britain withdrew most of its High Commission staff from Salisbury in the days following UDI, leaving a small skeleton staff to man a "residual mission" intended to help Gibbs keep the British government informed of local happenings.<ref name=berlyn171>{{Harvnb
|Berlyn
|1978
|p=171}}</ref> Several countries followed Britain's lead and closed their consulates in Salisbury, with one prominent exception to this being the United States, which retained its consulate-general in post-UDI Rhodesia, relabelling it a "US Contacts Office" to circumvent the problem of diplomatic recognition.{{#tag:ref|Australia and Canada shut down their trade missions in Salisbury, while Finland, Sweden and Turkey closed their honorary consulates. Denmark, France, Italy, Japan and the United States withdrew their heads of mission, but kept their offices open. Austria, Belgium, Greece, the Netherlands, Norway, Portugal and Switzerland retained their representative missions in Salisbury at the same levels as before UDI.<ref name=strack5152/>|group="n"|name="embassies"}} South Africa and Portugal maintained "Accredited Diplomatic Representative" offices in Salisbury, which were embassies in all but name, while Rhodesia kept its pre-UDI overseas missions in Pretoria, Lisbon and Lourenço Marques. Unofficial representative offices of the Rhodesian government also existed in the US, Japan and West Germany, while a citizen of Belgium was employed to represent Rhodesian interests there. The Rhodesian High Commission in London, located at Rhodesia House on the Strand, remained under the control of the post-UDI government and effectively became its representative office in the UK.<ref name=strack5152>{{Harvnb
|Strack
|1978
|pp=51–52}}</ref> Like the South African Embassy on Trafalgar Square, Rhodesia House became a regular target for political demonstrations. These continued even after Britain forced the office to close in 1969.<ref name=brownell>{{Harvnb
|Brownell
|2010}}</ref>
Because UDI claimed to make Rhodesia independent under the Queen as an effective dominion, many countries justified their retention of missions in Rhodesia concurrently with their non-recognition of the state by pointing out that the envoys' accreditation was to the Queen and not to Smith's government ''per se''. But Rhodesia moved away from its original line of independence as a constitutional monarchy and towards republicanism during the late 1960s, hoping to end ambiguity regarding its claimed constitutional status and elicit official foreign recognition. In March 1970, after the electorate had voted "yes" in a referendum the previous year both to a new constitution and to the abandoning of symbolic ties to the Queen, Smith's government declared Rhodesia a republic. Far from prompting recognition, this led all countries apart from Portugal and South Africa to withdraw their consulates and missions, as the justification of royal accreditation could no longer be used.<ref name=strack5152/> After Portugal's Carnation Revolution in 1974, the Rhodesian mission in Lisbon was closed in May 1975, with its counterpart in Lourenço Marques following a month later on Mozambican independence. Portugal also withdrew its own remaining officials from Rhodesia, leaving South Africa as the only country with links to Salisbury. Rhodesia's diplomatic activities were thereafter greatly diminished.<ref name=strack53>{{Harvnb
|Strack
|1978
|p=53}}</ref>
===Judicial===
The Rhodesian High Court's nine Appellate and General Division judges initially neither rejected UDI nor openly supported it. The Chief Justice Sir Hugh Beadle, of the Appellate Division, announced simply that the judges would go on carrying out their duties "according to the law".<ref name=wood1999/> This originally noncommittal stance evolved over time, largely pivoting around legal cases argued at the High Court in Salisbury between 1966 and 1968. The first of these, ''Madzimbamuto v. Lardner-Burke N. O. and Others'', concerned Daniel Madzimbamuto, a black Rhodesian who was detained without trial by the Rhodesian government on 6 November 1965, the day after the declaration of a state of emergency and five days before UDI, on the grounds that he might pose a danger to the public. Desmond Lardner-Burke, the Rhodesian Minister of Justice and Law and Order, prolonged the state of emergency in February 1966, prompting Madzimbamuto's wife to appeal for his release, arguing that since the United Kingdom had declared UDI illegal and outlawed the Rhodesian government with the Southern Rhodesia Act 1965, the state of emergency (and, by extension, Madzimbamuto's imprisonment) had no legal basis.<ref name=gowllanddebbas7576/>
The General Division of the Rhodesian High Court ruled on 9 September 1966 that legal sovereignty lay with the British government, but that to "avoid chaos and a vacuum in the law" the Rhodesian government should be considered to be in control of law and order to the same extent as before UDI. In February 1968, ruling on Madzimbamuto's appeal, Beadle concluded that the Smith administration would be recognised by the local judiciary as the ''de facto'' government by virtue of its "effective control over the state's territory", but that ''de jure'' recognition would be withheld as this was not "firmly established".<ref name=gowllanddebbas7576>{{Harvnb
|Gowlland-Debbas
|1990
|pp=75–76}}</ref> Madzimbamuto applied for the right to appeal to the British Privy Council; the Rhodesian Appellate Division promptly ruled that he had no right to do so,<ref>{{Harvnb
|Wood
|2008
|p=421}}</ref> but the Privy Council considered his case anyway.<ref name=wood487488>{{Harvnb
|Wood
|2008
|pp=487–488}}</ref>
In late February 1968, considering the fate of James Dhlamini, Victor Mlambo and Duly Shadreck, three black Rhodesians convicted of murder and terrorist offences before UDI, Beadle ruled that Salisbury retained its pre-UDI powers regarding executions and could carry out death sentences. Whitehall announced on 1 March that at the request of the UK government, the Queen had exercised the royal prerogative of mercy and commuted the three death sentences to life imprisonment. Dhlamini and the others applied for a permanent stay of execution on this basis. At the hearing for Dhlamini and Mlambo on 4 March 1968, Beadle argued that he saw the statement from London as a decision by the UK government and not the Queen herself, and that in any case the 1961 constitution had transferred the prerogative of mercy from Britain to the Rhodesian Executive Council. "The present government is the fully ''de facto'' government and as such is the only power that can exercise the prerogative", he concluded. "It would be strange indeed if the United Kingdom government, exercising no internal power in Rhodesia, were given the right to exercise the prerogative of clemency."<ref name=wood423424>{{Harvnb
|Wood
|2008
|pp=423–424}}</ref> The Judge President Sir Vincent Quenet and Justice Hector Macdonald agreed, and the application was dismissed. Justice John Fieldsend of the High Court's General Division resigned in protest, writing to Gibbs that he no longer believed the High Court to be defending the rights of Rhodesian citizens. Dhlamini, Mlambo and Shadreck were hanged on 6 March.<ref name=wood423424/>
On 23 July 1968, the Privy Council in London ruled in Madzimbamuto's favour, deciding that orders for detention made by the Rhodesian government were invalid regardless of whether the 1961 or 1965 constitution was considered effective. It declared the latter, "revolutionary" constitution illegal, and ruled that the former was overridden by the Southern Rhodesia Act 1965, which had effectively outlawed the Rhodesian legislative, administrative and legal authorities in British law. Lord Reid, delivering the majority opinion (Lord Pearce dissented), argued that the "usurper" government, though the effective master of Rhodesia, could not be considered lawful as the UK government was still attempting to regain control and it was impossible to say whether or not it would succeed. He ruled that only Whitehall could determine what constituted the maintenance of "law and order" in Rhodesia, and that the Rhodesian emergency measures were unlawful as they had been formalised by the Officer Administering the Government, a post-UDI figure who was, in British eyes, unconstitutional. Reid concluded that Madzimbamuto was illegally detained.<ref name=wood487488/> Harry Davies, one of the Rhodesian judges, announced on 8 August that the Rhodesian courts would not consider this ruling binding as they no longer accepted the Privy Council as part of the Rhodesian judicial hierarchy. Justice J R Dendy Young resigned in protest at Davies' ruling on 12 August and four days later was sworn in as Chief Justice of Botswana.<ref name=wood499>{{Harvnb
|Wood
|2008
|p=499}}</ref>
The Rhodesian High Court granted full ''de jure'' recognition to the post-UDI government on 13 September 1968, while rejecting the appeals of 32 black Rhodesians who had been a month earlier convicted of terrorist offences and sentenced to death. Beadle declared that while he believed the Rhodesian judiciary should respect rulings of the Privy Council "so far as possible", the judgement of 23 July had made it legally impossible for Rhodesian judges to continue under the 1961 constitution. He asserted that the court therefore faced a choice between the 1965 constitution and a legal vacuum, the latter of which he felt he could not endorse.<ref name=wood513>{{Harvnb
|Wood
|2008
|p=513}}</ref> Referring to the Privy Council's decision that the UK might yet remove the post-UDI government, he said that "on the facts as they exist today, the only prediction which this court can make is that sanctions will not succeed in overthrowing the present government ... and that there are no other factors which might succeed in doing so".<ref name=gowllanddebbas7576/>
Macdonald, a member of Beadle's ruling panel, argued that since UDI, the British government had acted unconstitutionally and illegally regarding Rhodesia by involving the United Nations in what should have been legally considered a domestic problem, and had concurrently abdicated its right to the allegiance of the Rhodesian people by waging economic war against the country and encouraging other nations to do the same. To support this argument, Macdonald referred to the assertion by the 17th-century Dutch jurist Hugo Grotius that "the purpose of governing and the purpose of destroying cannot subsist together".<ref name=young538541/> Since Britain was in a state of economic war against Rhodesia, the court concluded, it could not at the same time be regarded as governing it.<ref name=young538541>{{Harvnb
|Young
|1969
|pp=538–541}}</ref> UDI, the associated 1965 constitution and the government were thereafter considered ''de jure'' by the Rhodesian legal system.<ref name=gowllanddebbas7576/>
The British Commonwealth Secretary, George Thomson, promptly accused the Rhodesian judges of breaching "the fundamental laws of the land",<ref name=wood513/> while Gibbs announced that since his position as Governor existed under the 1961 constitution, which allowed appeals to the Privy Council, he could only reject the Rhodesian court ruling.<ref name=wood513/> The Rhodesian judges continued regardless. Their recognition of the post-UDI order carried over to the 1969 republican constitution, adopted in 1970.<ref name=gowllanddebbas7576/>
==Replacement of national symbols==
{{multiple image
| direction = vertical
| image1 = Flag of Rhodesia (1964–1968).svg
| width1 = 140
| alt1 = A sky blue flag with the Union Jack in the upper-left-hand corner, and a coat of arms on the right.
| caption1 = Rhodesian Sky Blue Ensign, used until 1968{{#tag:ref|This overall design dated back to 1923, but a darker blue field was used until 1964, when the shade was lightened to make the Rhodesian flag more recognisable.<ref>{{Harvnb
|Smith
|1976
|p=46}}</ref>|group="n"|name="flags"}}
| image2 = Flag of Rhodesia (1968–1979).svg
| width2 = 140
| alt2 = A flag with vertical green, white and green stripes, with a coat of arms on the central white stripe.
| caption2 = Rhodesian green-and-white triband], adopted in 1968
}}
Vestiges of British ties were removed piecemeal by the government over the decade following UDI, and replaced with symbols and terminology intended to be more uniquely Rhodesian.<ref name=nyoka>{{Harvnb
|Nyoka
|1970}}</ref> A silver "Liberty Bell", based on the bell of the same name in Philadelphia, was cast during 1966 and rung by the Prime Minister each year on Independence Day (the anniversary of UDI), the number of chimes signifying the number of years since the declaration of independence.<ref>{{Harvnb
|Wood
|2008
|p=200}}</ref> The Union Jack and Rhodesia's Commonwealth-style national flag—a defaced Sky Blue Ensign with the Union Jack in the canton—continued to fly over government buildings, military bases and other official locations until 11 November 1968, the third anniversary of UDI, when they were superseded by a new national flag: a green-white-green vertical triband, charged centrally with the Rhodesian coat of arms.<ref name=young585>{{Harvnb
|Young
|1969
|p=585}}</ref> The Union Jack continued to be ceremonially raised at Cecil Square in Salisbury on 12 September each year as part of the Pioneers' Day holiday, which marked the anniversary of the establishment of Salisbury (and, by extension, Rhodesia) in 1890.<ref>{{Harvnb
|Schwarz
|2011
|pp=394–395}}</ref>
Since Elizabeth II was still the Rhodesian head of state in the eyes of Smith's administration until 1970, "God Save the Queen" remained the Rhodesian national anthem, and continued to accompany official occasions such as the opening of the Rhodesian parliament. This was intended to demonstrate Rhodesia's continued loyalty to the Queen, but the use of the unmistakably British song at Rhodesian state occasions soon seemed "fairly ironic", as ''The Times'' put it.<ref name=buch243>{{Harvnb
|Buch
|2004
|p=243}}</ref> Salisbury started looking for a replacement anthem around the same time as its introduction of the new flag,<ref>{{Harvnb
|Vancouver Sun
|1974}}</ref> and in 1974, after four years without an anthem ("God Save the Queen" was formally dropped in 1970), republican Rhodesia adopted "Rise, O Voices of Rhodesia", an anthem coupling original lyrics with the tune of Beethoven's "Ode to Joy".<ref name=buch247248>{{Harvnb
|Buch
|2004
|pp=247–248}}</ref> The country's head of state under the republican constitution was the President of Rhodesia, the first of whom was Dupont.<ref name=pb162/>
State press censorship, which had been introduced on UDI, was lifted in early April 1968.<ref>{{Harvnb
|Wood
|2008
|pp=444–445}}</ref> Decimalisation occurred on 17 February 1970, two weeks before Rhodesia's reconstitution as a republic, with the new Rhodesian dollar replacing the pound at a rate of two dollars to each pound.<ref>{{Harvnb
|Tanser
|1975
|p=22}}</ref> Following the republic's formal declaration the next month, the Rhodesian military removed nomenclatural and symbolic references to the Crown—the Royal Rhodesian Air Force and Royal Rhodesia Regiment dropped their "Royal" prefixes, new branch and regimental flags were designed, and the St Edward's Crown surmounting many regimental emblems was expunged in favour of the "lion and tusk", a motif from the coat of arms of the British South Africa Company that had been used in Rhodesian military symbolism since the 1890s. The air force's new roundel was a green ring with the lion and tusk on a white centre.<ref name=pb162>{{Harvnb
|Petter-Bowyer
|2005
|p=162}}</ref> Later that year, a system of new Rhodesian honours and decorations was created to replace the old British honours. Rhodesia's police force, the British South Africa Police, was not renamed.<ref>{{Harvnb
|Saffery
|2006
|p=7}}</ref>
==Ending UDI==
[[File:Muzorewa 1978 b.jpg|thumb|upright|Bishop Abel Muzorewa, the country's first black Prime Minister, whose unrecognised government revoked UDI in 1979 as part of the Lancaster House Agreement|alt=A portrait photograph of Abel Muzorewa]]
Wilson told the British House of Commons in January 1966 that he would not enter any kind of dialogue with the post-UDI Rhodesian "illegal regime" until it gave up its claim of independence,<ref>{{Harvnb
|Windrich
|1978
|p=76}}</ref> but by mid-1966 British and Rhodesian civil servants were holding "talks about talks" in London and Salisbury.<ref>{{Harvnb
|Windrich
|1978
|p=87}}</ref> By November that year, Wilson had agreed to negotiate personally with Smith.<ref>{{Harvnb
|Windrich
|1978
|p=98}}</ref> The two Prime Ministers unsuccessfully attempted to settle aboard HMS ''Tiger'' in December 1966 and HMS ''Fearless'' in October 1968. After the Conservatives returned to power in Britain in 1970, provisional agreement was reached in November 1971 between the Rhodesian government and a British team headed by Douglas-Home (who was Foreign Secretary under Prime Minister Edward Heath), and in early 1972 a Royal Commission chaired by Lord Pearce travelled to Rhodesia to investigate how acceptable the proposals were to majority opinion. After extensive consultation, the commission reported that while whites, coloureds and Asians were largely in favour of the presented terms, most blacks rejected them. The deal was therefore shelved by the British government.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|p=87}}</ref>
The Rhodesian Bush War, a guerrilla conflict pitting the Rhodesian Security Forces against the Zimbabwe African National Liberation Army (ZANLA) and the Zimbabwe People's Revolutionary Army (ZIPRA), the respective armed wings of ZANU and ZAPU, began in earnest in December 1972, when ZANLA attacked Altena and Whistlefield Farms in north-eastern Rhodesia.<ref name="binda133136">{{Harvnb
|Binda
|2008
|pp=133–136}}</ref> The 1974 Carnation Revolution in Portugal, which over the next year replaced Portuguese support for Smith with an independent, Marxist–Leninist Mozambique on Rhodesia's eastern frontier, greatly swung the war's momentum in favour of the nationalists (particularly ZANU, which was allied with Mozambique's governing FRELIMO party), and caused the sanctions on Rhodesia to finally begin having a noticeable effect.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|pp=87–88}}; {{Harvnb
|Gastil
|1980
|pp=159–160}}; {{Harvnb
|Olson
|Shadle
|1996
|p=1030}}</ref> Diplomatic isolation, the sanctions, guerrilla activities and pressure from South Africa to find a settlement led the Rhodesian government to hold talks with the various black Rhodesian factions. Abortive conferences were held at Victoria Falls (in 1975) and Geneva (1976).<ref>{{Harvnb
|Gastil
|1980
|pp=159–160}}; {{Harvnb
|Moorcraft
|McLaughlin
|2008
|p=89}}</ref> Despite ideological and tribal rifts, ZANU and ZAPU nominally united as the "Patriotic Front" (PF) in late 1976 in a successful attempt to augment overseas support for the black Rhodesian cause.<ref>{{Harvnb
|Cilliers
|1984
|pp=34–35}}</ref>
By the mid-1970s, it was apparent that white minority rule could not continue forever. Even Vorster realized that white rule in a country where blacks outnumbered whites 22:1 was not a realistic option.<ref name="impression">{{cite web |url=http://www.aliciapatterson.org/APF001975/Wright/Wright12/Wright12.html |title=APF newsletter, "Appraisal of Rhodesia in 1975" |url-status=dead |archiveurl=https://web.archive.org/web/20090531063909/http://www.aliciapatterson.org/APF001975/Wright/Wright12/Wright12.html |archivedate=31 May 2009 |df=dmy-all }}</ref> Smith, who was decisively re-elected three times during the 1970s, eventually came to this conclusion as well. He announced his acceptance in principle of one man, one vote during Henry Kissinger's Anglo-American initiative in September 1976, and in March 1978 concluded the Internal Settlement with non-militant nationalist groups headed by Bishop Abel Muzorewa, the Reverend Ndabaningi Sithole and Chief Jeremiah Chirau. This settlement, boycotted by the PF and rejected internationally,<ref>{{Harvnb
|Gowlland-Debbas
|1990
|pp=88–89, 187–191}}; {{Harvnb
|Gastil
|1980
|pp=159–160}}</ref> led to multiracial elections and Rhodesia's reconstitution under majority rule as Zimbabwe Rhodesia in June 1979. Muzorewa, the electoral victor, took office as the country's first black Prime Minister at the head of a coalition Cabinet comprising 12 blacks and five whites,<ref>{{Harvnb
|Gowlland-Debbas
|1990
|p=79}}</ref> including Smith as minister without portfolio.<ref>{{Harvnb
|Olson
|Shadle
|1996
|p=1030}}</ref> Dismissing Muzorewa as a "neocolonial puppet",<ref>{{Harvnb
|Winn
|1979}}</ref> ZANLA and ZIPRA continued their armed struggle until December 1979, when Whitehall, Salisbury and the Patriotic Front settled at Lancaster House. Muzorewa's government revoked UDI, thereby ending the country's claim to be independent after 14 years, and dissolved itself. The UK suspended the constitution and vested full executive and legislative powers in a new Governor, Lord Soames, who oversaw a ceasefire and fresh elections during February and March 1980. These were won by ZANU, whose leader Robert Mugabe became Prime Minister when the UK granted independence to Zimbabwe as a republic within the Commonwealth in April 1980.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|pp=89–91}}</ref>
==Notes and references==
'''Footnotes'''
{{reflist|group=n|colwidth=35em}}
'''References'''
{{reflist|colwidth=20em}}
'''Speeches'''
{{refbegin}}
*{{cite web
|title=Rhodesia's Position Within the Commonwealth
|first=Roy
|last=Welensky
|authorlink=Roy Welensky
|event=Empire Club of Canada Addresses
|location=Toronto
|date=8 April 1965
|url=http://speeches.empireclub.org/61140/data
|pages=314–319
|accessdate=5 June 2013
|ref=harv}}
{{refend2}}
'''Newspaper and journal articles'''
{{refbegin}}
*{{cite journal
|title='A Sordid Tussle on the Strand': Rhodesia House during the UDI Rebellion (1965–80)
|last=Brownell
|first=Josiah
|year=2010
|journal=The Journal of Imperial and Commonwealth History
|volume=38
|issue=3
|pages=471–499
|doi=10.1080/03086534.2010.503398
|ref=harv}}
*{{cite journal
|title=Rhodesia: The Last Chance#
|journal=Fabian Tracts |issue=368
|last=Cunningham
|first=George
|authorlink=George Cunningham (British politician)
|date=September 1966
|location=London
|publisher=Fabian Society
|ref=harv}}
*{{cite journal
|title=Rhodesia's Face of Defiance
|url=https://books.google.com/?id=XVYEAAAAMBAJ&pg=PA22&dq=%22#v=onepage&q&f=false
|last=Hall
|first=Lee
|journal=Life
|date=27 May 1966
|accessdate=11 June 2013
|pages=22–30
|ref=harv}}
*{{cite journal
|title=Zimbabwe and the Commonwealth
|last=McWilliam
|first=Michael
|date=January 2003
|journal=The Round Table
|volume=92
|issue=368
|pages=89–98
|doi=10.1080/750456746
|ref=harv}}
*{{cite journal
|title = The Beira patrol: Britain's broken blockade against Rhodesia
|last = Mobley
|first = Richard
|date = Winter 2002
|volume = LV
|pages = 63–84
|journal = Naval War College Review
|url = http://www.usnwc.edu/getattachment/5b9b2e96-200c-4d99-b8bb-0e3490488bfa/Beira-Patrol,-The--Britain-s-Broken-Blockade-again
|issue = 1
|ref = harv
|url-status = dead
|archiveurl = https://web.archive.org/web/20140914110201/https://www.usnwc.edu/getattachment/5b9b2e96-200c-4d99-b8bb-0e3490488bfa/Beira-Patrol%2C-The--Britain-s-Broken-Blockade-again
|archivedate = 14 September 2014
|df = dmy-all
}}
*{{cite journal
|title=Rhodesia's War of Independence
|url=http://www.historytoday.com/paul-moorcraft/rhodesias-war-independence
|last=Moorcraft
|first=Paul
|authorlink=Paul Moorcraft
|journal=History Today
|issn=0018-2753
|year=1990
|volume=40
|issue=9
|accessdate=11 June 2013
|ref=harv}}
*{{cite journal
|title='More a Cause than a Country': Historiography, UDI and the Crisis of Decolonisation in Rhodesia
|last=Nyamunda
|first=Tinashe
|journal=Journal of Southern African Studies
|year=2016
|volume=42
|number=5
|pages=1005–1019
|issn=0305-7070
|ref=harv|doi=10.1080/03057070.2016.1222796
}}
*{{cite news
|title=Smith regime doing away with last British influences
|last=Nyoka
|first=Justin V J
|journal=The Afro-American
|location=Baltimore, Maryland
|publisher=The Afro-American Company
|url=https://news.google.com/newspapers?nid=2211&dat=19700718&id=5iYmAAAAIBAJ&sjid=_f0FAAAAIBAJ&pg=2344,379690
|page=22
|date=18 July 1970
|accessdate=11 June 2013
|ref=harv}}
*{{cite journal
|title=Aspects of the Church and its Political Involvement in Southern Rhodesia, 1959–1972
|last=Peaden
|first=W R
|url=http://archive.lib.msu.edu/DMC/African%20Journals/pdfs/Journal%20of%20the%20University%20of%20Zimbabwe/vol7n2/juz007002006.pdf
|journal=Zambezia
|year=1979
|volume=7
|number=2
|pages=191–210
|issn=0379-0622
|accessdate=4 July 2013
|ref=harv}}
*{{cite journal
|title=Violence Variously Remembered: the Killing of Pieter Oberholzer in July 1964
|last=Ranger
|first=Terence
|authorlink=Terence Ranger
|journal=History in Africa
|year=1997
|volume=24
|pages=273–286
|jstor=3172030
|doi=10.2307/3172030
|ref=harv}}
*{{cite journal
|last=Lord St Brides
|authorlink=Morrice James, Baron St Brides
|title=The Lessons of Zimbabwe-Rhodesia
|journal=International Security
|date=April 1980
|volume=4
|issue=4
|pages=177–184
|jstor=2626673
|doi=10.2307/2626673
|ref={{harvid|St Brides|1980}}}}
*{{cite journal
|title=Despite Rhodesia's Elections, Robert Mugabe Vows to Wage Guerrilla War 'to the Last Man'
|last=Winn
|first=Michael
|journal=People
|url=http://www.people.com/people/archive/article/0,,20073566,00.html
|volume=11
|number=18
|date=7 May 1979
|accessdate=11 June 2013
|ref=harv}}
*{{cite journal
|title=Rhodesia: The Shortened Fuse
|journal=Time
|url=http://www.time.com/time/magazine/article/0,9171,842248-1,00.html
|date=3 December 1965
|accessdate=24 July 2013
|ref={{harvid|Time|1965}}}}
*{{cite news
|title=US snubs Rhodesia over troops for Vietnam
|url=https://news.google.com/newspapers?id=72NAAAAAIBAJ&sjid=caMMAAAAIBAJ&pg=2984,4130302&dq=&hl=en
|work=The Glasgow Herald
|publisher=Lord Fraser
|location=Glasgow
|date=20 May 1967
|accessdate=21 June 2013
|page=7
|ref={{harvid|Glasgow Herald|1967}}}}
*{{cite news
|title=Rhodesia Declares Independence, Provokes Wrath
|url=https://news.google.com/newspapers?id=aPhRAAAAIBAJ&sjid=VnQDAAAAIBAJ&pg=6679%2C762352
|work=The St. Petersburg Times
|publisher=Times Publishing Company
|location=St. Petersburg, Florida
|date=12 November 1965
|accessdate=11 June 2013
|pages=1–A, 7–A
|ref={{harvid|St. Petersburg Times|1965}}}}
*{{cite news
|title=Rhodesia picks Ode to Joy
|url=https://news.google.com/newspapers?id=cHBmAAAAIBAJ&sjid=XosNAAAAIBAJ&pg=6475,5011881&dq
|work=The Vancouver Sun
|location=Vancouver, British Columbia
|publisher=Postmedia News
|page=12
|date=30 August 1974
|accessdate=11 June 2013
|ref={{harvid|Vancouver Sun|1974}}}}
{{refend2}}
'''Online sources'''
{{refbegin}}
*{{cite web
|last=Wood
|first=J R T
|title=Four Tall NCOs of the Life Guards: Lord Mountbatten, Harold Wilson, and the Immediate Aftermath of UDI: The Proposed Mountbatten Mission
|url=http://www.jrtwood.com/article_guardsmen.asp
|year=1999
|work=jrtwood.com
|location=Durban
|accessdate=10 June 2013
|ref=harv}}
*{{cite web
|title=1965: Rhodesia breaks from UK
|url=http://news.bbc.co.uk/onthisday/hi/dates/stories/november/11/newsid_2658000/2658445.stm
|publisher=BBC
|location=London
|date=11 November 1965
|accessdate=4 July 2013
|ref={{harvid|BBC|1965}}}}
{{refend2}}
'''Bibliography'''
{{refbegin|colwidth=35em}}
<!--
*{{cite book
|title=Guide to the Historical Manuscripts in the National Archives of Rhodesia
|last1=Baxter
|first1=T W
|last2=Burke
|first2=E E
|year=1970
|location=Salisbury
|publisher=National Archives of Rhodesia
|edition=First
|asin=B0017HAKHI
|ref=harv}}
-->
*{{cite book
|title=Rhodesia: Beleaguered Country
|last=Berlyn
|first=Phillippa
|location=London
|publisher=Mitre Press
|year=1967
|isbn=978-0-7051-9002-2
|ref=harv}}
*{{cite book
|title=The Quiet Man: A Biography of the Hon. Ian Douglas Smith
|last=Berlyn
|first=Phillippa
|location=Salisbury
|publisher=M O Collins
|date=April 1978
|oclc=4282978
|ref=harv}} also includes (on pp. 240–256) {{cite journal
|title=Constitutional History of Rhodesia: An outline
|last=Rowland
|first=J Reid
|ref={{harvid|Rowland|1978}}}}
*{{cite book
|title=The Saints: The Rhodesian Light Infantry
|last=Binda
|first=Alexandre
|location=Johannesburg
|publisher=30° South Publishers
|date=May 2008
|isbn=978-1-920143-07-7
|ref=harv}}
*{{cite book
|title=A History of Rhodesia
|last=Blake
|first=Robert
|authorlink=Robert Blake, Baron Blake
|year=1977
|edition=First
|location=London
|publisher=Eyre Methuen
|isbn=978-0-413-28350-4
|ref=harv}}
*{{cite book
|title=The Cold War and the Color Line: American Race Relations in the Global Arena
|last=Borstelmann
|first=Thomas
|location=Cambridge, Massachusetts
|publisher=Harvard University Press
|date=September 2003
|isbn=978-0-674-01238-7
|ref=harv
|url=https://archive.org/details/coldwarcolo00thom
}}
*{{cite book
|title=Beethoven's Ninth: A Political History
|last=Buch
|first=Esteban
|others=Trans. Miller, Richard
|publisher=University Of Chicago Press
|location=Chicago, Illinois
|date=May 2004
|origyear=1999
|isbn=978-0-226-07824-3
|ref=harv}}
*{{cite book
|title=Under the Skin: The Death of White Rhodesia
|last=Caute
|first=David
|authorlink=David Caute
|date=June 1983
|edition=First
|location=Evanston, Illinois
|publisher=Northwestern University Press
|isbn=978-0-8101-0658-1
|ref=harv
|url=https://archive.org/details/underskindeat00caut
}}
*{{cite book
|title=Counter-Insurgency in Rhodesia
|last=Cilliers
|first=Jakkie
|location=London, Sydney & Dover, New Hampshire
|publisher=Croom Helm
|date=December 1984
|isbn=978-0-7099-3412-7
|ref=harv}}
*{{cite book
|title=Southern Africa: The New Politics of Revolution
|last1=Davidson
|first1=Basil
|author1-link=Basil Davidson
|last2=Slovo
|first2=Joe
|author2-link=Joe Slovo
|last3=Wilkinson
|first3=Anthony R
|publisher=Penguin Books
|location=Harmondsworth, England
|year=1976
|edition=First
|isbn=978-0-14-021963-0
|ref=harv}}
*{{cite book
|title=A Right to be Proud: The Struggle for Self-Government and the Roots of White Nationalism in Rhodesia, 1890–1922
|last=Di Perna
|first=Anthony D
|year=1978
|origyear=1973
|publisher=Books of Rhodesia
|location=Bulawayo
|isbn=978-0-86920-176-3
|ref=harv}}
*{{cite book
|title=Politics & government in African states, 1960–1985
|editor1-last=Duignan
|editor1-first=Peter
|editor2-last=Jackson
|editor2-first=Robert H
|location=London, Sydney & Dover, New Hampshire
|publisher=Croom Helm
|date=May 1986
|isbn=978-0-8179-8482-3
|ref=harv}}
*{{cite book
|title=International Diplomacy and Colonial Retreat
|editor1-last=Fedorowich
|editor1-first=Kent
|editor2-last=Thomas
|editor2-first=Martin
|year=2001
|location=London
|publisher=Frank Cass
|isbn=978-0-7146-5063-0
|ref=harv}}
*{{cite book
|title=The Silence of Great Zimbabwe: Contested Landscapes and the Power of Heritage
|last=Fontein
|first=Joost
|location=London
|publisher=University College London Press
|date=September 2006
|edition=First
|isbn=978-1-84472-123-8
|ref=harv}}
*{{cite book
|title=Freedom in the World: Political Rights and Civil Liberties, 1980
|editor-last=Gastil
|editor-first=Raymond
|editor-link=Raymond Gastil
|location=New York
|publisher=Freedom House
|year=1980
|isbn=978-0-87855-852-0
|ref=harv|title-link=Freedom in the World
}}
*{{cite book
|title=Collective Responses to Illegal Acts in International Law: United Nations action in the question of Southern Rhodesia
|last=Gowlland-Debbas
|first=Vera
|publisher=Martinus Nijhoff Publishers
|location=Leiden and New York
|year=1990
|edition=First
|isbn=978-0-7923-0811-9
|ref=harv}}
*{{cite book
|title=Sourcebook on Public International Law
|last=Hillier
|first=Tim
|year=1998
|edition=First
|location=London & Sydney
|publisher=Cavendish Publishing
|isbn=978-1-85941-050-9
|ref=harv}}
*{{cite book
|title=Quasi-States: Sovereignty, International Relations and the Third World
|last=Jackson
|first=Robert H
|year=1990
|location=Cambridge, England
|publisher=Cambridge University Press
|isbn=978-0-521-44783-6
|ref=harv}}
*{{cite book
|title=Defunct Federalisms: Critical Perspectives on Federal Failure
|editor1-last=Kavalski
|editor1-first=Emilian
|editor2-last=Zolkos
|editor2-first=Magdalena
|location=Farnham, England
|publisher=Ashgate Publishing
|date=September 2008
|isbn=978-0-7546-4984-7
|ref=harv}}
*{{cite book
|title=The Struggle for Zimbabwe
|last1=Martin
|first1=David
|last2=Johnson
|first2=Phyllis
|date=July 1981
|edition=First
|location=London
|publisher=Faber and Faber
|isbn=978-0-571-11066-7
|ref=harv}}
*{{cite book
|title=General History of Africa, VIII: Africa Since 1935
|editor-last=Mazrui
|editor-first=Ali Al'Amin
|editor-link=Ali Mazrui
|year=1993
|edition=First
|location=Paris
|publisher=United Nations Educational, Scientific and Cultural Organization
|isbn=978-92-3-102758-1
|ref=harv
|url-access=registration
|url=https://archive.org/details/unescogeneralhis08alim
}}
*{{cite book
|title=The First Dance of Freedom: Black Africa in the postwar era
|url=https://archive.org/details/firstdanceoffree00mere
|url-access=registration
|last=Meredith
|first=Martin
|authorlink=Martin Meredith
|year=1984
|location=New York
|publisher=HarperCollins
|isbn=978-0-06-430150-3
|ref=harv}}
*{{cite book
|title=Ragtime Soldiers: the Rhodesian Experience in the First World War
|last=McLaughlin
|first=Peter
|authorlink=Peter McLaughlin
|publisher=Books of Zimbabwe
|location=Bulawayo
|year=1980
|isbn=978-0-86920-232-6
|ref=harv
|url=https://archive.org/details/ragtimesoldiersr00mcla
}}
* Michel, Eddie. ''The White House and White Africa: Presidential Policy Toward Rhodesia During the UDI Era, 1965-1979'' (New York: Routledge, 2019). {{ISBN|9781138319998}} [https://issforum.org/roundtables/PDF/Roundtable-XXI-6.pdf online review]
*{{cite book
|title=The Rhodesian War: A Military History
|last1=Moorcraft
|first1=Paul L
|authorlink1=Paul Moorcraft
|last2=McLaughlin
|first2=Peter
|authorlink2=Peter McLaughlin
|date=April 2008
|origyear=1982
|location=Barnsley
|publisher=Pen and Sword Books
|isbn=978-1-84415-694-8
|ref=harv}}
*{{cite book
|title=The House of Lords and the Labour government, 1964–1970
|last=Morgan
|first=Janet P
|location=Oxford
|publisher=Clarendon Press
|date=April 1975
|isbn=978-0-19-827191-8
|ref=harv
|url=https://archive.org/details/houseoflordslabo0000morg
}}
*{{cite book
|title=Do 'Zimbabweans' Exist? Trajectories of Nationalism, National Identity Formation and Crisis in a Postcolonial State
|last=Ndlovu-Gatsheni
|first=Sabelo J
|location=Bern
|publisher=Peter Lang AG
|year=2009
|edition=First
|isbn=978-3-03911-941-7
|ref=harv}}
*{{cite book
|title=Power, Wealth and Global Order: an International Relations Textbook for Africa
|editor1-last=Nel
|editor1-first=Philip
|editor2-last=McGowan
|editor2-first=Pat
|year=1999
|edition=First
|location=Cape Town
|publisher=University of Cape Town Press
|isbn=978-1-919713-30-4
|ref=harv}}
*{{cite book
|title=Zimbabwe, a Country Study
|series=Area Handbook Series
|editor-last=Nelson
|editor-first=Harold D
|year=1983
|location=Washington, D.C.
|publisher=Department of the Army, American University
|edition=Second
|oclc=227599708
|ref=harv}}
*{{cite book
|title=Historical Dictionary of the British Empire: K–Z
|editor1-last=Olson
|editor1-first=James Stuart
|editor1-link=James S. Olson
|editor2-last=Shadle
|editor2-first=Robert
|year=1996
|location=Westport, Connecticut
|publisher=Greenwood Publishing Group
|isbn=978-0-313-27917-1
|ref=harv}}
*{{cite book
|title=The Constitutional History and Law of Southern Rhodesia 1888–1965, with Special Reference to Imperial Control
|last=Palley
|first=Claire
|authorlink=Claire Palley
|year=1966
|edition=First
|location=Oxford
|publisher=Oxford University Press
|oclc=406157
|ref=harv}}
*{{cite book
|title=Rhodesian Independence
|series=Interim History
|editor-last=Peterson
|editor-first=Robert W
|year=1971
|location=New York
|publisher=Facts On File
|isbn=978-0-87196-184-6
|ref=harv}}
*{{cite book
|title=Winds of Destruction: the Autobiography of a Rhodesian Combat Pilot
|last=Petter-Bowyer
|first=P J H
|date=November 2005
|origyear=2003
|location=Johannesburg
|publisher=30° South Publishers
|isbn=978-0-9584890-3-4
|ref=harv}}
*{{cite book
|title=Manipulating the Market: Understanding Economic Sanctions, Institutional Change, and the Political Unity of White Rhodesia
|last=Rowe
|first=David M
|year=2001
|edition=First
|location=Ann Arbor, Michigan
|publisher=University of Michigan Press
|isbn=978-0-472-11187-9
|ref=harv}}
*{{cite book
|title=Rhodesia Medal Roll: Honours and Decorations of the Rhodesian Conflict 1970–1981
|last=Saffery
|first=David
|date=August 2006
|location=London
|publisher=Jeppestown Press
|isbn=978-0-9553936-0-0
|ref=harv}}
*{{cite book
|title=The White Man's World
|last=Schwarz
|first=Bill
|location=Oxford
|publisher=Oxford University Press
|year=2011
|edition=First
|isbn=978-0-19-929691-0
|ref=harv}}
*{{cite book
|title=The Great Betrayal: The Memoirs of Ian Douglas Smith
|last=Smith
|first=Ian
|authorlink=Ian Smith
|date=June 1997
|location=London
|publisher=John Blake Publishing
|isbn= 978-1-85782-176-5
|ref=harv|title-link=The Great Betrayal: The Memoirs of Ian Douglas Smith
}}
*{{cite book
|title=The Flag Bulletin. ''Volumes 15–17''
|editor-last=Smith
|editor-first=Whitney
|editor-link=Whitney Smith
|year=1976
|publisher=Flag Research Center
|location=Winchester, Massachusetts
|ref=harv}}
*{{cite book
|title=Sanctions: The Case of Rhodesia
|last=Strack
|first=Harry R
|date=May 1978
|publisher=Syracuse University Press
|location=Syracuse, New York
|edition=First
|isbn=978-0-8156-2161-4
|ref=harv}}
*{{cite book
|title=The Guide to Rhodesia
|last=Tanser
|first=George Henry
|year=1975
|location=Johannesburg & Salisbury
|publisher=Winchester Press
|isbn=978-0-620-01590-5
|ref=harv}}
*{{cite book
|title=Black and White Elites in Rural Rhodesia
|last=Weinrich
|first=A K H
|year=1973
|location=Manchester
|publisher=Manchester University Press
|isbn=978-0-7190-0533-6
|ref=harv}}
*{{cite book
|title=Welensky's 4000 Days
|last=Welensky
|first=Roy
|authorlink=Roy Welensky
|year=1964
|location=London
|publisher=HarperCollins
|oclc=460725368
|ref=harv}}
*{{cite book
|title=P K van der Byl: African Statesman
|last=Wessels
|first=Hannes
|location=Johannesburg
|publisher=30° South Publishers
|date=July 2010
|isbn=978-1-920143-49-7
|ref=harv}}
*{{cite book
|title=The Rise of an African Middle Class: Colonial Zimbabwe, 1898–1965
|last=West
|first=Michael O
|date=August 2002
|location=Bloomington, Indiana
|publisher=Indiana University Press
|isbn=978-0-253-21524-6
|ref=harv}}
*{{cite news
|last=White
|first=Luise
|title=The Utopia of Working Phones: Rhodesian Independence and the Place of Race in Decolonization
|ref={{harvid|White|2010}}}} in {{cite book
|title=Utopia/Dystopia: Conditions of Historical Possibility
|editor1-last=Gordin
|editor1-first=Michael D
|editor2-last=Tilley
|editor2-first=Helen
|editor3-last=Prakash
|editor3-first=Gyan
|location=Princeton, New Jersey
|publisher=Princeton University Press
|date=August 2010
|pages=94–116
|isbn=978-1-4008-3495-2}}
*{{cite book
|title=Smith of Rhodesia: A Pictorial Biography
|last=White
|first=Matthew C
|location=Cape Town
|publisher=Don Nelson
|year=1978
|isbn=978-0-909238-36-0
|ref=harv}}
*{{cite book
|title=The Labour Government, 1964–70: A Personal Record
|last=Wilson
|first=Harold
|authorlink=Harold Wilson
|year=1974
|origyear=1971
|publisher=Penguin Books
|location=Harmondsworth, England
|isbn=978-0-14-021762-9
|ref=harv
|url=https://archive.org/details/isbn_0140217622
}}
*{{cite book
|title=Britain and the Politics of Rhodesian Independence
|last=Windrich
|first=Elaine
|year=1978
|location=London
|publisher=Croom Helm
|isbn=978-0-85664-709-3
|ref=harv}}
*{{cite book
|title=So Far and No Further! Rhodesia's Bid For Independence During the Retreat From Empire 1959–1965
|last=Wood
|first=J R T
|date=June 2005
|location=Victoria, British Columbia
|publisher=Trafford Publishing
|isbn=978-1-4120-4952-8
|ref=harv}}
*{{cite book
|title=A Matter of Weeks Rather Than Months: The Impasse Between Harold Wilson and Ian Smith: Sanctions, Aborted Settlements and War 1965–1969
|last=Wood
|first=J R T
|date=April 2008
|location=Victoria, British Columbia
|publisher=Trafford Publishing
|isbn=978-1-4251-4807-2
|ref=harv}}
*{{cite book
|title=Rhodesia and Independence: A Study in British Colonial Policy
|last=Young
|first=Kenneth
|year=1969
|origyear=1967
|location=London
|publisher=J M Dent & Sons
|oclc=955160
|ref=harv}}
{{refend2}}
{{BookCat}}
n21t0e5jwyzsj6rgdxjraqefiww49h3
4639925
4639923
2026-06-11T15:13:48Z
Dirk Hünniger
343292
[[WB:REVERT|Reverted]] edits by [[Special:Contributions/Dirk Hünniger|Dirk Hünniger]] ([[User talk:Dirk Hünniger|talk]]) to last version by ShakespeareFan00
4410785
wikitext
text/x-wiki
{{dewikify}}
The '''Unilateral Declaration of Independence''' ('''UDI''') was a statement adopted by the Cabinet of Rhodesia on 11 November 1965, announcing that Rhodesia,{{#tag:ref||group="n"|name="name"}} a British territory in southern Africa that had governed itself since 1923, now regarded itself as an independent sovereign state. The culmination of a protracted dispute between the British and Rhodesian governments regarding the terms under which the latter could become fully independent, it was the first unilateral break from the United Kingdom by one of its colonies since the United States Declaration of Independence in 1776. The UK, the Commonwealth and the United Nations all deemed Rhodesia's UDI illegal, and economic sanctions, the first in the UN's history, were imposed on the breakaway colony. Amid near-complete international isolation, Rhodesia continued as an unrecognised state with the assistance of South Africa and Portugal.
The Rhodesian government, which mostly comprised members of the country's white minority of about 5%, was indignant when, amid the UK colonial government's ''Wind of Change'' policies of decolonisation, less developed African colonies to the north without comparable experience of self-rule quickly advanced to independence during the early 1960s while Rhodesia was refused sovereignty under the newly ascendant principle of "no independence before majority rule" ("NIBMAR"). Most white Rhodesians felt that they were due independence following four decades of self-government, and that the British government was betraying them by withholding it. This combined with the colonial government's acute reluctance to hand over power to black Rhodesians—the manifestation of racial tensions, Cold War anti-communism and the fear that a dystopian Congo-style situation might result—to create the impression that if the UK did not grant independence, Rhodesia might be justified in taking it unilaterally.
A stalemate developed between the British and Rhodesian prime ministers, Harold Wilson and Ian Smith respectively, between 1964 and 1965. Dispute largely surrounded the British condition that the terms for independence had to be acceptable "to the people of the country as a whole"; Smith contended that this was met, while the UK and black Rhodesian leaders held that it was not. After Wilson proposed in late October 1965 that the UK might safeguard future black representation in the Rhodesian parliament by withdrawing some of the colonial government's devolved powers, then presented terms for an investigatory Royal Commission that the Rhodesians found unacceptable, Smith and his Cabinet declared independence. Calling this treasonous, the British colonial governor, Sir Humphrey Gibbs, formally dismissed Smith and his government, but they ignored him and appointed an "Officer Administering the Government" to take his place.
While no country recognised the UDI, the Rhodesian High Court deemed the post-UDI government legal and ''de jure'' in 1968. The Smith administration initially professed continued loyalty to Queen Elizabeth II, but abandoned this in 1970 when it declared a republic in an unsuccessful attempt to win foreign recognition. The Rhodesian Bush War, a guerrilla conflict between the government and two rival communist-backed black Rhodesian groups, began in earnest two years later, and after several attempts to end the war Smith concluded the Internal Settlement with non-militant nationalists in 1978. Under these terms the country was reconstituted under black rule as Zimbabwe Rhodesia in June 1979, but this new order was rejected by the guerrillas and the international community. The Bush War continued until Zimbabwe Rhodesia revoked its UDI as part of the Lancaster House Agreement in December 1979. Following a brief period of direct British rule, the country was granted internationally recognised independence under the name Zimbabwe in 1980.
==Background==
===A unique case===
[[File:Zimbabwe in Africa.svg|thumb|Southern Rhodesia (or Rhodesia), highlighted in red on a map of Africa|alt=A map. See description]]
The southern African territory of Rhodesia, officially Southern Rhodesia,{{#tag:ref|Renamed Zimbabwe in 1980.<ref>{{Harvnb
|Wessels
|2010
|p=273}}</ref> The official name of the colony under British law was Southern Rhodesia, but the colonial government switched to using the name Rhodesia in October 1964, when Northern Rhodesia changed its name to Zambia concurrently with its independence from Britain.<ref name="palley742743"/>|group="n"|name="name"}} was a unique case in the British Empire and Commonwealth: although a colony in name, it was internally self-governing and constitutionally not unlike a dominion.<ref name=rowland247248>{{Harvnb
|Rowland
|1978
|pp=247–248}}</ref> This situation dated back to 1923, when it was granted responsible government within the Empire as a self-governing colony, following three decades of administration and development by the British South Africa Company.<ref name=rowland245246>{{Harvnb
|Rowland
|1978
|pp=245–246}}</ref> Britain had intended Southern Rhodesia's integration into the Union of South Africa as a new province, but this having been rejected by registered voters in the 1922 government referendum, the territory was moulded into a prospective dominion instead.<ref>{{Harvnb
|Wood
|2005
|p=9}}</ref> It was empowered to run its own affairs in almost all respects, including defence.{{#tag:ref|Powers reserved to the British government at Whitehall under the 1923 constitution concerned foreign affairs, alterations to the constitution, the British-appointed Governor's salary, and bills regarding native administration, mining revenues and railways. Laws relevant to these subjects had to receive assent from the Governor (and, by extension, Whitehall), but all other bills could be passed by Salisbury without interference.<ref name=rowland247248/>|group="n"|name="selfgoverning"}}
Whitehall's powers over Southern Rhodesia under the 1923 constitution were, on paper, considerable; the British Crown was theoretically able to cancel any passed bill within a year, or alter the constitution however it wished. These reserved powers were intended to protect the indigenous black Africans from discriminatory legislation and to safeguard British commercial interests in the colony,<ref name=rowland247248/> but as Claire Palley comments in her constitutional history of the country, it would have been extremely difficult for Whitehall to enforce such actions, and attempting to do so would have probably caused a crisis.<ref>{{Harvnb
|Palley
|1966
|p=230}}</ref> In the event, they were never exercised. A generally co-operative relationship developed between Whitehall and the colonial government and civil service in Salisbury, and dispute was rare.<ref name=rowland247248/>
The 1923 constitution was drawn up in non-racial terms, and the electoral system it devised was similarly open, at least in theory. Voting qualifications regarding personal income, education and property, similar to those of the Cape Qualified Franchise, were applied equally to all, but since most blacks did not meet the set standards, both the electoral roll and the colonial parliament were overwhelmingly from the white minority of about 5%.<ref name=gd4853/><ref name=pops/> The result was that black interests were sparsely represented if at all, something that most of the colony's whites showed little interest in changing;<ref name=gd4853/> they claimed that most blacks were uninterested in Western-style political process and that they would not govern properly if they took over.<ref>{{Harvnb
|Weinrich
|1973
|pp=69–72}}</ref> Bills such as the Land Apportionment Act of 1930, which earmarked about half of the country for white ownership and residence while dividing the rest into black purchase, tribal trust and national areas, were variously biased towards the white minority.<ref name=gd4853>{{Harvnb
|Gowlland-Debbas
|1990
|pp=48–53}}</ref> White settlers and their offspring provided most of the colony's administrative, industrial, scientific and farming skills, and built a relatively balanced, partially industrialised market economy, boasting strong agricultural and manufacturing sectors, iron and steel industries and modern mining enterprises.<ref>{{Harvnb
|Duignan
|Jackson
|1986
|p=164}}</ref>
In the wider Imperial context, Southern Rhodesia occupied a category unto itself because of the "special quasi-independent status" it held.<ref name=stbrides/> The Dominions Office, formed in 1925 to handle British relations with the dominions of Australia, Canada, New Zealand, Newfoundland, South Africa and the Irish Free State, also dealt with Southern Rhodesia, and Imperial Conferences included the Southern Rhodesian Prime Minister alongside those of the dominions from 1932.<ref name=stbrides>{{Harvnb
|St Brides
|1980}}</ref> This unique arrangement continued following the advent of Commonwealth Prime Ministers' Conferences in 1944.<ref>{{Harvnb
|Berlyn
|1978
|pp=134–142}}</ref> Southern Rhodesians of all races fought for Britain in the Second World War, and the colonial government gradually received more autonomy regarding external affairs.<ref name=rowland247248/> During the immediate post-war years, Southern Rhodesian politicians generally thought that they were as good as independent as they were, and that full autonomy in the form of dominionship would make little difference to them.<ref name=smith32>{{Harvnb
|Smith
|1997
|p=32}}</ref> Post-war immigration to Southern Rhodesia, mainly from Britain, Ireland and South Africa, caused the white community to swell from 68,954 in 1941 to 221,504 in 1961. The black population grew from 1,400,000 to 3,550,000 over the same period.<ref name=pops>{{Harvnb
|Weinrich
|1973
|p=15}}</ref>
===Federation and the Wind of Change===
[[File:Federation of Rhodesia and Nyasaland.png|thumb|The Federation of Rhodesia and Nyasaland (1953–63)|alt=A map. See description]]
Believing full dominion status to be effectively symbolic and "there for the asking",<ref name=smith32/> Prime Minister Godfrey Huggins (in office from 1933 to 1953) twice ignored British overtures hinting at dominionship,<ref name=independenceoffers/> and instead pursued an initially semi-independent Federation with Northern Rhodesia and Nyasaland, two colonies directly administered from London.<ref name="independenceoffers">{{Harvnb
|Wood
|2005
|p=279}}</ref> He hoped that this might set in motion the creation of one united dominion in south-central Africa, emulating the Federation of Australia half a century before.{{#tag:ref|The original vision shared by Huggins and his Northern Rhodesian counterpart Sir Roy Welensky was a unitary amalgamation of the two Rhodesias that would eventually become a dominion. British politicians rejected this idea, asserting that black Northern Rhodesians would never accept it, but agreed to consider a Federation on the condition that neighbouring Nyasaland was also included.<ref>{{Harvnb
|Blake
|1977
|pp=247–249}}</ref>|group="n"|name="fed"}} The Federation of Rhodesia and Nyasaland, defined in its constitution as indissoluble,<ref name=wood123>{{Harvnb
|Wood
|2005
|p=123}}</ref> began in 1953, mandated by the results of a mostly white referendum, with Southern Rhodesia, the most developed of the three territories, at its head, Huggins as Federal Prime Minister and Salisbury as Federal capital.<ref>{{Harvnb
|Smith
|1997
|p=33}}</ref>{{#tag:ref|Southern Rhodesian politicians from various parties later claimed that had Federation not occurred, Southern Rhodesia would have been a dominion by 1955.<ref>{{Harvnb
|Wood
|2005
|pp=25, 135, 140}}</ref>|group="n"|name="by1955"}}
Coming at the start of the decolonisation period, the Federation of self-governing Southern Rhodesia with two directly ruled British protectorates was later described by the British historian Robert Blake as "an aberration of history—a curious deviation from the inevitable course of events".<ref>{{Harvnb
|Wood
|2005
|p=11}}</ref> The project faced black opposition from the start, and ultimately failed because of the shifting international attitudes and rising black Rhodesian ambitions of the late 1950s and early 1960s, often collectively called the Wind of Change.<ref>{{Harvnb
|Blake
|1977
|p=331}}; {{Harvnb
|Welensky
|1964
|p=64}}</ref> Britain, France and Belgium vastly accelerated their withdrawal from Africa during this period, believing colonial rule to be no longer sustainable geopolitically or ethically. The idea of "no independence before majority rule", commonly abbreviated to "NIBMAR", gained considerable ground in British political circles.<ref>{{Harvnb
|Jackson
|1990
|pp=96–97}}; {{Harvnb
|Wood
|2005
|p=20}}</ref> When Huggins (who had been recently ennobled as Lord Malvern) asked Britain to make the Federation a dominion in 1956, he was rebuffed. The opposition Dominion Party responded by repeatedly calling for a Federal unilateral declaration of independence (UDI) over the next few years.<ref name=wood1516/> Following Lord Malvern's retirement in late 1956, his successor Sir Roy Welensky pondered such a move on at least three occasions.{{#tag:ref|With Northern Rhodesia and Nyasaland under direct British control, a Federal UDI would have been far more complicated and difficult to execute than one by Southern Rhodesia alone. Indeed, it was partly because of this that Welensky deemed it infeasible.<ref name=wood3>{{Harvnb
|Wood
|2008
|p=3}}</ref>|group="n"|name="federaludi"}}
Attempting to advance the case for Southern Rhodesian independence, particularly in the event of Federal dissolution,<ref name=wood1516>{{Harvnb
|Wood
|2005
|pp=15–16}}</ref> the Southern Rhodesian Prime Minister Sir Edgar Whitehead brokered the 1961 constitution with Britain, which he thought would remove all British powers of reservation over Southern Rhodesian bills and acts,<ref name=rowland249250>{{Harvnb
|Rowland
|1978
|pp=249–250}}</ref> and put the country on the brink of full sovereignty.<ref name=wood7475>{{Harvnb
|Wood
|2005
|pp=74–75}}</ref> Despite its containing no independence guarantees, Whitehead, Welensky and other proponents of this constitution presented it to the Southern Rhodesian electorate as the "independence constitution" under which Southern Rhodesia would become a dominion on a par with Australia, Canada and New Zealand if the Federation dissolved.<ref name=wood89>{{Harvnb
|Wood
|2005
|p=89}}</ref> White dissenters included Ian Smith, MP for Gwanda and Chief Whip for the governing United Federal Party (UFP) in the Federal Assembly, who took exception to the constitution's omission of an explicit promise of Southern Rhodesian independence in the event of Federal dissolution, and ultimately resigned his post in protest.<ref name=wood7475/> A referendum of the mostly white electorate approved the new constitution by a majority of 65% on 26 July 1961.<ref name=wood92>{{Harvnb
|Wood
|2005
|p=92}}</ref> The final version of the constitution included a few extra provisions inserted by the British, one of which—Section 111—reserved full powers to the Crown to amend, add to or revoke certain sections of the Southern Rhodesian constitution by Order in Council at the request of the British government. This effectively negated the relinquishment of British powers described elsewhere in the document, but the Southern Rhodesians did not initially notice it.<ref name=wood93>{{Harvnb
|Wood
|2005
|p=93}}</ref>
The black Rhodesian movement in Southern Rhodesia, founded and organised by urban black elites during the late 1950s,<ref>{{Harvnb
|West
|2002
|p=203}}</ref> was repeatedly banned by the colonial government because of the political violence, industrial sabotage and intimidation of potential black voters that characterised its campaign.<ref>{{Harvnb
|Wood
|2005
|pp=95–96, 111–120}}</ref> The principal nationalist group, led by the Bulawayo trade unionist Joshua Nkomo, renamed itself with each post-ban reorganisation, and by the start of 1962 was called the Zimbabwe African People's Union (ZAPU).<ref>{{Harvnb
|Wood
|2005
|pp=95–96}}</ref>{{#tag:ref|Zimbabwe, derived from the name applied by the Shona people to the ancient ruined city today referred to as Great Zimbabwe, was adopted by the black Rhodesian movement between 1960 and 1962 as their preferred name for a majority-ruled Southern Rhodesia.<ref>{{Harvnb
|Fontein
|2006
|pp=119–120}}; {{Harvnb
|Ndlovu-Gatsheni
|2009
|pp=113–114}}</ref> ZAPU was banned by the Whitehead administration in 1962 because of its violent activities,<ref>{{Harvnb
|Wood
|2005
|pp=116–117}}</ref> but it continued operating nevertheless, publicly calling itself the People's Caretaker Council (PCC). Several prominent members left to form the rival Zimbabwe African National Union (ZANU) in 1963. ZANU and ZAPU were respectively backed by China and the Soviet Union, and influenced to various degrees by Chinese Maoism and Soviet Marxism–Leninism.<ref name=wood173175>{{Harvnb
|Wood
|2005
|pp=173–175}}</ref> Following an escalation in internecine political violence between the two movements, a spate of industrial sabotage and civil disobedience and the politically motivated killing of a white man, Petrus Oberholzer, by ZANU insurgents, both PCC and ZANU were banned by Smith's government in August 1964, with most of each party's leaders concurrently jailed for criminal offences or otherwise restricted.<ref>{{Harvnb
|Cilliers
|1984
|p=5}}; {{Harvnb
|Martin
|Johnson
|1981
|pp=70–71}}; {{Harvnb
|Ranger
|1997
|p=237}}; {{Harvnb
|Wessels
|2010
|pp=102–103}}</ref> Both movements thereafter based themselves overseas.<ref>{{Harvnb
|Wood
|2005
|p=228}}</ref>|group="n"|name="nationalists"}} Attempting to win black political support, Whitehead proposed a number of reforms to racially discriminatory legislation, including the Land Apportionment Act, and promised to implement these if his UFP won the next Southern Rhodesian election.<ref>{{Harvnb
|Wood
|2005
|p=98}}</ref> But intimidation by ZAPU of prospective black voters impeded the UFP's efforts to win their support,<ref name=rowe52>{{Harvnb
|Rowe
|2001
|p=52}}</ref> and much of the white community saw Whitehead as too radical, and soft on what they saw as black extremism. In the December 1962 Southern Rhodesian election, the UFP was defeated by the Rhodesian Front (RF), a newly formed alliance of conservative voices headed by Winston Field and Ian Smith, in what was widely considered a shock result.<ref name=wood97101>{{Harvnb
|Wood
|2005
|pp=97–101}}</ref> Field became Prime Minister, with Smith as his deputy.<ref name=wood119122>{{Harvnb
|Wood
|2005
|pp=119–122}}</ref>
===Federal dissolution; the roots of mistrust===
Meanwhile, secessionist black Rhodesian parties won electoral victories in Northern Rhodesia and Nyasaland,<ref name=wood119122/> and Harold Macmillan's Conservative administration in Britain moved towards breaking up the Federation, resolving that it had become untenable. In February 1962, the British Secretary of State for Commonwealth Relations, Duncan Sandys, secretly informed the Nyasaland nationalist leader Hastings Banda that secession would be allowed. A few days later, he horrified Welensky by telling him that "we British have lost the will to govern".<ref>{{Harvnb
|Schwarz
|2011
|p=370}}; {{Harvnb
|Wood
|2005
|p=99}}</ref> "But we haven't", retorted Julian Greenfield, Welensky's Law Minister.<ref>{{Harvnb
|Meredith
|1984
|p=131}}</ref>{{#tag:ref|Welensky was so shaken by Sandys' statement that he suffered a migraine. Lord Alport, the UK's High Commissioner to the Federation, reportedly left the meeting and vomited.<ref name=wood99>{{Harvnb
|Wood
|2005
|p=99}}</ref>|group="n"|name="vomited"}} Macmillan's Deputy Prime Minister and First Secretary of State, R.A. Butler, who headed British oversight of the Federation,<ref>{{Harvnb
|Schwarz
|2011
|pp=379–380}}</ref> officially announced Nyasaland's right to secede in December 1962.<ref name="wood123"/> Four months later, he informed the three territories that he was going to convene a conference to decide the Federation's future.<ref name=wood133135/>
As Southern Rhodesia had been the UK's legislative partner in forming the Federation in 1953, it would be impossible (or at least very difficult) for Britain to dissolve the union without Southern Rhodesia's co-operation. Field could therefore potentially hamstring the British by refusing to attend the conference until they pledged to grant his country full independence.<ref name=wood133135>{{Harvnb
|Wood
|2005
|pp=133–135}}</ref> According to Field, Smith and other RF politicians, Butler made several such guarantees orally to ensure their co-operation at the conference, but repeatedly refused to give anything on paper.{{#tag:ref|In particular, Field and Smith claimed that Butler told them at Victoria Falls on 27 June 1963 that in return for their help in winding up the Federation, Southern Rhodesia would be granted "independence no later than, if not before, the other two territories ... in view of your country's wonderful record of Responsible Government over the past forty years... and above all the great loyalty you have always given to Britain in time of war".<ref name=butlerpromise/>|group="n"|name="promise"}} The Southern Rhodesians claimed that Butler justified his refusal to give a written promise by saying that binding Whitehall to a document rather than his word would be against the Commonwealth's "spirit of trust"—an argument that Field eventually accepted.<ref name=butlerpromise>{{Harvnb
|Wood
|2005
|pp=138–140, 167}}; {{Harvnb
|Berlyn
|1978
|p=135}}; {{Harvnb
|Smith
|1997
|pp=51–52}}</ref> "Let's remember the trust you emphasised", Smith warned, according to Field's account wagging his finger at Butler; "if you break that you will live to regret it."<ref name=wood167>{{Harvnb
|Wood
|2005
|p=167}}</ref> Southern Rhodesia attended the conference, which was held at Victoria Falls over a week starting from 28 June 1963, and among other things it was agreed to formally liquidate the Federation at the end of the year.<ref name=wood169172>{{Harvnb
|Wood
|2005
|pp=169–172}}</ref> In the House of Commons afterwards, Butler flatly denied suggestions that he had "oiled the wheels" of Federal dissolution with secret promises to the Southern Rhodesians.<ref name=butlerpromise/>
Field's government was startled by Britain's announcement in October 1963 that Nyasaland would become fully independent on 6 July 1964. While no date was set for Northern Rhodesian statehood, it was generally surmised that it was going to follow shortly thereafter. Smith was promptly sent to London, where he held a round of inconclusive Southern Rhodesian independence talks with the new British Prime Minister, Sir Alec Douglas-Home.{{#tag:ref|Douglas-Home was only a few days into his premiership following Macmillan's resignation on grounds of ill health. At one point during the meeting on 31 October 1964 he told Smith that though he opposed unilateral action, he felt Southern Rhodesia could "declare herself independent, [and] would be within her rights to do so".<ref name=wood176181/> Scandalised, British civil servants withheld record of this comment from their Southern Rhodesian counterparts.<ref name=wood176181>{{Harvnb
|Wood
|2005
|pp=176–181}}</ref>|group="n"|name="douglashome"}} Around the same time, the presence and significance of Section 111 of the 1961 constitution emerged in Southern Rhodesia, prompting speculation in political circles that a future British government might, if it were so inclined, go against previous conventions by legislating for Salisbury without its consent, withdrawing devolved powers or otherwise altering the Southern Rhodesian constitution. Fearing what the Labour Party might do if it won the next British general election (which was projected for late 1964), the Southern Rhodesians stepped up their efforts, hoping to win independence before Britain went to the polls, and preferably not after Nyasaland.<ref name=wood186190/> The Federation dissolved as scheduled at the end of 1963.<ref name=wood186190/>
==Positions and motivations==
===British government stance===
The British government's refusal to grant independence to Southern Rhodesia under the 1961 constitution was largely the result of the geopolitical and moral shifts associated with the Wind of Change, coupled with the UK's wish to avoid opprobrium and loss of prestige in the United Nations (UN) and the Commonwealth.<ref name=mcwilliam/> The issue gained international attention in Africa and worldwide as a flashpoint for questions of decolonisation and racism.<ref>{{Harvnb
|Nyamunda
|2016
|pp=1005–1019}}</ref> By the early 1960s, general consensus in the post-colonial UN—particularly the General Assembly, where the communist bloc and the Afro-Asian lobby were collectively very strong—roundly denounced all forms of colonialism, and supported communist-backed black nationalist insurgencies across southern Africa, regarding them as racial liberation movements. Amid the Cold War, Britain opposed the spread of Soviet and Chinese influence into Africa, but knew it would become an international pariah if it publicly expressed reservations or backed down on NIBMAR in the Southern Rhodesia question.<ref>{{Harvnb
|Fedorowich
|Thomas
|2001
|pp=172–177}}</ref> Once the topic of Southern Rhodesia came to the fore in the UN and other bodies, particularly the Organisation of African Unity (OAU), even maintaining the ''status quo'' became regarded as unacceptable internationally, causing the UK government a great deal of embarrassment.<ref>{{Harvnb
|Nelson
|1983
|p=43}}</ref>
In the Commonwealth context, too, Britain knew that simply granting independence to Southern Rhodesia was out of the question as many of the Afro-Asian countries were also Commonwealth members. Statehood for Salisbury without majority rule would split the Commonwealth and perhaps cause it to break up, a disastrous prospect for British foreign policy.<ref name=mcwilliam/> The Commonwealth repeatedly called on Britain to intervene directly should Southern Rhodesian defiance continue,<ref>{{Harvnb
|Wood
|2005
|p=325}}</ref> while liberals in Britain worried that if left unchecked Salisbury might drift towards South African-style apartheid.<ref name=cunningham>{{Harvnb
|Cunningham
|1966
|p=12}}</ref> Anxious to avoid having to choose between Southern Rhodesia and the Commonwealth, Whitehall attempted to negotiate a middle way between the two, but ultimately put international considerations first, regarding them as more important.<ref name=mcwilliam>{{Harvnb
|McWilliam
|2003}}</ref>
At party level, the Labour Party, in opposition until October 1964, was overtly against Southern Rhodesian independence under the 1961 constitution and supportive of the black Rhodesian movement on ideological and moral grounds. The Liberal Party, holding a handful of parliament seats, took a similar stance. The Conservative Party, while also following a policy of decolonisation, was more sympathetic to the Southern Rhodesian government's position, and included members who openly supported it.<ref>{{Harvnb
|Wood
|2005
|p=242}}</ref>{{#tag:ref|In particular, a small but vocal phalanx of stridently pro-Salisbury Conservative peers emerged in the House of Lords, including Lord Salisbury (after whose grandfather the Southern Rhodesian capital was named), Lord Coleraine and Lord Grimston.<ref>{{Harvnb
|Morgan
|1975
|p=140}}</ref> Together with an ancillary group of similarly minded Conservative MPs in the Commons, headed by Major Patrick Wall, these became referred to as the "Rhodesia Lobby".<ref name=white97/>|group="n"|name="lobby"}}
===Southern Rhodesian government view===
The Southern Rhodesian government found it bizarre that Britain was making independent states out of Northern Rhodesia and Nyasaland, less developed territories with little experience of self-rule, while withholding sovereign statehood from Southern Rhodesia, the Federation's senior partner, which had already been self-governing for four decades and which was one of the most prosperous and developed countries in Africa. The principle of majority rule, the basis for this apparent inconsistency, was considered irrelevant by the Southern Rhodesians.<ref>{{Harvnb
|Olson
|Shadle
|1996
|pp=1029–1030}}; {{Harvnb
|Wood
|2005
|pp=20, 135, 140}}; {{Harvnb
|Di Perna
|1978
|p=189}}</ref> They had presumed that in the event of Federal dissolution they would be first in line for independence without major adjustments to the 1961 constitution, an impression confirmed to them by prior intergovernmental correspondence, particularly the oral promises they claimed to have received from Butler. When it did not prove forthcoming they felt cheated.<ref name=wood371>{{Harvnb
|Wood
|2005
|p=371}}</ref> Salisbury contended that its predominantly white legislature was more deserving of independence than the untried black Rhodesian leaders as it had proven its competence over decades of self-rule.<ref>{{Harvnb
|Olson
|Shadle
|1996
|pp=1029–1030}}; {{Harvnb
|Moorcraft
|1990}}; {{Harvnb
|Wood
|2005
|pp=20, 135, 140}}; {{Harvnb
|Di Perna
|1978
|p=189}}</ref>
The RF claimed that the bloody civil wars, military coups and other disasters that plagued the new majority-ruled African states to the north, many of which had become corrupt, autocratic or communist one-party states very soon after independence,<ref>{{Harvnb
|Mazrui
|1993
|p=495}}</ref> showed that black Rhodesian leaders were not ready to govern. Influenced strongly by the white refugees who had fled south from the Congo, it presented chaotic doomsday scenarios of what black Rhodesian rule in Southern Rhodesia might mean, particularly for the white community.<ref>{{Harvnb
|Petter-Bowyer
|2005
|p=75}}; {{Harvnb
|Schwarz
|2011
|p=371}}; {{Harvnb
|Wood
|2005
|p=101}}</ref> Proponents of the RF stand downplayed black Rhodesian grievances regarding land ownership and segregation, and argued that despite the racial imbalance in domestic politics—whites made up 5% of the population, but over 90% of registered voters—the electoral system was not racist as the franchise was based on financial and educational qualifications rather than ethnicity.<ref>{{Harvnb
|Wood
|2005
|pp=392–393}}</ref> They emphasised the colony's proud war record on Britain's behalf,<ref name=moorcraft1990>{{Harvnb
|Moorcraft
|1990}}</ref> and expressed a wish in the Cold War context to form an anti-communist, pro-Western front in Africa alongside South Africa and Portugal.<ref name=olsonshadle10291030>{{Harvnb
|Olson
|Shadle
|1996
|pp=1029–1030}}</ref>
These factors combined with what RF politicians and supporters saw as British decadence, chicanery and betrayal to create the case they put forward that UDI, while dubious legally and likely to provoke international uproar, might nevertheless be in their eyes justifiable and necessary for the good of the country and region if an accommodation could not be found with Whitehall.<ref name=wood190/>
==Road to UDI==
===First steps, under Field===
Field's failure to secure independence concurrently with the end of the Federation caused his Cabinet's support for him to waver during late 1963 and early 1964.<ref name=wood186190>{{Harvnb
|Wood
|2005
|pp=186–190}}</ref> The RF caucus in January 1964 revealed widespread dissatisfaction with him on the grounds that the British seemed to be outwitting him. The Prime Minister was put under immense pressure to win the colony's independence.<ref name=wood190>{{Harvnb
|Wood
|2005
|p=190}}</ref> Field travelled to England later that month to press Douglas-Home and Sandys for independence, and raised the possibility of UDI on a few occasions, but returned empty-handed on 2 February.<ref>{{Harvnb
|Wood
|2005
|pp=193–194, 198}}</ref>
The RF united behind Field after Sandys wrote him a terse letter warning him of the likely Commonwealth reaction to a declaration of independence, but the Prime Minister then lost his party's confidence by failing to pursue a possible route to at least ''de facto'' independence devised by Desmond Lardner-Burke, a lawyer and RF MP for Gwelo. During March 1964, the Legislative Assembly in Salisbury considered and passed Lardner-Burke's motion that the Governor, Sir Humphrey Gibbs, should submit a petition to the Queen requesting alteration of Section 111 of the 1961 constitution so that the Royal Assent described therein would be exercised at the request of the Southern Rhodesian government rather than that of its British counterpart. This would both remove the possibility of British legislative interference and pave the way for an attempted assumption of independence by Order in Council.{{#tag:ref|The Lardner-Burke bill proposed that a two-thirds majority in the Legislative Assembly would prompt automatic consent for alterations from the Governor, who would then sign them into law on behalf of the Queen.<ref name=wood200202>{{Harvnb
|Wood
|2005
|pp=200–202}}</ref> William Harper, the Minister of Water Development and Roads, posited that if this passed, Salisbury would be able to proclaim an independent republic outside the Commonwealth with a two-thirds majority in parliament.<ref name=wood204207/>|group="n"|name="harper"}}
The RF's intention was partly to test whether or not the British would attempt to block this bill after Gibbs had granted Royal Assent to it,<ref>{{Harvnb
|Smith
|1997
|p=63}}</ref> but this issue never came to a head because Sandys persuaded Field not to forward it to Gibbs for ratification on the grounds that it had not been unanimously passed.<ref>{{Harvnb
|Young
|1969
|p=205}}</ref> Lord Salisbury, one of Southern Rhodesia's main supporters in Britain, despaired at Field's lack of action, telling Welensky that as he saw it "the simple time to have declared independence, whether right or wrong, would have been when the Federation came to an end".<ref name=wood204207/> The RF hierarchy interpreted this latest backtrack by Field as evidence that he would not seriously challenge the British on the independence issue, and forced his resignation on 13 April 1964.<ref name=wood204207>{{Harvnb
|Wood
|2005
|pp=204–207}}</ref> Smith accepted the Cabinet's nomination to take his place.<ref name=fieldtosmith/>
===Smith replaces Field; talks with Douglas-Home===
[[File:Ian Smith 1950s.jpg|thumb|upright|Ian Smith replaced Winston Field as Southern Rhodesian Prime Minister in April 1964, and pledged to challenge Britain on independence.|alt=A portrait photograph of Ian Smith]]
Smith, a farmer from the Midlands town of Selukwe who had been seriously wounded while serving in the British Royal Air Force during the Second World War, was Southern Rhodesia's first native-born Prime Minister.{{#tag:ref|Roy Welensky, who held the Federal premiership from 1956 to dissolution in 1963, was also born in Southern Rhodesia. Before Smith, Southern Rhodesia had had seven Prime Ministers, three of whom (including Field) had been born in Britain. The country's first two Prime Ministers, Charles Coghlan (1923–27) and Howard Moffat (1927–33), were respectively born in South Africa and Bechuanaland,<ref>{{Harvnb
|Baxter
|Burke
|1970
|pp=125, 340}}</ref> while Garfield Todd (1953–58) was originally from New Zealand.<ref>{{Harvnb
|Wood
|2005
|p=12}}</ref> Edgar Whitehead (1958–62) was born at the British Embassy in Germany, where his father was a diplomat.<ref>{{Harvnb
|Schwarz
|2011
|p=411}}</ref>|group="n"|name="nativeborn"}} Regarded in British political circles as a "raw colonial"—when he took over, Smith's personal experience of the UK comprised four brief visits—he promised a harder line than Field in independence talks.<ref name=fieldtosmith>{{Harvnb
|Berlyn
|1978
|pp=131–132}}; {{Harvnb
|Caute
|1983
|p=89}}; {{Harvnb
|Wessels
|2010
|pp=102–104}}</ref> The RF's replacement of Field drew criticism from the British Labour Party, whose leader Harold Wilson called it "brutal",<ref>{{Harvnb
|Wilson
|1974
|p=48}}</ref> while Nkomo described the new Smith Cabinet as "a suicide squad... not interested in the welfare of all the people but only in their own".<ref>{{Harvnb
|Wood
|2005
|p=208}}</ref> Smith said he was pursuing a middle course between black Rhodesian rule and apartheid so that there would still be "a place for the white man" in Southern Rhodesia;<ref>{{Harvnb
|Hall
|1966
|p=30}}</ref> this would benefit the blacks too, he claimed.<ref name=hall22/> He held that the government should be based "on merit, not on colour or nationalism",<ref name=hall22>{{Harvnb
|Hall
|1966
|p=22}}</ref> and insisted that there would be "no African nationalist government here in my lifetime".<ref>{{Harvnb
|Hall
|1966
|p=26}}</ref>
Salisbury's blunt refusal to be part of the Wind of Change caused the Southern Rhodesian military's traditional British and American suppliers to impose an informal embargo,<ref name="wood319"/> and prompted Whitehall and Washington to stop sending Southern Rhodesia financial aid around the same time. In June 1964, Douglas-Home informed Smith that Southern Rhodesia would not be represented at the year's Commonwealth Prime Ministers' Conference, despite Salisbury's record of attendance going back to 1932,{{#tag:ref|Salisbury attended under the Federal flag from 1953 to 1963.<ref name=welenskyspeech/>|group="n"|name="conference"}} because of a change in policy to only include representatives from fully independent states. This decision, taken by Britain to preempt the possibility of open confrontation with Asian and black African leaders at the conference, deeply insulted Smith.<ref>{{Harvnb
|Wood
|2005
|pp=215–216}}</ref> Lord Malvern equated Britain's removal of Southern Rhodesia's conference seat with "kicking us out of the Commonwealth",<ref>{{Harvnb
|Berlyn
|1978
|pp=140, 143}}</ref> while Welensky expressed horror at what he described as "this cavalier treatment of a country which has, since its creation, staunchly supported, in every possible way, Britain and the Commonwealth".<ref name=welenskyspeech>{{Harvnb
|Welensky
|1965}}</ref>
[[File:Alec Douglas-Home (c1963).jpg|thumb|upright|left|UK Prime Minister Sir Alec Douglas-Home met Smith in London in September 1964.|alt=A photograph of Sir Alec Douglas-Home]]
At 10 Downing Street in early September 1964, impasse developed between Douglas-Home and Smith over the best way to measure black public opinion in Southern Rhodesia. A key plank of Britain's Southern Rhodesia policy was that the terms for independence had to be "acceptable to the people of the country as a whole"—agreeing to this, Smith suggested that white and urban black opinion could be gauged through a general referendum of registered voters, and that rural black views could be obtained at a national ''indaba'' (tribal conference) of chiefs and headmen. Douglas-Home told Smith that although this proposal satisfied him personally, he could not accept it as he did not believe the Commonwealth, the United Nations or the Labour Party would also do so. He stressed that such a move towards accommodation with Smith might hurt the Conservatives' chances in the British general election the next month, and suggested that it might be in Smith's best interests to wait until after the election to continue negotiations. Smith accepted this argument. Douglas-Home assured Smith that a Conservative government would settle with him and grant independence within a year.<ref>{{Harvnb
|Wood
|2005
|pp=231–233}}</ref>
Attempting to form a viable white opposition to the Rhodesian Front, the UFP resurrected itself around Welensky, renamed itself the Rhodesia Party, and entered the Arundel and Avondale by-elections that had been called for 1 October 1964. Perturbed by the prospect of having to face the political heavyweight Welensky in parliament at the head of the opposition, the RF poured huge resources into winning both of these former UFP safe seats, and fielded Clifford Dupont, Smith's deputy, against Welensky in Arundel.{{#tag:ref|During the bitterly fought campaign,<ref name=byelection>{{Harvnb
|Wood
|2005
|pp=239–240}}; {{Harvnb
|Windrich
|1978
|p=25}}</ref> Welensky was falsely personified by his opponents as representing appeasement of Britain and black extremists, and heckled at public concourses with cries of "communist", "traitor" and "coward";<ref>{{Harvnb
|Blake
|1977
|p=366}}</ref> one man even screamed "you bloody Jew" at Welensky during a debate.<ref>{{Harvnb
|White
|1978
|p=36}}</ref>|group="n"|name="campaign64"}} The RF won both seats comfortably, and the Rhodesia Party soon faded away. Spurred on by this success, Smith organised the ''indaba'' for 22 October, and called a general independence referendum for 5 November 1964.<ref name=byelection/> Meanwhile, Wilson wrote a number of letters to black Southern Rhodesians, assuring them that "the Labour Party is totally opposed to granting independence to Southern Rhodesia so long as the government of that country remains under the control of the white minority".<ref name=berlyn157>{{Harvnb
|Berlyn
|1978
|p=157}}</ref>
===Wilson's Labour government; Salisbury's tests of opinion===
[[File:Harold Wilson.jpg|thumb|upright|Harold Wilson replaced Douglas-Home in October 1964, and proved a formidable opponent of Smith.|alt=A portrait photograph of Harold Wilson]]
Labour defeated the Conservatives by four seats in the British general election on 15 October 1964, and formed a government the next day. Both Labour and the Conservatives told Smith that a positive result at the ''indaba'' would not be recognised by Britain as representative of the people, and the Conservatives turned down Salisbury's invitation to send observers. Smith pressed on, telling parliament that he would ask the tribal chiefs and headmen "to consult their people in the traditional manner", then hold the ''indaba'' as planned.<ref>{{Harvnb
|Wood
|2005
|p=241}}</ref> On 22 October, 196 chiefs and 426 headmen from across the country gathered at Domboshawa, just north-east of Salisbury, and began their deliberations. Smith hoped that Britain, having taken part in such ''indabas'' in the past, might send a delegation at the last minute, but none arrived, much to his annoyance, particularly as the British government's Commonwealth Secretary Arthur Bottomley was only across the Zambezi in Lusaka at the time.<ref name=wood242243>{{Harvnb
|Wood
|2005
|pp=242–243, 246}}</ref>{{#tag:ref|Official observers came from Australia, Austria, France, Greece, New Zealand, Norway, Portugal, South Africa and Sweden.<ref name=wood242243/>|group="n"|name="observers"}}
While the chiefs conferred, Northern Rhodesia became independent Zambia on 24 October 1964, emulating Nyasaland, which had achieved statehood as Malawi three months earlier. Reasoning that it was no longer necessary to refer to itself as "Southern" in the absence of a northern counterpart, Southern Rhodesia began calling itself simply Rhodesia.{{#tag:ref|Salisbury passed legislation to shorten the name, but Britain ruled this ''[[ultra vires]]'' as the laws naming the country were British acts passed at Westminster. Salisbury went on using the shortened name in an official manner anyway,<ref name="palley742743">{{Harvnb
|Palley
|1966
|pp=742–743}}</ref> while the British government, the United Nations and other overseas bodies continued referring to the country as Southern Rhodesia. This situation continued throughout the UDI period.<ref name=rowland251>{{Harvnb
|Rowland
|1978
|p=251}}</ref>|group="n"|name="name2"}} The same day, the commander of the Rhodesian Army, Major-General John "Jock" Anderson, resigned, announcing publicly that he was doing so because of his opposition to UDI, which he said he could not go along with because of his oath of allegiance to the Queen. Interpreting this as a sign that Smith intended to declare independence if a majority backed it in the referendum, Wilson wrote a stiff letter to Smith on 25 October, warning him of the consequences of UDI, and demanding "a categorical assurance forthwith that no attempt at a unilateral declaration of independence on your part will be made".<ref name=wood243246/> Smith expressed confusion as to what he had done to provoke this, and ignored it.<ref name=wood243246/>
When the ''indaba'' ended on 26 October, the chiefs and headmen returned a unanimous decision to support the government's stand for independence under the 1961 constitution, attesting in their report that "people who live far away do not understand the problems of our country".<ref name=wood243246>{{Harvnb
|Wood
|2005
|pp=243–246}}</ref> This verdict was rejected by the nationalist movement on the grounds that the chiefs received governmental salaries; the chiefs countered that the black MPs in parliamentary opposition also received such salaries, but still opposed the government.<ref name=wood243246/> Malvern, who was becoming perturbed by the RF's actions, dismissed the ''indaba'' as a "swindle", asserting that the chiefs no longer had any real power; the British simply ignored the whole exercise.<ref name=wood250>{{Harvnb
|Wood
|2005
|p=250}}</ref> On 27 October, Wilson released a firm statement regarding Britain's intended response to UDI, warning that Rhodesia's economic and political ties with Britain, the Commonwealth and most of the world would be immediately severed amid a campaign of sanctions if Smith's government went ahead with UDI.<ref name=wood243246/> This was intended to discourage white Rhodesians from voting for independence in the referendum,<ref name=wood247>{{Harvnb
|Wood
|2005
|p=247}}</ref> for which the RF campaign slogan was "Yes means Unity, not UDI".<ref>{{Harvnb
|Blake
|1977
|p=369}}</ref> Wilson was pleased when Douglas-Home, his leading opponent in the House of Commons, praised the statement as "rough but right".<ref>{{Harvnb
|Wilson
|1974
|p=51}}</ref> On 5 November 1964, Rhodesia's mostly white electorate voted "yes" to independence under the 1961 constitution by a margin of 89%,{{#tag:ref|Turnout was 61% of the 105,444 registered voters (89,886 whites, 12,729 blacks and 2,829 coloureds and Asians). There were 58,091 ballots in favour, 6,096 against and 944 spoilt papers. Most eligible non-whites reportedly abstained.<ref name=wood249>{{Harvnb
|Wood
|2005
|p=249}}</ref>|group="n"|name="vote"}} prompting Smith to declare that the British condition of acceptability to the people as a whole had been met.<ref name=wood251>{{Harvnb
|Wood
|2005
|p=251}}</ref>
===Stalemate develops between Smith and Wilson===
Smith wrote to Wilson the day after the referendum, asking him to send Bottomley to Salisbury for talks. Wilson replied that Smith should instead come to London.<ref name=wood251/> The British and Rhodesians exchanged often confrontational letters for the next few months. Alluding to the British financial aid pledged to Salisbury as part of the Federal dissolution arrangements, Wilson's High Commissioner in Salisbury, J B Johnston, wrote to the Rhodesian Cabinet Secretary Gerald B Clarke on 23 December that "talk of a unilateral declaration of independence is bound to throw a shadow of uncertainty on the future financial relations between the two governments".<ref>{{Harvnb
|Wood
|2005
|pp=257–258}}</ref> Smith was furious, seeing this as blackmail, and on 13 January 1965 wrote to Wilson: "I am so incensed at the line of your High Commissioner's letter that I am replying directly to you ... It would appear that any undertakings given by the British government are worthless ... such immoral behaviour on the part of the British government makes it impossible for me to continue negotiations with you with any confidence that our standards of fair play, honesty and decency will prevail."<ref name=smith85>{{Harvnb
|Smith
|1997
|p=85}}</ref>
[[File:10 Downing Street 2010.jpg|thumb|10 Downing Street, where Wilson received Smith in January 1965|alt=A wide shot of Downing Street]]
The two premiers were brought together in person in late January 1965, when Smith travelled to London for Sir Winston Churchill's funeral. Following an episode concerning Smith's non-invitation to a luncheon at Buckingham Palace after the funeral—noticing the Rhodesian's absence, the Queen sent a royal equerry to Smith's hotel to retrieve him, reportedly causing Wilson much irritation—the two Prime Ministers inconclusively debated at 10 Downing Street. They differed on most matters, but agreed on a visit to Rhodesia the next month by Bottomley and the Lord Chancellor, Lord Gardiner, to gauge public opinion and meet political and commercial figures.<ref>{{Harvnb
|Wood
|2005
|pp=270–275}}</ref> Bottomley and Gardiner visited Rhodesia from 22 February to 3 March, collected a wide cross-section of opinions, including some from black Rhodesians, and on returning to Britain reported to the House of Commons that they were "not without hope of finding a way towards a solution that will win the support of all communities and lead to independence and prosperity for all Rhodesians".<ref name=wood286>{{Harvnb
|Wood
|2005
|p=286}}</ref> Bottomley also condemned black-on-black political violence, and dismissed the idea of introducing majority rule through military force.<ref name=wood286/>
The RF called a new general election for May 1965 and, campaigning on an election promise of independence, won all 50 "A"-roll seats (the voters for which were mostly white).{{#tag:ref|The electoral system devised in the 1961 constitution replaced the common voters' roll with two rolls, the "A" roll and the "B" roll, the latter of which had lower qualifications intended to make it easier for prospective voters to enter the political system. There were 50 "A"-roll constituencies and 15 larger "B"-roll districts, with a complicated mechanism of "cross-voting" allowing "B"-roll voters to slightly influence "A"-roll elections and ''vice versa''. This system was theoretically non-racial, but in practice the "A" roll was largely white and the "B" roll was almost all black.<ref>{{Harvnb
|Palley
|1966
|pp=414–416}}</ref>|group="n"|name="crossvoting"}} Josiah Gondo, leader of the United People's Party, became Rhodesia's first black Leader of the Opposition. Opening parliament on 9 June, Gibbs told the Legislative Assembly that the RF's strengthened majority amounted to "a mandate to lead the country to its full independence", and announced that the new government had informed him of its intent to open its own diplomatic mission in Lisbon, separate from the British embassy there. The British and Rhodesians argued about this unilateral act by Salisbury, described by the historian J R T Wood as the "veritable straw in the wind",<ref name=wood319>{{Harvnb
|Wood
|2005
|p=319}}</ref> alongside the independence issue until Portugal accepted the mission in late September, much to Britain's fury and Rhodesia's delight.<ref name=fedorowichthomas185186>{{Harvnb
|Fedorowich
|Thomas
|2001
|pp=185–186}}</ref> Hoping to bring Smith to heel by stonewalling him, Wilson's ministers deliberately delayed and frustrated the Rhodesian government in negotiations.<ref>{{Harvnb
|Wood
|2005
|p=344}}</ref> Rhodesia was again excluded from the Commonwealth Prime Ministers' Conference in 1965. The UK's refusal of aid, the Lisbon mission, the informal arms embargo and other issues combined with this to cause the Rhodesian government's sense of alienation from Britain and the Commonwealth to deepen.<ref name=wood335>{{Harvnb
|Wood
|2005
|p=335}}</ref> In his memoirs, Smith accused the British of "resorting to politics of convenience and appeasement".<ref>{{Harvnb
|Smith
|1997
|p=92}}</ref> Wilson, meanwhile, became exasperated by what he saw as Rhodesian inflexibility, describing the gap between the two governments as "between different worlds and different centuries".<ref name=wood5>{{Harvnb
|Wood
|2008
|p=5}}</ref>
===Final steps to UDI===
Amid renewed rumours of an impending Rhodesian UDI, Smith travelled to meet Wilson in London at the start of October 1965, telling the press that he intended to resolve the independence issue once and for all.<ref name=wood360363>{{Harvnb
|Wood
|2005
|pp=360–363, 367}}</ref> Both the British and the Rhodesians were surprised by the large numbers of Britons who came out to support Smith during his visit.<ref name=wood381383/> Smith accepted an invitation from the BBC to appear on its ''Twenty-Four Hours'' evening news and current affairs programme, but Downing Street blocked this at the last minute.<ref name=wood381383>{{Harvnb
|Wood
|2005
|pp=381–383}}</ref> Following largely abortive talks with Wilson, the Rhodesian Prime Minister flew home on 12 October.<ref name=wood387388>{{Harvnb
|Wood
|2005
|pp=387–388}}</ref> Desperate to avert UDI, Wilson travelled to Salisbury two weeks later to continue negotiations.<ref name=wood411414/>
During these discussions, Smith referred to the last resort of a UDI on many occasions,<ref name=young271/> though he said he hoped to find another way out of the quandary. He offered to increase black legislative representation by expanding the electorate along the lines of "one taxpayer, one vote"—which would enfranchise about half a million, but still leave most of the nation voteless—in return for a grant of independence.<ref name=wood411414>{{Harvnb
|Wood
|2005
|pp=411–414}}</ref> Wilson said this was insufficient, and countered that future black representation might be better safeguarded by Britain's withdrawal from the colonial government of the power it had held since 1923 to determine the size and makeup of its parliament. The Rhodesians were horrified by this prospect, particularly as Wilson's suggestion of it seemed to them to have removed the failsafe alternative of keeping the ''status quo''.<ref>{{Harvnb
|Wood
|2005
|p=440}}</ref> Before the British Prime Minister left Rhodesia on 30 October 1965, he proposed a Royal Commission to gauge public opinion in the colony regarding independence under the 1961 constitution, possibly chaired by the Rhodesian Chief Justice Sir Hugh Beadle, which would report its findings to both the British and Rhodesian Cabinets.<ref name=wood441442>{{Harvnb
|Wood
|2005
|pp=441–442}}</ref> Wilson confirmed in the House of Commons two days later that he intended to introduce direct British control over the Rhodesian parliamentary structure to ensure that progress was made towards majority rule.<ref name=wood445>{{Harvnb
|Wood
|2005
|p=445}}</ref>
Stalemate drew closer as the Rhodesian Cabinet resolved that since Wilson had ruled out maintenance of the ''status quo'', its only remaining options were to trust in the Royal Commission or declare independence.<ref name=wood443>{{Harvnb
|Wood
|2005
|p=443}}</ref> When the terms for the commission's visit were presented to Smith, he found that contrary to what had been discussed during the British Prime Minister's visit, the Royal Commission would operate on the basis that the 1961 constitution was unacceptable to the British government, and that Britain would not commit itself to accepting the final report. Smith said these conditions amounted to a "vote of no confidence in [the commission] before they commenced", and therefore rejected them.<ref>{{Harvnb
|Smith
|1997
|p=98}}</ref> "The impression you left with us of a determined effort to resolve our constitutional problem has been utterly dissipated", he wrote to Wilson on 5 November. "It would seem that you have now finally closed the door which you publicly claimed to have opened."<ref name=young271>{{Harvnb
|Young
|1969
|p=271}}</ref>
Amid frantic efforts by Beadle and others on both sides to revive the Royal Commission, the Rhodesian government had Gibbs announce a state of emergency the same day on the grounds that black Rhodesian insurgents were reportedly entering the country. Smith denied that this foreshadowed a declaration of independence,<ref name=wood453>{{Harvnb
|Wood
|2005
|p=453}}</ref> but the publishing of his letter to Wilson in the press provoked a worldwide storm of speculation that UDI was imminent.<ref name=young271/> Smith wrote again to Wilson on 8 November, asking him to appoint the Royal Commission under the terms they had agreed in Salisbury and to commit the British government to accepting its ruling, but Wilson did not immediately reply.<ref>{{Harvnb
|Wood
|2005
|p=463}}</ref> On 9 November, the Rhodesian Cabinet sent a letter to Queen Elizabeth II, assuring her that Rhodesia would remain loyal to her personally "whatever happens".<ref name=wood460461/>
==Draft, adoption and signing==
[[File:United States Declaration of Independence.jpg|thumb|upright|The United States Declaration of Independence was used by the Rhodesians as the model for their UDI.|alt=The United States Declaration of Independence]]
The Rhodesian Minister for Justice and Law and Order, Desmond Lardner-Burke, presented the rest of the Cabinet with a draft for the declaration of independence on 5 November 1965. When Jack Howman, Minister of Tourism and Information, said that he was also preparing a draft, the Cabinet decided to wait to see his version too. The ministers agreed that if an independence proclamation were issued, they would all sign it.<ref name="wood453"/> On 9 November, the Cabinet jointly devised an outline for the proclamation document and the accompanying statement to be made by Smith.<ref name=wood460461>{{Harvnb
|Wood
|2005
|pp=460–461}}</ref> The final version of the declaration of independence was prepared by a sub-committee of civil servants headed by Gerald Clarke, the Cabinet Secretary,<ref name=smith100103>{{Harvnb
|Smith
|1997
|pp=100, 103}}</ref> with the United States Declaration of Independence of 1776, the only other such proclamation ever issued by British colonials, used as a model.<ref name=wood471/> Strongly alluding to Thomas Jefferson's text throughout, the Rhodesians used one phrase verbatim — "a respect for the opinions of mankind"<ref name=stpetersburgtimes>{{Harvnb
|St. Petersburg Times
|1965}}</ref>—but no reference was made to the assertion that "all men are created equal", nor to the "consent of the governed", two omissions later stressed by a number of commentators.<ref>{{Harvnb
|Hillier
|1998
|p=207}}; {{Harvnb
|Palley
|1966
|p=750}}; {{Harvnb
|Gowlland-Debbas
|1990
|p=71}}</ref>
Attached to the declaration of independence was a copy of the 1961 constitution amended for the circumstances, which became the 1965<ref>{{cite web |title=The Constitution of Rhodesia, 1965 |url=http://www.worldstatesmen.org/Rhodesia_1965.pdf |publisher=Harvard Law Library |accessdate=9 May 2019}}</ref> constitution. In the eyes of the Smith administration, this document removed Whitehall's remaining authority over Rhodesia and made Rhodesia a ''de jure'' independent state. However, the Smith government still professed loyalty to Elizabeth II, and accordingly the document reconstituted Rhodesia as a dominion with Elizabeth as "Queen of Rhodesia". The new constitution created the concept of allegiance to the "Constitution of Rhodesia," and introduced the post of Officer Administering the Government, a viceregal figure empowered to sign passed legislation into law on behalf of the monarch if she did not appoint a Governor-General.<ref name=wood471/>
The Rhodesian Cabinet waited in vain for Wilson's reply for the rest of 9 November and the next day. After briefly meeting Smith late on 10 November,<ref>{{Harvnb
|Wood
|2005
|pp=465–467}}</ref> Johnston warned Wilson that evening that the Rhodesians seemed poised to declare independence in the morning. The British Prime Minister tried repeatedly to call Smith, but did not get through until Smith was already chairing a Cabinet meeting on the independence issue around 08:00 Central Africa Time (06:00 in London) on 11 November. Wilson attempted to talk Smith out of unilateral action by telling him the ''status quo'' could continue, and the two argued inconclusively about the proposed Royal Commission. Returning to his Cabinet meeting, Smith reported the conversation to his ministers, and, after debating for a while, the Cabinet came to the conclusion that Wilson was simply attempting to buy more time and that there was no sign of actual progress. Smith asked if Rhodesia should declare its independence, and had each Cabinet minister answer in turn. According to Smith's account, "each one, quietly but firmly, without hesitation, said: 'Yes'."<ref name=wood468470>{{Harvnb
|Wood
|2005
|pp=468–470}}</ref>
At 11:00 local time on 11 November 1965, Armistice Day, during the traditional two minutes' silence to remember the fallen of the two World Wars, Smith declared Rhodesia independent and signed the proclamation document, with Dupont and the other 10 ministers of the Cabinet following. The timing was intended to emphasise the sacrifices Rhodesia had made for Britain in wartime.<ref>{{Harvnb
|McLaughlin
|1980
|p=141}}; {{Harvnb
|Wood
|2005
|p=463}}</ref> As Ken Flower later said, "the rebellion was made to appear as though it was not a rebellion".<ref name=wood471/> Smith and his ministers still pledged allegiance to Queen Elizabeth II, whose official portrait hung prominently behind them as they signed; the declaration even ended "God Save The Queen".<ref name=wood471>{{Harvnb
|Wood
|2005
|p=471}}</ref> Four junior members of the Cabinet—Lance Smith, Ian Dillon, Andrew Dunlop and P K van der Byl—did not sign, but were included in the official photograph.<ref>{{Harvnb
|White
|1978
|p=45}}</ref>
==Text of the declaration==
{{quote|
{{center|Proclamation}}
----
Whereas in the course of human affairs history has shown that it may become necessary for a people to resolve the political affiliations which have connected them with another people and to assume amongst other nations the separate and equal status to which they are entitled:
And Whereas in such event a respect for the opinions of mankind requires them to declare to other nations the causes which impel them to assume full responsibility for their own affairs:
Now Therefore, We, The Government of Rhodesia, Do Hereby Declare:
That it is an indisputable and accepted historic fact that since 1923 the Government of Rhodesia have exercised the powers of self-government and have been responsible for the progress, development and welfare of their people;
That the people of Rhodesia having demonstrated their loyalty to the Crown and to their kith and kin in the United Kingdom and elsewhere through two world wars, and having been prepared to shed their blood and give of their substance in what they believed to be the mutual interests of freedom-loving people, now see all that they have cherished about to be shattered on the rocks of expediency;
That the people of Rhodesia have witnessed a process which is destructive of those very precepts upon which civilization in a primitive country has been built, they have seen the principles of Western democracy, responsible government and moral standards crumble elsewhere, nevertheless they have remained steadfast;
That the people of Rhodesia fully support the requests of their government for sovereign independence but have witnessed the consistent refusal of the Government of the United Kingdom to accede to their entreaties;
That the Government of the United Kingdom have thus demonstrated that they are not prepared to grant sovereign independence to Rhodesia on terms acceptable to the people of Rhodesia, thereby persisting in maintaining an unwarrantable jurisdiction over Rhodesia, obstructing laws and treaties with other states and the conduct of affairs with other nations and refusing assent to laws necessary for the public good, all this to the detriment of the future peace, prosperity and good government of Rhodesia;
That the Government of Rhodesia have for a long period patiently and in good faith negotiated with the Government of the United Kingdom for the removal of the remaining limitations placed upon them and for the grant of sovereign independence;
That in the belief that procrastination and delay strike at and injure the very life of the nation, the Government of Rhodesia consider it essential that Rhodesia should attain, without delay, sovereign independence, the justice of which is beyond question;
Now Therefore, We The Government of Rhodesia, in humble submission to Almighty God who controls the destinies of nations, conscious that the people of Rhodesia have always shown unswerving loyalty and devotion to Her Majesty the Queen and earnestly praying that we and the people of Rhodesia will not be hindered in our determination to continue exercising our undoubted right to demonstrate the same loyalty and devotion, and seeking to promote the common good so that the dignity and freedom of all men may be assured, Do, By This Proclamation, adopt, enact and give to the people of Rhodesia the Constitution annexed hereto;
{{center|God Save The Queen}}
Given under Our Hand at Salisbury, this eleventh day of November in the Year of Our Lord one thousand nine hundred and sixty-five.
{{plainlist |
* ''Prime Minister:'' Ian Smith
* ''Deputy Prime Minister:'' Clifford Dupont
* ''Ministers:'' William Harper, Montrose, Phillip van Heerden, Jack Howman, Jack Mussett, John Wrathall, Desmond Lardner-Burke, George Rudland, Ian McLean, Arthur Philip Smith
{{right|<ref name=wood472/>}}
}}
|}}
==Announcement and reactions==
===Announcement===
Prompted by the government, the Rhodesian Broadcasting Corporation told the public to stand by for an important announcement from the Prime Minister at 13:15 local time. Smith went first to Government House to inform Gibbs that his Cabinet had declared independence,<ref name=wood471/> then to Pockets Hill Studios in east Salisbury to announce UDI to the nation. He read the proclamation aloud, then stated that independence had been declared because it had become "abundantly clear that it is the policy of the British government to play us along with no real intention of arriving at a solution which we could possibly accept ... I promised the people of this country that I would continue to negotiate to the bitter end and that I would leave no stone unturned in my endeavours to secure an honourable and mutually accepted settlement; it now falls to me to tell you that negotiations have come to an end".<ref name=wood472>{{Harvnb
|Wood
|2005
|p=472}}</ref>
Smith said that he believed that he would be remiss in his duty if he allowed Rhodesia to continue to "drift in its present paralysing state of uncertainty", and that following Britain's abandonment of the Federation his government was determined that "the same will never be allowed to happen here". He claimed that UDI did not mark "a diminution in the opportunities which our African people have to advance and prosper in Rhodesia", described "racial harmony in Africa" as part of his agenda and condemned black Rhodesian activities as attempts to "blackmail the British government into ... handing the country over to irresponsible rule". He then attempted to assuage fears that economic sanctions might destroy the economy, and asked Rhodesians to stand firm: "The mantle of the pioneers has fallen on our shoulders... In the lives of most nations there comes a moment when a stand has to be made for principles, whatever the consequences. This moment has come to Rhodesia ... the first Western nation in the last two decades to say 'so far and no further'." He concluded with an assertion that the declaration of independence was "a blow for the preservation of justice, civilisation and Christianity".<ref name=wood472475>{{Harvnb
|Wood
|2005
|pp=472–475}}</ref>
===Domestic reactions===
By the time Smith and Dupont arrived at Government House to see Gibbs, Whitehall had instructed the Governor to formally dismiss Smith and his ministers for treason. Gibbs complied without hesitation. Smith and his ministers ignored this, holding that under the new 1965 constitution Gibbs "no longer ha[d] any executive powers in Rhodesia", and his reserve power to sack them no longer existed.<ref>{{Harvnb
|Peterson
|1971
|p=34}}</ref> The Rhodesian government hoped that Gibbs might obligingly resign in light of his impotent situation, but he did not; following orders from London, he remained at his post at Government House. Gibbs told the Rhodesian military's senior officers, some of whom were troubled by the perceived choice between Queen and country, to remain at their posts to maintain law and order.<ref name=wood0834>{{Harvnb
|Wood
|2008
|pp=3–4}}</ref> Wilson briefly flirted with the idea of sending Lord Mountbatten to Rhodesia to support Gibbs as a direct representative of the Queen, but this was dropped after Gibbs asked for somebody "higher up" in the royal family instead.<ref name=wood1999>{{Harvnb
|Wood
|1999</ref> "Not likely", Wilson retorted.<ref name=wood1999/>
The Rhodesian government accompanied UDI with emergency measures that it said were intended to prevent alarm, unrest and the flight of people and capital. Press censorship and petrol rationing were imposed, import licences were cancelled and emigration allowances were cut to £100. News of UDI was generally received calmly by the local citizenry, apart from some isolated incidents of passing cars being stoned in the black townships outside Bulawayo. A few expected dissenters were arrested, most prominently Leo Baron, Nkomo's lawyer, whose links with black Rhodesians and communists were seen by authorities as "subversive".<ref name=wood0834/> Baron, the younger brother of the scientist Jacob Bronowski, was arrested nine minutes after UDI was made.<ref name=wood0834/>
::What was it that could make a country twice the size of Britain with half the population of London pit itself against the massive weight of world opinion? Rights or wrongs aside, there was something splendid about the gesture -- Rhodesian journalist Phillippa Berlyn on UDI<ref name=beleaguered>{{Harvnb
|Berlyn
|1967
|p=9}}</ref>}}
Welensky, who had opposed UDI, stated that he felt it was nevertheless "the duty of every responsible Rhodesian to support the revolutionary government" as he believed the only alternative was a descent into anarchy.<ref name=wood0834/> João de Freitas Cruz, the Portuguese consul-general in Salisbury, reacted to the news with wild excitement; visiting the Smith residence later in the day, he declared "Only Rhodesians could do this!"<ref name=berlyn171/> A statement from ZAPU's Jason Moyo, who was in London at the time, denounced UDI as an act of "treason and rebellion" and asserted that "the lives particularly of four million unarmed Africans are in jeopardy".<ref name=bbc1965>{{Harvnb
|BBC
|1965}}</ref> Davis M'Gabe of the Zimbabwe African National Union (ZANU) said that "For all those who cherish freedom and a meaningful life, UDI has set a collision course which cannot be altered. [It has] marked the turning point of the struggle for freedom ... from a constitutional and political one to primarily a military struggle."<ref>{{Harvnb
|Davidson
|Slovo
|Wilkinson
|1976
|p=230}}</ref> Most major Christian denominational leaders in the country publicly rejected UDI and the assertion that it defended Christianity, with the exception of the local Dutch Reformed Church, which stated that it was apolitical and thereafter refrained from comment.<ref>{{Harvnb
|Peaden
|1979
|p=196}}</ref>
A week after UDI, Smith's government announced that Dupont, the Deputy Prime Minister, had resigned from the Cabinet to accept the post of Officer Administering the Government created by the 1965 constitution.<ref name=wood1999/> Attempting to assert his claimed prerogative as Her Majesty's Rhodesian Prime Minister, Smith advised the Queen by letter to appoint Dupont as Governor-General to supersede Gibbs. The letter was ignored.<ref>{{Harvnb
|Young
|1969
|p=324}}</ref> Dupont nevertheless effectively replaced the Governor. The Smith administration assigned him the Governor's official residence at Government House, but no attempt was made to forcibly remove Gibbs and his entourage; the post-UDI government stated that the Officer Administering the Government would live at Governor's Lodge instead "until Government House, at present temporarily occupied by Sir Humphrey Gibbs in a private capacity, becomes available".<ref name=wood1999/>
The Speaker of the Rhodesian parliament, A R W Stumbles, reconvened the Legislative Assembly on 25 November, resolving that if he did not there would be chaos. He feared that Gibbs might dramatically walk into the chamber in an attempt to stop the proceedings, but Gibbs did no such thing. The parliamentary opposition opened the meeting by asking whether the assembly was legal.<ref name=wood200821/> Ahrn Palley, the lone white opposition MP, announced that as he saw it, "certain Honourable Members in collusion have torn up the constitution under which this House meets. The proceedings have no legal validity whatsoever".<ref name=time65/> Stumbles overruled this objection and two more interruptions from Palley, and suggested that any members with reservations might leave.<ref name=wood200821/> Palley continued his loud protests until he was forcibly ejected by the Sergeant-at-Arms, shouting "This is an illegal assembly! God save the Queen!"<ref name=time65>{{Harvnb
|Time
|1965}}</ref> Gondo and eight other opposition MPs followed Palley out;<ref name=wood200821>{{Harvnb
|Wood
|2008
|p=21}}</ref> all ten of them rejoined the Legislative Assembly in February 1966.{{#tag:ref|When they then repeatedly referred to Smith's government as "the illegal regime" during parliamentary discussions, Stumbles ruled the term out of order.<ref name=wood200822>{{Harvnb
|Wood
|2008
|p=22}}</ref>|group="n"|name="outoforder"}}
Gibbs received threatening letters from the Rhodesian public, and on 26 November 1965 Smith's government cut off the telephones at Government House, and removed the ceremonial guard, the official cars "and even the typewriters", Wood records.<ref name=wood1999/> Gibbs nevertheless refused to step down or to leave Government House, issuing a statement that he would remain there "as the lawful Governor of Rhodesia until such time as constitutional government is restored, which I hope will be soon."<ref name=wood1999/> He stayed at his post, ignored by the post-UDI government, until the declaration of a republic in 1970.<ref name=wood1999/>
===British and international responses; sanctions===
Wilson was astonished by Smith's actions, and found the timing of the declaration to coincide with the Armistice Day silence deeply insulting.<ref name=thinkagain/> Describing Salisbury as "hell-bent on illegal self-destroying",<ref name=wood5/> the British Prime Minister, supported in the Commons by the Liberals and most Conservatives, called on Rhodesians to ignore the post-UDI government.<ref name=wood5/> Within hours of UDI, the UN General Assembly passed a condemnatory resolution, by 107-to-two—South Africa and Portugal voted against, and France abstained—decrying Rhodesia's actions and calling on Britain to end "the rebellion by the unlawful authorities in Salisbury".<ref>{{Harvnb
|Wood
|2008
|p=7}}</ref> The UN Security Council the next day adopted Resolution 216, which denounced the declaration of independence as illegal and racist, and called on all states to refuse recognition and assistance to the Rhodesian government. Security Council Resolution 217, following on 20 November, condemned UDI as an illegitimate "usurpation of power by a racist settler minority", and called on nations neither to recognise what it deemed "this illegal authority" nor to entertain diplomatic or economic relations with it. Both of these measures were adopted by ten votes to none with France abstaining.<ref name=gd183>{{Harvnb
|Gowlland-Debbas
|1990
|pp=183–185}}</ref>
Rhodesian black nationalists and their overseas supporters, prominently the OAU, clamoured for Britain to remove Smith's government with a military invasion, but Britain dismissed this option because of various logistical issues, the risk of provoking a pre-emptive Rhodesian strike on Zambia, and the psychological problems that were likely to accompany any confrontation between British and Rhodesian troops in what Smith said would be a "fratricidal war".<ref>{{Harvnb
|Wood
|2008
|p=6}}; {{Harvnb
|Smith
|1997
|p=110}}</ref> Wilson instead resolved to end the Rhodesian rebellion through economic sanctions; these principally comprised the expulsion of Rhodesia from the Sterling area, a ban on the import of Rhodesian sugar, tobacco, chrome and other goods, and an oil boycott of Rhodesia. When the Rhodesians continued to receive oil, Wilson attempted to directly cut off their main supply lines, namely the Portuguese Mozambican ports at Beira and Lourenço Marques, by posting a Royal Navy squadron to the Mozambique Channel in March 1966. This blockade, the Beira Patrol, was endorsed the following month by UN Security Council Resolution 221.<ref name=mobley>{{Harvnb
|Mobley
|2002
|pp=66, 71–76, 83}}</ref> The United Nations proceeded to institute the first mandatory trade sanctions in its history with Security Council Resolutions 232 (December 1966) and 253 (April 1968), which required member states to cease all trade and economic links with Rhodesia.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|pp=18, 701}}</ref>
Wilson predicted in January 1966 that the various boycotts would force Smith to give in "within a matter of weeks rather than months",<ref>{{Harvnb
|Wood
|2008
|p=47}}</ref> but the British and UN sanctions had little effect on Rhodesia, largely because South Africa and Portugal went on trading with the breakaway colony, providing it with oil and other key resources.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|p=442}}</ref> Clandestine "sanction-busting" trade with other nations also continued, initially at a reduced level, and the diminished presence of foreign competitors helped domestic industries to slowly mature and expand. Rhodesia thus avoided the economic collapse predicted by Wilson and gradually became more self-sufficient.<ref>{{Harvnb
|Rowe
|2001
|pp=124–130}}</ref> The Rhodesian government set up a string of front holding companies in Switzerland, Luxembourg and Liechtenstein to help keep trade open, with some success; goods that had previously been imported from Britain were replaced by Japanese, French and West German equivalents. Even many OAU states, while bombarding Rhodesia with vitriol, continued importing Rhodesian food and other products.<ref>{{Harvnb
|Moorcraft
|McLaughlin
|2008
|p=120}}</ref> The United States created a formal exception in its embargo with the Byrd Amendment of 1971, under which the US replaced its import of chrome from the Soviet Union with Rhodesian chrome ore. This breach of the UN sanctions, passed by the US Congress on the back of anti-communist Cold War considerations, was warmly welcomed by several white Southerners in Congress; it aided the Rhodesian economy until 1977, when the newly elected President Jimmy Carter successfully pushed Congress to repeal it.<ref>{{Harvnb
|Borstelmann
|2003
|pp=236–237}}</ref>
==Recognition==
===Foreign===
[[File:Zimbabwean embassy in London.jpg|thumb|upright|Rhodesia House, the Rhodesian High Commission in London, represented Smith's government in the UK until 1969, and became a regular target for political activists.|alt=An Edwardian building with six floors stands on a moderate day, a flag flying atop it.]]
Official diplomatic recognition by other countries was key for Rhodesia as it was the only way it could regain the international legitimacy it had lost through UDI.<ref name=white97/> Recognition by the UK itself through a bilateral settlement would be the "first prize", in Smith's words, as it would end sanctions and constitutional ambiguity and make foreign acceptance, at least in the West, far more likely.<ref>{{Harvnb
|Windrich
|1978
|p=132}}</ref> Considering their country a potentially important player in the Cold War as a "bastion against communism" in southern Africa,<ref>{{Harvnb
|Borstelmann
|2003
|p=195}}</ref> the RF posited that some Western countries might recognise UDI even without a prior Anglo-Rhodesian rapprochement. Specifically, it expected diplomatic recognition from South Africa and Portugal, and thought that France might recognise Rhodesia to annoy Britain and create a precedent for an independent Quebec.<ref name=white97>{{Harvnb
|White
|2010
|p=97}}</ref> But although South Africa and Portugal gave economic, military and limited political support to the post-UDI government (as did France and other nations, to a lesser extent), neither they nor any other country ever recognised Rhodesia as a ''de jure'' independent state.<ref>{{Harvnb
|Nel
|McGowan
|1999
|p=246}}</ref> Rhodesia's unsuccessful attempts to win Western support and recognition included offers to the US government in 1966 and 1967, ignored by Lyndon B Johnson's administration, to provide Rhodesian troops to fight alongside the Americans and other anti-communist forces in Vietnam.<ref>{{Harvnb
|Glasgow Herald
|1967}}</ref>
Britain withdrew most of its High Commission staff from Salisbury in the days following UDI, leaving a small skeleton staff to man a "residual mission" intended to help Gibbs keep the British government informed of local happenings.<ref name=berlyn171>{{Harvnb
|Berlyn
|1978
|p=171}}</ref> Several countries followed Britain's lead and closed their consulates in Salisbury, with one prominent exception to this being the United States, which retained its consulate-general in post-UDI Rhodesia, relabelling it a "US Contacts Office" to circumvent the problem of diplomatic recognition.{{#tag:ref|Australia and Canada shut down their trade missions in Salisbury, while Finland, Sweden and Turkey closed their honorary consulates. Denmark, France, Italy, Japan and the United States withdrew their heads of mission, but kept their offices open. Austria, Belgium, Greece, the Netherlands, Norway, Portugal and Switzerland retained their representative missions in Salisbury at the same levels as before UDI.<ref name=strack5152/>|group="n"|name="embassies"}} South Africa and Portugal maintained "Accredited Diplomatic Representative" offices in Salisbury, which were embassies in all but name, while Rhodesia kept its pre-UDI overseas missions in Pretoria, Lisbon and Lourenço Marques. Unofficial representative offices of the Rhodesian government also existed in the US, Japan and West Germany, while a citizen of Belgium was employed to represent Rhodesian interests there. The Rhodesian High Commission in London, located at Rhodesia House on the Strand, remained under the control of the post-UDI government and effectively became its representative office in the UK.<ref name=strack5152>{{Harvnb
|Strack
|1978
|pp=51–52}}</ref> Like the South African Embassy on Trafalgar Square, Rhodesia House became a regular target for political demonstrations. These continued even after Britain forced the office to close in 1969.<ref name=brownell>{{Harvnb
|Brownell
|2010}}</ref>
Because UDI claimed to make Rhodesia independent under the Queen as an effective dominion, many countries justified their retention of missions in Rhodesia concurrently with their non-recognition of the state by pointing out that the envoys' accreditation was to the Queen and not to Smith's government ''per se''. But Rhodesia moved away from its original line of independence as a constitutional monarchy and towards republicanism during the late 1960s, hoping to end ambiguity regarding its claimed constitutional status and elicit official foreign recognition. In March 1970, after the electorate had voted "yes" in a referendum the previous year both to a new constitution and to the abandoning of symbolic ties to the Queen, Smith's government declared Rhodesia a republic. Far from prompting recognition, this led all countries apart from Portugal and South Africa to withdraw their consulates and missions, as the justification of royal accreditation could no longer be used.<ref name=strack5152/> After Portugal's Carnation Revolution in 1974, the Rhodesian mission in Lisbon was closed in May 1975, with its counterpart in Lourenço Marques following a month later on Mozambican independence. Portugal also withdrew its own remaining officials from Rhodesia, leaving South Africa as the only country with links to Salisbury. Rhodesia's diplomatic activities were thereafter greatly diminished.<ref name=strack53>{{Harvnb
|Strack
|1978
|p=53}}</ref>
===Judicial===
The Rhodesian High Court's nine Appellate and General Division judges initially neither rejected UDI nor openly supported it. The Chief Justice Sir Hugh Beadle, of the Appellate Division, announced simply that the judges would go on carrying out their duties "according to the law".<ref name=wood1999/> This originally noncommittal stance evolved over time, largely pivoting around legal cases argued at the High Court in Salisbury between 1966 and 1968. The first of these, ''Madzimbamuto v. Lardner-Burke N. O. and Others'', concerned Daniel Madzimbamuto, a black Rhodesian who was detained without trial by the Rhodesian government on 6 November 1965, the day after the declaration of a state of emergency and five days before UDI, on the grounds that he might pose a danger to the public. Desmond Lardner-Burke, the Rhodesian Minister of Justice and Law and Order, prolonged the state of emergency in February 1966, prompting Madzimbamuto's wife to appeal for his release, arguing that since the United Kingdom had declared UDI illegal and outlawed the Rhodesian government with the Southern Rhodesia Act 1965, the state of emergency (and, by extension, Madzimbamuto's imprisonment) had no legal basis.<ref name=gowllanddebbas7576/>
The General Division of the Rhodesian High Court ruled on 9 September 1966 that legal sovereignty lay with the British government, but that to "avoid chaos and a vacuum in the law" the Rhodesian government should be considered to be in control of law and order to the same extent as before UDI. In February 1968, ruling on Madzimbamuto's appeal, Beadle concluded that the Smith administration would be recognised by the local judiciary as the ''de facto'' government by virtue of its "effective control over the state's territory", but that ''de jure'' recognition would be withheld as this was not "firmly established".<ref name=gowllanddebbas7576>{{Harvnb
|Gowlland-Debbas
|1990
|pp=75–76}}</ref> Madzimbamuto applied for the right to appeal to the British Privy Council; the Rhodesian Appellate Division promptly ruled that he had no right to do so,<ref>{{Harvnb
|Wood
|2008
|p=421}}</ref> but the Privy Council considered his case anyway.<ref name=wood487488>{{Harvnb
|Wood
|2008
|pp=487–488}}</ref>
In late February 1968, considering the fate of James Dhlamini, Victor Mlambo and Duly Shadreck, three black Rhodesians convicted of murder and terrorist offences before UDI, Beadle ruled that Salisbury retained its pre-UDI powers regarding executions and could carry out death sentences. Whitehall announced on 1 March that at the request of the UK government, the Queen had exercised the royal prerogative of mercy and commuted the three death sentences to life imprisonment. Dhlamini and the others applied for a permanent stay of execution on this basis. At the hearing for Dhlamini and Mlambo on 4 March 1968, Beadle argued that he saw the statement from London as a decision by the UK government and not the Queen herself, and that in any case the 1961 constitution had transferred the prerogative of mercy from Britain to the Rhodesian Executive Council. "The present government is the fully ''de facto'' government and as such is the only power that can exercise the prerogative", he concluded. "It would be strange indeed if the United Kingdom government, exercising no internal power in Rhodesia, were given the right to exercise the prerogative of clemency."<ref name=wood423424>{{Harvnb
|Wood
|2008
|pp=423–424}}</ref> The Judge President Sir Vincent Quenet and Justice Hector Macdonald agreed, and the application was dismissed. Justice John Fieldsend of the High Court's General Division resigned in protest, writing to Gibbs that he no longer believed the High Court to be defending the rights of Rhodesian citizens. Dhlamini, Mlambo and Shadreck were hanged on 6 March.<ref name=wood423424/>
On 23 July 1968, the Privy Council in London ruled in Madzimbamuto's favour, deciding that orders for detention made by the Rhodesian government were invalid regardless of whether the 1961 or 1965 constitution was considered effective. It declared the latter, "revolutionary" constitution illegal, and ruled that the former was overridden by the Southern Rhodesia Act 1965, which had effectively outlawed the Rhodesian legislative, administrative and legal authorities in British law. Lord Reid, delivering the majority opinion (Lord Pearce dissented), argued that the "usurper" government, though the effective master of Rhodesia, could not be considered lawful as the UK government was still attempting to regain control and it was impossible to say whether or not it would succeed. He ruled that only Whitehall could determine what constituted the maintenance of "law and order" in Rhodesia, and that the Rhodesian emergency measures were unlawful as they had been formalised by the Officer Administering the Government, a post-UDI figure who was, in British eyes, unconstitutional. Reid concluded that Madzimbamuto was illegally detained.<ref name=wood487488/> Harry Davies, one of the Rhodesian judges, announced on 8 August that the Rhodesian courts would not consider this ruling binding as they no longer accepted the Privy Council as part of the Rhodesian judicial hierarchy. Justice J R Dendy Young resigned in protest at Davies' ruling on 12 August and four days later was sworn in as Chief Justice of Botswana.<ref name=wood499>{{Harvnb
|Wood
|2008
|p=499}}</ref>
The Rhodesian High Court granted full ''de jure'' recognition to the post-UDI government on 13 September 1968, while rejecting the appeals of 32 black Rhodesians who had been a month earlier convicted of terrorist offences and sentenced to death. Beadle declared that while he believed the Rhodesian judiciary should respect rulings of the Privy Council "so far as possible", the judgement of 23 July had made it legally impossible for Rhodesian judges to continue under the 1961 constitution. He asserted that the court therefore faced a choice between the 1965 constitution and a legal vacuum, the latter of which he felt he could not endorse.<ref name=wood513>{{Harvnb
|Wood
|2008
|p=513}}</ref> Referring to the Privy Council's decision that the UK might yet remove the post-UDI government, he said that "on the facts as they exist today, the only prediction which this court can make is that sanctions will not succeed in overthrowing the present government ... and that there are no other factors which might succeed in doing so".<ref name=gowllanddebbas7576/>
Macdonald, a member of Beadle's ruling panel, argued that since UDI, the British government had acted unconstitutionally and illegally regarding Rhodesia by involving the United Nations in what should have been legally considered a domestic problem, and had concurrently abdicated its right to the allegiance of the Rhodesian people by waging economic war against the country and encouraging other nations to do the same. To support this argument, Macdonald referred to the assertion by the 17th-century Dutch jurist Hugo Grotius that "the purpose of governing and the purpose of destroying cannot subsist together".<ref name=young538541/> Since Britain was in a state of economic war against Rhodesia, the court concluded, it could not at the same time be regarded as governing it.<ref name=young538541>{{Harvnb
|Young
|1969
|pp=538–541}}</ref> UDI, the associated 1965 constitution and the government were thereafter considered ''de jure'' by the Rhodesian legal system.<ref name=gowllanddebbas7576/>
The British Commonwealth Secretary, George Thomson, promptly accused the Rhodesian judges of breaching "the fundamental laws of the land",<ref name=wood513/> while Gibbs announced that since his position as Governor existed under the 1961 constitution, which allowed appeals to the Privy Council, he could only reject the Rhodesian court ruling.<ref name=wood513/> The Rhodesian judges continued regardless. Their recognition of the post-UDI order carried over to the 1969 republican constitution, adopted in 1970.<ref name=gowllanddebbas7576/>
==Replacement of national symbols==
{{multiple image
| direction = vertical
| image1 = Flag of Rhodesia (1964–1968).svg
| width1 = 140
| alt1 = A sky blue flag with the Union Jack in the upper-left-hand corner, and a coat of arms on the right.
| caption1 = Rhodesian Sky Blue Ensign, used until 1968{{#tag:ref|This overall design dated back to 1923, but a darker blue field was used until 1964, when the shade was lightened to make the Rhodesian flag more recognisable.<ref>{{Harvnb
|Smith
|1976
|p=46}}</ref>|group="n"|name="flags"}}
| image2 = Flag of Rhodesia (1968–1979).svg
| width2 = 140
| alt2 = A flag with vertical green, white and green stripes, with a coat of arms on the central white stripe.
| caption2 = Rhodesian green-and-white triband], adopted in 1968
}}
Vestiges of British ties were removed piecemeal by the government over the decade following UDI, and replaced with symbols and terminology intended to be more uniquely Rhodesian.<ref name=nyoka>{{Harvnb
|Nyoka
|1970}}</ref> A silver "Liberty Bell", based on the bell of the same name in Philadelphia, was cast during 1966 and rung by the Prime Minister each year on Independence Day (the anniversary of UDI), the number of chimes signifying the number of years since the declaration of independence.<ref>{{Harvnb
|Wood
|2008
|p=200}}</ref> The Union Jack and Rhodesia's Commonwealth-style national flag—a defaced Sky Blue Ensign with the Union Jack in the canton—continued to fly over government buildings, military bases and other official locations until 11 November 1968, the third anniversary of UDI, when they were superseded by a new national flag: a green-white-green vertical triband, charged centrally with the Rhodesian coat of arms.<ref name=young585>{{Harvnb
|Young
|1969
|p=585}}</ref> The Union Jack continued to be ceremonially raised at Cecil Square in Salisbury on 12 September each year as part of the Pioneers' Day holiday, which marked the anniversary of the establishment of Salisbury (and, by extension, Rhodesia) in 1890.<ref>{{Harvnb
|Schwarz
|2011
|pp=394–395}}</ref>
Since Elizabeth II was still the Rhodesian head of state in the eyes of Smith's administration until 1970, "God Save the Queen" remained the Rhodesian national anthem, and continued to accompany official occasions such as the opening of the Rhodesian parliament. This was intended to demonstrate Rhodesia's continued loyalty to the Queen, but the use of the unmistakably British song at Rhodesian state occasions soon seemed "fairly ironic", as ''The Times'' put it.<ref name=buch243>{{Harvnb
|Buch
|2004
|p=243}}</ref> Salisbury started looking for a replacement anthem around the same time as its introduction of the new flag,<ref>{{Harvnb
|Vancouver Sun
|1974}}</ref> and in 1974, after four years without an anthem ("God Save the Queen" was formally dropped in 1970), republican Rhodesia adopted "Rise, O Voices of Rhodesia", an anthem coupling original lyrics with the tune of Beethoven's "Ode to Joy".<ref name=buch247248>{{Harvnb
|Buch
|2004
|pp=247–248}}</ref> The country's head of state under the republican constitution was the President of Rhodesia, the first of whom was Dupont.<ref name=pb162/>
State press censorship, which had been introduced on UDI, was lifted in early April 1968.<ref>{{Harvnb
|Wood
|2008
|pp=444–445}}</ref> Decimalisation occurred on 17 February 1970, two weeks before Rhodesia's reconstitution as a republic, with the new Rhodesian dollar replacing the pound at a rate of two dollars to each pound.<ref>{{Harvnb
|Tanser
|1975
|p=22}}</ref> Following the republic's formal declaration the next month, the Rhodesian military removed nomenclatural and symbolic references to the Crown—the Royal Rhodesian Air Force and Royal Rhodesia Regiment dropped their "Royal" prefixes, new branch and regimental flags were designed, and the St Edward's Crown surmounting many regimental emblems was expunged in favour of the "lion and tusk", a motif from the coat of arms of the British South Africa Company that had been used in Rhodesian military symbolism since the 1890s. The air force's new roundel was a green ring with the lion and tusk on a white centre.<ref name=pb162>{{Harvnb
|Petter-Bowyer
|2005
|p=162}}</ref> Later that year, a system of new Rhodesian honours and decorations was created to replace the old British honours. Rhodesia's police force, the British South Africa Police, was not renamed.<ref>{{Harvnb
|Saffery
|2006
|p=7}}</ref>
==Ending UDI==
[[File:Muzorewa 1978 b.jpg|thumb|upright|Bishop Abel Muzorewa, the country's first black Prime Minister, whose unrecognised government revoked UDI in 1979 as part of the Lancaster House Agreement|alt=A portrait photograph of Abel Muzorewa]]
Wilson told the British House of Commons in January 1966 that he would not enter any kind of dialogue with the post-UDI Rhodesian "illegal regime" until it gave up its claim of independence,<ref>{{Harvnb
|Windrich
|1978
|p=76}}</ref> but by mid-1966 British and Rhodesian civil servants were holding "talks about talks" in London and Salisbury.<ref>{{Harvnb
|Windrich
|1978
|p=87}}</ref> By November that year, Wilson had agreed to negotiate personally with Smith.<ref>{{Harvnb
|Windrich
|1978
|p=98}}</ref> The two Prime Ministers unsuccessfully attempted to settle aboard HMS ''Tiger'' in December 1966 and HMS ''Fearless'' in October 1968. After the Conservatives returned to power in Britain in 1970, provisional agreement was reached in November 1971 between the Rhodesian government and a British team headed by Douglas-Home (who was Foreign Secretary under Prime Minister Edward Heath), and in early 1972 a Royal Commission chaired by Lord Pearce travelled to Rhodesia to investigate how acceptable the proposals were to majority opinion. After extensive consultation, the commission reported that while whites, coloureds and Asians were largely in favour of the presented terms, most blacks rejected them. The deal was therefore shelved by the British government.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|p=87}}</ref>
The Rhodesian Bush War, a guerrilla conflict pitting the Rhodesian Security Forces against the Zimbabwe African National Liberation Army (ZANLA) and the Zimbabwe People's Revolutionary Army (ZIPRA), the respective armed wings of ZANU and ZAPU, began in earnest in December 1972, when ZANLA attacked Altena and Whistlefield Farms in north-eastern Rhodesia.<ref name="binda133136">{{Harvnb
|Binda
|2008
|pp=133–136}}</ref> The 1974 Carnation Revolution in Portugal, which over the next year replaced Portuguese support for Smith with an independent, Marxist–Leninist Mozambique on Rhodesia's eastern frontier, greatly swung the war's momentum in favour of the nationalists (particularly ZANU, which was allied with Mozambique's governing FRELIMO party), and caused the sanctions on Rhodesia to finally begin having a noticeable effect.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|pp=87–88}}; {{Harvnb
|Gastil
|1980
|pp=159–160}}; {{Harvnb
|Olson
|Shadle
|1996
|p=1030}}</ref> Diplomatic isolation, the sanctions, guerrilla activities and pressure from South Africa to find a settlement led the Rhodesian government to hold talks with the various black Rhodesian factions. Abortive conferences were held at Victoria Falls (in 1975) and Geneva (1976).<ref>{{Harvnb
|Gastil
|1980
|pp=159–160}}; {{Harvnb
|Moorcraft
|McLaughlin
|2008
|p=89}}</ref> Despite ideological and tribal rifts, ZANU and ZAPU nominally united as the "Patriotic Front" (PF) in late 1976 in a successful attempt to augment overseas support for the black Rhodesian cause.<ref>{{Harvnb
|Cilliers
|1984
|pp=34–35}}</ref>
By the mid-1970s, it was apparent that white minority rule could not continue forever. Even Vorster realized that white rule in a country where blacks outnumbered whites 22:1 was not a realistic option.<ref name="impression">{{cite web |url=http://www.aliciapatterson.org/APF001975/Wright/Wright12/Wright12.html |title=APF newsletter, "Appraisal of Rhodesia in 1975" |url-status=dead |archiveurl=https://web.archive.org/web/20090531063909/http://www.aliciapatterson.org/APF001975/Wright/Wright12/Wright12.html |archivedate=31 May 2009 |df=dmy-all }}</ref> Smith, who was decisively re-elected three times during the 1970s, eventually came to this conclusion as well. He announced his acceptance in principle of one man, one vote during Henry Kissinger's Anglo-American initiative in September 1976, and in March 1978 concluded the Internal Settlement with non-militant nationalist groups headed by Bishop Abel Muzorewa, the Reverend Ndabaningi Sithole and Chief Jeremiah Chirau. This settlement, boycotted by the PF and rejected internationally,<ref>{{Harvnb
|Gowlland-Debbas
|1990
|pp=88–89, 187–191}}; {{Harvnb
|Gastil
|1980
|pp=159–160}}</ref> led to multiracial elections and Rhodesia's reconstitution under majority rule as Zimbabwe Rhodesia in June 1979. Muzorewa, the electoral victor, took office as the country's first black Prime Minister at the head of a coalition Cabinet comprising 12 blacks and five whites,<ref>{{Harvnb
|Gowlland-Debbas
|1990
|p=79}}</ref> including Smith as minister without portfolio.<ref>{{Harvnb
|Olson
|Shadle
|1996
|p=1030}}</ref> Dismissing Muzorewa as a "neocolonial puppet",<ref>{{Harvnb
|Winn
|1979}}</ref> ZANLA and ZIPRA continued their armed struggle until December 1979, when Whitehall, Salisbury and the Patriotic Front settled at Lancaster House. Muzorewa's government revoked UDI, thereby ending the country's claim to be independent after 14 years, and dissolved itself. The UK suspended the constitution and vested full executive and legislative powers in a new Governor, Lord Soames, who oversaw a ceasefire and fresh elections during February and March 1980. These were won by ZANU, whose leader Robert Mugabe became Prime Minister when the UK granted independence to Zimbabwe as a republic within the Commonwealth in April 1980.<ref>{{Harvnb
|Gowlland-Debbas
|1990
|pp=89–91}}</ref>
==Notes and references==
'''Footnotes'''
{{reflist|group=n|colwidth=35em}}
'''References'''
{{reflist|colwidth=20em}}
'''Speeches'''
{{refbegin}}
*{{cite web
|title=Rhodesia's Position Within the Commonwealth
|first=Roy
|last=Welensky
|authorlink=Roy Welensky
|event=Empire Club of Canada Addresses
|location=Toronto
|date=8 April 1965
|url=http://speeches.empireclub.org/61140/data
|pages=314–319
|accessdate=5 June 2013
|ref=harv}}
{{refend2}}
'''Newspaper and journal articles'''
{{refbegin}}
*{{cite journal
|title='A Sordid Tussle on the Strand': Rhodesia House during the UDI Rebellion (1965–80)
|last=Brownell
|first=Josiah
|year=2010
|journal=The Journal of Imperial and Commonwealth History
|volume=38
|issue=3
|pages=471–499
|doi=10.1080/03086534.2010.503398
|ref=harv}}
*{{cite journal
|title=Rhodesia: The Last Chance#
|journal=Fabian Tracts |issue=368
|last=Cunningham
|first=George
|authorlink=George Cunningham (British politician)
|date=September 1966
|location=London
|publisher=Fabian Society
|ref=harv}}
*{{cite journal
|title=Rhodesia's Face of Defiance
|url=https://books.google.com/?id=XVYEAAAAMBAJ&pg=PA22&dq=%22#v=onepage&q&f=false
|last=Hall
|first=Lee
|journal=Life
|date=27 May 1966
|accessdate=11 June 2013
|pages=22–30
|ref=harv}}
*{{cite journal
|title=Zimbabwe and the Commonwealth
|last=McWilliam
|first=Michael
|date=January 2003
|journal=The Round Table
|volume=92
|issue=368
|pages=89–98
|doi=10.1080/750456746
|ref=harv}}
*{{cite journal
|title = The Beira patrol: Britain's broken blockade against Rhodesia
|last = Mobley
|first = Richard
|date = Winter 2002
|volume = LV
|pages = 63–84
|journal = Naval War College Review
|url = http://www.usnwc.edu/getattachment/5b9b2e96-200c-4d99-b8bb-0e3490488bfa/Beira-Patrol,-The--Britain-s-Broken-Blockade-again
|issue = 1
|ref = harv
|url-status = dead
|archiveurl = https://web.archive.org/web/20140914110201/https://www.usnwc.edu/getattachment/5b9b2e96-200c-4d99-b8bb-0e3490488bfa/Beira-Patrol%2C-The--Britain-s-Broken-Blockade-again
|archivedate = 14 September 2014
|df = dmy-all
}}
*{{cite journal
|title=Rhodesia's War of Independence
|url=http://www.historytoday.com/paul-moorcraft/rhodesias-war-independence
|last=Moorcraft
|first=Paul
|authorlink=Paul Moorcraft
|journal=History Today
|issn=0018-2753
|year=1990
|volume=40
|issue=9
|accessdate=11 June 2013
|ref=harv}}
*{{cite journal
|title='More a Cause than a Country': Historiography, UDI and the Crisis of Decolonisation in Rhodesia
|last=Nyamunda
|first=Tinashe
|journal=Journal of Southern African Studies
|year=2016
|volume=42
|number=5
|pages=1005–1019
|issn=0305-7070
|ref=harv|doi=10.1080/03057070.2016.1222796
}}
*{{cite news
|title=Smith regime doing away with last British influences
|last=Nyoka
|first=Justin V J
|journal=The Afro-American
|location=Baltimore, Maryland
|publisher=The Afro-American Company
|url=https://news.google.com/newspapers?nid=2211&dat=19700718&id=5iYmAAAAIBAJ&sjid=_f0FAAAAIBAJ&pg=2344,379690
|page=22
|date=18 July 1970
|accessdate=11 June 2013
|ref=harv}}
*{{cite journal
|title=Aspects of the Church and its Political Involvement in Southern Rhodesia, 1959–1972
|last=Peaden
|first=W R
|url=http://archive.lib.msu.edu/DMC/African%20Journals/pdfs/Journal%20of%20the%20University%20of%20Zimbabwe/vol7n2/juz007002006.pdf
|journal=Zambezia
|year=1979
|volume=7
|number=2
|pages=191–210
|issn=0379-0622
|accessdate=4 July 2013
|ref=harv}}
*{{cite journal
|title=Violence Variously Remembered: the Killing of Pieter Oberholzer in July 1964
|last=Ranger
|first=Terence
|authorlink=Terence Ranger
|journal=History in Africa
|year=1997
|volume=24
|pages=273–286
|jstor=3172030
|doi=10.2307/3172030
|ref=harv}}
*{{cite journal
|last=Lord St Brides
|authorlink=Morrice James, Baron St Brides
|title=The Lessons of Zimbabwe-Rhodesia
|journal=International Security
|date=April 1980
|volume=4
|issue=4
|pages=177–184
|jstor=2626673
|doi=10.2307/2626673
|ref={{harvid|St Brides|1980}}}}
*{{cite journal
|title=Despite Rhodesia's Elections, Robert Mugabe Vows to Wage Guerrilla War 'to the Last Man'
|last=Winn
|first=Michael
|journal=People
|url=http://www.people.com/people/archive/article/0,,20073566,00.html
|volume=11
|number=18
|date=7 May 1979
|accessdate=11 June 2013
|ref=harv}}
*{{cite journal
|title=Rhodesia: The Shortened Fuse
|journal=Time
|url=http://www.time.com/time/magazine/article/0,9171,842248-1,00.html
|date=3 December 1965
|accessdate=24 July 2013
|ref={{harvid|Time|1965}}}}
*{{cite news
|title=US snubs Rhodesia over troops for Vietnam
|url=https://news.google.com/newspapers?id=72NAAAAAIBAJ&sjid=caMMAAAAIBAJ&pg=2984,4130302&dq=&hl=en
|work=The Glasgow Herald
|publisher=Lord Fraser
|location=Glasgow
|date=20 May 1967
|accessdate=21 June 2013
|page=7
|ref={{harvid|Glasgow Herald|1967}}}}
*{{cite news
|title=Rhodesia Declares Independence, Provokes Wrath
|url=https://news.google.com/newspapers?id=aPhRAAAAIBAJ&sjid=VnQDAAAAIBAJ&pg=6679%2C762352
|work=The St. Petersburg Times
|publisher=Times Publishing Company
|location=St. Petersburg, Florida
|date=12 November 1965
|accessdate=11 June 2013
|pages=1–A, 7–A
|ref={{harvid|St. Petersburg Times|1965}}}}
*{{cite news
|title=Rhodesia picks Ode to Joy
|url=https://news.google.com/newspapers?id=cHBmAAAAIBAJ&sjid=XosNAAAAIBAJ&pg=6475,5011881&dq
|work=The Vancouver Sun
|location=Vancouver, British Columbia
|publisher=Postmedia News
|page=12
|date=30 August 1974
|accessdate=11 June 2013
|ref={{harvid|Vancouver Sun|1974}}}}
{{refend2}}
'''Online sources'''
{{refbegin}}
*{{cite web
|last=Wood
|first=J R T
|title=Four Tall NCOs of the Life Guards: Lord Mountbatten, Harold Wilson, and the Immediate Aftermath of UDI: The Proposed Mountbatten Mission
|url=http://www.jrtwood.com/article_guardsmen.asp
|year=1999
|work=jrtwood.com
|location=Durban
|accessdate=10 June 2013
|ref=harv}}
*{{cite web
|title=1965: Rhodesia breaks from UK
|url=http://news.bbc.co.uk/onthisday/hi/dates/stories/november/11/newsid_2658000/2658445.stm
|publisher=BBC
|location=London
|date=11 November 1965
|accessdate=4 July 2013
|ref={{harvid|BBC|1965}}}}
{{refend2}}
'''Bibliography'''
{{refbegin|colwidth=35em}}
*{{cite book
|title=Guide to the Historical Manuscripts in the National Archives of Rhodesia
|last1=Baxter
|first1=T W
|last2=Burke
|first2=E E
|year=1970
|location=Salisbury
|publisher=National Archives of Rhodesia
|edition=First
|asin=B0017HAKHI
|ref=harv}}
*{{cite book
|title=Rhodesia: Beleaguered Country
|last=Berlyn
|first=Phillippa
|location=London
|publisher=Mitre Press
|year=1967
|isbn=978-0-7051-9002-2
|ref=harv}}
*{{cite book
|title=The Quiet Man: A Biography of the Hon. Ian Douglas Smith
|last=Berlyn
|first=Phillippa
|location=Salisbury
|publisher=M O Collins
|date=April 1978
|oclc=4282978
|ref=harv}} also includes (on pp. 240–256) {{cite journal
|title=Constitutional History of Rhodesia: An outline
|last=Rowland
|first=J Reid
|ref={{harvid|Rowland|1978}}}}
*{{cite book
|title=The Saints: The Rhodesian Light Infantry
|last=Binda
|first=Alexandre
|location=Johannesburg
|publisher=30° South Publishers
|date=May 2008
|isbn=978-1-920143-07-7
|ref=harv}}
*{{cite book
|title=A History of Rhodesia
|last=Blake
|first=Robert
|authorlink=Robert Blake, Baron Blake
|year=1977
|edition=First
|location=London
|publisher=Eyre Methuen
|isbn=978-0-413-28350-4
|ref=harv}}
*{{cite book
|title=The Cold War and the Color Line: American Race Relations in the Global Arena
|last=Borstelmann
|first=Thomas
|location=Cambridge, Massachusetts
|publisher=Harvard University Press
|date=September 2003
|isbn=978-0-674-01238-7
|ref=harv
|url=https://archive.org/details/coldwarcolo00thom
}}
*{{cite book
|title=Beethoven's Ninth: A Political History
|last=Buch
|first=Esteban
|others=Trans. Miller, Richard
|publisher=University Of Chicago Press
|location=Chicago, Illinois
|date=May 2004
|origyear=1999
|isbn=978-0-226-07824-3
|ref=harv}}
*{{cite book
|title=Under the Skin: The Death of White Rhodesia
|last=Caute
|first=David
|authorlink=David Caute
|date=June 1983
|edition=First
|location=Evanston, Illinois
|publisher=Northwestern University Press
|isbn=978-0-8101-0658-1
|ref=harv
|url=https://archive.org/details/underskindeat00caut
}}
*{{cite book
|title=Counter-Insurgency in Rhodesia
|last=Cilliers
|first=Jakkie
|location=London, Sydney & Dover, New Hampshire
|publisher=Croom Helm
|date=December 1984
|isbn=978-0-7099-3412-7
|ref=harv}}
*{{cite book
|title=Southern Africa: The New Politics of Revolution
|last1=Davidson
|first1=Basil
|author1-link=Basil Davidson
|last2=Slovo
|first2=Joe
|author2-link=Joe Slovo
|last3=Wilkinson
|first3=Anthony R
|publisher=Penguin Books
|location=Harmondsworth, England
|year=1976
|edition=First
|isbn=978-0-14-021963-0
|ref=harv}}
*{{cite book
|title=A Right to be Proud: The Struggle for Self-Government and the Roots of White Nationalism in Rhodesia, 1890–1922
|last=Di Perna
|first=Anthony D
|year=1978
|origyear=1973
|publisher=Books of Rhodesia
|location=Bulawayo
|isbn=978-0-86920-176-3
|ref=harv}}
*{{cite book
|title=Politics & government in African states, 1960–1985
|editor1-last=Duignan
|editor1-first=Peter
|editor2-last=Jackson
|editor2-first=Robert H
|location=London, Sydney & Dover, New Hampshire
|publisher=Croom Helm
|date=May 1986
|isbn=978-0-8179-8482-3
|ref=harv}}
*{{cite book
|title=International Diplomacy and Colonial Retreat
|editor1-last=Fedorowich
|editor1-first=Kent
|editor2-last=Thomas
|editor2-first=Martin
|year=2001
|location=London
|publisher=Frank Cass
|isbn=978-0-7146-5063-0
|ref=harv}}
*{{cite book
|title=The Silence of Great Zimbabwe: Contested Landscapes and the Power of Heritage
|last=Fontein
|first=Joost
|location=London
|publisher=University College London Press
|date=September 2006
|edition=First
|isbn=978-1-84472-123-8
|ref=harv}}
*{{cite book
|title=Freedom in the World: Political Rights and Civil Liberties, 1980
|editor-last=Gastil
|editor-first=Raymond
|editor-link=Raymond Gastil
|location=New York
|publisher=Freedom House
|year=1980
|isbn=978-0-87855-852-0
|ref=harv|title-link=Freedom in the World
}}
*{{cite book
|title=Collective Responses to Illegal Acts in International Law: United Nations action in the question of Southern Rhodesia
|last=Gowlland-Debbas
|first=Vera
|publisher=Martinus Nijhoff Publishers
|location=Leiden and New York
|year=1990
|edition=First
|isbn=978-0-7923-0811-9
|ref=harv}}
*{{cite book
|title=Sourcebook on Public International Law
|last=Hillier
|first=Tim
|year=1998
|edition=First
|location=London & Sydney
|publisher=Cavendish Publishing
|isbn=978-1-85941-050-9
|ref=harv}}
*{{cite book
|title=Quasi-States: Sovereignty, International Relations and the Third World
|last=Jackson
|first=Robert H
|year=1990
|location=Cambridge, England
|publisher=Cambridge University Press
|isbn=978-0-521-44783-6
|ref=harv}}
*{{cite book
|title=Defunct Federalisms: Critical Perspectives on Federal Failure
|editor1-last=Kavalski
|editor1-first=Emilian
|editor2-last=Zolkos
|editor2-first=Magdalena
|location=Farnham, England
|publisher=Ashgate Publishing
|date=September 2008
|isbn=978-0-7546-4984-7
|ref=harv}}
*{{cite book
|title=The Struggle for Zimbabwe
|last1=Martin
|first1=David
|last2=Johnson
|first2=Phyllis
|date=July 1981
|edition=First
|location=London
|publisher=Faber and Faber
|isbn=978-0-571-11066-7
|ref=harv}}
*{{cite book
|title=General History of Africa, VIII: Africa Since 1935
|editor-last=Mazrui
|editor-first=Ali Al'Amin
|editor-link=Ali Mazrui
|year=1993
|edition=First
|location=Paris
|publisher=United Nations Educational, Scientific and Cultural Organization
|isbn=978-92-3-102758-1
|ref=harv
|url-access=registration
|url=https://archive.org/details/unescogeneralhis08alim
}}
*{{cite book
|title=The First Dance of Freedom: Black Africa in the postwar era
|url=https://archive.org/details/firstdanceoffree00mere
|url-access=registration
|last=Meredith
|first=Martin
|authorlink=Martin Meredith
|year=1984
|location=New York
|publisher=HarperCollins
|isbn=978-0-06-430150-3
|ref=harv}}
*{{cite book
|title=Ragtime Soldiers: the Rhodesian Experience in the First World War
|last=McLaughlin
|first=Peter
|authorlink=Peter McLaughlin
|publisher=Books of Zimbabwe
|location=Bulawayo
|year=1980
|isbn=978-0-86920-232-6
|ref=harv
|url=https://archive.org/details/ragtimesoldiersr00mcla
}}
* Michel, Eddie. ''The White House and White Africa: Presidential Policy Toward Rhodesia During the UDI Era, 1965-1979'' (New York: Routledge, 2019). {{ISBN|9781138319998}} [https://issforum.org/roundtables/PDF/Roundtable-XXI-6.pdf online review]
*{{cite book
|title=The Rhodesian War: A Military History
|last1=Moorcraft
|first1=Paul L
|authorlink1=Paul Moorcraft
|last2=McLaughlin
|first2=Peter
|authorlink2=Peter McLaughlin
|date=April 2008
|origyear=1982
|location=Barnsley
|publisher=Pen and Sword Books
|isbn=978-1-84415-694-8
|ref=harv}}
*{{cite book
|title=The House of Lords and the Labour government, 1964–1970
|last=Morgan
|first=Janet P
|location=Oxford
|publisher=Clarendon Press
|date=April 1975
|isbn=978-0-19-827191-8
|ref=harv
|url=https://archive.org/details/houseoflordslabo0000morg
}}
*{{cite book
|title=Do 'Zimbabweans' Exist? Trajectories of Nationalism, National Identity Formation and Crisis in a Postcolonial State
|last=Ndlovu-Gatsheni
|first=Sabelo J
|location=Bern
|publisher=Peter Lang AG
|year=2009
|edition=First
|isbn=978-3-03911-941-7
|ref=harv}}
*{{cite book
|title=Power, Wealth and Global Order: an International Relations Textbook for Africa
|editor1-last=Nel
|editor1-first=Philip
|editor2-last=McGowan
|editor2-first=Pat
|year=1999
|edition=First
|location=Cape Town
|publisher=University of Cape Town Press
|isbn=978-1-919713-30-4
|ref=harv}}
*{{cite book
|title=Zimbabwe, a Country Study
|series=Area Handbook Series
|editor-last=Nelson
|editor-first=Harold D
|year=1983
|location=Washington, D.C.
|publisher=Department of the Army, American University
|edition=Second
|oclc=227599708
|ref=harv}}
*{{cite book
|title=Historical Dictionary of the British Empire: K–Z
|editor1-last=Olson
|editor1-first=James Stuart
|editor1-link=James S. Olson
|editor2-last=Shadle
|editor2-first=Robert
|year=1996
|location=Westport, Connecticut
|publisher=Greenwood Publishing Group
|isbn=978-0-313-27917-1
|ref=harv}}
*{{cite book
|title=The Constitutional History and Law of Southern Rhodesia 1888–1965, with Special Reference to Imperial Control
|last=Palley
|first=Claire
|authorlink=Claire Palley
|year=1966
|edition=First
|location=Oxford
|publisher=Oxford University Press
|oclc=406157
|ref=harv}}
*{{cite book
|title=Rhodesian Independence
|series=Interim History
|editor-last=Peterson
|editor-first=Robert W
|year=1971
|location=New York
|publisher=Facts On File
|isbn=978-0-87196-184-6
|ref=harv}}
*{{cite book
|title=Winds of Destruction: the Autobiography of a Rhodesian Combat Pilot
|last=Petter-Bowyer
|first=P J H
|date=November 2005
|origyear=2003
|location=Johannesburg
|publisher=30° South Publishers
|isbn=978-0-9584890-3-4
|ref=harv}}
*{{cite book
|title=Manipulating the Market: Understanding Economic Sanctions, Institutional Change, and the Political Unity of White Rhodesia
|last=Rowe
|first=David M
|year=2001
|edition=First
|location=Ann Arbor, Michigan
|publisher=University of Michigan Press
|isbn=978-0-472-11187-9
|ref=harv}}
*{{cite book
|title=Rhodesia Medal Roll: Honours and Decorations of the Rhodesian Conflict 1970–1981
|last=Saffery
|first=David
|date=August 2006
|location=London
|publisher=Jeppestown Press
|isbn=978-0-9553936-0-0
|ref=harv}}
*{{cite book
|title=The White Man's World
|last=Schwarz
|first=Bill
|location=Oxford
|publisher=Oxford University Press
|year=2011
|edition=First
|isbn=978-0-19-929691-0
|ref=harv}}
*{{cite book
|title=The Great Betrayal: The Memoirs of Ian Douglas Smith
|last=Smith
|first=Ian
|authorlink=Ian Smith
|date=June 1997
|location=London
|publisher=John Blake Publishing
|isbn= 978-1-85782-176-5
|ref=harv|title-link=The Great Betrayal: The Memoirs of Ian Douglas Smith
}}
*{{cite book
|title=The Flag Bulletin. ''Volumes 15–17''
|editor-last=Smith
|editor-first=Whitney
|editor-link=Whitney Smith
|year=1976
|publisher=Flag Research Center
|location=Winchester, Massachusetts
|ref=harv}}
*{{cite book
|title=Sanctions: The Case of Rhodesia
|last=Strack
|first=Harry R
|date=May 1978
|publisher=Syracuse University Press
|location=Syracuse, New York
|edition=First
|isbn=978-0-8156-2161-4
|ref=harv}}
*{{cite book
|title=The Guide to Rhodesia
|last=Tanser
|first=George Henry
|year=1975
|location=Johannesburg & Salisbury
|publisher=Winchester Press
|isbn=978-0-620-01590-5
|ref=harv}}
*{{cite book
|title=Black and White Elites in Rural Rhodesia
|last=Weinrich
|first=A K H
|year=1973
|location=Manchester
|publisher=Manchester University Press
|isbn=978-0-7190-0533-6
|ref=harv}}
*{{cite book
|title=Welensky's 4000 Days
|last=Welensky
|first=Roy
|authorlink=Roy Welensky
|year=1964
|location=London
|publisher=HarperCollins
|oclc=460725368
|ref=harv}}
*{{cite book
|title=P K van der Byl: African Statesman
|last=Wessels
|first=Hannes
|location=Johannesburg
|publisher=30° South Publishers
|date=July 2010
|isbn=978-1-920143-49-7
|ref=harv}}
*{{cite book
|title=The Rise of an African Middle Class: Colonial Zimbabwe, 1898–1965
|last=West
|first=Michael O
|date=August 2002
|location=Bloomington, Indiana
|publisher=Indiana University Press
|isbn=978-0-253-21524-6
|ref=harv}}
*{{cite news
|last=White
|first=Luise
|title=The Utopia of Working Phones: Rhodesian Independence and the Place of Race in Decolonization
|ref={{harvid|White|2010}}}} in {{cite book
|title=Utopia/Dystopia: Conditions of Historical Possibility
|editor1-last=Gordin
|editor1-first=Michael D
|editor2-last=Tilley
|editor2-first=Helen
|editor3-last=Prakash
|editor3-first=Gyan
|location=Princeton, New Jersey
|publisher=Princeton University Press
|date=August 2010
|pages=94–116
|isbn=978-1-4008-3495-2}}
*{{cite book
|title=Smith of Rhodesia: A Pictorial Biography
|last=White
|first=Matthew C
|location=Cape Town
|publisher=Don Nelson
|year=1978
|isbn=978-0-909238-36-0
|ref=harv}}
*{{cite book
|title=The Labour Government, 1964–70: A Personal Record
|last=Wilson
|first=Harold
|authorlink=Harold Wilson
|year=1974
|origyear=1971
|publisher=Penguin Books
|location=Harmondsworth, England
|isbn=978-0-14-021762-9
|ref=harv
|url=https://archive.org/details/isbn_0140217622
}}
*{{cite book
|title=Britain and the Politics of Rhodesian Independence
|last=Windrich
|first=Elaine
|year=1978
|location=London
|publisher=Croom Helm
|isbn=978-0-85664-709-3
|ref=harv}}
*{{cite book
|title=So Far and No Further! Rhodesia's Bid For Independence During the Retreat From Empire 1959–1965
|last=Wood
|first=J R T
|date=June 2005
|location=Victoria, British Columbia
|publisher=Trafford Publishing
|isbn=978-1-4120-4952-8
|ref=harv}}
*{{cite book
|title=A Matter of Weeks Rather Than Months: The Impasse Between Harold Wilson and Ian Smith: Sanctions, Aborted Settlements and War 1965–1969
|last=Wood
|first=J R T
|date=April 2008
|location=Victoria, British Columbia
|publisher=Trafford Publishing
|isbn=978-1-4251-4807-2
|ref=harv}}
*{{cite book
|title=Rhodesia and Independence: A Study in British Colonial Policy
|last=Young
|first=Kenneth
|year=1969
|origyear=1967
|location=London
|publisher=J M Dent & Sons
|oclc=955160
|ref=harv}}
{{refend2}}
{{BookCat}}
c7mimpb7eokyuqiq61b7kuxdw5siru6
Template:Highlighter
10
437390
4639943
4484611
2026-06-11T19:15:12Z
Rainmonger
122366
Removed linebreak
4639943
wikitext
text/x-wiki
{{background color|yellow|{{{1}}}}}<noinclude>{{documentation}}</noinclude>
cu3tavotvceje86jw05xv1x8t815jld
Oberon/System Variants
0
446845
4639912
4639868
2026-06-11T14:08:08Z
PeterEasthope
660399
/* Source Texts in Active Oberon */ Added punctuation.
4639912
wikitext
text/x-wiki
{{center|[[Oberon/Naming|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">← Naming</span>]] [[Oberon|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">↑ Oberon front page</span>]] [[Oberon/Licenses|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">Licenses →</span>]]}}
<br>
The Oberon system runs directly on several machine architectures and as a subsystem in several host [[w:Operating system|operating systems]]. Order of rows is approximately chronological. For each variant (row), a link in the second column leads to additional information.
<div id="VariantsTable"></div>
==Source Texts in [[Oberon/oreport|Oberon]]<ref name="Oberon"/>==
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|-
| [[w:Ceres_(workstation)|Ceres workstation]]<br>
[http://www.computerhistory.org/collections/catalog/X2321.2002A preserved Ceres]<br>
[http://www.computerhistory.org/collections/catalog/102674736 preserved Ceres]<br>
[http://www.computerhistory.org/collections/catalog/102722173 photo of Ceres 1]<br>
[[w:Field-programmable_gate_array|FPGA]] based [https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=165&No=830#contents Cyclone V GX].
| [[w:Oberon_(operating_system)|The Oberon System]]<br>[[Oberon/The Oberon System, V1 and V2|V1 and V2]]
| colspan="2" align="center" | [http://www.cpu-ns32k.net/Oberon.html Notes about Oberon] and [http://www.cpu-ns32k.net/Ceres.html implementation of Ceres]<!-- <br>by Udo Möller, 2023-25. --><ref name="VCFE2024"/><ref name="Ceres"/><br>[https://github.com/pcayuela/Project-Oberon/tree/main/CERES%20Oberon%20V4/ASCII Project-Oberon at Sourceforge]<br>[https://bitsavers.org/ETH https://bitsavers.org/ETH]
|-
| [[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| [https://www.research-collection.ethz.ch/handle/20.500.11850/68911 ''Oberon for PC on an MS-DOS Base''](PDF), [[Oberon/Bibliography#Dis93|Dis93]]
| align="center" | [https://sourceforge.net/projects/dosoberon/files/ Sourceforge]<br>[https://github.com/Classic-Tools/DOSOberon Github]
| align="center" | README.TXT for System 3, Release 2.0 at [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ Sourceforge],<br>and at [https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github]
|-
| Any system compatible with the included PAL library<ref name="PAL"/>
| Cross-platform ETH Oberon, System 3<ref name="Oberon"/>
| colspan="2" align="center" | [https://github.com/rochus-keller/OberonSystem3/ github]<ref name="PrecompiledCrossPlatformOberon"/>
|-
|[[w:ARM_architecture_family#32-bit_architecture|ARMv7]] as in the [[w:Raspberry_Pi#Flagship_series|Raspberry Pi 2B]].
|QEMU image and software operable on various Raspberry Pi machines.
| colspan="2" align="center" | [https://github.com/rochus-keller/OberonSystem3Native/releases/tag/2026-04-02 Github].
|}
{{b:User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:Ceres_(workstation)|Ceres workstation]].<br>
[http://www.computerhistory.org/collections/catalog/X2321.2002A Preserved Ceres].<br>
[http://www.computerhistory.org/collections/catalog/102674736 Preserved Ceres].
|[[w:Oberon_(operating_system)|The Oberon System]],<br>
[[Oberon/The Oberon System, V1 and V2|V1 and V2]].
|[http://www.cpu-ns32k.net/Oberon.html Notes about Oberon] and [http://www.cpu-ns32k.net/Ceres.html implementation of Ceres].<ref name="VCFE2024"/><ref name="Ceres"/><br>
[https://github.com/pcayuela/Project-Oberon/tree/main/CERES%20Oberon%20V4/ASCII Project-Oberon at Sourceforge].
|85px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]].
|[https://www.research-collection.ethz.ch/handle/20.500.11850/68911 ''Oberon for PC on an MS-DOS Base''](PDF), [[Oberon/Bibliography#Dis93|Dis93]].
|README.TXT for System 3, Release 2.0 at [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ Sourceforge].<br>
At [https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github].
|85px}}
{{b:User:PeterEasthope/ThreeBoxes
|Any system compatible with the included PAL library.<ref name="PAL"/>
|Cross-platform ETH Oberon, System 3.<ref name="Oberon"/>
|[https://github.com/rochus-keller/OberonSystem3/ Github].<ref name="PrecompiledCrossPlatformOberon"/>
|50px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:ARM_architecture_family#32-bit_architecture|ARMv7]] as in the [[w:Raspberry_Pi#Flagship_series|Raspberry Pi 2B]].
|QEMU image and software operable on various Raspberry Pi machines.
|[https://github.com/rochus-keller/OberonSystem3Native/releases/tag/2026-04-02 Github].
|80px}}
==Source Texts in [https://cseweb.ucsd.edu/~wgg/CSE131B/oberon2.htm Oberon-2]==
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| colspan="4" align="center" | Presentation as a table 
|-
! colspan="4" align="center" <!-- style="border-top: solid 2px" --> | Source Texts in [https://cseweb.ucsd.edu/~wgg/CSE131B/oberon2.htm Oberon-2]
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|- <div id="ETHO"></div>
|Bare [[w:X86|X86 PC]]<ref name="Transmeta"/>
| [[Oberon/ETH Oberon|ETH Oberon]], formerly System 3, PC-Native Oberon.<br />[[w:Oberon_(operating_system)#Native_Oberon| Wikipedia]]
| align="center" | [https://sourceforge.net/projects/nativeoberon/files/nativeoberon/ SourceForge]
| align="left" | [[Oberon/ETH Oberon/install|ETHZ, actual diskettes]]<br>
[[Oberon/ETH_Oberon/QEMUinstall|Hypervisor using diskette images]].<br>
[https://www.youtube.com/watch?v=Do2O1yFrnos Oberon Tutorials] at YouTube<ref name="YouTube"/>
|-
| [[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| DOS Oberon System3, Version 2.0, [[Oberon/Bibliography#Dis93|Dis93]]<ref name="DOS"/>
| align="center" | [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge]<br />[https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| align="center" | [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/README.TXT/download SourceForge]<br />[https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github]
|-
| X86 PC with MS Windows
| ETH Oberon for Windows<ref name="Windows"/>
| align="center" | [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT Github]<ref name="Win95NT"/>
| align="center" | [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT/PlugIn readme.txt]
|-
| HP Alpha [aka DEC AXP] with OpenVMS
| [http://www.modulaware.com/mwovms.htm 64 bit (Linz-)Oberon System], [[Oberon/Linz Oberon, V4|V4]]
| align="center" | [http://www.modulaware.com/zel/aos/ modulaware.com]
| align="center" | [http://www.modulaware.com/zel/aos/ OpenVMS Alpha]
|-
| X86, ARM, ARMv7,<br>[[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] with Linux
| [http://oberon.wikidot.com/oberon-linux-revival-olr Oberon Linux Revival, OLR]<ref name="OLR"/>
| colspan="2" align="center" | [http://oberon.wikidot.com/ P. Matthias]
|-
| X86 PC with Linux, UltraSPARC with Solaris or Sun3 with SunOS
| [http://www.mathematik.uni-ulm.de/oberon/ Ulm Oberon]
| colspan="2" align="center" | [http://www.mathematik.uni-ulm.de/oberon/ulm.html HTML page] and manual pages in the downloads
|- <div id="V4"></div>
| X86 PC with various operating systems<ref name="Linz"/>
| [http://ssw.jku.at/Research/Projects/Oberon.html Linz-Oberon], [[Oberon/Linz Oberon, V4|V4]]
| align="center" | [http://olymp.idle.at/tanis/oberon.linux.html olymp.idle.at]<ref name="olymp"/> and [https://sourceforge.net/projects/oberon/files/ SourceForge]
| align="center" | [http://olymp.idle.at/~tanis/INSTALL INSTALL at olymp.idle.at]<br>[https://sourceforge.net/p/oberon/wiki/Home/ Wiki at Sourceforge]
|-
| X86 PC with Windows or with *nix and Wine
| [[w:BlackBox Component Builder|BlackBox Component Builder]], an [[w:Integrated_development_environment|IDE]] for [[w:Component_Pascal|Component Pascal]]
<!-- | [[/BB/]] -->
| colspan="2" align="center" | [https://github.com/BlackBoxCenter BB Component Builder download].
|-
| [[w:Common Language Infrastructure|.NET and CLI]]
| [[w:Component_Pascal|Gardens Point Component Pascal, GPCP]] application for .NET and CLI<ref name="GPCP"/>
| colspan="2" align="center" | [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
|-
| [[w:Java Virtual Machine|JVM]]
| [[w:Component_Pascal|Gardens Point Component Pascal]] application for JVM<ref name="GPCP"/>
| colspan="2" align="center" | [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
|-
| [[w:Linux|Linux]]-[[w:IA-32|386]], [[w:Raspberry_Pi_OS|Rasbian]], [[w:Microsoft_Windows|Windows]]
| Ofront Oberon to C translator
| colspan="2" align="center" | Josef Templ, [https://github.com/jtempl/ofront/ github]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://ecs.openbrace.org/ Eigen Compiler Suite]
| align="center" | [https://ecs.openbrace.org/releases/ Releases]
| align="center" | [https://ecs.openbrace.org/manual User Manual]
|-
| Subsystem for Blackbox
| Ofront+ Oberon to C translator
| align="center" | various Oberon dialects
| colspan="2" align="center" | [https://github.com/Oleg-N-Cher/OfrontPlus/ github]
|}
{{User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{User:PeterEasthope/ThreeBoxes
|1=Bare [[w:X86|X86 PC]]<ref name="Transmeta"/>
|2=[[Oberon/ETH Oberon|ETH Oberon]], formerly System 3, PC-Native Oberon. [[w:Oberon_(operating_system)#Native_Oberon|Wikipedia]] 
|3=[https://sourceforge.net/projects/nativeoberon/files/nativeoberon/ SourceForge]. [[Oberon/ETH_Oberon/install|ETHZ, real diskettes]]. [[Oberon/ETH_Oberon/QEMUinstall|Hypervisor with diskette images]]. [https://www.youtube.com/watch?v=Do2O1yFrnos Oberon Tutorials at YouTube]<ref name="YouTube"/>
|4=90px}}
{{User:PeterEasthope/ThreeBoxes
| [[w:X86|X86 PC]] with [[w:MS-DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| DOS Oberon System3, Version 2.0, [[Oberon/Bibliography#Dis93|Dis93]]<ref name="DOS"/>
| [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge] and [https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| 50px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with MS Windows
| ETH Oberon for Windows<ref name="Windows"/>
| [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT Github]<ref name="Win95NT"/> including [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT/PlugIn readme.txt].
| 25px}}
{{b:User:PeterEasthope/ThreeBoxes
| HP Alpha [aka DEC AXP] with OpenVMS
| [http://www.modulaware.com/mwovms.htm 64 bit (Linz-)Oberon System], [[Oberon/Linz Oberon, V4|V4]]
| [http://www.modulaware.com/zel/aos/ modulaware.com, OpenVMS Alpha]
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86, ARM, ARMv7,<br>[[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] with Linux
| [http://oberon.wikidot.com/oberon-linux-revival-olr Oberon Linux Revival, OLR]<ref name="OLR"/>
| [http://oberon.wikidot.com/ P. Matthias]
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Linux, UltraSPARC with Solaris or Sun3 with SunOS
| [http://www.mathematik.uni-ulm.de/oberon/ Ulm Oberon]
| [http://www.mathematik.uni-ulm.de/oberon/ulm.html HTML page] and manual pages in the downloads
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with various operating systems<ref name="Linz"/>
| [http://ssw.jku.at/Research/Projects/Oberon.html Linz-Oberon], [[Oberon/Linz Oberon, V4|V4]]
| [http://olymp.idle.at/tanis/oberon.linux.html olymp.idle.at]<ref name="olymp"/>. [https://sourceforge.net/projects/oberon/files/ SourceForge]. [http://olymp.idle.at/~tanis/INSTALL INSTALL at olymp.idle.at]. [https://sourceforge.net/p/oberon/wiki/Home/ Wiki at Sourceforge]
| 65px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Windows or with *nix and Wine
| [[w:BlackBox Component Builder|BlackBox Component Builder]], an [[w:Integrated_development_environment|IDE]] for [[w:Component_Pascal|Component Pascal]].
| [https://github.com/BlackBoxCenter BB Component Builder download].
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Common Language Infrastructure|.NET and CLI]]
| [[w:Component_Pascal|Gardens Point Component Pascal, GPCP]] application for .NET and CLI<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github]<br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 65px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Java Virtual Machine|JVM]]
| [[w:Component_Pascal|Gardens Point Component Pascal]] application for JVM<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]]-[[w:IA-32|386]], [[w:Raspberry_Pi_OS|Rasbian]], [[w:Microsoft_Windows|Windows]]
| Ofront Oberon to C translator
| Josef Templ, [https://github.com/jtempl/ofront/ github]
| 25px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://ecs.openbrace.org/ Eigen Compiler Suite]
| [https://ecs.openbrace.org/releases/ Releases] and [https://ecs.openbrace.org/manual User Manual].
| 25px}}
{{b:User:PeterEasthope/ThreeBoxes
| Subsystem for Blackbox
| Ofront+ Oberon to C translator
| [https://github.com/Oleg-N-Cher/OfrontPlus/ OfrontPlus at github] for various Oberon dialects.
| 45px}}
==Source Texts in [https://gitlab.inf.ethz.ch/felixf/oberon/-/tree/main/docu Active Oberon]==
{| role="presentation" class="wikitable mw-collapsible <!-- mw-collapsed -->"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|- <div id="A2"></div>
| Bare [[w:X86|X86 PC]].
| [[Oberon/A2|A2 = AOS = Bluebottle]],<br />[[w:Bluebottle_OS|Bluebottle in Wikipedia]].
| align="center" | [https://sourceforge.net/projects/a2oberon/files/ SourceForge].
| align="center" | [[Oberon/A2#The_A2_Repository|Contemporary instructions]].<ref name="portability"/>
|-
| X86 PC with Solaris,<br>Linux or MacOSX (Darwin).
| [[Oberon/A2#Installing_and_Running_UnixAOS|UnixAos = UnixA2]].
| align="center" | [http://www.informatik.uni-bremen.de/~fld/UnixAos/ Uni-Bremen, G. Feldmann].
| align="center" | [http://www.informatik.uni-bremen.de/~fld/UnixAos/Readme.txt Uni-Bremen, G. Feldmann]
|-
| X86 PC with A2 or UnixA2 or WinA2.
| [[Oberon/A2#Oberon_Subsystem|Oberon subsystem of A2]].
| colspan="2" align="center" | Included in A2, UnixA2 and WinA2.
|-
|}
==Source Texts in [https://people.inf.ethz.ch/wirth/Oberon/index.html Oberon-07]==
{| role="presentation" class="wikitable mw-collapsible <!-- mw-collapsed -->"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|-
| id="V5" | [[w:Field-programmable_gate_array|FPGA]] [[w:Reduced_instruction_set_computer|RISC]]
| [[Oberon/V5|V5]],<br>[[w:Oberon_(operating_system)#Project_Oberon_2013|Oberon V5]] in Wikipedia
| colspan="2" align="center" | [https://www.inf.ethz.ch/personal/wirth/ N. Wirth]<br>[http://www.projectoberon.net/ P. Reed]
|-
| id="RISCemu" | [[Oberon/Android]], [[w:Linux|Linux]],<br>
[[w:MacOS|Mac OS X]], [[w:Unix|Unix]] or<br>
[[w:Windows_NT|MS Windows]] on a wide variety of machines<ref name="RISCemuRequirements"/>
| RISC Emulator written in C.
| align="center" colspan="2" rowspan="2" | [https://github.com/pdewacht/oberon-risc-emu P. De Wachter]
|-
| Unix command line
| Norebo<ref name="norebo"/>
<!-- | colspan="2" align="center" | [https://github.com/pdewacht/project-norebo P. De Wachter] -->
|-
| <span id="ExtendedOberon"><span/> | Oberon [[w:Reduced_instruction_set_computer|RISC]] processor or emulation of it<ref name="ExtOberonFootnote"/>
| [[Oberon/Extended_Oberon|Extended Oberon]]
| colspan="2" align="center" | A. Pirklbauer<br>[https://github.com/andreaspirklbauer/Oberon-extended/blob/master/README.md README] [https://github.com/andreaspirklbauer/Oberon-extended/blob/master/Documentation/ Documentation]<br>[https://github.com/andreaspirklbauer/Oberon-extended Oberon{{nbhyph}}extended]<ref name="ExtOberonName"/><br>[https://github.com/andreaspirklbauer/Oberon-retro-compiler Oberon-retro-compiler]
|-
| [[w:Web_browser|Web browser]]
| Emulator written in [[w:JavaScript|JavaScript]].
| rowspan="2" colspan="2" align="center" | [https://github.com/schierlm/OberonEmulator/ Michael Schierl]
|-
| [[w:Web_browser|Web browser]]
| Emulator written in [[w:Java_(programming language)|Java]].
|-
| [[w:Linux|Linux]] or [[w:MacOS|Mac OS]]
| [https://github.com/io-core/io/ Integrated Oberon] with an emulator written in the [[w:Go_(programming_language)|Go programming language]].
| colspan="2" align="center" | [https://github.com/io-core/io/ Charles Perkins]
|-
| id="POL" | ARMv7, [[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] running Linux.
[[w:RISC-V|RISC-V]] running [[w:FreeRTOS|FreeRTOS]] on Sipeed M1s, Linux 32bit and Linux 64bit.
| Project Oberon Linux, POL;<br>Using native compiler and Linux Kernel functions.
| align="center" colspan="2" rowspan="2" | [http://oberon.wikidot.com/ P. Matthias]
|-
| rowspan="2" | [[w:Java Virtual Machine|JVM]]
|Project Oberon using oberonc compiler from L. Boasso
<!-- | colspan="2" |P. Matthias -->
|-
| [https://github.com/lboasso/oberonc Oberonc] compiler for Oberon-07.<ref name="TypeRules"/>
| colspan="2" align="center" | [https://github.com/io-core/io/ L. Boasso]
|-
| Any system capable of running QEMU
| [https://github.com/io-core/qemu-risc6 qemu-risc6] fork of QEMU
| colspan="2" align="center" | [https://github.com/io-core/ Charles Perkins].
|-
| Any system capable of running [https://github.com/aixp/ProjectOberon-BlackBox BlackBox Component Builder]
| Oberon-07 compiler written in Oberon-2.
| colspan="2" align="center" | [https://github.com/aixp/ProjectOberon-BlackBox Alexander V. Shiryaev]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://github.com/solbjorg/oberon-riscv-emu oberon-riscv-emu]
| align="center" colspan="2" rowspan="2" | [https://github.com/solbjorg/oberon-riscv-emu Rikke Solbjørg]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]] with [https://github.com/solbjorg/oberon-riscv-emu oberon-riscv-emu] or a bare [[w:RISC-V|RISC-V]] machine.
| [https://github.com/solbjorg/oberon-riscv oberon-riscv]
<!-- | colspan="2" align="center" | [https://github.com/solbjorg/oberon-riscv Rikke Solbjørg] -->
|}
{{Reflist|refs=
<ref name="Oberon">The Oberon language evolved through several variations including [https://people.inf.ethz.ch/wirth/Oberon/Oberon.Report.pdf Oberon-90] in which Cross-platform Oberon is written. The differences between the latest 1990 version of Oberon and the 1991 superset, Oberon-2, are explained in bibliography references [[Oberon/authors#M|Moe91]] and [[Oberon/authors#M|MoW91a]].</ref>
<ref name="HostEnvironment">In some cases the host environment is a bare machine. Otherwise it is a machine running another system.</ref>
<ref name="VCFE2024">[https://www.youtube.com/watch?v=cEdHiE-HoGE&t=2145s Presentation at VCFE 23.0], September 2024. Jump to 35:46.</ref>
<ref name="Ceres">Hypothetically a Ceres can also be built with [http://cpu-ns32k.net/Gilbert.html wire wrap].</ref>
<ref name="PrecompiledCrossPlatformOberon">Links to precompiled images for MS Windows, Linux and MacOS are at the bottom of the Github page.</ref>
<ref name="PAL">PAL = Platform Abstraction Layer written by Rochus Keller and included with Cross-platform Oberon. Precompiled systems are currently available for Linux x86 & x64, Mac M1 & x64 and Windows x86 & x64. Porting to another system is primarily porting the PAL library.</ref>
<ref name="Transmeta">Including the [[w:Transmeta_Crusoe|Transmeta Crusoe 5400]] and the [[w:StrongARM|StrongARM SA 110 and SA 1110]].</ref>
<ref name="YouTube">A PC can boot from an Oberon0 diskette in an internal drive. In that case installation of ETH Oberon can proceed directly without involvement of DOS. Part 2 in the series includes a helpful explanation of the user interface.</ref>
<ref name="DOS">Sources for [https://github.com/Project-Oberon/Source-Code/tree/main/DOS%20Oberon%20System%203%20Release%202.0 Release 2.0] are available. ASCII sources can be read with any contemporary editor. The Text sources should be read in an Oberon system; otherwise display by Linux gedit may be tolerable.</ref>
<ref name="Windows">Also referred to as "ETH Oberon Plugin for Windows" and "Spirit of Oberon System3 for Windows".</ref>
<ref name="Win95NT">A server at ftp://ftp.ssw.uni-linz.ac.at/ remains accessible to an FTP client and installation archives can be retrieved. The Firefox browser is unable to navigate into the subdirectories.</ref>
<ref name="OLR">Sources following ETH Oberon closely. Note "Current state ... network not working."</ref>
<ref name="Linz">V4 can also execute on obsolete systems [[w:Motorola_68000_series|680x0 MacIntosh]] and [[w:PowerMac|PowerMac]] with [[w:MacOS|MacOS]] to version 9 inclusive, [[w:Amiga|Amiga]], [[w:Atari_ST|Atari ST]], [[w:DECstation|DECstation]], [[w:HPUX|HP-UX]], [[w:IBM_RISC_Dystem/6000|IBM RS/6000]], [[w:SGI_IRIS|SGI IRIS]] and [[w:Sparc|SPARC]] with [[w:Solaris_(operating_system)|Solaris]]. Refer to [https://sourceforge.net/projects/oberon/ https://sourceforge.net/projects/oberon/] and [https://ssw.jku.at/Research/Projects/Oberon.html https://ssw.jku.at/Research/Projects/Oberon.html]. A native version has not been produced.</ref>
<ref name="olymp">olymp.idle.at has verion 1.7.02. The last version at JKU Linz is 1.5.</ref>
<ref name="GPCP">GPCP provides a compiler for Component Pascal; not a full Oberon subsystem.</ref>
<ref name="portability">During the summer of 2019 work was underway at the ETHZ to improve portability and other aspects. Until the work is completed, the user may encounter difficulties with the native variant of A2. The Oberon subsystem remains available in UnixA2 and WinA2. A notice was in the [http://lists.inf.ethz.ch/pipermail/oberon/ mailing list at 2019-07-03]. Patience is advised.</ref>
<ref name="RISCemuRequirements">The SDL2 library and a C99 capable C compiler are required. GCC or Clang suffice for compiling the emulator.</ref>
<ref name="norebo">A software allowing execution of an Oberon command without the Oberon system and interface. The Oberon compiler, for example, can be executed at the Unix command line.</ref>
<ref name="ExtOberonFootnote">Extended Oberon does not modify the RISC processor; it modifies only the Oberon system which runs on it.</ref>
<ref name="ExtOberonName">Nomenclature explained in the [https://lists.inf.ethz.ch/pipermail/oberon/2023/016552.html Oberon mailing list at 2023-01-18].</ref>
<ref name="TypeRules">The [https://github.com/lboasso/oberonc/blob/master/doc/TypeRules.md TypeRules document] is noteworthy. Specific aspects of [[w:Data_type|types]] are discussed in the [http://lists.inf.ethz.ch/pipermail/oberon/ mailing list] beginning at 2019-12-07.</ref>
}}
<br>
{{center|[[Oberon/Naming|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">← Naming</span>]] [[Oberon|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">↑ Oberon front page</span>]] [[Oberon/Licenses|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">Licenses →</span>]]}}
{{BookCat}}
p278tld4go91g8fpqe9i6s64bo4udws
4639913
4639912
2026-06-11T14:13:16Z
PeterEasthope
660399
/* Source Texts in Active Oberon */ Replaced the link to Readme.txt for UnixAos.
4639913
wikitext
text/x-wiki
{{center|[[Oberon/Naming|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">← Naming</span>]] [[Oberon|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">↑ Oberon front page</span>]] [[Oberon/Licenses|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">Licenses →</span>]]}}
<br>
The Oberon system runs directly on several machine architectures and as a subsystem in several host [[w:Operating system|operating systems]]. Order of rows is approximately chronological. For each variant (row), a link in the second column leads to additional information.
<div id="VariantsTable"></div>
==Source Texts in [[Oberon/oreport|Oberon]]<ref name="Oberon"/>==
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|-
| [[w:Ceres_(workstation)|Ceres workstation]]<br>
[http://www.computerhistory.org/collections/catalog/X2321.2002A preserved Ceres]<br>
[http://www.computerhistory.org/collections/catalog/102674736 preserved Ceres]<br>
[http://www.computerhistory.org/collections/catalog/102722173 photo of Ceres 1]<br>
[[w:Field-programmable_gate_array|FPGA]] based [https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=165&No=830#contents Cyclone V GX].
| [[w:Oberon_(operating_system)|The Oberon System]]<br>[[Oberon/The Oberon System, V1 and V2|V1 and V2]]
| colspan="2" align="center" | [http://www.cpu-ns32k.net/Oberon.html Notes about Oberon] and [http://www.cpu-ns32k.net/Ceres.html implementation of Ceres]<!-- <br>by Udo Möller, 2023-25. --><ref name="VCFE2024"/><ref name="Ceres"/><br>[https://github.com/pcayuela/Project-Oberon/tree/main/CERES%20Oberon%20V4/ASCII Project-Oberon at Sourceforge]<br>[https://bitsavers.org/ETH https://bitsavers.org/ETH]
|-
| [[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| [https://www.research-collection.ethz.ch/handle/20.500.11850/68911 ''Oberon for PC on an MS-DOS Base''](PDF), [[Oberon/Bibliography#Dis93|Dis93]]
| align="center" | [https://sourceforge.net/projects/dosoberon/files/ Sourceforge]<br>[https://github.com/Classic-Tools/DOSOberon Github]
| align="center" | README.TXT for System 3, Release 2.0 at [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ Sourceforge],<br>and at [https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github]
|-
| Any system compatible with the included PAL library<ref name="PAL"/>
| Cross-platform ETH Oberon, System 3<ref name="Oberon"/>
| colspan="2" align="center" | [https://github.com/rochus-keller/OberonSystem3/ github]<ref name="PrecompiledCrossPlatformOberon"/>
|-
|[[w:ARM_architecture_family#32-bit_architecture|ARMv7]] as in the [[w:Raspberry_Pi#Flagship_series|Raspberry Pi 2B]].
|QEMU image and software operable on various Raspberry Pi machines.
| colspan="2" align="center" | [https://github.com/rochus-keller/OberonSystem3Native/releases/tag/2026-04-02 Github].
|}
{{b:User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:Ceres_(workstation)|Ceres workstation]].<br>
[http://www.computerhistory.org/collections/catalog/X2321.2002A Preserved Ceres].<br>
[http://www.computerhistory.org/collections/catalog/102674736 Preserved Ceres].
|[[w:Oberon_(operating_system)|The Oberon System]],<br>
[[Oberon/The Oberon System, V1 and V2|V1 and V2]].
|[http://www.cpu-ns32k.net/Oberon.html Notes about Oberon] and [http://www.cpu-ns32k.net/Ceres.html implementation of Ceres].<ref name="VCFE2024"/><ref name="Ceres"/><br>
[https://github.com/pcayuela/Project-Oberon/tree/main/CERES%20Oberon%20V4/ASCII Project-Oberon at Sourceforge].
|85px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]].
|[https://www.research-collection.ethz.ch/handle/20.500.11850/68911 ''Oberon for PC on an MS-DOS Base''](PDF), [[Oberon/Bibliography#Dis93|Dis93]].
|README.TXT for System 3, Release 2.0 at [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ Sourceforge].<br>
At [https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github].
|85px}}
{{b:User:PeterEasthope/ThreeBoxes
|Any system compatible with the included PAL library.<ref name="PAL"/>
|Cross-platform ETH Oberon, System 3.<ref name="Oberon"/>
|[https://github.com/rochus-keller/OberonSystem3/ Github].<ref name="PrecompiledCrossPlatformOberon"/>
|50px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:ARM_architecture_family#32-bit_architecture|ARMv7]] as in the [[w:Raspberry_Pi#Flagship_series|Raspberry Pi 2B]].
|QEMU image and software operable on various Raspberry Pi machines.
|[https://github.com/rochus-keller/OberonSystem3Native/releases/tag/2026-04-02 Github].
|80px}}
==Source Texts in [https://cseweb.ucsd.edu/~wgg/CSE131B/oberon2.htm Oberon-2]==
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| colspan="4" align="center" | Presentation as a table 
|-
! colspan="4" align="center" <!-- style="border-top: solid 2px" --> | Source Texts in [https://cseweb.ucsd.edu/~wgg/CSE131B/oberon2.htm Oberon-2]
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|- <div id="ETHO"></div>
|Bare [[w:X86|X86 PC]]<ref name="Transmeta"/>
| [[Oberon/ETH Oberon|ETH Oberon]], formerly System 3, PC-Native Oberon.<br />[[w:Oberon_(operating_system)#Native_Oberon| Wikipedia]]
| align="center" | [https://sourceforge.net/projects/nativeoberon/files/nativeoberon/ SourceForge]
| align="left" | [[Oberon/ETH Oberon/install|ETHZ, actual diskettes]]<br>
[[Oberon/ETH_Oberon/QEMUinstall|Hypervisor using diskette images]].<br>
[https://www.youtube.com/watch?v=Do2O1yFrnos Oberon Tutorials] at YouTube<ref name="YouTube"/>
|-
| [[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| DOS Oberon System3, Version 2.0, [[Oberon/Bibliography#Dis93|Dis93]]<ref name="DOS"/>
| align="center" | [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge]<br />[https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| align="center" | [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/README.TXT/download SourceForge]<br />[https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github]
|-
| X86 PC with MS Windows
| ETH Oberon for Windows<ref name="Windows"/>
| align="center" | [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT Github]<ref name="Win95NT"/>
| align="center" | [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT/PlugIn readme.txt]
|-
| HP Alpha [aka DEC AXP] with OpenVMS
| [http://www.modulaware.com/mwovms.htm 64 bit (Linz-)Oberon System], [[Oberon/Linz Oberon, V4|V4]]
| align="center" | [http://www.modulaware.com/zel/aos/ modulaware.com]
| align="center" | [http://www.modulaware.com/zel/aos/ OpenVMS Alpha]
|-
| X86, ARM, ARMv7,<br>[[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] with Linux
| [http://oberon.wikidot.com/oberon-linux-revival-olr Oberon Linux Revival, OLR]<ref name="OLR"/>
| colspan="2" align="center" | [http://oberon.wikidot.com/ P. Matthias]
|-
| X86 PC with Linux, UltraSPARC with Solaris or Sun3 with SunOS
| [http://www.mathematik.uni-ulm.de/oberon/ Ulm Oberon]
| colspan="2" align="center" | [http://www.mathematik.uni-ulm.de/oberon/ulm.html HTML page] and manual pages in the downloads
|- <div id="V4"></div>
| X86 PC with various operating systems<ref name="Linz"/>
| [http://ssw.jku.at/Research/Projects/Oberon.html Linz-Oberon], [[Oberon/Linz Oberon, V4|V4]]
| align="center" | [http://olymp.idle.at/tanis/oberon.linux.html olymp.idle.at]<ref name="olymp"/> and [https://sourceforge.net/projects/oberon/files/ SourceForge]
| align="center" | [http://olymp.idle.at/~tanis/INSTALL INSTALL at olymp.idle.at]<br>[https://sourceforge.net/p/oberon/wiki/Home/ Wiki at Sourceforge]
|-
| X86 PC with Windows or with *nix and Wine
| [[w:BlackBox Component Builder|BlackBox Component Builder]], an [[w:Integrated_development_environment|IDE]] for [[w:Component_Pascal|Component Pascal]]
<!-- | [[/BB/]] -->
| colspan="2" align="center" | [https://github.com/BlackBoxCenter BB Component Builder download].
|-
| [[w:Common Language Infrastructure|.NET and CLI]]
| [[w:Component_Pascal|Gardens Point Component Pascal, GPCP]] application for .NET and CLI<ref name="GPCP"/>
| colspan="2" align="center" | [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
|-
| [[w:Java Virtual Machine|JVM]]
| [[w:Component_Pascal|Gardens Point Component Pascal]] application for JVM<ref name="GPCP"/>
| colspan="2" align="center" | [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
|-
| [[w:Linux|Linux]]-[[w:IA-32|386]], [[w:Raspberry_Pi_OS|Rasbian]], [[w:Microsoft_Windows|Windows]]
| Ofront Oberon to C translator
| colspan="2" align="center" | Josef Templ, [https://github.com/jtempl/ofront/ github]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://ecs.openbrace.org/ Eigen Compiler Suite]
| align="center" | [https://ecs.openbrace.org/releases/ Releases]
| align="center" | [https://ecs.openbrace.org/manual User Manual]
|-
| Subsystem for Blackbox
| Ofront+ Oberon to C translator
| align="center" | various Oberon dialects
| colspan="2" align="center" | [https://github.com/Oleg-N-Cher/OfrontPlus/ github]
|}
{{User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{User:PeterEasthope/ThreeBoxes
|1=Bare [[w:X86|X86 PC]]<ref name="Transmeta"/>
|2=[[Oberon/ETH Oberon|ETH Oberon]], formerly System 3, PC-Native Oberon. [[w:Oberon_(operating_system)#Native_Oberon|Wikipedia]] 
|3=[https://sourceforge.net/projects/nativeoberon/files/nativeoberon/ SourceForge]. [[Oberon/ETH_Oberon/install|ETHZ, real diskettes]]. [[Oberon/ETH_Oberon/QEMUinstall|Hypervisor with diskette images]]. [https://www.youtube.com/watch?v=Do2O1yFrnos Oberon Tutorials at YouTube]<ref name="YouTube"/>
|4=90px}}
{{User:PeterEasthope/ThreeBoxes
| [[w:X86|X86 PC]] with [[w:MS-DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| DOS Oberon System3, Version 2.0, [[Oberon/Bibliography#Dis93|Dis93]]<ref name="DOS"/>
| [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge] and [https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| 50px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with MS Windows
| ETH Oberon for Windows<ref name="Windows"/>
| [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT Github]<ref name="Win95NT"/> including [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT/PlugIn readme.txt].
| 25px}}
{{b:User:PeterEasthope/ThreeBoxes
| HP Alpha [aka DEC AXP] with OpenVMS
| [http://www.modulaware.com/mwovms.htm 64 bit (Linz-)Oberon System], [[Oberon/Linz Oberon, V4|V4]]
| [http://www.modulaware.com/zel/aos/ modulaware.com, OpenVMS Alpha]
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86, ARM, ARMv7,<br>[[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] with Linux
| [http://oberon.wikidot.com/oberon-linux-revival-olr Oberon Linux Revival, OLR]<ref name="OLR"/>
| [http://oberon.wikidot.com/ P. Matthias]
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Linux, UltraSPARC with Solaris or Sun3 with SunOS
| [http://www.mathematik.uni-ulm.de/oberon/ Ulm Oberon]
| [http://www.mathematik.uni-ulm.de/oberon/ulm.html HTML page] and manual pages in the downloads
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with various operating systems<ref name="Linz"/>
| [http://ssw.jku.at/Research/Projects/Oberon.html Linz-Oberon], [[Oberon/Linz Oberon, V4|V4]]
| [http://olymp.idle.at/tanis/oberon.linux.html olymp.idle.at]<ref name="olymp"/>. [https://sourceforge.net/projects/oberon/files/ SourceForge]. [http://olymp.idle.at/~tanis/INSTALL INSTALL at olymp.idle.at]. [https://sourceforge.net/p/oberon/wiki/Home/ Wiki at Sourceforge]
| 65px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Windows or with *nix and Wine
| [[w:BlackBox Component Builder|BlackBox Component Builder]], an [[w:Integrated_development_environment|IDE]] for [[w:Component_Pascal|Component Pascal]].
| [https://github.com/BlackBoxCenter BB Component Builder download].
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Common Language Infrastructure|.NET and CLI]]
| [[w:Component_Pascal|Gardens Point Component Pascal, GPCP]] application for .NET and CLI<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github]<br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 65px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Java Virtual Machine|JVM]]
| [[w:Component_Pascal|Gardens Point Component Pascal]] application for JVM<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]]-[[w:IA-32|386]], [[w:Raspberry_Pi_OS|Rasbian]], [[w:Microsoft_Windows|Windows]]
| Ofront Oberon to C translator
| Josef Templ, [https://github.com/jtempl/ofront/ github]
| 25px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://ecs.openbrace.org/ Eigen Compiler Suite]
| [https://ecs.openbrace.org/releases/ Releases] and [https://ecs.openbrace.org/manual User Manual].
| 25px}}
{{b:User:PeterEasthope/ThreeBoxes
| Subsystem for Blackbox
| Ofront+ Oberon to C translator
| [https://github.com/Oleg-N-Cher/OfrontPlus/ OfrontPlus at github] for various Oberon dialects.
| 45px}}
==Source Texts in [https://gitlab.inf.ethz.ch/felixf/oberon/-/tree/main/docu Active Oberon]==
{| role="presentation" class="wikitable mw-collapsible <!-- mw-collapsed -->"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|- <div id="A2"></div>
| Bare [[w:X86|X86 PC]].
| [[Oberon/A2|A2 = AOS = Bluebottle]],<br />[[w:Bluebottle_OS|Bluebottle in Wikipedia]].
| align="center" | [https://sourceforge.net/projects/a2oberon/files/ SourceForge].
| align="center" | [[Oberon/A2#The_A2_Repository|Contemporary instructions]].<ref name="portability"/>
|-
| X86 PC with Solaris,<br>Linux or MacOSX (Darwin).
| [[Oberon/A2#Installing_and_Running_UnixAOS|UnixAos = UnixA2]].
| align="center" | [http://www.informatik.uni-bremen.de/~fld/UnixAos/ Uni-Bremen, G. Feldmann].
| align="center" | [http://www.informatik.uni-bremen.de/~fld/UnixAos/Readme.txt Readme.txt].
|-
| X86 PC with A2 or UnixA2 or WinA2.
| [[Oberon/A2#Oberon_Subsystem|Oberon subsystem of A2]].
| colspan="2" align="center" | Included in A2, UnixA2 and WinA2.
|-
|}
==Source Texts in [https://people.inf.ethz.ch/wirth/Oberon/index.html Oberon-07]==
{| role="presentation" class="wikitable mw-collapsible <!-- mw-collapsed -->"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|-
| id="V5" | [[w:Field-programmable_gate_array|FPGA]] [[w:Reduced_instruction_set_computer|RISC]]
| [[Oberon/V5|V5]],<br>[[w:Oberon_(operating_system)#Project_Oberon_2013|Oberon V5]] in Wikipedia
| colspan="2" align="center" | [https://www.inf.ethz.ch/personal/wirth/ N. Wirth]<br>[http://www.projectoberon.net/ P. Reed]
|-
| id="RISCemu" | [[Oberon/Android]], [[w:Linux|Linux]],<br>
[[w:MacOS|Mac OS X]], [[w:Unix|Unix]] or<br>
[[w:Windows_NT|MS Windows]] on a wide variety of machines<ref name="RISCemuRequirements"/>
| RISC Emulator written in C.
| align="center" colspan="2" rowspan="2" | [https://github.com/pdewacht/oberon-risc-emu P. De Wachter]
|-
| Unix command line
| Norebo<ref name="norebo"/>
<!-- | colspan="2" align="center" | [https://github.com/pdewacht/project-norebo P. De Wachter] -->
|-
| <span id="ExtendedOberon"><span/> | Oberon [[w:Reduced_instruction_set_computer|RISC]] processor or emulation of it<ref name="ExtOberonFootnote"/>
| [[Oberon/Extended_Oberon|Extended Oberon]]
| colspan="2" align="center" | A. Pirklbauer<br>[https://github.com/andreaspirklbauer/Oberon-extended/blob/master/README.md README] [https://github.com/andreaspirklbauer/Oberon-extended/blob/master/Documentation/ Documentation]<br>[https://github.com/andreaspirklbauer/Oberon-extended Oberon{{nbhyph}}extended]<ref name="ExtOberonName"/><br>[https://github.com/andreaspirklbauer/Oberon-retro-compiler Oberon-retro-compiler]
|-
| [[w:Web_browser|Web browser]]
| Emulator written in [[w:JavaScript|JavaScript]].
| rowspan="2" colspan="2" align="center" | [https://github.com/schierlm/OberonEmulator/ Michael Schierl]
|-
| [[w:Web_browser|Web browser]]
| Emulator written in [[w:Java_(programming language)|Java]].
|-
| [[w:Linux|Linux]] or [[w:MacOS|Mac OS]]
| [https://github.com/io-core/io/ Integrated Oberon] with an emulator written in the [[w:Go_(programming_language)|Go programming language]].
| colspan="2" align="center" | [https://github.com/io-core/io/ Charles Perkins]
|-
| id="POL" | ARMv7, [[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] running Linux.
[[w:RISC-V|RISC-V]] running [[w:FreeRTOS|FreeRTOS]] on Sipeed M1s, Linux 32bit and Linux 64bit.
| Project Oberon Linux, POL;<br>Using native compiler and Linux Kernel functions.
| align="center" colspan="2" rowspan="2" | [http://oberon.wikidot.com/ P. Matthias]
|-
| rowspan="2" | [[w:Java Virtual Machine|JVM]]
|Project Oberon using oberonc compiler from L. Boasso
<!-- | colspan="2" |P. Matthias -->
|-
| [https://github.com/lboasso/oberonc Oberonc] compiler for Oberon-07.<ref name="TypeRules"/>
| colspan="2" align="center" | [https://github.com/io-core/io/ L. Boasso]
|-
| Any system capable of running QEMU
| [https://github.com/io-core/qemu-risc6 qemu-risc6] fork of QEMU
| colspan="2" align="center" | [https://github.com/io-core/ Charles Perkins].
|-
| Any system capable of running [https://github.com/aixp/ProjectOberon-BlackBox BlackBox Component Builder]
| Oberon-07 compiler written in Oberon-2.
| colspan="2" align="center" | [https://github.com/aixp/ProjectOberon-BlackBox Alexander V. Shiryaev]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://github.com/solbjorg/oberon-riscv-emu oberon-riscv-emu]
| align="center" colspan="2" rowspan="2" | [https://github.com/solbjorg/oberon-riscv-emu Rikke Solbjørg]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]] with [https://github.com/solbjorg/oberon-riscv-emu oberon-riscv-emu] or a bare [[w:RISC-V|RISC-V]] machine.
| [https://github.com/solbjorg/oberon-riscv oberon-riscv]
<!-- | colspan="2" align="center" | [https://github.com/solbjorg/oberon-riscv Rikke Solbjørg] -->
|}
{{Reflist|refs=
<ref name="Oberon">The Oberon language evolved through several variations including [https://people.inf.ethz.ch/wirth/Oberon/Oberon.Report.pdf Oberon-90] in which Cross-platform Oberon is written. The differences between the latest 1990 version of Oberon and the 1991 superset, Oberon-2, are explained in bibliography references [[Oberon/authors#M|Moe91]] and [[Oberon/authors#M|MoW91a]].</ref>
<ref name="HostEnvironment">In some cases the host environment is a bare machine. Otherwise it is a machine running another system.</ref>
<ref name="VCFE2024">[https://www.youtube.com/watch?v=cEdHiE-HoGE&t=2145s Presentation at VCFE 23.0], September 2024. Jump to 35:46.</ref>
<ref name="Ceres">Hypothetically a Ceres can also be built with [http://cpu-ns32k.net/Gilbert.html wire wrap].</ref>
<ref name="PrecompiledCrossPlatformOberon">Links to precompiled images for MS Windows, Linux and MacOS are at the bottom of the Github page.</ref>
<ref name="PAL">PAL = Platform Abstraction Layer written by Rochus Keller and included with Cross-platform Oberon. Precompiled systems are currently available for Linux x86 & x64, Mac M1 & x64 and Windows x86 & x64. Porting to another system is primarily porting the PAL library.</ref>
<ref name="Transmeta">Including the [[w:Transmeta_Crusoe|Transmeta Crusoe 5400]] and the [[w:StrongARM|StrongARM SA 110 and SA 1110]].</ref>
<ref name="YouTube">A PC can boot from an Oberon0 diskette in an internal drive. In that case installation of ETH Oberon can proceed directly without involvement of DOS. Part 2 in the series includes a helpful explanation of the user interface.</ref>
<ref name="DOS">Sources for [https://github.com/Project-Oberon/Source-Code/tree/main/DOS%20Oberon%20System%203%20Release%202.0 Release 2.0] are available. ASCII sources can be read with any contemporary editor. The Text sources should be read in an Oberon system; otherwise display by Linux gedit may be tolerable.</ref>
<ref name="Windows">Also referred to as "ETH Oberon Plugin for Windows" and "Spirit of Oberon System3 for Windows".</ref>
<ref name="Win95NT">A server at ftp://ftp.ssw.uni-linz.ac.at/ remains accessible to an FTP client and installation archives can be retrieved. The Firefox browser is unable to navigate into the subdirectories.</ref>
<ref name="OLR">Sources following ETH Oberon closely. Note "Current state ... network not working."</ref>
<ref name="Linz">V4 can also execute on obsolete systems [[w:Motorola_68000_series|680x0 MacIntosh]] and [[w:PowerMac|PowerMac]] with [[w:MacOS|MacOS]] to version 9 inclusive, [[w:Amiga|Amiga]], [[w:Atari_ST|Atari ST]], [[w:DECstation|DECstation]], [[w:HPUX|HP-UX]], [[w:IBM_RISC_Dystem/6000|IBM RS/6000]], [[w:SGI_IRIS|SGI IRIS]] and [[w:Sparc|SPARC]] with [[w:Solaris_(operating_system)|Solaris]]. Refer to [https://sourceforge.net/projects/oberon/ https://sourceforge.net/projects/oberon/] and [https://ssw.jku.at/Research/Projects/Oberon.html https://ssw.jku.at/Research/Projects/Oberon.html]. A native version has not been produced.</ref>
<ref name="olymp">olymp.idle.at has verion 1.7.02. The last version at JKU Linz is 1.5.</ref>
<ref name="GPCP">GPCP provides a compiler for Component Pascal; not a full Oberon subsystem.</ref>
<ref name="portability">During the summer of 2019 work was underway at the ETHZ to improve portability and other aspects. Until the work is completed, the user may encounter difficulties with the native variant of A2. The Oberon subsystem remains available in UnixA2 and WinA2. A notice was in the [http://lists.inf.ethz.ch/pipermail/oberon/ mailing list at 2019-07-03]. Patience is advised.</ref>
<ref name="RISCemuRequirements">The SDL2 library and a C99 capable C compiler are required. GCC or Clang suffice for compiling the emulator.</ref>
<ref name="norebo">A software allowing execution of an Oberon command without the Oberon system and interface. The Oberon compiler, for example, can be executed at the Unix command line.</ref>
<ref name="ExtOberonFootnote">Extended Oberon does not modify the RISC processor; it modifies only the Oberon system which runs on it.</ref>
<ref name="ExtOberonName">Nomenclature explained in the [https://lists.inf.ethz.ch/pipermail/oberon/2023/016552.html Oberon mailing list at 2023-01-18].</ref>
<ref name="TypeRules">The [https://github.com/lboasso/oberonc/blob/master/doc/TypeRules.md TypeRules document] is noteworthy. Specific aspects of [[w:Data_type|types]] are discussed in the [http://lists.inf.ethz.ch/pipermail/oberon/ mailing list] beginning at 2019-12-07.</ref>
}}
<br>
{{center|[[Oberon/Naming|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">← Naming</span>]] [[Oberon|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">↑ Oberon front page</span>]] [[Oberon/Licenses|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">Licenses →</span>]]}}
{{BookCat}}
1fif1nuvx4h1qsepisle6xaaztfenpl
4639918
4639913
2026-06-11T14:44:08Z
PeterEasthope
660399
/* Source Texts in Active Oberon */ Added the presentation as a list of rows.
4639918
wikitext
text/x-wiki
{{center|[[Oberon/Naming|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">← Naming</span>]] [[Oberon|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">↑ Oberon front page</span>]] [[Oberon/Licenses|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">Licenses →</span>]]}}
<br>
The Oberon system runs directly on several machine architectures and as a subsystem in several host [[w:Operating system|operating systems]]. Order of rows is approximately chronological. For each variant (row), a link in the second column leads to additional information.
<div id="VariantsTable"></div>
==Source Texts in [[Oberon/oreport|Oberon]]<ref name="Oberon"/>==
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|-
| [[w:Ceres_(workstation)|Ceres workstation]]<br>
[http://www.computerhistory.org/collections/catalog/X2321.2002A preserved Ceres]<br>
[http://www.computerhistory.org/collections/catalog/102674736 preserved Ceres]<br>
[http://www.computerhistory.org/collections/catalog/102722173 photo of Ceres 1]<br>
[[w:Field-programmable_gate_array|FPGA]] based [https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=165&No=830#contents Cyclone V GX].
| [[w:Oberon_(operating_system)|The Oberon System]]<br>[[Oberon/The Oberon System, V1 and V2|V1 and V2]]
| colspan="2" align="center" | [http://www.cpu-ns32k.net/Oberon.html Notes about Oberon] and [http://www.cpu-ns32k.net/Ceres.html implementation of Ceres]<!-- <br>by Udo Möller, 2023-25. --><ref name="VCFE2024"/><ref name="Ceres"/><br>[https://github.com/pcayuela/Project-Oberon/tree/main/CERES%20Oberon%20V4/ASCII Project-Oberon at Sourceforge]<br>[https://bitsavers.org/ETH https://bitsavers.org/ETH]
|-
| [[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| [https://www.research-collection.ethz.ch/handle/20.500.11850/68911 ''Oberon for PC on an MS-DOS Base''](PDF), [[Oberon/Bibliography#Dis93|Dis93]]
| align="center" | [https://sourceforge.net/projects/dosoberon/files/ Sourceforge]<br>[https://github.com/Classic-Tools/DOSOberon Github]
| align="center" | README.TXT for System 3, Release 2.0 at [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ Sourceforge],<br>and at [https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github]
|-
| Any system compatible with the included PAL library<ref name="PAL"/>
| Cross-platform ETH Oberon, System 3<ref name="Oberon"/>
| colspan="2" align="center" | [https://github.com/rochus-keller/OberonSystem3/ github]<ref name="PrecompiledCrossPlatformOberon"/>
|-
|[[w:ARM_architecture_family#32-bit_architecture|ARMv7]] as in the [[w:Raspberry_Pi#Flagship_series|Raspberry Pi 2B]].
|QEMU image and software operable on various Raspberry Pi machines.
| colspan="2" align="center" | [https://github.com/rochus-keller/OberonSystem3Native/releases/tag/2026-04-02 Github].
|}
{{b:User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:Ceres_(workstation)|Ceres workstation]].<br>
[http://www.computerhistory.org/collections/catalog/X2321.2002A Preserved Ceres].<br>
[http://www.computerhistory.org/collections/catalog/102674736 Preserved Ceres].
|[[w:Oberon_(operating_system)|The Oberon System]],<br>
[[Oberon/The Oberon System, V1 and V2|V1 and V2]].
|[http://www.cpu-ns32k.net/Oberon.html Notes about Oberon] and [http://www.cpu-ns32k.net/Ceres.html implementation of Ceres].<ref name="VCFE2024"/><ref name="Ceres"/><br>
[https://github.com/pcayuela/Project-Oberon/tree/main/CERES%20Oberon%20V4/ASCII Project-Oberon at Sourceforge].
|85px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]].
|[https://www.research-collection.ethz.ch/handle/20.500.11850/68911 ''Oberon for PC on an MS-DOS Base''](PDF), [[Oberon/Bibliography#Dis93|Dis93]].
|README.TXT for System 3, Release 2.0 at [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ Sourceforge].<br>
At [https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github].
|85px}}
{{b:User:PeterEasthope/ThreeBoxes
|Any system compatible with the included PAL library.<ref name="PAL"/>
|Cross-platform ETH Oberon, System 3.<ref name="Oberon"/>
|[https://github.com/rochus-keller/OberonSystem3/ Github].<ref name="PrecompiledCrossPlatformOberon"/>
|50px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:ARM_architecture_family#32-bit_architecture|ARMv7]] as in the [[w:Raspberry_Pi#Flagship_series|Raspberry Pi 2B]].
|QEMU image and software operable on various Raspberry Pi machines.
|[https://github.com/rochus-keller/OberonSystem3Native/releases/tag/2026-04-02 Github].
|80px}}
==Source Texts in [https://cseweb.ucsd.edu/~wgg/CSE131B/oberon2.htm Oberon-2]==
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| colspan="4" align="center" | Presentation as a table 
|-
! colspan="4" align="center" <!-- style="border-top: solid 2px" --> | Source Texts in [https://cseweb.ucsd.edu/~wgg/CSE131B/oberon2.htm Oberon-2]
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|- <div id="ETHO"></div>
|Bare [[w:X86|X86 PC]]<ref name="Transmeta"/>
| [[Oberon/ETH Oberon|ETH Oberon]], formerly System 3, PC-Native Oberon.<br />[[w:Oberon_(operating_system)#Native_Oberon| Wikipedia]]
| align="center" | [https://sourceforge.net/projects/nativeoberon/files/nativeoberon/ SourceForge]
| align="left" | [[Oberon/ETH Oberon/install|ETHZ, actual diskettes]]<br>
[[Oberon/ETH_Oberon/QEMUinstall|Hypervisor using diskette images]].<br>
[https://www.youtube.com/watch?v=Do2O1yFrnos Oberon Tutorials] at YouTube<ref name="YouTube"/>
|-
| [[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| DOS Oberon System3, Version 2.0, [[Oberon/Bibliography#Dis93|Dis93]]<ref name="DOS"/>
| align="center" | [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge]<br />[https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| align="center" | [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/README.TXT/download SourceForge]<br />[https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github]
|-
| X86 PC with MS Windows
| ETH Oberon for Windows<ref name="Windows"/>
| align="center" | [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT Github]<ref name="Win95NT"/>
| align="center" | [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT/PlugIn readme.txt]
|-
| HP Alpha [aka DEC AXP] with OpenVMS
| [http://www.modulaware.com/mwovms.htm 64 bit (Linz-)Oberon System], [[Oberon/Linz Oberon, V4|V4]]
| align="center" | [http://www.modulaware.com/zel/aos/ modulaware.com]
| align="center" | [http://www.modulaware.com/zel/aos/ OpenVMS Alpha]
|-
| X86, ARM, ARMv7,<br>[[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] with Linux
| [http://oberon.wikidot.com/oberon-linux-revival-olr Oberon Linux Revival, OLR]<ref name="OLR"/>
| colspan="2" align="center" | [http://oberon.wikidot.com/ P. Matthias]
|-
| X86 PC with Linux, UltraSPARC with Solaris or Sun3 with SunOS
| [http://www.mathematik.uni-ulm.de/oberon/ Ulm Oberon]
| colspan="2" align="center" | [http://www.mathematik.uni-ulm.de/oberon/ulm.html HTML page] and manual pages in the downloads
|- <div id="V4"></div>
| X86 PC with various operating systems<ref name="Linz"/>
| [http://ssw.jku.at/Research/Projects/Oberon.html Linz-Oberon], [[Oberon/Linz Oberon, V4|V4]]
| align="center" | [http://olymp.idle.at/tanis/oberon.linux.html olymp.idle.at]<ref name="olymp"/> and [https://sourceforge.net/projects/oberon/files/ SourceForge]
| align="center" | [http://olymp.idle.at/~tanis/INSTALL INSTALL at olymp.idle.at]<br>[https://sourceforge.net/p/oberon/wiki/Home/ Wiki at Sourceforge]
|-
| X86 PC with Windows or with *nix and Wine
| [[w:BlackBox Component Builder|BlackBox Component Builder]], an [[w:Integrated_development_environment|IDE]] for [[w:Component_Pascal|Component Pascal]]
<!-- | [[/BB/]] -->
| colspan="2" align="center" | [https://github.com/BlackBoxCenter BB Component Builder download].
|-
| [[w:Common Language Infrastructure|.NET and CLI]]
| [[w:Component_Pascal|Gardens Point Component Pascal, GPCP]] application for .NET and CLI<ref name="GPCP"/>
| colspan="2" align="center" | [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
|-
| [[w:Java Virtual Machine|JVM]]
| [[w:Component_Pascal|Gardens Point Component Pascal]] application for JVM<ref name="GPCP"/>
| colspan="2" align="center" | [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
|-
| [[w:Linux|Linux]]-[[w:IA-32|386]], [[w:Raspberry_Pi_OS|Rasbian]], [[w:Microsoft_Windows|Windows]]
| Ofront Oberon to C translator
| colspan="2" align="center" | Josef Templ, [https://github.com/jtempl/ofront/ github]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://ecs.openbrace.org/ Eigen Compiler Suite]
| align="center" | [https://ecs.openbrace.org/releases/ Releases]
| align="center" | [https://ecs.openbrace.org/manual User Manual]
|-
| Subsystem for Blackbox
| Ofront+ Oberon to C translator
| align="center" | various Oberon dialects
| colspan="2" align="center" | [https://github.com/Oleg-N-Cher/OfrontPlus/ github]
|}
{{User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{User:PeterEasthope/ThreeBoxes
|1=Bare [[w:X86|X86 PC]]<ref name="Transmeta"/>
|2=[[Oberon/ETH Oberon|ETH Oberon]], formerly System 3, PC-Native Oberon. [[w:Oberon_(operating_system)#Native_Oberon|Wikipedia]] 
|3=[https://sourceforge.net/projects/nativeoberon/files/nativeoberon/ SourceForge]. [[Oberon/ETH_Oberon/install|ETHZ, real diskettes]]. [[Oberon/ETH_Oberon/QEMUinstall|Hypervisor with diskette images]]. [https://www.youtube.com/watch?v=Do2O1yFrnos Oberon Tutorials at YouTube]<ref name="YouTube"/>
|4=90px}}
{{User:PeterEasthope/ThreeBoxes
| [[w:X86|X86 PC]] with [[w:MS-DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| DOS Oberon System3, Version 2.0, [[Oberon/Bibliography#Dis93|Dis93]]<ref name="DOS"/>
| [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge] and [https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| 50px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with MS Windows
| ETH Oberon for Windows<ref name="Windows"/>
| [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT Github]<ref name="Win95NT"/> including [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT/PlugIn readme.txt].
| 25px}}
{{b:User:PeterEasthope/ThreeBoxes
| HP Alpha [aka DEC AXP] with OpenVMS
| [http://www.modulaware.com/mwovms.htm 64 bit (Linz-)Oberon System], [[Oberon/Linz Oberon, V4|V4]]
| [http://www.modulaware.com/zel/aos/ modulaware.com, OpenVMS Alpha]
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86, ARM, ARMv7,<br>[[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] with Linux
| [http://oberon.wikidot.com/oberon-linux-revival-olr Oberon Linux Revival, OLR]<ref name="OLR"/>
| [http://oberon.wikidot.com/ P. Matthias]
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Linux, UltraSPARC with Solaris or Sun3 with SunOS
| [http://www.mathematik.uni-ulm.de/oberon/ Ulm Oberon]
| [http://www.mathematik.uni-ulm.de/oberon/ulm.html HTML page] and manual pages in the downloads
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with various operating systems<ref name="Linz"/>
| [http://ssw.jku.at/Research/Projects/Oberon.html Linz-Oberon], [[Oberon/Linz Oberon, V4|V4]]
| [http://olymp.idle.at/tanis/oberon.linux.html olymp.idle.at]<ref name="olymp"/>. [https://sourceforge.net/projects/oberon/files/ SourceForge]. [http://olymp.idle.at/~tanis/INSTALL INSTALL at olymp.idle.at]. [https://sourceforge.net/p/oberon/wiki/Home/ Wiki at Sourceforge]
| 65px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Windows or with *nix and Wine
| [[w:BlackBox Component Builder|BlackBox Component Builder]], an [[w:Integrated_development_environment|IDE]] for [[w:Component_Pascal|Component Pascal]].
| [https://github.com/BlackBoxCenter BB Component Builder download].
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Common Language Infrastructure|.NET and CLI]]
| [[w:Component_Pascal|Gardens Point Component Pascal, GPCP]] application for .NET and CLI<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github]<br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 65px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Java Virtual Machine|JVM]]
| [[w:Component_Pascal|Gardens Point Component Pascal]] application for JVM<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]]-[[w:IA-32|386]], [[w:Raspberry_Pi_OS|Rasbian]], [[w:Microsoft_Windows|Windows]]
| Ofront Oberon to C translator
| Josef Templ, [https://github.com/jtempl/ofront/ github]
| 25px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://ecs.openbrace.org/ Eigen Compiler Suite]
| [https://ecs.openbrace.org/releases/ Releases] and [https://ecs.openbrace.org/manual User Manual].
| 25px}}
{{b:User:PeterEasthope/ThreeBoxes
| Subsystem for Blackbox
| Ofront+ Oberon to C translator
| [https://github.com/Oleg-N-Cher/OfrontPlus/ OfrontPlus at github] for various Oberon dialects.
| 45px}}
==Source Texts in [https://gitlab.inf.ethz.ch/felixf/oberon/-/tree/main/docu Active Oberon]==
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|- <div id="A2"></div>
| Bare [[w:X86|X86 PC]].
| [[Oberon/A2|A2 = AOS = Bluebottle]],<br />[[w:Bluebottle_OS|Bluebottle in Wikipedia]].
| align="center" | [https://sourceforge.net/projects/a2oberon/files/ SourceForge].
| align="center" | [[Oberon/A2#The_A2_Repository|Contemporary instructions]].<ref name="portability"/>
|-
| X86 PC with Solaris,<br>Linux or MacOSX (Darwin).
| [[Oberon/A2#Installing_and_Running_UnixAOS|UnixAos = UnixA2]].
| align="center" | [http://www.informatik.uni-bremen.de/~fld/UnixAos/ Uni-Bremen, G. Feldmann].
| align="center" | [http://www.informatik.uni-bremen.de/~fld/UnixAos/Readme.txt Readme.txt].
|-
| X86 PC with A2 or UnixA2 or WinA2.
| [[Oberon/A2#Oberon_Subsystem|Oberon subsystem of A2]].
| colspan="2" align="center" | Included in A2, UnixA2 and WinA2.
|-
|}
{{User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{User:PeterEasthope/ThreeBoxes
| Bare [[w:X86|X86 PC]].
| [[Oberon/A2|A2 = AOS = Bluebottle]].<br>[[w:Bluebottle_OS|Bluebottle in Wikipedia]].
| [https://sourceforge.net/projects/a2oberon/files/ SourceForge].<br>[[Oberon/A2#Installing_and_Running_UnixAOS|Contemporary instructions]].<ref name="portability"/>
| 50px}}
{{User:PeterEasthope/ThreeBoxes
| X86 PC with Solaris,<br>Linux or MacOSX (Darwin).
| [[Oberon/A2#Installing_and_Running_UnixAOS|UnixAos = UnixA2]].
| [http://www.informatik.uni-bremen.de/~fld/UnixAos Uni-Bremen, G. Feldmann]. [http://www.informatik.uni-bremen.de/~fld/UnixAos/Readme.txt Readme.txt].
| 50px}}
{{User:PeterEasthope/ThreeBoxes
| X86 PC with A2 or UnixA2 or WinA2.
| [[Oberon/A2#Oberon_Subsystem|Oberon subsystem of A2]].
| Included in A2, UnixA2 and WinA2.
| 50px}}
==Source Texts in [https://people.inf.ethz.ch/wirth/Oberon/index.html Oberon-07]==
{| role="presentation" class="wikitable mw-collapsible <!-- mw-collapsed -->"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|-
| id="V5" | [[w:Field-programmable_gate_array|FPGA]] [[w:Reduced_instruction_set_computer|RISC]]
| [[Oberon/V5|V5]],<br>[[w:Oberon_(operating_system)#Project_Oberon_2013|Oberon V5]] in Wikipedia
| colspan="2" align="center" | [https://www.inf.ethz.ch/personal/wirth/ N. Wirth]<br>[http://www.projectoberon.net/ P. Reed]
|-
| id="RISCemu" | [[Oberon/Android]], [[w:Linux|Linux]],<br>
[[w:MacOS|Mac OS X]], [[w:Unix|Unix]] or<br>
[[w:Windows_NT|MS Windows]] on a wide variety of machines<ref name="RISCemuRequirements"/>
| RISC Emulator written in C.
| align="center" colspan="2" rowspan="2" | [https://github.com/pdewacht/oberon-risc-emu P. De Wachter]
|-
| Unix command line
| Norebo<ref name="norebo"/>
<!-- | colspan="2" align="center" | [https://github.com/pdewacht/project-norebo P. De Wachter] -->
|-
| <span id="ExtendedOberon"><span/> | Oberon [[w:Reduced_instruction_set_computer|RISC]] processor or emulation of it<ref name="ExtOberonFootnote"/>
| [[Oberon/Extended_Oberon|Extended Oberon]]
| colspan="2" align="center" | A. Pirklbauer<br>[https://github.com/andreaspirklbauer/Oberon-extended/blob/master/README.md README] [https://github.com/andreaspirklbauer/Oberon-extended/blob/master/Documentation/ Documentation]<br>[https://github.com/andreaspirklbauer/Oberon-extended Oberon{{nbhyph}}extended]<ref name="ExtOberonName"/><br>[https://github.com/andreaspirklbauer/Oberon-retro-compiler Oberon-retro-compiler]
|-
| [[w:Web_browser|Web browser]]
| Emulator written in [[w:JavaScript|JavaScript]].
| rowspan="2" colspan="2" align="center" | [https://github.com/schierlm/OberonEmulator/ Michael Schierl]
|-
| [[w:Web_browser|Web browser]]
| Emulator written in [[w:Java_(programming language)|Java]].
|-
| [[w:Linux|Linux]] or [[w:MacOS|Mac OS]]
| [https://github.com/io-core/io/ Integrated Oberon] with an emulator written in the [[w:Go_(programming_language)|Go programming language]].
| colspan="2" align="center" | [https://github.com/io-core/io/ Charles Perkins]
|-
| id="POL" | ARMv7, [[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] running Linux.
[[w:RISC-V|RISC-V]] running [[w:FreeRTOS|FreeRTOS]] on Sipeed M1s, Linux 32bit and Linux 64bit.
| Project Oberon Linux, POL;<br>Using native compiler and Linux Kernel functions.
| align="center" colspan="2" rowspan="2" | [http://oberon.wikidot.com/ P. Matthias]
|-
| rowspan="2" | [[w:Java Virtual Machine|JVM]]
|Project Oberon using oberonc compiler from L. Boasso
<!-- | colspan="2" |P. Matthias -->
|-
| [https://github.com/lboasso/oberonc Oberonc] compiler for Oberon-07.<ref name="TypeRules"/>
| colspan="2" align="center" | [https://github.com/io-core/io/ L. Boasso]
|-
| Any system capable of running QEMU
| [https://github.com/io-core/qemu-risc6 qemu-risc6] fork of QEMU
| colspan="2" align="center" | [https://github.com/io-core/ Charles Perkins].
|-
| Any system capable of running [https://github.com/aixp/ProjectOberon-BlackBox BlackBox Component Builder]
| Oberon-07 compiler written in Oberon-2.
| colspan="2" align="center" | [https://github.com/aixp/ProjectOberon-BlackBox Alexander V. Shiryaev]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://github.com/solbjorg/oberon-riscv-emu oberon-riscv-emu]
| align="center" colspan="2" rowspan="2" | [https://github.com/solbjorg/oberon-riscv-emu Rikke Solbjørg]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]] with [https://github.com/solbjorg/oberon-riscv-emu oberon-riscv-emu] or a bare [[w:RISC-V|RISC-V]] machine.
| [https://github.com/solbjorg/oberon-riscv oberon-riscv]
<!-- | colspan="2" align="center" | [https://github.com/solbjorg/oberon-riscv Rikke Solbjørg] -->
|}
{{Reflist|refs=
<ref name="Oberon">The Oberon language evolved through several variations including [https://people.inf.ethz.ch/wirth/Oberon/Oberon.Report.pdf Oberon-90] in which Cross-platform Oberon is written. The differences between the latest 1990 version of Oberon and the 1991 superset, Oberon-2, are explained in bibliography references [[Oberon/authors#M|Moe91]] and [[Oberon/authors#M|MoW91a]].</ref>
<ref name="HostEnvironment">In some cases the host environment is a bare machine. Otherwise it is a machine running another system.</ref>
<ref name="VCFE2024">[https://www.youtube.com/watch?v=cEdHiE-HoGE&t=2145s Presentation at VCFE 23.0], September 2024. Jump to 35:46.</ref>
<ref name="Ceres">Hypothetically a Ceres can also be built with [http://cpu-ns32k.net/Gilbert.html wire wrap].</ref>
<ref name="PrecompiledCrossPlatformOberon">Links to precompiled images for MS Windows, Linux and MacOS are at the bottom of the Github page.</ref>
<ref name="PAL">PAL = Platform Abstraction Layer written by Rochus Keller and included with Cross-platform Oberon. Precompiled systems are currently available for Linux x86 & x64, Mac M1 & x64 and Windows x86 & x64. Porting to another system is primarily porting the PAL library.</ref>
<ref name="Transmeta">Including the [[w:Transmeta_Crusoe|Transmeta Crusoe 5400]] and the [[w:StrongARM|StrongARM SA 110 and SA 1110]].</ref>
<ref name="YouTube">A PC can boot from an Oberon0 diskette in an internal drive. In that case installation of ETH Oberon can proceed directly without involvement of DOS. Part 2 in the series includes a helpful explanation of the user interface.</ref>
<ref name="DOS">Sources for [https://github.com/Project-Oberon/Source-Code/tree/main/DOS%20Oberon%20System%203%20Release%202.0 Release 2.0] are available. ASCII sources can be read with any contemporary editor. The Text sources should be read in an Oberon system; otherwise display by Linux gedit may be tolerable.</ref>
<ref name="Windows">Also referred to as "ETH Oberon Plugin for Windows" and "Spirit of Oberon System3 for Windows".</ref>
<ref name="Win95NT">A server at ftp://ftp.ssw.uni-linz.ac.at/ remains accessible to an FTP client and installation archives can be retrieved. The Firefox browser is unable to navigate into the subdirectories.</ref>
<ref name="OLR">Sources following ETH Oberon closely. Note "Current state ... network not working."</ref>
<ref name="Linz">V4 can also execute on obsolete systems [[w:Motorola_68000_series|680x0 MacIntosh]] and [[w:PowerMac|PowerMac]] with [[w:MacOS|MacOS]] to version 9 inclusive, [[w:Amiga|Amiga]], [[w:Atari_ST|Atari ST]], [[w:DECstation|DECstation]], [[w:HPUX|HP-UX]], [[w:IBM_RISC_Dystem/6000|IBM RS/6000]], [[w:SGI_IRIS|SGI IRIS]] and [[w:Sparc|SPARC]] with [[w:Solaris_(operating_system)|Solaris]]. Refer to [https://sourceforge.net/projects/oberon/ https://sourceforge.net/projects/oberon/] and [https://ssw.jku.at/Research/Projects/Oberon.html https://ssw.jku.at/Research/Projects/Oberon.html]. A native version has not been produced.</ref>
<ref name="olymp">olymp.idle.at has verion 1.7.02. The last version at JKU Linz is 1.5.</ref>
<ref name="GPCP">GPCP provides a compiler for Component Pascal; not a full Oberon subsystem.</ref>
<ref name="portability">During the summer of 2019 work was underway at the ETHZ to improve portability and other aspects. Until the work is completed, the user may encounter difficulties with the native variant of A2. The Oberon subsystem remains available in UnixA2 and WinA2. A notice was in the [http://lists.inf.ethz.ch/pipermail/oberon/ mailing list at 2019-07-03]. Patience is advised.</ref>
<ref name="RISCemuRequirements">The SDL2 library and a C99 capable C compiler are required. GCC or Clang suffice for compiling the emulator.</ref>
<ref name="norebo">A software allowing execution of an Oberon command without the Oberon system and interface. The Oberon compiler, for example, can be executed at the Unix command line.</ref>
<ref name="ExtOberonFootnote">Extended Oberon does not modify the RISC processor; it modifies only the Oberon system which runs on it.</ref>
<ref name="ExtOberonName">Nomenclature explained in the [https://lists.inf.ethz.ch/pipermail/oberon/2023/016552.html Oberon mailing list at 2023-01-18].</ref>
<ref name="TypeRules">The [https://github.com/lboasso/oberonc/blob/master/doc/TypeRules.md TypeRules document] is noteworthy. Specific aspects of [[w:Data_type|types]] are discussed in the [http://lists.inf.ethz.ch/pipermail/oberon/ mailing list] beginning at 2019-12-07.</ref>
}}
<br>
{{center|[[Oberon/Naming|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">← Naming</span>]] [[Oberon|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">↑ Oberon front page</span>]] [[Oberon/Licenses|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">Licenses →</span>]]}}
{{BookCat}}
kb823qh0y0xyz2nineyg0bzcc1xrey2
Talk:OpenSCAD Tutorial
1
470130
4639990
4606954
2026-06-12T06:08:20Z
~2026-34562-53
3605209
4639990
wikitext
text/x-wiki
{{Talk header}}
// Honda Civic FD6 İç Kapı Kolu (Temel Taslak)
difference() {
// Ana gövde
hull() {
translate([0,0,0])
cylinder(h=20, r=8, $fn=50);
translate([100,0,0])
cylinder(h=20, r=8, $fn=50);
}
// İç boşluk (elle kavrama kısmı)
translate([10,-3,5])
cube([80,6,10]);
}
// Bağlantı ayağı (mekanizmaya giren kısım)
translate([95,-5,0])
cube([10,10,20]);
// Pim yuvası
translate([100,0,10])
rotate([90,0,0])
cylinder(h=10, r=2, $fn=30); [[Special:Contributions/~2026-34562-53|~2026-34562-53]] ([[User talk:~2026-34562-53|talk]]) 06:08, 12 June 2026 (UTC)
0nc6pdo270biglhnhl2tm5pcffhqq96
4639998
4639990
2026-06-12T07:42:27Z
MathXplore
3097823
[[WB:REVERT|Reverted]] edit by [[Special:Contributions/~2026-34562-53|~2026-34562-53]] ([[User talk:~2026-34562-53|talk]]) to last version by Saroj
4442099
wikitext
text/x-wiki
{{Talk header}}
6ujz0t3lkt6jsf7d1r360l6l7wj3njb
Wikibooks:Files for upload
4
471257
4639989
4621103
2026-06-12T05:54:03Z
~2026-34523-46
3605204
/* User:!dea4u/userpage/doc */ new section
4639989
wikitext
text/x-wiki
{{Discussion Rooms}}
__NEWSECTIONLINK__
Welcome to '''Files for Upload'''! This is where you can request that a file be uploaded for you, if you are not an [[WB:Uploaders|uploader]] or [[WB:Administrators|administrator]].
If the file you want to upload is released under a [[w:Free content|free]] license, you don't need to make a request here, just upload it to [[c:Special:UploadWizard|Wikimedia Commons]].
To make a request, click the "Add topic" link in the upper-right-hand corner, and fill the "Description" with the following:
{{syntaxhighlight|1=<nowiki>{{SUBST:Ffu
|title=(title of the file)
|description=(description of the file)
|url=(link to the file)
|license=(license of the file)
|license-link=(link to license information)
|author-name=(name of author or copyright holder)
|reason=(reason for uploading the file)
}}</nowiki>|lang=wikitext}}
The subject field will be auto-populated for you.
= Requests =
== User:!dea4u/userpage/doc ==
رابط [[Special:Contributions/~2026-34523-46|~2026-34523-46]] ([[User talk:~2026-34523-46|talk]]) 05:54, 12 June 2026 (UTC)
o1256qnvbwynracoxni1gdu96rxjvo9
4640000
4639989
2026-06-12T07:43:23Z
MathXplore
3097823
[[WB:REVERT|Reverted]] edit by [[Special:Contributions/~2026-34523-46|~2026-34523-46]] ([[User talk:~2026-34523-46|talk]]) to last version by PieWriter
4621103
wikitext
text/x-wiki
{{Discussion Rooms}}
__NEWSECTIONLINK__
Welcome to '''Files for Upload'''! This is where you can request that a file be uploaded for you, if you are not an [[WB:Uploaders|uploader]] or [[WB:Administrators|administrator]].
If the file you want to upload is released under a [[w:Free content|free]] license, you don't need to make a request here, just upload it to [[c:Special:UploadWizard|Wikimedia Commons]].
To make a request, click the "Add topic" link in the upper-right-hand corner, and fill the "Description" with the following:
{{syntaxhighlight|1=<nowiki>{{SUBST:Ffu
|title=(title of the file)
|description=(description of the file)
|url=(link to the file)
|license=(license of the file)
|license-link=(link to license information)
|author-name=(name of author or copyright holder)
|reason=(reason for uploading the file)
}}</nowiki>|lang=wikitext}}
The subject field will be auto-populated for you.
= Requests =
7woof6kbb6s1bcilabzuneos6v8542i
Maxima/Identifiers
0
483550
4639935
4639064
2026-06-11T17:25:19Z
Idavidmiller
3577687
Work in progress. Saving Changes.
4639935
wikitext
text/x-wiki
== The Maxima Namespace ==
The topic of the namespace system used by Maxima is in a sense more relevant to programming expressions. However, since the nature of the Maxima namespace system is also relevant to Maxima identifiers as used in this book, and also as used routinely in the composition of Maxima expressions in general, and particularly mathematical expressions, some of the technical detail is provided here for the purpose of describing the role of identifiers. It is worth repeating here that in this book, for reasons of simplicity, the use of the term '''''identifier''''' is meant to encapsulate names used for various purposes as described below.
The Maxima CAS namespace system is best characterized as '''case-sensitive''' for user-defined entities but '''case-insensitive''' (normalized to lowercase) for built-in operators (functions) and constants, with a '''flat global namespace''' for identifiers:
* '''Case Sensitivity''': Maxima provides a '''case-sensitive''' namespace system where variables, functions, and operators are distinct entities based on their spelling. Maxima distinguishes between upper and lower case for user-defined variables and functions; for example, <code>foo</code>, <code>Foo</code>, and <code>FOO</code> are treated as distinct identifiers.
* '''Built-in Normalization''': All built-in operators (e.g., <code>sin</code>, <code>cos</code>) and constants (e.g., <code>%e</code>, <code>%pi</code>) have '''lowercase''' names only. Typing <code>SIN(x)</code> or <code>Sin(x)</code> causes Maxima to assume the user is referring to a user-defined function rather than the built-in sine function.
* '''Namespace Structure''': The system uses a '''single global namespace''' where variables and functions persist until the session ends or are explicitly removed (e.g., via the <code>kill</code><code>()</code> command). There is no modular scoping for standard variables.
However, Maxima maintains specific exceptions for predefined mathematical operators (functions) and constants:
* '''Built-in''' '''(predefined) operators (functions)''' (e.g., <code>sin</code>, <code>cos</code>, <code>log</code>) are mapped to '''uppercase''' versions internally (e.g., <code>SIN</code>, <code>COS</code>), allowing users to call them with either case, though lowercase is recommended for clarity.
* '''Built-in constants''' (e.g., <code>%e</code>, <code>%pi</code>, <code>%i</code>, <code>%gamma</code>) are strictly '''lowercase''' and must be entered exactly as such.
* '''System''' '''names''' related to session history (input or output '''''labels''''') also use the <code>%</code> prefix and are case-sensitive.
Users are advised to use '''lowercase''' for user-defined names and functions to ensure readability and avoid conflicts with the internal uppercase mapping of standard mathematical operators.
The namespace system in Maxima is fundamentally built upon its underlying Lisp implementation, creating a unique environment where case sensitivity, symbol translation rules, and special prefixes dictate how variables and functions are stored and accessed.
The namespace utilizes '''dynamic scoping''' rather than lexical scoping for most operations, which impacts variable visibility and modification:
'''Dynamic Scope''': Identifiers defined outside a function are global in scope and can be inadvertently modified by functions if the identifiers are the same, unless explicitly made local.
For instance, a loop variable <code>i</code> in a global context might be overwritten by a function using <code>i</code> if not properly scoped. A reference to a defined Maxima function accesses the values of identifiers based on the environment of the function that exists at the point of reference. If an identifier local to the function exists, the value of that identifier is used.
Otherwise, Maxima will attempt to find the value of the referenced identifier outside of the the local scope of the function in the global namespace. This means that identifiers are by default global in scope, and that users must account for this contingency when defining and referencing functions. Refer to the Maxima documentation for the descriptions of the <code>'''block''' '''( )'''</code> and <code>'''local''' '''( )'''</code> operators for information related to the scope of identifiers.
'''Global Persistence''': By default, all user definitions reside in a '''single global namespace'''. They persist until the session ends or are explicitly removed.
'''Identifier Removal Mechanisms''':
* <code>kill(symbol)</code>: Completely removes the value, function definition, array, and properties of an identifier.
* <code>remvalue(symbol)</code>: Removes only the assigned value of the identifier, leaving function definitions or array properties intact.
* <code>kill(all)</code>: Clears all user-defined identifiers from the namespace. The operator <code>reset</code> is used to reset internal Maxima built-in global "flags" or option variables to their defaults.
== Identifiers ==
Names, symbols, words, variables, constants, literals, labels, flags, options, and identifiers are all technical terms the meaning of which may depend on the context in which these terms are used. The term '''''identifier''''' is used for names in the broadest practical sense as follows:
# A name that has a value of itself ( a is a ), or
# A name that has a value of an expression other than itself ( a is b and a is not a are true)
<syntaxhighlight lang="maxima">
(%i1) y; /* The value of y is y, y is a name for itself. */
(%o1) y
(%i2) y : f(x); /* y is assigned an expression */
(y) f(x)
(%i3) y; /* The value of y is f(x), y is a name for f(x). */
(%o3) f(x)
</syntaxhighlight>This means that ''identifiers'' refer to names for: symbols, words, variables, constants, literals, labels, flags, options, and so forth. In this book, if distinctions are necessary, it should be provided by the context in which the term ''identifier'' is used.
=== Reserved Words ===
The Maxima documentation provides the following caveat regarding '''''reserved words''''':<blockquote>"There are a number of reserved words which should not be used as variable names. Their use would cause a possibly cryptic syntax error."</blockquote>
integrate next from diff
in at limit sum
for and elseif then
else do or if
unless product while thru
step
Apart from these Maxima reserved words, there is relative freedom in the choice of identifiers.
=== <u>Identifier Composition Rules</u>: ===
Maxima identifiers follow specific lexical rules:
* '''Allowed Characters''': Alphabetic characters (<code>A-Z</code>, <code>a-z</code>), digits (<code>0-9</code>), and the underscore (<code>_</code>).
* '''Special Characters''': Any special character can be included if preceded by a backslash (<code>\</code>). For example, <code>a\+b</code> is a valid single identifier.
* '''Starting with Digits''': An identifier can start with a digit if escaped (e.g., <code>\1st_var</code>).
* '''Unicode Support''': Modern versions of Maxima (and specifically interfaces like ''wxMaxima'') support Unicode characters in identifiers, treating them as alphabetic characters without needing escape sequences, '''''provided the underlying Lisp and font support them'''''.
* '''Characters Declared Alphabetic''': The <code>declare (''character'', alphabetic)</code> operator can be used to in order to use a ''character'' in composing an identifier that otherwise would not be considered as alphabetic.
It seems to be the case that, unless otherwise noted, there are no naming conventions or a style guide for Maxima. So in general, it is up to the user to decide on the composition of identifiers.
Note that identifiers may be used that are one or more characters that comprise the alphabetic characters, plus the digits 0 through 9, plus any other character preceded by the backslash ( <code>\</code> ) escape character including the space character. Note however, that the <code>\</code> must be entered for each reference to the identifier.
A numeral may be the first character of an identifier if it is preceded by a backslash. Numerals which are the second or later characters need not be preceded by a backslash.
The alphabetic characters are initially %, _, and the lower and upper case letters of the alphabet - that is, all characters for which the Lisp function <code>ALPHA-CHAR-P</code> returns <code>true</code>.
Characters may be declared alphabetic by the <code>declare (''character'', alphabetic)</code> operator. If so declared, they need not be preceded by a backslash in an identifier. However, the use of the <code>declare (''character'', alphabetic)</code> operator may cause unintended and unwanted side effects depending on the character, so this operator for this purpose should be used with that in mind if at all.
=== <u>Atoms and Symbols</u> ===
The term ''symbol'' and ''identifier'' are frequently used in the context of ''names''. The use of the term ''symbol'' can be attributed, as much else in Maxima, to its Lisp orientation. In Maxima, <code>atom()</code> and <code>symbolp()</code> serve different purposes regarding object classification, though their outputs often overlap for names.
* <code>atom(v)</code> returns true if <code>v</code> is an atom and false otherwise. In Maxima, atoms include numbers, strings, names (symbols), and <code>nil</code>. Expressions (which have an operator and arguments) are not atoms. For example, <code>atom(5)</code> is <code>true</code>, <code>atom(x)</code> is <code>true</code>, but <code>atom(x+1)</code> is <code>false</code> because it is an expression with the operator <code>+</code>.
* <code>symbolp(v)</code> returns true only if <code>v</code> is a symbol (a name). It returns false for numbers, strings, or any other atomic type that is not a name. For example, <code>symbolp(x)</code> is <code>true</code>, but <code>symbolp(5)</code> is <code>false</code>.
The key difference is that <code>atom()</code> is a broader predicate that includes symbols, numbers, and strings, while <code>symbolp()</code> is specific to symbolic names.
==== Examples: ====
<syntaxhighlight lang="maxima">
/* Atom checks */
(%i4) atom(7); /* true: 7 is an atomic number */
(%o4) true
(%i5) atom(x); /* true: x is an atomic symbol */
(%o5) true
(%i6) atom("hello there"); /* true: "hello there" is an atomic string */
(%o6) true
(%i7) atom(x+1); /* false: x+1 is an expression */
(%o7) false
(%i8) symbolp(7); /* false: 7 is not a symbol */
(%o8) false
(%i9) symbolp(\7); /* true: 7 is now a symbol */
(%o9) true
(%i10) symbolp(x); /* true: x is a symbol */
(%o10) true
(%i11) symbolp(x+1); /* false: x+1 is a not a symbol */
(%o11) false
(%i12) symbolp(x\+1); /* true: x\+1 is a symbol */
(%o12) true
(%i13) symbolp("hello there"); /* false: "hello there" is not a symbol */
(%o13) false
(%i14) symbolp(hello\ there); /* true: hello\ there is now a symbol */
(%o14) true
</syntaxhighlight>
==== Summary Table: ====
{| class="wikitable"
|Operator
|Returns <code>true</code> for...
|Returns <code>false</code> for...
|-
|<code>atom()</code>
|Numbers, Identifiers, Strings, <code>nil</code>
|Expressions (e.g., <code>x+1</code>, <code>sin(x)</code>)
|-
|<code>symbolp()</code>
|Symbols (Identifiers, Names)
|Numbers, Strings, Expressions, <code>nil</code>
|}
Atoms are further categorized into integers, floats, strings, or identifiers (symbols). Use <code>atom()</code> to distinguish between atomic data and composite expressions, and <code>symbolp()</code> to specifically identify symbolic names.
In attempting to be technically precise in the use of these various terms, it is often the case that the user becomes immersed in a confusing sea of technical jargon. On the other hand, in attempting to be clear and simple, there is the risk that some subjective or objective technical standards fail to be met. In this book, for the sake of clarity and simplicity, the term '''''identifier''''' is used for names and symbols in the broadest practical sense.
==== Unicode Support: ====
As was mentioned previously, versions of Maxima, and specifically the ''wxMaxima'' GUI, support Unicode characters in identifiers, treating them as alphabetic characters without the need to be escaped, provided the underlying Lisp implementation and font support them. This support extends the set of characters available for use in composing identifiers. This support can be useful in using Greek letters and other mathematical symbols. For example:<syntaxhighlight lang="maxima">
(%i5) Θ(s,r):= s/r;
(%o5) Θ(s,r):=s/r
(%i6) Θ(%pi/2,4); /* radians as a function of arc length and radius */
(%o6) %pi/8
</syntaxhighlight>Unicode can also be used in other ways in expressions:<syntaxhighlight lang="maxima">
(%i7) declare(ℝ, feature); /* make ℝ a feature */
(%o7) done
/* define a function to test identifiers for feature ℝ */
(%i8) ℝ(x):= block( [q],
if not symbolp(x)
then
q:sconcat(x," is not an indentifier")
elseif featurep(x, ℝ)
then
q:concat(x, " ∈ ℝ")
else
q:concat(x, " ∉ ℝ"),
return (q) )$
(%i9) declare(x,ℝ); /* make ℝ a feature of identifier x */
(%o9) done
(%i10) ℝ(x); /* check x for feature ℝ */
(%o10) x ∈ ℝ
(%i11) ℝ(w); /* check w for feature ℝ */
(%o11) w ∉ ℝ
(%i12) ℝ(3); /* check 3 for feature ℝ */
(%o12) 3 is not an indentifier
</syntaxhighlight>Users should be aware of some aspects of using Unicode in the context of Maxima. First, apart from the ''wxMaxima'' GUI, using Unicode characters is likely to be a "cut-and-paste" operation using a character map of some kind. ''wxMaxima'' has built-in Unicode support which makes using these characters simple.
Second, there can be some anomalous behavior. For example:<syntaxhighlight lang="maxima">
(%i14) ℃; /* This Unicode character ℃ (2103) is an acceptable symbol */
(%o14) ℃
(%i15) symbolp(℃); /* Maxima likes ℃ */
(%o15) true
/* This Unicode character ℉ (2109) is an acceptable symbol */
(%i16) symbolp(℉);
(%o16) true
/* This Unicode character ° (00B0) is an acceptable symbol */
(%i17) symbolp(°)
(%o17) true
/* Maxima does not like this ° (00B0) character with another one */
(%i18) symbolp(°R);
incorrect syntax: R is not an infix operator
symbolp(°R)
^
/* Maxima likes this ° (00B0) character if escaped */
(%i19) symbolp(\°R);
(%o19) true
</syntaxhighlight>
==== Features: ====
The foregoing example demonstrates that '''''features''''' can be associated with identifiers.<syntaxhighlight lang="maxima">(%i10) features;
(%o10) [integer,noninteger,even,odd,rational,irrational,real,
imaginary,complex,analytic,increasing,decreasing,oddfun
evenfun,posfun,constant,commutative,lassociative,
rassociative,symmetric,antisymmetric,integervalued,ℝ]</syntaxhighlight>All of these features are built-in to Maxima except the last one – ℝ. ℝ is a user-defined feature.
Maxima recognizes certain mathematical properties of functions and identifiers. These properties are called "''features''". The operator <code>declare(<var>x</var>,<var>foo</var>)</code> associates the feature <var><code>foo</code></var> with the function or identifier <var>x</var>. The operator <code>declare(<var>foo</var>, feature)</code> declares a new feature <var><code>foo</code></var>.
For example, <code>declare(ℝ, feature)</code> declares <code>ℝ</code> as a user-defined feature.
The predicate operator <code>featurep(<var>x</var>, ℝ</code> returns <code>true</code> if <var>x</var> has the ℝ feature, and <code>false</code> otherwise.
==== Properties: ====
In addition to features, '''''properties''''' can be attributed to identifiers using the <code>put <var>(atom, value, indicator)</var></code> operator or the <code>qput <var>(atom, value, indicator)</var></code> operator. The terminology used with these operators can be confusing. These operators attribute a ''property'' using the argument named <code>indicator</code> and assign a value to the indicator using the argument named <code>value</code> to that indicator. The difference between these two operators is that <code>put</code> evaluates arguments and <code>qput</code> does not. The Maxima documentation explains as follows:<blockquote>
; '''put''' <var>(atom, value, indicator)</var>
Assigns <var>value</var> to the property (specified by <var>indicator</var>) of <var>atom</var>. <var>indicator</var> may be the name of any property, not just a system-defined property.
<code>rem</code> reverses the effect of <code>put</code>.
<code>put</code> evaluates its arguments. <code>put</code> returns <var>value</var>.
;
; '''qput''' <var>(atom, value, indicator)</var>
: Assigns <var>value</var> to the property (specified by <var>indicator</var>) of <var>atom</var>. This is the same as <code>put</code>, except that the arguments are quoted.
</blockquote>What "quoted" means in this context is that the evaluation of the arguments is suppressed.
The operator <code>get<var>(a</var><var>tom, indicator)</var></code> returns the property indicated by <code>indicator</code> associated with the identifier (<code>atom</code>) or returns <code>false</code> if <code>atom</code> doesn’t have the property <code>indicator</code>. The operator <code>get</code> evaluates its arguments.
The fog of this word salad can be lifted by way of an example. The following from the Maxima documentation exemplifies the use of the <code>put</code> and <code>get</code> operators:<syntaxhighlight lang="maxima">(%i11) put (%e, 'transcendental, 'type);
(%o11) transcendental
(%12) put (%pi, 'transcendental, 'type);
(%o12) transcendental
(%i13) put (%i, 'algebraic, 'type);
(%o13) algebraic
(%i14) typeof (expr) := block ([q],
if numberp (expr)
then return ('algebraic),
if not atom (expr)
then return (maplist ('typeof, expr)),
q: get (expr, 'type),
if q=false
then errcatch (error(expr,"is not numeric.")) else q)$
(%i15) typeof (2*%e + x*%pi);
x is not numeric.
(%o15) [[transcendental,[]],[algebraic,transcendental]]
(%i16) typeof (2*%e + %pi);
(%o16) [transcendental,[algebraic,transcendental]]</syntaxhighlight>These expressions provide examples of the use of <code>put</code> and <code>get</code> operators. The indicator for the property used is quoted ( <code>'type</code> ) presumably to prevent its evaluation in order to prevent a possible clash with a Maxima system identifier with the same name.
An identifier can have multiple attributed properties. The same property can be attributed to different identifiers with different values.
This example also demonstrates the recursive use of the user-defined function <code>typeof</code>.
==== Maxima System Constants: ====
Maxima provides built-in identifiers used to reference some frequently used constants. Among these are <code>%e</code>, <code>%i</code>, <code>%gamma</code>, and <code>%phi</code>, as well as others. Refer to the Maxima documentation for the full list of built-in constants and the related technical details.
==== Maxima System Labels: ====
The following table summarizes the built-in identifier labels for input and output expressions:
{| class="wikitable"
|+Maxima Input and Output Labels
!Label
!Value
!
!
|-
|%
|last output expression
|
|
|-
|%in
|input expression as labeled
|
|
|-
|%on
|output expression as labeled
|
|
|}
The value of <code>n</code> within these labels is generated automatically and sequentially by Maxima. The values of <code>n</code> are numerals for the natural numbers starting at <code>1</code>. These labels can serve as a sort of handy shorthand as identifiers for referencing expressions. However, users should be aware that reliance on these labels in certain cases can result in unexpected and unwanted side-effects, as well as a negative effect on the readability of saved expressions.
The system labels <code>%z7</code> and <code>%z9</code> represent any arbitrary integer value. These labels also are automatically generated by Maxima, and typically appear in the output of equation-solving functions (such as <code>solve</code>) when the solution involves periodic or multi-valued mathematical expressions, such as complex logarithms or roots. They serve as integer parameters to indicate that the solution is valid for any integer value assigned to them.
==== Maxima System Flags: ====
There are built-in Maxima system identifiers that serve special purposes. These identifiers may be referred to as '''''flags'''''. Frequently, these flags have the value of <code>true</code> or <code>false</code> , with one or the other as the default value. These flags are relatively many in number, and too numerous to exemplify here.
One flag that can serve as an example is <code>simp</code>:<syntaxhighlight lang="maxima">
(%i17) simp; /* The default value of simp is true */
(%o17) true
(%i18) 3+4; /* simplification is active */
(%o18) 7
(%i19) 21/7; /* simplification is active */
(%o19) 3
(%i20) simp:false; /* the value of simp is assigned false */
(simp) false
(%i21 3+4; /* simplification is not active */
(%o21) 3+4
(%i22) 21/7; /* simplification is not active */
(%o22) 21/7
</syntaxhighlight>
{{BookCat}}
mbnplwpsdbotr8g73p87h4ida76neq7
4639958
4639935
2026-06-11T21:41:25Z
Idavidmiller
3577687
Work in progress. Saving Changes.
4639958
wikitext
text/x-wiki
== The Maxima Namespace ==
The topic of the namespace system used by Maxima is in a sense more relevant to programming expressions. However, since the nature of the Maxima namespace system is also relevant to Maxima identifiers as used in this book, and also as used routinely in the composition of Maxima expressions in general, and particularly mathematical expressions, some of the technical detail is provided here for the purpose of describing the role of identifiers. It is worth repeating here that in this book, for reasons of simplicity, the use of the term '''''identifier''''' is meant to encapsulate names used for various purposes as described below.
The Maxima CAS namespace system is best characterized as '''case-sensitive''' for user-defined entities but '''case-insensitive''' (normalized to lowercase) for built-in operators (functions) and constants, with a '''flat global namespace''' for identifiers:
* '''Case Sensitivity''': Maxima provides a '''case-sensitive''' namespace system where variables, functions, and operators are distinct entities based on their spelling. Maxima distinguishes between upper and lower case for user-defined variables and functions; for example, <code>foo</code>, <code>Foo</code>, and <code>FOO</code> are treated as distinct identifiers.
* '''Built-in Normalization''': All built-in operators (e.g., <code>sin</code>, <code>cos</code>) and constants (e.g., <code>%e</code>, <code>%pi</code>) have '''lowercase''' names only. Typing <code>SIN(x)</code> or <code>Sin(x)</code> causes Maxima to assume the user is referring to a user-defined function rather than the built-in sine function.
* '''Namespace Structure''': The system uses a '''single global namespace''' where variables and functions persist until the session ends or are explicitly removed (e.g., via the <code>kill</code><code>()</code> command). There is no modular scoping for standard variables.
However, Maxima maintains specific exceptions for predefined mathematical operators (functions) and constants:
* '''Built-in''' '''(predefined) operators (functions)''' (e.g., <code>sin</code>, <code>cos</code>, <code>log</code>) are mapped to '''uppercase''' versions internally (e.g., <code>SIN</code>, <code>COS</code>), allowing users to call them with either case, though lowercase is recommended for clarity.
* '''Built-in constants''' (e.g., <code>%e</code>, <code>%pi</code>, <code>%i</code>, <code>%gamma</code>) are strictly '''lowercase''' and must be entered exactly as such.
* '''System''' '''names''' related to session history (input or output '''''labels''''') also use the <code>%</code> prefix and are case-sensitive.
Users are advised to use '''lowercase''' for user-defined names and functions to ensure readability and avoid conflicts with the internal uppercase mapping of standard mathematical operators.
The namespace system in Maxima is fundamentally built upon its underlying Lisp implementation, creating a unique environment where case sensitivity, symbol translation rules, and special prefixes dictate how variables and functions are stored and accessed.
The namespace utilizes '''dynamic scoping''' rather than lexical scoping for most operations, which impacts variable visibility and modification:
'''Dynamic Scope''': Identifiers defined outside a function are global in scope and can be inadvertently modified by functions if the identifiers are the same, unless explicitly made local.
For instance, a loop variable <code>i</code> in a global context might be overwritten by a function using <code>i</code> if not properly scoped. A reference to a defined Maxima function accesses the values of identifiers based on the environment of the function that exists at the point of reference. If an identifier local to the function exists, the value of that identifier is used.
Otherwise, Maxima will attempt to find the value of the referenced identifier outside of the the local scope of the function in the global namespace. This means that identifiers are by default global in scope, and that users must account for this contingency when defining and referencing functions. Refer to the Maxima documentation for the descriptions of the <code>'''block''' '''( )'''</code> and <code>'''local''' '''( )'''</code> operators for information related to the scope of identifiers.
'''Global Persistence''': By default, all user definitions reside in a '''single global namespace'''. They persist until the session ends or are explicitly removed.
'''Identifier Removal Mechanisms''':
* <code>kill(symbol)</code>: Completely removes the value, function definition, array, and properties of an identifier.
* <code>remvalue(symbol)</code>: Removes only the assigned value of the identifier, leaving function definitions or array properties intact.
* <code>kill(all)</code>: Clears all user-defined identifiers from the namespace. The operator <code>reset</code> is used to reset internal Maxima built-in global "flags" or option variables to their defaults.
== Identifiers ==
Names, symbols, words, variables, constants, literals, labels, flags, options, and identifiers are all technical terms the meaning of which may depend on the context in which these terms are used. The term '''''identifier''''' is used for names in the broadest practical sense as follows:
# A name that has a value of itself ( a is a ), or
# A name that has a value of an expression other than itself ( a is b and a is not a are true)
<syntaxhighlight lang="maxima">
(%i1) y; /* The value of y is y, y is a name for itself. */
(%o1) y
(%i2) y : f(x); /* y is assigned an expression */
(y) f(x)
(%i3) y; /* The value of y is f(x), y is a name for f(x). */
(%o3) f(x)
</syntaxhighlight>This means that ''identifiers'' refer to names for: symbols, words, variables, constants, literals, labels, flags, options, and so forth. In this book, if distinctions are necessary, it should be provided by the context in which the term ''identifier'' is used.
=== Reserved Words ===
The Maxima documentation provides the following caveat regarding '''''reserved words''''':<blockquote>"There are a number of reserved words which should not be used as variable names. Their use would cause a possibly cryptic syntax error."</blockquote>
integrate next from diff
in at limit sum
for and elseif then
else do or if
unless product while thru
step
Apart from these Maxima reserved words, there is relative freedom in the choice of identifiers.
=== <u>Identifier Composition Rules</u>: ===
Maxima identifiers follow specific lexical rules:
* '''Allowed Characters''': Alphabetic characters (<code>A-Z</code>, <code>a-z</code>), digits (<code>0-9</code>), and the underscore (<code>_</code>).
* '''Special Characters''': Any special character can be included if preceded by a backslash (<code>\</code>). For example, <code>a\+b</code> is a valid single identifier.
* '''Starting with Digits''': An identifier can start with a digit if escaped (e.g., <code>\1st_var</code>).
* '''Unicode Support''': Modern versions of Maxima (and specifically interfaces like ''wxMaxima'') support Unicode characters in identifiers, treating them as alphabetic characters without needing escape sequences, '''''provided the underlying Lisp and font support them'''''.
* '''Characters Declared Alphabetic''': The <code>declare (''character'', alphabetic)</code> operator can be used to in order to use a ''character'' in composing an identifier that otherwise would not be considered as alphabetic.
It seems to be the case that, unless otherwise noted, there are no naming conventions or a style guide for Maxima. So in general, it is up to the user to decide on the composition of identifiers.
Note that identifiers may be used that are one or more characters that comprise the alphabetic characters, plus the digits 0 through 9, plus any other character preceded by the backslash ( <code>\</code> ) escape character including the space character. Note however, that the <code>\</code> must be entered for each reference to the identifier.
A numeral may be the first character of an identifier if it is preceded by a backslash. Numerals which are the second or later characters need not be preceded by a backslash.
The alphabetic characters are initially %, _, and the lower and upper case letters of the alphabet - that is, all characters for which the Lisp function <code>ALPHA-CHAR-P</code> returns <code>true</code>.
Characters may be declared alphabetic by the <code>declare (''character'', alphabetic)</code> operator. If so declared, they need not be preceded by a backslash in an identifier. However, the use of the <code>declare (''character'', alphabetic)</code> operator may cause unintended and unwanted side effects depending on the character, so this operator for this purpose should be used with that in mind if at all.
=== <u>Atoms and Symbols</u> ===
The term ''symbol'' and ''identifier'' are frequently used in the context of ''names''. The use of the term ''symbol'' can be attributed, as much else in Maxima, to its Lisp orientation. In Maxima, <code>atom()</code> and <code>symbolp()</code> serve different purposes regarding object classification, though their outputs often overlap for names.
* <code>atom(v)</code> returns true if <code>v</code> is an atom and false otherwise. In Maxima, atoms include numbers, strings, names (symbols), and <code>nil</code>. Expressions (which have an operator and arguments) are not atoms. For example, <code>atom(5)</code> is <code>true</code>, <code>atom(x)</code> is <code>true</code>, but <code>atom(x+1)</code> is <code>false</code> because it is an expression with the operator <code>+</code>.
* <code>symbolp(v)</code> returns true only if <code>v</code> is a symbol (a name). It returns false for numbers, strings, or any other atomic type that is not a name. For example, <code>symbolp(x)</code> is <code>true</code>, but <code>symbolp(5)</code> is <code>false</code>.
The key difference is that <code>atom()</code> is a broader predicate that includes symbols, numbers, and strings, while <code>symbolp()</code> is specific to symbolic names.
==== Examples: ====
<syntaxhighlight lang="maxima">
/* Atom checks */
(%i4) atom(7); /* true: 7 is an atomic number */
(%o4) true
(%i5) atom(x); /* true: x is an atomic symbol */
(%o5) true
(%i6) atom("hello there"); /* true: "hello there" is an atomic string */
(%o6) true
(%i7) atom(x+1); /* false: x+1 is an expression */
(%o7) false
(%i8) symbolp(7); /* false: 7 is not a symbol */
(%o8) false
(%i9) symbolp(\7); /* true: 7 is now a symbol */
(%o9) true
(%i10) symbolp(x); /* true: x is a symbol */
(%o10) true
(%i11) symbolp(x+1); /* false: x+1 is a not a symbol */
(%o11) false
(%i12) symbolp(x\+1); /* true: x\+1 is a symbol */
(%o12) true
(%i13) symbolp("hello there"); /* false: "hello there" is not a symbol */
(%o13) false
(%i14) symbolp(hello\ there); /* true: hello\ there is now a symbol */
(%o14) true
</syntaxhighlight>
==== Summary Table: ====
{| class="wikitable"
|Operator
|Returns <code>true</code> for...
|Returns <code>false</code> for...
|-
|<code>atom()</code>
|Numbers, Identifiers, Strings, <code>nil</code>
|Expressions (e.g., <code>x+1</code>, <code>sin(x)</code>)
|-
|<code>symbolp()</code>
|Symbols (Identifiers, Names)
|Numbers, Strings, Expressions, <code>nil</code>
|}
Atoms are further categorized into integers, floats, strings, or identifiers (symbols). Use <code>atom()</code> to distinguish between atomic data and composite expressions, and <code>symbolp()</code> to specifically identify symbolic names.
In attempting to be technically precise in the use of these various terms, it is often the case that the user becomes immersed in a confusing sea of technical jargon. On the other hand, in attempting to be clear and simple, there is the risk that some subjective or objective technical standards fail to be met. In this book, for the sake of clarity and simplicity, the term '''''identifier''''' is used for names and symbols in the broadest practical sense.
==== Unicode Support: ====
As was mentioned previously, versions of Maxima, and specifically the ''wxMaxima'' GUI, support Unicode characters in identifiers, treating them as alphabetic characters without the need to be escaped, provided the underlying Lisp implementation and font support them. This support extends the set of characters available for use in composing identifiers. This support can be useful in using Greek letters and other mathematical symbols. For example:<syntaxhighlight lang="maxima">
(%i5) Θ(s,r):= s/r;
(%o5) Θ(s,r):=s/r
(%i6) Θ(%pi/2,4); /* radians as a function of arc length and radius */
(%o6) %pi/8
</syntaxhighlight>Unicode can also be used in other ways in expressions:<syntaxhighlight lang="maxima">
(%i7) declare(ℝ, feature); /* make ℝ a feature */
(%o7) done
/* define a function to test identifiers for feature ℝ */
(%i8) ℝ(x):= block( [q],
if not symbolp(x)
then
q:sconcat(x," is not an indentifier")
elseif featurep(x, ℝ)
then
q:concat(x, " ∈ ℝ")
else
q:concat(x, " ∉ ℝ"),
return (q) )$
(%i9) declare(x,ℝ); /* make ℝ a feature of identifier x */
(%o9) done
(%i10) ℝ(x); /* check x for feature ℝ */
(%o10) x ∈ ℝ
(%i11) ℝ(w); /* check w for feature ℝ */
(%o11) w ∉ ℝ
(%i12) ℝ(3); /* check 3 for feature ℝ */
(%o12) 3 is not an indentifier
</syntaxhighlight>Users should be aware of some aspects of using Unicode in the context of Maxima. First, apart from the ''wxMaxima'' GUI, using Unicode characters is likely to be a "cut-and-paste" operation using a character map of some kind. ''wxMaxima'' has built-in Unicode support which makes using these characters simple.
Second, there can be some anomalous behavior. For example:<syntaxhighlight lang="maxima">
(%i14) ℃; /* This Unicode character ℃ (2103) is an acceptable symbol */
(%o14) ℃
(%i15) symbolp(℃); /* Maxima likes ℃ */
(%o15) true
/* This Unicode character ℉ (2109) is an acceptable symbol */
(%i16) symbolp(℉);
(%o16) true
/* This Unicode character ° (00B0) is an acceptable symbol */
(%i17) symbolp(°)
(%o17) true
/* Maxima does not like this ° (00B0) character with another one */
(%i18) symbolp(°R);
incorrect syntax: R is not an infix operator
symbolp(°R)
^
/* Maxima likes this ° (00B0) character if escaped */
(%i19) symbolp(\°R);
(%o19) true
</syntaxhighlight>
==== Features: ====
The foregoing example demonstrates that '''''features''''' can be associated with identifiers.<syntaxhighlight lang="maxima">(%i10) features;
(%o10) [integer,noninteger,even,odd,rational,irrational,real,
imaginary,complex,analytic,increasing,decreasing,oddfun
evenfun,posfun,constant,commutative,lassociative,
rassociative,symmetric,antisymmetric,integervalued,ℝ]</syntaxhighlight>All of these features are built-in to Maxima except the last one – ℝ. ℝ is a user-defined feature.
Maxima recognizes certain mathematical properties of functions and identifiers. These properties are called "''features''". The operator <code>declare(<var>x</var>,<var>foo</var>)</code> associates the feature <var><code>foo</code></var> with the function or identifier <var>x</var>. The operator <code>declare(<var>foo</var>, feature)</code> declares a new feature <var><code>foo</code></var>.
For example, <code>declare(ℝ, feature)</code> declares <code>ℝ</code> as a user-defined feature.
The predicate operator <code>featurep(<var>x</var>, ℝ</code> returns <code>true</code> if <var>x</var> has the ℝ feature, and <code>false</code> otherwise.
==== Properties: ====
In addition to features, '''''properties''''' can be attributed to identifiers using the <code>put <var>(atom, value, indicator)</var></code> operator or the <code>qput <var>(atom, value, indicator)</var></code> operator. The terminology used with these operators can be confusing. These operators attribute a ''property'' using the argument named <code>indicator</code> and assign a value to the indicator using the argument named <code>value</code> to that indicator. The difference between these two operators is that <code>put</code> evaluates arguments and <code>qput</code> does not. The Maxima documentation explains as follows:<blockquote>
; '''put''' <var>(atom, value, indicator)</var>
Assigns <var>value</var> to the property (specified by <var>indicator</var>) of <var>atom</var>. <var>indicator</var> may be the name of any property, not just a system-defined property.
<code>rem</code> reverses the effect of <code>put</code>.
<code>put</code> evaluates its arguments. <code>put</code> returns <var>value</var>.
;
; '''qput''' <var>(atom, value, indicator)</var>
: Assigns <var>value</var> to the property (specified by <var>indicator</var>) of <var>atom</var>. This is the same as <code>put</code>, except that the arguments are quoted.
</blockquote>What "quoted" means in this context is that the evaluation of the arguments is suppressed.
The operator <code>get<var>(a</var><var>tom, indicator)</var></code> returns the property indicated by <code>indicator</code> associated with the identifier (<code>atom</code>) or returns <code>false</code> if <code>atom</code> doesn’t have the property <code>indicator</code>. The operator <code>get</code> evaluates its arguments.
The fog of this word salad can be lifted by way of an example. The following from the Maxima documentation exemplifies the use of the <code>put</code> and <code>get</code> operators:<syntaxhighlight lang="maxima">(%i11) put (%e, 'transcendental, 'type);
(%o11) transcendental
(%12) put (%pi, 'transcendental, 'type);
(%o12) transcendental
(%i13) put (%i, 'algebraic, 'type);
(%o13) algebraic
(%i14) typeof (expr) := block ([q],
if numberp (expr)
then return ('algebraic),
if not atom (expr)
then return (maplist ('typeof, expr)),
q: get (expr, 'type),
if q=false
then errcatch (error(expr,"is not numeric.")) else q)$
(%i15) typeof (2*%e + x*%pi);
x is not numeric.
(%o15) [[transcendental,[]],[algebraic,transcendental]]
(%i16) typeof (2*%e + %pi);
(%o16) [transcendental,[algebraic,transcendental]]</syntaxhighlight>These expressions provide examples of the use of <code>put</code> and <code>get</code> operators. The indicator for the property used is quoted ( <code>'type</code> ) presumably to prevent its evaluation in order to prevent a possible clash with a Maxima system identifier with the same name.
An identifier can have multiple attributed properties. The same property can be attributed to different identifiers with different values.
This example also demonstrates the recursive use of the user-defined function <code>typeof</code>.
==== Maxima System Constants: ====
Maxima provides built-in identifiers used to reference some frequently used constants. Among these are <code>%e</code>, <code>%i</code>, <code>%gamma</code>, and <code>%phi</code>, as well as others. Refer to the Maxima documentation for the full list of built-in constants and the related technical details.
==== Maxima System Labels: ====
The following table summarizes the built-in identifier labels for input and output expressions:
{| class="wikitable"
|+Maxima Input and Output Labels
!Label
!Value
!
!
|-
|%
|last output expression
|
|
|-
|%in
|input expression as labeled
|
|
|-
|%on
|output expression as labeled
|
|
|}
The value of <code>n</code> within these labels is generated automatically and sequentially by Maxima. The values of <code>n</code> are numerals for the natural numbers starting at <code>1</code>. These labels can serve as a sort of handy shorthand as identifiers for referencing expressions. However, users should be aware that reliance on these labels in certain cases can result in unexpected and unwanted side-effects, as well as a negative effect on the readability of saved expressions.
The system labels <code>%z7</code> and <code>%z9</code> represent any arbitrary integer value. These labels also are automatically generated by Maxima, and typically appear in the output of equation-solving functions (such as <code>solve</code>) when the solution involves periodic or multi-valued mathematical expressions, such as complex logarithms or roots. They serve as integer parameters to indicate that the solution is valid for any integer value assigned to them.
==== Maxima System Flags: ====
There are built-in Maxima system identifiers that serve special purposes. These identifiers may be referred to as '''''flags'''''. Frequently, these flags have the value of <code>true</code> or <code>false</code> , with one or the other as the default value. These flags are relatively many in number, and too numerous to exemplify here.
One flag that can serve as an example is <code>simp</code>:<syntaxhighlight lang="maxima">
(%i17) simp; /* The default value of simp is true */
(%o17) true
(%i18) 3+4; /* simplification is active */
(%o18) 7
(%i19) 21/7; /* simplification is active */
(%o19) 3
(%i20) simp:false; /* the value of simp is assigned false */
(simp) false
(%i21 3+4; /* simplification is not active */
(%o21) 3+4
(%i22) 21/7; /* simplification is not active */
(%o22) 21/7
</syntaxhighlight>
{{BookCat}}
dysktbaapr7o1i7hwj8923r9a1bwwyz
Vehicle Identification Numbers (VIN codes)/Volkswagen/VIN Codes
0
483652
4639928
4639814
2026-06-11T15:54:19Z
JustTheFacts33
3434282
/* Position 5, Engine Type: */
4639928
wikitext
text/x-wiki
{{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}}
===Positions 1–3, World Manufacturer Identifier:===
* WVW - VW passenger car
* WVG - VW SUV & ID Buzz
* WV1 - VW Comm. Vehicles - cargo van, pickup truck (truck)
* WV2 - VW Comm. Vehicles - passenger van, camper van, or minibus (M.P.V.)
* WV3 - VW Comm. Vehicles - chassis cab or cutaway (incomplete vehicle)
* WV4 - VW Comm. Vehicles made by Ford (T7 Transporter, 2nd gen. Amarok) - cargo van, pickup truck (truck)
* WV5 - VW Comm. Vehicles made by Ford (T7 Caravelle) - passenger van, camper van, or minibus (M.P.V.)
* 1VW - VW passenger car made in USA
* 1V1 - VW truck made in USA
* 1V2 - VW SUV made in USA
* 2V8 - VW M.P.V. (Routan) 2009 with side airbags made by Chrysler Canada
* 2V4 - VW M.P.V. (Routan) 2010-2011 made by Chrysler Canada
* 2C4 - Chrysler Group Canada (all brands produced) M.P.V. - used for 2012-2014 Routan
* 3VW - VW passenger car made in Mexico
* 3VV - VW SUV made in Mexico
* 8AW - VW passenger car made in Argentina
* 9BW - VW passenger car made in Brazil
M.P.V.=Multipurpose Passenger Vehicle
===Position 5, Engine Type: ===
{| class="wikitable"
|+Position 5
|-
! VIN !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications
|-
| A || 2.0L || Flat-4 || Gas || OHV || Air-cooled. Bosch L-Jetronic MPI. VW Type 4 air-cooled flat-4 engine. VW Vanagon ('81-Mid '83)
|-
| A || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 150 hp. VW Passat ('98-'00)
|-
| A || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA113 engine. FSI. Timing belt. VW Eos ('07-'08)
|-
| A || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Eos ('09-'10)
|-
| B || 1.9L || Flat-4 || Gas || OHV || Water-cooled. Digijet (Digital-Jetronic) MPI. VW Wasserboxer engine. VW Vanagon (Mid '83-'85)
|-
| B || 2.1L || Flat-4 || Gas || OHV || Water-cooled. VW-Bosch Digifant-controlled MPI. VW Wasserboxer engine. VW Vanagon ('86-'91)
|-
| B || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. <br> VW Eos ('07-'08)
|-
| B || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || Direct injection. Audi EA824 engine. 4163cc.<br> VW Touareg V8 ('07-'08)
|-
| C || 2.5L || I5 || Gas || SOHC,<br /> 10 valve || MPI. VW Eurovan (US: '93, Canada: '92-'93), Transporter (Canada: '92)
|-
| C || 2.0L || I4 || Gas || SOHC,<br /> 8 valve || MPI. VW EA827 engine. VW Passat ('95-'96)
|-
| C || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 150 hp. VW Passat (B5) ('01 - 1st 1/2)
|-
| C || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 220hp.<br> VW Touareg V6 ('04) (when C follows B or Z in the 4th pos. of VIN)
|-
| C || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc.<br> VW Touareg V8 (Early prod. '04) (when C follows C in the 4th pos. of VIN)
|-
| C || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 250 hp.<br> VW R32 ('08)
|-
| D || 2.5L || I5 || Gas || SOHC,<br /> 10 valve || MPI. VW Eurovan ('93)
|-
| D || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine.<br> VW Corrado ('92-'93), Passat GLX VR6 ('93), GTI VR6 (Gen 3), Jetta GLX VR6 (Gen 3) ('95-'99)
|-
| D || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('98-'00)
|-
| D || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 170 hp. VW Passat (B5.5) (Mid '01-'05)
|-
| E || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine.<br> VW Corrado ('92-'93), Passat GLX VR6 ('93, '95-'97), GTI VR6 (Gen 3) ('95), Jetta GLX VR6 (Gen 3) ('95)
|-
| E || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 8 valve || Direct injection. VW EA188 engine. VW Passat TDI ('04-'05)
|-
| E || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Touareg ('07-'09)
|-
| F || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Passat GLX VR6 ('93-'94), Corrado ('93-'94 & '95 in Canada)
|-
| F || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc. VW Phaeton ('04-'06)
|-
| F || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Touareg ('10)
|-
| G || 1.6L || I4 || Diesel || SOHC,<br /> 8 valve || Water-cooled. Indirect injection. VW EA827 engine. VW Vanagon ('82-'83)
|-
| G || 1.9L || I4 Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 8 valve || Direct injection. VW EA827 engine. VW Passat TDI ('96-'97)
|-
| G || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 240 hp.<br> VW R32 ('04), Touareg ('05-'06)
|-
| H || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('00-'04, '05: Early prod.)
|-
| H || 6.0L || 72° W12 || Gas || DOHC,<br /> 48 valve || MPI. VW W12 engine. 414 hp. VW Phaeton ('04-'05)
|-
| H || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('04) (when H follows G or H in the 4th pos. of VIN)
|-
| J || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Passat (Mid '08)
|-
| K || 4.0L || 72° W8 || Gas || DOHC,<br /> 32 valve || MPI. VW W8 engine. VW Passat W8 ('02-'04)
|-
| K || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA113 engine. FSI. Timing belt. VW Passat ('06-Mid '08)
|-
| K || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Passat ('09-'10)
|-
| K || 6.0L || 72° W12 || Gas || DOHC,<br /> 48 valve || MPI. VW W12 engine. 444 hp. VW Phaeton ('06)
|-
| K || 3.0L || 90° V6 Turbo [[w:Intercooler|IC]] || Diesel || DOHC,<br /> 24 valve || Direct injection. Audi EA897 engine. VW Touareg ('10)
|-
| L || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW CC ('09-'10)
|-
| M || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc.<br> VW Touareg V8 ('04-'06)
|-
| M || 3.0L || 90° V6 Turbo [[w:Intercooler|IC]] || Diesel || DOHC,<br /> 24 valve || Direct injection. Audi EA897 engine. VW Touareg ('09)
|-
| R || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || Direct injection. Audi EA824 engine. 4163cc.<br> VW Touareg V8 ('09)
|-
| S || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Jetta GLX VR6 ('94)
|-
| T || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('06-'08)
|-
| U || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('05)
|-
| U || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Passat ('06-'08), VW CC ('09-)
|-
| Z || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('04) (when Z follows P in the 4th pos. of VIN)
|}
===Position 6, Restraint Systems:===
*0 = Active (Manual) 3-point Seat Belts only
*1 = VW-RA (VW Restraint Automatic): Door-mounted front shoulder belts and front knee bolsters
*2 = VW-RA (VW Restraint Automatic): Door-mounted front shoulder belts, Manual front lap belts, and front knee bolsters
*4 = VW-ELRA (VW Electromechanical Restraint Automatic): Motorized front shoulder belts, Manual front lap belts
*5 = Driver-side Airbag, Driver and Passenger Active (Manual) 3-point Seat Belts
*8 = Driver and Passenger Front Airbags
*6 = Active (Manual) belts plus Driver and Passenger Front Airbags & Front Side Airbags & Side Curtain Airbags
*9 = Active (Manual) belts plus Driver and Passenger Front Dual-stage Airbags & Front Side Airbags & Side Curtain Airbags
*3 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags
*0 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Side Curtain Airbags (Phaeton)
*7 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Side Curtain Airbags (Touareg)
*8 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Side Curtain Airbags (Jetta)
*9 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Side Curtain Airbags (Except Jetta)
===Position 7-8, Model Line:===
1981-2009:
*30 = Fox ('87-'93)
*15 = Rabbit Convertible ('81-'84), Cabriolet ('85-'93)
*16 = Jetta ('81-'88)
*17 = Rabbit ('81-'84), Rabbit Truck ('81-'83), Golf (US built: '85-'89)
*1G = Golf (Mexican built: '89-'92), Jetta ('89-'92)
*1H = Golf/GTI ('93-'99 - Mark III), Jetta ('93-'99 - Mark III)
*1E = Cabrio ('95-'99)
*1V = Cabrio ('00-'02)
*1J = Golf/GTI ('99-'06 - Mark IV), R32 ('04), City Golf (Canada only: '07-'09), Jetta wagon ('01-'05 & '06 in Canada - Mark IV)
*9M = Jetta sedan ('99-'05 - Mark IV), City Jetta (Canada only: '07-'09)
*1K = Rabbit/GTI ('06-'09 - Mark V), R32 ('08), Jetta sedan ('05-'09 - Mark V), Jetta Sportwagen ('09 - Mark V)
*32 = Dasher hatchback ('81), Quantum hatchback ('82-'83)/sedan ('82-'88)
*33 = Dasher wagon ('81), Quantum wagon ('82-'88)
*31 = Passat ('90-'94)
*3A = Passat ('95-'97)
*3B = Passat ('98-'05)
*3C = Passat ('06-'09), CC ('09)
*3D = Phaeton ('04-'06)
*53 = Scirocco ('81-'88 & '89 in Canada)
*50 = Corrado ('90-'94 & '95 in Canada)
*1C = New Beetle coupe ('98-'09)
*1Y = New Beetle convertible ('03-'09)
*1F = Eos ('07-'09)
*25 - Vanagon ('81-'91)
*70 = Eurovan ('93-'03 & '92 in Canada), Eurovan-based Winnebago Rialta, Winnebago Vista, Itasca Sunstar Class C motorhomes
*5N = Tiguan ('09)
*7L = Touareg ('04-'09)
2010-:
*BE (Type 1J) = City Golf (Canada only: '10)
*AJ (Type 5K) = Golf/GTI ('10-'14 - Mark 6), Golf R ('12-'13)
*AU (Type AU) = Golf/GTI ('15-'21 - Mark 7), Golf R ('15-'19), Golf Sportwagen ('15-'19 - Mark 7), Golf Alltrack ('17-'19), e-Golf ('15-'19 & '20 in Canada)
*CD (Type CD) = Golf GTI/Golf R ('22-24 - Mark 8)
*CD (Type DA) = Golf GTI/Golf R ('25-present - Mark 8.5)
*AJ (Type 1K) = Jetta sedan ('10 - Mark V), Jetta Sportwagen ('10-'14 - Mark V)
*AJ (Type 16) = Jetta sedan ('11-'18 - Mark VI)
*BU = Jetta sedan ('19-present - Mark VII)
*AN (Type 3C) = Passat ('10)
*A3 (NMS) = Passat ('12-'22)
*AN (Type 3C) = CC ('10-'17)
*AN (Type 3H) = Arteon ('19-'23)
*AG (Type 1C) = New Beetle coupe ('10)
*AL (Type 1Y) = New Beetle convertible ('10)
*AT (Type 5C) = Beetle ('12-'19)
*AH (Type 1F) = Eos ('10-'16)
*EB = ID Buzz ('25)
*B2 (Type CL) = Taos ('22-)
*AX (Type 5N) = Tiguan ('10-'17), Tiguan Limited ('17-'18)
*AX (Type BW) = Tiguan ('18-'24)
*RM = Tiguan ('25-)
*A9 (Type 7L) = Touareg ('10)
*BP (Type 7P) = Touareg ('11-'17)
*CA = Atlas ('18-'26), Atlas Cross Sport ('20-'26)
*E2 = ID.4 (German built: '21-'22)
*E8 = ID.4 (US built: '23-'26)
===Position 9, Check Digit===
[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]
===Position 10, Model Year: ===
[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]
===Position 11, Production Plant:===
* B: Brussels, Belgium
* C: Chattanooga, TN, USA
* D: Bratislava, Slovakia
* E: Emden, Germany
* G: Graz, Austria (Steyr-Daimler-Puch plant: Vanagon Syncro 4wd [US: '86-'87, '89-'91, Canada: '86-'91])
* H: Hanover, Germany
* K: Osnabrueck, Germany (Karmann plant: Scirocco ['81-'88 & '89 in Canada], Corrado ['90-'94 & '95 in Canada], Rabbit Convertible ['81-'84], Cabriolet ['85-'93], Cabrio ['95-'96])
* K: Osnabrueck, Germany (ex-Karmann VW Osnabrueck GmbH plant: Tiguan ['17], Tiguan Limited ['17-'18])
* M: Puebla, Mexico
* P: Zwickau, Germany [For WMI: WVW or WVG]
* P: Sao Bernardo do Campo, Sao Paulo state, Brazil (Anchieta plant) [For WMI: 9BW]
* R: Windsor Assembly - Windsor, ON, Canada (Chrysler plant)
* V: Westmoreland Assembly - East Huntingdon, Westmoreland County, PA, USA [For WMI: 1VW or 1V1]
* V: Portugal [For WMI: WVW]
* W: Wolfsburg, Germany
* 4: Sao Jose dos Pinhais, Parana state, Brazil (Curitiba plant)
* 8: Dresden, Germany
'''Positions 12–17, Serial Number'''
{{BookCat}}
aeqbusms4gjsgajszbtk78yjig71oj8
4639929
4639928
2026-06-11T15:58:11Z
JustTheFacts33
3434282
/* Positions 1–3, World Manufacturer Identifier: */
4639929
wikitext
text/x-wiki
{{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}}
===Positions 1–3, World Manufacturer Identifier:===
* WVW - VW passenger car
* WVG - VW SUV & ID Buzz
* WV1 - VW Comm. Vehicles - cargo van, pickup truck (truck) (Canadian mkt. '92 Transporter Double-Cab Pickup)
* WV2 - VW Comm. Vehicles - passenger van, camper van, or minibus (M.P.V.) (Canadian mkt. '92 Transporter Window Van)
* WV3 - VW Comm. Vehicles - chassis cab or cutaway (incomplete vehicle)
* WV4 - VW Comm. Vehicles made by Ford (T7 Transporter, 2nd gen. Amarok) - cargo van, pickup truck (truck)
* WV5 - VW Comm. Vehicles made by Ford (T7 Caravelle) - passenger van, camper van, or minibus (M.P.V.)
* 1VW - VW passenger car made in USA
* 1V1 - VW truck made in USA
* 1V2 - VW SUV made in USA
* 2V8 - VW M.P.V. (Routan) 2009 with side airbags made by Chrysler Canada
* 2V4 - VW M.P.V. (Routan) 2010-2011 made by Chrysler Canada
* 2C4 - Chrysler Group Canada (all brands produced) M.P.V. - used for 2012-2014 Routan
* 3VW - VW passenger car made in Mexico
* 3VV - VW SUV made in Mexico
* 8AW - VW passenger car made in Argentina
* 9BW - VW passenger car made in Brazil
M.P.V.=Multipurpose Passenger Vehicle
===Position 5, Engine Type: ===
{| class="wikitable"
|+Position 5
|-
! VIN !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications
|-
| A || 2.0L || Flat-4 || Gas || OHV || Air-cooled. Bosch L-Jetronic MPI. VW Type 4 air-cooled flat-4 engine. VW Vanagon ('81-Mid '83)
|-
| A || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 150 hp. VW Passat ('98-'00)
|-
| A || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA113 engine. FSI. Timing belt. VW Eos ('07-'08)
|-
| A || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Eos ('09-'10)
|-
| B || 1.9L || Flat-4 || Gas || OHV || Water-cooled. Digijet (Digital-Jetronic) MPI. VW Wasserboxer engine. VW Vanagon (Mid '83-'85)
|-
| B || 2.1L || Flat-4 || Gas || OHV || Water-cooled. VW-Bosch Digifant-controlled MPI. VW Wasserboxer engine. VW Vanagon ('86-'91)
|-
| B || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. <br> VW Eos ('07-'08)
|-
| B || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || Direct injection. Audi EA824 engine. 4163cc.<br> VW Touareg V8 ('07-'08)
|-
| C || 2.5L || I5 || Gas || SOHC,<br /> 10 valve || MPI. VW Eurovan (US: '93, Canada: '92-'93), Transporter (Canada: '92)
|-
| C || 2.0L || I4 || Gas || SOHC,<br /> 8 valve || MPI. VW EA827 engine. VW Passat ('95-'96)
|-
| C || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 150 hp. VW Passat (B5) ('01 - 1st 1/2)
|-
| C || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 220hp.<br> VW Touareg V6 ('04) (when C follows B or Z in the 4th pos. of VIN)
|-
| C || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc.<br> VW Touareg V8 (Early prod. '04) (when C follows C in the 4th pos. of VIN)
|-
| C || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 250 hp.<br> VW R32 ('08)
|-
| D || 2.5L || I5 || Gas || SOHC,<br /> 10 valve || MPI. VW Eurovan ('93)
|-
| D || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine.<br> VW Corrado ('92-'93), Passat GLX VR6 ('93), GTI VR6 (Gen 3), Jetta GLX VR6 (Gen 3) ('95-'99)
|-
| D || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('98-'00)
|-
| D || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 170 hp. VW Passat (B5.5) (Mid '01-'05)
|-
| E || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine.<br> VW Corrado ('92-'93), Passat GLX VR6 ('93, '95-'97), GTI VR6 (Gen 3) ('95), Jetta GLX VR6 (Gen 3) ('95)
|-
| E || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 8 valve || Direct injection. VW EA188 engine. VW Passat TDI ('04-'05)
|-
| E || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Touareg ('07-'09)
|-
| F || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Passat GLX VR6 ('93-'94), Corrado ('93-'94 & '95 in Canada)
|-
| F || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc. VW Phaeton ('04-'06)
|-
| F || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Touareg ('10)
|-
| G || 1.6L || I4 || Diesel || SOHC,<br /> 8 valve || Water-cooled. Indirect injection. VW EA827 engine. VW Vanagon ('82-'83)
|-
| G || 1.9L || I4 Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 8 valve || Direct injection. VW EA827 engine. VW Passat TDI ('96-'97)
|-
| G || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 240 hp.<br> VW R32 ('04), Touareg ('05-'06)
|-
| H || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('00-'04, '05: Early prod.)
|-
| H || 6.0L || 72° W12 || Gas || DOHC,<br /> 48 valve || MPI. VW W12 engine. 414 hp. VW Phaeton ('04-'05)
|-
| H || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('04) (when H follows G or H in the 4th pos. of VIN)
|-
| J || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Passat (Mid '08)
|-
| K || 4.0L || 72° W8 || Gas || DOHC,<br /> 32 valve || MPI. VW W8 engine. VW Passat W8 ('02-'04)
|-
| K || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA113 engine. FSI. Timing belt. VW Passat ('06-Mid '08)
|-
| K || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Passat ('09-'10)
|-
| K || 6.0L || 72° W12 || Gas || DOHC,<br /> 48 valve || MPI. VW W12 engine. 444 hp. VW Phaeton ('06)
|-
| K || 3.0L || 90° V6 Turbo [[w:Intercooler|IC]] || Diesel || DOHC,<br /> 24 valve || Direct injection. Audi EA897 engine. VW Touareg ('10)
|-
| L || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW CC ('09-'10)
|-
| M || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc.<br> VW Touareg V8 ('04-'06)
|-
| M || 3.0L || 90° V6 Turbo [[w:Intercooler|IC]] || Diesel || DOHC,<br /> 24 valve || Direct injection. Audi EA897 engine. VW Touareg ('09)
|-
| R || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || Direct injection. Audi EA824 engine. 4163cc.<br> VW Touareg V8 ('09)
|-
| S || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Jetta GLX VR6 ('94)
|-
| T || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('06-'08)
|-
| U || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('05)
|-
| U || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Passat ('06-'08), VW CC ('09-)
|-
| Z || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('04) (when Z follows P in the 4th pos. of VIN)
|}
===Position 6, Restraint Systems:===
*0 = Active (Manual) 3-point Seat Belts only
*1 = VW-RA (VW Restraint Automatic): Door-mounted front shoulder belts and front knee bolsters
*2 = VW-RA (VW Restraint Automatic): Door-mounted front shoulder belts, Manual front lap belts, and front knee bolsters
*4 = VW-ELRA (VW Electromechanical Restraint Automatic): Motorized front shoulder belts, Manual front lap belts
*5 = Driver-side Airbag, Driver and Passenger Active (Manual) 3-point Seat Belts
*8 = Driver and Passenger Front Airbags
*6 = Active (Manual) belts plus Driver and Passenger Front Airbags & Front Side Airbags & Side Curtain Airbags
*9 = Active (Manual) belts plus Driver and Passenger Front Dual-stage Airbags & Front Side Airbags & Side Curtain Airbags
*3 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags
*0 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Side Curtain Airbags (Phaeton)
*7 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Side Curtain Airbags (Touareg)
*8 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Side Curtain Airbags (Jetta)
*9 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Side Curtain Airbags (Except Jetta)
===Position 7-8, Model Line:===
1981-2009:
*30 = Fox ('87-'93)
*15 = Rabbit Convertible ('81-'84), Cabriolet ('85-'93)
*16 = Jetta ('81-'88)
*17 = Rabbit ('81-'84), Rabbit Truck ('81-'83), Golf (US built: '85-'89)
*1G = Golf (Mexican built: '89-'92), Jetta ('89-'92)
*1H = Golf/GTI ('93-'99 - Mark III), Jetta ('93-'99 - Mark III)
*1E = Cabrio ('95-'99)
*1V = Cabrio ('00-'02)
*1J = Golf/GTI ('99-'06 - Mark IV), R32 ('04), City Golf (Canada only: '07-'09), Jetta wagon ('01-'05 & '06 in Canada - Mark IV)
*9M = Jetta sedan ('99-'05 - Mark IV), City Jetta (Canada only: '07-'09)
*1K = Rabbit/GTI ('06-'09 - Mark V), R32 ('08), Jetta sedan ('05-'09 - Mark V), Jetta Sportwagen ('09 - Mark V)
*32 = Dasher hatchback ('81), Quantum hatchback ('82-'83)/sedan ('82-'88)
*33 = Dasher wagon ('81), Quantum wagon ('82-'88)
*31 = Passat ('90-'94)
*3A = Passat ('95-'97)
*3B = Passat ('98-'05)
*3C = Passat ('06-'09), CC ('09)
*3D = Phaeton ('04-'06)
*53 = Scirocco ('81-'88 & '89 in Canada)
*50 = Corrado ('90-'94 & '95 in Canada)
*1C = New Beetle coupe ('98-'09)
*1Y = New Beetle convertible ('03-'09)
*1F = Eos ('07-'09)
*25 - Vanagon ('81-'91)
*70 = Eurovan ('93-'03 & '92 in Canada), Eurovan-based Winnebago Rialta, Winnebago Vista, Itasca Sunstar Class C motorhomes
*5N = Tiguan ('09)
*7L = Touareg ('04-'09)
2010-:
*BE (Type 1J) = City Golf (Canada only: '10)
*AJ (Type 5K) = Golf/GTI ('10-'14 - Mark 6), Golf R ('12-'13)
*AU (Type AU) = Golf/GTI ('15-'21 - Mark 7), Golf R ('15-'19), Golf Sportwagen ('15-'19 - Mark 7), Golf Alltrack ('17-'19), e-Golf ('15-'19 & '20 in Canada)
*CD (Type CD) = Golf GTI/Golf R ('22-24 - Mark 8)
*CD (Type DA) = Golf GTI/Golf R ('25-present - Mark 8.5)
*AJ (Type 1K) = Jetta sedan ('10 - Mark V), Jetta Sportwagen ('10-'14 - Mark V)
*AJ (Type 16) = Jetta sedan ('11-'18 - Mark VI)
*BU = Jetta sedan ('19-present - Mark VII)
*AN (Type 3C) = Passat ('10)
*A3 (NMS) = Passat ('12-'22)
*AN (Type 3C) = CC ('10-'17)
*AN (Type 3H) = Arteon ('19-'23)
*AG (Type 1C) = New Beetle coupe ('10)
*AL (Type 1Y) = New Beetle convertible ('10)
*AT (Type 5C) = Beetle ('12-'19)
*AH (Type 1F) = Eos ('10-'16)
*EB = ID Buzz ('25)
*B2 (Type CL) = Taos ('22-)
*AX (Type 5N) = Tiguan ('10-'17), Tiguan Limited ('17-'18)
*AX (Type BW) = Tiguan ('18-'24)
*RM = Tiguan ('25-)
*A9 (Type 7L) = Touareg ('10)
*BP (Type 7P) = Touareg ('11-'17)
*CA = Atlas ('18-'26), Atlas Cross Sport ('20-'26)
*E2 = ID.4 (German built: '21-'22)
*E8 = ID.4 (US built: '23-'26)
===Position 9, Check Digit===
[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]
===Position 10, Model Year: ===
[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]
===Position 11, Production Plant:===
* B: Brussels, Belgium
* C: Chattanooga, TN, USA
* D: Bratislava, Slovakia
* E: Emden, Germany
* G: Graz, Austria (Steyr-Daimler-Puch plant: Vanagon Syncro 4wd [US: '86-'87, '89-'91, Canada: '86-'91])
* H: Hanover, Germany
* K: Osnabrueck, Germany (Karmann plant: Scirocco ['81-'88 & '89 in Canada], Corrado ['90-'94 & '95 in Canada], Rabbit Convertible ['81-'84], Cabriolet ['85-'93], Cabrio ['95-'96])
* K: Osnabrueck, Germany (ex-Karmann VW Osnabrueck GmbH plant: Tiguan ['17], Tiguan Limited ['17-'18])
* M: Puebla, Mexico
* P: Zwickau, Germany [For WMI: WVW or WVG]
* P: Sao Bernardo do Campo, Sao Paulo state, Brazil (Anchieta plant) [For WMI: 9BW]
* R: Windsor Assembly - Windsor, ON, Canada (Chrysler plant)
* V: Westmoreland Assembly - East Huntingdon, Westmoreland County, PA, USA [For WMI: 1VW or 1V1]
* V: Portugal [For WMI: WVW]
* W: Wolfsburg, Germany
* 4: Sao Jose dos Pinhais, Parana state, Brazil (Curitiba plant)
* 8: Dresden, Germany
'''Positions 12–17, Serial Number'''
{{BookCat}}
i0dm1pdalcgn0fra5qr426l6aw5gxic
4639948
4639929
2026-06-11T19:48:00Z
JustTheFacts33
3434282
/* Position 5, Engine Type: */
4639948
wikitext
text/x-wiki
{{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}}
===Positions 1–3, World Manufacturer Identifier:===
* WVW - VW passenger car
* WVG - VW SUV & ID Buzz
* WV1 - VW Comm. Vehicles - cargo van, pickup truck (truck) (Canadian mkt. '92 Transporter Double-Cab Pickup)
* WV2 - VW Comm. Vehicles - passenger van, camper van, or minibus (M.P.V.) (Canadian mkt. '92 Transporter Window Van)
* WV3 - VW Comm. Vehicles - chassis cab or cutaway (incomplete vehicle)
* WV4 - VW Comm. Vehicles made by Ford (T7 Transporter, 2nd gen. Amarok) - cargo van, pickup truck (truck)
* WV5 - VW Comm. Vehicles made by Ford (T7 Caravelle) - passenger van, camper van, or minibus (M.P.V.)
* 1VW - VW passenger car made in USA
* 1V1 - VW truck made in USA
* 1V2 - VW SUV made in USA
* 2V8 - VW M.P.V. (Routan) 2009 with side airbags made by Chrysler Canada
* 2V4 - VW M.P.V. (Routan) 2010-2011 made by Chrysler Canada
* 2C4 - Chrysler Group Canada (all brands produced) M.P.V. - used for 2012-2014 Routan
* 3VW - VW passenger car made in Mexico
* 3VV - VW SUV made in Mexico
* 8AW - VW passenger car made in Argentina
* 9BW - VW passenger car made in Brazil
M.P.V.=Multipurpose Passenger Vehicle
===Position 5, Engine Type: ===
{| class="wikitable"
|+Position 5
|-
! VIN !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications
|-
| A || 2.0L || Flat-4 || Gas || OHV || Air-cooled. Bosch L-Jetronic MPI. VW Type 4 air-cooled flat-4 engine. VW Vanagon ('81-Mid '83)
|-
| A || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 150 hp. VW Passat ('98-'00)
|-
| A || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA113 engine. FSI. Timing belt. VW Eos ('07-'08)
|-
| A || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Eos ('09-'10)
|-
| B || 1.9L || Flat-4 || Gas || OHV || Water-cooled. Digijet (Digital-Jetronic) MPI. VW Wasserboxer engine. VW Vanagon (Mid '83-'85)
|-
| B || 2.1L || Flat-4 || Gas || OHV || Water-cooled. VW-Bosch Digifant-controlled MPI. VW Wasserboxer engine. VW Vanagon ('86-'91)
|-
| B || 2.8L || 15° VR6 || Gas || SOHC,<br /> 24 valve || MPI. VW VR6 engine. VW Eurovan ('01-'03)
|-
| B || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. <br> VW Eos ('07-'08)
|-
| B || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || Direct injection. Audi EA824 engine. 4163cc.<br> VW Touareg V8 ('07-'08)
|-
| C || 2.5L || I5 || Gas || SOHC,<br /> 10 valve || MPI. VW Eurovan (US: '93, Canada: '92-'93), Transporter (Canada: '92)
|-
| C || 2.0L || I4 || Gas || SOHC,<br /> 8 valve || MPI. VW EA827 engine. VW Passat ('95-'96)
|-
| C || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 150 hp. VW Passat (B5) ('01 - 1st 1/2)
|-
| C || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 220hp.<br> VW Touareg V6 ('04) (when C follows B or Z in the 4th pos. of VIN)
|-
| C || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc.<br> VW Touareg V8 (Early prod. '04) (when C follows C in the 4th pos. of VIN)
|-
| C || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 250 hp.<br> VW R32 ('08)
|-
| D || 2.5L || I5 || Gas || SOHC,<br /> 10 valve || MPI. VW Eurovan (US: '93, Canada: '93-'94)
|-
| D || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine.<br> VW Corrado ('92-'93), Passat GLX VR6 ('93), GTI VR6 (Gen 3), Jetta GLX VR6 (Gen 3) ('95-'99)
|-
| D || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('98-'00)
|-
| D || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 170 hp. VW Passat (B5.5) (Mid '01-'05)
|-
| E || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine.<br> VW Corrado ('92-'93), Passat GLX VR6 ('93, '95-'97), GTI VR6 (Gen 3) ('95), Jetta GLX VR6 (Gen 3) ('95)
|-
| E || 2.5L || I5 || Gas || SOHC,<br /> 10 valve || MPI. VW Eurovan (US: '95, Canada: '94-'96)
|-
| E || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 8 valve || Direct injection. VW EA188 engine. VW Passat TDI ('04-'05)
|-
| E || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Touareg ('07-'09)
|-
| F || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Passat GLX VR6 ('93-'94), Corrado ('93-'94 & '95 in Canada)
|-
| F || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc. VW Phaeton ('04-'06)
|-
| F || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Touareg ('10)
|-
| G || 1.6L || I4 || Diesel || SOHC,<br /> 8 valve || Water-cooled. Indirect injection. VW EA827 engine. VW Vanagon ('82-'83)
|-
| G || 2.4L || I5 || Diesel || SOHC,<br /> 10 valve || Indirect injection. VW Eurovan (Canada only: '93-'97)
|-
| G || 1.9L || I4 Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 8 valve || Direct injection. VW EA827 engine. VW Passat TDI ('96-'97)
|-
| G || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 240 hp.<br> VW R32 ('04), Touareg ('05-'06)
|-
| H || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Eurovan ('97, '99-'00)
|-
| H || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('00-'04, '05: Early prod.)
|-
| H || 6.0L || 72° W12 || Gas || DOHC,<br /> 48 valve || MPI. VW W12 engine. 414 hp. VW Phaeton ('04-'05)
|-
| H || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('04) (when H follows G or H in the 4th pos. of VIN)
|-
| J || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Passat (Mid '08)
|-
| K || 4.0L || 72° W8 || Gas || DOHC,<br /> 32 valve || MPI. VW W8 engine. VW Passat W8 ('02-'04)
|-
| K || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA113 engine. FSI. Timing belt. VW Passat ('06-Mid '08)
|-
| K || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Passat ('09-'10)
|-
| K || 6.0L || 72° W12 || Gas || DOHC,<br /> 48 valve || MPI. VW W12 engine. 444 hp. VW Phaeton ('06)
|-
| K || 3.0L || 90° V6 Turbo [[w:Intercooler|IC]] || Diesel || DOHC,<br /> 24 valve || Direct injection. Audi EA897 engine. VW Touareg ('10)
|-
| L || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW CC ('09-'10)
|-
| M || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc.<br> VW Touareg V8 ('04-'06)
|-
| M || 3.0L || 90° V6 Turbo [[w:Intercooler|IC]] || Diesel || DOHC,<br /> 24 valve || Direct injection. Audi EA897 engine. VW Touareg ('09)
|-
| R || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || Direct injection. Audi EA824 engine. 4163cc.<br> VW Touareg V8 ('09)
|-
| S || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Jetta GLX VR6 ('94)
|-
| T || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('06-'08)
|-
| U || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('05)
|-
| U || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Passat ('06-'08), VW CC ('09-)
|-
| Z || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('04) (when Z follows P in the 4th pos. of VIN)
|}
===Position 6, Restraint Systems:===
*0 = Active (Manual) 3-point Seat Belts only
*1 = VW-RA (VW Restraint Automatic): Door-mounted front shoulder belts and front knee bolsters
*2 = VW-RA (VW Restraint Automatic): Door-mounted front shoulder belts, Manual front lap belts, and front knee bolsters
*4 = VW-ELRA (VW Electromechanical Restraint Automatic): Motorized front shoulder belts, Manual front lap belts
*5 = Driver-side Airbag, Driver and Passenger Active (Manual) 3-point Seat Belts
*8 = Driver and Passenger Front Airbags
*6 = Active (Manual) belts plus Driver and Passenger Front Airbags & Front Side Airbags & Side Curtain Airbags
*9 = Active (Manual) belts plus Driver and Passenger Front Dual-stage Airbags & Front Side Airbags & Side Curtain Airbags
*3 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags
*0 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Side Curtain Airbags (Phaeton)
*7 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Side Curtain Airbags (Touareg)
*8 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Side Curtain Airbags (Jetta)
*9 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Side Curtain Airbags (Except Jetta)
===Position 7-8, Model Line:===
1981-2009:
*30 = Fox ('87-'93)
*15 = Rabbit Convertible ('81-'84), Cabriolet ('85-'93)
*16 = Jetta ('81-'88)
*17 = Rabbit ('81-'84), Rabbit Truck ('81-'83), Golf (US built: '85-'89)
*1G = Golf (Mexican built: '89-'92), Jetta ('89-'92)
*1H = Golf/GTI ('93-'99 - Mark III), Jetta ('93-'99 - Mark III)
*1E = Cabrio ('95-'99)
*1V = Cabrio ('00-'02)
*1J = Golf/GTI ('99-'06 - Mark IV), R32 ('04), City Golf (Canada only: '07-'09), Jetta wagon ('01-'05 & '06 in Canada - Mark IV)
*9M = Jetta sedan ('99-'05 - Mark IV), City Jetta (Canada only: '07-'09)
*1K = Rabbit/GTI ('06-'09 - Mark V), R32 ('08), Jetta sedan ('05-'09 - Mark V), Jetta Sportwagen ('09 - Mark V)
*32 = Dasher hatchback ('81), Quantum hatchback ('82-'83)/sedan ('82-'88)
*33 = Dasher wagon ('81), Quantum wagon ('82-'88)
*31 = Passat ('90-'94)
*3A = Passat ('95-'97)
*3B = Passat ('98-'05)
*3C = Passat ('06-'09), CC ('09)
*3D = Phaeton ('04-'06)
*53 = Scirocco ('81-'88 & '89 in Canada)
*50 = Corrado ('90-'94 & '95 in Canada)
*1C = New Beetle coupe ('98-'09)
*1Y = New Beetle convertible ('03-'09)
*1F = Eos ('07-'09)
*25 - Vanagon ('81-'91)
*70 = Eurovan ('93-'03 & '92 in Canada), Eurovan-based Winnebago Rialta, Winnebago Vista, Itasca Sunstar Class C motorhomes
*5N = Tiguan ('09)
*7L = Touareg ('04-'09)
2010-:
*BE (Type 1J) = City Golf (Canada only: '10)
*AJ (Type 5K) = Golf/GTI ('10-'14 - Mark 6), Golf R ('12-'13)
*AU (Type AU) = Golf/GTI ('15-'21 - Mark 7), Golf R ('15-'19), Golf Sportwagen ('15-'19 - Mark 7), Golf Alltrack ('17-'19), e-Golf ('15-'19 & '20 in Canada)
*CD (Type CD) = Golf GTI/Golf R ('22-24 - Mark 8)
*CD (Type DA) = Golf GTI/Golf R ('25-present - Mark 8.5)
*AJ (Type 1K) = Jetta sedan ('10 - Mark V), Jetta Sportwagen ('10-'14 - Mark V)
*AJ (Type 16) = Jetta sedan ('11-'18 - Mark VI)
*BU = Jetta sedan ('19-present - Mark VII)
*AN (Type 3C) = Passat ('10)
*A3 (NMS) = Passat ('12-'22)
*AN (Type 3C) = CC ('10-'17)
*AN (Type 3H) = Arteon ('19-'23)
*AG (Type 1C) = New Beetle coupe ('10)
*AL (Type 1Y) = New Beetle convertible ('10)
*AT (Type 5C) = Beetle ('12-'19)
*AH (Type 1F) = Eos ('10-'16)
*EB = ID Buzz ('25)
*B2 (Type CL) = Taos ('22-)
*AX (Type 5N) = Tiguan ('10-'17), Tiguan Limited ('17-'18)
*AX (Type BW) = Tiguan ('18-'24)
*RM = Tiguan ('25-)
*A9 (Type 7L) = Touareg ('10)
*BP (Type 7P) = Touareg ('11-'17)
*CA = Atlas ('18-'26), Atlas Cross Sport ('20-'26)
*E2 = ID.4 (German built: '21-'22)
*E8 = ID.4 (US built: '23-'26)
===Position 9, Check Digit===
[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]
===Position 10, Model Year: ===
[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]
===Position 11, Production Plant:===
* B: Brussels, Belgium
* C: Chattanooga, TN, USA
* D: Bratislava, Slovakia
* E: Emden, Germany
* G: Graz, Austria (Steyr-Daimler-Puch plant: Vanagon Syncro 4wd [US: '86-'87, '89-'91, Canada: '86-'91])
* H: Hanover, Germany
* K: Osnabrueck, Germany (Karmann plant: Scirocco ['81-'88 & '89 in Canada], Corrado ['90-'94 & '95 in Canada], Rabbit Convertible ['81-'84], Cabriolet ['85-'93], Cabrio ['95-'96])
* K: Osnabrueck, Germany (ex-Karmann VW Osnabrueck GmbH plant: Tiguan ['17], Tiguan Limited ['17-'18])
* M: Puebla, Mexico
* P: Zwickau, Germany [For WMI: WVW or WVG]
* P: Sao Bernardo do Campo, Sao Paulo state, Brazil (Anchieta plant) [For WMI: 9BW]
* R: Windsor Assembly - Windsor, ON, Canada (Chrysler plant)
* V: Westmoreland Assembly - East Huntingdon, Westmoreland County, PA, USA [For WMI: 1VW or 1V1]
* V: Portugal [For WMI: WVW]
* W: Wolfsburg, Germany
* 4: Sao Jose dos Pinhais, Parana state, Brazil (Curitiba plant)
* 8: Dresden, Germany
'''Positions 12–17, Serial Number'''
{{BookCat}}
4tm18v3a2wdqq6znr77nk066k61nk3k
4639949
4639948
2026-06-11T19:48:54Z
JustTheFacts33
3434282
/* Positions 1–3, World Manufacturer Identifier: */
4639949
wikitext
text/x-wiki
{{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}}
===Positions 1–3, World Manufacturer Identifier:===
* WVW - VW passenger car
* WVG - VW SUV & ID Buzz
* WV1 - VW Comm. Vehicles - cargo van, pickup truck (truck) (Canadian mkt. '92 Transporter Double-Cab Pickup)
* WV2 - VW Comm. Vehicles - passenger van, camper van, or minibus (M.P.V.) (Canadian mkt. '92 Transporter Window Van, '95 Transporter)
* WV3 - VW Comm. Vehicles - chassis cab or cutaway (incomplete vehicle)
* WV4 - VW Comm. Vehicles made by Ford (T7 Transporter, 2nd gen. Amarok) - cargo van, pickup truck (truck)
* WV5 - VW Comm. Vehicles made by Ford (T7 Caravelle) - passenger van, camper van, or minibus (M.P.V.)
* 1VW - VW passenger car made in USA
* 1V1 - VW truck made in USA
* 1V2 - VW SUV made in USA
* 2V8 - VW M.P.V. (Routan) 2009 with side airbags made by Chrysler Canada
* 2V4 - VW M.P.V. (Routan) 2010-2011 made by Chrysler Canada
* 2C4 - Chrysler Group Canada (all brands produced) M.P.V. - used for 2012-2014 Routan
* 3VW - VW passenger car made in Mexico
* 3VV - VW SUV made in Mexico
* 8AW - VW passenger car made in Argentina
* 9BW - VW passenger car made in Brazil
M.P.V.=Multipurpose Passenger Vehicle
===Position 5, Engine Type: ===
{| class="wikitable"
|+Position 5
|-
! VIN !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications
|-
| A || 2.0L || Flat-4 || Gas || OHV || Air-cooled. Bosch L-Jetronic MPI. VW Type 4 air-cooled flat-4 engine. VW Vanagon ('81-Mid '83)
|-
| A || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 150 hp. VW Passat ('98-'00)
|-
| A || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA113 engine. FSI. Timing belt. VW Eos ('07-'08)
|-
| A || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Eos ('09-'10)
|-
| B || 1.9L || Flat-4 || Gas || OHV || Water-cooled. Digijet (Digital-Jetronic) MPI. VW Wasserboxer engine. VW Vanagon (Mid '83-'85)
|-
| B || 2.1L || Flat-4 || Gas || OHV || Water-cooled. VW-Bosch Digifant-controlled MPI. VW Wasserboxer engine. VW Vanagon ('86-'91)
|-
| B || 2.8L || 15° VR6 || Gas || SOHC,<br /> 24 valve || MPI. VW VR6 engine. VW Eurovan ('01-'03)
|-
| B || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. <br> VW Eos ('07-'08)
|-
| B || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || Direct injection. Audi EA824 engine. 4163cc.<br> VW Touareg V8 ('07-'08)
|-
| C || 2.5L || I5 || Gas || SOHC,<br /> 10 valve || MPI. VW Eurovan (US: '93, Canada: '92-'93), Transporter (Canada: '92)
|-
| C || 2.0L || I4 || Gas || SOHC,<br /> 8 valve || MPI. VW EA827 engine. VW Passat ('95-'96)
|-
| C || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 150 hp. VW Passat (B5) ('01 - 1st 1/2)
|-
| C || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 220hp.<br> VW Touareg V6 ('04) (when C follows B or Z in the 4th pos. of VIN)
|-
| C || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc.<br> VW Touareg V8 (Early prod. '04) (when C follows C in the 4th pos. of VIN)
|-
| C || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 250 hp.<br> VW R32 ('08)
|-
| D || 2.5L || I5 || Gas || SOHC,<br /> 10 valve || MPI. VW Eurovan (US: '93, Canada: '93-'94)
|-
| D || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine.<br> VW Corrado ('92-'93), Passat GLX VR6 ('93), GTI VR6 (Gen 3), Jetta GLX VR6 (Gen 3) ('95-'99)
|-
| D || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('98-'00)
|-
| D || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 170 hp. VW Passat (B5.5) (Mid '01-'05)
|-
| E || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine.<br> VW Corrado ('92-'93), Passat GLX VR6 ('93, '95-'97), GTI VR6 (Gen 3) ('95), Jetta GLX VR6 (Gen 3) ('95)
|-
| E || 2.5L || I5 || Gas || SOHC,<br /> 10 valve || MPI. VW Eurovan (US: '95, Canada: '94-'96)
|-
| E || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 8 valve || Direct injection. VW EA188 engine. VW Passat TDI ('04-'05)
|-
| E || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Touareg ('07-'09)
|-
| F || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Passat GLX VR6 ('93-'94), Corrado ('93-'94 & '95 in Canada)
|-
| F || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc. VW Phaeton ('04-'06)
|-
| F || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Touareg ('10)
|-
| G || 1.6L || I4 || Diesel || SOHC,<br /> 8 valve || Water-cooled. Indirect injection. VW EA827 engine. VW Vanagon ('82-'83)
|-
| G || 2.4L || I5 || Diesel || SOHC,<br /> 10 valve || Indirect injection. VW Eurovan (Canada only: '93-'97)
|-
| G || 1.9L || I4 Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 8 valve || Direct injection. VW EA827 engine. VW Passat TDI ('96-'97)
|-
| G || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 240 hp.<br> VW R32 ('04), Touareg ('05-'06)
|-
| H || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Eurovan ('97, '99-'00)
|-
| H || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('00-'04, '05: Early prod.)
|-
| H || 6.0L || 72° W12 || Gas || DOHC,<br /> 48 valve || MPI. VW W12 engine. 414 hp. VW Phaeton ('04-'05)
|-
| H || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('04) (when H follows G or H in the 4th pos. of VIN)
|-
| J || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Passat (Mid '08)
|-
| K || 4.0L || 72° W8 || Gas || DOHC,<br /> 32 valve || MPI. VW W8 engine. VW Passat W8 ('02-'04)
|-
| K || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA113 engine. FSI. Timing belt. VW Passat ('06-Mid '08)
|-
| K || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Passat ('09-'10)
|-
| K || 6.0L || 72° W12 || Gas || DOHC,<br /> 48 valve || MPI. VW W12 engine. 444 hp. VW Phaeton ('06)
|-
| K || 3.0L || 90° V6 Turbo [[w:Intercooler|IC]] || Diesel || DOHC,<br /> 24 valve || Direct injection. Audi EA897 engine. VW Touareg ('10)
|-
| L || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW CC ('09-'10)
|-
| M || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc.<br> VW Touareg V8 ('04-'06)
|-
| M || 3.0L || 90° V6 Turbo [[w:Intercooler|IC]] || Diesel || DOHC,<br /> 24 valve || Direct injection. Audi EA897 engine. VW Touareg ('09)
|-
| R || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || Direct injection. Audi EA824 engine. 4163cc.<br> VW Touareg V8 ('09)
|-
| S || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Jetta GLX VR6 ('94)
|-
| T || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('06-'08)
|-
| U || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('05)
|-
| U || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Passat ('06-'08), VW CC ('09-)
|-
| Z || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('04) (when Z follows P in the 4th pos. of VIN)
|}
===Position 6, Restraint Systems:===
*0 = Active (Manual) 3-point Seat Belts only
*1 = VW-RA (VW Restraint Automatic): Door-mounted front shoulder belts and front knee bolsters
*2 = VW-RA (VW Restraint Automatic): Door-mounted front shoulder belts, Manual front lap belts, and front knee bolsters
*4 = VW-ELRA (VW Electromechanical Restraint Automatic): Motorized front shoulder belts, Manual front lap belts
*5 = Driver-side Airbag, Driver and Passenger Active (Manual) 3-point Seat Belts
*8 = Driver and Passenger Front Airbags
*6 = Active (Manual) belts plus Driver and Passenger Front Airbags & Front Side Airbags & Side Curtain Airbags
*9 = Active (Manual) belts plus Driver and Passenger Front Dual-stage Airbags & Front Side Airbags & Side Curtain Airbags
*3 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags
*0 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Side Curtain Airbags (Phaeton)
*7 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Side Curtain Airbags (Touareg)
*8 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Side Curtain Airbags (Jetta)
*9 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Side Curtain Airbags (Except Jetta)
===Position 7-8, Model Line:===
1981-2009:
*30 = Fox ('87-'93)
*15 = Rabbit Convertible ('81-'84), Cabriolet ('85-'93)
*16 = Jetta ('81-'88)
*17 = Rabbit ('81-'84), Rabbit Truck ('81-'83), Golf (US built: '85-'89)
*1G = Golf (Mexican built: '89-'92), Jetta ('89-'92)
*1H = Golf/GTI ('93-'99 - Mark III), Jetta ('93-'99 - Mark III)
*1E = Cabrio ('95-'99)
*1V = Cabrio ('00-'02)
*1J = Golf/GTI ('99-'06 - Mark IV), R32 ('04), City Golf (Canada only: '07-'09), Jetta wagon ('01-'05 & '06 in Canada - Mark IV)
*9M = Jetta sedan ('99-'05 - Mark IV), City Jetta (Canada only: '07-'09)
*1K = Rabbit/GTI ('06-'09 - Mark V), R32 ('08), Jetta sedan ('05-'09 - Mark V), Jetta Sportwagen ('09 - Mark V)
*32 = Dasher hatchback ('81), Quantum hatchback ('82-'83)/sedan ('82-'88)
*33 = Dasher wagon ('81), Quantum wagon ('82-'88)
*31 = Passat ('90-'94)
*3A = Passat ('95-'97)
*3B = Passat ('98-'05)
*3C = Passat ('06-'09), CC ('09)
*3D = Phaeton ('04-'06)
*53 = Scirocco ('81-'88 & '89 in Canada)
*50 = Corrado ('90-'94 & '95 in Canada)
*1C = New Beetle coupe ('98-'09)
*1Y = New Beetle convertible ('03-'09)
*1F = Eos ('07-'09)
*25 - Vanagon ('81-'91)
*70 = Eurovan ('93-'03 & '92 in Canada), Eurovan-based Winnebago Rialta, Winnebago Vista, Itasca Sunstar Class C motorhomes
*5N = Tiguan ('09)
*7L = Touareg ('04-'09)
2010-:
*BE (Type 1J) = City Golf (Canada only: '10)
*AJ (Type 5K) = Golf/GTI ('10-'14 - Mark 6), Golf R ('12-'13)
*AU (Type AU) = Golf/GTI ('15-'21 - Mark 7), Golf R ('15-'19), Golf Sportwagen ('15-'19 - Mark 7), Golf Alltrack ('17-'19), e-Golf ('15-'19 & '20 in Canada)
*CD (Type CD) = Golf GTI/Golf R ('22-24 - Mark 8)
*CD (Type DA) = Golf GTI/Golf R ('25-present - Mark 8.5)
*AJ (Type 1K) = Jetta sedan ('10 - Mark V), Jetta Sportwagen ('10-'14 - Mark V)
*AJ (Type 16) = Jetta sedan ('11-'18 - Mark VI)
*BU = Jetta sedan ('19-present - Mark VII)
*AN (Type 3C) = Passat ('10)
*A3 (NMS) = Passat ('12-'22)
*AN (Type 3C) = CC ('10-'17)
*AN (Type 3H) = Arteon ('19-'23)
*AG (Type 1C) = New Beetle coupe ('10)
*AL (Type 1Y) = New Beetle convertible ('10)
*AT (Type 5C) = Beetle ('12-'19)
*AH (Type 1F) = Eos ('10-'16)
*EB = ID Buzz ('25)
*B2 (Type CL) = Taos ('22-)
*AX (Type 5N) = Tiguan ('10-'17), Tiguan Limited ('17-'18)
*AX (Type BW) = Tiguan ('18-'24)
*RM = Tiguan ('25-)
*A9 (Type 7L) = Touareg ('10)
*BP (Type 7P) = Touareg ('11-'17)
*CA = Atlas ('18-'26), Atlas Cross Sport ('20-'26)
*E2 = ID.4 (German built: '21-'22)
*E8 = ID.4 (US built: '23-'26)
===Position 9, Check Digit===
[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]
===Position 10, Model Year: ===
[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]
===Position 11, Production Plant:===
* B: Brussels, Belgium
* C: Chattanooga, TN, USA
* D: Bratislava, Slovakia
* E: Emden, Germany
* G: Graz, Austria (Steyr-Daimler-Puch plant: Vanagon Syncro 4wd [US: '86-'87, '89-'91, Canada: '86-'91])
* H: Hanover, Germany
* K: Osnabrueck, Germany (Karmann plant: Scirocco ['81-'88 & '89 in Canada], Corrado ['90-'94 & '95 in Canada], Rabbit Convertible ['81-'84], Cabriolet ['85-'93], Cabrio ['95-'96])
* K: Osnabrueck, Germany (ex-Karmann VW Osnabrueck GmbH plant: Tiguan ['17], Tiguan Limited ['17-'18])
* M: Puebla, Mexico
* P: Zwickau, Germany [For WMI: WVW or WVG]
* P: Sao Bernardo do Campo, Sao Paulo state, Brazil (Anchieta plant) [For WMI: 9BW]
* R: Windsor Assembly - Windsor, ON, Canada (Chrysler plant)
* V: Westmoreland Assembly - East Huntingdon, Westmoreland County, PA, USA [For WMI: 1VW or 1V1]
* V: Portugal [For WMI: WVW]
* W: Wolfsburg, Germany
* 4: Sao Jose dos Pinhais, Parana state, Brazil (Curitiba plant)
* 8: Dresden, Germany
'''Positions 12–17, Serial Number'''
{{BookCat}}
o5xkwgy1udf0zrgmnnz4qwzicekcb2z
4639950
4639949
2026-06-11T19:51:53Z
JustTheFacts33
3434282
/* Position 5, Engine Type: */
4639950
wikitext
text/x-wiki
{{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}}
===Positions 1–3, World Manufacturer Identifier:===
* WVW - VW passenger car
* WVG - VW SUV & ID Buzz
* WV1 - VW Comm. Vehicles - cargo van, pickup truck (truck) (Canadian mkt. '92 Transporter Double-Cab Pickup)
* WV2 - VW Comm. Vehicles - passenger van, camper van, or minibus (M.P.V.) (Canadian mkt. '92 Transporter Window Van, '95 Transporter)
* WV3 - VW Comm. Vehicles - chassis cab or cutaway (incomplete vehicle)
* WV4 - VW Comm. Vehicles made by Ford (T7 Transporter, 2nd gen. Amarok) - cargo van, pickup truck (truck)
* WV5 - VW Comm. Vehicles made by Ford (T7 Caravelle) - passenger van, camper van, or minibus (M.P.V.)
* 1VW - VW passenger car made in USA
* 1V1 - VW truck made in USA
* 1V2 - VW SUV made in USA
* 2V8 - VW M.P.V. (Routan) 2009 with side airbags made by Chrysler Canada
* 2V4 - VW M.P.V. (Routan) 2010-2011 made by Chrysler Canada
* 2C4 - Chrysler Group Canada (all brands produced) M.P.V. - used for 2012-2014 Routan
* 3VW - VW passenger car made in Mexico
* 3VV - VW SUV made in Mexico
* 8AW - VW passenger car made in Argentina
* 9BW - VW passenger car made in Brazil
M.P.V.=Multipurpose Passenger Vehicle
===Position 5, Engine Type: ===
{| class="wikitable"
|+Position 5
|-
! VIN !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications
|-
| A || 2.0L || Flat-4 || Gas || OHV || Air-cooled. Bosch L-Jetronic MPI. VW Type 4 air-cooled flat-4 engine. VW Vanagon ('81-Mid '83)
|-
| A || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 150 hp. VW Passat ('98-'00)
|-
| A || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA113 engine. FSI. Timing belt. VW Eos ('07-'08)
|-
| A || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Eos ('09-'10)
|-
| B || 1.9L || Flat-4 || Gas || OHV || Water-cooled. Digijet (Digital-Jetronic) MPI. VW Wasserboxer engine. VW Vanagon (Mid '83-'85)
|-
| B || 2.1L || Flat-4 || Gas || OHV || Water-cooled. VW-Bosch Digifant-controlled MPI. VW Wasserboxer engine. VW Vanagon ('86-'91)
|-
| B || 2.8L || 15° VR6 || Gas || SOHC,<br /> 24 valve || MPI. VW VR6 engine. VW Eurovan ('01-'03)
|-
| B || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. <br> VW Eos ('07-'08)
|-
| B || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || Direct injection. Audi EA824 engine. 4163cc.<br> VW Touareg V8 ('07-'08)
|-
| C || 2.5L || I5 || Gas || SOHC,<br /> 10 valve || MPI. VW Eurovan (US: '93, Canada: '92-'93), Transporter (Canada: '92)
|-
| C || 2.0L || I4 || Gas || SOHC,<br /> 8 valve || MPI. VW EA827 engine. VW Passat ('95-'96)
|-
| C || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 150 hp. VW Passat (B5) ('01 - 1st 1/2)
|-
| C || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 220hp.<br> VW Touareg V6 ('04) (when C follows B or Z in the 4th pos. of VIN)
|-
| C || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc.<br> VW Touareg V8 (Early prod. '04) (when C follows C in the 4th pos. of VIN)
|-
| C || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 250 hp.<br> VW R32 ('08)
|-
| D || 2.5L || I5 || Gas || SOHC,<br /> 10 valve || MPI. VW Eurovan (US: '93, Canada: '93-'94)
|-
| D || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine.<br> VW Corrado ('92-'93), Passat GLX VR6 ('93), GTI VR6 (Gen 3), Jetta GLX VR6 (Gen 3) ('95-'99)
|-
| D || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('98-'00)
|-
| D || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 170 hp. VW Passat (B5.5) (Mid '01-'05)
|-
| E || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine.<br> VW Corrado ('92-'93), Passat GLX VR6 ('93, '95-'97), GTI VR6 (Gen 3) ('95), Jetta GLX VR6 (Gen 3) ('95)
|-
| E || 2.5L || I5 || Gas || SOHC,<br /> 10 valve || MPI. VW Eurovan (US: '95, Canada: '94-'96)
|-
| E || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 8 valve || Direct injection. VW EA188 engine. VW Passat TDI ('04-'05)
|-
| E || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Touareg ('07-'09)
|-
| F || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Passat GLX VR6 ('93-'94), Corrado ('93-'94 & '95 in Canada)
|-
| F || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc. VW Phaeton ('04-'06)
|-
| F || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Touareg ('10)
|-
| G || 1.6L || I4 || Diesel || SOHC,<br /> 8 valve || Water-cooled. Indirect injection. VW EA827 engine. VW Vanagon ('82-'83)
|-
| G || 2.4L || I5 || Diesel || SOHC,<br /> 10 valve || Indirect injection. VW Eurovan (Canada only: '93-'97), Transporter (Canada only: '95)
|-
| G || 1.9L || I4 Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 8 valve || Direct injection. VW EA827 engine. VW Passat TDI ('96-'97)
|-
| G || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 240 hp.<br> VW R32 ('04), Touareg ('05-'06)
|-
| H || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Eurovan ('97, '99-'00)
|-
| H || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('00-'04, '05: Early prod.)
|-
| H || 6.0L || 72° W12 || Gas || DOHC,<br /> 48 valve || MPI. VW W12 engine. 414 hp. VW Phaeton ('04-'05)
|-
| H || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('04) (when H follows G or H in the 4th pos. of VIN)
|-
| J || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Passat (Mid '08)
|-
| K || 4.0L || 72° W8 || Gas || DOHC,<br /> 32 valve || MPI. VW W8 engine. VW Passat W8 ('02-'04)
|-
| K || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA113 engine. FSI. Timing belt. VW Passat ('06-Mid '08)
|-
| K || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Passat ('09-'10)
|-
| K || 6.0L || 72° W12 || Gas || DOHC,<br /> 48 valve || MPI. VW W12 engine. 444 hp. VW Phaeton ('06)
|-
| K || 3.0L || 90° V6 Turbo [[w:Intercooler|IC]] || Diesel || DOHC,<br /> 24 valve || Direct injection. Audi EA897 engine. VW Touareg ('10)
|-
| L || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW CC ('09-'10)
|-
| M || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc.<br> VW Touareg V8 ('04-'06)
|-
| M || 3.0L || 90° V6 Turbo [[w:Intercooler|IC]] || Diesel || DOHC,<br /> 24 valve || Direct injection. Audi EA897 engine. VW Touareg ('09)
|-
| R || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || Direct injection. Audi EA824 engine. 4163cc.<br> VW Touareg V8 ('09)
|-
| S || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Jetta GLX VR6 ('94)
|-
| T || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('06-'08)
|-
| U || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('05)
|-
| U || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Passat ('06-'08), VW CC ('09-)
|-
| Z || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('04) (when Z follows P in the 4th pos. of VIN)
|}
===Position 6, Restraint Systems:===
*0 = Active (Manual) 3-point Seat Belts only
*1 = VW-RA (VW Restraint Automatic): Door-mounted front shoulder belts and front knee bolsters
*2 = VW-RA (VW Restraint Automatic): Door-mounted front shoulder belts, Manual front lap belts, and front knee bolsters
*4 = VW-ELRA (VW Electromechanical Restraint Automatic): Motorized front shoulder belts, Manual front lap belts
*5 = Driver-side Airbag, Driver and Passenger Active (Manual) 3-point Seat Belts
*8 = Driver and Passenger Front Airbags
*6 = Active (Manual) belts plus Driver and Passenger Front Airbags & Front Side Airbags & Side Curtain Airbags
*9 = Active (Manual) belts plus Driver and Passenger Front Dual-stage Airbags & Front Side Airbags & Side Curtain Airbags
*3 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags
*0 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Side Curtain Airbags (Phaeton)
*7 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Side Curtain Airbags (Touareg)
*8 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Side Curtain Airbags (Jetta)
*9 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Side Curtain Airbags (Except Jetta)
===Position 7-8, Model Line:===
1981-2009:
*30 = Fox ('87-'93)
*15 = Rabbit Convertible ('81-'84), Cabriolet ('85-'93)
*16 = Jetta ('81-'88)
*17 = Rabbit ('81-'84), Rabbit Truck ('81-'83), Golf (US built: '85-'89)
*1G = Golf (Mexican built: '89-'92), Jetta ('89-'92)
*1H = Golf/GTI ('93-'99 - Mark III), Jetta ('93-'99 - Mark III)
*1E = Cabrio ('95-'99)
*1V = Cabrio ('00-'02)
*1J = Golf/GTI ('99-'06 - Mark IV), R32 ('04), City Golf (Canada only: '07-'09), Jetta wagon ('01-'05 & '06 in Canada - Mark IV)
*9M = Jetta sedan ('99-'05 - Mark IV), City Jetta (Canada only: '07-'09)
*1K = Rabbit/GTI ('06-'09 - Mark V), R32 ('08), Jetta sedan ('05-'09 - Mark V), Jetta Sportwagen ('09 - Mark V)
*32 = Dasher hatchback ('81), Quantum hatchback ('82-'83)/sedan ('82-'88)
*33 = Dasher wagon ('81), Quantum wagon ('82-'88)
*31 = Passat ('90-'94)
*3A = Passat ('95-'97)
*3B = Passat ('98-'05)
*3C = Passat ('06-'09), CC ('09)
*3D = Phaeton ('04-'06)
*53 = Scirocco ('81-'88 & '89 in Canada)
*50 = Corrado ('90-'94 & '95 in Canada)
*1C = New Beetle coupe ('98-'09)
*1Y = New Beetle convertible ('03-'09)
*1F = Eos ('07-'09)
*25 - Vanagon ('81-'91)
*70 = Eurovan ('93-'03 & '92 in Canada), Eurovan-based Winnebago Rialta, Winnebago Vista, Itasca Sunstar Class C motorhomes
*5N = Tiguan ('09)
*7L = Touareg ('04-'09)
2010-:
*BE (Type 1J) = City Golf (Canada only: '10)
*AJ (Type 5K) = Golf/GTI ('10-'14 - Mark 6), Golf R ('12-'13)
*AU (Type AU) = Golf/GTI ('15-'21 - Mark 7), Golf R ('15-'19), Golf Sportwagen ('15-'19 - Mark 7), Golf Alltrack ('17-'19), e-Golf ('15-'19 & '20 in Canada)
*CD (Type CD) = Golf GTI/Golf R ('22-24 - Mark 8)
*CD (Type DA) = Golf GTI/Golf R ('25-present - Mark 8.5)
*AJ (Type 1K) = Jetta sedan ('10 - Mark V), Jetta Sportwagen ('10-'14 - Mark V)
*AJ (Type 16) = Jetta sedan ('11-'18 - Mark VI)
*BU = Jetta sedan ('19-present - Mark VII)
*AN (Type 3C) = Passat ('10)
*A3 (NMS) = Passat ('12-'22)
*AN (Type 3C) = CC ('10-'17)
*AN (Type 3H) = Arteon ('19-'23)
*AG (Type 1C) = New Beetle coupe ('10)
*AL (Type 1Y) = New Beetle convertible ('10)
*AT (Type 5C) = Beetle ('12-'19)
*AH (Type 1F) = Eos ('10-'16)
*EB = ID Buzz ('25)
*B2 (Type CL) = Taos ('22-)
*AX (Type 5N) = Tiguan ('10-'17), Tiguan Limited ('17-'18)
*AX (Type BW) = Tiguan ('18-'24)
*RM = Tiguan ('25-)
*A9 (Type 7L) = Touareg ('10)
*BP (Type 7P) = Touareg ('11-'17)
*CA = Atlas ('18-'26), Atlas Cross Sport ('20-'26)
*E2 = ID.4 (German built: '21-'22)
*E8 = ID.4 (US built: '23-'26)
===Position 9, Check Digit===
[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]
===Position 10, Model Year: ===
[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]
===Position 11, Production Plant:===
* B: Brussels, Belgium
* C: Chattanooga, TN, USA
* D: Bratislava, Slovakia
* E: Emden, Germany
* G: Graz, Austria (Steyr-Daimler-Puch plant: Vanagon Syncro 4wd [US: '86-'87, '89-'91, Canada: '86-'91])
* H: Hanover, Germany
* K: Osnabrueck, Germany (Karmann plant: Scirocco ['81-'88 & '89 in Canada], Corrado ['90-'94 & '95 in Canada], Rabbit Convertible ['81-'84], Cabriolet ['85-'93], Cabrio ['95-'96])
* K: Osnabrueck, Germany (ex-Karmann VW Osnabrueck GmbH plant: Tiguan ['17], Tiguan Limited ['17-'18])
* M: Puebla, Mexico
* P: Zwickau, Germany [For WMI: WVW or WVG]
* P: Sao Bernardo do Campo, Sao Paulo state, Brazil (Anchieta plant) [For WMI: 9BW]
* R: Windsor Assembly - Windsor, ON, Canada (Chrysler plant)
* V: Westmoreland Assembly - East Huntingdon, Westmoreland County, PA, USA [For WMI: 1VW or 1V1]
* V: Portugal [For WMI: WVW]
* W: Wolfsburg, Germany
* 4: Sao Jose dos Pinhais, Parana state, Brazil (Curitiba plant)
* 8: Dresden, Germany
'''Positions 12–17, Serial Number'''
{{BookCat}}
tqkudw10pb7vt2srtffc914ogm59hqw
4639956
4639950
2026-06-11T20:52:46Z
JustTheFacts33
3434282
/* Position 5, Engine Type: */
4639956
wikitext
text/x-wiki
{{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}}
===Positions 1–3, World Manufacturer Identifier:===
* WVW - VW passenger car
* WVG - VW SUV & ID Buzz
* WV1 - VW Comm. Vehicles - cargo van, pickup truck (truck) (Canadian mkt. '92 Transporter Double-Cab Pickup)
* WV2 - VW Comm. Vehicles - passenger van, camper van, or minibus (M.P.V.) (Canadian mkt. '92 Transporter Window Van, '95 Transporter)
* WV3 - VW Comm. Vehicles - chassis cab or cutaway (incomplete vehicle)
* WV4 - VW Comm. Vehicles made by Ford (T7 Transporter, 2nd gen. Amarok) - cargo van, pickup truck (truck)
* WV5 - VW Comm. Vehicles made by Ford (T7 Caravelle) - passenger van, camper van, or minibus (M.P.V.)
* 1VW - VW passenger car made in USA
* 1V1 - VW truck made in USA
* 1V2 - VW SUV made in USA
* 2V8 - VW M.P.V. (Routan) 2009 with side airbags made by Chrysler Canada
* 2V4 - VW M.P.V. (Routan) 2010-2011 made by Chrysler Canada
* 2C4 - Chrysler Group Canada (all brands produced) M.P.V. - used for 2012-2014 Routan
* 3VW - VW passenger car made in Mexico
* 3VV - VW SUV made in Mexico
* 8AW - VW passenger car made in Argentina
* 9BW - VW passenger car made in Brazil
M.P.V.=Multipurpose Passenger Vehicle
===Position 5, Engine Type: ===
{| class="wikitable"
|+Position 5
|-
! VIN !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications
|-
| A || 2.0L || Flat-4 || Gas || OHV || Air-cooled. Bosch L-Jetronic MPI. VW Type 4 air-cooled flat-4 engine. VW Vanagon ('81-Mid '83)
|-
| A || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 150 hp. VW Passat ('98-'00)
|-
| A || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA113 engine. FSI. Timing belt. VW Eos ('07-'08)
|-
| A || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Eos ('09-'10)
|-
| B || 1.9L || Flat-4 || Gas || OHV || Water-cooled. Digijet (Digital-Jetronic) MPI. VW Wasserboxer engine. VW Vanagon (Mid '83-'85)
|-
| B || 2.1L || Flat-4 || Gas || OHV || Water-cooled. VW-Bosch Digifant-controlled MPI. VW Wasserboxer engine. VW Vanagon ('86-'91)
|-
| B || 2.8L || 15° VR6 || Gas || SOHC,<br /> 24 valve || MPI. VW VR6 engine.<br> VW Eurovan ('01-'03), Winnebago Rialta ('01-'04), Winnebago Vista ('02-'04), Itasca Sunstar ('02-'04)
|-
| B || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. <br> VW Eos ('07-'08)
|-
| B || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || Direct injection. Audi EA824 engine. 4163cc.<br> VW Touareg V8 ('07-'08)
|-
| C || 2.5L || I5 || Gas || SOHC,<br /> 10 valve || MPI. VW Eurovan (US: '93, Canada: '92-'93), Transporter (Canada: '92)
|-
| C || 2.0L || I4 || Gas || SOHC,<br /> 8 valve || MPI. VW EA827 engine. VW Passat ('95-'96)
|-
| C || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 150 hp. VW Passat (B5) ('01 - 1st 1/2)
|-
| C || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 220hp.<br> VW Touareg V6 ('04) (when C follows B or Z in the 4th pos. of VIN)
|-
| C || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc.<br> VW Touareg V8 (Early prod. '04) (when C follows C in the 4th pos. of VIN)
|-
| C || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 250 hp.<br> VW R32 ('08)
|-
| D || 2.5L || I5 || Gas || SOHC,<br /> 10 valve || MPI. VW Eurovan (US: '93, Canada: '93-'94)
|-
| D || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine.<br> VW Corrado ('92-'93), Passat GLX VR6 ('93), GTI VR6 (Gen 3), Jetta GLX VR6 (Gen 3) ('95-'99)
|-
| D || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('98-'00)
|-
| D || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 170 hp. VW Passat (B5.5) (Mid '01-'05)
|-
| E || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine.<br> VW Corrado ('92-'93), Passat GLX VR6 ('93, '95-'97), GTI VR6 (Gen 3) ('95), Jetta GLX VR6 (Gen 3) ('95)
|-
| E || 2.5L || I5 || Gas || SOHC,<br /> 10 valve || MPI. VW Eurovan (US: '95, Canada: '94-'96), Winnebago Rialta ('95-'96)
|-
| E || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 8 valve || Direct injection. VW EA188 engine. VW Passat TDI ('04-'05)
|-
| E || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Touareg ('07-'09)
|-
| F || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Passat GLX VR6 ('93-'94), Corrado ('93-'94 & '95 in Canada)
|-
| F || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc. VW Phaeton ('04-'06)
|-
| F || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Touareg ('10)
|-
| G || 1.6L || I4 || Diesel || SOHC,<br /> 8 valve || Water-cooled. Indirect injection. VW EA827 engine. VW Vanagon ('82-'83)
|-
| G || 2.4L || I5 || Diesel || SOHC,<br /> 10 valve || Indirect injection. VW Eurovan (Canada only: '93-'97), Transporter (Canada only: '95)
|-
| G || 1.9L || I4 Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 8 valve || Direct injection. VW EA827 engine. VW Passat TDI ('96-'97)
|-
| G || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 240 hp.<br> VW R32 ('04), Touareg ('05-'06)
|-
| H || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Eurovan ('97, '99-'00), Winnebago Rialta ('97-'00)
|-
| H || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('00-'04, '05: Early prod.)
|-
| H || 6.0L || 72° W12 || Gas || DOHC,<br /> 48 valve || MPI. VW W12 engine. 414 hp. VW Phaeton ('04-'05)
|-
| H || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('04) (when H follows G or H in the 4th pos. of VIN)
|-
| J || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Passat (Mid '08)
|-
| K || 4.0L || 72° W8 || Gas || DOHC,<br /> 32 valve || MPI. VW W8 engine. VW Passat W8 ('02-'04)
|-
| K || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA113 engine. FSI. Timing belt. VW Passat ('06-Mid '08)
|-
| K || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Passat ('09-'10)
|-
| K || 6.0L || 72° W12 || Gas || DOHC,<br /> 48 valve || MPI. VW W12 engine. 444 hp. VW Phaeton ('06)
|-
| K || 3.0L || 90° V6 Turbo [[w:Intercooler|IC]] || Diesel || DOHC,<br /> 24 valve || Direct injection. Audi EA897 engine. VW Touareg ('10)
|-
| L || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW CC ('09-'10)
|-
| M || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc.<br> VW Touareg V8 ('04-'06)
|-
| M || 3.0L || 90° V6 Turbo [[w:Intercooler|IC]] || Diesel || DOHC,<br /> 24 valve || Direct injection. Audi EA897 engine. VW Touareg ('09)
|-
| R || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || Direct injection. Audi EA824 engine. 4163cc.<br> VW Touareg V8 ('09)
|-
| S || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Jetta GLX VR6 ('94)
|-
| T || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('06-'08)
|-
| U || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('05)
|-
| U || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Passat ('06-'08), VW CC ('09-)
|-
| Z || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('04) (when Z follows P in the 4th pos. of VIN)
|}
===Position 6, Restraint Systems:===
*0 = Active (Manual) 3-point Seat Belts only
*1 = VW-RA (VW Restraint Automatic): Door-mounted front shoulder belts and front knee bolsters
*2 = VW-RA (VW Restraint Automatic): Door-mounted front shoulder belts, Manual front lap belts, and front knee bolsters
*4 = VW-ELRA (VW Electromechanical Restraint Automatic): Motorized front shoulder belts, Manual front lap belts
*5 = Driver-side Airbag, Driver and Passenger Active (Manual) 3-point Seat Belts
*8 = Driver and Passenger Front Airbags
*6 = Active (Manual) belts plus Driver and Passenger Front Airbags & Front Side Airbags & Side Curtain Airbags
*9 = Active (Manual) belts plus Driver and Passenger Front Dual-stage Airbags & Front Side Airbags & Side Curtain Airbags
*3 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags
*0 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Side Curtain Airbags (Phaeton)
*7 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Side Curtain Airbags (Touareg)
*8 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Side Curtain Airbags (Jetta)
*9 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Side Curtain Airbags (Except Jetta)
===Position 7-8, Model Line:===
1981-2009:
*30 = Fox ('87-'93)
*15 = Rabbit Convertible ('81-'84), Cabriolet ('85-'93)
*16 = Jetta ('81-'88)
*17 = Rabbit ('81-'84), Rabbit Truck ('81-'83), Golf (US built: '85-'89)
*1G = Golf (Mexican built: '89-'92), Jetta ('89-'92)
*1H = Golf/GTI ('93-'99 - Mark III), Jetta ('93-'99 - Mark III)
*1E = Cabrio ('95-'99)
*1V = Cabrio ('00-'02)
*1J = Golf/GTI ('99-'06 - Mark IV), R32 ('04), City Golf (Canada only: '07-'09), Jetta wagon ('01-'05 & '06 in Canada - Mark IV)
*9M = Jetta sedan ('99-'05 - Mark IV), City Jetta (Canada only: '07-'09)
*1K = Rabbit/GTI ('06-'09 - Mark V), R32 ('08), Jetta sedan ('05-'09 - Mark V), Jetta Sportwagen ('09 - Mark V)
*32 = Dasher hatchback ('81), Quantum hatchback ('82-'83)/sedan ('82-'88)
*33 = Dasher wagon ('81), Quantum wagon ('82-'88)
*31 = Passat ('90-'94)
*3A = Passat ('95-'97)
*3B = Passat ('98-'05)
*3C = Passat ('06-'09), CC ('09)
*3D = Phaeton ('04-'06)
*53 = Scirocco ('81-'88 & '89 in Canada)
*50 = Corrado ('90-'94 & '95 in Canada)
*1C = New Beetle coupe ('98-'09)
*1Y = New Beetle convertible ('03-'09)
*1F = Eos ('07-'09)
*25 - Vanagon ('81-'91)
*70 = Eurovan ('93-'03 & '92 in Canada), Eurovan-based Winnebago Rialta, Winnebago Vista, Itasca Sunstar Class C motorhomes
*5N = Tiguan ('09)
*7L = Touareg ('04-'09)
2010-:
*BE (Type 1J) = City Golf (Canada only: '10)
*AJ (Type 5K) = Golf/GTI ('10-'14 - Mark 6), Golf R ('12-'13)
*AU (Type AU) = Golf/GTI ('15-'21 - Mark 7), Golf R ('15-'19), Golf Sportwagen ('15-'19 - Mark 7), Golf Alltrack ('17-'19), e-Golf ('15-'19 & '20 in Canada)
*CD (Type CD) = Golf GTI/Golf R ('22-24 - Mark 8)
*CD (Type DA) = Golf GTI/Golf R ('25-present - Mark 8.5)
*AJ (Type 1K) = Jetta sedan ('10 - Mark V), Jetta Sportwagen ('10-'14 - Mark V)
*AJ (Type 16) = Jetta sedan ('11-'18 - Mark VI)
*BU = Jetta sedan ('19-present - Mark VII)
*AN (Type 3C) = Passat ('10)
*A3 (NMS) = Passat ('12-'22)
*AN (Type 3C) = CC ('10-'17)
*AN (Type 3H) = Arteon ('19-'23)
*AG (Type 1C) = New Beetle coupe ('10)
*AL (Type 1Y) = New Beetle convertible ('10)
*AT (Type 5C) = Beetle ('12-'19)
*AH (Type 1F) = Eos ('10-'16)
*EB = ID Buzz ('25)
*B2 (Type CL) = Taos ('22-)
*AX (Type 5N) = Tiguan ('10-'17), Tiguan Limited ('17-'18)
*AX (Type BW) = Tiguan ('18-'24)
*RM = Tiguan ('25-)
*A9 (Type 7L) = Touareg ('10)
*BP (Type 7P) = Touareg ('11-'17)
*CA = Atlas ('18-'26), Atlas Cross Sport ('20-'26)
*E2 = ID.4 (German built: '21-'22)
*E8 = ID.4 (US built: '23-'26)
===Position 9, Check Digit===
[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]
===Position 10, Model Year: ===
[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]
===Position 11, Production Plant:===
* B: Brussels, Belgium
* C: Chattanooga, TN, USA
* D: Bratislava, Slovakia
* E: Emden, Germany
* G: Graz, Austria (Steyr-Daimler-Puch plant: Vanagon Syncro 4wd [US: '86-'87, '89-'91, Canada: '86-'91])
* H: Hanover, Germany
* K: Osnabrueck, Germany (Karmann plant: Scirocco ['81-'88 & '89 in Canada], Corrado ['90-'94 & '95 in Canada], Rabbit Convertible ['81-'84], Cabriolet ['85-'93], Cabrio ['95-'96])
* K: Osnabrueck, Germany (ex-Karmann VW Osnabrueck GmbH plant: Tiguan ['17], Tiguan Limited ['17-'18])
* M: Puebla, Mexico
* P: Zwickau, Germany [For WMI: WVW or WVG]
* P: Sao Bernardo do Campo, Sao Paulo state, Brazil (Anchieta plant) [For WMI: 9BW]
* R: Windsor Assembly - Windsor, ON, Canada (Chrysler plant)
* V: Westmoreland Assembly - East Huntingdon, Westmoreland County, PA, USA [For WMI: 1VW or 1V1]
* V: Portugal [For WMI: WVW]
* W: Wolfsburg, Germany
* 4: Sao Jose dos Pinhais, Parana state, Brazil (Curitiba plant)
* 8: Dresden, Germany
'''Positions 12–17, Serial Number'''
{{BookCat}}
i3a09804wxvbzekqikdkzn04qqvdq8i
4639957
4639956
2026-06-11T21:05:36Z
JustTheFacts33
3434282
4639957
wikitext
text/x-wiki
{{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}}
===Positions 1–3, World Manufacturer Identifier:===
* WVW - VW passenger car
* WVG - VW SUV & ID Buzz
* WV1 - VW Comm. Vehicles - cargo van, pickup truck (truck) (Canadian mkt. '92 Transporter Double-Cab Pickup)
* WV2 - VW Comm. Vehicles - passenger van, camper van, or minibus (M.P.V.) (Canadian mkt. '92 Transporter Window Van, '95 Transporter)
* WV3 - VW Comm. Vehicles - chassis cab or cutaway (incomplete vehicle) [Winnebago Rialta ('97-'04), Winnebago Vista ('02-'04), Itasca Sunstar ('02-'04)]
* WV4 - VW Comm. Vehicles made by Ford (T7 Transporter, 2nd gen. Amarok) - cargo van, pickup truck (truck)
* WV5 - VW Comm. Vehicles made by Ford (T7 Caravelle) - passenger van, camper van, or minibus (M.P.V.)
* 1VW - VW passenger car made in USA
* 1V1 - VW truck made in USA
* 1V2 - VW SUV made in USA
* 1WV - Winnebago M.P.V. - Class C Motorhome built on VW chassis & front cab [Winnebago Rialta ('95-'96)]
* 2V8 - VW M.P.V. (Routan) 2009 with side airbags made by Chrysler Canada
* 2V4 - VW M.P.V. (Routan) 2010-2011 made by Chrysler Canada
* 2C4 - Chrysler Group Canada (all brands produced) M.P.V. - used for 2012-2014 Routan
* 3VW - VW passenger car made in Mexico
* 3VV - VW SUV made in Mexico
* 8AW - VW passenger car made in Argentina
* 9BW - VW passenger car made in Brazil
M.P.V.=Multipurpose Passenger Vehicle
===Position 5, Engine Type: ===
{| class="wikitable"
|+Position 5
|-
! VIN !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications
|-
| A || 2.0L || Flat-4 || Gas || OHV || Air-cooled. Bosch L-Jetronic MPI. VW Type 4 air-cooled flat-4 engine. VW Vanagon ('81-Mid '83)
|-
| A || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 150 hp. VW Passat ('98-'00)
|-
| A || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA113 engine. FSI. Timing belt. VW Eos ('07-'08)
|-
| A || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Eos ('09-'10)
|-
| B || 1.9L || Flat-4 || Gas || OHV || Water-cooled. Digijet (Digital-Jetronic) MPI. VW Wasserboxer engine. VW Vanagon (Mid '83-'85)
|-
| B || 2.1L || Flat-4 || Gas || OHV || Water-cooled. VW-Bosch Digifant-controlled MPI. VW Wasserboxer engine. VW Vanagon ('86-'91)
|-
| B || 2.8L || 15° VR6 || Gas || SOHC,<br /> 24 valve || MPI. VW VR6 engine.<br> VW Eurovan ('01-'03), Winnebago Rialta ('01-'04), Winnebago Vista ('02-'04), Itasca Sunstar ('02-'04)
|-
| B || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. <br> VW Eos ('07-'08)
|-
| B || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || Direct injection. Audi EA824 engine. 4163cc.<br> VW Touareg V8 ('07-'08)
|-
| C || 2.5L || I5 || Gas || SOHC,<br /> 10 valve || MPI. VW Eurovan (US: '93, Canada: '92-'93), Transporter (Canada: '92)
|-
| C || 2.0L || I4 || Gas || SOHC,<br /> 8 valve || MPI. VW EA827 engine. VW Passat ('95-'96)
|-
| C || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 150 hp. VW Passat (B5) ('01 - 1st 1/2)
|-
| C || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 220hp.<br> VW Touareg V6 ('04) (when C follows B or Z in the 4th pos. of VIN)
|-
| C || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc.<br> VW Touareg V8 (Early prod. '04) (when C follows C in the 4th pos. of VIN)
|-
| C || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 250 hp.<br> VW R32 ('08)
|-
| D || 2.5L || I5 || Gas || SOHC,<br /> 10 valve || MPI. VW Eurovan (US: '93, Canada: '93-'94)
|-
| D || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine.<br> VW Corrado ('92-'93), Passat GLX VR6 ('93), GTI VR6 (Gen 3), Jetta GLX VR6 (Gen 3) ('95-'99)
|-
| D || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('98-'00)
|-
| D || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 170 hp. VW Passat (B5.5) (Mid '01-'05)
|-
| E || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine.<br> VW Corrado ('92-'93), Passat GLX VR6 ('93, '95-'97), GTI VR6 (Gen 3) ('95), Jetta GLX VR6 (Gen 3) ('95)
|-
| E || 2.5L || I5 || Gas || SOHC,<br /> 10 valve || MPI. VW Eurovan (US: '95, Canada: '94-'96), Winnebago Rialta ('95-'96)
|-
| E || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 8 valve || Direct injection. VW EA188 engine. VW Passat TDI ('04-'05)
|-
| E || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Touareg ('07-'09)
|-
| F || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Passat GLX VR6 ('93-'94), Corrado ('93-'94 & '95 in Canada)
|-
| F || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc. VW Phaeton ('04-'06)
|-
| F || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Touareg ('10)
|-
| G || 1.6L || I4 || Diesel || SOHC,<br /> 8 valve || Water-cooled. Indirect injection. VW EA827 engine. VW Vanagon ('82-'83)
|-
| G || 2.4L || I5 || Diesel || SOHC,<br /> 10 valve || Indirect injection. VW Eurovan (Canada only: '93-'97), Transporter (Canada only: '95)
|-
| G || 1.9L || I4 Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 8 valve || Direct injection. VW EA827 engine. VW Passat TDI ('96-'97)
|-
| G || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 240 hp.<br> VW R32 ('04), Touareg ('05-'06)
|-
| H || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Eurovan ('97, '99-'00), Winnebago Rialta ('97-'00)
|-
| H || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('00-'04, '05: Early prod.)
|-
| H || 6.0L || 72° W12 || Gas || DOHC,<br /> 48 valve || MPI. VW W12 engine. 414 hp. VW Phaeton ('04-'05)
|-
| H || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('04) (when H follows G or H in the 4th pos. of VIN)
|-
| J || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Passat (Mid '08)
|-
| K || 4.0L || 72° W8 || Gas || DOHC,<br /> 32 valve || MPI. VW W8 engine. VW Passat W8 ('02-'04)
|-
| K || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA113 engine. FSI. Timing belt. VW Passat ('06-Mid '08)
|-
| K || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Passat ('09-'10)
|-
| K || 6.0L || 72° W12 || Gas || DOHC,<br /> 48 valve || MPI. VW W12 engine. 444 hp. VW Phaeton ('06)
|-
| K || 3.0L || 90° V6 Turbo [[w:Intercooler|IC]] || Diesel || DOHC,<br /> 24 valve || Direct injection. Audi EA897 engine. VW Touareg ('10)
|-
| L || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW CC ('09-'10)
|-
| M || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc.<br> VW Touareg V8 ('04-'06)
|-
| M || 3.0L || 90° V6 Turbo [[w:Intercooler|IC]] || Diesel || DOHC,<br /> 24 valve || Direct injection. Audi EA897 engine. VW Touareg ('09)
|-
| R || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || Direct injection. Audi EA824 engine. 4163cc.<br> VW Touareg V8 ('09)
|-
| S || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Jetta GLX VR6 ('94)
|-
| T || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('06-'08)
|-
| U || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('05)
|-
| U || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Passat ('06-'08), VW CC ('09-)
|-
| Z || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('04) (when Z follows P in the 4th pos. of VIN)
|}
===Position 6, Restraint Systems:===
*0 = Active (Manual) 3-point Seat Belts only
*1 = VW-RA (VW Restraint Automatic): Door-mounted front shoulder belts and front knee bolsters
*2 = VW-RA (VW Restraint Automatic): Door-mounted front shoulder belts, Manual front lap belts, and front knee bolsters
*4 = VW-ELRA (VW Electromechanical Restraint Automatic): Motorized front shoulder belts, Manual front lap belts
*5 = Driver-side Airbag, Driver and Passenger Active (Manual) 3-point Seat Belts
*8 = Driver and Passenger Front Airbags
*6 = Active (Manual) belts plus Driver and Passenger Front Airbags & Front Side Airbags & Side Curtain Airbags
*9 = Active (Manual) belts plus Driver and Passenger Front Dual-stage Airbags & Front Side Airbags & Side Curtain Airbags
*3 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags
*0 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Side Curtain Airbags (Phaeton)
*7 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Side Curtain Airbags (Touareg)
*8 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Side Curtain Airbags (Jetta)
*9 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Side Curtain Airbags (Except Jetta)
===Position 7-8, Model Line:===
1981-2009:
*30 = Fox ('87-'93)
*15 = Rabbit Convertible ('81-'84), Cabriolet ('85-'93)
*16 = Jetta ('81-'88)
*17 = Rabbit ('81-'84), Rabbit Truck ('81-'83), Golf (US built: '85-'89)
*1G = Golf (Mexican built: '89-'92), Jetta ('89-'92)
*1H = Golf/GTI ('93-'99 - Mark III), Jetta ('93-'99 - Mark III)
*1E = Cabrio ('95-'99)
*1V = Cabrio ('00-'02)
*1J = Golf/GTI ('99-'06 - Mark IV), R32 ('04), City Golf (Canada only: '07-'09), Jetta wagon ('01-'05 & '06 in Canada - Mark IV)
*9M = Jetta sedan ('99-'05 - Mark IV), City Jetta (Canada only: '07-'09)
*1K = Rabbit/GTI ('06-'09 - Mark V), R32 ('08), Jetta sedan ('05-'09 - Mark V), Jetta Sportwagen ('09 - Mark V)
*32 = Dasher hatchback ('81), Quantum hatchback ('82-'83)/sedan ('82-'88)
*33 = Dasher wagon ('81), Quantum wagon ('82-'88)
*31 = Passat ('90-'94)
*3A = Passat ('95-'97)
*3B = Passat ('98-'05)
*3C = Passat ('06-'09), CC ('09)
*3D = Phaeton ('04-'06)
*53 = Scirocco ('81-'88 & '89 in Canada)
*50 = Corrado ('90-'94 & '95 in Canada)
*1C = New Beetle coupe ('98-'09)
*1Y = New Beetle convertible ('03-'09)
*1F = Eos ('07-'09)
*25 - Vanagon ('81-'91)
*70 = Eurovan ('93-'03 & '92 in Canada), Eurovan-based Winnebago Rialta, Winnebago Vista, Itasca Sunstar Class C motorhomes
*5N = Tiguan ('09)
*7L = Touareg ('04-'09)
2010-:
*BE (Type 1J) = City Golf (Canada only: '10)
*AJ (Type 5K) = Golf/GTI ('10-'14 - Mark 6), Golf R ('12-'13)
*AU (Type AU) = Golf/GTI ('15-'21 - Mark 7), Golf R ('15-'19), Golf Sportwagen ('15-'19 - Mark 7), Golf Alltrack ('17-'19), e-Golf ('15-'19 & '20 in Canada)
*CD (Type CD) = Golf GTI/Golf R ('22-24 - Mark 8)
*CD (Type DA) = Golf GTI/Golf R ('25-present - Mark 8.5)
*AJ (Type 1K) = Jetta sedan ('10 - Mark V), Jetta Sportwagen ('10-'14 - Mark V)
*AJ (Type 16) = Jetta sedan ('11-'18 - Mark VI)
*BU = Jetta sedan ('19-present - Mark VII)
*AN (Type 3C) = Passat ('10)
*A3 (NMS) = Passat ('12-'22)
*AN (Type 3C) = CC ('10-'17)
*AN (Type 3H) = Arteon ('19-'23)
*AG (Type 1C) = New Beetle coupe ('10)
*AL (Type 1Y) = New Beetle convertible ('10)
*AT (Type 5C) = Beetle ('12-'19)
*AH (Type 1F) = Eos ('10-'16)
*EB = ID Buzz ('25)
*B2 (Type CL) = Taos ('22-)
*AX (Type 5N) = Tiguan ('10-'17), Tiguan Limited ('17-'18)
*AX (Type BW) = Tiguan ('18-'24)
*RM = Tiguan ('25-)
*A9 (Type 7L) = Touareg ('10)
*BP (Type 7P) = Touareg ('11-'17)
*CA = Atlas ('18-'26), Atlas Cross Sport ('20-'26)
*E2 = ID.4 (German built: '21-'22)
*E8 = ID.4 (US built: '23-'26)
===Position 9, Check Digit===
[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]
===Position 10, Model Year: ===
[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]
===Position 11, Production Plant:===
* B: Brussels, Belgium
* C: Chattanooga, TN, USA
* D: Bratislava, Slovakia
* E: Emden, Germany
* G: Graz, Austria (Steyr-Daimler-Puch plant: Vanagon Syncro 4wd [US: '86-'87, '89-'91, Canada: '86-'91])
* H: Hanover, Germany
* K: Osnabrueck, Germany (Karmann plant: Scirocco ['81-'88 & '89 in Canada], Corrado ['90-'94 & '95 in Canada], Rabbit Convertible ['81-'84], Cabriolet ['85-'93], Cabrio ['95-'96])
* K: Osnabrueck, Germany (ex-Karmann VW Osnabrueck GmbH plant: Tiguan ['17], Tiguan Limited ['17-'18])
* M: Puebla, Mexico
* P: Zwickau, Germany [For WMI: WVW or WVG]
* P: Sao Bernardo do Campo, Sao Paulo state, Brazil (Anchieta plant) [For WMI: 9BW]
* R: Windsor Assembly - Windsor, ON, Canada (Chrysler plant)
* V: Westmoreland Assembly - East Huntingdon, Westmoreland County, PA, USA [For WMI: 1VW or 1V1]
* V: Portugal [For WMI: WVW]
* W: Wolfsburg, Germany
* 4: Sao Jose dos Pinhais, Parana state, Brazil (Curitiba plant)
* 8: Dresden, Germany
'''Positions 12–17, Serial Number'''
{{BookCat}}
fjcpu2zws1ttycqb8bop7idl57nwsdw
Vehicle Identification Numbers (VIN codes)/Audi/VIN Codes
0
483747
4639960
4639558
2026-06-11T22:43:42Z
JustTheFacts33
3434282
/* Position 5, Engine Type: */
4639960
wikitext
text/x-wiki
{{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}}
===Positions 1–3, World Manufacturer Identifier:===
* WAU - Audi (Audi AG) passenger car
* WA1 - Audi (Audi AG) SUV
* WUA - Audi passenger car - quattro GmbH/Audi Sport GmbH (RS3, RS4, RS5, RS6, RS7, TT RS ['18-'22], R8,<br> S4 Cabriolet ['04-'09], S4 25quattro Special Edition sedan ['06], S8 plus ['16-'18], Non-North American Mkt. RS Q3, Q7 V12 TDI)
* WU1 - Audi SUV - Audi Sport GmbH (RS Q8)
* TRU - Audi Hungary (Audi Hungaria Motor Kft.) passenger car (only used for TT/TTS & '12-'13 TT RS)
* 3U5 - Audi Mexico SUV
===Position 5, Engine Type: ===
{| class="wikitable"
|+Position 5
|-
! VIN !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications
|-
| A || 2.2L || I5 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA828 I5 engine. <br> Audi S6 ('95 & '96-'97 in Canada)
|-
| A || 2.8L || 90° V6 || Gas || SOHC,<br /> 12 valve || MPI. Audi EA835 engine - Gen 1. Iron Block. <br> Audi Cabriolet ('95-'98), A4 ('96-'97), A6 sedan ('95-'97), A6 wagon ('95-'98)
|-
| A || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> Audi A6 sedan ('98-'99), A6 Avant ('99)
|-
| B || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. <br> Audi A4 ('97-'99)
|-
| C || 2.8L || 90° V6 || Gas || SOHC,<br /> 12 valve || MPI. Audi EA835 engine - Gen 1. Iron Block. <br> Audi A6 sedan ('95-'97), A6 wagon ('96-'98)
|-
| C || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. <br> Audi A4 sedan/Avant ('00-Mid '05), A4 Cabriolet ('03-'06), TT ('00-'06)
|-
| D || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> Audi A4 ('98-'99)
|-
| D || 2.7L || 90° V6 Twin Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> Audi S4 ('00-'02), A6 ('00-'04), Allroad Quattro ('02-'05)
|-
| D || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine.<br> Audi A3 ('06-'09), TT 3.2 ('05-'06, '08-'09)
|-
| E || 3.6L || 90° V8 || Gas || DOHC,<br /> 32 valve || MPI. Audi V8 engine. Audi V8 Quattro ('90-'91)
|-
| E || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine - PZEV.<br> Audi A3 Fwd ('08-')
|-
| F || 3.7L || 90° V8 || Gas || DOHC,<br /> 32 valve || MPI. Audi V8 engine. Audi A8 ('97-'99)
|-
| F || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine.<br> Audi TT 3.2 ('04-'05)
|-
| F || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine - ULEV.<br> Audi A3 ('06-'11), A3 Quattro ('12-), A4 sedan (Mid '05-'16), A4 Avant (Mid '05-'12), Allroad ('13-'16), A4 Cabriolet ('07-'09), A5 ('10-'), A6 ('12-), TT ('08-'), TTS ('09), Q5 ('11-)
|-
| F || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine - PZEV.<br> Audi A3 Fwd (Early prod. '12)
|-
| G || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || MPI. Audi V8 engine. 4172cc.<br> Audi A8 ('97-'99)
|-
| G || "3.2L" || 90° V6 || Gas || DOHC,<br /> 24 valve || Direct injection. Audi EA837 engine. 3.1L=3123cc.<br> Audi A4 sedan/Avant (Mid '05-'06), A6 ('05-'06)
|-
| G || 3.0L || 90° V6 supercharged [[w:Intercooler|IC]] || Gas || DOHC,<br /> 24 valve || Direct injection. Audi EA837 engine.<br> Audi S4 ('10-'16), S5 Cabriolet ('10-'15), S5 coupe ('13-'15), A6 ('09-'), A7 ('12-), A8 ('13-), Q5 ('13-), Q7 ('11-'15)
|-
| H || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> Audi A4 ('00-'01), A6 ('00-'01)
|-
| H || "3.2L" || 90° V6 || Gas || DOHC,<br /> 24 valve || Direct injection. Audi EA837 engine. 3.1L=3123cc.<br> Audi A4 sedan/Avant ('06-'08), A4 Cabriolet ('07-'09), A6 ('06-'09)
|-
| J || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Diesel || DOHC,<br /> 16 valve || Direct injection. VW EA189 engine.<br> Audi A3 TDI ('10-')
|-
| K || 3.2L || 90° V6 || Gas || DOHC,<br /> 24 valve || Direct injection. Audi EA837 engine. 3197cc. <br> Audi A4 sedan ('09), A5 ('08-'10), A6 ('10-'11), Q5 ('09-'12)
|-
| L || 2.8L || 90° V6 || Gas || SOHC,<br /> 12 valve || MPI. Audi EA835 engine - Gen 1. Iron Block. <br> Audi Cabriolet ('94-'95)
|-
| L || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi V8 engine. 4172cc.<br> Audi A6 ('00-'04), A8 ('00-'06)
|-
| L || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4163cc.<br> Audi S4 sedan/Avant ('04-'08), S4 Cabriolet ('04-'09), A6 ('05-'06), Allroad Quattro ('04-'05)
|-
| M || 3.0L || 90° V6 Turbo [[w:Intercooler|IC]] || Diesel || DOHC,<br /> 24 valve || Direct injection. Audi EA897 engine. Audi A8 ('14-'15), Q7 ('09-'15)
|-
| N || 5.2L || 90° V10 || Gas || DOHC,<br /> 40 valve || Direct injection. Audi EA824 engine.<br> Audi S6 ('07-'11), S8 ('07-'09)
|-
| N || 5.2L || 90° V10 || Gas || DOHC,<br /> 40 valve || Direct injection. Dry sump lubrication. Audi EA824 engine.<br> Audi R8 ('10-'12, '14-'15)
|-
| R || 6.0L || 72° W12 || Gas || DOHC,<br /> 48 valve || MPI. VW W12 engine. Audi A8 ('05-'09)
|-
| S || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. <br> Audi TT ('00)
|-
| T || 1.8L || I4 Turbo Twin [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. High Output - 225 hp. Single Turbo, Twin Intercoolers. <br> Audi TT ('01-'06)
|-
| T || 3.0L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 3. Aluminum block.<br> Audi A4 sedan/Avant ('02-Mid '05), A4 Cabriolet ('03-'06), A6 ('02-'04)
|-
| T || "3.2L" || 90° V6 || Gas || DOHC,<br /> 24 valve || Direct injection. Audi EA837 engine. 3.1L=3123cc.<br> Audi A6 ('05)
|-
| U || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi V8 engine. 4172cc.<br> Audi S6 Avant ('02-'03), S8 ('01-'03)
|-
| U || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || Direct injection. Audi EA824 engine. 4163cc.<br> Audi RS4 sedan ('07-'08), RS4 Cabriolet ('08)
|-
| U || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || Direct injection. Dry sump lubrication. Audi EA824 engine. 4163cc.<br> Audi R8 ('08-'12, '14-'15)
|-
| V || 4.2L || 90° V8 Twin Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 40 valve || MPI. Audi V8 engine. 4172cc.<br> Audi RS6 (US: '03, Canada: '04)
|-
| V || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || Direct injection. Audi EA824 engine. 4163cc.<br> Audi S5 coupe ('08-'12), A6 ('07-'11), A8 ('07-'12), Q7 ('07-'10)
|-
| W || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || MPI. Audi V8 engine. 4172cc. Audi V8 Quattro ('92-'94)
|-
| X || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. <br> Audi TT ('01-'02)
|-
| Y || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> Audi Q7 ('07-'10)
|-
| 1 || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine - ULEV.<br> Audi TTS ('10-')
|-
| 2 || 4.0L || V8 Twin Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 32 valve || Direct injection. Audi-Bentley EA824 engine. 3991cc. Audi A8 ('13-'15), S8 ('13-'15)
|-
| 3 || 2.5L || I5 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || Direct injection. Audi EA855 engine.<br> Audi TT RS ('12-'13)
|-
| 4 || 6.3L || 72° W12 || Gas || DOHC,<br /> 48 valve || Direct injection. VW W12 engine. Audi A8 ('12-')
|-
|}
===Position 6, Restraint Systems:===
*0 = Active (Manual) 3-point Seat Belts only
*5 = Driver-side Airbag, Driver and Passenger Active (Manual) 3-point Seat Belts
*8 = Driver and Passenger Front Airbags
*2 = Active (Manual) belts plus Driver and Passenger Front Airbags & Front Side Airbags ('00-'06 TT)
*4 = Active (Manual) belts plus Driver and Passenger Front Airbags & Front and Rear Side Airbags & Sideguard Side Curtain Airbags ('04-'07 A8)
*5 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Sideguard Side Curtain Airbags (A3, A4)
*6 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Sideguard Side Curtain Airbags ('06-'09 A3, A4)
*3 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Front Knee Airbags ('08-'09 TT, R8, '09 TTS)
*4 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags ('03-'09 A4 Cabriolet, '04-'09 S4 Cabriolet, '08 RS4 Cabriolet)
*7 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Sideguard Side Curtain Airbags
*9 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Sideguard Side Curtain Airbags (Except '08-'09 A8/S8)
*9 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Sideguard Side Curtain Airbags & Front Knee Airbags ('08-'09 A8/S8)
*A = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Front Knee Airbags ('10- A5/S5 Cabriolet, '10- TT/TTS, '12-'13 TT RS, '10- R8)
*A = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Sideguard Side Curtain Airbags ('10- A3, '10- A4/S4, '10-'11 A5/S5 Coupe, '10- A6/S6, '12- A7, '10- Q5, '10- Q7)
*B = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Sideguard Side Curtain Airbags ('10- A3, '10- A4/S4, '10- A6/S6, '12- A7, '10- Q5, '10- Q7)
*A = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Sideguard Side Curtain Airbags & Front Knee Airbags ('12- A5/S5 Coupe)
*A = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Sideguard Side Curtain Airbags & Front Knee Airbags ('10-' A8)
===Position 7-8, Model Line:===
1981-2009:
*8P = A3 ('06-'09)
*81 = 4000 ('81-'87)
*85 = Coupe ('81-'87), Quattro ('83-'85)
*89 = 80/90 ('88-'89)
*8A = 80 ('90-'92), 90 ('90-'91)
*8C = 90 ('93-'95)
*8B = Coupe Quattro ('90-'91)
*8G = Cabriolet ('94-'98)
*8D = A4 ('96-'01), S4 ('00-'02)
*8E = A4 ('02-'08), S4 ('04-'08), RS4 ('07-'08)
*8H = A4 Cabriolet ('03-'09), S4 Cabriolet ('04-'09), RS4 Cabriolet ('08)
*8K = A4 ('09)
*8T = A5 coupe ('08-'09), S5 coupe ('08-'09)
*43 = 5000 ('81-'83)
*44 = 5000 ('84-'88), 100/200 ('89-'91)
*4A = 100/S4 ('92-'94), A6 sedan ('95-'97), A6 wagon ('95-'98), S6 ('95 & '96-'97 in Canada)
*4B = A6 sedan ('98-'04), A6 Avant wagon ('99-'04), Allroad ('01-'05), S6 ('02-'03), RS6 (US: '03, Canada: '04)
*4F = A6 ('05-'09), S6 ('07-'09)
*44 = V8 Quattro ('90)
*4A = V8 Quattro ('91-'94)
*4D = A8 ('97-'03), S8 ('01-'03)
*4E = A8 ('04-'09), S8 ('07-'09)
*8N = TT ('00-'06)
*8J = TT ('08-'09), TTS ('09)
*42 = R8 ('08-'09)
*8R = Q5 ('09)
*4L = Q7 ('07-'09)
2010-:
*FM (Type 8P) = A3 ('10-'13)
*FF (Type 8V) = A3 ('15-'20), S3 ('15-'20), RS3 ('17-'20), A3 Sportback e-tron [PHEV] '16-'18
*GY (Type 8Y) = A3/S3/RS3 ('22-)
*FL (Type 8K) = A4 ('10-'16), Allroad ('13-'16), S4 ('10-'16)
*F4 (Type 8W) = A4 ('17-'25), A4 Allroad ('17-'25), S4 ('18-'25)
*FR (Type 8T) = A5 Coupe ('10-'17), S5 Coupe ('10-'17), RS5 Coupe ('13-'15)
*FH (Type 8F) = A5 Cabriolet ('10-'17), S5 Cabriolet ('10-'17), RS5 Cabriolet ('13-'15)
*F5 = A5 ('18-'25), S5 ('18-'25), RS5 ('18-'19, '21-'25) [Coupe/Cabriolet: '18-'24, Sportback: '18-'25]
*FU = A5/S5 ('25-)
*FB (Type 4F) = A6 ('10-'11), S6 ('10-'11)
*FC (Type 4G) = A6 ('12-'18), S6 ('13-'18)
*FC (Type 4G) = A7 ('12-'18), S7 ('13-'18), RS7 ('14-'18)
*F2 (Type 4A) = A6 ('19-'25), S6 ('20-'25), RS6 Avant ('21-'26), A6 Allroad ('20-'26)
*F2 (Type 4K) = A7 ('19-'25), S7 ('20-'25), RS7 ('21-'26)
*FN = A6 ('26-)
*GH = A6 e-tron, S6 e-tron ('25-)
*FA (Type 4E) = A8 ('10)
*FD (Type 4H) = A8 ('11-'18), S8 ('13-'16), S8 plus ('16-'18)
*F8 (Type 4N) = A8 ('19-'26), S8 ('20-'26)
*FW (Type F8) = e-tron GT ('22-'24), RS e-tron GT ('22-'24), S e-tron GT ('25-), RS e-tron GT performance ('25-)
*FK (Type 8J) = TT ('10-'15), TTS ('10-'15), TT RS ('12-'13)
*FV (Type FV or 8S) = TT ('16-'23), TTS ('16-'23), TT RS ('18-'22)
*FG (Type 42) = R8 ('10-'12, '14-'15)
*FX (Type 4S) = R8 ('17-'18, '20-'23)
*FS (Type 8U) = Q3 ('15-'18)
*F3 = Q3 ('19-'25)
*FJ = Q3 ('26-)
*FZ (Type F4) = Q4 e-tron, Q4 e-tron Sportback ('22-)
*FP (Type 8R) = Q5 ('10-'17), SQ5 ('14-'17)
*FY = Q5 ('18-'25), SQ5 ('18-'25), Q5 Sportback ('21-'25), SQ5 Sportback ('21-'25)
*GU = Q5 ('25-'26), SQ5 ('25-'26), Q5 Sportback ('25-'26), SQ5 Sportback ('25-'26)
*GF = Q6 e-tron, SQ6 e-tron, Q6 e-tron Sportback, SQ6 e-tron Sportback ('25-)
*FE (Type 4L) = Q7 ('10-'15)
*F7 (Type 4M) = Q7 ('17-), SQ7 ('20-)
*F1 (Type 4M) = Q8 ('19-), SQ8 ('20-), RS Q8 ('20-)
*GE = e-tron ('19, '21-'23), e-tron S ('22-'23), e-tron Sportback ('20-'23), e-tron S Sportback ('22-'23),<br> Q8 e-tron ('24), SQ8 e-tron ('24), Q8 e-tron Sportback ('24), SQ8 e-tron Sportback ('24)
===Position 9, Check Digit===
[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]
Check Digit in 9th position of VIN was always used in US & Canada. In Europe, Check Digit in 9th position of VIN was adopted for 2002 model year. Prior to the 2002 model year, a letter Z was used in the 9th position of the VIN in Europe.
===Position 10, Model Year: ===
[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]
===Position 11, Production Plant:===
* A: Ingolstadt, Germany
* B: Brussels, Belgium
* D: Bratislava, Slovakia
* E: Emden, Germany
* K: Rheine, Germany (Karmann plant: Cabriolet ['98], A4 Cabriolet ['03-'09], S4 Cabriolet ['04-'09], RS4 Cabriolet ['08]
* N: Neckarsulm, Germany
* P: Zwickau, Germany
* R: Martorell, Spain
* 1: Gyor, Hungary
* 2: San Jose Chiapa, Puebla state, Mexico
* 7: Heilbronn, Germany
Other plant codes for non-North American models:
* G: Graz, Austria (Steyr-Daimler-Puch plant: V8L)
* U: Uitenhage, South Africa
* X: Poznan, Poland
* Z: Zuffenhausen, Germany (Porsche plant: RS2 Avant)
* 3: Changchun, China (FAW-VW plant)
* 4: Sao Jose dos Pinhais, Parana state, Brazil (Curitiba plant)
* 9: Sarajevo, Bosnia and Herzegovina (Volkswagen Sarajevo d.o.o. plant)
'''Positions 12–17, Serial Number'''
{{BookCat}}
dgj7w6jkubgptopr0lz48ep6du2f3ak
Fundamentals of Mechanics/Manual of Style
0
483845
4639911
4639850
2026-06-11T14:06:26Z
Rainmonger
122366
4639911
wikitext
text/x-wiki
Welcome, fellow physicists! I hope you are interested in helping to contribute to the ''Fundamentals of Mechanics'' effort. If so, please be sure to follow the style guidelines as detailed below. I'd also like to set some basic ground rules on how to create or edit style guidelines:
# If no particular guideline has been set yet, '''consider whether setting a particular guideline improves the readability or accessibility of the book''':
#* If so, [[WB:BOLD|be bold]] and make a call! Please make sure any future guidelines align with previously set ones or carve out explicitly detailed exceptions. Be sure to document it here in an appropriate, logical place.
#* If not, consider whether it would be helpful to document options or default decisions to help speed up content creation.
# If a particular guideline ''has'' been set already, and you think it needs to be changed, please use one of the following procedures:
#* If you need to carve out a new exception that creates minimal change for extant content, use the procedure detailed above.
#* If you need to change anything else, please [https://en.wikibooks.org/w/index.php?title=Talk:Fundamentals_of_Mechanics/Manual_of_Style&action=edit§ion=new start a new topic] on the discussion page for this manual to allow for a period of debate and consensus-building.
== Source ==
See the [[../Preface/]] for more information.
== Default Style ==
Excepting any decisions detailed below or covered by the overarching [[WB:MOS|Wikibooks Manual of Style]], the following print manuals of style will apply in priority order (insofar as they can apply to digital text):
# American Institute of Physics (1990). ''[https://www.aapt.org/Publications/upload/aip_style_4thed.pdf AIP Style Manual]'' (4th ed.). New York: American Institute of Physics Press. Primarily the following pages:
#* pp. 12–19 (III. General style),
#* pp. 23–25 (IV. Mathematical expressions: D. RECOMMENDED NOTATION), and
#* pp. 35–40 (APPENDIX B: CORRECT OR PREFERRED SPELLINGS OF FREQUENTLY OCCURING WORDS and APPENDIX C: UNITS OF MEASURE)
# University of Chicago Press Editorial Staff (2024). ''[https://www.chicagomanualofstyle.org/book/ed18/frontmatter/toc.html The Chicago Manual of Style]'' (18th ed.). Chicago: University of Chicago Press.
#* If anyone knows of a freely accessible version or edition of the CMoS, please link it here!
You can use the corresponding abbreviations '''AIP''' and '''CMoS''' to refer to these works.
== Naming and Structure ==
* Each part of this book that contains subparts should, itself, only consist of a short introduction and a table of contents on its page. Use the following heading conventions to help folks better know where they are in the book:
** The main page of the book uses the heading <code>== Contents ==</code>.
** Each chapter page of the book uses the heading <code>== Chapter Contents ==</code>.
** The page for each section that consists of 2 or more subsections uses the heading <code>== Section Contents ==</code>. (No section should consist of only one subsection; instead include that content on the section page directly.)
* This book is divided into chapters, sections, and subsections as organized in the original text, with any deviations noted below.
** All chapters consist only of sections.
*** ''With one exception (for now):'' '''[[../Preface/|Chapter 0 - Preface]]'''
** Each section consists only of a single page of content or consists only of two or more subsections (with an optional short intro paragraph).
** All subsections consist only of a single page of content.
* Intentional deviations from source naming and structure:
** Remove any parenthetical parts of chapter, section, and subsection titles:
*** ''E.g.,'' '''Kinetic Energy and the Work–Energy Theorem''' ''instead of'' <s>'''Kinetic Energy (KE) and the Work‐Energy Theorem'''</s>
** The first section of each chapter should have the title '''Introduction''' regardless of what title is used in the source.
** Remove any leading article from the title of a section or subsection, except for named theorems and laws:
*** ''E.g.,'' '''Center of Gravity''' ''instead of'' <s>'''The Center of Gravity'''</s> ''but'' '''The Parallel-Axis Theorem'''
== Style and Grammar ==
=== Non-Technical Style ===
==== Tables ====
* All column/row headers in a table should be in title case, regardless of how they appear in the source:
** ''E.g.,'' '''Unit Name''' ''instead of'' <s>'''Unit name'''</s>
* All ''other'' words and phrases in a table should usually not be capitalized, unless it is capitalized in general use:
** ''E.g.,'' '''kelvin''' ''instead of'' <s>'''Kelvin'''</s> ''as the unit, but use standard name capitalization:'' '''William Thomson, 1st Baron Kelvin'''
=== Technical Style ===
==== Numbers and Units ====
* Numbers should be displayed using the following conventions (which largely follow AIP):
** Negative values should use the HTML element <code>&minus;</code> (−) instead of any other symbol: −2
** Numbers in scientific notation should use the HTML element <code>&times;</code> (×): {{Nobr|3.0 × 10<sup>−4</sup>}}
* Certain sequences of information within a sentence or phrase should not break between lines, which can be accomplished thru various means, though use of the {{Tl|Nobr}} template is preferred:
** Number/unit pairs should not break, though it's OK for a unit made up of multiple words to break within itself: {{Nobr|<code><nowiki>{{Nobr|18 kg}}</nowiki></code>}} ''but'' <code>{{Nobr|<nowiki>{{Nobr|5 boxes}}</nowiki>}} of hay</code>
** Numbers in scientific notation should not break: {{Nobr|<code><nowiki>{{Nobr|3.0 &times; 10<sup>&minus;4</sup> m}}</nowiki></code>}}
* Exceptions to AIP style include:
** Use the HTML element <code>&micro;</code> without italics (µ) for the SI prefix "micro-", not <s><code>''&mu;''</code></s> (<s>''μ''</s>)
{{BookCat}}
glrz3tas5k16m9pf5tfjxg2h8b0vs8j
4639922
4639911
2026-06-11T15:06:36Z
Rainmonger
122366
4639922
wikitext
text/x-wiki
Welcome, fellow physicists! I hope you are interested in helping to contribute to the ''Fundamentals of Mechanics'' effort. If so, please be sure to follow the style guidelines as detailed below. I'd also like to set some basic ground rules on how to create or edit style guidelines:
# If no particular guideline has been set yet, '''consider whether setting a particular guideline improves the readability or accessibility of the book''':
#* If so, [[WB:BOLD|be bold]] and make a call! Please make sure any future guidelines align with previously set ones or carve out explicitly detailed exceptions. Be sure to document it here in an appropriate, logical place.
#* If not, consider whether it would be helpful to document options or default decisions to help speed up content creation.
# If a particular guideline ''has'' been set already, and you think it needs to be changed, please use one of the following procedures:
#* If you need to carve out a new exception that creates minimal change for extant content, use the procedure detailed above.
#* If you need to change anything else, please [https://en.wikibooks.org/w/index.php?title=Talk:Fundamentals_of_Mechanics/Manual_of_Style&action=edit§ion=new start a new topic] on the discussion page for this manual to allow for a period of debate and consensus-building.
== Source ==
See the [[../Preface/]] for more information.
== Default Style ==
Excepting any decisions detailed below or covered by the overarching [[WB:MOS|Wikibooks Manual of Style]], the following print manuals of style will apply in priority order (insofar as they can apply to digital text):
# American Institute of Physics (1990). ''[https://www.aapt.org/Publications/upload/aip_style_4thed.pdf AIP Style Manual]'' (4th ed.). New York: American Institute of Physics Press. Primarily the following pages:
#* pp. 12–19 (III. General style),
#* pp. 23–25 (IV. Mathematical expressions: D. RECOMMENDED NOTATION), and
#* pp. 35–40 (APPENDIX B: CORRECT OR PREFERRED SPELLINGS OF FREQUENTLY OCCURING WORDS and APPENDIX C: UNITS OF MEASURE)
# University of Chicago Press Editorial Staff (2024). ''[https://www.chicagomanualofstyle.org/book/ed18/frontmatter/toc.html The Chicago Manual of Style]'' (18th ed.). Chicago: University of Chicago Press.
#* If anyone knows of a freely accessible version or edition of the CMoS, please link it here!
You can use the corresponding abbreviations '''AIP''' and '''CMoS''' to refer to these works.
== Naming and Structure ==
* Each part of this book that contains subparts should, itself, only consist of a short introduction and a table of contents on its page. Use the following heading conventions to help folks better know where they are in the book:
** The main page of the book uses the heading <code>== Contents ==</code>.
** Each chapter page of the book uses the heading <code>== Chapter Contents ==</code>.
** The page for each section that consists of 2 or more subsections uses the heading <code>== Section Contents ==</code>. (No section should consist of only one subsection; instead include that content on the section page directly.)
* This book is divided into chapters, sections, and subsections as organized in the original text, with any deviations noted below.
** All chapters consist only of sections.
*** ''With one exception (for now):'' '''[[../Preface/|Chapter 0 - Preface]]'''
** Each section consists only of a single page of content or consists only of two or more subsections (with an optional short intro paragraph).
** All subsections consist only of a single page of content.
* Intentional deviations from source naming and structure:
** Remove any parenthetical parts of chapter, section, and subsection titles:
*** ''E.g.,'' '''Kinetic Energy and the Work–Energy Theorem''' ''instead of'' <s>'''Kinetic Energy (KE) and the Work‐Energy Theorem'''</s>
** The first section of each chapter should have the title '''Introduction''' regardless of what title is used in the source.
** Remove any leading article from the title of a section or subsection, except for named theorems and laws:
*** ''E.g.,'' '''Center of Gravity''' ''instead of'' <s>'''The Center of Gravity'''</s> ''but'' '''The Parallel-Axis Theorem'''
== Style and Grammar ==
=== Non-Technical Style ===
==== Tables ====
* All column/row headers in a table should be in title case, regardless of how they appear in the source:
** ''E.g.,'' '''Unit Name''' ''instead of'' <s>'''Unit name'''</s>
* All ''other'' words and phrases in a table should usually not be capitalized, unless it is capitalized in general use:
** ''E.g.,'' '''kelvin''' ''instead of'' <s>'''Kelvin'''</s> ''as the unit, but use standard name capitalization:'' '''William Thomson, 1st Baron Kelvin'''
=== Technical Style ===
==== Numbers and Units ====
* Numbers and units should be displayed using the following conventions (which largely follow AIP):
** In most cases, numeric values, whether in scientific notation or not, and whether accompanied by units or not, should use the {{Tl|Val}} template. This template handles the following requirements elegantly, but you can use some or all of these other methods as needed:
*** Negative values should use the HTML element <code>&minus;</code> (−) instead of any other symbol: {{Val|-2}}
*** Numbers in scientific notation should use the HTML element <code>&times;</code> (×): {{Val|3.0|e=4}}
*** Certain sequences of information within a sentence or phrase should not break between lines, which can be accomplished thru various means, though use of the {{Tl|Val}} or {{Tl|Nowrap}} template is preferred:
**** Number/unit pairs should not break, though it's OK for a unit made up of multiple words to break within itself: {{Nowrap|<code><nowiki>{{Nowrap|18 kg}}</nowiki></code>}} ''but'' <code>{{Nowrap|<nowiki>{{Nowrap|5 boxes}}</nowiki>}} of hay</code>
**** Numbers in scientific notation should not break: {{Nowrap|<code><nowiki>{{Nowrap|3.0 &times; 10<sup>&minus;4</sup> m}}</nowiki></code>}}
* Exceptions to AIP style include:
** Use the HTML element <code>&micro;</code> without italics (µ) for the SI prefix "micro-", not <s><code>''&mu;''</code></s> (<s>''μ''</s>)
{{BookCat}}
l6h2h6oefbtdufup4uwbzuienxe7jwi
Template:FoM/Nav/doc
10
483876
4639907
4639789
2026-06-11T13:44:08Z
Rainmonger
122366
4639907
wikitext
text/x-wiki
{{Documentation subpage}}
<!-- Please add categories and interwikis to the bottom of this page, and also add interwikis to Wikidata. -->
== TemplateData ==
{{TemplateData header}}
{{TemplateStyles|Template:FoM/Nav/styles.css}}
<templatedata>
{
"params": {
"prev": {
"aliases": [
"1"
],
"label": "Previous",
"description": "This is the name of the previous subsection, section, or chapter before the one this template is used on. Should be empty if on the first element of its group.",
"type": "string"
},
"next": {
"aliases": [
"2"
],
"label": "Next",
"description": "This is the name of the next subsection, section, or chapter after the one this template is used on. Should be empty if on the last element of its group.",
"type": "string"
}
},
"description": "This template provides the navigation template for the Fundamentals of Mechanics text.",
"format": "inline"
}
</templatedata>
<includeonly>
<!-- Categories and interwikis go here, and interwikis also go on Wikidata. -->
</includeonly>
d5doz4o0l4yl2udreibcsngv4xtaauw
Fundamentals of Mechanics/Units and Vectors/Dimensional Analysis
0
483878
4639915
4639804
2026-06-11T14:17:27Z
Rainmonger
122366
4639915
wikitext
text/x-wiki
<noinclude>{{FoM/Nav|Conversion Factors|Vectors}}</noinclude>
The symbols used to specify the dimensions of length, mass, and time are L, M, and T, respectively. Dimensional analysis is a method used to check the validity of an equation and to derive correct expressions. Only the same dimensions can be added or subtracted; that is, they obey the rules of algebra. To check the validity of an equation, the terms on both sides must have the same dimensions. The dimensions of a physical quantity are denoted using square brackets {{Nowrap|[ ].}} For example, the dimensions of the volume are <math display="inline">[V] = \text{L}^{3}</math>, and those of acceleration are <math display="inline">[a] = \text{L}/\text{T}^{2}</math>.
{{FoM/Ex
| 1.3
| Show that the expression <math display="inline">v^{2} = 2ax</math> is dimensionally consistent, where {{Var|v}} represents the speed, {{Var|x}} represents the displacement, and {{Var|a}} represents the acceleration of the object.
| <math display="block">\left[v^{2}\right] = \left(\text{L}/\text{T}\right)^{2} = \text{L}^{2}/\text{T}^{2}</math>
<math display="block">[ax] = \left(\text{L}/\text{T}^{2}\right) \cdot \text{L} = \text{L}^{2}/\text{T}^{2}</math>
Each term in the equation has the same dimensions, and therefore it is dimensionally correct.
}}
{{BookCat}}
bkeohn9g9mev94rrk5c65toe8muvs2i
4639916
4639915
2026-06-11T14:25:41Z
Rainmonger
122366
4639916
wikitext
text/x-wiki
<noinclude>{{FoM/Nav|Conversion Factors|Vectors}}</noinclude>
The symbols used to specify the dimensions of length, mass, and time are {{Abbr|L|length}}, {{Abbr|M|mass}}, and {{Abbr|T|time}}, respectively. Dimensional analysis is a method used to check the validity of an equation and to derive correct expressions. Only the same dimensions can be added or subtracted; that is, they obey the rules of algebra. To check the validity of an equation, the terms on both sides must have the same dimensions. The dimensions of a physical quantity are denoted using square brackets {{Nowrap|[ ].}} For example, the dimensions of the volume are <math display="inline">[V] = \text{L}^{3}</math>, and those of acceleration are <math display="inline">[a] = \text{L}/\text{T}^{2}</math>.
{{FoM/Ex
| 1.3
| Show that the expression <math display="inline">v^{2} = 2ax</math> is dimensionally consistent, where {{Var|v}} represents the speed, {{Var|x}} represents the displacement, and {{Var|a}} represents the acceleration of the object.
| <math display="block">\left[v^{2}\right] = \left(\text{L}/\text{T}\right)^{2} = \text{L}^{2}/\text{T}^{2}</math>
<math display="block">[ax] = \left(\text{L}/\text{T}^{2}\right) \cdot \text{L} = \text{L}^{2}/\text{T}^{2}</math>
Each term in the equation has the same dimensions, and therefore it is dimensionally correct.
}}
{{BookCat}}
t6r9dz54zgp88584ui8mjpnp71759iv
Fundamentals of Mechanics/Units and Vectors/Vectors
0
483880
4639968
4639830
2026-06-12T00:26:09Z
Rainmonger
122366
4639968
wikitext
text/x-wiki
<noinclude>{{FoM/Nav|Dimensional Analysis|Vector Algebra}}</noinclude>
When exploring physical quantities in nature, it is found that some quantities can be completely described by giving a number along with its unit, such as the mass of an object or the time between two events. These quantities are called scalar quantities. It is also found that other quantities are fully described by giving a number along with its unit in addition to a specified direction, such as the force on an object. These quantities are called vector quantities.
Scalar quantities have magnitude but don't have a direction, and they obey the rules of ordinary arithmetic. Some examples with their typical variables are:
* mass: {{Mvar|m}}
* volume: {{Mvar|V}}
* temperature: {{Mvar|T}}
* energy: {{Mvar|E}}
* time: {{Mvar|t}}
Vector quantities have both magnitude and direction and obey the rules of vector algebra. Examples are displacement, force, velocity, and acceleration. Analytically, a vector can be indicated in a couple ways:
* Boldface: This notation is often used in printed material, but may be difficult for non-sighted folks to understand.
** Ex: '''x''' '''F''' '''v''' '''a'''
* Overarrow: This notation (used in this book) is the typical way to indicate a vector in handwriting and is more accessible in print and digital forms.
** Ex: {{FoM/Vec|x}} {{FoM/Vec|F}} {{FoM/Vec|v}} {{FoM/Vec|a}}
The magnitude or length of a vector is indicated similar to how absolute value is indicated for scalars: {{Nowrap|{{!}} {{!}}.}}
* Boldface: <math display="inline">|\mathbf{x}| \quad |\mathbf{F}| \quad |\mathbf{v}| \quad |\mathbf{a}|</math>
* Overarrow: <math display="inline">|\vec{x}| \quad |\vec{F}| \quad |\vec{v}| \quad |\vec{a}|</math>
{{Anchor|fig 1.1}}
[[File:FoM Figure 1.1.svg|frame|right|'''Fig. 1.1''' A vector is represented geometrically by an arrow PQ]]
Geometrically, a vector is represented by an arrow connecting two points (see {{Nowrap|[[#fig 1.1|Fig. 1.1]]).}} The length and direction of the arrow represent the magnitude and direction of the vector, respectively, and those values are independent of the choice of coordinate system. For vector {{FoM/Vec|A}} in {{Nowrap|Fig. 1.1,}} {{Nowrap|point P}} is called the initial point or tail of {{FoM/Vec|A}}, and Q is called the terminal point or head of {{FoM/Vec|A}}.
{{BookCat}}
skpi3mjsuxb0fxclr3sacmpej7htz6p
Fundamentals of Mechanics/Units and Vectors/Vector Algebra/Equality of Two Vectors
0
483889
4639969
4639865
2026-06-12T00:28:00Z
Rainmonger
122366
4639969
wikitext
text/x-wiki
<noinclude>{{FoM/Nav|next=Addition}}</noinclude>
{{Anchor|fig 1.2}}
[[File:FoM Figure 1.2.svg|frame|left|'''Fig 1.2''' Vectors {{FoM/Vec|A|yes}} and {{FoM/Vec|B|yes}} are equal]]
The two vectors {{FoM/Vec|A}} and {{FoM/Vec|B}} are said to be equal <math display="inline">(\vec{A} = \vec{B})</math> only if they have the same magnitude and direction, whether or not their initial points are the same. (See {{Nowrap|[[#fig 1.2|Fig. 1.2]].)}}
{{BookCat}}
jrgf3r34kvivcqe6y9fujksdp1u4uh2
Template:Nobr
10
483894
4639914
4639876
2026-06-11T14:14:49Z
Rainmonger
122366
Didn't realize there was a Nowrap template!
4639914
wikitext
text/x-wiki
#REDIRECT [[Template:Nowrap]]
7q4xcrgyj5274gfrnqsqbqy7vk8w78b
User talk:Nsysgroup
3
483898
4639902
2026-06-11T13:35:56Z
MathXplore
3097823
Notifying author of speedy deletion nomination
4639902
wikitext
text/x-wiki
== I have added a tag to a page you created ==
Hi! I'm MathXplore, and I recently reviewed your page, [[:User:Nsysgroup]]. I have added a tag to the page, because it <strong>may meet the [[Wikibooks:Deletion policy#Speedy deletions|criteria for speedy deletion]].</strong> This means that it can be deleted at any time. The reason I provided was: <blockquote><strong>Spam</strong></blockquote> If you believe that your page should not be deleted, please post a message on [[User talk:Nsysgroup|the page's talk page]] explaining why. <strong>If your reasoning is convincing, your page may be saved.</strong> If you have any questions or concerns, please [[User talk:MathXplore|let me know]]. Thank you! <!-- Substituted from User:JJPMaster/CurateThisPage/authorMsg --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:35, 11 June 2026 (UTC)
ovlvihu58mwe8r3jiwflcn1b5yl8u6w
User:Dirk Hünniger/rhodesia
2
483899
4639904
2026-06-11T13:36:48Z
Dirk Hünniger
343292
Created page with "#[[The Story of Rhodesia/Kingdom of Mapungubwe/]] #[[The Story of Rhodesia/Kingdom of Zimbabwe/]] #[[The Story of Rhodesia/Kingdom of Mutapa/]] #[[The Story of Rhodesia/Kingdom of Batua/]] #[[The Story of Rhodesia/Rozwi Empire/]] #[[The Story of Rhodesia/Matabeleland (Ndebele Kingdom)/]] #[[The Story of Rhodesia/Rhodes’s Dream/]] #[[The Story of Rhodesia/Rudd Concession & Royal Charter/]] #[[The Story of Rhodesia/Territorial Expansion/]] #The Story of Rhodesi..."
4639904
wikitext
text/x-wiki
#[[The Story of Rhodesia/Kingdom of Mapungubwe/]]
#[[The Story of Rhodesia/Kingdom of Zimbabwe/]]
#[[The Story of Rhodesia/Kingdom of Mutapa/]]
#[[The Story of Rhodesia/Kingdom of Batua/]]
#[[The Story of Rhodesia/Rozwi Empire/]]
#[[The Story of Rhodesia/Matabeleland (Ndebele Kingdom)/]]
#[[The Story of Rhodesia/Rhodes’s Dream/]]
#[[The Story of Rhodesia/Rudd Concession & Royal Charter/]]
#[[The Story of Rhodesia/Territorial Expansion/]]
#[[The Story of Rhodesia/Matabele Wars/]]
#[[The Story of Rhodesia/Administration & the Name Rhodesia/]]
#[[The Story of Rhodesia/Development/]]
#[[The Story of Rhodesia/Military & Involvement in the second Boers War, WWI/]]
#[[The Story of Rhodesia/1922 Southern Rhodesian government referendum & End of Company Rule/]]
#[[The Story of Rhodesia/Colony of Southern Rhodesia before WWII/]]
#[[The Story of Rhodesia/Involvement in WWII/]]
#[[The Story of Rhodesia/Colony of Southern Rhodesia Post WWII/]]
#[[The Story of Rhodesia/Central African Federation & Return to “Rhodesia”/]]
#[[The Story of Rhodesia/Authors and Contributors/]]
#[[The Story of Rhodesia/Important Notes/]]
#[[The Story of Rhodesia/More resources about Rhodesia/]]
fksa7rgx04nvkax2drb2ivf6bq813cl
4639905
4639904
2026-06-11T13:37:38Z
Dirk Hünniger
343292
4639905
wikitext
text/x-wiki
#[[The_Story_of_Rhodesia/Kingdom_of_Mapungubwe/]]_
#[[The_Story_of_Rhodesia/Kingdom_of_Zimbabwe/]]_
#[[The_Story_of_Rhodesia/Kingdom_of_Mutapa/]]_
#[[The_Story_of_Rhodesia/Kingdom_of_Batua/]]_
#[[The_Story_of_Rhodesia/Rozwi_Empire/]]_
#[[The_Story_of_Rhodesia/Matabeleland_(Ndebele_Kingdom)/]]
#[[The_Story_of_Rhodesia/Rhodes’s_Dream/]]_
#[[The_Story_of_Rhodesia/Rudd_Concession_&_Royal_Charter/]]_
#[[The_Story_of_Rhodesia/Territorial_Expansion/]]_
#[[The_Story_of_Rhodesia/Matabele_Wars/]]_
#[[The_Story_of_Rhodesia/Administration_&_the_Name_Rhodesia/]]_
#[[The_Story_of_Rhodesia/Development/]]_
#[[The_Story_of_Rhodesia/Military_&_Involvement_in_the_second_Boers_War,_WWI/]]
#[[The_Story_of_Rhodesia/1922_Southern_Rhodesian_government_referendum_&_End_of_Company_Rule/]]_
#[[The_Story_of_Rhodesia/Colony_of_Southern_Rhodesia_before_WWII/]]_
#[[The_Story_of_Rhodesia/Involvement_in_WWII/]]_
#[[The_Story_of_Rhodesia/Colony_of_Southern_Rhodesia_Post_WWII/]]_
#[[The_Story_of_Rhodesia/Central_African_Federation_&_Return_to_“Rhodesia”/]]_
#[[The_Story_of_Rhodesia/Authors_and_Contributors/]]
#[[The_Story_of_Rhodesia/Important_Notes/]]
#[[The_Story_of_Rhodesia/More_resources_about_Rhodesia/]]
1fbtteox68pg1twn38ydrrproln2b0m
4639906
4639905
2026-06-11T13:39:26Z
Dirk Hünniger
343292
4639906
wikitext
text/x-wiki
#[[The_Story_of_Rhodesia/Kingdom_of_Mapungubwe]]
#[[The_Story_of_Rhodesia/Kingdom_of_Zimbabwe]]
#[[The_Story_of_Rhodesia/Kingdom_of_Mutapa]]
#[[The_Story_of_Rhodesia/Kingdom_of_Batua]]
#[[The_Story_of_Rhodesia/Rozwi_Empire]]
#[[The_Story_of_Rhodesia/Matabeleland_(Ndebele_Kingdom)]]
#[[The_Story_of_Rhodesia/Rhodes’s_Dream]]
#[[The_Story_of_Rhodesia/Rudd_Concession_&_Royal_Charter]]
#[[The_Story_of_Rhodesia/Territorial_Expansion]]
#[[The_Story_of_Rhodesia/Matabele_Wars]]
#[[The_Story_of_Rhodesia/Administration_&_the_Name_Rhodesia]]
#[[The_Story_of_Rhodesia/Development]]
#[[The_Story_of_Rhodesia/Military_&_Involvement_in_the_second_Boers_War,_WWI]]
#[[The_Story_of_Rhodesia/1922_Southern_Rhodesian_government_referendum_&_End_of_Company_Rule]]
#[[The_Story_of_Rhodesia/Colony_of_Southern_Rhodesia_before_WWII]]
#[[The_Story_of_Rhodesia/Involvement_in_WWII]]
#[[The_Story_of_Rhodesia/Colony_of_Southern_Rhodesia_Post_WWII]]
#[[The_Story_of_Rhodesia/Central_African_Federation_&_Return_to_“Rhodesia”]]
#[[The_Story_of_Rhodesia/Authors_and_Contributors]]
#[[The_Story_of_Rhodesia/Important_Notes]]
#[[The_Story_of_Rhodesia/More_resources_about_Rhodesia]]
q25mvucsv6k3oxgjeokdzd4q5a9qkfy
4639920
4639906
2026-06-11T14:44:30Z
Dirk Hünniger
343292
4639920
wikitext
text/x-wiki
{{Druckversion Titelseite|Haupttitel=The Story of Rhodesia}}
{{PDF-Version Gliederung|Pre-Colonial History}}
{{:The_Story_of_Rhodesia/Kingdom_of_Mapungubwe}}
{{:The_Story_of_Rhodesia/Kingdom_of_Zimbabwe}}
{{:The_Story_of_Rhodesia/Kingdom_of_Mutapa}}
{{:The_Story_of_Rhodesia/Kingdom_of_Batua}}
{{:The_Story_of_Rhodesia/Rozwi_Empire}}
{{:The_Story_of_Rhodesia/Matabeleland_(Ndebele_Kingdom)}}
{{PDF-Version Gliederung|Company Rule in Rhodesia}}
{{:The_Story_of_Rhodesia/Rhodes’s_Dream}}
{{:The_Story_of_Rhodesia/Rudd_Concession_&_Royal_Charter}}
{{:The_Story_of_Rhodesia/Territorial_Expansion}}
{{:The_Story_of_Rhodesia/Matabele_Wars}}
{{:The_Story_of_Rhodesia/Administration_&_the_Name_Rhodesia}}
{{:The_Story_of_Rhodesia/Development}}
{{:The_Story_of_Rhodesia/Military_&_Involvement_in_the_second_Boers_War,_WWI}}
{{PDF-Version Gliederung|Colonial History of Southern Rhodesia}}
{{:The_Story_of_Rhodesia/1922_Southern_Rhodesian_government_referendum_&_End_of_Company_Rule}}
{{:The_Story_of_Rhodesia/Colony_of_Southern_Rhodesia_before_WWII}}
{{:The_Story_of_Rhodesia/Involvement_in_WWII}}
{{:The_Story_of_Rhodesia/Colony_of_Southern_Rhodesia_Post_WWII}}
{{:The_Story_of_Rhodesia/Central_African_Federation_&_Return_to_“Rhodesia”}}
{{PDF-Version Gliederung|Rhodesia Under U.D.I.}}
{{:The Story of Rhodesia/Rhodesia's Unilateral Declaration of Independence}}
{{PDF-Version Gliederung|End Notes}}
{{:The_Story_of_Rhodesia/Authors_and_Contributors}}
{{:The_Story_of_Rhodesia/Important_Notes}}
{{:The_Story_of_Rhodesia/More_resources_about_Rhodesia}}
pdf6pfqa2fkgnj5k0jq9n6wnvlkfa61
4639924
4639920
2026-06-11T15:13:05Z
Dirk Hünniger
343292
4639924
wikitext
text/x-wiki
{{Druckversion Titelseite|Haupttitel=The Story of Rhodesia}}
{{PDF-Version Gliederung|Pre-Colonial History}}
= Kingdom of Mapungubwe =
{{:The_Story_of_Rhodesia/Kingdom_of_Mapungubwe}}
= Kingdom of Zimbabwe =
{{:The_Story_of_Rhodesia/Kingdom_of_Zimbabwe}}
= Kingdom of Mutapa =
{{:The_Story_of_Rhodesia/Kingdom_of_Mutapa}}
= Kingdom of Batua =
{{:The_Story_of_Rhodesia/Kingdom_of_Batua}}
= Rozwi Empire =
{{:The_Story_of_Rhodesia/Rozwi_Empire}}
= Matabeleland (Ndebele Kingdom) =
{{:The_Story_of_Rhodesia/Matabeleland_(Ndebele_Kingdom)}}
{{PDF-Version Gliederung|Company Rule in Rhodesia}}
= Rhodes’s Dream =
{{:The_Story_of_Rhodesia/Rhodes’s_Dream}}
= Rudd Concession & Royal Charter =
{{:The_Story_of_Rhodesia/Rudd_Concession_&_Royal_Charter}}
= Territorial Expansion =
{{:The_Story_of_Rhodesia/Territorial_Expansion}}
= Matabele Wars =
{{:The_Story_of_Rhodesia/Matabele_Wars}}
= Administration & the Name Rhodesia =
{{:The_Story_of_Rhodesia/Administration_&_the_Name_Rhodesia}}
= Development =
{{:The_Story_of_Rhodesia/Development}}
= Military & Involvement in the second Boers War, WWI =
{{:The_Story_of_Rhodesia/Military_&_Involvement_in_the_second_Boers_War,_WWI}}
{{PDF-Version Gliederung|Colonial History of Southern Rhodesia}}
= 1922 Southern Rhodesian government referendum & End of Company Rule =
{{:The_Story_of_Rhodesia/1922_Southern_Rhodesian_government_referendum_&_End_of_Company_Rule}}
= Colony of Southern Rhodesia before WWII =
{{:The_Story_of_Rhodesia/Colony_of_Southern_Rhodesia_before_WWII}}
= Involvement in WWII =
{{:The_Story_of_Rhodesia/Involvement_in_WWII}}
= Colony of Southern Rhodesia Post WWII =
{{:The_Story_of_Rhodesia/Colony_of_Southern_Rhodesia_Post_WWII}}
= Central African Federation & Return to “Rhodesia” =
{{:The_Story_of_Rhodesia/Central_African_Federation_&_Return_to_“Rhodesia”}}
{{PDF-Version Gliederung|Rhodesia Under U.D.I.}}
= Rhodesia's Unilateral Declaration of Independence =
{{:The_Story_of_Rhodesia/Rhodesia's_Unilateral_Declaration_of_Independence}}
{{PDF-Version Gliederung|End Notes}}
= Authors and Contributors =
{{:The_Story_of_Rhodesia/Authors_and_Contributors}}
= Important Notes =
{{:The_Story_of_Rhodesia/Important_Notes}}
= More_resources about Rhodesia =
{{:The_Story_of_Rhodesia/More_resources_about_Rhodesia}}
0jnqmqnmr18z3guz8bsdwqwdwz6t4ud
Template:FoM
10
483900
4639909
2026-06-11T13:51:37Z
Rainmonger
122366
Created page with "<noinclude> {{Warning|'''This is not a template.''' Please do not use it as such.}} This is the root page for various templates used in the ''[[Fundamentals of Mechanics]]'' text. As of this time (timestamp {{subst:CURRENTTIMESTAMP}}), '''this page should not be used itself'''. It exists as a "subnamespace" of sorts for the ''FoM'' text. </noinclude>"
4639909
wikitext
text/x-wiki
<noinclude>
{{Warning|'''This is not a template.''' Please do not use it as such.}}
This is the root page for various templates used in the ''[[Fundamentals of Mechanics]]'' text. As of this time (timestamp 20260611135122), '''this page should not be used itself'''. It exists as a "subnamespace" of sorts for the ''FoM'' text.
</noinclude>
841zlzceqyht6xztt2f7vmqin1zwavt
4639910
4639909
2026-06-11T13:53:44Z
Rainmonger
122366
4639910
wikitext
text/x-wiki
<noinclude>
{{Warning|'''This is not a template.''' Please do not use it as such.}}
This is the root page for various templates used in the ''[[Fundamentals of Mechanics]]'' text. As of this time (timestamp 20260611135122), '''this page should not be used itself'''. It exists as a "subnamespace" of sorts for the ''FoM'' text.
== ''FoM'' Templates ==
* {{Tl|FoM/Ex}} -- used for Exercise/Solution blocks
* {{Tl|FoM/Nav}} -- used for top nav
* {{Tl|FoM/Vec}} -- used to display single vectors in appropriate notation
</noinclude>
e3w19yjudx6qdt99j7v1rq79dkbd56h
4639975
4639910
2026-06-12T01:28:58Z
Rainmonger
122366
4639975
wikitext
text/x-wiki
<noinclude>
{{Warning|'''This is not a template.''' Please do not use it as such.}}
This is the root page for various templates used in the ''[[Fundamentals of Mechanics]]'' text. As of this time (timestamp 20260611135122), '''this page should not be used itself'''. It exists as a "subnamespace" of sorts for the ''FoM'' text.
== ''FoM'' Templates ==
* {{Tl|FoM/Eqn}} -- used for displayed and numbered equations
* {{Tl|FoM/Ex}} -- used for Exercise/Solution blocks
* {{Tl|FoM/Nav}} -- used for top nav
* {{Tl|FoM/Vec}} -- used to display single vectors in appropriate notation
</noinclude>
g2mlbnhgzwpmabuqh2fnwrgraw7mupj
Module:Val
828
483901
4639927
2026-06-11T15:39:48Z
Rainmonger
122366
Copied from en WP and updated for en WB
4639927
Scribunto
text/plain
-- For Template:Value, output a number and optional unit.
-- Format options include scientific and uncertainty notations.
-- Copied from en WP and updated for en WB
local numdot = '.' -- decimal mark (use ',' for Italian)
local numsep = ',' -- group separator (use ' ' for Italian)
local mtext = {
-- Message and other text that should be localized.
['mt-bad-exponent'] = 'exponent parameter (<b>e</b>)',
['mt-parameter'] = 'parameter ',
['mt-not-number'] = 'is not a valid number',
['mt-cannot-range'] = 'cannot use a range if the first parameter includes "e"',
['mt-need-range'] = 'needs a range in parameter 2',
['mt-should-range'] = 'should be a range',
['mt-cannot-with-e'] = 'cannot be used if the first parameter includes "e"',
['mt-not-range'] = 'does not accept a range',
['mt-cannot-e'] = 'cannot use e notation',
['mt-too-many-parameter'] = 'too many parameters',
['mt-need-number'] = 'need a number after the last parameter because it is a range.',
['mt-ignore-parameter4'] = 'Val parameter 4 ignored',
['mt-val-not-supported'] = 'Val parameter "%s=%s" is not supported',
['mt-invalid-scale'] = 'Unit "%s" has invalid scale "%s"',
['mt-both-u-ul'] = 'unit (<b>u</b>) and unit with link (<b>ul</b>) are both specified, only one is allowed.',
['mt-both-up-upl'] = 'unit per (<b>up</b>) and unit per with link (<b>upl</b>) are both specified, only one is allowed.',
}
local data_module = 'Module:Val/units'
local convert_module = 'Module:Convert'
local function valerror(msg, nocat, iswarning)
-- Return formatted message text for an error or warning.
-- Can append "#FormattingError" to URL of a page with a problem to find it.
local anchor = '<span id="FormattingError"></span>'
local body, category
if nocat or mw.title.getCurrentTitle():inNamespaces(1, 2, 3, 5) then
-- No category in Talk, User, User_talk, or Wikibooks_talk.
category = ''
else
category = '[[Category:Pages with incorrect formatting templates use]]'
end
iswarning = false -- problems are infrequent so try showing large error so editor will notice
if iswarning then
body = '<sup class="noprint Inline-Template" style="white-space:nowrap;">' ..
'[[Template:Value|<span title="' ..
msg:gsub('"', '"') ..
'">warning</span>]]</sup>'
else
body = '<strong class="error">' ..
'Error in {{[[Template:Value|Value]]}}: ' ..
msg ..
'</strong>'
end
return anchor .. body .. category
end
local range_types = {
-- No need for ' ' because nowrap applies to all output.
[","] = ", ",
["by"] = " by ",
["-"] = "–",
["–"] = "–",
["and"] = " and ",
["or"] = " or " ,
["to"] = " to " ,
["x"] = " × ",
["×"] = " × ",
["/"] = "/",
}
local range_repeat_unit = {
-- WP:UNIT wants unit repeated when a "multiply" range is used.
["x"] = true,
["×"] = true,
}
local function extract_item(index, numbers, arg)
-- Extract an item from arg and store the result in numbers[index].
-- If no argument or if argument is valid, return nil (no error);
-- otherwise, return an error message.
-- The stored result is:
-- * a table for a number (empty if there was no specified number); or
-- * a string for range text
-- Input like 1e3 is regarded as invalid for all except argument 1
-- which accepts e notation as an alternative to the 'e' argument.
-- Input group separators are removed.
local which = index
local function fail(msg)
local description
if which == 'e' then
description = mtext['mt-bad-exponent']
else
description = mtext['mt-parameter'] .. which
end
return description .. ' ' .. (msg or mtext['mt-not-number']) .. '.'
end
local result = {}
local range = range_types[arg]
if range then
if type(index) == 'number' and (index % 2 == 0) then
if index == 2 then
if numbers[1] and numbers[1].exp then
return fail(mtext['mt-cannot-range'])
end
numbers.has_ranges = true
else
if not numbers.has_ranges then
return fail(mtext['mt-need-range'])
end
end
numbers[index] = range
if range_repeat_unit[arg] then
-- Any "repeat" range forces unit (if any) to be repeated for all items.
numbers.isrepeat = true
end
return nil
end
return fail(mtext['mt-not-range'])
end
if numbers.has_ranges and type(index) == 'number' and (index % 2 == 0) then
return fail(mtext['mt-should-range'])
end
if index == 'e' then
local e = numbers[1] and numbers[1].exp
if e then
if arg then
return fail(mtext['mt-cannot-with-e'])
end
arg = e
which = 1
end
end
if arg and arg ~= '' then
arg = arg:gsub(numsep, '')
if numdot ~= '.' then
arg = arg:gsub(numdot, '.')
end
if arg:sub(1, 1) == '(' and arg:sub(-1) == ')' then
result.parens = true
arg = arg:sub(2, -2)
end
local a, b = arg:match('^(.+)[Ee](.+)$')
if a then
if index == 1 then
arg = a
result.exp = b
else
return fail(mtext['mt-cannot-e'])
end
end
local isnegative, propersign, prefix
local minus = '−'
prefix, arg = arg:match('^(.-)([%d.]+)$')
local value = tonumber(arg)
if not value then
return fail()
end
if arg:sub(1, 1) == '.' then
arg = '0' .. arg
end
if prefix == '' then
-- Ignore.
elseif prefix == '±' then
-- Display for first number, ignore for others.
if index == 1 then
propersign = '±'
end
elseif prefix == '+' then
propersign = '+'
elseif prefix == '-' or prefix == minus then
propersign = minus
isnegative = true
else
return fail()
end
result.clean = arg
result.sign = propersign or ''
result.value = isnegative and -value or value
end
numbers[index] = result
return nil -- no error
end
local function get_args(numbers, args)
-- Extract arguments and store the results in numbers.
-- Return nothing (no error) if ok; otherwise, return an error message.
for index = 1, 99 do
local which = index
local arg = args[which] -- has been trimmed
if not arg then
which = 'e'
arg = args[which]
end
local msg = extract_item(which, numbers, arg)
if msg then
return msg
end
if which == 'e' then
break
end
if index > 19 then
return mtext['mt-too-many-parameter']
end
end
if numbers.has_ranges and (#numbers % 2 == 0) then
return mtext['mt-need-number']
end
end
local function get_scale(text, ucode)
-- Return the value of text as a number, or throw an error.
-- This supports extremely basic expressions of the form:
-- a / b
-- a ^ b
-- where a and b are numbers or 'pi'.
local n = tonumber(text)
if n then
return n
end
n = text:gsub('pi', math.pi)
for _, op in ipairs({ '/', '^' }) do
local a, b = n:match('^(.-)' .. op .. '(.*)$')
if a then
a = tonumber(a)
b = tonumber(b)
if a and b then
if op == '/' then
return a / b
elseif op == '^' then
return a ^ b
end
end
break
end
end
error(string.format(mtext['mt-invalid-scale'], ucode, text))
end
local function get_builtin_unit(ucode, definitions)
-- Return table of information for the specified built-in unit, or nil if not known.
-- Each defined unit code must be followed by two spaces (not tab characters).
local _, pos = definitions:find('\n' .. ucode .. ' ', 1, true)
if pos then
local endline = definitions:find('%s*\n', pos)
if endline then
local result = {}
local n = 0
local text = definitions:sub(pos + 1, endline - 1):gsub('%s%s+', '\t')
for item in (text .. '\t'):gmatch('(%S.-)\t') do
if item == 'ALIAS' then
result.alias = true
elseif item == 'ANGLE' then
result.isangle = true
result.nospace = true
elseif item == 'NOSPACE' then
result.nospace = true
elseif item == 'SI' then
result.si = true
else
n = n + 1
if n == 1 then
local link, symbol = item:match('^%[%[([^|]+)|(.+)%]%]$')
if link then
result.symbol = symbol
result.link = link
n = 2
else
result.symbol = item
end
elseif n == 2 then
result.link = item
elseif n == 3 then
result.scale_text = item
result.scale = get_scale(item, ucode)
else
result.more_ignored = item
break
end
end
end
if result.si then
local s = result.symbol
if ucode == 'mc' .. s or ucode == 'mu' .. s then
result.ucode = 'µ' .. s -- unit code for convert should be this
end
end
if n >= 2 or (n >= 1 and result.alias) then
return result
end
-- Ignore invalid definition, treating it as a comment.
end
end
end
local function convert_lookup(ucode, value, scaled_top, want_link, si, options)
local lookup = require(convert_module)._unit
return lookup(ucode, {
value = value,
scaled_top = scaled_top,
link = want_link,
si = si,
sort = options.sortable,
})
end
local function get_unit(ucode, value, scaled_top, options)
local want_link = options.want_link
if scaled_top then
want_link = options.want_per_link
end
local data = mw.loadData(data_module)
local result = options.want_longscale and
get_builtin_unit(ucode, data.builtin_units_long_scale) or
get_builtin_unit(ucode, data.builtin_units)
local si, use_convert
if result then
if result.alias then
ucode = result.symbol
use_convert = true
end
if result.scale then
-- Setting si means convert will use the unit as given, and the sort key
-- will be calculated from the value without any extra scaling that may
-- occur if convert found the unit code. For example, if val defines the
-- unit 'year' with a scale and if si were not set, convert would also apply
-- its own scale because convert knows that a year is 31,557,600 seconds.
si = { result.symbol, result.link }
value = value * result.scale
end
if result.si then
ucode = result.ucode or ucode
si = { result.symbol, result.link }
use_convert = true
end
else
result = {}
use_convert = true
end
local convert_unit = convert_lookup(ucode, value, scaled_top, want_link, si, options)
result.sortkey = convert_unit.sortspan
if use_convert then
result.text = convert_unit.text
result.scaled_top = convert_unit.scaled_value
else
if want_link then
result.text = '[[' .. result.link .. '|' .. result.symbol .. ']]'
else
result.text = result.symbol
end
result.scaled_top = value
end
return result
end
local function makeunit(value, options)
-- Return table of information for the requested unit and options, or
-- return nil if no unit.
options = options or {}
local unit
local ucode = options.u
local percode = options.per
if ucode then
unit = get_unit(ucode, value, nil, options)
elseif percode then
unit = { nospace = true, scaled_top = value }
else
return nil
end
local text = unit.text or ''
local sortkey = unit.sortkey
if percode then
local function bracketed(code, text)
return code:find('[*./]') and '(' .. text .. ')' or text
end
local perunit = get_unit(percode, 1, unit.scaled_top, options)
text = (ucode and bracketed(ucode, text) or '') ..
'/' .. bracketed(percode, perunit.text)
sortkey = perunit.sortkey
end
if not (unit.nospace or options.nospace) then
text = ' ' .. text
end
return { text = text, isangle = unit.isangle, sortkey = sortkey }
end
local function list_units(mode)
-- Return wikitext to list the built-in units.
-- A unit code should not contain wikimarkup so don't bother escaping.
local data = mw.loadData(data_module)
local definitions = data.builtin_units .. data.builtin_units_long_scale
local last_was_blank = true
local n = 0
local result = {}
local function add(line)
if line == '' then
last_was_blank = true
else
if last_was_blank and n > 0 then
n = n + 1
result[n] = ''
end
last_was_blank = false
n = n + 1
result[n] = line
end
end
local si_prefixes = {
-- These are the prefixes recognized by convert; u is accepted for micro.
-- Added 10^±27 & 10^±30 prefixes
q = 'q',
r = 'r',
y = 'y',
z = 'z',
a = 'a',
f = 'f',
p = 'p',
n = 'n',
u = 'µ',
['µ'] = 'µ',
m = 'm',
c = 'c',
d = 'd',
da = 'da',
h = 'h',
k = 'k',
M = 'M',
G = 'G',
T = 'T',
P = 'P',
E = 'E',
Z = 'Z',
Y = 'Y',
R = 'R',
Q = 'Q',
}
local function is_valid(ucode, unit)
if unit and not unit.more_ignored then
assert(type(unit.symbol) == 'string' and unit.symbol ~= '')
if unit.alias then
if unit.link or unit.scale_text or unit.si then
return false
end
end
if unit.si then
if unit.scale_text then
return false
end
ucode = unit.ucode or ucode
local base = unit.symbol
if ucode == base then
unit.display = base
return true
end
local plen = #ucode - #base
if plen > 0 then
local prefix = si_prefixes[ucode:sub(1, plen)]
if prefix and ucode:sub(plen + 1) == base then
unit.display = prefix .. base
return true
end
end
else
unit.display = unit.symbol
return true
end
end
return false
end
local lookup = require(convert_module)._unit
local function show_convert(ucode, unit)
-- If a built-in unit defines a scale or sets the SI flag, any unit defined in
-- convert is not used (the scale or SI prefix's scale is used for a sort key).
-- If there is no scale or SI flag, and the unit is not defined in convert,
-- the sort key may not be correct; this allows such units to be identified.
if not (unit.si or unit.scale_text) then
if mode == 'convert' then
unit.show = not lookup(unit.alias and unit.symbol or ucode).unknown
unit.show_text = 'CONVERT'
elseif mode == 'unknown' then
unit.show = lookup(unit.alias and unit.symbol or ucode).unknown
unit.show_text = 'UNKNOWN'
elseif not unit.alias then
-- Show convert's scale in square brackets ('[1]' for an unknown unit).
-- Don't show scale for an alias because it's misleading for temperature
-- and an alias is probably not useful for anything else.
local scale = lookup(ucode, {value=1, sort='on'}).scaled_value
if type(scale) == 'number' then
scale = string.format('%.5g', scale):gsub('e%+?(%-?)0*(%d+)', 'e%1%2')
else
scale = '?'
end
unit.show = true
unit.show_text = '[' .. scale .. ']'
end
end
end
for line in definitions:gmatch('([^\n]*)\n') do
local pos, _ = line:find(' ', 1, true)
if pos then
local ucode = line:sub(1, pos - 1)
local unit = get_builtin_unit(ucode, '\n' .. line .. '\n')
if is_valid(ucode, unit) then
show_convert(ucode, unit)
local flags, text
if unit.alias then
text = unit.symbol
else
text = '[[' .. unit.link .. '|' .. unit.display .. ']]'
end
if unit.isangle then
unit.nospace = nil -- don't show redundant flag
end
for _, f in ipairs({
{ 'alias', 'ALIAS' },
{ 'isangle', 'ANGLE' },
{ 'nospace', 'NOSPACE' },
{ 'si', 'SI' },
{ 'scale_text', unit.scale_text },
{ 'show', unit.show_text },
}) do
if unit[f[1]] then
local t = f[2]
if t:match('^%u+$') then
t = '<small>' .. t .. '</small>'
end
if flags then
flags = flags .. ' ' .. t
else
flags = t
end
end
end
if flags then
text = text .. ' • ' .. flags
end
add(ucode .. ' = ' .. text .. '<br />')
else
add(line .. ' ◆ <b>invalid definition</b><br />')
end
else
add(line)
end
end
return table.concat(result, '\n')
end
local delimit_groups = require('Module:Gapnum').groups
local function delimit(sign, numstr, fmt)
-- Return sign and numstr (unsigned digits or numdot only) after formatting.
-- Four-digit integers are not formatted with gaps.
fmt = (fmt or ''):lower()
if fmt == 'none' or (fmt == '' and #numstr == 4 and numstr:match('^%d+$')) then
return sign .. numstr
end
-- Group number by integer and decimal parts.
-- If there is no decimal part, delimit_groups returns only one table.
local ipart, dpart = delimit_groups(numstr)
local result
if fmt == 'commas' then
result = sign .. table.concat(ipart, numsep)
if dpart then
result = result .. numdot .. table.concat(dpart)
end
else
-- Delimit with a small gap by default.
local groups = {}
groups[1] = table.remove(ipart, 1)
for _, v in ipairs(ipart) do
table.insert(groups, '<span style="margin-left:.25em;">' .. v .. '</span>')
end
if dpart then
table.insert(groups, numdot .. (table.remove(dpart, 1) or ''))
for _, v in ipairs(dpart) do
table.insert(groups, '<span style="margin-left:.25em;">' .. v .. '</span>')
end
end
result = sign .. table.concat(groups)
end
return result
end
local function sup_sub(sup, sub, align)
-- Return the same result as Module:Su except val defaults to align=right.
if align == 'l' or align == 'left' then
align = 'left'
elseif align == 'c' or align == 'center' then
align = 'center'
else
align = 'right'
end
return '<span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:' ..
align .. ';">' .. sup .. '<br />' .. sub .. '</span>'
end
local function range_text(items, unit_table, options)
local fmt = options.fmt
local nend = items.nend or ''
if items.isrepeat or unit_table.isangle then
nend = nend .. unit_table.text
end
local text = ''
for i = 1, #items do
if i % 2 == 0 then
text = text .. items[i]
else
text = text .. delimit(items[i].sign, items[i].clean, fmt) .. nend
end
end
return text
end
local function uncertainty_text(uncertainty, unit_table, options)
local angle, text, need_parens
if unit_table.isangle then
angle = unit_table.text
end
local upper = uncertainty.upper or {}
local lower = uncertainty.lower or {}
local uncU = upper.clean
if uncU then
local fmt = options.fmt
local uncL = lower.clean
if uncL then
uncU = delimit('+', uncU, fmt) .. (upper.errend or '')
uncL = delimit('−', uncL, fmt) .. (lower.errend or '')
if angle then
uncU = uncU .. angle
uncL = uncL .. angle
end
text = (angle or '') ..
'<span style="margin-left:0.3em;">' ..
sup_sub(uncU, uncL, options.align) ..
'</span>'
else
if upper.parens then
text = '(' .. uncU .. ')' -- old template did not delimit
else
text = (angle or '') ..
'<span style="margin-left:0.225em;margin-right:0.225em;">±</span>' ..
delimit('', uncU, fmt)
need_parens = true
end
if uncertainty.errend then
text = text .. uncertainty.errend
end
if angle then
text = text .. angle
end
end
else
if angle then
text = angle
end
end
return text, need_parens
end
local function _main(values, unit_spec, options)
if options.sandbox then
data_module = data_module .. '/sandbox'
convert_module = convert_module .. '/sandbox'
end
local action = options.action
if action then
if action == 'list' then
-- Kludge: am using the align parameter (a=xxx) for type of list.
return list_units(options.align)
end
return valerror('invalid action "' .. action .. '".', options.nocat)
end
local number = values.number or (values.numbers and values.numbers[1]) or {}
local e_10 = options.e or {}
local novalue = (number.value == nil and e_10.clean == nil)
local fmt = options.fmt
local want_sort = true
local sortable = options.sortable
if sortable == 'off' or (sortable == nil and novalue) then
want_sort = false
elseif sortable == 'debug' then
-- Same as sortable = 'on' but the sort key is displayed.
else
sortable = 'on'
end
local sort_value = 1
if want_sort then
sort_value = number.value or 1
if e_10.value and sort_value ~= 0 then
-- The 'if' avoids {{val|0|e=1234}} giving an invalid sort_value due to overflow.
sort_value = sort_value * 10^e_10.value
end
end
local unit_table = makeunit(sort_value, {
u = unit_spec.u,
want_link = unit_spec.want_link,
per = unit_spec.per,
want_per_link = unit_spec.want_per_link,
nospace = novalue,
want_longscale = unit_spec.want_longscale,
sortable = sortable,
})
local sortkey
if unit_table then
if want_sort then
sortkey = unit_table.sortkey
end
else
unit_table = { text = '' }
if want_sort then
sortkey = convert_lookup('dummy', sort_value, nil, nil, nil, { sortable = sortable }).sortspan
end
end
local final_unit = unit_table.isangle and '' or unit_table.text
local e_text, n_text, need_parens
local uncertainty = values.uncertainty
if uncertainty then
if number.clean then
n_text = delimit(number.sign, number.clean, fmt) .. (number.nend or '')
local text
text, need_parens = uncertainty_text(uncertainty, unit_table, options)
if text then
n_text = n_text .. text
end
else
n_text = ''
end
else
if values.numbers.isrepeat then
final_unit = ''
end
n_text = range_text(values.numbers, unit_table, options)
need_parens = true
end
if e_10.clean then
if need_parens then
n_text = '(' .. n_text .. ')'
end
e_text = '10<sup>' .. delimit(e_10.sign, e_10.clean, fmt) .. '</sup>'
if number.clean then
e_text = '<span style="margin-left:0.25em;margin-right:0.15em;">×</span>' .. e_text
end
else
e_text = ''
end
local result =
(sortkey or '') ..
(options.prefix or '') ..
n_text ..
e_text ..
final_unit ..
(options.suffix or '')
if result ~= '' then
result = '<span class="nowrap">' .. result .. '</span>'
end
return result .. (options.warning or '')
end
local function check_parameters(args, has_ranges, nocat)
-- Return warning text for the first problem parameter found, or nothing if ok.
local whitelist = {
a = true,
action = true,
debug = true,
e = true,
['end'] = true,
errend = true,
['+errend'] = true,
['-errend'] = true,
fmt = true,
['long scale'] = true,
long_scale = true,
longscale = true,
nocategory = true,
p = true,
s = true,
sortable = true,
u = true,
ul = true,
up = true,
upl = true,
}
for k, v in pairs(args) do
if type(k) == 'string' and not whitelist[k] then
local warning = string.format(mtext['mt-val-not-supported'], k, v)
return valerror(warning, nocat, true)
end
end
if not has_ranges and args[4] then
return valerror(mtext['mt-ignore-parameter4'], nocat, true)
end
end
local function main(frame)
local getArgs = require('Module:Arguments').getArgs
local args = getArgs(frame, {wrappers = { 'Template:Value' }})
local nocat = args.nocategory
local numbers = {} -- table of number tables, perhaps with range text
local msg = get_args(numbers, args)
if msg then
return valerror(msg, nocat)
end
if args.u and args.ul then
return valerror(mtext['mt-both-u-ul'], nocat)
end
if args.up and args.upl then
return valerror(mtext['mt-both-up-upl'], nocat)
end
local values
if numbers.has_ranges then
-- Multiple values with range separators but no uncertainty.
numbers.nend = args['end']
values = {
numbers = numbers,
}
else
-- A single value with optional uncertainty.
local function setfield(i, dst, src)
local v = args[src]
if v then
if numbers[i] then
numbers[i][dst] = v
else
numbers[i] = { [dst] = v }
end
end
end
setfield(1, 'nend', 'end')
setfield(2, 'errend', '+errend')
setfield(3, 'errend', '-errend')
values = {
number = numbers[1],
uncertainty = {
upper = numbers[2],
lower = numbers[3],
errend = args.errend,
}
}
end
local unit_spec = {
u = args.ul or args.u,
want_link = args.ul ~= nil,
per = args.upl or args.up,
want_per_link = args.upl ~= nil,
want_longscale = (args.longscale or args.long_scale or args['long scale']) == 'on',
}
local options = {
action = args.action,
align = args.a,
e = numbers.e,
fmt = args.fmt,
nocat = nocat,
prefix = args.p,
sandbox = string.find(frame:getTitle(), 'sandbox', 1, true) ~= nil,
sortable = args.sortable or (args.debug == 'yes' and 'debug' or nil),
suffix = args.s,
warning = check_parameters(args, numbers.has_ranges, nocat),
}
return _main(values, unit_spec, options)
end
return { main = main, _main = _main }
fsfitglspjjxflbahd0ca6xq4z6bc6k
Module:Val/units
828
483902
4639930
2026-06-11T16:04:54Z
Rainmonger
122366
Created page with "-- Definitions for units known to val -- File format is two strings and a return statement with them in it: -- string in quotes [=[ ... builtin_units ... ]=]. -- string in quotes [=[ ... builtin_units_long_scale ... ]=]. -- First string, builtin_units, is short-scale, second string is long scale. -- Entry format: -- One record per line, starting in first column, having 2-4 fields. -- Field separator: two or more spaces -- Between first and second fields: two or more spa..."
4639930
Scribunto
text/plain
-- Definitions for units known to val
-- File format is two strings and a return statement with them in it:
-- string in quotes [=[ ... builtin_units ... ]=].
-- string in quotes [=[ ... builtin_units_long_scale ... ]=].
-- First string, builtin_units, is short-scale, second string is long scale.
-- Entry format:
-- One record per line, starting in first column, having 2-4 fields.
-- Field separator: two or more spaces
-- Between first and second fields: two or more spaces
-- Between all other fields: two or more spaces, or one or more tabs
-- Entries without two spaces in them are ignored.
-- There must be a blank line before the first entry and after the last.
-- I.e. the first two and last two characters of the string must be newlines.
-- Format of entry. Two record types:
--
-- One record type is a wikilink:
-- Unit-code [[ w:pagename | Symbol-accepts-HTML-only ]]
-- Text-field separator is still two spaces. Two spaces not allowed in wikilink.
--
-- The other record type is all fields:
-- Unit-code symbol-accepts-HTML-only w:pagename#section-OK
--
-- Plus there is an optional field that goes at the end after two or more spaces.
-- Whether it is a number or an equation or the letters SI,
-- any of these three has the same function: a wikitable sorting "scale".
-- It is for sorting, and it works for either record type.
-- Difference is SI can't accept HTML. But SI correctly scales any SI prefix.
-- (Optional fields ALIAS and NOSPACE and ANGLE are for advanced users.)
-- "Invalid unit" error:
-- Using SI requires that the symbol equal unit-code, so never allows HTML.
-- Any difference between SI or symbol must be an SI prefix, such as k, M, or G.
-- A space at the end of an entry is an error. No space at each EOL.
-- Copied from en WP and updated for en WB (added "w:" prefix to links)
-- Added 10^±27 & 10^±30 prefixes (where it made sense)
local builtin_units = [=[
== Test ==
Foo [[w:Hz|<samp>Foo</samp>]]
Baz [[w:Hertz|baz<sub>0</sub>]]
Baz [[w:Kelvins|baz<sub>0</sub>]]
Bar [[w:Foobar|bar<abbr title="super duper">0</abbr>]]
quux [[w:Foobar|<span title="super duper 2">bar0</span>]]
== Unsorted units ==
c0 [[w:Speed of light#Numerical value, notation, and units|''c''<sub>0</sub>]]
lbf [[w:Pound (force)|<span title="pound-force">lb<sub>F</sub></span>]]
N.s [[w:Newton-second|N⋅s]]
J.K-1 [[w:Joule per kelvin|J⋅K<sup>−1</sup>]]
C.mol-1 [[w:Faraday constant|C⋅mol<sup>−1</sup>]]
C/mol [[w:Faraday constant|C/mol]]
C.kg-1 [[w:Roentgen (unit)|C⋅kg<sup>−1</sup>]]
C/kg [[w:Roentgen (unit)|C/kg]]
F.m-1 [[w:vacuum permittivity|F⋅m<sup>−1</sup>]]
F/m [[w:vacuum permittivity|F/m]]
e [[w:Elementary charge|''e'']]
kB [[w:Kilobyte|kB]] 8e3
KB [[w:Kilobyte|KB]] 8e3
MB [[w:Megabyte|MB]] 8e6
GB [[w:Gigabyte|GB]] 8e9
TB [[w:Terabyte|TB]] 8e12
lx [[w:Lux (unit)|lx]]
nat [[w:nat (unit)|nat]]
== Time and frequency ==
byte/s [[w:Data rate units|byte/s]] 8
kB/s [[w:Data rate units#Kilobyte per second|<span title="Kilobytes per second">kB/s</span>]] 8e3
MB/s [[w:Data rate units#Megabyte per second|<span title="Megabytes per second">MB/s</span>]] 8e6
GB/s [[w:Data rate units#Gigabyte per second|<span title="Gigabytes per second">GB/s</span>]] 8e9
TB/s [[w:Data rate units#Terabyte per second|<span title="Terabytes per second">TB/s</span>]] 8e12
bit/s [[w:Bit per second|bit/s]] 1
bps [[w:Bit per second|bit/s]] 1
kbit/s [[w:Kilobit per second|kbit/s]] 1e3
Mbit/s [[w:Megabit per second|Mbit/s]] 1e6
Gbit/s [[w:Gigabit per second|Gbit/s]] 1e9
Tbit/s [[w:Terabit per second|Tbit/s]] 1e12
kT/s [[w:Transfer (computing)|<span title="Kilotransfers per second">kT/s</span>]] 1e3
MT/s [[w:Transfer (computing)|<span title="Megatransfers per second">MT/s</span>]] 1e6
GT/s [[w:Transfer (computing)|<span title="Gigatransfers per second">GT/s</span>]] 1e9
year [[w:Year|year]] 31557600
years [[w:Year|years]] 31557600
yr [[w:Year#Symbols and abbreviations|yr]] 31557600
y [[w:Year|y]] 31557600
a [[w:Annum|a]] 31557600
Ga [[w:Gigaannum|Ga]] 31557600000000000
Ma [[w:Megaannum|Ma]] 31557600000000
ka [[w:Kiloannum|ka]] 31557600000
kyr [[w:kyr|kyr]] 31557600000
kya [[w:kyr|kya]] 31557600000
myr [[w:myr|myr]] 31557600000000
mya [[w:Mya (unit)|mya]] 31557600000000
byr [[w:Billion years|byr]] 31557600000000000
bya [[w:Billion years ago|bya]] 31557600000000000
Gyr [[w:billion years|Gyr]] 31557600000000000
BP [[w:Before present|BP]]
uBP [[w:Radiocarbon dating#Calibration|<sup>14</sup>C yr BP]]
BC [[w:Before Christ|BC]] -1
AD [[w:Anno Domini|AD]] 1
BCE [[w:Before the Common Era|BCE]] -1
CE [[w:Common Era|CE]] 1
JD [[w:Julian date|JD]] 1
MJD [[w:Modified Julian date|MJD]] 1
s-1 [[w:Second|s<sup>−1</sup>]]
s-2 [[w:Second|s<sup>−2</sup>]]
s2 [[w:Second|s<sup>2</sup>]]
s [[w:Second|s]] SI
as [[w:Attosecond|s]] SI
cs [[w:Second|s]] SI
das [[w:Second|s]] SI
ds [[w:Second|s]] SI
Es [[w:Second|s]] SI
fs [[w:Femtosecond|s]] SI
Gs [[w:Second|s]] SI
hs [[w:Second|s]] SI
ks [[w:Second|s]] SI
ms [[w:Millisecond|s]] SI
µs [[w:Microsecond|s]] SI
us [[w:Microsecond|s]] SI
Ms [[w:Second|s]] SI
ns [[w:Nanosecond|s]] SI
ps [[w:Picosecond|s]] SI
Ps [[w:Second|s]] SI
Ts [[w:Second|s]] SI
Ys [[w:Second|s]] SI
ys [[w:Yoctosecond|s]] SI
Zs [[w:Second|s]] SI
zs [[w:Zeptosecond|s]] SI
Qs [[w:Quettasecond|s]] SI
qs [[w:Quectosecond|s]] SI
Rs [[w:Ronnasecond|s]] SI
rs [[w:Rontosecond|s]] SI
Hz [[w:Hertz|Hz]] SI
aHz [[w:Hertz|Hz]] SI
cHz [[w:Hertz|Hz]] SI
daHz [[w:Hertz|Hz]] SI
dHz [[w:Hertz|Hz]] SI
EHz [[w:Hertz|Hz]] SI
fHz [[w:Hertz|Hz]] SI
hHz [[w:Hertz|Hz]] SI
GHz [[w:Gigahertz|Hz]] SI
kHz [[w:Kilohertz|Hz]] SI
MHz [[w:Megahertz|Hz]] SI
mHz [[w:Hertz|Hz]] SI
uHz [[w:Hertz|Hz]] SI
µHz [[w:Hertz|Hz]] SI
nHz [[w:Hertz|Hz]] SI
pHz [[w:Hertz|Hz]] SI
PHz [[w:Hertz|Hz]] SI
THz [[w:Hertz|Hz]] SI
yHz [[w:Hertz|Hz]] SI
YHz [[w:Hertz|Hz]] SI
zHz [[w:Hertz|Hz]] SI
ZHz [[w:Hertz|Hz]] SI
qHz [[w:Hertz|Hz]] SI
QHz [[w:Hertz|Hz]] SI
rHz [[w:Hertz|Hz]] SI
RHz [[w:Hertz|Hz]] SI
ips [[w:Inch per second|ips]]
== Length, area, volume ==
Å3 [[w:Ångström|Å<sup>3</sup>]]
fb-1 [[w:Barn (unit)#Inverse femtobarn|fb<sup>−1</sup>]]
m-1 [[w:Metre|m<sup>−1</sup>]]
m-2 [[w:Square metre|m<sup>−2</sup>]]
m-3 [[w:Cubic metre|m<sup>−3</sup>]]
km2 [[w:Square kilometre|km<sup>2</sup>]]
km3 [[w:Cubic kilometre|km<sup>3</sup>]]
µm2 [[w:Square metre|µm<sup>2</sup>]]
um2 [[w:Square metre|µm<sup>2</sup>]]
am2 [[w:Square metre|am<sup>2</sup>]]
cm2 [[w:Square centimetre|cm<sup>2</sup>]]
dam2 [[w:Square metre|dam<sup>2</sup>]]
dm2 [[w:Square metre|dm<sup>2</sup>]]
Em2 [[w:Square metre|Em<sup>2</sup>]]
fm2 [[w:Square metre|fm<sup>2</sup>]]
Gm2 [[w:Square metre|Gm<sup>2</sup>]]
hm2 [[w:Square metre|hm<sup>2</sup>]]
mm2 [[w:Square metre|mm<sup>2</sup>]]
Mm2 [[w:Square metre|Mm<sup>2</sup>]]
nm2 [[w:Square metre|nm<sup>2</sup>]]
pm2 [[w:Square metre|pm<sup>2</sup>]]
Pm2 [[w:Square metre|Pm<sup>2</sup>]]
Tm2 [[w:Square metre|Tm<sup>2</sup>]]
ym2 [[w:Square metre|ym<sup>2</sup>]]
Ym2 [[w:Square metre|Ym<sup>2</sup>]]
zm2 [[w:Square metre|zm<sup>2</sup>]]
Zm2 [[w:Square metre|Zm<sup>2</sup>]]
qm2 [[w:Square metre|Zm<sup>2</sup>]]
Qm2 [[w:Square metre|Zm<sup>2</sup>]]
rm2 [[w:Square metre|Zm<sup>2</sup>]]
Rm2 [[w:Square metre|Zm<sup>2</sup>]]
gal [[w:Gallon|gal]]
Gal [[w:Gal (unit)|Gal]]
uGal [[w:Gal (unit)|µGal]]
µGal [[w:Gal (unit)|µGal]]
mGal [[w:Gal (unit)|mGal]]
b [[w:Barn (unit)|b]] SI
ab [[w:Barn (unit)|b]] SI
cb [[w:Barn (unit)|b]] SI
dab [[w:Barn (unit)|b]] SI
db [[w:Barn (unit)|b]] SI
Eb [[w:Barn (unit)|b]] SI
fb [[w:Barn (unit)|b]] SI
Gb [[w:Barn (unit)|b]] SI
hb [[w:Barn (unit)|b]] SI
kb [[w:Barn (unit)|b]] SI
mb [[w:Barn (unit)|b]] SI
µb [[w:Barn (unit)|b]] SI
ub [[w:Barn (unit)|b]] SI
Mb [[w:Barn (unit)|b]] SI
nb [[w:Barn (unit)|b]] SI
pb [[w:Barn (unit)|b]] SI
Pb [[w:Barn (unit)|b]] SI
Tb [[w:Barn (unit)|b]] SI
Yb [[w:Barn (unit)|b]] SI
yb [[w:Barn (unit)|b]] SI
Zb [[w:Barn (unit)|b]] SI
zb [[w:Barn (unit)|b]] SI
Qb [[w:Barn (unit)|b]] SI
qb [[w:Barn (unit)|b]] SI
Rb [[w:Barn (unit)|b]] SI
rb [[w:Barn (unit)|b]] SI
== Velocity and acceleration ==
m.s-2 [[w:Metre per second squared|m⋅s<sup>−2</sup>]]
m/s2 [[w:Metre per second squared|m/s<sup>2</sup>]]
m.s-1 [[w:Metre per second|m⋅s<sup>−1</sup>]]
m/s [[w:Metre per second|m/s]]
km.s-1 [[w:Metre per second|km⋅s<sup>−1</sup>]]
km/s [[w:Metre per second|km/s]]
== Mass and energy ==
lbm [[w:Pound (mass)|<span title="pound-mass">lb<sub>m</sub></span>]]
uJ [[w:Joule|µJ]]
J.s [[w:Joule-second|J⋅s]]
kWh [[w:Kilowatt-hour|kWh]]
kW.h [[w:Kilowatt-hour|kW⋅h]]
J/C [[w:Volt|J/C]]
J/kg [[w:Joule|J/kg]]
Da [[w:Dalton (unit)|Da]] SI
EDa [[w:Dalton (unit)|Da]] SI
PDa [[w:Dalton (unit)|Da]] SI
TDa [[w:Dalton (unit)|Da]] SI
GDa [[w:Dalton (unit)|Da]] SI
MDa [[w:Dalton (unit)|Da]] SI
kDa [[w:Dalton (unit)|Da]] SI
mDa [[w:Dalton (unit)|Da]] SI
uDa [[w:Dalton (unit)|Da]] SI
μDa [[w:Dalton (unit)|Da]] SI
nDa [[w:Dalton (unit)|Da]] SI
pDa [[w:Dalton (unit)|Da]] SI
fDa [[w:Dalton (unit)|Da]] SI
aDa [[w:Dalton (unit)|Da]] SI
g [[w:Gram|g]] SI
ag [[w:Attogram|g]] SI
cg [[w:Centigram|g]] SI
dag [[w:Gram|g]] SI
dg [[w:Decigram|g]] SI
Eg [[w:Exagram|g]] SI
fg [[w:Femtogram|g]] SI
Gg [[w:Gigagram|g]] SI
hg [[w:Kilogram#SI multiples|g]] SI
kg [[w:Kilogram|g]] SI
mcg [[w:Microgram|g]] SI
Mg [[w:Megagram|g]] SI
mg [[w:Milligram|g]] SI
ug [[w:Microgram|g]] SI
µg [[w:Microgram|g]] SI
ng [[w:Nanogram|g]] SI
Pg [[w:Petagram|g]] SI
pg [[w:Picogram|g]] SI
Tg [[w:Tonne|g]] SI
yg [[w:Yoctogram|g]] SI
Yg [[w:Yottagram|g]] SI
zg [[w:Zeptogram|g]] SI
Zg [[w:Zettagram|g]] SI
qg [[w:Quectogram|g]] SI
Qg [[w:Quettagram|g]] SI
rg [[w:Rontogram|g]] SI
Rg [[w:Ronnagram|g]] SI
== Pressure and density ==
psi [[w:Pounds per square inch|psi]]
g.cm-3 [[w:Gram per cubic centimetre|g⋅cm<sup>−3</sup>]]
g/cm3 [[w:Gram per cubic centimetre|g/cm<sup>3</sup>]]
kg.m-3 [[w:Kilogram per cubic metre|kg⋅m<sup>−3</sup>]]
kg/m3 [[w:Kilogram per cubic metre|kg/m<sup>3</sup>]]
kg/cm3 [[w:Density#Formula and common units|kg/cm<sup>3</sup>]]
g/L [[w:Gram per litre|g/L]]
g/l [[w:Gram per litre|g/l]]
mcg/dL [[w:Gram per litre|µg/dL]]
mcg/dl [[w:Gram per litre|µg/dl]]
mg/mL [[w:Gram per litre|mg/mL]]
mg/ml [[w:Gram per litre|mg/ml]]
ug/dL [[w:Gram per litre|µg/dL]]
ug/dl [[w:Gram per litre|µg/dl]]
μg/dL [[w:Gram per litre|μg/dL]]
μg/dl [[w:Gram per litre|μg/dl]]
mg.L-1 [[w:Gram per litre|<abbr title="milligrams per liter">mg/L</abbr>]]
mg/L [[w:Gram per litre|<abbr title="milligrams per liter">mg/L</abbr>]]
mg.l-1 [[w:Gram per litre|<abbr title="milligrams per liter">mg/l</abbr>]]
mg/l [[w:Gram per litre|<abbr title="milligrams per liter">mg/l</abbr>]]
== Fracture toughness ==
MPa.m.5 [[w:Fracture toughness|MPa⋅m<sup>1/2</sup>]]
kPa.m.5 [[w:Fracture toughness|kPa⋅m<sup>1/2</sup>]]
Pa.m.5 [[w:Fracture toughness|Pa⋅m<sup>1/2</sup>]]
== Temperature ==
degC °C ALIAS
degF °F ALIAS
degR °R ALIAS
K [[w:Kelvin|K]] SI
QK [[w:Quettakelvin|K]] SI
RK [[w:Ronnakelvin|K]] SI
YK [[w:Yottakelvin|K]] SI
ZK [[w:Zettakelvin|K]] SI
EK [[w:Kelvin|K]] SI
PK [[w:Petakelvin|K]] SI
TK [[w:Terakelvin|K]] SI
GK [[w:Gigakelvin|K]] SI
MK [[w:Megakelvin|K]] SI
kK [[w:Kilokelvin|K]] SI
hK [[w:Hectokelvin|K]] SI
daK [[w:Decakelvin|K]] SI
dK [[w:Decikelvin|K]] SI
cK [[w:Centikelvin|K]] SI
mK [[w:Millikelvin|K]] SI
µK [[w:Microkelvin|K]] SI
uK [[w:Microkelvin|K]] SI
nK [[w:Nanokelvin|K]] SI
pK [[w:Picokelvin|K]] SI
fK [[w:Femtokelvin|K]] SI
aK [[w:Attokelvin|K]] SI
zK [[w:Zeptokelvin|K]] SI
yK [[w:Yoctokelvin|K]] SI
rK [[w:Rontokelvin|K]] SI
qK [[w:Quectokelvin|K]] SI
== Electromagnetism ==
Wb [[w:Weber (unit)|Wb]]
N.A-2 [[w:Permeability (electromagnetism)|N⋅A<sup>−2</sup>]]
H.m-1 [[w:Permeability (electromagnetism)|H⋅m<sup>−1</sup>]]
V.m-1 [[w:Electric field|V⋅m<sup>−1</sup>]]
V/m [[w:Electric field|V/m]]
C [[w:Coulomb|C]] SI
QC [[w:Coulomb|C]] SI
RC [[w:Coulomb|C]] SI
YC [[w:Coulomb|C]] SI
ZC [[w:Coulomb|C]] SI
EC [[w:Coulomb|C]] SI
PC [[w:Coulomb|C]] SI
TC [[w:Coulomb|C]] SI
GC [[w:Coulomb|C]] SI
MC [[w:Coulomb|C]] SI
kC [[w:Coulomb|C]] SI
hC [[w:Coulomb|C]] SI
daC [[w:Coulomb|C]] SI
dC [[w:Coulomb|C]] SI
cC [[w:Coulomb|C]] SI
mC [[w:Coulomb|C]] SI
µC [[w:Coulomb|C]] SI
uC [[w:Coulomb|C]] SI
nC [[w:Coulomb|C]] SI
pC [[w:Coulomb|C]] SI
fC [[w:Coulomb|C]] SI
aC [[w:Coulomb|C]] SI
zC [[w:Coulomb|C]] SI
yC [[w:Coulomb|C]] SI
rC [[w:Coulomb|C]] SI
qC [[w:Coulomb|C]] SI
F [[w:Farad|F]] SI
QF [[w:Farad|F]] SI
RF [[w:Farad|F]] SI
YF [[w:Farad|F]] SI
ZF [[w:Farad|F]] SI
EF [[w:Farad|F]] SI
PF [[w:Farad|F]] SI
TF [[w:Farad|F]] SI
GF [[w:Farad|F]] SI
MF [[w:Farad|F]] SI
kF [[w:Farad|F]] SI
hF [[w:Farad|F]] SI
daF [[w:Farad|F]] SI
dF [[w:Farad|F]] SI
cF [[w:Farad|F]] SI
mF [[w:Farad|F]] SI
µF [[w:Farad|F]] SI
uF [[w:Farad|F]] SI
nF [[w:Farad|F]] SI
pF [[w:Farad|F]] SI
fF [[w:Farad|F]] SI
aF [[w:Farad|F]] SI
zF [[w:Farad|F]] SI
yF [[w:Farad|F]] SI
rF [[w:Farad|F]] SI
qF [[w:Farad|F]] SI
H [[w:Henry (unit)|H]] SI
QH [[w:Henry (unit)|H]] SI
RH [[w:Henry (unit)|H]] SI
YH [[w:Henry (unit)|H]] SI
ZH [[w:Henry (unit)|H]] SI
EH [[w:Henry (unit)|H]] SI
PH [[w:Henry (unit)|H]] SI
TH [[w:Henry (unit)|H]] SI
GH [[w:Henry (unit)|H]] SI
MH [[w:Henry (unit)|H]] SI
kH [[w:Henry (unit)|H]] SI
hH [[w:Henry (unit)|H]] SI
daH [[w:Henry (unit)|H]] SI
dH [[w:Henry (unit)|H]] SI
cH [[w:Henry (unit)|H]] SI
mH [[w:Henry (unit)|H]] SI
µH [[w:Henry (unit)|H]] SI
uH [[w:Henry (unit)|H]] SI
nH [[w:Henry (unit)|H]] SI
pH [[w:Henry (unit)|H]] SI
fH [[w:Henry (unit)|H]] SI
aH [[w:Henry (unit)|H]] SI
zH [[w:Henry (unit)|H]] SI
yH [[w:Henry (unit)|H]] SI
rH [[w:Henry (unit)|H]] SI
qH [[w:Henry (unit)|H]] SI
A [[w:Ampere|A]] SI
QA [[w:Ampere|A]] SI
RA [[w:Ampere|A]] SI
YA [[w:Ampere|A]] SI
ZA [[w:Ampere|A]] SI
EA [[w:Ampere|A]] SI
PA [[w:Ampere|A]] SI
TA [[w:Ampere|A]] SI
GA [[w:Ampere|A]] SI
MA [[w:Ampere|A]] SI
kA [[w:Ampere|A]] SI
hA [[w:Ampere|A]] SI
daA [[w:Ampere|A]] SI
dA [[w:Ampere|A]] SI
cA [[w:Ampere|A]] SI
mA [[w:Ampere|A]] SI
µA [[w:Ampere|A]] SI
uA [[w:Ampere|A]] SI
nA [[w:Ampere|A]] SI
pA [[w:Ampere|A]] SI
fA [[w:Ampere|A]] SI
aA [[w:Ampere|A]] SI
zA [[w:Ampere|A]] SI
yA [[w:Ampere|A]] SI
rA [[w:Ampere|A]] SI
qA [[w:Ampere|A]] SI
V [[w:Volt|V]] SI
QV [[w:Volt|V]] SI
RV [[w:Volt|V]] SI
YV [[w:Volt|V]] SI
ZV [[w:Volt|V]] SI
EV [[w:Volt|V]] SI
PV [[w:Volt|V]] SI
TV [[w:Volt|V]] SI
GV [[w:Volt|V]] SI
MV [[w:Volt|V]] SI
kV [[w:Volt|V]] SI
hV [[w:Volt|V]] SI
daV [[w:Volt|V]] SI
dV [[w:Volt|V]] SI
cV [[w:Volt|V]] SI
mV [[w:Volt|V]] SI
µV [[w:Volt|V]] SI
uV [[w:Volt|V]] SI
nV [[w:Volt|V]] SI
pV [[w:Volt|V]] SI
fV [[w:Volt|V]] SI
aV [[w:Volt|V]] SI
zV [[w:Volt|V]] SI
yV [[w:Volt|V]] SI
rV [[w:Volt|V]] SI
qV [[w:Volt|V]] SI
VA [[w:Volt-ampere|VA]] SI
QVA [[w:Volt-ampere|VA]] SI
RVA [[w:Volt-ampere|VA]] SI
YVA [[w:Volt-ampere|VA]] SI
ZVA [[w:Volt-ampere|VA]] SI
EVA [[w:Volt-ampere|VA]] SI
PVA [[w:Volt-ampere|VA]] SI
TVA [[w:Volt-ampere|VA]] SI
GVA [[w:Volt-ampere|VA]] SI
MVA [[w:Volt-ampere|VA]] SI
kVA [[w:Volt-ampere|VA]] SI
hVA [[w:Volt-ampere|VA]] SI
daVA [[w:Volt-ampere|VA]] SI
dVA [[w:Volt-ampere|VA]] SI
cVA [[w:Volt-ampere|VA]] SI
mVA [[w:Volt-ampere|VA]] SI
µVA [[w:Volt-ampere|VA]] SI
uVA [[w:Volt-ampere|VA]] SI
nVA [[w:Volt-ampere|VA]] SI
pVA [[w:Volt-ampere|VA]] SI
fVA [[w:Volt-ampere|VA]] SI
aVA [[w:Volt-ampere|VA]] SI
zVA [[w:Volt-ampere|VA]] SI
yVA [[w:Volt-ampere|VA]] SI
rVA [[w:Volt-ampere|VA]] SI
qVA [[w:Volt-ampere|VA]] SI
Ω [[w:Ohm|Ω]] SI
QΩ.m [[w:Electrical resistivity and conductivity#Definition|QΩ⋅m]] 1e30
RΩ.m [[w:Electrical resistivity and conductivity#Definition|RΩ⋅m]] 1e27
YΩ.m [[w:Electrical resistivity and conductivity#Definition|YΩ⋅m]] 1e24
ZΩ.m [[w:Electrical resistivity and conductivity#Definition|ZΩ⋅m]] 1e21
EΩ.m [[w:Electrical resistivity and conductivity#Definition|EΩ⋅m]] 1e18
PΩ.m [[w:Electrical resistivity and conductivity#Definition|PΩ⋅m]] 1e15
TΩ.m [[w:Electrical resistivity and conductivity#Definition|TΩ⋅m]] 1e12
GΩ.m [[w:Electrical resistivity and conductivity#Definition|GΩ⋅m]] 1e9
MΩ.m [[w:Electrical resistivity and conductivity#Definition|MΩ⋅m]] 1e6
kΩ.m [[w:Electrical resistivity and conductivity#Definition|kΩ⋅m]] 1e3
Ω.m [[w:Electrical resistivity and conductivity#Definition|Ω⋅m]] 1
mΩ.m [[w:Electrical resistivity and conductivity#Definition|mΩ⋅m]] 1e-3
µΩ.m [[w:Electrical resistivity and conductivity#Definition|µΩ⋅m]] 1e-6
uΩ.m [[w:Electrical resistivity and conductivity#Definition|µΩ⋅m]] 1e-6
nΩ.m [[w:Electrical resistivity and conductivity#Definition|nΩ⋅m]] 1e-9
pΩ.m [[w:Electrical resistivity and conductivity#Definition|pΩ⋅m]] 1e-12
fΩ.m [[w:Electrical resistivity and conductivity#Definition|fΩ⋅m]] 1e-15
aΩ.m [[w:Electrical resistivity and conductivity#Definition|aΩ⋅m]] 1e-18
zΩ.m [[w:Electrical resistivity and conductivity#Definition|zΩ⋅m]] 1e-21
yΩ.m [[w:Electrical resistivity and conductivity#Definition|yΩ⋅m]] 1e-24
rΩ.m [[w:Electrical resistivity and conductivity#Definition|yΩ⋅m]] 1e-27
qΩ.m [[w:Electrical resistivity and conductivity#Definition|yΩ⋅m]] 1e-30
R [[w:Rayleigh (unit)|R]] SI
G [[w:Gauss (unit)|G]] SI
aG [[w:Attogauss|G]] SI
cG [[w:Centigauss|G]] SI
daG [[w:Decagauss|G]] SI
dG [[w:Decigauss|G]] SI
EG [[w:Exagauss|G]] SI
fG [[w:Femtogauss|G]] SI
GG [[w:Gigagauss|G]] SI
hG [[w:Hectogauss|G]] SI
kG [[w:Kilogauss|G]] SI
MG [[w:Megagauss|G]] SI
mG [[w:Milligauss|G]] SI
uG [[w:Microgauss|G]] SI
µG [[w:Microgauss|G]] SI
nG [[w:Nanogauss|G]] SI
PG [[w:Petagauss|G]] SI
pG [[w:Picogauss|G]] SI
TG [[w:Teragauss|G]] SI
yG [[w:Yoctogauss|G]] SI
YG [[w:Yottagauss|G]] SI
zG [[w:Zeptogauss|G]] SI
ZG [[w:Zettagauss|G]] SI
qG [[w:Quectogauss|G]] SI
QG [[w:Quettagauss|G]] SI
rG [[w:Rontogauss|G]] SI
RG [[w:Ronnagauss|G]] SI
T [[w:Tesla (unit)|T]] SI
aT [[w:Attotesla|T]] SI
cT [[w:Centitesla|T]] SI
daT [[w:Decatesla|T]] SI
dT [[w:Decitesla|T]] SI
ET [[w:Exatesla|T]] SI
fT [[w:Femtotesla|T]] SI
GT [[w:Gigatesla|T]] SI
hT [[w:Hectotesla|T]] SI
kT [[w:Kilotesla|T]] SI
MT [[w:Megatesla|T]] SI
mT [[w:Millitesla|T]] SI
uT [[w:Microtesla|T]] SI
µT [[w:Microtesla|T]] SI
nT [[w:Nanotesla|T]] SI
PT [[w:Petatesla|T]] SI
pT [[w:Picotesla|T]] SI
TT [[w:Teratesla|T]] SI
yT [[w:Yoctotesla|T]] SI
YT [[w:Yottatesla|T]] SI
zT [[w:Zeptotesla|T]] SI
ZT [[w:Zettatesla|T]] SI
qT [[w:Quectotesla|T]] SI
QT [[w:Quettatesla|T]] SI
rT [[w:Rontotesla|T]] SI
RT [[w:Ronnatesla|T]] SI
== Astrophysics ==
au [[w:Astronomical unit|au]]
c [[w:Speed of light|''c'']]
ly [[w:Light-year|ly]]
Earth mass [[w:Earth mass|''M''<sub>🜨</sub>]]
Earth radius [[w:Earth radius|''R''<sub>🜨</sub>]]
M_Earth [[w:Earth mass|''M''<sub>🜨</sub>]]
R_Earth [[w:Earth radius|''R''<sub>🜨</sub>]]
M+ [[w:Earth mass|''M''<sub>🜨</sub>]]
R+ [[w:Earth radius|''R''<sub>🜨</sub>]]
Jupiter mass [[w:Jupiter mass|''M''<sub>J</sub>]]
Jupiter radius [[w:Jupiter radius|''R''<sub>J</sub>]]
Jy [[w:Jansky|Jy]]
M_Jupiter [[w:Jupiter mass|''M''<sub>J</sub>]]
R_Jupiter [[w:Jupiter radius|''R''<sub>J</sub>]]
Solar mass [[w:Solar mass|''M''<sub>☉</sub>]]
solar mass [[w:Solar mass|''M''<sub>☉</sub>]]
M_Solar [[w:Solar mass|''M''<sub>☉</sub>]]
M_solar [[w:Solar mass|''M''<sub>☉</sub>]]
R_Solar [[w:Solar radius|''R''<sub>☉</sub>]]
R_solar [[w:Solar radius|''R''<sub>☉</sub>]]
Solar radius [[w:Solar radius|''R''<sub>☉</sub>]]
solar radius [[w:Solar radius|''R''<sub>☉</sub>]]
Solar luminosity [[w:Solar luminosity|''L''<sub>☉</sub>]]
solar luminosity [[w:Solar luminosity|''L''<sub>☉</sub>]]
L_solar [[w:Solar luminosity|''L''<sub>☉</sub>]]
L_Solar [[w:Solar luminosity|''L''<sub>☉</sub>]]
Lo [[w:Solar luminosity|''L''<sub>☉</sub>]]
pc2 [[w:Parsec|pc<sup>2</sup>]]
pc3 [[w:Parsec|pc<sup>3</sup>]]
kpc2 [[w:Parsec#Parsecs and kiloparsecs|kpc<sup>2</sup>]]
kpc3 [[w:Parsec#Parsecs and kiloparsecs|kpc<sup>3</sup>]]
kpc [[w:Parsec#Parsecs and kiloparsecs|kpc]]
Mpc2 [[w:Parsec#Megaparsecs and gigaparsecs|Mpc<sup>2</sup>]]
Mpc3 [[w:Parsec#Megaparsecs and gigaparsecs|Mpc<sup>3</sup>]]
Mpc [[w:Parsec#Megaparsecs and gigaparsecs|Mpc]]
Gpc2 [[w:Parsec#Megaparsecs and gigaparsecs|Gpc<sup>2</sup>]]
Gpc3 [[w:Parsec#Megaparsecs and gigaparsecs|Gpc<sup>3</sup>]]
Gpc [[w:Parsec#Megaparsecs and gigaparsecs|Gpc]]
== Nuclear physics and chemistry ==
cm-1 [[w:Wavenumber|cm<sup>−1</sup>]]
u [[w:Unified atomic mass unit|u]]
osmol [[w:Osmole (unit)|osmol]]
Osm [[w:Osmole (unit)|Osm]]
M [[w:Molarity|M]]
TM [[w:Molarity|M]] SI
GM [[w:Molarity|M]] SI
MM [[w:Molarity|M]] SI
kM [[w:Molarity|M]] SI
hM [[w:Molarity|M]] SI
daM [[w:Molarity|M]] SI
dM [[w:Molarity|M]] SI
cM [[w:Molarity|M]] SI
mM [[w:Molarity|M]] SI
uM [[w:Molarity|M]] 1e-6
nM [[w:Molarity|M]] SI
pM [[w:Molarity|M]] SI
kg.mol-1 [[w:Molar mass|kg⋅mol<sup>−1</sup>]]
kg/mol [[w:Molar mass|kg/mol]]
g.mol-1 [[w:Molar mass|g⋅mol<sup>−1</sup>]]
g/mol [[w:Molar mass|g/mol]]
eV/c2 [[w:Electronvolt#Mass|eV/''c''<sup>2</sup>]]
keV/c2 [[w:Electronvolt#Mass|keV/''c''<sup>2</sup>]]
MeV/c2 [[w:Electronvolt#Mass|MeV/''c''<sup>2</sup>]]
GeV/c2 [[w:Electronvolt#Mass|GeV/''c''<sup>2</sup>]]
TeV/c2 [[w:Electronvolt#Mass|TeV/''c''<sup>2</sup>]]
eV [[w:Electronvolt|eV]]
meV [[w:Electronvolt|meV]]
keV [[w:Electronvolt|keV]]
MeV [[w:Electronvolt|MeV]]
GeV [[w:Electronvolt|GeV]]
TeV [[w:Electronvolt|TeV]]
mol-1 [[w:Avogadro constant|mol<sup>−1</sup>]]
J.mol-1 [[w:Joule per mole|J⋅mol<sup>−1</sup>]]
J/mol [[w:Joule per mole|J/mol]]
kJ.mol-1 [[w:Joule per mole|kJ⋅mol<sup>−1</sup>]]
kJ/mol [[w:Joule per mole|kJ/mol]]
MJ.mol-1 [[w:Joule per mole|MJ⋅mol<sup>−1</sup>]]
MJ/mol [[w:Joule per mole|MJ/mol]]
GJ.mol-1 [[w:Joule per mole|GJ⋅mol<sup>−1</sup>]]
GJ/mol [[w:Joule per mole|GJ/mol]]
TJ.mol-1 [[w:Joule per mole|TJ⋅mol<sup>−1</sup>]]
TJ/mol [[w:Joule per mole|TJ/mol]]
μB [[w:Bohr magneton|''μ''<sub>B</sub>]]
== Numbers and phrases ==
pp [[w:Page (paper)|pp]]
ppb [[w:Parts per billion|ppb]] 1e-9
ppm [[w:Parts per million|ppm]] 1e-6
billiard [[w:Orders of magnitude (numbers)#1015|billiard]] 1e15
billion [[w:1,000,000,000|billion]] 1e9
billionth [[w:1,000,000,000|billionth]] 1e-9
billionths [[w:1,000,000,000|billionths]] 1e-9
decilliard [[w:Orders of magnitude (numbers)#1063|decilliard]] 1e63
decillion [[w:Orders of magnitude (numbers)#1033|decillion]] 1e33
decillionth [[w:Orders of magnitude (numbers)#1033|decillionth]] 1e-33
decillionths [[w:Orders of magnitude (numbers)#1033|decillionths]] 1e-33
milliard [[w:1,000,000,000|milliard]] 1e9
million [[w:Million|million]] 1e6
millionth [[w:Million|millionth]] 1e-6
millionths [[w:Million|millionths]] 1e-6
nonilliard [[w:Orders of magnitude (numbers)#1057|nonilliard]] 1e57
nonillion [[w:Orders of magnitude (numbers)#1030|nonillion]] 1e30
nonillionth [[w:Orders of magnitude (numbers)#1030|nonillionth]] 1e-30
nonillionths [[w:Orders of magnitude (numbers)#1030|nonillionths]] 1e-30
octilliard [[w:Orders of magnitude (numbers)#1051|octilliard]] 1e51
octillion [[w:Orders of magnitude (numbers)#1027|octillion]] 1e27
octillionth [[w:Orders of magnitude (numbers)#1027|octillionth]] 1e-27
octillionths [[w:Orders of magnitude (numbers)#1027|octillionths]] 1e-27
quadrilliard [[w:Orders of magnitude (numbers)#1027|quadrilliard]] 1e27
quadrillion [[w:Orders of magnitude (numbers)#1015|quadrillion]] 1e15
quadrillionth [[w:Orders of magnitude (numbers)#1015|quadrillionth]] 1e-15
quadrillionths [[w:Orders of magnitude (numbers)#1015|quadrillionths]] 1e-15
quintilliard [[w:Orders of magnitude (numbers)#1033|quintilliard]] 1e33
quintillion [[w:Orders of magnitude (numbers)#1018|quintillion]] 1e18
quintillionth [[w:Orders of magnitude (numbers)#1018|quintillionth]] 1e-18
quintillionths [[w:Orders of magnitude (numbers)#1018|quintillionths]] 1e-18
septilliard [[w:Orders of magnitude (numbers)#1045|septilliard]] 1e45
septillion [[w:Orders of magnitude (numbers)#1024|septillion]] 1e24
septillionth [[w:Orders of magnitude (numbers)#1024|septillionth]] 1e-24
septillionths [[w:Orders of magnitude (numbers)#1024|septillionths]] 1e-24
sextilliard [[w:Orders of magnitude (numbers)#1039|sextilliard]] 1e39
sextillion [[w:Orders of magnitude (numbers)#1021|sextillion]] 1e21
sextillionth [[w:Orders of magnitude (numbers)#1021|sextillionth]] 1e-21
sextillionths [[w:Orders of magnitude (numbers)#1021|sextillionths]] 1e-21
trilliard [[w:Orders of magnitude (numbers)#1021|trilliard]] 1e21
trillion [[w:Orders of magnitude (numbers)#1012|trillion]] 1e12
trillionth [[w:Orders of magnitude (numbers)#1012|trillionth]] 1e-12
trillionths [[w:Orders of magnitude (numbers)#1012|trillionths]] 1e-12
== Angle and square angle ==
% % w:Percent ANGLE 0.01
percent % w:Percent ANGLE 0.01
per cent % w:Percent ANGLE 0.01
‰ ‰ w:Per mil ANGLE 1e-3
per mil ‰ w:Per mil ANGLE 1e-3
per mill ‰ w:Per mil ANGLE 1e-3
per mille ‰ w:Per mil ANGLE 1e-3
permil ‰ w:Per mil ANGLE 1e-3
permill ‰ w:Per mil ANGLE 1e-3
permille ‰ w:Per mil ANGLE 1e-3
° ° w:Degree (angle) ANGLE pi/180
deg ° w:Degree (angle) ANGLE pi/180
degree ° w:Degree (angle) NOSPACE pi/180 -- for a degree symbol that does not repeat
' ′ w:Minute of arc ANGLE pi/10800
′ ′ w:Minute of arc ANGLE pi/10800
arcmin ′ w:Minute of arc ANGLE pi/10800
arcminute ′ w:Minute of arc ANGLE pi/10800
" ″ w:Second of arc ANGLE pi/648000
″ ″ w:Second of arc ANGLE pi/648000
arcsec ″ w:Second of arc ANGLE pi/648000
arcsecond ″ w:Second of arc ANGLE pi/648000
mas [[w:Milliarcsecond|mas]] pi/648000000
uas [[w:Microarcsecond|μas]] pi/648000000000
μas [[w:Microarcsecond|μas]] pi/648000000000
sr [[w:Steradian|sr]] SI
Qsr [[w:Steradian|sr]] SI
Rsr [[w:Steradian|sr]] SI
Ysr [[w:Steradian|sr]] SI
Zsr [[w:Steradian|sr]] SI
Esr [[w:Steradian|sr]] SI
Psr [[w:Steradian|sr]] SI
Tsr [[w:Steradian|sr]] SI
Gsr [[w:Steradian|sr]] SI
Msr [[w:Steradian|sr]] SI
ksr [[w:Steradian|sr]] SI
hsr [[w:Steradian|sr]] SI
dasr [[w:Steradian|sr]] SI
dsr [[w:Steradian|sr]] SI
csr [[w:Steradian|sr]] SI
msr [[w:Steradian|sr]] SI
usr [[w:Steradian|sr]] SI
μsr [[w:Steradian|sr]] SI
nsr [[w:Steradian|sr]] SI
psr [[w:Steradian|sr]] SI
fsr [[w:Steradian|sr]] SI
asr [[w:Steradian|sr]] SI
zsr [[w:Steradian|sr]] SI
ysr [[w:Steradian|sr]] SI
rsr [[w:Steradian|sr]] SI
qsr [[w:Steradian|sr]] SI
-- next three symbols from [[w:MNRAS]] (https://academic.oup.com/mnras/pages/general_instructions)
deg2 [[w:Square degree|deg<sup>2</sup>]]
arcmin2 [[w:Square degree|arcmin<sup>2</sup>]]
arcsec2 [[w:Square degree|arcsec<sup>2</sup>]]
mas2 [[w:Square degree|mas<sup>2</sup>]]
uas2 [[w:Square degree|μas<sup>2</sup>]]
μas2 [[w:Square degree|μas<sup>2</sup>]]
]=]
-- If val has "|long scale=on" the following definitions are used
-- (then, if not found here, the normal definitions are used).
-- Unit code [[w:Link|Symbol]] Flags/Scale
local builtin_units_long_scale = [=[
== Long scale numbers and phrases ==
billion [[w:Orders of magnitude (numbers)#1012|billion]] 1e12
billionth [[w:Orders of magnitude (numbers)#1012|billionth]] 1e-12
billionths [[w:Orders of magnitude (numbers)#1012|billionths]] 1e-12
decillion [[w:Orders of magnitude (numbers)#1060|decillion]] 1e60
decillionth [[w:Orders of magnitude (numbers)#1060|decillionth]] 1e-60
decillionths [[w:Orders of magnitude (numbers)#1060|decillionths]] 1e-60
nonillion [[w:Orders of magnitude (numbers)#1054|nonillion]] 1e54
nonillionth [[w:Orders of magnitude (numbers)#1054|nonillionth]] 1e-54
nonillionths [[w:Orders of magnitude (numbers)#1054|nonillionths]] 1e-54
octillion [[w:Orders of magnitude (numbers)#1048|octillion]] 1e48
octillionth [[w:Orders of magnitude (numbers)#1048|octillionth]] 1e-48
octillionths [[w:Orders of magnitude (numbers)#1048|octillionths]] 1e-48
quadrillion [[w:Orders of magnitude (numbers)#1024|quadrillion]] 1e24
quadrillionth [[w:Orders of magnitude (numbers)#1024|quadrillionth]] 1e-24
quadrillionths [[w:Orders of magnitude (numbers)#1024|quadrillionths]] 1e-24
quintillion [[w:Orders of magnitude (numbers)#1030|quintillion]] 1e30
quintillionth [[w:Orders of magnitude (numbers)#1030|quintillionth]] 1e-30
quintillionths [[w:Orders of magnitude (numbers)#1030|quintillionths]] 1e-30
septillion [[w:Orders of magnitude (numbers)#1042|septillion]] 1e42
septillionth [[w:Orders of magnitude (numbers)#1042|septillionth]] 1e-42
septillionths [[w:Orders of magnitude (numbers)#1042|septillionths]] 1e-42
sextillion [[w:Orders of magnitude (numbers)#1036|sextillion]] 1e36
sextillionth [[w:Orders of magnitude (numbers)#1036|sextillionth]] 1e-36
sextillionths [[w:Orders of magnitude (numbers)#1036|sextillionths]] 1e-36
trillion [[w:Orders of magnitude (numbers)#1018|trillion]] 1e18
trillionth [[w:Orders of magnitude (numbers)#1018|trillionth]] 1e-18
trillionths [[w:Orders of magnitude (numbers)#1018|trillionths]] 1e-18
]=]
return { builtin_units = builtin_units, builtin_units_long_scale = builtin_units_long_scale }
tup6edc63gbs1zypf5229gqgmralaxx
Tagalog/타갈로그어 배우기
0
483903
4639931
2026-06-11T16:36:16Z
~2026-34265-71
3604938
보고싶어
4639931
wikitext
text/x-wiki
제이드 안녕 보고싶어
povoimhek8wdk48yk4vn1gzdmd4lwls
Module:Val/units/doc
828
483904
4639939
2026-06-11T17:39:37Z
Rainmonger
122366
Created page with "{{Info|This documentation page was copied from [[w:Module/Val/unis/doc|the version at en WP]] on ~~~~~, with some edits made to work for Wikibooks.}} The list of Val units is published at [[Template:Value/list]], and here is the place that produces that report. So preview {{tl|Val/list}} from the edit box to see your changes before saving them. The file format and syntax are mostly self explanatory. * The [[w:field separator]] is two or more spaces. * You can enter ne..."
4639939
wikitext
text/x-wiki
{{Info|This documentation page was copied from [[w:Module/Val/unis/doc|the version at en WP]] on 17:38, 11 June 2026 (UTC), with some edits made to work for Wikibooks.}}
The list of Val units is published at [[Template:Value/list]], and here is the place that produces that report. So preview {{tl|Val/list}} from the edit box to see your changes before saving them. The file format and syntax are mostly self explanatory.
* The [[w:field separator]] is two or more spaces.
* You can enter new units in the "Unsorted units" section if you are not sure where else it might go.
* If the same ''unit code'' is defined twice on this page, the first one overrides the later one.
* For new entries the style guideline is [[w:Wikipedia:UNITS]].
* Convert and Val share units. If you have an issue with a unit pagename or a unit symbol, and that unit is not published at Val/list, you may decide to address it at [[w:Template talk:Convert]]. To override entries at Convert, make an entry here.
* If you're not in a hurry, you may notice when editing Val/units that it consists of two Lua string assignments, and Lua comments. Be careful.
Questions or requests related to Val units are welcomed at [[Template talk:Value]]. For feedback specifically about the terminology or procedural steps seen on this page, please use the talk page.
Below are the detailed procedures, examples, descriptions of testing and previewing, explanations about sorting Val expressions, and links to helpful pages. There is also further information about Val/Convert relations.
== Introduction ==
An entry defining a [[w:Unit of measurement|unit]] for Val is a single line under a [[w:Wikipedia:section|section]] heading.<ref>Module pages don't have section editing.</ref> It starts with the '''unit code''', followed by at least two spaces and a [[w:WP:wikilink|link]]. If you are adding a group of related units, you can enter a blank line around them to group them in the report at Val/list. An entry is ignored if it lacks at least ''two adjacent space characters''.
: <code>''code''{{spaces|4}}[<nowiki/>[ ''pagename'' | ''symbol'' ]]</code>
; unit code
: The keyboard typeable name of the symbol that users give Val's {{para|u}}, {{para|ul}}, {{para|up}} or {{para|upl}} parameters.
* Unit codes will be case sensitive.
* Prefer {{code|u}} for the Greek letter μ, if you're not sure.
* Composite units have [[w:Dimensional analysis#Definition|dimensions]] that multiply, divide, and apply powers to component units. Use {{code|.}} to multiply, {{code|/}} to divide, and a signed digit for powers. For multiplication, {{code|*}} is deprecated. When adding a unit that includes division, consider also adding a version with multiplication by the negated power; for example, {{code|m/s2}} and {{code|m.s-2}} (for m/s<sup>2</sup> and m⋅s<sup>−2</sup>).
; unit pagename
: Title or section of an article. When linked with ul or upl, the title or one of its [[w:WP:redirect|redirect]]s can expand the abbreviation for the unit.<ref>A redirect page is easy to make; there are tools on the editor toolbars.</ref>
; unit symbol
: [[WB:Original research#Verifiable|Verifiable]], standard symbol, formatted in accordance with [[w:WP:UNITS]].
* Templates will not work for producing the unit symbol for input to this module; only [[w:Wikipedia:HTML#Formatting|Wikipedia HTML formatting]] is accepted.
* Composite units use {{code|⋅}} to multiply, {{code|/}} to divide, and {{tag|sup}} for powers. Division is also the unit-inversion form that multiplies a negative numbered power, for example for m/s<sup>2</sup> and m⋅s<sup>−2</sup> (from {{code|m/s2}} and {{code|m.s-2}}).
* If the hover-text just shows the abbreviation, it is not a user-friendly unit-symbol. When not linked, the unit's abbreviation can be spelled out with hover-text at the symbol by way of the ''title'' attribute of either {{tag|abbr}} or {{tag|span}}.
* For more about HTML tags and HTML symbols such as {{code|⋅}}, see [[w:Wikipedia:HTML]].
* For more information about marking up your unit symbol see [[w:WP:HTML#formatting]].
* Examples of unit codes, and hover text are at [[Template:Value/list]].
; unit code alias
: The same unit/pagename/symbol, but by way of a different unit code.
: Unit code aliases are commonly applied for
:* compound units, for example m/s and m⋅s{{sup|−1}}.
:* Greek letters, to allow for both US keyboard and Greek-character-input applications, for example the SI prefix μ
; Preview page with this template/module
: A feature, similar to a sandbox and testcases, that provides a preview of how the code currently in the edit box (sandbox) will look when applied to any page (testcases).
The preview of main interest is <code><nowiki>[[Template:Value/list]]</nowiki></code><ref>The special relation between Value/units and Value/list is that the wikitext of Value/list is always generated by Value/units when that page is viewed, ''so'' when you '''preview page with this module''', Value/list is generated using the contents of the edit box of Value/units.</ref>, but previewing other your own page of interest with your newly added unit in a Val call and in a sorting table are also part of this procedure.
== How to add a unit ==
To maintain Val units,
# {{edit|Module:Val/units|Edit Module:Val/units}} and make your changes.
# Preview {{space}} <kbd>Template:Value/list</kbd>.
#* Look for any messages. An "Invalid definition" message is available automatically.
#* [[w:Wikipedia:TESTLINK|Prove the intended link]] from the preview.
#* Hover the mouse over the link, and read the hover-text or URL display somewhere in the browser.
# Add any unit-code aliases.
# Add any sorting if needed. Details about sorting are covered below.
# Preview a test page. It will have template Val calls on it, and it may have a [[Help:tables#Sortable tables|sortable table]] to test sorting.
# ''Show changes'' to prove no accidental edits occurred.
# Save the page. Saving the page activates the changes immediately, and they go live. You're done adding your unit.
If you want a unit to add for practice, add one from [[w:List of common physics notations]], or from [[w:SI units#Units and prefixes]].
<!-- Can't find an available Template:Template usage here '''Changing or removing existing unit codes''' is possible by employing {{tl|Template usage|Val|''code''}} to see how Val unit codes may or may not be in use on the wiki. For example, to see about changing or removing unit code <code>J.s</code>, do a
: {{#invoke:DemoTemplate|tlusage|val|"J.s"|0}}.
Put any unit code in quotes if it contains dash, dot, or slash{{mdash}}anything but a letter or number. -->
=== Examples ===
Say you're creating a new page or revamping an old page, and discover the need for a convenient way to make several entries containing [[w:Speed of light|<span title="speed of light in vacuum">''c''<sub>0</sub></span>]], and link that symbol to the page ''Speed of light''. The following entry will define your unit code as <code>c0</code>, your unit symbol as <code><nowiki>''c''<sub>0</sub></nowiki></code>, and the unit's article as ''[[w:Speed of light#Numerical value, notation, and units]]''.
: <code>c0{{spaces|2}}'''{{big|1=[[}}'''w:Speed of light#Numerical value, notation, and unit symbol'''{{big|{{!}}}}'''<nowiki>''c''<sub>0</sub></nowiki>'''{{big|]]}}'''</code>
or as explained below at [[#Advanced unit entry formats|§ Advanced unit entry formats]], you can also write
: <code>c0{{spaces|2}}<nowiki>''c''<sub>0</sub></nowiki>{{spaces|6}}w:Speed of light#Numerical value, notation, and units</code>
Then preview with ''Template:Value/list'', and check for an error message next to the new unit, and test the link you gave.
After that the page with the (saved) Val calls is used to test the linked and non-linked versions of the normal and the per units:
* <code><nowiki>{{Value|0.891|u=c0}}</nowiki></code> → {{Value|0.891|u=c0}}
* <code><nowiki>{{Value|0.891|ul=c0}}</nowiki></code> → {{Value|0.891|ul=c0}}
* <code><nowiki>{{Value|0.891|up=c0}}</nowiki></code> → {{Value|0.891|up=c0}}
* <code><nowiki>{{Value|0.891|upl=c0}}</nowiki></code> → {{Value|0.891|upl=c0}}
For an entire example that uses the other format to make a Val/unit entry.
# Put this in a sandbox: <code>{<nowiki/>{Value|1.23|ul='''tins'''}}</code> → {{Value|1.23|ul=tins}}
# Edit [[Module:Val/units]] and insert a line like the following (do not save yet):
#: <code>'''tins'''{{spaces|3}}'''tins'''{{spaces|3}}Contins unities</code>
# Under "Preview page with this module" enter <kbd>Template:Value/list</kbd>, and click ''Show preview''. It shows Value/list through the version of Val/units in the edit box. Say there are no errors, the markup and hover-text look good, and the link navigates to the unit's page.
# Then in the same way of previewing, put the [[w:wp:pagename|fullpagename]] of the sandbox from step 1, and click ''Show preview''.
# ''Save page'' to save the edit to Module:Val/units.
If you want a unit to add for practice, add one from ''[[w:List of common physics notations]]'', or from ''[[w:SI units#Units and prefixes]]''.
There are many examples of ''composite'' units that have their own page, so adding a unit code for one of those should link to its page. There are many articles that could use a new Val unit, such as molarity at [[w:Resveratrol]].
Either of the test pages of these examples could have the sortable test-table shown in the next section.
== Testing a new unit ==
To test a ''newly added'' unit not used on any page, you will need to run the preview on a sandbox page you have already created. Here are all the test cases you can preview there before saving your changes here; they are the four {{para|u}} parameters:
<syntaxhighlight lang="wikitext">
{{Value|9|u = }}
{{Value|9|ul = }}
{{Value|9|u=foo|up = }}
{{Value|9|u=foo|upl = }}
</syntaxhighlight>
and the [[w:Help:Table#Sortable_tables|sortable table]]:
<syntaxhighlight lang="wikitext">
{| class="wikitable sortable" summary="Sortable table to test Val sorting"
! Val number and unit
|-
| {{val|5|u= }}
|-
| {{val|3|u= }}
|-
| {{val|1|u= }}
|-
| {{val|2|u= }}
|-
| {{val|4|u= }}
|}
</syntaxhighlight>
This table falls into place unsorted, so when your unit accepts an [[w:SI prefix]] you can test, say, k, m, and G, with your unit, and compare with e notations 1e3, 1e6, and 1e9 in the number. For example, Val sorts these two as equal: <code>1e3 m</code> (standard [[w:scientific notation#E notation|e notation]]) and <code>1 km</code>.
; What to look for :
* The linked and non-linked markup should look exactly the same.
* Navigate to the new link. It is safe: you can go back in your browser to here.
* The two {{para|up}} versions should have no space in front of them.
* For SI prefixes sorting 2e3 (or 2000) should be greater than k (kilo prefix).
<!-- Not dealing with advance use documentation for now...
== Advanced unit-entry format ==
In the usual format
: <code>''code''{{spaces|4}}[<nowiki/>[''pagename''|''symbol'']]</code>
the wikilink represents two fields itself, for a total of three fields per entry.
But you cannot use a wikilink for composite units that need more than one pagename.
The other record type for adding a unit entry is also three fields. It has the same three fields, but they are in a different order.
: <code>''code''{{spaces|4}}''symbol''{{spaces|8}}''pagename''</code>
This format separates each field with whitespace, and also takes tabs between fields two and three.
For a new composite unit you should probably link the whole composition, or link the largest portion which could have its own page.
* The val user can compose a ''divisor'' unit on the fly from existing unit codes, and with individually linked numerator and denominator. For example:
: {{#invoke:DemoTemplate|val|99|ul=m|upl=d}}
* The val user can compose a ''multiplier'' unit on the fly by using the {{para|end}} parameter to prepend to the unit, and ''these'' can also be individually linked. For example (in geology) there is already {{val|333|ul=uBP}} to use with {{para|end}}:
: {{#invoke:DemoTemplate|val|333|end= [[megaannum|Ma]]|ul=uBP}}".
For example [[Template:Val/list]] says
: <code>m.s-1 '''{{big|[<nowiki/>[}}'''Metre per second|m&sdot;s<sup>&minus;1</sup>'''{{big|]<nowiki/>]}}'''</code>, which links to an article titled ''[[Metre per second]]'', not
: <code>m.s-1 '''{{big|[<nowiki/>[}}'''Metre|m'''{{big|]<nowiki/>]}}'''&sdot;'''{{big|[<nowiki/>[}}'''Second|s'''{{big|]<nowiki/>]}}'''<sup>&minus;1</sup></code>, which has separate links to already existing unit codes.
=== Fourth field flags ===
The module must be told directly about sorting factors, spacing, and aliasing for a unit code.
There is an optional field that goes at the end after two or more spaces or one or more tabs. It is a flag mainly used to provide for that unit to be sorted in a table.
Flags are mainly for sorting, and they work for either record type. Just add two or more spaces, or one or more tabs, and then the flag field. (Optional flags ALIAS and NOSPACE and ANGLE are for even more advanced users. See [[#Advanced unit flags|§Advanced unit flags]] below.)
Using SI requires that the unit symbol compare precisely to the unit code, and so never allows HTML or other characters in the symbol. Any difference between the unit symbol and unit code must be an SI prefix, such as k, M, or G.
=== Sorting ===
{{details|topic=sorting |Help:sorting }}
{{details|topic=scaling |Template:Ntsh}}
Val's sorting scale factor is for comparison to other Val units that might be sorted with it.
Where [[Help:Sorting|Sorting]] is done on the wiki, it is done in [[Help:table#Sortable tables|sortable tables]].
Val entries in a sortable table will need a fourth field sorting flag. It can be a number, an equation, or <code>SI</code>, but it flags the same function: a wikitable sorting "scale".
To display the sort key use {{para|debug|yes}}. For example
* <code><nowiki>{{val|999|u=uV|debug=yes}}</nowiki></code> → <span class="nowrap"><span style="border:1px solid;display:inline;" data-sort-value="6996998999999999999♠">999 µV</span></span>
* <code><nowiki>{{val|99|u=V|debug=yes}}</nowiki></code> → <span class="nowrap"><span style="border:1px solid;display:inline;" data-sort-value="7001990000000000000♠>99 V</span></span>
* <code><nowiki>{{val|1|u=kV|debug=yes}}</nowiki></code> → <span class="nowrap"><span style="border:1px solid;display:inline;" data-sort-value="7003100000000000000♠>1 kV</span></span>
==== Scale ====
For scaling a unit to sort properly, you need to pick a number for a sorting factor.
There are numerous examples at [[Template:Val/list]]. A [[system of units]] will have its base units, for example 1 bit; then the scale for sorting a kilobyte unit is then 8000 (eight bits per byte, times a kilo, or thousand). Or a year scale is seconds so that all ''times'' sort by seconds, which is a base unit. In general the scale shows to be "base unit" of the same type times the "SI prefix", and if it is not that simple, then the unit system's number has associated a number to it, such as the Avogadro number.
For example, the following defines a unit with code <code>billion</code>, symbol <code>billion</code>, link [[1,000,000,000]], and scale <code>1e9</code> ({{val|1|e=9}}). After the following entry is saved to the database
<pre>
billion billion 1,000,000,000 1e9
</pre>
{{tlx|val|2|u{{=}}billion}} would start sorting after {{tlx|val|98.7|e{{=}}3}}.
==== SI flag ====
{{common metric prefixes}}
SI is used because it scales Val expressions automatically, and it is a clean indicator that the unit will sort properly. It correctly scales any SI prefix for sorting, but not other unit codes.
For SI the unit symbol will not accept HTML, but will accept μ. HTML is not accepted at this time because in order to validate the entry, the unit code must differ from the unit symbol by exactly one valid [[SI prefix]]. If there is no difference, or too much difference, it is an invalid definition for sorting purposes. The exception is for the Greek letter μ: if you used a character input application to "install" the Greek letter <code>μ</code> in your symbol, for your "easy to type" unit code, {{key|u}}, these two are not a character mismatch.
All unit entries that use SI will have the same base unit as the symbol at Val/units, but they will display properly at Val/list.
For example, kilo is a thousand, but for defining km2 for kilometres squared will need HTML. SI cannot be used with HTML, so use 1000*1000, or 1000000 in the sorting field. Use [[e notation|1e-6]] or 0.000001 or 1/100000 instead.
If the unit you are maintaining has SI prefixes and they are all likely to be sorted in a table, add up to twelve entries, one for each common SI unit. Some of these, such as for ''metre'' in the example, may have their own article, but usually all go to the base unit's pagename. Here are the definitions for ''metre'' and some of it multiples.
<pre>
m [[Metre|m]] SI
cm [[Centimetre|m]] SI
dam [[Decametre|m]] SI
dm [[Decimetre|m]] SI
hm [[Hectometre|m]] SI
km [[Kilometre|m]] SI
Mm [[Megametre|m]] SI
mm [[Millimetre|m]] SI
um [[Micrometre|µm]] 1/1000000
µm [[Micrometre|m]] SI
nm [[Nanometre|m]] SI
pm [[Picometre|m]] SI
</pre>
The information that was in the unit symbol is now fully specified in, and exhibited at, the unit code. <code>SI</code> specifies that the unit's symbol has been transformed from a symbol to a string for use in string comparison that will finally result in calculating a sorting factor. It conveniently uses the idea that the unit code is often equal to the symbol, especially with SI units. The field definitions are sacrificed for a simplicity in the user presentation, user calculation, and user entry.
In the other format, the following defines three unit codes for volts, V for sorting. V is the base unit with the SI prefix removed. A unit code defined in this manner will have its sort key scaled by the software according to the SI prefix produced by the difference between the unit code and unit symbol.
: <code>kV V Kilovolt SI</code>
: <code>µV V Microvolt SI</code>
: <code>uV V Microvolt SI</code>
Now {{tlx|val|1|u{{=}}kV}} will sort after {{tlx|val|999|u{{=}}V}} without having to resort to using a number, and with the clean representation at Val/list.
The symbol column shows "V" for each, but it is not the symbol—it is the base unit after removing the SI prefix so convert can work out what is intended to be the prefix. The following would give identical results:
: <code>kV kV Kilovolt 1e3</code>
: <code>µV µV Microvolt 1e-6</code>
: <code>uV µV Microvolt 1e-6</code>
As you can see, without "SI", you define both the symbol, and the scale. You define the symbol with HTML or the Greek letter or other symbol, and you define the scale with a number or an equation. When "SI" is used, convert just does the right thing for the symbol and scale.
-->
== Alias a Convert unit ==
If you are here to change the link or markup of a unit, but it is not listed at Val/units, sometimes you can find the unit markup and link that you do want, already existing at [[Template:Convert#Units supported]]. In that case you can change the unit code to whatever you'd prefer, and it will achieve your goal. For example, if {<nowiki/>{Value|1|C}} is going to Celsius instead of to coulomb, you can define your own unit code, say "degC".
The following defines '''degC''' to refer to the unit known as '''°C''' in convert. There is no link because a link is defined at Convert.
<pre>
degC °C ALIAS
</pre>
== File format ==
If you want to reorganize sections here, note that the two lines <code>local builtin_units</code> and <code>local builtin_units_long_scale</code> require a blank line after them. The section [[w:Long and short scales|long scale]], with all the units like "billions" and "trillions", is under the latter, near the bottom of the page. All the rest of the units are in the former.
The file format is two Lua strings and a return statement with them in it: a string in quotes [=[ ... builtin_units ... ]=], and another string in quotes [=[ ... builtin_units_long_scale ... ]=]. The first string, builtin_units, is short-scale, second string is long scale. The reason there are two strings is because of the difference between British and US terms surrounding "billion", "billionth", etc.
For each string there must be a blank line before the first line of the string and after the last line of the string. In other words the first two and last two characters of each string must be newlines.
There is one record per line, starting in first column, having 2–4 fields. The field separator is two or more spaces. Between first and second fields, use two or more spaces. Between all other fields, use two or more spaces, or one or more tabs. Entries without two spaces in them are ignored.
== Advanced unit flags ==
You can alias Convert or Val units. But these are different things.
* A "unit code alias" is when the same ''unit pagename and unit symbol'' are defined twice. If a different ''unit code'' is assigned to the same unit symbol and unit pagename, (say, as a copy of the previous entry) it will work as a Val alias.
* A "unit alias" is when Val alias a Convert unit code. A unit of measurement is ''here'' denoted ALIAS to mean "they are defined ''there''". Val ''defaults'' to Convert, but it is good to be this explicit for certain Val units: the ones that may be tempting to define here, but that you don't want defined here because, says ALIAS, they are ''already'' defined there.
* If your unit code is not listed at {{tl|Value/list}}, you can check for it at {{tl|Convert#Units supported}}
For spacing and aliasing:
* <code>ALIAS</code> specifies that the unit's symbol is the code for a unit defined in {{tlf|Convert}}.
* <code>NOSPACE</code> prevents the default insertion of a non-breaking space before the unit symbol.
* If you see the <code>ANGLE</code> flag, this identifies those special units that must displayed not only after the main Val number, but also after its [[w:uncertainty#Measurements]] numbers. (<code>ANGLE</code> also implies <code>NOSPACE</code>.)
== Interaction with Convert ==
Val and Convert share unit codes, but their units of measurement are different.
* Most of the wiki's unit codes are managed by {{tl|Convert}}.
* Some very few unit codes here, like C and F, mean something different there. Val caters to Coulombs and Farads, while Convert caters to Celsius and Fahrenheit. Convert and Val ''unit codes'' are mostly identical, like they are for <code>degC</code> and for <code>degF</code>.
* Val could need ''any'' unit, while not all units are needed in conversions, so Val needs ''all'' of Convert's units and some of its own.
* Sorting functionality is handled for Val by {{tlf|Convert}}.)
* At Convert the procedure for defining a unit is much more involved than it is here, because there every unit defined must reference associated units, conversion factors, alternate spellings, and many other attributes. [[Module:Convert/data|An entry at Convert]] is defined as a multi-line, multi-attribute Lua table with its attendant syntax, and inside a larger Lua script. Therefore Convert is more conservative about adding units. Val may be more liberal in this respect if only because unit entry is simpler and "wikified". Therefore [[WB:BOLD|Be bold]]. Bold customization may be a worthwhile risk at Val/units, or it may get removed. Although units used in ''articles'' have definite stylistic standards, there remains room for depending on Val for markup (but see [[w:WP:Accessibility]] about color, link, and text). You may want to customize some Val unit codes that will automate some Val markup for special articles, the ''talk page'', etc. See [[w:WP:HTML#formatting]] for possibilities.
== Notes ==
{{reflist}}
== See also ==
* [[Module:Val]]
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | |
<!-- Categories below this line, please; interwikis at Wikidata -->
}}</includeonly>
smz551tdd7otpmglw0bwe0ahc36glmz
4639965
4639939
2026-06-12T00:02:23Z
Rainmonger
122366
4639965
wikitext
text/x-wiki
{{Info|This documentation page was copied from [[w:Module/Val/unis/doc|the version at en WP]] on 17:38, 11 June 2026 (UTC), with some edits made to work for Wikibooks.}}
The list of Val units is published at [[Template:Value/list]], and here is the place that produces that report. So preview {{Tl|Value/list}} from the edit box to see your changes before saving them. The file format and syntax are mostly self explanatory.
* The [[w:field separator]] is two or more spaces.
* You can enter new units in the "Unsorted units" section if you are not sure where else it might go.
* If the same ''unit code'' is defined twice on this page, the first one overrides the later one.
* For new entries the style guideline is [[w:Wikipedia:UNITS]].
* Convert and Val share units. If you have an issue with a unit pagename or a unit symbol, and that unit is not published at Val/list, you may decide to address it at [[w:Template talk:Convert]]. To override entries at Convert, make an entry here.
* If you're not in a hurry, you may notice when editing Val/units that it consists of two Lua string assignments, and Lua comments. Be careful.
Questions or requests related to Val units are welcomed at [[Template talk:Value]]. For feedback specifically about the terminology or procedural steps seen on this page, please use the talk page.
Below are the detailed procedures, examples, descriptions of testing and previewing, explanations about sorting Val expressions, and links to helpful pages. There is also further information about Val/Convert relations.
== Introduction ==
An entry defining a [[w:Unit of measurement|unit]] for Val is a single line under a [[w:Wikipedia:section|section]] heading.<ref>Module pages don't have section editing.</ref> It starts with the '''unit code''', followed by at least two spaces and a [[w:WP:wikilink|link]]. If you are adding a group of related units, you can enter a blank line around them to group them in the report at Val/list. An entry is ignored if it lacks at least ''two adjacent space characters''.
: <code>''code''{{Spaces|4}}[<nowiki/>[ ''pagename'' | ''symbol'' ]]</code>
; unit code
: The keyboard typeable name of the symbol that users give Val's {{Para|u}}, {{Para|ul}}, {{Para|up}} or {{Para|upl}} parameters.
* Unit codes will be case sensitive.
* Prefer {{Code|u}} for the Greek letter μ, if you're not sure.
* Composite units have [[w:Dimensional analysis#Definition|dimensions]] that multiply, divide, and apply powers to component units. Use {{Code|.}} to multiply, {{Code|/}} to divide, and a signed digit for powers. For multiplication, {{Code|*}} is deprecated. When adding a unit that includes division, consider also adding a version with multiplication by the negated power; for example, {{Code|m/s2}} and {{Code|m.s-2}} (for m/s<sup>2</sup> and m⋅s<sup>−2</sup>).
; unit pagename
: Title or section of an article. When linked with ul or upl, the title or one of its [[w:WP:redirect|redirect]]s can expand the abbreviation for the unit.<ref>A redirect page is easy to make; there are tools on the editor toolbars.</ref>
; unit symbol
: [[WB:Original research#Verifiable|Verifiable]], standard symbol, formatted in accordance with [[w:WP:UNITS]].
* Templates will not work for producing the unit symbol for input to this module; only [[w:Wikipedia:HTML#Formatting|Wikipedia HTML formatting]] is accepted.
* Composite units use {{Code|⋅}} to multiply, {{Code|/}} to divide, and {{Tag|sup}} for powers. Division is also the unit-inversion form that multiplies a negative numbered power, for example for m/s<sup>2</sup> and m⋅s<sup>−2</sup> (from {{Code|m/s2}} and {{Code|m.s-2}}).
* If the hover-text just shows the abbreviation, it is not a user-friendly unit-symbol. When not linked, the unit's abbreviation can be spelled out with hover-text at the symbol by way of the ''title'' attribute of either {{Tag|abbr}} or {{Tag|span}}.
* For more about HTML tags and HTML symbols such as {{Code|⋅}}, see [[w:Wikipedia:HTML]].
* For more information about marking up your unit symbol see [[w:WP:HTML#formatting]].
* Examples of unit codes, and hover text are at [[Template:Value/list]].
; unit code alias
: The same unit/pagename/symbol, but by way of a different unit code.
: Unit code aliases are commonly applied for
:* compound units, for example m/s and m⋅s{{Sup|−1}}.
:* Greek letters, to allow for both US keyboard and Greek-character-input applications, for example the SI prefix μ
; Preview page with this template/module
: A feature, similar to a sandbox and testcases, that provides a preview of how the code currently in the edit box (sandbox) will look when applied to any page (testcases).
The preview of main interest is <code><nowiki>[[Template:Value/list]]</nowiki></code><ref>The special relation between Val/units and Value/list is that the wikitext of Value/list is always generated by Val/units when that page is viewed, ''so'' when you '''preview page with this module''', Value/list is generated using the contents of the edit box of Val/units.</ref>, but previewing other your own page of interest with your newly added unit in a Val call and in a sorting table are also part of this procedure.
== How to add a unit ==
To maintain Val units,
# {{Edit|Module:Val/units|Edit Module:Val/units}} and make your changes.
# Preview {{Space}} <kbd>Template:Value/list</kbd>.
#* Look for any messages. An "Invalid definition" message is available automatically.
#* [[w:Wikipedia:TESTLINK|Prove the intended link]] from the preview.
#* Hover the mouse over the link, and read the hover-text or URL display somewhere in the browser.
# Add any unit-code aliases.
# Add any sorting if needed. Details about sorting are covered below.
# Preview a test page. It will have template Val calls on it, and it may have a [[Help:Tables#Sortable tables|sortable table]] to test sorting.
# ''Show changes'' to prove no accidental edits occurred.
# Save the page. Saving the page activates the changes immediately, and they go live. You're done adding your unit.
If you want a unit to add for practice, add one from [[w:List of common physics notations]], or from [[w:SI units#Units and prefixes]].
<!-- Can't find an available Template:Template usage here '''Changing or removing existing unit codes''' is possible by employing {{tl|Template usage|Val|''code''}} to see how Val unit codes may or may not be in use on the wiki. For example, to see about changing or removing unit code <code>J.s</code>, do a
: {{#invoke:DemoTemplate|tlusage|val|"J.s"|0}}.
Put any unit code in quotes if it contains dash, dot, or slash{{mdash}}anything but a letter or number. -->
=== Examples ===
Say you're creating a new page or revamping an old page, and discover the need for a convenient way to make several entries containing [[w:Speed of light|<span title="speed of light in vacuum">''c''<sub>0</sub></span>]], and link that symbol to the page ''Speed of light''. The following entry will define your unit code as <code>c0</code>, your unit symbol as <code><nowiki>''c''<sub>0</sub></nowiki></code>, and the unit's article as ''[[w:Speed of light#Numerical value, notation, and units]]''.
: <code>c0{{Spaces|2}}'''{{Big|1=[[}}'''w:Speed of light#Numerical value, notation, and unit symbol'''{{Big|{{!}}}}'''<nowiki>''c''<sub>0</sub></nowiki>'''{{Big|]]}}'''</code>
or as explained below at [[#Advanced unit entry formats|§ Advanced unit entry formats]], you can also write
: <code>c0{{Spaces|2}}<nowiki>''c''<sub>0</sub></nowiki>{{Spaces|6}}w:Speed of light#Numerical value, notation, and units</code>
Then preview with ''Template:Value/list'', and check for an error message next to the new unit, and test the link you gave.
After that the page with the (saved) Val calls is used to test the linked and non-linked versions of the normal and the per units:
* <code><nowiki>{{Value|0.891|u=c0}}</nowiki></code> → {{Value|0.891|u=c0}}
* <code><nowiki>{{Value|0.891|ul=c0}}</nowiki></code> → {{Value|0.891|ul=c0}}
* <code><nowiki>{{Value|0.891|up=c0}}</nowiki></code> → {{Value|0.891|up=c0}}
* <code><nowiki>{{Value|0.891|upl=c0}}</nowiki></code> → {{Value|0.891|upl=c0}}
For an entire example that uses the other format to make a Val/unit entry.
# Put this in a sandbox: <code>{<nowiki/>{Value|1.23|ul='''tins'''}}</code> → {{Value|1.23|ul=tins}}
# Edit [[Module:Val/units]] and insert a line like the following (do not save yet):
#: <code>'''tins'''{{Spaces|3}}'''tins'''{{Spaces|3}}Contins unities</code>
# Under "Preview page with this module" enter <kbd>Template:Value/list</kbd>, and click ''Show preview''. It shows Value/list through the version of Val/units in the edit box. Say there are no errors, the markup and hover-text look good, and the link navigates to the unit's page.
# Then in the same way of previewing, put the [[w:wp:pagename|fullpagename]] of the sandbox from step 1, and click ''Show preview''.
# ''Save page'' to save the edit to Module:Val/units.
If you want a unit to add for practice, add one from ''[[w:List of common physics notations]]'', or from ''[[w:SI units#Units and prefixes]]''.
There are many examples of ''composite'' units that have their own page, so adding a unit code for one of those should link to its page. There are many articles that could use a new Val unit, such as molarity at [[w:Resveratrol]].
Either of the test pages of these examples could have the sortable test-table shown in the next section.
== Testing a new unit ==
To test a ''newly added'' unit not used on any page, you will need to run the preview on a sandbox page you have already created. Here are all the test cases you can preview there before saving your changes here; they are the four {{Para|u}} parameters:
<syntaxhighlight lang="wikitext">
{{Value|9|u = }}
{{Value|9|ul = }}
{{Value|9|u=foo|up = }}
{{Value|9|u=foo|upl = }}
</syntaxhighlight>
and the [[w:Help:Tables#Sortable_tables|sortable table]]:
<syntaxhighlight lang="wikitext">
{| class="wikitable sortable" summary="Sortable table to test Value sorting"
! Value number and unit
|-
| {{Value|5|u= }}
|-
| {{Value|3|u= }}
|-
| {{Value|1|u= }}
|-
| {{Value|2|u= }}
|-
| {{Value|4|u= }}
|}
</syntaxhighlight>
This table falls into place unsorted, so when your unit accepts an [[w:SI prefix]] you can test, say, k, m, and G, with your unit, and compare with e notations 1e3, 1e6, and 1e9 in the number. For example, Value sorts these two as equal: <code>1e3 m</code> (standard [[w:scientific notation#E notation|e notation]]) and <code>1 km</code>.
; What to look for :
* The linked and non-linked markup should look exactly the same.
* Navigate to the new link. It is safe: you can go back in your browser to here.
* The two {{Para|up}} versions should have no space in front of them.
* For SI prefixes sorting 2e3 (or 2000) should be greater than k (kilo prefix).
<!-- Not dealing with advance use documentation for now...
== Advanced unit-entry format ==
In the usual format
: <code>''code''{{Spaces|4}}[<nowiki/>[''pagename''|''symbol'']]</code>
the wikilink represents two fields itself, for a total of three fields per entry.
But you cannot use a wikilink for composite units that need more than one pagename.
The other record type for adding a unit entry is also three fields. It has the same three fields, but they are in a different order.
: <code>''code''{{Spaces|4}}''symbol''{{Spaces|8}}''pagename''</code>
This format separates each field with whitespace, and also takes tabs between fields two and three.
For a new composite unit you should probably link the whole composition, or link the largest portion which could have its own page.
* The val user can compose a ''divisor'' unit on the fly from existing unit codes, and with individually linked numerator and denominator. For example:
: {{#invoke:DemoTemplate|val|99|ul=m|upl=d}}
* The val user can compose a ''multiplier'' unit on the fly by using the {{Para|end}} parameter to prepend to the unit, and ''these'' can also be individually linked. For example (in geology) there is already {{val|333|ul=uBP}} to use with {{Para|end}}:
: {{#invoke:DemoTemplate|val|333|end= [[megaannum|Ma]]|ul=uBP}}".
For example [[Template:Val/list]] says
: <code>m.s-1 '''{{Big|[<nowiki/>[}}'''Metre per second|m&sdot;s<sup>&minus;1</sup>'''{{Big|]<nowiki/>]}}'''</code>, which links to an article titled ''[[Metre per second]]'', not
: <code>m.s-1 '''{{Big|[<nowiki/>[}}'''Metre|m'''{{Big|]<nowiki/>]}}'''&sdot;'''{{Big|[<nowiki/>[}}'''Second|s'''{{Big|]<nowiki/>]}}'''<sup>&minus;1</sup></code>, which has separate links to already existing unit codes.
=== Fourth field flags ===
The module must be told directly about sorting factors, spacing, and aliasing for a unit code.
There is an optional field that goes at the end after two or more spaces or one or more tabs. It is a flag mainly used to provide for that unit to be sorted in a table.
Flags are mainly for sorting, and they work for either record type. Just add two or more spaces, or one or more tabs, and then the flag field. (Optional flags ALIAS and NOSPACE and ANGLE are for even more advanced users. See [[#Advanced unit flags|§Advanced unit flags]] below.)
Using SI requires that the unit symbol compare precisely to the unit code, and so never allows HTML or other characters in the symbol. Any difference between the unit symbol and unit code must be an SI prefix, such as k, M, or G.
=== Sorting ===
{{details|topic=sorting |Help:sorting }}
{{details|topic=scaling |Template:Ntsh}}
Val's sorting scale factor is for comparison to other Val units that might be sorted with it.
Where [[Help:Sorting|Sorting]] is done on the wiki, it is done in [[Help:table#Sortable tables|sortable tables]].
Val entries in a sortable table will need a fourth field sorting flag. It can be a number, an equation, or <code>SI</code>, but it flags the same function: a wikitable sorting "scale".
To display the sort key use {{Para|debug|yes}}. For example
* <code><nowiki>{{val|999|u=uV|debug=yes}}</nowiki></code> → <span class="nowrap"><span style="border:1px solid;display:inline;" data-sort-value="6996998999999999999♠">999 µV</span></span>
* <code><nowiki>{{val|99|u=V|debug=yes}}</nowiki></code> → <span class="nowrap"><span style="border:1px solid;display:inline;" data-sort-value="7001990000000000000♠>99 V</span></span>
* <code><nowiki>{{val|1|u=kV|debug=yes}}</nowiki></code> → <span class="nowrap"><span style="border:1px solid;display:inline;" data-sort-value="7003100000000000000♠>1 kV</span></span>
==== Scale ====
For scaling a unit to sort properly, you need to pick a number for a sorting factor.
There are numerous examples at [[Template:Val/list]]. A [[system of units]] will have its base units, for example 1 bit; then the scale for sorting a kilobyte unit is then 8000 (eight bits per byte, times a kilo, or thousand). Or a year scale is seconds so that all ''times'' sort by seconds, which is a base unit. In general the scale shows to be "base unit" of the same type times the "SI prefix", and if it is not that simple, then the unit system's number has associated a number to it, such as the Avogadro number.
For example, the following defines a unit with code <code>billion</code>, symbol <code>billion</code>, link [[1,000,000,000]], and scale <code>1e9</code> ({{val|1|e=9}}). After the following entry is saved to the database
<pre>
billion billion 1,000,000,000 1e9
</pre>
{{tlx|val|2|u{{=}}billion}} would start sorting after {{tlx|val|98.7|e{{=}}3}}.
==== SI flag ====
{{common metric prefixes}}
SI is used because it scales Val expressions automatically, and it is a clean indicator that the unit will sort properly. It correctly scales any SI prefix for sorting, but not other unit codes.
For SI the unit symbol will not accept HTML, but will accept μ. HTML is not accepted at this time because in order to validate the entry, the unit code must differ from the unit symbol by exactly one valid [[SI prefix]]. If there is no difference, or too much difference, it is an invalid definition for sorting purposes. The exception is for the Greek letter μ: if you used a character input application to "install" the Greek letter <code>μ</code> in your symbol, for your "easy to type" unit code, {{key|u}}, these two are not a character mismatch.
All unit entries that use SI will have the same base unit as the symbol at Val/units, but they will display properly at Val/list.
For example, kilo is a thousand, but for defining km2 for kilometres squared will need HTML. SI cannot be used with HTML, so use 1000*1000, or 1000000 in the sorting field. Use [[e notation|1e-6]] or 0.000001 or 1/100000 instead.
If the unit you are maintaining has SI prefixes and they are all likely to be sorted in a table, add up to twelve entries, one for each common SI unit. Some of these, such as for ''metre'' in the example, may have their own article, but usually all go to the base unit's pagename. Here are the definitions for ''metre'' and some of it multiples.
<pre>
m [[Metre|m]] SI
cm [[Centimetre|m]] SI
dam [[Decametre|m]] SI
dm [[Decimetre|m]] SI
hm [[Hectometre|m]] SI
km [[Kilometre|m]] SI
Mm [[Megametre|m]] SI
mm [[Millimetre|m]] SI
um [[Micrometre|µm]] 1/1000000
µm [[Micrometre|m]] SI
nm [[Nanometre|m]] SI
pm [[Picometre|m]] SI
</pre>
The information that was in the unit symbol is now fully specified in, and exhibited at, the unit code. <code>SI</code> specifies that the unit's symbol has been transformed from a symbol to a string for use in string comparison that will finally result in calculating a sorting factor. It conveniently uses the idea that the unit code is often equal to the symbol, especially with SI units. The field definitions are sacrificed for a simplicity in the user presentation, user calculation, and user entry.
In the other format, the following defines three unit codes for volts, V for sorting. V is the base unit with the SI prefix removed. A unit code defined in this manner will have its sort key scaled by the software according to the SI prefix produced by the difference between the unit code and unit symbol.
: <code>kV V Kilovolt SI</code>
: <code>µV V Microvolt SI</code>
: <code>uV V Microvolt SI</code>
Now {{tlx|val|1|u{{=}}kV}} will sort after {{tlx|val|999|u{{=}}V}} without having to resort to using a number, and with the clean representation at Val/list.
The symbol column shows "V" for each, but it is not the symbol—it is the base unit after removing the SI prefix so convert can work out what is intended to be the prefix. The following would give identical results:
: <code>kV kV Kilovolt 1e3</code>
: <code>µV µV Microvolt 1e-6</code>
: <code>uV µV Microvolt 1e-6</code>
As you can see, without "SI", you define both the symbol, and the scale. You define the symbol with HTML or the Greek letter or other symbol, and you define the scale with a number or an equation. When "SI" is used, convert just does the right thing for the symbol and scale.
-->
== Alias a Convert unit ==
If you are here to change the link or markup of a unit, but it is not listed at Val/units, sometimes you can find the unit markup and link that you do want, already existing at [[Template:Convert#Units supported]]. In that case you can change the unit code to whatever you'd prefer, and it will achieve your goal. For example, if {<nowiki/>{Value|1|C}} is going to Celsius instead of to coulomb, you can define your own unit code, say "degC".
The following defines '''degC''' to refer to the unit known as '''°C''' in convert. There is no link because a link is defined at Convert.
<pre>
degC °C ALIAS
</pre>
== File format ==
If you want to reorganize sections here, note that the two lines <code>local builtin_units</code> and <code>local builtin_units_long_scale</code> require a blank line after them. The section [[w:Long and short scales|long scale]], with all the units like "billions" and "trillions", is under the latter, near the bottom of the page. All the rest of the units are in the former.
The file format is two Lua strings and a return statement with them in it: a string in quotes [=[ ... builtin_units ... ]=], and another string in quotes [=[ ... builtin_units_long_scale ... ]=]. The first string, builtin_units, is short-scale, second string is long scale. The reason there are two strings is because of the difference between British and US terms surrounding "billion", "billionth", etc.
For each string there must be a blank line before the first line of the string and after the last line of the string. In other words the first two and last two characters of each string must be newlines.
There is one record per line, starting in first column, having 2–4 fields. The field separator is two or more spaces. Between first and second fields, use two or more spaces. Between all other fields, use two or more spaces, or one or more tabs. Entries without two spaces in them are ignored.
== Advanced unit flags ==
You can alias Convert or Val units. But these are different things.
* A "unit code alias" is when the same ''unit pagename and unit symbol'' are defined twice. If a different ''unit code'' is assigned to the same unit symbol and unit pagename, (say, as a copy of the previous entry) it will work as a Val alias.
* A "unit alias" is when Val alias a Convert unit code. A unit of measurement is ''here'' denoted ALIAS to mean "they are defined ''there''". Val ''defaults'' to Convert, but it is good to be this explicit for certain Val units: the ones that may be tempting to define here, but that you don't want defined here because, says ALIAS, they are ''already'' defined there.
* If your unit code is not listed at {{Tl|Value/list}}, you can check for it at {{Tl|Convert#Units supported}}
For spacing and aliasing:
* <code>ALIAS</code> specifies that the unit's symbol is the code for a unit defined in {{Tlf|Convert}}.
* <code>NOSPACE</code> prevents the default insertion of a non-breaking space before the unit symbol.
* If you see the <code>ANGLE</code> flag, this identifies those special units that must displayed not only after the main Val number, but also after its [[w:uncertainty#Measurements]] numbers. (<code>ANGLE</code> also implies <code>NOSPACE</code>.)
== Interaction with Convert ==
Val and Convert share unit codes, but their units of measurement are different.
* Most of the wiki's unit codes are managed by {{Tl|Convert}}.
* Some very few unit codes here, like C and F, mean something different there. Val caters to coulombs and farads, while Convert caters to degrees Celsius and Fahrenheit. Convert and Val ''unit codes'' are mostly identical, like they are for <code>degC</code> and for <code>degF</code>.
* Val could need ''any'' unit, while not all units are needed in conversions, so Val needs ''all'' of Convert's units and some of its own.
* Sorting functionality is handled for Val by {{Tlf|Convert}}.)
* At Convert the procedure for defining a unit is much more involved than it is here, because there every unit defined must reference associated units, conversion factors, alternate spellings, and many other attributes. [[Module:Convert/data|An entry at Convert]] is defined as a multi-line, multi-attribute Lua table with its attendant syntax, and inside a larger Lua script. Therefore Convert is more conservative about adding units. Val may be more liberal in this respect if only because unit entry is simpler and "wikified". Therefore [[WB:BOLD|Be bold]]. Bold customization may be a worthwhile risk at Val/units, or it may get removed. Although units used in ''articles'' have definite stylistic standards, there remains room for depending on Val for markup (but see [[w:WP:Accessibility]] about color, link, and text). You may want to customize some Val unit codes that will automate some Val markup for special articles, the ''talk page'', etc. See [[w:WP:HTML#formatting]] for possibilities.
== Notes ==
{{reflist}}
== See also ==
* [[Module:Val]]
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | |
<!-- Categories below this line, please; interwikis at Wikidata -->
}}</includeonly>
o33a5lh5ws4y3h570clr26jlnncifb0
Template:Value
10
483905
4639940
2026-06-11T17:43:14Z
Rainmonger
122366
Copied from en WP Template:Val
4639940
wikitext
text/x-wiki
<includeonly>{{safesubst:<noinclude/>#invoke:val|main}}</includeonly><noinclude>
{{documentation}}
</noinclude>
pyd5z3vtnjv2hvt8nvjbkl8gerasot4
Module:Gapnum
828
483906
4639941
2026-06-11T19:09:33Z
Rainmonger
122366
Created page with "-- Copied from en WP local p = {} local getArgs function p.main(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end local args = getArgs(frame, {wrappers = 'Template:Gapnum'}) local n = args[1] if not n then error('Parameter 1 is required') elseif not tonumber(n) and not tonumber(n, 36) then -- Validates any number with base ≤ 36 error('Unable to convert "' .. args[1] .. '" to a number') end local gap = args.gap local precis..."
4639941
Scribunto
text/plain
-- Copied from en WP
local p = {}
local getArgs
function p.main(frame)
if not getArgs then
getArgs = require('Module:Arguments').getArgs
end
local args = getArgs(frame, {wrappers = 'Template:Gapnum'})
local n = args[1]
if not n then
error('Parameter 1 is required')
elseif not tonumber(n) and not tonumber(n, 36) then -- Validates any number with base ≤ 36
error('Unable to convert "' .. args[1] .. '" to a number')
end
local gap = args.gap
local precision = tonumber(args.prec)
return p.gaps(n,{gap=gap,prec=precision})
end
-- Not named p._main so that it has a better function name when required by Module:Val
function p.gaps(n,tbl)
local nstr = tostring(n)
if not tbl then
tbl = {}
end
local gap = tbl.gap or '.25em'
local int_part, frac_part = p.groups(n,tbl.prec)
local ret = mw.html.create('span')
:css('white-space','nowrap')
-- No gap necessary on first group
:wikitext(table.remove(int_part,1))
-- Build int part
for _, v in ipairs(int_part) do
ret:tag('span')
:css('margin-left',gap)
:wikitext(v)
end
if frac_part then
-- The first group after the decimal shouldn't have a gap
ret:wikitext('.' .. table.remove(frac_part,1))
-- Build frac part
for _, v in ipairs(frac_part) do
ret:tag('span')
:css('margin-left',gap)
:wikitext(v)
end
end
return ret
end
-- Creates tables where each element is a different group of the number
function p.groups(num,precision)
local nstr = tostring(num)
if not precision then
precision = -1
end
local decimalloc = nstr:find('.', 1, true)
local int_part, frac_part
if decimalloc == nil then
int_part = nstr
else
int_part = nstr:sub(1, decimalloc-1)
frac_part = nstr:sub(decimalloc + 1)
end
-- only define ret_i as an empty table, let ret_d stay nil
local ret_i,ret_d = {}
-- Loop to handle most of the groupings; from right to left, so that if a group has less than 3 members, it will be the first group
while int_part:len() > 3 do
-- Insert in first spot, since we're moving backwards
table.insert(ret_i,1,int_part:sub(-3))
int_part = int_part:sub(1,-4)
end
-- handle any left over numbers
if int_part:len() > 0 then
table.insert(ret_i,1,int_part)
end
if precision ~= 0 and frac_part then
ret_d = {}
if precision == -1 then
precision = frac_part:len()
end
-- Reduce the length of the string if required precision is less than actual precision
-- OR
-- Increase it (by adding 0s) if the required precision is more than actual
local offset = precision - frac_part:len()
if offset < 0 then
frac_part = frac_part:sub(1,precision)
elseif offset > 0 then
frac_part = frac_part .. string.rep('0', offset)
end
-- Allow groups of 3 or 2 (3 first)
for v in string.gmatch(frac_part,'%d%d%d?') do
table.insert(ret_d,v)
end
-- Preference for groups of 4 instead of groups of 1 at the end
if #frac_part % 3 == 1 then
if frac_part:len() == 1 then
ret_d = {frac_part}
else
local last_g = ret_d[#ret_d] or ''
last_g = last_g..frac_part:sub(-1)
ret_d[#ret_d] = last_g
end
end
end
return ret_i,ret_d
end
return p
gytwu7dx2khndfb05iulcamdo2co0je
Module:Gapnum/doc
828
483907
4639942
2026-06-11T19:13:44Z
Rainmonger
122366
Created page with "{{Info|This documentation page was copied from [[w:Module:Gapnum/doc|the version at en WP]] at ~~~~~ with some edits made to work for Wikibooks.}} {{lua|Module:Arguments}} This module is used by {{Tl|Value}}. == Use in other modules == === <code>gaps</code> === The <code>gaps</code> function can be useful for [[w:MOS:DIGITS|formatting]] in other modules that work with displaying large numbers. <syntaxhighlight lang="lua"> local gaps = require('Module:Gapnum').gaps </s..."
4639942
wikitext
text/x-wiki
{{Info|This documentation page was copied from [[w:Module:Gapnum/doc|the version at en WP]] at 19:13, 11 June 2026 (UTC) with some edits made to work for Wikibooks.}}
{{lua|Module:Arguments}}
This module is used by {{Tl|Value}}.
== Use in other modules ==
=== <code>gaps</code> ===
The <code>gaps</code> function can be useful for [[w:MOS:DIGITS|formatting]] in other modules that work with displaying large numbers.
<syntaxhighlight lang="lua">
local gaps = require('Module:Gapnum').gaps
</syntaxhighlight>
Using the <code>gaps</code> function, the first argument is the number to format. The second argument can be a table with keys that tell the module how to format. The table keys that can be used are:
* <code>gap</code> - a number with CSS units (px, em, en, etc) that define the size of the gap between numbers. If blank, the module will use <code>0.25em</code>.
* <code>prec</code> - a number that determines the precision of the decimal part of the number. If the precision is less than the number of digits, extra digits will be removed without rounding; if it is more, zeroes will be added to the end to create the desired precision. If blank, the module will use <code>-1</code>, which means the precision will be the same as the number given; no digits added or removed.
Note that the return statement is a table. This means more styling or text can be added to the wrapper span tag, but it may also mean that <code>tostring()</code> may be required when used in other modules.
<syntaxhighlight lang="lua">
local gaps = require('Module:Gapnum').gaps
function example()
local n = 123456.78900011
-- Example for just simple formatting of a number
-- n_gaps will use the default, .25em gaps and no change in precision
-- The result will have its gaps created with inline css
-- But the result would look like:
-- 123 456.789 000 11
local n_gaps = gaps(n)
-- Different gap size
-- These will format n into the same groups as above
-- But the spaces between the groups will be larger and smaller, respectively
local n_big_gaps = gaps(n, {gap='1em'})
local n_small_gaps = gaps(n, {gap='1px'})
-- Different precision
-- n_prec_5 will use the number 123456.78900
-- The result would look like:
-- 123 456.789 00
local n_prec_5 = gaps(n, {prec=5})
-- n_prec_10 will use the number 123456.7890001100
-- The result would look like:
-- 123 456.789 000 1100
local n_prec_10 = gaps(n, {prec=10})
-- Both different gaps and precision can be used:
local n_big_5 = gaps(n, {gap='1em', prec=5})
local n_small_10 = gaps(n, {gap='1px', prec=10})
end
</syntaxhighlight>
=== <code>groups</code> ===
The <code>groups</code> function can be used in other modules to separate a number into groups as <code>gaps</code> does, but instead of a formatted <code>string</code>, the function will return tables whose elements are the separated groups.
<syntaxhighlight lang="lua">
local groups = require('Module:Gapnum').groups
function example()
-- This will return one table:
-- {123,456}
local n1 = groups(123456)
-- This will return two tables, each assigned to a different variable:
-- n2a will be:
-- {1,234}
-- n2b will be:
-- {567,89}
local n2a,n2b = groups(1234.56789)
-- This will return two tables:
-- An integer part is always returned, even if it is 0
-- n3a will be:
-- {0}
-- n3b will be:
-- {123,4567}
local n3a,n3b = groups(0.1234567)
-- Just like the other functions, a precision can be defined
-- precision is simply the second parameter
-- n4a will be:
-- {123}
-- n4b will be:
-- {456,700,00}
local n4a,n4b = groups(123.4567,8)
end
</syntaxhighlight><noinclude>
[[Category:Module documentation pages]]
</noinclude>
fvaci3i57vq51dbssgyjaa530rw4enw
Template:Value/doc
10
483908
4639946
2026-06-11T19:33:13Z
Rainmonger
122366
Copied doc page from WP and made many edits to work for WB... but it's not complete just yet!
4639946
wikitext
text/x-wiki
{{Documentation subpage}}
{{Possible-risk}}
{{Lua|Module:Val|Module:Val/units}}
{{Info|This documentation page was copied from [[w:Template:Val/doc|the version at en WP]] at 19:33, 11 June 2026 (UTC), with some edits made to work for Wikibooks.}}
This template is used to easily present values in [[w:scientific notation]], including uncertainty and/or units, as prescribed by Wikipedia's [[w:WP:MOS|Manual of Style]] at [[w:MOS:NUM]].
== Introduction ==
Val specializes in numeric ''values'', especially those with [[w:scientific notation]]s, [[w:uncertainty#Measurements|uncertainty notation]]s, and those with measurement ''values'' with physical units. Because these expressions are covered by the Manual of Style, Value provides the stylized output for you, and keeps them from wrapping across lines.
Express a numeral:
* <code>{{Value|123456.78901}}</code> → ''value'', formatted with gaps: {{Value|123456.78901}}, or with {{Para|fmt|commas}} → {{Value|fmt=commas|123456.78901}}
* <code>{{Value|''number''|''number''}}</code> → ''value'' ± ''uncertainty'', like {{Value|fmt=commas|123478|56}}
* <code>{{Value|''number''|<mark style="color: black; background: yellow">(</mark>''number''<mark style="color: black; background: yellow">)</mark>}}</code> → ''value''(''uncertainty''), like {{Value|fmt=commas|12345|(56)}}
* <code>{{Value|''number''|''number''|''number''}}</code> → ''value'' {{Su|p=+uncertainty|b=−uncertainty}} like {{Value|fmt=commas4|1234|+56|-78}}
Express a measurement value: {{#invoke:DemoTemplate|Value|4|ul=m2}}. The <kbd>m2</kbd> is a "unit code" that Value uses to look up the link to the unit's article, and the formatting of the unit symbol. Val links the units to the page it has on file for them. See {{Tl|Value/list}}.
There are a large number of unit codes that Val understands and keeps "up to code". A unit code is the just abbreviated unit name, but these can get quite involved for a compound or composite unit, with "multipliers" or "dividers". See [[Module:Val/units]].
Some unit-code flexibility is provided by having four parameters to work the unit-code system: whether to link one or not, (usually not; see ''[[Wikibooks:Dewikify|Dewikify]]''), and whether to link the numerator or denominator of a unit ratio separately.
* <code>{{Value|''number''|'''ul='''''unit code''}}</code> → ''number {{Font color|blue|symbol}}'', such as {{Value|9.8|ul=km2}}
* <code>{{Value|''number''|'''u='''''unit code''}}</code> → ''number symbol'', such as {{Value|9.8|u=km2}}
* <code>{{Value|''number''|'''u='''''unit code''|'''u<mark style="color: black; background: yellow">p</mark>l='''''unit code''}}</code> → ''number'' symbol{{Large|<mark style="color: black; background: yellow">/</mark>}}{{Font color|blue|symbol}}, such as {{Value|9.8|u=gal|upl=min}}
* <code>{{Value|''number''|'''ul='''''unit code''|'''u<mark style="color: black; background: yellow">p</mark>='''''unit code''}}</code> → ''number'' {{Font color|blue|symbol}}{{Large|<mark style="color: black; background: yellow">/</mark>}}''symbol'', such as {{Value|9.8|ul=parsec|up=year}}
To bypass the unit code system, if {{Para|u}} does not recognize your unit code, it will accept any wikitext and render it as usual.
* {{#invoke:DemoTemplate|Value|5.4|u=[[w:kg]]⋅[[w:meter|m]]/s<sup>2</sup>}}
* {{#invoke:DemoTemplate|Value|7.6|u=[[w:metre per second squared|m/s<sup>2</sup>]]}}
See [[Module:Val/units]] for how to add units to the unit code system.
Sometimes a number and unit code is not enough. A prefix and suffix are also available, {{Para|p}} and {{Para|s}}.
* {{#invoke:DemoTemplate|Value|7600|u= C⋅Ga |p= > | s= < }}
* {{#invoke:DemoTemplate|Value|7600|u=C|p=<span style="color:green"><sup>|s=</sup></span>}}
See {{Tl|Value/testcases}} to learn the Value parameters by an example. It is comprehensive, and there are over 100 examples.
== Arguments ==
{{Details|Help:Template#Parameters}}
Value takes three unnamed parameters. The first is always the numeric value. When the second and third are numbers they become the various uncertainty notations, but the second unnamed parameter can also serve to ''grammatically join'' the first and third numbers.
Value clears surrounding spaces in its unnamed parameters.
{|cellspacing="15" cellpadding="0"
| style="vertical-align:top;text-align: center;" | '''1st''' or {{Para|1}} || A number. Can be in [[w:radix point|decimal point]] notation or in [[w:e notation]]. This number is the basis of the Value formatting.<br />
{{#invoke:DemoTemplate|Value|1234567.1234567}}<br />
{{#invoke:DemoTemplate|Value|.1234}} {{Spaces|19}}(adds the zero)<br />
{{#invoke:DemoTemplate|Value|+1234}} {{Spaces|20}}(displays the plus) <br />
{{#invoke:DemoTemplate|Value|-1234}} {{Spaces|20}}(replaces the [[w:hyphen-minus]] with a [[w:minus sign]])<br />
{{#invoke:DemoTemplate|Value|12e34}} {{Spaces|15}}([[w:Scientific notation#E notation|E notation]])<br />
|-
|style="vertical-align:top;text-align: center;"| {{Para|fmt}}
| By default, numbers are formatted with gaps separating groups of three digits in both integer and fractional part.<br />
However, by default, four-digit integers are not formatted; use {{Para|fmt|gaps}} to force gaps.<br />
Use {{Para|fmt|commas}} to delimit the integer part of the number with commas.<br />
Use {{Para|fmt|none}} for no formatting (no gaps or commas).<br />
{{#invoke:DemoTemplate|Value|1234567.1234567}}<br />
{{#invoke:DemoTemplate|Value|1234567.1234567|fmt=commas}}<br />
{{#invoke:DemoTemplate|Value|1234}}<br />
{{#invoke:DemoTemplate|Value|1234|fmt=gaps}}<br />
{{#invoke:DemoTemplate|Value|1234.5}}<br />
{{#invoke:DemoTemplate|Value|1234.5|fmt=none}}
|-
| style="vertical-align:top;text-align: center;" | {{Para|end}} || Put something at the end of the main number (before anything else that might follow). <br />
{{#invoke:DemoTemplate|Value|11|end=[END]}}<br />
{{#invoke:DemoTemplate|Value|11|22|end=[END]}}<br />
{{#invoke:DemoTemplate|Value|1111|(22)|end=[END]}}<br />
{{#invoke:DemoTemplate|Value|11|22|33|end=[END]}}<br />
{{#invoke:DemoTemplate|Value|11|ul=m/s|end=[END]}}
|-
| style="vertical-align:top;text-align: center;" | '''2nd''' or {{Para|2}} || [[w:uncertainty#Measurements|Uncertainty]] in either format.<br />
{{#invoke:DemoTemplate|Value|11|22}}<br />
{{#invoke:DemoTemplate|Value|11|(22)}}<br />
A conjunction to join two numbers. Useful for ranges, grammatical output, etc.<br />
{{#invoke:DemoTemplate|Value|11|-|33}}<br />
{{#invoke:DemoTemplate|Value|11|–|33}}<br />
{{#invoke:DemoTemplate|Value|11|,|33}}<br />
{{#invoke:DemoTemplate|Value|11|by|33|e=9}}<br />
{{#invoke:DemoTemplate|Value|11|and|33|end=[[w:$]]}}<br />
{{#invoke:DemoTemplate|Value|11|or|33}}<br />
{{#invoke:DemoTemplate|Value|11|to|33}}<br />
{{#invoke:DemoTemplate|Value|11|x|33}}<br />
{{#invoke:DemoTemplate|Value|11|×|33}}<br />
{{#invoke:DemoTemplate|Value|11|/|33|ul=m/s}}<br />
Note that for dashes or x's, the various kinds all obtain one properly styled output.
|-
| style="vertical-align:top;text-align: center;" | '''3rd''' or {{Para|3}}
| Asymmetric uncertainty.<br />
{{#invoke:DemoTemplate|Value|11|22|33}}
|-
|style="vertical-align:top;text-align: left;"|{{Para|errend}} or {{Para|+errend}} and {{Para|-errend}}|| Appends something after an uncertainty.<br />
{{#invoke:DemoTemplate|Value|11|22|errend=[Errend]}}<br />
{{#invoke:DemoTemplate|Value|11|22|33|-errend=<−Errend>|+errend=[+Errend]}}
|-
| style="vertical-align:top;text-align: center;" | {{Para|u}} or {{Para|ul}} || [[Module:Val/units|The unit code]]. Value adds a space and the unit.<br />
{{Para|ul}} Link the unit.<br />
{{Para|u}} Don't link the unit. Also accepts [[Editing Wikitext|wiki markup]] in lieu of a unit code.<br />
{{#invoke:DemoTemplate|Value|11|ul=m}}
|-
| style="vertical-align:top;text-align: center;" | {{Para|up}} or {{Para|upl}} || A unit code, but instead of a space Value adds a slash and the unit, a "per" unit (the denominator), to form a ratio.<br />
{{Para|upl}} Link the per unit.<br />
{{Para|up}} Don't link the per unit.<br />
The ratio can be of two unit codes, or a prefix and a unit code. Val will add parentheses to disambiguate, if a unit code has a dot or a slash.<br />
{{#invoke:DemoTemplate|Value|11|ul=J/C|upl=F/m}}<br />
{{#invoke:DemoTemplate|Value|11|p=$|upl=acre}}<br />
{{#invoke:DemoTemplate|Value|11|ul=km/s|upl=Mpc}}<br />
{{#invoke:DemoTemplate|Value|11|ul=kg.m|upl=s-2}}
|-
| style="vertical-align:top;text-align: center;" | {{Para|p}} || Prefix the entire Value expression. Non-spaced, but accepts markup.<br />
{{#invoke:DemoTemplate|Value|11|22|ul=m/s|p=[Prefix]}}<br />
{{#invoke:DemoTemplate|Value|11|22|ul=m/s|p=[Prefix] }}
|-
| style="vertical-align:top;text-align: center;" | {{Para|s}} || Suffix the entire Value expression. Non-spaced, but accepts markup.<br />
{{#invoke:DemoTemplate|Value|11|22|ul=m/s|s=[Suffix]}}<br />
{{#invoke:DemoTemplate|Value|11|22|ul=m/s|s= [Suffix]}}
|-
| style="vertical-align:top;text-align: center;" | {{Para|e}}
| Exponent. Value alternatively accepts e notation in the first parameter; these are mutually exclusive (see "1st" argument above).<br />
{{#invoke:DemoTemplate|Value|11|22|33|e=11}}<br />
{{#invoke:DemoTemplate|Value|11e11|22|33}}<br />
{{#invoke:DemoTemplate|Value|e=33}}
|-
| style="vertical-align:top;text-align: center;" | {{Para|long scale}} || Usually a unit is the short [[w:ton]] and [[w:billion]] means {{Value|1|e=9}}. But there are long versions of these units and others. Use {{Para|long scale|on}} to assign your unit to the long scale instead. The unit code's link will change and it will sort differently in tables. "See [[w:Long and short scales]]".
|-
| style="vertical-align:top;text-align: center;" | {{Para|nocategory}} || If set to any value, errors in the use of this template will not cause the page to be added to the [[:Category:Pages with incorrect formatting templates use|Pages with incorrect formatting templates use]] category. This is useful for documentation and test pages that do not need to be fixed.
|-
|}
== Errors ==
There is strict checking on the validity of arguments; any incorrect use will result in an error. Pages that contain incorrect use of this template will show up on [[:Category:Pages with incorrect formatting templates use]].
Value checks for unsupported parameters and gives a relatively subtle warning if found. See [[:Category:Pages with incorrect formatting templates use|tracking category]] to track any of these improper usages on existing on the wiki. Hold the mouse over "warning" to see details. Here is what warnings look like:
* <code><nowiki>{{Value|1.23|exp=6|u=m/s}}</nowiki></code> → {{Value|1.23|exp=6|u=m/s|nocategory=true}}
* <code><nowiki>{{Value|1.23|us=kbit/s}}</nowiki></code> → {{Value|1.23|us=kbit/s|nocategory=true}}
* <code><nowiki>{{Value|1.23|.05|.04|.03|u=m/s}}</nowiki></code> → {{Value|1.23|.05|.04|.03|u=m/s|nocategory=true}}
== Format of numbers ==
{{Tl|Value}} produces formatting compliant with Wikipedia's [[w:WP:MOSNUM|Manual of Style]].
The [[w:Wikipedia:MOSNUM#Delimiting (grouping of digits)|MOS]] recommends that numbers either be delimited using thin spaces either side of the decimal, or commas to the left and no delimiters to the right. Articles should be consistent with respect to the style of delimiting. The template defaults to the former style; this can be adjusted using <code>|fmt=</code> (see [[#Arguments|above]]).
== Sorting ==
{{Details|Help:Tables#Sortable tables}}
The sort key for each sortable unit is visible at [[Template:Value/list]].
Here is a live example showing the minimal markup for a sortable table:
{|
|style="vertical-align:top;" |
<syntaxhighlight lang="wikitext">
{| class="wikitable sortable floatright" summary="Value sorting test"
|+ Click to sort ↓
|-
! Value sort test
! In base unit
! <span style="text-weight: normal">unsort</span>
|-
| {{Value|3|ul= Mm }}
| style="text-align:right" | {{Value|3000000|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|1|67}}
|-
| {{Value|4e6|ul= m }}
| style="text-align:right" | {{Value|4000000|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|3|67}}
|-
| {{Value|1|ul= km }}
| style="text-align:right" | {{Value|1000|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|5|67}}
|-
| {{Value|5e3|u= m }}
| style="text-align:right" | {{Value|5000|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|7|67}}
|-
| {{Value|2|u= m }}
| style="text-align:right" | {{Value|2|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|11|67}}
|}
|}
</syntaxhighlight>
| style="vertical-align:top;" |<!--
-->
{| class="wikitable sortable floatright" summary="Value sorting test"
|+ Click to sort ↓
|-
! Value sort test
! In base unit
! <span style="text-weight: normal">unsort</span>
|-
| {{Value|3|ul= Mm }}
| style="text-align:right" | {{Value|3000000|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|1|67}}
|-
| {{Value|4e6|ul= m }}
| style="text-align:right" | {{Value|4000000|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|3|67}}
|-
| {{Value|1|ul= km }}
| style="text-align:right" | {{Value|1000|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|5|67}}
|-
| {{Value|5e3|u= m }}
| style="text-align:right" | {{Value|5000|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|7|67}}
|-
| {{Value|2|u= m }}
| style="text-align:right" | {{Value|2|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|11|67}}
|}
|}
A sort value relates to a Value expression as follows.
# The numeric value is a starting point.
# If the unit has an SI Prefix, that order of magnitude is applied.
# The value of the unit from its own [[w:system of units]] is applied.
# If the unit is composite, each subunit is multiplied or divided per their [[w:Dimensional analysis#Definition|dimension]].
# The result is passed to {{Tl|Ntsh}} which applies a normalization formula.
# The output of {{Tlf|Ntsh}} is added (behaviorally only, i.e., "hidden") into the table as usual, via the data-sort-value attribute of a table.
== More example expressions ==
=== Number ===
{{#invoke:DemoTemplate|Value|1234567.1234567}}<br />
<code>⟨{<nowiki/>{Value|{{Spaces|2}}1234567.1234567{{Spaces|3}}}}⟩</code> → ⟨{{Value| 1234567.1234567 }}⟩<br />
{{#invoke:DemoTemplate|Value|fmt=commas|.1234567}}<br />
{{#invoke:DemoTemplate|Value|fmt=commas|+1234567}}<br />
{{#invoke:DemoTemplate|Value|-1234567}}<br />
=== Uncertainty ===
{{#invoke:DemoTemplate|Value|1.234|0.005}}<br />
{{#invoke:DemoTemplate|Value|1.234|0.005|e=3}}<br />
{{#invoke:DemoTemplate|Value|1.234|+0.005|-0.006}}<br />
{{#invoke:DemoTemplate|Value|1.234|(5)}}<br />
=== Units ===
{{#invoke:DemoTemplate|Value|1.234|u=m}}<br />
{{#invoke:DemoTemplate|Value|1.234|u=m2}}<br />
{{#invoke:DemoTemplate|Value|1.234|ul=m}}<br />
{{#invoke:DemoTemplate|Value|123.4|ul=USgal}}<br />
{{#invoke:DemoTemplate|Value|12.34|ul=mpgimp}}<br />
{{#invoke:DemoTemplate|Value|12.34|u=deg}}<br />
{{#invoke:DemoTemplate|Value|1.234|0.005|u='}}<br />
{{#invoke:DemoTemplate|Value|1.234|+0.005|-0.006|u="}}<br />
{{#invoke:DemoTemplate|Value|1.234|u=%}}<br />
{{#invoke:DemoTemplate|Value|1.234|end= [[w:m/s]]}}<br />
{{#invoke:DemoTemplate|Value|12.34|u=degC}}<br />
{{#invoke:DemoTemplate|Value|12.34|u=K}}<br />
=== Exponents ===
{{#invoke:DemoTemplate|Value|e=5}}<br />
{{#invoke:DemoTemplate|Value|e=5|ul=m}}
{{#invoke:DemoTemplate|Value|1.234e5|ul=m}}<br />
{{#invoke:DemoTemplate|Value|1.234|e=5|ul=m}}
{{#invoke:DemoTemplate|Value|1.234e7|0.056}}<br />
{{#invoke:DemoTemplate|Value|1.234|0.056|e=7}}
{{#invoke:DemoTemplate|Value|1.23456e-9|+0.00007|-0.00008|ul=m/s}}<br />
{{#invoke:DemoTemplate|Value|1.23456|+0.00007|-0.00008|e=-9|ul=m/s}}
{{#invoke:DemoTemplate|Value|1.234e7|0.056|ul=psi}}<br />
{{#invoke:DemoTemplate|Value|1.234|0.056|e=7|ul=psi}}
{{#invoke:DemoTemplate|Value|1.234e-2|(5)}}<br />
{{#invoke:DemoTemplate|Value|1.234|(5)|e=-2}}
=== Prefix/suffix ===
{{#invoke:DemoTemplate|Value|p=Δ |12.34}}<br />
{{#invoke:DemoTemplate|Value|p=≅|12.34|u=%}}<br />
{{#invoke:DemoTemplate|Value|12.34|0.25|s=%}}<br />
=== Numerator/denominator ===
{{#invoke:DemoTemplate|Value|1.234|e=7|ul=W|up=m2}}<br />
=== Repeating digits ===
<code><nowiki>{{Value|1.2|end={{overline|34}}|e=7|ul=W|up=m2}}</nowiki></code> → {{Value|1.2|end={{overline|34}}|e=7|ul=W|up=m2}}
=== Even more examples ===
See the testcases at {{Tl|Value/testcases}}.
== FAQ and comments ==
; Q. Why should I use Value?
: A1. Value formats numbers:
:* inserts spaces between groups of digits, meeting [[w:MOS:NUM|MoS standards]],
:* formats standard [[w:Uncertainty#Measurements|uncertainties in measurements]], providing a ± character, correct spacing, and correct alignment,
:* formats [[w:Exponentiation|exponents of 10]] and [[w:scientific notation]],
:* replaces "-" (hyphen) with a "−" (minus sign).
: A2. Value preserves spacing:
:* It makes sure the value does not [[w:Word wrap|wrap]] at the end of a line, so that it can always be read as a single value on one line in the text.
:* It spaces the various parts of the value where they should be.
: A3. Configuring Value gives you your own code for automating the markup for, and a link to, any units in the entire Encyclopedia.
: A4. Value helps make Wikibooks more consistent. It adheres to the [[w:Wikipedia:MOSNUM|Wikipedia Manual of Style for numbers]]. Updates to the MoS can be applied to this template and result in automatic modification on values that use it. All this makes sure all values on all pages have the same [[w:look and feel]] because they will all use the same [[w:Letter-spacing|spacing]], [[w:font|font size]], positioning, etc., and makes updating and checking by the bots easier because they can recognize a value for what it is.
; Q. Why not use <code><nowiki><math></nowiki></code>?
: A. For the same reasons [[Help:Formulas#Pros of HTML|HTML might be preferred over TeX]]:
:* Because the [[w:font]] in math tags differs both in face and size from the prose, which can disturb the layout of a page when used inline with the prose.
:* You cannot [[w:Cut, copy, and paste|cut and paste]] a bitmap image rendered by the LaTeX.
:* Images are slower to load and use more bandwidth, which is especially bad for the mobile version of Wikipedia.
:* <code><nowiki><math></nowiki></code> does not automatically easily align to the Manual of Style for numbers.
; Q. Are there any known issues with Value?
: A1: This template is now a new Lua module as of Aug 6, 2015. Technically, there is no good reason not to try Value.
: A2. Issues are solved rapidly by an active set of responsive template coders. See the talk page.
; Q. How should I use Value?
: A1. Value probably already has your unit on [[Module:Val/units|its current list]]. If not, add your own unit there.
: A2. To avoid [[Wikibooks:Dewikify|overlinking]], switch from {{Para|ul}} to {{Para|u}} and from {{Para|upl}} to {{Para|up}}.
: A3. Any time you have a unit to link or a table to sort, Value already setup with that unit's link and sorting value.
: A3. Use Value along with {{Tl|Convert}}. See [[Module:Convert/data|how to add units to Convert]].
: A4. Where consistent styling of long list articles, with many hundreds or thousands of numbers or units, is needed.
== TemplateData ==
{{TemplateData header}}
<templatedata>
{
"params": {
"1": {
"label": "Number",
"description": "A number in decimal point notation or in e notation. The main basis of the Val expression.",
"example": "-12.12345e9",
"type": "string",
"required": true
},
"2": {
"label": "Uncertainty",
"type": "string"
},
"3": {
"label": "Asymmetric uncertainty -",
"type": "string"
},
"4": {},
"5": {},
"fmt": {
"label": "Format",
"description": "By default, numbers are formatted with gaps separating groups of three digits in both integer and fractional part. However, by default, four-digit integers are not formatted; use \"gaps\" (without quotes) to force gaps. Use the value \"commas\" (without quotes) to delimit the integer part of the number with commas. Use \"none\" (without quotes) for no formatting (no gaps or commas).",
"example": "commas",
"type": "string",
"suggestedvalues": [
"gaps",
"commas",
"none"
]
},
"end": {
"label": "End",
"description": "Put something at the end of the main number (before anything else that might follow).",
"type": "string"
},
"u": {
"label": "Unit",
"description": "The unit code. A space and the unit will be added after the number.",
"example": "m",
"type": "string"
},
"ul": {
"label": "Unit – wikilinked",
"description": "The unit code that will be wikilinked to a page with information about the unit. A space and this unit will be added after the number.",
"example": "m",
"type": "string"
},
"up": {
"label": "Unit to be prefixed with a slash (/)",
"description": "A unit code, but instead of a space, the template adds a slash and the unit, a \"per\" unit (the denominator), to form a ratio.",
"example": "s",
"type": "string"
},
"upl": {
"label": "Unit to be prefixed with a slash (/) – wikilinked",
"description": "A wikilinked unit code, but instead of a space, the template adds a slash and the unit, a \"per\" unit (the denominator), to form a ratio.",
"example": "s",
"type": "string"
},
"p": {
"label": "Prefix",
"description": "Prefix for the entire Val expression. Non-spaced, but accepts markup.",
"type": "content"
},
"s": {
"label": "Suffix",
"description": "Suffix for the entire Val expression. Non-spaced, but accepts markup.",
"type": "content"
},
"e": {
"label": "Exponent",
"description": "Val alternatively accepts e notation in the first parameter; these are mutually exclusive (see the Number parameter).",
"example": "9",
"type": "number"
},
"errend": {}
},
"paramOrder": [
"1",
"2",
"3",
"fmt",
"end",
"u",
"ul",
"up",
"upl",
"p",
"s",
"e",
"errend",
"4",
"5"
],
"format": "inline",
"description": "This template is used to easily present values in scientific notation, including uncertainty and/or units, as prescribed by Wikipedia's Manual of Style."
}
</templatedata>
== See also ==
* [[Module:Val]]
* [[Module:Val/units]]
* [[Module:Convert/data]]
* [[Template:Convert]]
* [[Template:Round]]
* [[Template:Scinote]] to display a value in scientific notation
* [[Template:10^]] to display a power of ten
<includeonly>{{basepage subpage| <!-- Categories below this line, please: -->
[[Category:Mathematical formatting templates]]
[[Category:Sorting templates]]
}}</includeonly>
hoq611xcikizmce1njg5s1u53m5sf9y
4639967
4639946
2026-06-12T00:24:35Z
Rainmonger
122366
4639967
wikitext
text/x-wiki
{{Documentation subpage}}
{{Possible-risk}}
{{Lua|Module:Val|Module:Val/units}}
{{Info|This documentation page was copied from [[w:Template:Val/doc|the version at en WP]] at 19:33, 11 June 2026 (UTC), with some edits made to work for Wikibooks.}}
This template is used to easily present values in [[w:scientific notation]], including uncertainty and/or units, as prescribed by Wikipedia's [[w:WP:MOS|Manual of Style]] at [[w:MOS:NUM]].
== Introduction ==
Value specializes in numeric ''values'', especially those with [[w:scientific notation]]s, [[w:uncertainty#Measurements|uncertainty notation]]s, and those with measurement ''values'' with physical units. Because these expressions are covered by the Manual of Style, Value provides the stylized output for you, and keeps them from wrapping across lines.
Express a numeral:
* <code>{{Value|123456.78901}}</code> → ''value'', formatted with gaps: {{Value|123456.78901}}, or with {{Para|fmt|commas}} → {{Value|fmt=commas|123456.78901}}
* <code>{{Value|''number''|''number''}}</code> → ''value'' ± ''uncertainty'', like {{Value|fmt=commas|123478|56}}
* <code>{{Value|''number''|<mark style="color: black; background: yellow">(</mark>''number''<mark style="color: black; background: yellow">)</mark>}}</code> → ''value''(''uncertainty''), like {{Value|fmt=commas|12345|(56)}}
* <code>{{Value|''number''|''number''|''number''}}</code> → ''value'' {{Su|p=+uncertainty|b=−uncertainty}} like {{Value|fmt=commas4|1234|+56|-78}}
Express a measurement value: {{#invoke:DemoTemplate|Value|4|ul=m2}}. The <kbd>m2</kbd> is a "unit code" that Value uses to look up the link to the unit's article, and the formatting of the unit symbol. Value links the units to the page it has on file for them. See {{Tl|Value/list}}.
There are a large number of unit codes that Value understands and keeps "up to code". A unit code is the just abbreviated unit name, but these can get quite involved for a compound or composite unit, with "multipliers" or "dividers". See [[Module:Val/units]].
Some unit-code flexibility is provided by having four parameters to work the unit-code system: whether to link one or not, (usually not; see ''[[Wikibooks:Dewikify|Dewikify]]''), and whether to link the numerator or denominator of a unit ratio separately.
* <code>{{Value|''number''|'''ul='''''unit code''}}</code> → ''number {{Font color|blue|symbol}}'', such as {{Value|9.8|ul=km2}}
* <code>{{Value|''number''|'''u='''''unit code''}}</code> → ''number symbol'', such as {{Value|9.8|u=km2}}
* <code>{{Value|''number''|'''u='''''unit code''|'''u<mark style="color: black; background: yellow">p</mark>l='''''unit code''}}</code> → ''number'' symbol{{Large|<mark style="color: black; background: yellow">/</mark>}}{{Font color|blue|symbol}}, such as {{Value|9.8|u=gal|upl=min}}
* <code>{{Value|''number''|'''ul='''''unit code''|'''u<mark style="color: black; background: yellow">p</mark>='''''unit code''}}</code> → ''number'' {{Font color|blue|symbol}}{{Large|<mark style="color: black; background: yellow">/</mark>}}''symbol'', such as {{Value|9.8|ul=parsec|up=year}}
To bypass the unit code system, if {{Para|u}} does not recognize your unit code, it will accept any wikitext and render it as usual.
* {{#invoke:DemoTemplate|Value|5.4|u=[[w:kg]]⋅[[w:meter|m]]/s<sup>2</sup>}}
* {{#invoke:DemoTemplate|Value|7.6|u=[[w:metre per second squared|m/s<sup>2</sup>]]}}
See [[Module:Val/units]] for how to add units to the unit code system.
Sometimes a number and unit code is not enough. A prefix and suffix are also available, {{Para|p}} and {{Para|s}}.
* {{#invoke:DemoTemplate|Value|7600|u= C⋅Ga |p= > | s= < }}
* {{#invoke:DemoTemplate|Value|7600|u=C|p=<span style="color:green"><sup>|s=</sup></span>}}
See {{Tl|Value/testcases}} to learn the Value parameters by an example. It is comprehensive, and there are over 100 examples.
== Arguments ==
{{Details|Help:Template#Parameters}}
Value takes three unnamed parameters. The first is always the numeric value. When the second and third are numbers they become the various uncertainty notations, but the second unnamed parameter can also serve to ''grammatically join'' the first and third numbers.
Value clears surrounding spaces in its unnamed parameters.
{|cellspacing="15" cellpadding="0"
| style="vertical-align:top;text-align: center;" | '''1st''' or {{Para|1}} || A number. Can be in [[w:radix point|decimal point]] notation or in [[w:e notation]]. This number is the basis of the Value formatting.<br />
{{#invoke:DemoTemplate|Value|1234567.1234567}}<br />
{{#invoke:DemoTemplate|Value|.1234}} {{Spaces|19}}(adds the zero)<br />
{{#invoke:DemoTemplate|Value|+1234}} {{Spaces|20}}(displays the plus) <br />
{{#invoke:DemoTemplate|Value|-1234}} {{Spaces|20}}(replaces the [[w:hyphen-minus]] with a [[w:minus sign]])<br />
{{#invoke:DemoTemplate|Value|12e34}} {{Spaces|15}}([[w:Scientific notation#E notation|E notation]])<br />
|-
|style="vertical-align:top;text-align: center;"| {{Para|fmt}}
| By default, numbers are formatted with gaps separating groups of three digits in both integer and fractional part.<br />
However, by default, four-digit integers are not formatted; use {{Para|fmt|gaps}} to force gaps.<br />
Use {{Para|fmt|commas}} to delimit the integer part of the number with commas.<br />
Use {{Para|fmt|none}} for no formatting (no gaps or commas).<br />
{{#invoke:DemoTemplate|Value|1234567.1234567}}<br />
{{#invoke:DemoTemplate|Value|1234567.1234567|fmt=commas}}<br />
{{#invoke:DemoTemplate|Value|1234}}<br />
{{#invoke:DemoTemplate|Value|1234|fmt=gaps}}<br />
{{#invoke:DemoTemplate|Value|1234.5}}<br />
{{#invoke:DemoTemplate|Value|1234.5|fmt=none}}
|-
| style="vertical-align:top;text-align: center;" | {{Para|end}} || Put something at the end of the main number (before anything else that might follow). <br />
{{#invoke:DemoTemplate|Value|11|end=[END]}}<br />
{{#invoke:DemoTemplate|Value|11|22|end=[END]}}<br />
{{#invoke:DemoTemplate|Value|1111|(22)|end=[END]}}<br />
{{#invoke:DemoTemplate|Value|11|22|33|end=[END]}}<br />
{{#invoke:DemoTemplate|Value|11|ul=m/s|end=[END]}}
|-
| style="vertical-align:top;text-align: center;" | '''2nd''' or {{Para|2}} || [[w:uncertainty#Measurements|Uncertainty]] in either format.<br />
{{#invoke:DemoTemplate|Value|11|22}}<br />
{{#invoke:DemoTemplate|Value|11|(22)}}<br />
A conjunction to join two numbers. Useful for ranges, grammatical output, etc.<br />
{{#invoke:DemoTemplate|Value|11|-|33}}<br />
{{#invoke:DemoTemplate|Value|11|–|33}}<br />
{{#invoke:DemoTemplate|Value|11|,|33}}<br />
{{#invoke:DemoTemplate|Value|11|by|33|e=9}}<br />
{{#invoke:DemoTemplate|Value|11|and|33|end=[[w:$]]}}<br />
{{#invoke:DemoTemplate|Value|11|or|33}}<br />
{{#invoke:DemoTemplate|Value|11|to|33}}<br />
{{#invoke:DemoTemplate|Value|11|x|33}}<br />
{{#invoke:DemoTemplate|Value|11|×|33}}<br />
{{#invoke:DemoTemplate|Value|11|/|33|ul=m/s}}<br />
Note that for dashes or x's, the various kinds all obtain one properly styled output.
|-
| style="vertical-align:top;text-align: center;" | '''3rd''' or {{Para|3}}
| Asymmetric uncertainty.<br />
{{#invoke:DemoTemplate|Value|11|22|33}}
|-
|style="vertical-align:top;text-align: left;"|{{Para|errend}} or {{Para|+errend}} and {{Para|-errend}}|| Appends something after an uncertainty.<br />
{{#invoke:DemoTemplate|Value|11|22|errend=[Errend]}}<br />
{{#invoke:DemoTemplate|Value|11|22|33|-errend=<−Errend>|+errend=[+Errend]}}
|-
| style="vertical-align:top;text-align: center;" | {{Para|u}} or {{Para|ul}} || [[Module:Val/units|The unit code]]. Value adds a space and the unit.<br />
{{Para|ul}} Link the unit.<br />
{{Para|u}} Don't link the unit. Also accepts [[Editing Wikitext|wiki markup]] in lieu of a unit code.<br />
{{#invoke:DemoTemplate|Value|11|ul=m}}
|-
| style="vertical-align:top;text-align: center;" | {{Para|up}} or {{Para|upl}} || A unit code, but instead of a space Value adds a slash and the unit, a "per" unit (the denominator), to form a ratio.<br />
{{Para|upl}} Link the per unit.<br />
{{Para|up}} Don't link the per unit.<br />
The ratio can be of two unit codes, or a prefix and a unit code. Value will add parentheses to disambiguate, if a unit code has a dot or a slash.<br />
{{#invoke:DemoTemplate|Value|11|ul=J/C|upl=F/m}}<br />
{{#invoke:DemoTemplate|Value|11|p=$|upl=acre}}<br />
{{#invoke:DemoTemplate|Value|11|ul=km/s|upl=Mpc}}<br />
{{#invoke:DemoTemplate|Value|11|ul=kg.m|upl=s-2}}
|-
| style="vertical-align:top;text-align: center;" | {{Para|p}} || Prefix the entire Value expression. Non-spaced, but accepts markup.<br />
{{#invoke:DemoTemplate|Value|11|22|ul=m/s|p=[Prefix]}}<br />
{{#invoke:DemoTemplate|Value|11|22|ul=m/s|p=[Prefix] }}
|-
| style="vertical-align:top;text-align: center;" | {{Para|s}} || Suffix the entire Value expression. Non-spaced, but accepts markup.<br />
{{#invoke:DemoTemplate|Value|11|22|ul=m/s|s=[Suffix]}}<br />
{{#invoke:DemoTemplate|Value|11|22|ul=m/s|s= [Suffix]}}
|-
| style="vertical-align:top;text-align: center;" | {{Para|e}}
| Exponent. Value alternatively accepts e notation in the first parameter; these are mutually exclusive (see "1st" argument above).<br />
{{#invoke:DemoTemplate|Value|11|22|33|e=11}}<br />
{{#invoke:DemoTemplate|Value|11e11|22|33}}<br />
{{#invoke:DemoTemplate|Value|e=33}}
|-
| style="vertical-align:top;text-align: center;" | {{Para|long scale}} || Usually a unit is the short [[w:ton]] and [[w:billion]] means {{Value|1|e=9}}. But there are long versions of these units and others. Use {{Para|long scale|on}} to assign your unit to the long scale instead. The unit code's link will change and it will sort differently in tables. "See [[w:Long and short scales]]".
|-
| style="vertical-align:top;text-align: center;" | {{Para|nocategory}} || If set to any value, errors in the use of this template will not cause the page to be added to the [[:Category:Pages with incorrect formatting templates use|Pages with incorrect formatting templates use]] category. This is useful for documentation and test pages that do not need to be fixed.
|-
|}
== Errors ==
There is strict checking on the validity of arguments; any incorrect use will result in an error. Pages that contain incorrect use of this template will show up on [[:Category:Pages with incorrect formatting templates use]].
Value checks for unsupported parameters and gives a relatively subtle warning if found. See [[:Category:Pages with incorrect formatting templates use|tracking category]] to track any of these improper usages on existing on the wiki. Hold the mouse over "warning" to see details. Here is what warnings look like:
* <code><nowiki>{{Value|1.23|exp=6|u=m/s}}</nowiki></code> → {{Value|1.23|exp=6|u=m/s|nocategory=true}}
* <code><nowiki>{{Value|1.23|us=kbit/s}}</nowiki></code> → {{Value|1.23|us=kbit/s|nocategory=true}}
* <code><nowiki>{{Value|1.23|.05|.04|.03|u=m/s}}</nowiki></code> → {{Value|1.23|.05|.04|.03|u=m/s|nocategory=true}}
== Format of numbers ==
{{Tl|Value}} produces formatting compliant with Wikipedia's [[w:WP:MOSNUM|Manual of Style]].
The [[w:Wikipedia:MOSNUM#Delimiting (grouping of digits)|MOS]] recommends that numbers either be delimited using thin spaces either side of the decimal, or commas to the left and no delimiters to the right. Articles should be consistent with respect to the style of delimiting. The template defaults to the former style; this can be adjusted using <code>|fmt=</code> (see [[#Arguments|above]]).
== Sorting ==
{{Details|Help:Tables#Sortable tables}}
The sort key for each sortable unit is visible at [[Template:Value/list]].
Here is a live example showing the minimal markup for a sortable table:
{|
|style="vertical-align:top;" |
<syntaxhighlight lang="wikitext">
{| class="wikitable sortable floatright" summary="Value sorting test"
|+ Click to sort ↓
|-
! Value sort test
! In base unit
! <span style="text-weight: normal">unsort</span>
|-
| {{Value|3|ul= Mm }}
| style="text-align:right" | {{Value|3000000|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|1|67}}
|-
| {{Value|4e6|ul= m }}
| style="text-align:right" | {{Value|4000000|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|3|67}}
|-
| {{Value|1|ul= km }}
| style="text-align:right" | {{Value|1000|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|5|67}}
|-
| {{Value|5e3|u= m }}
| style="text-align:right" | {{Value|5000|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|7|67}}
|-
| {{Value|2|u= m }}
| style="text-align:right" | {{Value|2|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|11|67}}
|}
|}
</syntaxhighlight>
| style="vertical-align:top;" |<!--
-->
{| class="wikitable sortable floatright" summary="Value sorting test"
|+ Click to sort ↓
|-
! Value sort test
! In base unit
! <span style="text-weight: normal">unsort</span>
|-
| {{Value|3|ul= Mm }}
| style="text-align:right" | {{Value|3000000|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|1|67}}
|-
| {{Value|4e6|ul= m }}
| style="text-align:right" | {{Value|4000000|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|3|67}}
|-
| {{Value|1|ul= km }}
| style="text-align:right" | {{Value|1000|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|5|67}}
|-
| {{Value|5e3|u= m }}
| style="text-align:right" | {{Value|5000|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|7|67}}
|-
| {{Value|2|u= m }}
| style="text-align:right" | {{Value|2|u=m}}
| style="text-align:right; font-size:small;" | {{Random number|100|11|67}}
|}
|}
A sort value relates to a Value expression as follows.
# The numeric value is a starting point.
# If the unit has an SI Prefix, that order of magnitude is applied.
# The value of the unit from its own [[w:system of units]] is applied.
# If the unit is composite, each subunit is multiplied or divided per their [[w:Dimensional analysis#Definition|dimension]].
# The result is passed to {{Tl|Ntsh}} which applies a normalization formula.
# The output of {{Tlf|Ntsh}} is added (behaviorally only, i.e., "hidden") into the table as usual, via the data-sort-value attribute of a table.
== More example expressions ==
=== Number ===
{{#invoke:DemoTemplate|Value|1234567.1234567}}<br />
<code>⟨{<nowiki/>{Value|{{Spaces|2}}1234567.1234567{{Spaces|3}}}}⟩</code> → ⟨{{Value| 1234567.1234567 }}⟩<br />
{{#invoke:DemoTemplate|Value|fmt=commas|.1234567}}<br />
{{#invoke:DemoTemplate|Value|fmt=commas|+1234567}}<br />
{{#invoke:DemoTemplate|Value|-1234567}}<br />
=== Uncertainty ===
{{#invoke:DemoTemplate|Value|1.234|0.005}}<br />
{{#invoke:DemoTemplate|Value|1.234|0.005|e=3}}<br />
{{#invoke:DemoTemplate|Value|1.234|+0.005|-0.006}}<br />
{{#invoke:DemoTemplate|Value|1.234|(5)}}<br />
=== Units ===
{{#invoke:DemoTemplate|Value|1.234|u=m}}<br />
{{#invoke:DemoTemplate|Value|1.234|u=m2}}<br />
{{#invoke:DemoTemplate|Value|1.234|ul=m}}<br />
{{#invoke:DemoTemplate|Value|123.4|ul=USgal}}<br />
{{#invoke:DemoTemplate|Value|12.34|ul=mpgimp}}<br />
{{#invoke:DemoTemplate|Value|12.34|u=deg}}<br />
{{#invoke:DemoTemplate|Value|1.234|0.005|u='}}<br />
{{#invoke:DemoTemplate|Value|1.234|+0.005|-0.006|u="}}<br />
{{#invoke:DemoTemplate|Value|1.234|u=%}}<br />
{{#invoke:DemoTemplate|Value|1.234|end= [[w:m/s]]}}<br />
{{#invoke:DemoTemplate|Value|12.34|u=degC}}<br />
{{#invoke:DemoTemplate|Value|12.34|u=K}}<br />
=== Exponents ===
{{#invoke:DemoTemplate|Value|e=5}}<br />
{{#invoke:DemoTemplate|Value|e=5|ul=m}}
{{#invoke:DemoTemplate|Value|1.234e5|ul=m}}<br />
{{#invoke:DemoTemplate|Value|1.234|e=5|ul=m}}
{{#invoke:DemoTemplate|Value|1.234e7|0.056}}<br />
{{#invoke:DemoTemplate|Value|1.234|0.056|e=7}}
{{#invoke:DemoTemplate|Value|1.23456e-9|+0.00007|-0.00008|ul=m/s}}<br />
{{#invoke:DemoTemplate|Value|1.23456|+0.00007|-0.00008|e=-9|ul=m/s}}
{{#invoke:DemoTemplate|Value|1.234e7|0.056|ul=psi}}<br />
{{#invoke:DemoTemplate|Value|1.234|0.056|e=7|ul=psi}}
{{#invoke:DemoTemplate|Value|1.234e-2|(5)}}<br />
{{#invoke:DemoTemplate|Value|1.234|(5)|e=-2}}
=== Prefix/suffix ===
{{#invoke:DemoTemplate|Value|p=Δ |12.34}}<br />
{{#invoke:DemoTemplate|Value|p=≅|12.34|u=%}}<br />
{{#invoke:DemoTemplate|Value|12.34|0.25|s=%}}<br />
=== Numerator/denominator ===
{{#invoke:DemoTemplate|Value|1.234|e=7|ul=W|up=m2}}<br />
=== Repeating digits ===
<code><nowiki>{{Value|1.2|end={{overline|34}}|e=7|ul=W|up=m2}}</nowiki></code> → {{Value|1.2|end={{overline|34}}|e=7|ul=W|up=m2}}
=== Even more examples ===
See the testcases at {{Tl|Value/testcases}}.
== FAQ and comments ==
; Q. Why should I use Value?
: A1. Value formats numbers:
:* inserts spaces between groups of digits, meeting [[w:MOS:NUM|MoS standards]],
:* formats standard [[w:Uncertainty#Measurements|uncertainties in measurements]], providing a ± character, correct spacing, and correct alignment,
:* formats [[w:Exponentiation|exponents of 10]] and [[w:scientific notation]],
:* replaces "-" (hyphen) with a "−" (minus sign).
: A2. Value preserves spacing:
:* It makes sure the value does not [[w:Word wrap|wrap]] at the end of a line, so that it can always be read as a single value on one line in the text.
:* It spaces the various parts of the value where they should be.
: A3. Configuring Value gives you your own code for automating the markup for, and a link to, any units in the entire Encyclopedia.
: A4. Value helps make Wikibooks more consistent. It adheres to the [[w:Wikipedia:MOSNUM|Wikipedia Manual of Style for numbers]]. Updates to the MoS can be applied to this template and result in automatic modification on values that use it. All this makes sure all values on all pages have the same [[w:look and feel]] because they will all use the same [[w:Letter-spacing|spacing]], [[w:font|font size]], positioning, etc., and makes updating and checking by the bots easier because they can recognize a value for what it is.
; Q. Why not use <code><nowiki><math></nowiki></code>?
: A. For the same reasons [[Help:Formulas#Pros of HTML|HTML might be preferred over TeX]]:
:* Because the [[w:font]] in math tags differs both in face and size from the prose, which can disturb the layout of a page when used inline with the prose.
:* You cannot [[w:Cut, copy, and paste|cut and paste]] a bitmap image rendered by the LaTeX.
:* Images are slower to load and use more bandwidth, which is especially bad for the mobile version of Wikipedia.
:* <code><nowiki><math></nowiki></code> does not automatically easily align to the Manual of Style for numbers.
; Q. Are there any known issues with Value?
: A1: This template is now a new Lua module as of Aug 6, 2015. Technically, there is no good reason not to try Value.
: A2. Issues are solved rapidly by an active set of responsive template coders. See the talk page.
; Q. How should I use Value?
: A1. Value probably already has your unit on [[Module:Val/units|its current list]]. If not, add your own unit there.
: A2. To avoid [[Wikibooks:Dewikify|overlinking]], switch from {{Para|ul}} to {{Para|u}} and from {{Para|upl}} to {{Para|up}}.
: A3. Any time you have a unit to link or a table to sort, Value already setup with that unit's link and sorting value.
: A3. Use Value along with {{Tl|Convert}}. See [[Module:Convert/data|how to add units to Convert]].
: A4. Where consistent styling of long list articles, with many hundreds or thousands of numbers or units, is needed.
== TemplateData ==
{{TemplateData header}}
<templatedata>
{
"params": {
"1": {
"label": "Number",
"description": "A number in decimal point notation or in e notation. The main basis of the Value expression.",
"example": "-12.12345e9",
"type": "string",
"required": true
},
"2": {
"label": "Uncertainty",
"type": "string"
},
"3": {
"label": "Asymmetric uncertainty -",
"type": "string"
},
"4": {},
"5": {},
"fmt": {
"label": "Format",
"description": "By default, numbers are formatted with gaps separating groups of three digits in both integer and fractional part. However, by default, four-digit integers are not formatted; use \"gaps\" (without quotes) to force gaps. Use the value \"commas\" (without quotes) to delimit the integer part of the number with commas. Use \"none\" (without quotes) for no formatting (no gaps or commas).",
"example": "commas",
"type": "string",
"suggestedvalues": [
"gaps",
"commas",
"none"
]
},
"end": {
"label": "End",
"description": "Put something at the end of the main number (before anything else that might follow).",
"type": "string"
},
"u": {
"label": "Unit",
"description": "The unit code. A space and the unit will be added after the number.",
"example": "m",
"type": "string"
},
"ul": {
"label": "Unit – wikilinked",
"description": "The unit code that will be wikilinked to a page with information about the unit. A space and this unit will be added after the number.",
"example": "m",
"type": "string"
},
"up": {
"label": "Unit to be prefixed with a slash (/)",
"description": "A unit code, but instead of a space, the template adds a slash and the unit, a \"per\" unit (the denominator), to form a ratio.",
"example": "s",
"type": "string"
},
"upl": {
"label": "Unit to be prefixed with a slash (/) – wikilinked",
"description": "A wikilinked unit code, but instead of a space, the template adds a slash and the unit, a \"per\" unit (the denominator), to form a ratio.",
"example": "s",
"type": "string"
},
"p": {
"label": "Prefix",
"description": "Prefix for the entire Value expression. Non-spaced, but accepts markup.",
"type": "content"
},
"s": {
"label": "Suffix",
"description": "Suffix for the entire Value expression. Non-spaced, but accepts markup.",
"type": "content"
},
"e": {
"label": "Exponent",
"description": "Value alternatively accepts e notation in the first parameter; these are mutually exclusive (see the Number parameter).",
"example": "9",
"type": "number"
},
"errend": {}
},
"paramOrder": [
"1",
"2",
"3",
"fmt",
"end",
"u",
"ul",
"up",
"upl",
"p",
"s",
"e",
"errend",
"4",
"5"
],
"format": "inline",
"description": "This template is used to easily present values in scientific notation, including uncertainty and/or units, as prescribed by Wikipedia's Manual of Style."
}
</templatedata>
== See also ==
* [[Module:Val]]
* [[Module:Val/units]]
* [[Module:Convert/data]]
* [[Template:Convert]]
* [[Template:Round]]
* [[Template:Scinote]] to display a value in scientific notation
* [[Template:10^]] to display a power of ten
<includeonly>{{basepage subpage| <!-- Categories below this line, please: -->
[[Category:Mathematical formatting templates]]
[[Category:Sorting templates]]
}}</includeonly>
5at7rbsr9ohjcvj0f9piz3qbmulhulw
Aros/Developer/AmiSSL
0
483909
4639951
2026-06-11T19:52:22Z
Jeff1138
301139
Created page with "{{ArosNav}} ==Introduction== Work started on [https://github.com/jens-maus/amissl] a port of OpenSSL 3.x contains developer files and example programs which should make it possible to add AmiSSL support to client and server applications interested in providing SSL/TLS functionality to end users. This SDK release provides include files for GCC and vbcc for OS3/m68k and OS4/PPC. Also, SAS/C is supported, but please see the end of this document for important information...."
4639951
wikitext
text/x-wiki
{{ArosNav}}
==Introduction==
Work started on [https://github.com/jens-maus/amissl] a port of OpenSSL 3.x contains developer files and example programs which should make
it possible to add AmiSSL support to client and server applications interested
in providing SSL/TLS functionality to end users. This SDK release provides
include files for GCC and vbcc for OS3/m68k and OS4/PPC. Also, SAS/C is
supported, but please see the end of this document for important information.
The information given here is mostly AmiSSL specific. For more information on
OpenSSL programming, check the OpenSSL documentation and examples
(https://www.openssl.org/).
The AmiSSL v5 API is slightly different from previous versions and has been
simplified. The procedure to use AmiSSL should be something like the following
pseudo-code:
<pre>
#include <proto/amisslmaster.h>
#include <proto/amissl.h>
#include <libraries/amisslmaster.h>
#include <libraries/amissl.h>
#include <amissl/amissl.h>
if((AmiSSLMasterBase = OpenLibrary("amisslmaster.library",
AMISSLMASTER_MIN_VERSION))
{
#if defined(__amigaos4__)
if(IAmiSSLMaster = (struct AmiSSLMasterIFace *)
GetInterface((struct Library *)AmiSSLMasterBase,
"main", 1, NULL))
{
if(OpenAmiSSLTags(AMISSL_CURRENT_VERSION,
AmiSSL_UsesOpenSSLStructs, TRUE or FALSE,
AmiSSL_GetIAmiSSL, &IAmiSSL,
AmiSSL_ISocket, ISocket,
AmiSSL_ErrNoPtr, &errno,
..., TAG_DONE) == 0)
{
CloseAmiSSL();
}
else printf("ERROR: Couldn't open AmiSSL!");
DropInterface((struct Interface *)IAmiSSLMaster);
}
else printf("ERROR: Couldn't obtain AmiSSLMaster interface!");
#else
if(OpenAmiSSLTags(AMISSL_CURRENT_VERSION,
AmiSSL_UsesOpenSSLStructs, TRUE or FALSE,
AmiSSL_GetAmiSSLBase, &AmiSSLBase,
AmiSSL_GetAmiSSLExtBase, &AmiSSLExtBase,
AmiSSL_SocketBase, SocketBase,
AmiSSL_ErrNoPtr, &errno,
..., TAG_DONE) == 0)
{
CloseAmiSSL();
}
else printf("ERROR: Couldn't open AmiSSL!");
#endif
CloseLibrary(AmiSSLMasterBase);
}
else printf("ERROR: Couldn't open amisslmaster.library!");
</pre>
The first step is to open amisslmaster.library requesting at least
AMISSLMASTER_MIN_VERSION version (and, for OS4, call GetInterface() to get the
"main" interface and later DropInterface() in the cleanup phase).
Then amisslmaster.library/OpenAmiSSLTags() has to be called specifying which
API version the program was compiled for and whether it uses OpenSSL structures
in some way (ie. if it accesses some of the fields directly and not through
AmiSSL API or if it includes OpenSSL structures in its own structures - if
unsure, specify TRUE). It will return zero on success or a non-zero value on
failure. See the autodocs for amisslmaster.library/OpenAmiSSLTags() and
amissl.library/InitAmiSSL() for currently available tags.
If you need to compile a program specifically for f. ex. OpenSSL 0.9.7g API,
you need to use the SDK in which AMISSL_CURRENT_VERSION is AMISSL_V097g. If
you are, however, always using the latest AmiSSL SDK version you can keep
using AMISSL_CURRENT_VERSION.
The use of amisslmaster.library makes it possible to have multiple versions of
amissl.library with incompatible APIs installed keeping the programs compiled
with an older amissl.library working. This is necessary since OpenSSL API
changes from time to time. Also, when a new version of AmiSSL is released with
amissl.library API that is backwards compatible to some previous version, a
program requesting the old version of amissl.library will automatically get
the new version and the old version can be deleted.
3. Subprocesses
---------------
Note, that unlike in AmiSSL v1, AmiSSLBase can be shared between different
subprocesses. Furthermore, this is encouraged since it allows the cache of
server certificates to be used by all subprocesses that share the same AmiSSL
base resulting in speed increase. Each subprocess must call InitAmiSSL() with
appropriate arguments before using any other amissl.library calls and
CleanupAmiSSL() before it exits. AmiSSL then ensures due to its baserel-based
environment that any opener receives an own baserel based library base.
==Examples==
The provided example, httpget.c, is an example of how to use the new
OpenSSL 3.x built-in HTTP client functions. It shows how to retrieve a
document from a "http://" or "https://" server, with or without a password
and how you can also use the URL parsing functions from OpenSSL 3.x.
Another example, https.c, is a very simple client. It shows how to retrieve a
document from a "https://" server, at a lower level, by connecting directly
to the site, and also by connecting through a proxy server (SSL tunneling).
==Reference==
5. Link libraries
-----------------
The following optional link libraries are supplied, for GCC on OS3/OS4 and
vbcc on OS4:
- libamisslauto.a (link with -lamisslauto)
As per the standard libauto, automatically open and set up AmiSSL, without
having to worry about the initialisation code yourself. You may also compile
your own link library for a different compiler from lib/autoinit_amissl_main.c
which can be compiled with VBCC, SAS/C and GCC.
- libamisslstubs.a (link with -lamisslstubs)
Some OpenSSL functions take a pointer to another OpenSSL function as a
parameter. This becomes a problem when using standard AmigaOS library inlines,
usually causing undefined reference errors (e.g. X509_free) when linking. You
can either create your own stub functions to resolve this, which simply call
the AmiSSL functions, but for convenience you can instead link with this
library which contains stubs for all OpenSSL functions. If you wish to create
this library for a different compiler, the stubs source code can be created
on OS4 using "idltool -L amissl.xml" or on OS3 from the sfd file using tools
such as sfdc, sfd or fd2pragma.
6. Migration from AmiSSL v4
---------------------------
AmiSSL v4 is OpenSSL 1.1.x based, whilst AmiSSL v5 uses OpenSSL 3.x, but
fortunately you will not usually need to make any changes to your code, as most
things are actually backwards compatible (most functions that have been removed
or changed will be replaced by macros in the OpenSSL header files). However, we
encourage developers to use the new OpenAmiSSLTags() function, in place of
InitAmiSSLMaster(), OpenAmiSSL() and InitAmiSSL() (these functions will still
continue to operate as before). Details of OpenSSL changes are available at
https://www.openssl.org/docs/manmaster/man7/migration_guide.html and with
GCC you will receive warnings if you use any deprecated functions.
Due to the shear amount of OpenSSL 3.x API functions available, we had to split
them across two library bases on OS3 which meant the addition of AmiSSLExtBase.
AmiSSLExtBase can be obtained using the AmiSSL_GetAmiSSLExtBase tag in
OpenAmiSSLTags() (or alternatively, in InitAmiSSL() if you wish to keep using
the old functions). This does not apply to OS4, where there is one single
interface as before.
The procedure for subprocesses remains unchanged - they must continue to call
InitAmiSSL() and CleanupAmiSSL() if sharing the AmiSSL instance from the parent
task where OpenAmiSSLTags() was called.
7. Migration from AmiSSL v3
---------------------------
AmiSSL v3 is OpenSSL 0.9.x based and there were many fundamental changes in
AmiSSL v4 due to the switch to OpenSSL 1.1.x. Although there were no changes in
the AmiSSL API itself, there were lots of important changes in the OpenSSL API.
Rather than simply recompiling, depending on how heavy your OpenSSL usage is,
you may well need to make changes to your code. For example, many public
structures that were defined in the header files have now been made private.
Rather than allocating them yourself, or putting them on the stack, you will
need to use the provided new functions to obtain, access and modify these
structures. We also dropped SSLv2/v3 methods completely, so you will need to
switch to TLS.
8. Differences to OpenSSL
-------------------------
AmiSSL provides essentially the same functionality as OpenSSL, but there are a
few differences as a result of the Amiga shared library model and necessity to
support different compilers. Unlike AmiSSL v1, AmiSSL v3/v4/v5 uses
"#include <openssl/xxx.h>" scheme instead of "#include <amissl/xxx.h>" scheme.
This and some other changes should make it possible to compile most OpenSSL
programs out of the box.
The functions, e.g., BIO_set_fp(), BIO_get_fp() and BIO_new_fp() are not
available since they require a FILE * argument which is C runtime library
specific. However, there are replacement functions which have _amiga added to
their name and take a BPTR instead of FILE * argument. For example,
BIO_set_fp(bio_out, stdout, BIO_NOCLOSE) can be replaced by
BIO_set_fp_amiga(bio_out, Output(), BIO_NOCLOSE);
Also, all other stdio functions that have a FILE * argument are not available.
However, all these functions have an equivalent that accepts BIO * instead of
FILE * so these functions can be used instead. The simple sequence
<pre>
fp = fopen(file, mode);
openssl_func_fp(fp, ...);
fclose(fp)
</pre>
sequence can be replaced with the following:
<pre>
bio = BIO_new_file(file, mode);
openssl_func(bio, ...);
BIO_free(bio);
</pre>
In addition, AmiSSL adds several functions which deal with OpenSSL ciphers:
<pre>
const char *SSL_CIPHER_get_mac(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_encryption(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_authentication(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_key_exchange(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_export(SSL_CIPHER *cipher);
</pre>
These will return textual representation of requested cipher data. For example,
SSL_CIPHER_get_encryption() will return "AES(256)" when 256-bit AES cipher is
used.
9. Callback functions
---------------------
Some OpenSSL functions require you to pass your own callback function in as a
parameter. These functions will be called using default calling conventions
on OS3 and OS4. On OS3 this means AmiSSL will call your function with the
function arguments placed on the stack, whilst on OS4 they will be placed in
registers, as usual. If you have set your compiler to use a different
convention, be sure to define your callback function correctly. For example:
STDARGS SAVEDS int verify_cb(int preverify_ok, X509_STORE_CTX *ctx)
{
return preverify_ok;
}
SSL_CTX_set_verify(sslctx,SSL_VERIFY_PEER,verify_cb);
10. Stub functions
------------------
Sometimes it is necessary to pass an AmiSSL function as a function pointer
argument. Since AmiSSL functions are inside the library, it is not possible
directly. See the section about the libamisslstubs.a link library which aims to
solve this issue. However, if not using the link library, it is possible to
write your own stub function:
void NOSTACKCHECK /* STDARGS */ SAVEDS (ASN1_OBJECT_free)(ASN1_OBJECT *a)
{
ASN1_OBJECT_free(a);
}
In newly written code it is better to use a different name for the function,
but when working with already existing code it might be easier to use the same
name than to change many occurrences of f. ex. ASN1_OBJECT_free to f. ex.
ASN1_OBJECT_free_stub whenever ASN1_OBJECT_free is passed as a function
pointer.
==Issues==
11. VBCC issues
---------------
The OpenSSL header files rely on using and declaring static inline helper
functions. This means that lots of functions will be declared in every
module that you include the OpenSSL headers and probably most of them you
will not use or need. Most compilers remove these unused functions by
default and sometimes even with the optimiser completely disabled.
Unfortunately, VBCC is different and will only remove these functions if
you use -O3 when compiling. -O1 and -O2 will leave all the unused functions
in your code. If for some reason you do not wish to use -O3, you could try
-O=17375 or -O=17407. These are the equivalent of -O1 and -O2 respectively,
but with the required optimiser bit added to enable removal of the unused
functions. Alternatively, you may compile with -DAMISSL_NO_STATIC_FUNCTIONS,
which will stop all the affected functions from being declared in the first
place, but obviously you can only use this if your code is not using any of
these functions otherwise you will get errors when compiling.
12. SAS/C issues
----------------
You will need to add "PreprocessorBuffer=32768 IdentifierLength=80" to your
SC command line and have to take special care where 64-bit integers are
concerned. In particular, OPENSSL_init_ssl(), which you mignt not even be
calling directly, but is ultimately the end result of many of the macros for
older legacy SSL initialisation functions. Remember that for 64-bit
parameters, the high 32-bits are placed in D0 and the low 32-bits in D1. So,
you might want to use a workaround similar to this:
#define OPENSSL_init_ssl_32(opts, settings) \
(putreg(REG_D1,opts), OPENSSL_init_ssl(0, settings))
9q5vg8i6grovq9mp3ayhvck0uxwhqet
4639952
4639951
2026-06-11T19:56:06Z
Jeff1138
301139
4639952
wikitext
text/x-wiki
{{ArosNav}}
==Introduction==
Work started on [https://github.com/jens-maus/amissl] a port of OpenSSL 3.x contains developer files and example programs which should make
it possible to add AmiSSL support to client and server applications interested
in providing SSL/TLS functionality to end users. This SDK release provides
include files for GCC and vbcc for OS3/m68k and OS4/PPC. Also, SAS/C is
supported, but please see the end of this document for important information.
The information given here is mostly AmiSSL specific. For more information on
OpenSSL programming, check the OpenSSL documentation and examples
(https://www.openssl.org/).
The AmiSSL v5 API is slightly different from previous versions and has been
simplified. The procedure to use AmiSSL should be something like the following
pseudo-code:
<pre>
#include <proto/amisslmaster.h>
#include <proto/amissl.h>
#include <libraries/amisslmaster.h>
#include <libraries/amissl.h>
#include <amissl/amissl.h>
if((AmiSSLMasterBase = OpenLibrary("amisslmaster.library",
AMISSLMASTER_MIN_VERSION))
{
#if defined(__amigaos4__)
if(IAmiSSLMaster = (struct AmiSSLMasterIFace *)
GetInterface((struct Library *)AmiSSLMasterBase,
"main", 1, NULL))
{
if(OpenAmiSSLTags(AMISSL_CURRENT_VERSION,
AmiSSL_UsesOpenSSLStructs, TRUE or FALSE,
AmiSSL_GetIAmiSSL, &IAmiSSL,
AmiSSL_ISocket, ISocket,
AmiSSL_ErrNoPtr, &errno,
..., TAG_DONE) == 0)
{
CloseAmiSSL();
}
else printf("ERROR: Couldn't open AmiSSL!");
DropInterface((struct Interface *)IAmiSSLMaster);
}
else printf("ERROR: Couldn't obtain AmiSSLMaster interface!");
#else
if(OpenAmiSSLTags(AMISSL_CURRENT_VERSION,
AmiSSL_UsesOpenSSLStructs, TRUE or FALSE,
AmiSSL_GetAmiSSLBase, &AmiSSLBase,
AmiSSL_GetAmiSSLExtBase, &AmiSSLExtBase,
AmiSSL_SocketBase, SocketBase,
AmiSSL_ErrNoPtr, &errno,
..., TAG_DONE) == 0)
{
CloseAmiSSL();
}
else printf("ERROR: Couldn't open AmiSSL!");
#endif
CloseLibrary(AmiSSLMasterBase);
}
else printf("ERROR: Couldn't open amisslmaster.library!");
</pre>
The first step is to open amisslmaster.library requesting at least
AMISSLMASTER_MIN_VERSION version (and, for OS4, call GetInterface() to get the
"main" interface and later DropInterface() in the cleanup phase).
Then amisslmaster.library/OpenAmiSSLTags() has to be called specifying which
API version the program was compiled for and whether it uses OpenSSL structures
in some way (ie. if it accesses some of the fields directly and not through
AmiSSL API or if it includes OpenSSL structures in its own structures - if
unsure, specify TRUE). It will return zero on success or a non-zero value on
failure. See the autodocs for amisslmaster.library/OpenAmiSSLTags() and
amissl.library/InitAmiSSL() for currently available tags.
If you need to compile a program specifically for f. ex. OpenSSL 0.9.7g API,
you need to use the SDK in which AMISSL_CURRENT_VERSION is AMISSL_V097g. If
you are, however, always using the latest AmiSSL SDK version you can keep
using AMISSL_CURRENT_VERSION.
The use of amisslmaster.library makes it possible to have multiple versions of
amissl.library with incompatible APIs installed keeping the programs compiled
with an older amissl.library working. This is necessary since OpenSSL API
changes from time to time. Also, when a new version of AmiSSL is released with
amissl.library API that is backwards compatible to some previous version, a
program requesting the old version of amissl.library will automatically get
the new version and the old version can be deleted.
3. Subprocesses
---------------
Note, that unlike in AmiSSL v1, AmiSSLBase can be shared between different
subprocesses. Furthermore, this is encouraged since it allows the cache of
server certificates to be used by all subprocesses that share the same AmiSSL
base resulting in speed increase. Each subprocess must call InitAmiSSL() with
appropriate arguments before using any other amissl.library calls and
CleanupAmiSSL() before it exits. AmiSSL then ensures due to its baserel-based
environment that any opener receives an own baserel based library base.
==Examples==
The provided example, httpget.c, is an example of how to use the new
OpenSSL 3.x built-in HTTP client functions. It shows how to retrieve a
document from a "http://" or "https://" server, with or without a password
and how you can also use the URL parsing functions from OpenSSL 3.x.
<pre>
/***************************************************************************
AmiSSL - OpenSSL wrapper for AmigaOS-based systems
Copyright (c) 1999-2006 Andrija Antonijevic, Stefan Burstroem.
Copyright (c) 2006-2022 AmiSSL Open Source Team.
All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License in the file LICENSE in the
source distribution or at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
AmiSSL Official Support Site: https://github.com/jens-maus/amissl
***************************************************************************/
/*
* This example program demonstrates how to use the HTTP client function
* OSSL_HTTP_get() and URL parsing function OSSL_HTTP_parse_url(), which
* were newly introduced in OpenSSL 3.0 and AmiSSL v5.
*
* These allow any application to load http or https URLs completely
* within AmiSSL v5, without the need for any other external libraries,
* such as libcurl, or custom code. OSSL_HTTP_get() is the highest level
* function provided by the HTTP client, but you can have more control by
* using the lower level HTTP functions described in the OpenSSL manual at
* https://www.openssl.org/docs/man3.0/man3/OSSL_HTTP_get.html
*/
#if defined(__amigaos4__) && !defined(__USE_INLINE__)
# define __USE_INLINE__
#endif
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <proto/exec.h>
#include <proto/dos.h>
#include <proto/amissl.h>
#include <proto/amisslmaster.h>
#include <amissl/amissl.h>
#include <libraries/amisslmaster.h>
#include <libraries/amissl.h>
#if !defined(__amigaos4__)
# include <SDI_compiler.h>
#endif
const char stack_size[] = "$STACK:8192";
static SSL_CTX *Init(void);
static void Cleanup(SSL_CTX *ctx);
/* Check if URL is valid and extract any username/password
*/
BOOL IsSupportedURL(char *url, char **userinfo)
{
int ssl, portnum;
char *host, *port, *path, *query, *fragment;
/* You may wish to make use of OSSL_parse_url() which can be
* used to parse non-http(s) URLs too
*/
return OSSL_HTTP_parse_url(url, &ssl, userinfo, &host, &port,
&portnum, &path, &query, &fragment);
}
/* Required callback to enable HTTPS connection, when necessary
*/
SAVEDS STDARGS BIO *HTTP_TLS_cb(BIO *bio, void *arg, int connect, int detail)
{
if (connect && detail)
{
/* Connect with TLS */
BIO *sbio = BIO_new_ssl((SSL_CTX *)arg, 1);
bio = (sbio != NULL) ? BIO_push(sbio, bio) : NULL;
}
return bio;
}
/* Stub function used when freeing our stack of headers
*/
SAVEDS STDARGS void stub_X509V3_conf_free(CONF_VALUE *val)
{
X509V3_conf_free(val);
}
/* Read content from URL and dump to Output()
*/
BOOL GetURL(char *url, char *userinfo, SSL_CTX *sslctx)
{
STACK_OF(CONF_VALUE) *headers = NULL;
BIO *bio, *bio_err;
/* Add our own HTTP headers */
X509V3_add_value("User-Agent", "AmiSSL/5.1", &headers);
X509V3_add_value("Referer", "GetURL()", &headers);
if (userinfo)
{
/* Optionally specify username:password */
char auth[256] = "Basic ";
/* Base64 encode */
EVP_EncodeBlock((unsigned char *)&auth[6], (unsigned char *)userinfo, strlen(userinfo));
X509V3_add_value("Authorization", auth, &headers);
}
/* Initiate the request (supports redirection) */
if ((bio = OSSL_HTTP_get(url, NULL /* proxy */, NULL /* no_proxy */,
NULL /* bio */, NULL /* rbio */,
(BIO *(*)(BIO *, void *, int, int))HTTP_TLS_cb, sslctx,
0 /* buf_size */, headers,
NULL /* expected_content_type */, 0 /* expect_asn1 */,
0 /* max_resp_len */, 0 /* timeout */)) != NULL)
{
/* HTTP request succeeded */
char buffer[2048]; /* should really move this off the stack */
int length;
while ((length = BIO_read(bio, buffer, sizeof(buffer))) > 0)
{
FWrite(Output(), buffer, 1, length);
}
BIO_free(bio);
}
else if((bio_err = BIO_new(BIO_s_file())) != NULL)
{
/* HTTP request failed - try to show why */
BIO_set_fp_amiga(bio_err, Output(), BIO_NOCLOSE | BIO_FP_TEXT);
ERR_print_errors(bio_err);
BIO_free(bio_err);
}
/* Free our custom headers */
sk_CONF_VALUE_pop_free(headers,(void (*)(CONF_VALUE *))stub_X509V3_conf_free);
return (bio != NULL);
}
int main(int argc, char *argv[])
{
BOOL is_ok = FALSE;
SSL_CTX *sslctx = NULL;
char *userinfo = NULL;
if (argc > 1)
{
/* Open required OS libraries and initialize AmiSSL */
if ((sslctx = Init()) != NULL)
{
/* First check if URL is valid (optional) */
if (IsSupportedURL(argv[1], &userinfo))
{
/* Open the URL and dump the response to Output() */
is_ok = GetURL(argv[1], userinfo, sslctx);
}
else
Printf("Not a valid http or https URL\n");
}
/* Free resources */
Cleanup(sslctx);
}
else
Printf("Usage: %s [url] (http:// and https:// supported)\n", argv[0]);
return(is_ok ? RETURN_OK : RETURN_ERROR);
}
#if defined(USE_AUTOINIT)
/* Link with -lamisslauto
*/
LONG UsesOpenSSLStructs = FALSE;
static SSL_CTX *Init(void)
{
SSL_CTX *ctx;
if (!(ctx = SSL_CTX_new(TLS_client_method())))
Printf("Couldn't create SSL context!\n");
return ctx;
}
static void Cleanup(SSL_CTX *ctx)
{
SSL_CTX_free(ctx);
}
#else
struct Library *AmiSSLMasterBase, *SocketBase;
# if defined(__amigaos4__)
struct AmiSSLMasterIFace *IAmiSSLMaster;
struct AmiSSLIFace *IAmiSSL;
struct SocketIFace *ISocket;
# define GETINTERFACE(iface, base) (iface = (APTR)GetInterface((struct Library *)(base), "main", 1L, NULL))
# define DROPINTERFACE(iface) (DropInterface((struct Interface *)iface), iface = NULL)
# else
struct Library *AmiSSLBase, *AmiSSLExtBase;
# define GETINTERFACE(iface, base) TRUE
# define DROPINTERFACE(iface)
# endif
# define XMKSTR(x) #x
# define MKSTR(x) XMKSTR(x)
/* Open and initialize AmiSSL
*/
static SSL_CTX *Init(void)
{
SSL_CTX *ctx = NULL;
if (!(SocketBase = OpenLibrary("bsdsocket.library", 4)))
Printf("Couldn't open bsdsocket.library v4!\n");
else if (!GETINTERFACE(ISocket, SocketBase))
Printf("Couldn't get Socket interface!\n");
else if (!(AmiSSLMasterBase = OpenLibrary("amisslmaster.library",
AMISSLMASTER_MIN_VERSION)))
Printf("Couldn't open amisslmaster.library v"
MKSTR(AMISSLMASTER_MIN_VERSION) "!\n");
else if (!GETINTERFACE(IAmiSSLMaster, AmiSSLMasterBase))
Printf("Couldn't get AmiSSLMaster interface!\n");
# if defined(__amigaos4__)
else if (OpenAmiSSLTags(AMISSL_CURRENT_VERSION,
AmiSSL_UsesOpenSSLStructs, FALSE,
AmiSSL_GetIAmiSSL, &IAmiSSL,
AmiSSL_ISocket, ISocket,
AmiSSL_ErrNoPtr, &errno,
TAG_DONE) != 0)
# else
else if (OpenAmiSSLTags(AMISSL_CURRENT_VERSION,
AmiSSL_UsesOpenSSLStructs, FALSE,
AmiSSL_GetAmiSSLBase, &AmiSSLBase,
AmiSSL_GetAmiSSLExtBase, &AmiSSLExtBase,
AmiSSL_SocketBase, SocketBase,
AmiSSL_ErrNoPtr, &errno,
TAG_DONE) != 0)
# endif
Printf("Couldn't open and initialize AmiSSL!\n");
else if (!(ctx = SSL_CTX_new(TLS_client_method())))
Printf("Couldn't create SSL context!\n");
return ctx;
}
/* Close AmiSSL
*/
static void Cleanup(SSL_CTX *ctx)
{
# if defined(__amigaos4__)
if (IAmiSSL)
# else
if (AmiSSLBase)
# endif
{
SSL_CTX_free(ctx);
CloseAmiSSL();
}
DROPINTERFACE(IAmiSSLMaster);
CloseLibrary(AmiSSLMasterBase);
DROPINTERFACE(ISocket);
CloseLibrary(SocketBase);
}
#endif /* !USE_AUTOINIT */
</pre>
Another example, https.c, is a very simple client. It shows how to retrieve a
document from a "https://" server, at a lower level, by connecting directly
to the site, and also by connecting through a proxy server (SSL tunneling).
<pre>
/***************************************************************************
AmiSSL - OpenSSL wrapper for AmigaOS-based systems
Copyright (c) 1999-2006 Andrija Antonijevic, Stefan Burstroem.
Copyright (c) 2006-2022 AmiSSL Open Source Team.
All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License in the file LICENSE in the
source distribution or at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
AmiSSL Official Support Site: https://github.com/jens-maus/amissl
***************************************************************************/
#if defined(__amigaos4__)
# ifndef __USE_INLINE__
# define __USE_INLINE__
# endif
# if defined(__VBCC__) && !defined(__USE_OLD_TIMEVAL__)
# define __USE_OLD_TIMEVAL__
# endif
#endif
#include <sys/socket.h>
#include <netdb.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <proto/exec.h>
#include <proto/dos.h>
#define __NOLIBBASE__
#include <proto/utility.h>
#undef __NOLIBBASE__
#include <proto/amissl.h>
#include <proto/amisslmaster.h>
#include <proto/socket.h>
#include <clib/alib_protos.h>
#include <utility/utility.h>
#include <amissl/amissl.h>
#include <libraries/amisslmaster.h>
#include <libraries/amissl.h>
const char stack_size[] = "$STACK:8192";
static BOOL Init(void);
static void Cleanup(void);
static void GenerateRandomSeed(char *buffer, int size);
static int ConnectToServer(char *, short, char *, short);
static int verify_cb(int preverify_ok, X509_STORE_CTX *ctx);
struct Library *AmiSSLMasterBase, *AmiSSLBase, *SocketBase, *UtilityBase;
BOOL AmiSSLInitialized;
#if defined(__amigaos4__)
struct AmiSSLMasterIFace *IAmiSSLMaster;
struct AmiSSLIFace *IAmiSSL;
struct SocketIFace *ISocket;
struct UtilityIFace *IUtility;
#else
static BPTR ErrorOutput(void)
{
return(((struct Process *)FindTask(NULL))->pr_CES);
}
#define FFlush(x) Flush(x)
#endif /* !__amigaos4__ */
static BPTR GetStdErr(void)
{
BPTR err = ErrorOutput();
return(err ? err : Output());
}
/* Usage: https <host> <port> [proxyhost] [proxyport]
*
* host: name of host (default: "localhost")
* port: port to connect to (default: 443)
* proxyhost: name of proxy (optional)
* proxyport: name of proxy (optional)
*
* If any proxy parameter is omitted, the program will
* connect directly to the host.
*/
int main(int argc, char *argv[])
{
char buffer[4096]; /* This should be dynamically allocated */
BOOL is_ok = FALSE;
X509 *server_cert;
SSL_CTX *ctx;
BIO *bio_err;
SSL *ssl;
if (Init()) /* Open required OS libraries and initialize AmiSSL */
{
/* Basic intialization. Next few steps (up to SSL_new()) need
* to be done only once per AmiSSL opener.
*/
OPENSSL_init_ssl(OPENSSL_INIT_SSL_DEFAULT | OPENSSL_INIT_ADD_ALL_CIPHERS | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL);
/* Seed the entropy engine */
GenerateRandomSeed(buffer, 128);
RAND_seed(buffer, 128);
/* Note: BIO writing routines are prepared for NULL BIO handle */
if((bio_err = BIO_new(BIO_s_file())) != NULL)
BIO_set_fp_amiga(bio_err, GetStdErr(), BIO_NOCLOSE | BIO_FP_TEXT);
/* Get a new SSL context */
if((ctx = SSL_CTX_new(TLS_client_method())) != NULL)
{
/* Basic certificate handling. OpenSSL documentation has more
* information on this.
*/
SSL_CTX_set_default_verify_paths(ctx);
SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT,
verify_cb);
/* The following needs to be done once per socket */
if((ssl = SSL_new(ctx)) != NULL)
{
int sock;
int port, pport;
char *host, *proxy;
/* Connect to the HTTPS server, directly or through a proxy */
host = (argc > 1) ? argv[1] : (char *)"localhost";
port = (argc > 2) ? atol(argv[2]) : 443;
proxy = (argc > 3) ? argv[3] : NULL;
pport = (argc > 4) ? atol(argv[4]) : 0;
sock = ConnectToServer(host, port, proxy, pport);
/* Check if connection was established */
if (sock >= 0)
{
int ssl_err = 0;
/* Associate the socket with the ssl structure */
SSL_set_fd(ssl, sock);
/* Set up SNI (Server Name Indication) */
SSL_set_tlsext_host_name(ssl, host);
/* Perform SSL handshake */
if((ssl_err = SSL_connect(ssl)) >= 0)
{
Printf("SSL connection using %s\n", SSL_get_cipher(ssl));
/* Certificate checking. This example is *very* basic */
if((server_cert = SSL_get_peer_certificate(ssl)))
{
char *str;
Printf("Server certificate:\n");
if((str = X509_NAME_oneline(X509_get_subject_name(server_cert), 0, 0)))
{
Printf("\tSubject: %s\n", str);
OPENSSL_free(str);
}
else
FPrintf(GetStdErr(), "Warning: couldn't read subject name in certificate!\n");
if((str = X509_NAME_oneline(X509_get_issuer_name(server_cert),
0, 0)) != NULL)
{
Printf("\tIssuer: %s\n", str);
OPENSSL_free(str);
}
else
FPrintf(GetStdErr(), "Warning: couldn't read issuer name in certificate!\n");
X509_free(server_cert);
/* Send a HTTP request. Again, this is just
* a very basic example.
*/
sprintf(buffer,"GET / HTTP/1.0\r\nHost: %s\r\n\r\n",host);
if ((ssl_err = SSL_write(ssl, buffer, strlen(buffer)))
> 0)
{
/* Dump everything to output */
while ((ssl_err = SSL_read(ssl, buffer,
sizeof(buffer) - 1))
> 0)
FWrite(Output(), buffer, ssl_err, 1);
FFlush(Output());
/* This is not entirely true, check
* the SSL_read documentation
*/
is_ok = ssl_err == 0;
}
else
FPrintf(GetStdErr(), "Couldn't write request!\n");
}
else
FPrintf(GetStdErr(), "Couldn't get server certificate!\n");
/* Send SSL close notification */
SSL_shutdown(ssl);
}
else
FPrintf(GetStdErr(), "Couldn't establish SSL connection!\n");
/* If there were errors, print them */
if (ssl_err < 0)
ERR_print_errors(bio_err);
/* Close the socket */
CloseSocket(sock);
}
else
FPrintf(GetStdErr(), "Couldn't connect to host!\n");
FPrintf(GetStdErr(), "before SSL_free()\n");
SSL_free(ssl);
}
else
FPrintf(GetStdErr(), "Couldn't create new SSL handle!\n");
FPrintf(GetStdErr(), "before SSL_CTX_free()\n");
SSL_CTX_free(ctx);
}
else
FPrintf(GetStdErr(), "Couldn't create new context!\n");
BIO_free(bio_err);
FPrintf(GetStdErr(), "before Cleanup()\n");
Cleanup();
}
FPrintf(GetStdErr(), "before end of main()\n");
return(is_ok ? RETURN_OK : RETURN_ERROR);
}
#define XMKSTR(x) #x
#define MKSTR(x) XMKSTR(x)
#if defined(__amigaos4__)
#define GETINTERFACE(iface, base) (iface = (APTR)GetInterface((struct Library *)(base), "main", 1L, NULL))
#define DROPINTERFACE(iface) (DropInterface((struct Interface *)iface), iface = NULL)
#else
#define GETINTERFACE(iface, base) TRUE
#define DROPINTERFACE(iface)
#endif
/* Open and initialize AmiSSL */
static BOOL Init(void)
{
AmiSSLInitialized = FALSE;
if (!(UtilityBase = OpenLibrary("utility.library", 0)))
FPrintf(GetStdErr(), "Couldn't open utility.library!\n");
else if (!GETINTERFACE(IUtility, UtilityBase))
FPrintf(GetStdErr(), "Couldn't get Socket interface!\n");
else if (!(SocketBase = OpenLibrary("bsdsocket.library", 4)))
FPrintf(GetStdErr(), "Couldn't open bsdsocket.library v4!\n");
else if (!GETINTERFACE(ISocket, SocketBase))
FPrintf(GetStdErr(), "Couldn't get Socket interface!\n");
else if (!(AmiSSLMasterBase = OpenLibrary("amisslmaster.library",
AMISSLMASTER_MIN_VERSION)))
FPrintf(GetStdErr(), "Couldn't open amisslmaster.library v"
MKSTR(AMISSLMASTER_MIN_VERSION) "!\n");
else if (!GETINTERFACE(IAmiSSLMaster, AmiSSLMasterBase))
FPrintf(GetStdErr(), "Couldn't get AmiSSLMaster interface!\n");
else if (!InitAmiSSLMaster(AMISSL_CURRENT_VERSION, TRUE))
FPrintf(GetStdErr(), "AmiSSL version is too old!\n");
else if (!(AmiSSLBase = OpenAmiSSL()))
FPrintf(GetStdErr(), "Couldn't open AmiSSL!\n");
else if (!GETINTERFACE(IAmiSSL, AmiSSLBase))
FPrintf(GetStdErr(), "Couldn't get AmiSSL interface!\n");
#if defined(__amigaos4__)
else if (InitAmiSSL(AmiSSL_ErrNoPtr, &errno,
AmiSSL_ISocket, ISocket,
TAG_DONE) != 0)
#else
else if (InitAmiSSL(AmiSSL_ErrNoPtr, &errno,
AmiSSL_SocketBase, SocketBase,
TAG_DONE) != 0)
#endif
FPrintf(GetStdErr(), "Couldn't initialize AmiSSL!\n");
else
AmiSSLInitialized = TRUE;
if (!AmiSSLInitialized)
Cleanup(); /* This is safe to call even if something failed above */
return(AmiSSLInitialized);
}
static void Cleanup(void)
{
if (AmiSSLInitialized)
{ /* Must always call after successful InitAmiSSL() */
CleanupAmiSSLA(NULL);
}
if (AmiSSLBase)
{
DROPINTERFACE(IAmiSSL);
CloseAmiSSL();
AmiSSLBase = NULL;
}
DROPINTERFACE(IAmiSSLMaster);
CloseLibrary(AmiSSLMasterBase);
AmiSSLMasterBase = NULL;
DROPINTERFACE(ISocket);
CloseLibrary(SocketBase);
SocketBase = NULL;
DROPINTERFACE(IUtility);
CloseLibrary(UtilityBase);
UtilityBase = NULL;
}
/* Get some suitable random seed data
*/
static void GenerateRandomSeed(char *buffer, int size)
{
int i;
#ifdef __amigaos4__
struct RandomState rs;
rs.rs_Low = clock();
rs.rs_High = time(NULL);
for(i = 0; i < size/4; i++)
{
((LONG *)buffer)[i] = Random(&rs);
}
#else
for(i = 0; i < size/2; i++)
{
((UWORD *)buffer)[i] = RangeRand(65535);
}
#endif
}
/* This callback is called everytime OpenSSL verifies a certificate
* in the chain during a connection, indicating success or failure.
*/
static int verify_cb(int preverify_ok, X509_STORE_CTX *ctx)
{
if (!preverify_ok)
{
/* Here, you could ask the user whether to ignore the failure,
* displaying information from the certificate, for example.
*/
FPrintf(GetStdErr(),"Certificate verification failed (%s)\n",
X509_verify_cert_error_string(X509_STORE_CTX_get_error(ctx)));
}
else
{
FPrintf(GetStdErr(),"Certificate verification successful (hash %08lx)\n",
X509_issuer_and_serial_hash(X509_STORE_CTX_get_current_cert(ctx)));
}
return preverify_ok;
}
/* Connect to the specified server, either directly or through the specified
* proxy using HTTP CONNECT method.
*/
static int ConnectToServer(char *host, short port, char *proxy, short pport)
{
struct sockaddr_in addr;
struct hostent *hostent;
char buffer[1024]; /* This should be dynamically alocated */
BOOL is_ok = FALSE;
char *s1, *s2;
int sock = -1;
/* Lookup hostname */
if ((hostent = gethostbyname((proxy && pport) ? proxy : host)) != NULL)
{
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons((proxy && pport) ? pport : port);
addr.sin_len = hostent->h_length;;
memcpy(&addr.sin_addr,hostent->h_addr,hostent->h_length);
}
else
FPrintf(GetStdErr(), "Host lookup failed\n");
/* Create a socket and connect to the server */
if (hostent && ((sock = socket(AF_INET, SOCK_STREAM, 0)) >= 0))
{
if (connect(sock, (struct sockaddr *)&addr, sizeof(addr)) >= 0)
{
/* For proxy connection, use SSL tunneling. First issue a HTTP CONNECT
* request and then proceed as with direct HTTPS connection.
*/
if (proxy && pport)
{
/* This should be done with snprintf to prevent buffer
* overflows, but some compilers don't have it and
* handling that would be an overkill for this example
*/
sprintf(buffer, "CONNECT %s:%ld HTTP/1.0\r\n\r\n",
host, (long)port);
/* In a real application, it would be necessary to loop
* until everything is sent or an error occurrs, but here we
* hope that everything gets sent at once.
*/
if (send(sock, buffer, strlen(buffer), 0) >= 0)
{
int len;
/* Again, some optimistic behaviour: HTTP response might not be
* received with only one recv
*/
if ((len = recv(sock, buffer, sizeof(buffer) - 1, 0)) >= 0)
{
/* Assuming it was received, find the end of
* the line and cut it off
*/
if ((s1 = strchr(buffer, '\r'))
|| (s1 = strchr(buffer, '\n')))
*s1 = '\0';
else
buffer[len] = '\0';
Printf("Proxy returned: %s\n", buffer);
/* Check if HTTP response makes sense */
if (strncmp(buffer, "HTTP/", 4) == 0
&& (s1 = strchr(buffer, ' '))
&& (s2 = strchr(++s1, ' '))
&& (s2 - s1 == 3))
{
/* Only accept HTTP 200 OK response */
if (atol(s1) == 200)
is_ok = TRUE;
else
FPrintf(GetStdErr(), "Proxy responce indicates error!\n");
}
else
FPrintf(GetStdErr(), "Amibigous proxy responce!\n");
}
else
FPrintf(GetStdErr(), "Couldn't get proxy response!\n");
}
else
FPrintf(GetStdErr(), "Couldn't send request to proxy!\n");
}
else
is_ok = TRUE;
}
else
FPrintf(GetStdErr(), "Couldn't connect to server\n");
if (!is_ok)
{
CloseSocket(sock);
sock = -1;
}
}
return(sock);
}
</pre>
==Reference==
5. Link libraries
-----------------
The following optional link libraries are supplied, for GCC on OS3/OS4 and
vbcc on OS4:
- libamisslauto.a (link with -lamisslauto)
As per the standard libauto, automatically open and set up AmiSSL, without
having to worry about the initialisation code yourself. You may also compile
your own link library for a different compiler from lib/autoinit_amissl_main.c
which can be compiled with VBCC, SAS/C and GCC.
- libamisslstubs.a (link with -lamisslstubs)
Some OpenSSL functions take a pointer to another OpenSSL function as a
parameter. This becomes a problem when using standard AmigaOS library inlines,
usually causing undefined reference errors (e.g. X509_free) when linking. You
can either create your own stub functions to resolve this, which simply call
the AmiSSL functions, but for convenience you can instead link with this
library which contains stubs for all OpenSSL functions. If you wish to create
this library for a different compiler, the stubs source code can be created
on OS4 using "idltool -L amissl.xml" or on OS3 from the sfd file using tools
such as sfdc, sfd or fd2pragma.
6. Migration from AmiSSL v4
---------------------------
AmiSSL v4 is OpenSSL 1.1.x based, whilst AmiSSL v5 uses OpenSSL 3.x, but
fortunately you will not usually need to make any changes to your code, as most
things are actually backwards compatible (most functions that have been removed
or changed will be replaced by macros in the OpenSSL header files). However, we
encourage developers to use the new OpenAmiSSLTags() function, in place of
InitAmiSSLMaster(), OpenAmiSSL() and InitAmiSSL() (these functions will still
continue to operate as before). Details of OpenSSL changes are available at
https://www.openssl.org/docs/manmaster/man7/migration_guide.html and with
GCC you will receive warnings if you use any deprecated functions.
Due to the shear amount of OpenSSL 3.x API functions available, we had to split
them across two library bases on OS3 which meant the addition of AmiSSLExtBase.
AmiSSLExtBase can be obtained using the AmiSSL_GetAmiSSLExtBase tag in
OpenAmiSSLTags() (or alternatively, in InitAmiSSL() if you wish to keep using
the old functions). This does not apply to OS4, where there is one single
interface as before.
The procedure for subprocesses remains unchanged - they must continue to call
InitAmiSSL() and CleanupAmiSSL() if sharing the AmiSSL instance from the parent
task where OpenAmiSSLTags() was called.
7. Migration from AmiSSL v3
---------------------------
AmiSSL v3 is OpenSSL 0.9.x based and there were many fundamental changes in
AmiSSL v4 due to the switch to OpenSSL 1.1.x. Although there were no changes in
the AmiSSL API itself, there were lots of important changes in the OpenSSL API.
Rather than simply recompiling, depending on how heavy your OpenSSL usage is,
you may well need to make changes to your code. For example, many public
structures that were defined in the header files have now been made private.
Rather than allocating them yourself, or putting them on the stack, you will
need to use the provided new functions to obtain, access and modify these
structures. We also dropped SSLv2/v3 methods completely, so you will need to
switch to TLS.
8. Differences to OpenSSL
-------------------------
AmiSSL provides essentially the same functionality as OpenSSL, but there are a
few differences as a result of the Amiga shared library model and necessity to
support different compilers. Unlike AmiSSL v1, AmiSSL v3/v4/v5 uses
"#include <openssl/xxx.h>" scheme instead of "#include <amissl/xxx.h>" scheme.
This and some other changes should make it possible to compile most OpenSSL
programs out of the box.
The functions, e.g., BIO_set_fp(), BIO_get_fp() and BIO_new_fp() are not
available since they require a FILE * argument which is C runtime library
specific. However, there are replacement functions which have _amiga added to
their name and take a BPTR instead of FILE * argument. For example,
BIO_set_fp(bio_out, stdout, BIO_NOCLOSE) can be replaced by
BIO_set_fp_amiga(bio_out, Output(), BIO_NOCLOSE);
Also, all other stdio functions that have a FILE * argument are not available.
However, all these functions have an equivalent that accepts BIO * instead of
FILE * so these functions can be used instead. The simple sequence
<pre>
fp = fopen(file, mode);
openssl_func_fp(fp, ...);
fclose(fp)
</pre>
sequence can be replaced with the following:
<pre>
bio = BIO_new_file(file, mode);
openssl_func(bio, ...);
BIO_free(bio);
</pre>
In addition, AmiSSL adds several functions which deal with OpenSSL ciphers:
<pre>
const char *SSL_CIPHER_get_mac(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_encryption(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_authentication(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_key_exchange(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_export(SSL_CIPHER *cipher);
</pre>
These will return textual representation of requested cipher data. For example,
SSL_CIPHER_get_encryption() will return "AES(256)" when 256-bit AES cipher is
used.
9. Callback functions
---------------------
Some OpenSSL functions require you to pass your own callback function in as a
parameter. These functions will be called using default calling conventions
on OS3 and OS4. On OS3 this means AmiSSL will call your function with the
function arguments placed on the stack, whilst on OS4 they will be placed in
registers, as usual. If you have set your compiler to use a different
convention, be sure to define your callback function correctly. For example:
STDARGS SAVEDS int verify_cb(int preverify_ok, X509_STORE_CTX *ctx)
{
return preverify_ok;
}
SSL_CTX_set_verify(sslctx,SSL_VERIFY_PEER,verify_cb);
10. Stub functions
------------------
Sometimes it is necessary to pass an AmiSSL function as a function pointer
argument. Since AmiSSL functions are inside the library, it is not possible
directly. See the section about the libamisslstubs.a link library which aims to
solve this issue. However, if not using the link library, it is possible to
write your own stub function:
void NOSTACKCHECK /* STDARGS */ SAVEDS (ASN1_OBJECT_free)(ASN1_OBJECT *a)
{
ASN1_OBJECT_free(a);
}
In newly written code it is better to use a different name for the function,
but when working with already existing code it might be easier to use the same
name than to change many occurrences of f. ex. ASN1_OBJECT_free to f. ex.
ASN1_OBJECT_free_stub whenever ASN1_OBJECT_free is passed as a function
pointer.
==Issues==
11. VBCC issues
---------------
The OpenSSL header files rely on using and declaring static inline helper
functions. This means that lots of functions will be declared in every
module that you include the OpenSSL headers and probably most of them you
will not use or need. Most compilers remove these unused functions by
default and sometimes even with the optimiser completely disabled.
Unfortunately, VBCC is different and will only remove these functions if
you use -O3 when compiling. -O1 and -O2 will leave all the unused functions
in your code. If for some reason you do not wish to use -O3, you could try
-O=17375 or -O=17407. These are the equivalent of -O1 and -O2 respectively,
but with the required optimiser bit added to enable removal of the unused
functions. Alternatively, you may compile with -DAMISSL_NO_STATIC_FUNCTIONS,
which will stop all the affected functions from being declared in the first
place, but obviously you can only use this if your code is not using any of
these functions otherwise you will get errors when compiling.
12. SAS/C issues
----------------
You will need to add "PreprocessorBuffer=32768 IdentifierLength=80" to your
SC command line and have to take special care where 64-bit integers are
concerned. In particular, OPENSSL_init_ssl(), which you mignt not even be
calling directly, but is ultimately the end result of many of the macros for
older legacy SSL initialisation functions. Remember that for 64-bit
parameters, the high 32-bits are placed in D0 and the low 32-bits in D1. So,
you might want to use a workaround similar to this:
#define OPENSSL_init_ssl_32(opts, settings) \
(putreg(REG_D1,opts), OPENSSL_init_ssl(0, settings))
exqee7l2d2u9j87pfrxsujb8wa10zpf
4639953
4639952
2026-06-11T20:05:32Z
Jeff1138
301139
4639953
wikitext
text/x-wiki
{{ArosNav}}
==Introduction==
Work started on [https://github.com/jens-maus/amissl AmiSSL v5] aka port of OpenSSL 3.6 which contains developer files and example programs which should make
it possible to add AmiSSL support to client and server applications interested in providing SSL/TLS functionality to end users. This SDK release provides
include files for GCC and vbcc for OS3/m68k and OS4/PPC. Also, SAS/C is supported, but please see the end of this document for important information.
The information given here is mostly AmiSSL specific. For more information on OpenSSL programming, check the OpenSSL documentation and examples
(https://www.openssl.org/).
The AmiSSL v5 API is slightly different from previous versions and has been simplified. The procedure to use AmiSSL should be something like the following
pseudo-code:
<pre>
#include <proto/amisslmaster.h>
#include <proto/amissl.h>
#include <libraries/amisslmaster.h>
#include <libraries/amissl.h>
#include <amissl/amissl.h>
if((AmiSSLMasterBase = OpenLibrary("amisslmaster.library",
AMISSLMASTER_MIN_VERSION))
{
#if defined(__amigaos4__)
if(IAmiSSLMaster = (struct AmiSSLMasterIFace *)
GetInterface((struct Library *)AmiSSLMasterBase,
"main", 1, NULL))
{
if(OpenAmiSSLTags(AMISSL_CURRENT_VERSION,
AmiSSL_UsesOpenSSLStructs, TRUE or FALSE,
AmiSSL_GetIAmiSSL, &IAmiSSL,
AmiSSL_ISocket, ISocket,
AmiSSL_ErrNoPtr, &errno,
..., TAG_DONE) == 0)
{
CloseAmiSSL();
}
else printf("ERROR: Couldn't open AmiSSL!");
DropInterface((struct Interface *)IAmiSSLMaster);
}
else printf("ERROR: Couldn't obtain AmiSSLMaster interface!");
#else
if(OpenAmiSSLTags(AMISSL_CURRENT_VERSION,
AmiSSL_UsesOpenSSLStructs, TRUE or FALSE,
AmiSSL_GetAmiSSLBase, &AmiSSLBase,
AmiSSL_GetAmiSSLExtBase, &AmiSSLExtBase,
AmiSSL_SocketBase, SocketBase,
AmiSSL_ErrNoPtr, &errno,
..., TAG_DONE) == 0)
{
CloseAmiSSL();
}
else printf("ERROR: Couldn't open AmiSSL!");
#endif
CloseLibrary(AmiSSLMasterBase);
}
else printf("ERROR: Couldn't open amisslmaster.library!");
</pre>
The first step is to open amisslmaster.library requesting at least AMISSLMASTER_MIN_VERSION version (and, for OS4, call GetInterface() to get the
"main" interface and later DropInterface() in the cleanup phase).
Then amisslmaster.library/OpenAmiSSLTags() has to be called specifying which API version the program was compiled for and whether it uses OpenSSL structures
in some way (ie. if it accesses some of the fields directly and not through AmiSSL API or if it includes OpenSSL structures in its own structures - if
unsure, specify TRUE). It will return zero on success or a non-zero value on failure. See the autodocs for amisslmaster.library/OpenAmiSSLTags() and
amissl.library/InitAmiSSL() for currently available tags.
If you need to compile a program specifically for f. ex. OpenSSL 0.9.7g API, you need to use the SDK in which AMISSL_CURRENT_VERSION is AMISSL_V097g. If
you are, however, always using the latest AmiSSL SDK version you can keep using AMISSL_CURRENT_VERSION.
The use of amisslmaster.library makes it possible to have multiple versions of amissl.library with incompatible APIs installed keeping the programs compiled
with an older amissl.library working. This is necessary since OpenSSL API changes from time to time. Also, when a new version of AmiSSL is released with
amissl.library API that is backwards compatible to some previous version, a program requesting the old version of amissl.library will automatically get
the new version and the old version can be deleted.
3. Subprocesses
---------------
Note, that unlike in AmiSSL v1, AmiSSLBase can be shared between different subprocesses. Furthermore, this is encouraged since it allows the cache of
server certificates to be used by all subprocesses that share the same AmiSSL base resulting in speed increase. Each subprocess must call InitAmiSSL() with
appropriate arguments before using any other amissl.library calls and CleanupAmiSSL() before it exits. AmiSSL then ensures due to its baserel-based
environment that any opener receives an own baserel based library base.
==Examples==
The provided example, httpget.c, is an example of how to use the new OpenSSL 3.x built-in HTTP client functions. It shows how to retrieve a
document from a "http://" or "https://" server, with or without a password and how you can also use the URL parsing functions from OpenSSL 3.x.
<pre>
/***************************************************************************
AmiSSL - OpenSSL wrapper for AmigaOS-based systems
Copyright (c) 1999-2006 Andrija Antonijevic, Stefan Burstroem.
Copyright (c) 2006-2022 AmiSSL Open Source Team.
All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License in the file LICENSE in the
source distribution or at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
AmiSSL Official Support Site: https://github.com/jens-maus/amissl
***************************************************************************/
/*
* This example program demonstrates how to use the HTTP client function
* OSSL_HTTP_get() and URL parsing function OSSL_HTTP_parse_url(), which
* were newly introduced in OpenSSL 3.0 and AmiSSL v5.
*
* These allow any application to load http or https URLs completely
* within AmiSSL v5, without the need for any other external libraries,
* such as libcurl, or custom code. OSSL_HTTP_get() is the highest level
* function provided by the HTTP client, but you can have more control by
* using the lower level HTTP functions described in the OpenSSL manual at
* https://www.openssl.org/docs/man3.0/man3/OSSL_HTTP_get.html
*/
#if defined(__amigaos4__) && !defined(__USE_INLINE__)
# define __USE_INLINE__
#endif
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <proto/exec.h>
#include <proto/dos.h>
#include <proto/amissl.h>
#include <proto/amisslmaster.h>
#include <amissl/amissl.h>
#include <libraries/amisslmaster.h>
#include <libraries/amissl.h>
#if !defined(__amigaos4__)
# include <SDI_compiler.h>
#endif
const char stack_size[] = "$STACK:8192";
static SSL_CTX *Init(void);
static void Cleanup(SSL_CTX *ctx);
/* Check if URL is valid and extract any username/password
*/
BOOL IsSupportedURL(char *url, char **userinfo)
{
int ssl, portnum;
char *host, *port, *path, *query, *fragment;
/* You may wish to make use of OSSL_parse_url() which can be
* used to parse non-http(s) URLs too
*/
return OSSL_HTTP_parse_url(url, &ssl, userinfo, &host, &port,
&portnum, &path, &query, &fragment);
}
/* Required callback to enable HTTPS connection, when necessary
*/
SAVEDS STDARGS BIO *HTTP_TLS_cb(BIO *bio, void *arg, int connect, int detail)
{
if (connect && detail)
{
/* Connect with TLS */
BIO *sbio = BIO_new_ssl((SSL_CTX *)arg, 1);
bio = (sbio != NULL) ? BIO_push(sbio, bio) : NULL;
}
return bio;
}
/* Stub function used when freeing our stack of headers
*/
SAVEDS STDARGS void stub_X509V3_conf_free(CONF_VALUE *val)
{
X509V3_conf_free(val);
}
/* Read content from URL and dump to Output()
*/
BOOL GetURL(char *url, char *userinfo, SSL_CTX *sslctx)
{
STACK_OF(CONF_VALUE) *headers = NULL;
BIO *bio, *bio_err;
/* Add our own HTTP headers */
X509V3_add_value("User-Agent", "AmiSSL/5.1", &headers);
X509V3_add_value("Referer", "GetURL()", &headers);
if (userinfo)
{
/* Optionally specify username:password */
char auth[256] = "Basic ";
/* Base64 encode */
EVP_EncodeBlock((unsigned char *)&auth[6], (unsigned char *)userinfo, strlen(userinfo));
X509V3_add_value("Authorization", auth, &headers);
}
/* Initiate the request (supports redirection) */
if ((bio = OSSL_HTTP_get(url, NULL /* proxy */, NULL /* no_proxy */,
NULL /* bio */, NULL /* rbio */,
(BIO *(*)(BIO *, void *, int, int))HTTP_TLS_cb, sslctx,
0 /* buf_size */, headers,
NULL /* expected_content_type */, 0 /* expect_asn1 */,
0 /* max_resp_len */, 0 /* timeout */)) != NULL)
{
/* HTTP request succeeded */
char buffer[2048]; /* should really move this off the stack */
int length;
while ((length = BIO_read(bio, buffer, sizeof(buffer))) > 0)
{
FWrite(Output(), buffer, 1, length);
}
BIO_free(bio);
}
else if((bio_err = BIO_new(BIO_s_file())) != NULL)
{
/* HTTP request failed - try to show why */
BIO_set_fp_amiga(bio_err, Output(), BIO_NOCLOSE | BIO_FP_TEXT);
ERR_print_errors(bio_err);
BIO_free(bio_err);
}
/* Free our custom headers */
sk_CONF_VALUE_pop_free(headers,(void (*)(CONF_VALUE *))stub_X509V3_conf_free);
return (bio != NULL);
}
int main(int argc, char *argv[])
{
BOOL is_ok = FALSE;
SSL_CTX *sslctx = NULL;
char *userinfo = NULL;
if (argc > 1)
{
/* Open required OS libraries and initialize AmiSSL */
if ((sslctx = Init()) != NULL)
{
/* First check if URL is valid (optional) */
if (IsSupportedURL(argv[1], &userinfo))
{
/* Open the URL and dump the response to Output() */
is_ok = GetURL(argv[1], userinfo, sslctx);
}
else
Printf("Not a valid http or https URL\n");
}
/* Free resources */
Cleanup(sslctx);
}
else
Printf("Usage: %s [url] (http:// and https:// supported)\n", argv[0]);
return(is_ok ? RETURN_OK : RETURN_ERROR);
}
#if defined(USE_AUTOINIT)
/* Link with -lamisslauto
*/
LONG UsesOpenSSLStructs = FALSE;
static SSL_CTX *Init(void)
{
SSL_CTX *ctx;
if (!(ctx = SSL_CTX_new(TLS_client_method())))
Printf("Couldn't create SSL context!\n");
return ctx;
}
static void Cleanup(SSL_CTX *ctx)
{
SSL_CTX_free(ctx);
}
#else
struct Library *AmiSSLMasterBase, *SocketBase;
# if defined(__amigaos4__)
struct AmiSSLMasterIFace *IAmiSSLMaster;
struct AmiSSLIFace *IAmiSSL;
struct SocketIFace *ISocket;
# define GETINTERFACE(iface, base) (iface = (APTR)GetInterface((struct Library *)(base), "main", 1L, NULL))
# define DROPINTERFACE(iface) (DropInterface((struct Interface *)iface), iface = NULL)
# else
struct Library *AmiSSLBase, *AmiSSLExtBase;
# define GETINTERFACE(iface, base) TRUE
# define DROPINTERFACE(iface)
# endif
# define XMKSTR(x) #x
# define MKSTR(x) XMKSTR(x)
/* Open and initialize AmiSSL
*/
static SSL_CTX *Init(void)
{
SSL_CTX *ctx = NULL;
if (!(SocketBase = OpenLibrary("bsdsocket.library", 4)))
Printf("Couldn't open bsdsocket.library v4!\n");
else if (!GETINTERFACE(ISocket, SocketBase))
Printf("Couldn't get Socket interface!\n");
else if (!(AmiSSLMasterBase = OpenLibrary("amisslmaster.library",
AMISSLMASTER_MIN_VERSION)))
Printf("Couldn't open amisslmaster.library v"
MKSTR(AMISSLMASTER_MIN_VERSION) "!\n");
else if (!GETINTERFACE(IAmiSSLMaster, AmiSSLMasterBase))
Printf("Couldn't get AmiSSLMaster interface!\n");
# if defined(__amigaos4__)
else if (OpenAmiSSLTags(AMISSL_CURRENT_VERSION,
AmiSSL_UsesOpenSSLStructs, FALSE,
AmiSSL_GetIAmiSSL, &IAmiSSL,
AmiSSL_ISocket, ISocket,
AmiSSL_ErrNoPtr, &errno,
TAG_DONE) != 0)
# else
else if (OpenAmiSSLTags(AMISSL_CURRENT_VERSION,
AmiSSL_UsesOpenSSLStructs, FALSE,
AmiSSL_GetAmiSSLBase, &AmiSSLBase,
AmiSSL_GetAmiSSLExtBase, &AmiSSLExtBase,
AmiSSL_SocketBase, SocketBase,
AmiSSL_ErrNoPtr, &errno,
TAG_DONE) != 0)
# endif
Printf("Couldn't open and initialize AmiSSL!\n");
else if (!(ctx = SSL_CTX_new(TLS_client_method())))
Printf("Couldn't create SSL context!\n");
return ctx;
}
/* Close AmiSSL
*/
static void Cleanup(SSL_CTX *ctx)
{
# if defined(__amigaos4__)
if (IAmiSSL)
# else
if (AmiSSLBase)
# endif
{
SSL_CTX_free(ctx);
CloseAmiSSL();
}
DROPINTERFACE(IAmiSSLMaster);
CloseLibrary(AmiSSLMasterBase);
DROPINTERFACE(ISocket);
CloseLibrary(SocketBase);
}
#endif /* !USE_AUTOINIT */
</pre>
Another example, https.c, is a very simple client. It shows how to retrieve a document from a "https://" server, at a lower level, by connecting directly
to the site, and also by connecting through a proxy server (SSL tunneling).
<pre>
/***************************************************************************
AmiSSL - OpenSSL wrapper for AmigaOS-based systems
Copyright (c) 1999-2006 Andrija Antonijevic, Stefan Burstroem.
Copyright (c) 2006-2022 AmiSSL Open Source Team.
All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License in the file LICENSE in the
source distribution or at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
AmiSSL Official Support Site: https://github.com/jens-maus/amissl
***************************************************************************/
#if defined(__amigaos4__)
# ifndef __USE_INLINE__
# define __USE_INLINE__
# endif
# if defined(__VBCC__) && !defined(__USE_OLD_TIMEVAL__)
# define __USE_OLD_TIMEVAL__
# endif
#endif
#include <sys/socket.h>
#include <netdb.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <proto/exec.h>
#include <proto/dos.h>
#define __NOLIBBASE__
#include <proto/utility.h>
#undef __NOLIBBASE__
#include <proto/amissl.h>
#include <proto/amisslmaster.h>
#include <proto/socket.h>
#include <clib/alib_protos.h>
#include <utility/utility.h>
#include <amissl/amissl.h>
#include <libraries/amisslmaster.h>
#include <libraries/amissl.h>
const char stack_size[] = "$STACK:8192";
static BOOL Init(void);
static void Cleanup(void);
static void GenerateRandomSeed(char *buffer, int size);
static int ConnectToServer(char *, short, char *, short);
static int verify_cb(int preverify_ok, X509_STORE_CTX *ctx);
struct Library *AmiSSLMasterBase, *AmiSSLBase, *SocketBase, *UtilityBase;
BOOL AmiSSLInitialized;
#if defined(__amigaos4__)
struct AmiSSLMasterIFace *IAmiSSLMaster;
struct AmiSSLIFace *IAmiSSL;
struct SocketIFace *ISocket;
struct UtilityIFace *IUtility;
#else
static BPTR ErrorOutput(void)
{
return(((struct Process *)FindTask(NULL))->pr_CES);
}
#define FFlush(x) Flush(x)
#endif /* !__amigaos4__ */
static BPTR GetStdErr(void)
{
BPTR err = ErrorOutput();
return(err ? err : Output());
}
/* Usage: https <host> <port> [proxyhost] [proxyport]
*
* host: name of host (default: "localhost")
* port: port to connect to (default: 443)
* proxyhost: name of proxy (optional)
* proxyport: name of proxy (optional)
*
* If any proxy parameter is omitted, the program will
* connect directly to the host.
*/
int main(int argc, char *argv[])
{
char buffer[4096]; /* This should be dynamically allocated */
BOOL is_ok = FALSE;
X509 *server_cert;
SSL_CTX *ctx;
BIO *bio_err;
SSL *ssl;
if (Init()) /* Open required OS libraries and initialize AmiSSL */
{
/* Basic intialization. Next few steps (up to SSL_new()) need
* to be done only once per AmiSSL opener.
*/
OPENSSL_init_ssl(OPENSSL_INIT_SSL_DEFAULT | OPENSSL_INIT_ADD_ALL_CIPHERS | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL);
/* Seed the entropy engine */
GenerateRandomSeed(buffer, 128);
RAND_seed(buffer, 128);
/* Note: BIO writing routines are prepared for NULL BIO handle */
if((bio_err = BIO_new(BIO_s_file())) != NULL)
BIO_set_fp_amiga(bio_err, GetStdErr(), BIO_NOCLOSE | BIO_FP_TEXT);
/* Get a new SSL context */
if((ctx = SSL_CTX_new(TLS_client_method())) != NULL)
{
/* Basic certificate handling. OpenSSL documentation has more
* information on this.
*/
SSL_CTX_set_default_verify_paths(ctx);
SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT,
verify_cb);
/* The following needs to be done once per socket */
if((ssl = SSL_new(ctx)) != NULL)
{
int sock;
int port, pport;
char *host, *proxy;
/* Connect to the HTTPS server, directly or through a proxy */
host = (argc > 1) ? argv[1] : (char *)"localhost";
port = (argc > 2) ? atol(argv[2]) : 443;
proxy = (argc > 3) ? argv[3] : NULL;
pport = (argc > 4) ? atol(argv[4]) : 0;
sock = ConnectToServer(host, port, proxy, pport);
/* Check if connection was established */
if (sock >= 0)
{
int ssl_err = 0;
/* Associate the socket with the ssl structure */
SSL_set_fd(ssl, sock);
/* Set up SNI (Server Name Indication) */
SSL_set_tlsext_host_name(ssl, host);
/* Perform SSL handshake */
if((ssl_err = SSL_connect(ssl)) >= 0)
{
Printf("SSL connection using %s\n", SSL_get_cipher(ssl));
/* Certificate checking. This example is *very* basic */
if((server_cert = SSL_get_peer_certificate(ssl)))
{
char *str;
Printf("Server certificate:\n");
if((str = X509_NAME_oneline(X509_get_subject_name(server_cert), 0, 0)))
{
Printf("\tSubject: %s\n", str);
OPENSSL_free(str);
}
else
FPrintf(GetStdErr(), "Warning: couldn't read subject name in certificate!\n");
if((str = X509_NAME_oneline(X509_get_issuer_name(server_cert),
0, 0)) != NULL)
{
Printf("\tIssuer: %s\n", str);
OPENSSL_free(str);
}
else
FPrintf(GetStdErr(), "Warning: couldn't read issuer name in certificate!\n");
X509_free(server_cert);
/* Send a HTTP request. Again, this is just
* a very basic example.
*/
sprintf(buffer,"GET / HTTP/1.0\r\nHost: %s\r\n\r\n",host);
if ((ssl_err = SSL_write(ssl, buffer, strlen(buffer)))
> 0)
{
/* Dump everything to output */
while ((ssl_err = SSL_read(ssl, buffer,
sizeof(buffer) - 1))
> 0)
FWrite(Output(), buffer, ssl_err, 1);
FFlush(Output());
/* This is not entirely true, check
* the SSL_read documentation
*/
is_ok = ssl_err == 0;
}
else
FPrintf(GetStdErr(), "Couldn't write request!\n");
}
else
FPrintf(GetStdErr(), "Couldn't get server certificate!\n");
/* Send SSL close notification */
SSL_shutdown(ssl);
}
else
FPrintf(GetStdErr(), "Couldn't establish SSL connection!\n");
/* If there were errors, print them */
if (ssl_err < 0)
ERR_print_errors(bio_err);
/* Close the socket */
CloseSocket(sock);
}
else
FPrintf(GetStdErr(), "Couldn't connect to host!\n");
FPrintf(GetStdErr(), "before SSL_free()\n");
SSL_free(ssl);
}
else
FPrintf(GetStdErr(), "Couldn't create new SSL handle!\n");
FPrintf(GetStdErr(), "before SSL_CTX_free()\n");
SSL_CTX_free(ctx);
}
else
FPrintf(GetStdErr(), "Couldn't create new context!\n");
BIO_free(bio_err);
FPrintf(GetStdErr(), "before Cleanup()\n");
Cleanup();
}
FPrintf(GetStdErr(), "before end of main()\n");
return(is_ok ? RETURN_OK : RETURN_ERROR);
}
#define XMKSTR(x) #x
#define MKSTR(x) XMKSTR(x)
#if defined(__amigaos4__)
#define GETINTERFACE(iface, base) (iface = (APTR)GetInterface((struct Library *)(base), "main", 1L, NULL))
#define DROPINTERFACE(iface) (DropInterface((struct Interface *)iface), iface = NULL)
#else
#define GETINTERFACE(iface, base) TRUE
#define DROPINTERFACE(iface)
#endif
/* Open and initialize AmiSSL */
static BOOL Init(void)
{
AmiSSLInitialized = FALSE;
if (!(UtilityBase = OpenLibrary("utility.library", 0)))
FPrintf(GetStdErr(), "Couldn't open utility.library!\n");
else if (!GETINTERFACE(IUtility, UtilityBase))
FPrintf(GetStdErr(), "Couldn't get Socket interface!\n");
else if (!(SocketBase = OpenLibrary("bsdsocket.library", 4)))
FPrintf(GetStdErr(), "Couldn't open bsdsocket.library v4!\n");
else if (!GETINTERFACE(ISocket, SocketBase))
FPrintf(GetStdErr(), "Couldn't get Socket interface!\n");
else if (!(AmiSSLMasterBase = OpenLibrary("amisslmaster.library",
AMISSLMASTER_MIN_VERSION)))
FPrintf(GetStdErr(), "Couldn't open amisslmaster.library v"
MKSTR(AMISSLMASTER_MIN_VERSION) "!\n");
else if (!GETINTERFACE(IAmiSSLMaster, AmiSSLMasterBase))
FPrintf(GetStdErr(), "Couldn't get AmiSSLMaster interface!\n");
else if (!InitAmiSSLMaster(AMISSL_CURRENT_VERSION, TRUE))
FPrintf(GetStdErr(), "AmiSSL version is too old!\n");
else if (!(AmiSSLBase = OpenAmiSSL()))
FPrintf(GetStdErr(), "Couldn't open AmiSSL!\n");
else if (!GETINTERFACE(IAmiSSL, AmiSSLBase))
FPrintf(GetStdErr(), "Couldn't get AmiSSL interface!\n");
#if defined(__amigaos4__)
else if (InitAmiSSL(AmiSSL_ErrNoPtr, &errno,
AmiSSL_ISocket, ISocket,
TAG_DONE) != 0)
#else
else if (InitAmiSSL(AmiSSL_ErrNoPtr, &errno,
AmiSSL_SocketBase, SocketBase,
TAG_DONE) != 0)
#endif
FPrintf(GetStdErr(), "Couldn't initialize AmiSSL!\n");
else
AmiSSLInitialized = TRUE;
if (!AmiSSLInitialized)
Cleanup(); /* This is safe to call even if something failed above */
return(AmiSSLInitialized);
}
static void Cleanup(void)
{
if (AmiSSLInitialized)
{ /* Must always call after successful InitAmiSSL() */
CleanupAmiSSLA(NULL);
}
if (AmiSSLBase)
{
DROPINTERFACE(IAmiSSL);
CloseAmiSSL();
AmiSSLBase = NULL;
}
DROPINTERFACE(IAmiSSLMaster);
CloseLibrary(AmiSSLMasterBase);
AmiSSLMasterBase = NULL;
DROPINTERFACE(ISocket);
CloseLibrary(SocketBase);
SocketBase = NULL;
DROPINTERFACE(IUtility);
CloseLibrary(UtilityBase);
UtilityBase = NULL;
}
/* Get some suitable random seed data
*/
static void GenerateRandomSeed(char *buffer, int size)
{
int i;
#ifdef __amigaos4__
struct RandomState rs;
rs.rs_Low = clock();
rs.rs_High = time(NULL);
for(i = 0; i < size/4; i++)
{
((LONG *)buffer)[i] = Random(&rs);
}
#else
for(i = 0; i < size/2; i++)
{
((UWORD *)buffer)[i] = RangeRand(65535);
}
#endif
}
/* This callback is called everytime OpenSSL verifies a certificate
* in the chain during a connection, indicating success or failure.
*/
static int verify_cb(int preverify_ok, X509_STORE_CTX *ctx)
{
if (!preverify_ok)
{
/* Here, you could ask the user whether to ignore the failure,
* displaying information from the certificate, for example.
*/
FPrintf(GetStdErr(),"Certificate verification failed (%s)\n",
X509_verify_cert_error_string(X509_STORE_CTX_get_error(ctx)));
}
else
{
FPrintf(GetStdErr(),"Certificate verification successful (hash %08lx)\n",
X509_issuer_and_serial_hash(X509_STORE_CTX_get_current_cert(ctx)));
}
return preverify_ok;
}
/* Connect to the specified server, either directly or through the specified
* proxy using HTTP CONNECT method.
*/
static int ConnectToServer(char *host, short port, char *proxy, short pport)
{
struct sockaddr_in addr;
struct hostent *hostent;
char buffer[1024]; /* This should be dynamically alocated */
BOOL is_ok = FALSE;
char *s1, *s2;
int sock = -1;
/* Lookup hostname */
if ((hostent = gethostbyname((proxy && pport) ? proxy : host)) != NULL)
{
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons((proxy && pport) ? pport : port);
addr.sin_len = hostent->h_length;;
memcpy(&addr.sin_addr,hostent->h_addr,hostent->h_length);
}
else
FPrintf(GetStdErr(), "Host lookup failed\n");
/* Create a socket and connect to the server */
if (hostent && ((sock = socket(AF_INET, SOCK_STREAM, 0)) >= 0))
{
if (connect(sock, (struct sockaddr *)&addr, sizeof(addr)) >= 0)
{
/* For proxy connection, use SSL tunneling. First issue a HTTP CONNECT
* request and then proceed as with direct HTTPS connection.
*/
if (proxy && pport)
{
/* This should be done with snprintf to prevent buffer
* overflows, but some compilers don't have it and
* handling that would be an overkill for this example
*/
sprintf(buffer, "CONNECT %s:%ld HTTP/1.0\r\n\r\n",
host, (long)port);
/* In a real application, it would be necessary to loop
* until everything is sent or an error occurrs, but here we
* hope that everything gets sent at once.
*/
if (send(sock, buffer, strlen(buffer), 0) >= 0)
{
int len;
/* Again, some optimistic behaviour: HTTP response might not be
* received with only one recv
*/
if ((len = recv(sock, buffer, sizeof(buffer) - 1, 0)) >= 0)
{
/* Assuming it was received, find the end of
* the line and cut it off
*/
if ((s1 = strchr(buffer, '\r'))
|| (s1 = strchr(buffer, '\n')))
*s1 = '\0';
else
buffer[len] = '\0';
Printf("Proxy returned: %s\n", buffer);
/* Check if HTTP response makes sense */
if (strncmp(buffer, "HTTP/", 4) == 0
&& (s1 = strchr(buffer, ' '))
&& (s2 = strchr(++s1, ' '))
&& (s2 - s1 == 3))
{
/* Only accept HTTP 200 OK response */
if (atol(s1) == 200)
is_ok = TRUE;
else
FPrintf(GetStdErr(), "Proxy responce indicates error!\n");
}
else
FPrintf(GetStdErr(), "Amibigous proxy responce!\n");
}
else
FPrintf(GetStdErr(), "Couldn't get proxy response!\n");
}
else
FPrintf(GetStdErr(), "Couldn't send request to proxy!\n");
}
else
is_ok = TRUE;
}
else
FPrintf(GetStdErr(), "Couldn't connect to server\n");
if (!is_ok)
{
CloseSocket(sock);
sock = -1;
}
}
return(sock);
}
</pre>
==Reference==
5. Link libraries
-----------------
The following optional link libraries are supplied, for GCC on OS3/OS4 and vbcc on OS4:
- libamisslauto.a (link with -lamisslauto)
As per the standard libauto, automatically open and set up AmiSSL, without
having to worry about the initialisation code yourself. You may also compile
your own link library for a different compiler from lib/autoinit_amissl_main.c
which can be compiled with VBCC, SAS/C and GCC.
- libamisslstubs.a (link with -lamisslstubs)
Some OpenSSL functions take a pointer to another OpenSSL function as a
parameter. This becomes a problem when using standard AmigaOS library inlines,
usually causing undefined reference errors (e.g. X509_free) when linking. You
can either create your own stub functions to resolve this, which simply call
the AmiSSL functions, but for convenience you can instead link with this
library which contains stubs for all OpenSSL functions. If you wish to create
this library for a different compiler, the stubs source code can be created
on OS4 using "idltool -L amissl.xml" or on OS3 from the sfd file using tools
such as sfdc, sfd or fd2pragma.
6. Migration from AmiSSL v4
---------------------------
AmiSSL v4 is OpenSSL 1.1.x based, whilst AmiSSL v5 uses OpenSSL 3.x, but
fortunately you will not usually need to make any changes to your code, as most
things are actually backwards compatible (most functions that have been removed
or changed will be replaced by macros in the OpenSSL header files). However, we
encourage developers to use the new OpenAmiSSLTags() function, in place of
InitAmiSSLMaster(), OpenAmiSSL() and InitAmiSSL() (these functions will still
continue to operate as before). Details of OpenSSL changes are available at
https://www.openssl.org/docs/manmaster/man7/migration_guide.html and with
GCC you will receive warnings if you use any deprecated functions.
Due to the shear amount of OpenSSL 3.x API functions available, we had to split
them across two library bases on OS3 which meant the addition of AmiSSLExtBase.
AmiSSLExtBase can be obtained using the AmiSSL_GetAmiSSLExtBase tag in
OpenAmiSSLTags() (or alternatively, in InitAmiSSL() if you wish to keep using
the old functions). This does not apply to OS4, where there is one single
interface as before.
The procedure for subprocesses remains unchanged - they must continue to call
InitAmiSSL() and CleanupAmiSSL() if sharing the AmiSSL instance from the parent
task where OpenAmiSSLTags() was called.
7. Migration from AmiSSL v3
---------------------------
AmiSSL v3 is OpenSSL 0.9.x based and there were many fundamental changes in
AmiSSL v4 due to the switch to OpenSSL 1.1.x. Although there were no changes in
the AmiSSL API itself, there were lots of important changes in the OpenSSL API.
Rather than simply recompiling, depending on how heavy your OpenSSL usage is,
you may well need to make changes to your code. For example, many public
structures that were defined in the header files have now been made private.
Rather than allocating them yourself, or putting them on the stack, you will
need to use the provided new functions to obtain, access and modify these
structures. We also dropped SSLv2/v3 methods completely, so you will need to
switch to TLS.
8. Differences to OpenSSL
-------------------------
AmiSSL provides essentially the same functionality as OpenSSL, but there are a
few differences as a result of the Amiga shared library model and necessity to
support different compilers. Unlike AmiSSL v1, AmiSSL v3/v4/v5 uses
"#include <openssl/xxx.h>" scheme instead of "#include <amissl/xxx.h>" scheme.
This and some other changes should make it possible to compile most OpenSSL
programs out of the box.
The functions, e.g., BIO_set_fp(), BIO_get_fp() and BIO_new_fp() are not
available since they require a FILE * argument which is C runtime library
specific. However, there are replacement functions which have _amiga added to
their name and take a BPTR instead of FILE * argument. For example,
BIO_set_fp(bio_out, stdout, BIO_NOCLOSE) can be replaced by
BIO_set_fp_amiga(bio_out, Output(), BIO_NOCLOSE);
Also, all other stdio functions that have a FILE * argument are not available.
However, all these functions have an equivalent that accepts BIO * instead of
FILE * so these functions can be used instead. The simple sequence
<pre>
fp = fopen(file, mode);
openssl_func_fp(fp, ...);
fclose(fp)
</pre>
sequence can be replaced with the following:
<pre>
bio = BIO_new_file(file, mode);
openssl_func(bio, ...);
BIO_free(bio);
</pre>
In addition, AmiSSL adds several functions which deal with OpenSSL ciphers:
<pre>
const char *SSL_CIPHER_get_mac(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_encryption(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_authentication(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_key_exchange(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_export(SSL_CIPHER *cipher);
</pre>
These will return textual representation of requested cipher data. For example,
SSL_CIPHER_get_encryption() will return "AES(256)" when 256-bit AES cipher is
used.
9. Callback functions
---------------------
Some OpenSSL functions require you to pass your own callback function in as a
parameter. These functions will be called using default calling conventions
on OS3 and OS4. On OS3 this means AmiSSL will call your function with the
function arguments placed on the stack, whilst on OS4 they will be placed in
registers, as usual. If you have set your compiler to use a different
convention, be sure to define your callback function correctly. For example:
STDARGS SAVEDS int verify_cb(int preverify_ok, X509_STORE_CTX *ctx)
{
return preverify_ok;
}
SSL_CTX_set_verify(sslctx,SSL_VERIFY_PEER,verify_cb);
10. Stub functions
------------------
Sometimes it is necessary to pass an AmiSSL function as a function pointer
argument. Since AmiSSL functions are inside the library, it is not possible
directly. See the section about the libamisslstubs.a link library which aims to
solve this issue. However, if not using the link library, it is possible to
write your own stub function:
void NOSTACKCHECK /* STDARGS */ SAVEDS (ASN1_OBJECT_free)(ASN1_OBJECT *a)
{
ASN1_OBJECT_free(a);
}
In newly written code it is better to use a different name for the function,
but when working with already existing code it might be easier to use the same
name than to change many occurrences of f. ex. ASN1_OBJECT_free to f. ex.
ASN1_OBJECT_free_stub whenever ASN1_OBJECT_free is passed as a function
pointer.
==Issues==
11. VBCC issues
---------------
The OpenSSL header files rely on using and declaring static inline helper
functions. This means that lots of functions will be declared in every
module that you include the OpenSSL headers and probably most of them you
will not use or need. Most compilers remove these unused functions by
default and sometimes even with the optimiser completely disabled.
Unfortunately, VBCC is different and will only remove these functions if
you use -O3 when compiling. -O1 and -O2 will leave all the unused functions
in your code. If for some reason you do not wish to use -O3, you could try
-O=17375 or -O=17407. These are the equivalent of -O1 and -O2 respectively,
but with the required optimiser bit added to enable removal of the unused
functions. Alternatively, you may compile with -DAMISSL_NO_STATIC_FUNCTIONS,
which will stop all the affected functions from being declared in the first
place, but obviously you can only use this if your code is not using any of
these functions otherwise you will get errors when compiling.
12. SAS/C issues
----------------
You will need to add "PreprocessorBuffer=32768 IdentifierLength=80" to your
SC command line and have to take special care where 64-bit integers are
concerned. In particular, OPENSSL_init_ssl(), which you mignt not even be
calling directly, but is ultimately the end result of many of the macros for
older legacy SSL initialisation functions. Remember that for 64-bit
parameters, the high 32-bits are placed in D0 and the low 32-bits in D1. So,
you might want to use a workaround similar to this:
<pre>
#define OPENSSL_init_ssl_32(opts, settings) \
(putreg(REG_D1,opts), OPENSSL_init_ssl(0, settings))
</pre>
9rwhn3326misaca6hed2bhfr4z1nkzn
4639992
4639953
2026-06-12T06:43:22Z
Jeff1138
301139
4639992
wikitext
text/x-wiki
{{ArosNav}}
==Introduction==
Work started on [https://github.com/jens-maus/amissl AmiSSL v5] aka port of OpenSSL 3.6 which contains developer files and example programs which should make
it possible to add AmiSSL support to client and server applications interested in providing SSL/TLS functionality to end users. This SDK release provides
include files for GCC and vbcc for OS3/m68k and OS4/PPC. Also, SAS/C is supported, but please see the end of this document for important information.
The information given here is mostly AmiSSL specific. For more information on OpenSSL programming, check the OpenSSL documentation and examples
(https://www.openssl.org/).
The AmiSSL v5 API is slightly different from previous versions and has been simplified. The procedure to use AmiSSL should be something like the following
pseudo-code:
<pre>
#include <proto/amisslmaster.h>
#include <proto/amissl.h>
#include <libraries/amisslmaster.h>
#include <libraries/amissl.h>
#include <amissl/amissl.h>
if((AmiSSLMasterBase = OpenLibrary("amisslmaster.library",
AMISSLMASTER_MIN_VERSION))
{
#if defined(__amigaos4__)
if(IAmiSSLMaster = (struct AmiSSLMasterIFace *)
GetInterface((struct Library *)AmiSSLMasterBase,
"main", 1, NULL))
{
if(OpenAmiSSLTags(AMISSL_CURRENT_VERSION,
AmiSSL_UsesOpenSSLStructs, TRUE or FALSE,
AmiSSL_GetIAmiSSL, &IAmiSSL,
AmiSSL_ISocket, ISocket,
AmiSSL_ErrNoPtr, &errno,
..., TAG_DONE) == 0)
{
CloseAmiSSL();
}
else printf("ERROR: Couldn't open AmiSSL!");
DropInterface((struct Interface *)IAmiSSLMaster);
}
else printf("ERROR: Couldn't obtain AmiSSLMaster interface!");
#else
if(OpenAmiSSLTags(AMISSL_CURRENT_VERSION,
AmiSSL_UsesOpenSSLStructs, TRUE or FALSE,
AmiSSL_GetAmiSSLBase, &AmiSSLBase,
AmiSSL_GetAmiSSLExtBase, &AmiSSLExtBase,
AmiSSL_SocketBase, SocketBase,
AmiSSL_ErrNoPtr, &errno,
..., TAG_DONE) == 0)
{
CloseAmiSSL();
}
else printf("ERROR: Couldn't open AmiSSL!");
#endif
CloseLibrary(AmiSSLMasterBase);
}
else printf("ERROR: Couldn't open amisslmaster.library!");
</pre>
The first step is to open amisslmaster.library requesting at least AMISSLMASTER_MIN_VERSION version (and, for OS4, call GetInterface() to get the
"main" interface and later DropInterface() in the cleanup phase).
Then amisslmaster.library/OpenAmiSSLTags() has to be called specifying which API version the program was compiled for and whether it uses OpenSSL structures
in some way (ie. if it accesses some of the fields directly and not through AmiSSL API or if it includes OpenSSL structures in its own structures - if
unsure, specify TRUE). It will return zero on success or a non-zero value on failure. See the autodocs for amisslmaster.library/OpenAmiSSLTags() and
amissl.library/InitAmiSSL() for currently available tags.
If you need to compile a program specifically for f. ex. OpenSSL 0.9.7g API, you need to use the SDK in which AMISSL_CURRENT_VERSION is AMISSL_V097g. If
you are, however, always using the latest AmiSSL SDK version you can keep using AMISSL_CURRENT_VERSION.
The use of amisslmaster.library makes it possible to have multiple versions of amissl.library with incompatible APIs installed keeping the programs compiled
with an older amissl.library working. This is necessary since OpenSSL API changes from time to time. Also, when a new version of AmiSSL is released with
amissl.library API that is backwards compatible to some previous version, a program requesting the old version of amissl.library will automatically get
the new version and the old version can be deleted.
3. Subprocesses
---------------
Note, that unlike in AmiSSL v1, AmiSSLBase can be shared between different subprocesses. Furthermore, this is encouraged since it allows the cache of
server certificates to be used by all subprocesses that share the same AmiSSL base resulting in speed increase. Each subprocess must call InitAmiSSL() with
appropriate arguments before using any other amissl.library calls and CleanupAmiSSL() before it exits. AmiSSL then ensures due to its baserel-based
environment that any opener receives an own baserel based library base.
==Examples==
The provided example, httpget.c, is an example of how to use the new OpenSSL 3.x built-in HTTP client functions. It shows how to retrieve a
document from a "http://" or "https://" server, with or without a password and how you can also use the URL parsing functions from OpenSSL 3.x.
<pre>
/***************************************************************************
AmiSSL - OpenSSL wrapper for AmigaOS-based systems
Copyright (c) 1999-2006 Andrija Antonijevic, Stefan Burstroem.
Copyright (c) 2006-2022 AmiSSL Open Source Team.
All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License in the file LICENSE in the
source distribution or at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
AmiSSL Official Support Site: https://github.com/jens-maus/amissl
***************************************************************************/
/*
* This example program demonstrates how to use the HTTP client function
* OSSL_HTTP_get() and URL parsing function OSSL_HTTP_parse_url(), which
* were newly introduced in OpenSSL 3.0 and AmiSSL v5.
*
* These allow any application to load http or https URLs completely
* within AmiSSL v5, without the need for any other external libraries,
* such as libcurl, or custom code. OSSL_HTTP_get() is the highest level
* function provided by the HTTP client, but you can have more control by
* using the lower level HTTP functions described in the OpenSSL manual at
* https://www.openssl.org/docs/man3.0/man3/OSSL_HTTP_get.html
*/
#if defined(__amigaos4__) && !defined(__USE_INLINE__)
# define __USE_INLINE__
#endif
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <proto/exec.h>
#include <proto/dos.h>
#include <proto/amissl.h>
#include <proto/amisslmaster.h>
#include <amissl/amissl.h>
#include <libraries/amisslmaster.h>
#include <libraries/amissl.h>
#if !defined(__amigaos4__)
# include <SDI_compiler.h>
#endif
const char stack_size[] = "$STACK:8192";
static SSL_CTX *Init(void);
static void Cleanup(SSL_CTX *ctx);
/* Check if URL is valid and extract any username/password
*/
BOOL IsSupportedURL(char *url, char **userinfo)
{
int ssl, portnum;
char *host, *port, *path, *query, *fragment;
/* You may wish to make use of OSSL_parse_url() which can be
* used to parse non-http(s) URLs too
*/
return OSSL_HTTP_parse_url(url, &ssl, userinfo, &host, &port,
&portnum, &path, &query, &fragment);
}
/* Required callback to enable HTTPS connection, when necessary
*/
SAVEDS STDARGS BIO *HTTP_TLS_cb(BIO *bio, void *arg, int connect, int detail)
{
if (connect && detail)
{
/* Connect with TLS */
BIO *sbio = BIO_new_ssl((SSL_CTX *)arg, 1);
bio = (sbio != NULL) ? BIO_push(sbio, bio) : NULL;
}
return bio;
}
/* Stub function used when freeing our stack of headers
*/
SAVEDS STDARGS void stub_X509V3_conf_free(CONF_VALUE *val)
{
X509V3_conf_free(val);
}
/* Read content from URL and dump to Output()
*/
BOOL GetURL(char *url, char *userinfo, SSL_CTX *sslctx)
{
STACK_OF(CONF_VALUE) *headers = NULL;
BIO *bio, *bio_err;
/* Add our own HTTP headers */
X509V3_add_value("User-Agent", "AmiSSL/5.1", &headers);
X509V3_add_value("Referer", "GetURL()", &headers);
if (userinfo)
{
/* Optionally specify username:password */
char auth[256] = "Basic ";
/* Base64 encode */
EVP_EncodeBlock((unsigned char *)&auth[6], (unsigned char *)userinfo, strlen(userinfo));
X509V3_add_value("Authorization", auth, &headers);
}
/* Initiate the request (supports redirection) */
if ((bio = OSSL_HTTP_get(url, NULL /* proxy */, NULL /* no_proxy */,
NULL /* bio */, NULL /* rbio */,
(BIO *(*)(BIO *, void *, int, int))HTTP_TLS_cb, sslctx,
0 /* buf_size */, headers,
NULL /* expected_content_type */, 0 /* expect_asn1 */,
0 /* max_resp_len */, 0 /* timeout */)) != NULL)
{
/* HTTP request succeeded */
char buffer[2048]; /* should really move this off the stack */
int length;
while ((length = BIO_read(bio, buffer, sizeof(buffer))) > 0)
{
FWrite(Output(), buffer, 1, length);
}
BIO_free(bio);
}
else if((bio_err = BIO_new(BIO_s_file())) != NULL)
{
/* HTTP request failed - try to show why */
BIO_set_fp_amiga(bio_err, Output(), BIO_NOCLOSE | BIO_FP_TEXT);
ERR_print_errors(bio_err);
BIO_free(bio_err);
}
/* Free our custom headers */
sk_CONF_VALUE_pop_free(headers,(void (*)(CONF_VALUE *))stub_X509V3_conf_free);
return (bio != NULL);
}
int main(int argc, char *argv[])
{
BOOL is_ok = FALSE;
SSL_CTX *sslctx = NULL;
char *userinfo = NULL;
if (argc > 1)
{
/* Open required OS libraries and initialize AmiSSL */
if ((sslctx = Init()) != NULL)
{
/* First check if URL is valid (optional) */
if (IsSupportedURL(argv[1], &userinfo))
{
/* Open the URL and dump the response to Output() */
is_ok = GetURL(argv[1], userinfo, sslctx);
}
else
Printf("Not a valid http or https URL\n");
}
/* Free resources */
Cleanup(sslctx);
}
else
Printf("Usage: %s [url] (http:// and https:// supported)\n", argv[0]);
return(is_ok ? RETURN_OK : RETURN_ERROR);
}
#if defined(USE_AUTOINIT)
/* Link with -lamisslauto
*/
LONG UsesOpenSSLStructs = FALSE;
static SSL_CTX *Init(void)
{
SSL_CTX *ctx;
if (!(ctx = SSL_CTX_new(TLS_client_method())))
Printf("Couldn't create SSL context!\n");
return ctx;
}
static void Cleanup(SSL_CTX *ctx)
{
SSL_CTX_free(ctx);
}
#else
struct Library *AmiSSLMasterBase, *SocketBase;
# if defined(__amigaos4__)
struct AmiSSLMasterIFace *IAmiSSLMaster;
struct AmiSSLIFace *IAmiSSL;
struct SocketIFace *ISocket;
# define GETINTERFACE(iface, base) (iface = (APTR)GetInterface((struct Library *)(base), "main", 1L, NULL))
# define DROPINTERFACE(iface) (DropInterface((struct Interface *)iface), iface = NULL)
# else
struct Library *AmiSSLBase, *AmiSSLExtBase;
# define GETINTERFACE(iface, base) TRUE
# define DROPINTERFACE(iface)
# endif
# define XMKSTR(x) #x
# define MKSTR(x) XMKSTR(x)
/* Open and initialize AmiSSL
*/
static SSL_CTX *Init(void)
{
SSL_CTX *ctx = NULL;
if (!(SocketBase = OpenLibrary("bsdsocket.library", 4)))
Printf("Couldn't open bsdsocket.library v4!\n");
else if (!GETINTERFACE(ISocket, SocketBase))
Printf("Couldn't get Socket interface!\n");
else if (!(AmiSSLMasterBase = OpenLibrary("amisslmaster.library",
AMISSLMASTER_MIN_VERSION)))
Printf("Couldn't open amisslmaster.library v"
MKSTR(AMISSLMASTER_MIN_VERSION) "!\n");
else if (!GETINTERFACE(IAmiSSLMaster, AmiSSLMasterBase))
Printf("Couldn't get AmiSSLMaster interface!\n");
# if defined(__amigaos4__)
else if (OpenAmiSSLTags(AMISSL_CURRENT_VERSION,
AmiSSL_UsesOpenSSLStructs, FALSE,
AmiSSL_GetIAmiSSL, &IAmiSSL,
AmiSSL_ISocket, ISocket,
AmiSSL_ErrNoPtr, &errno,
TAG_DONE) != 0)
# else
else if (OpenAmiSSLTags(AMISSL_CURRENT_VERSION,
AmiSSL_UsesOpenSSLStructs, FALSE,
AmiSSL_GetAmiSSLBase, &AmiSSLBase,
AmiSSL_GetAmiSSLExtBase, &AmiSSLExtBase,
AmiSSL_SocketBase, SocketBase,
AmiSSL_ErrNoPtr, &errno,
TAG_DONE) != 0)
# endif
Printf("Couldn't open and initialize AmiSSL!\n");
else if (!(ctx = SSL_CTX_new(TLS_client_method())))
Printf("Couldn't create SSL context!\n");
return ctx;
}
/* Close AmiSSL
*/
static void Cleanup(SSL_CTX *ctx)
{
# if defined(__amigaos4__)
if (IAmiSSL)
# else
if (AmiSSLBase)
# endif
{
SSL_CTX_free(ctx);
CloseAmiSSL();
}
DROPINTERFACE(IAmiSSLMaster);
CloseLibrary(AmiSSLMasterBase);
DROPINTERFACE(ISocket);
CloseLibrary(SocketBase);
}
#endif /* !USE_AUTOINIT */
</pre>
Another example, https.c, is a very simple client. It shows how to retrieve a document from a "https://" server, at a lower level, by connecting directly
to the site, and also by connecting through a proxy server (SSL tunneling).
<pre>
/***************************************************************************
AmiSSL - OpenSSL wrapper for AmigaOS-based systems
Copyright (c) 1999-2006 Andrija Antonijevic, Stefan Burstroem.
Copyright (c) 2006-2022 AmiSSL Open Source Team.
All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License in the file LICENSE in the
source distribution or at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
AmiSSL Official Support Site: https://github.com/jens-maus/amissl
***************************************************************************/
#if defined(__amigaos4__)
# ifndef __USE_INLINE__
# define __USE_INLINE__
# endif
# if defined(__VBCC__) && !defined(__USE_OLD_TIMEVAL__)
# define __USE_OLD_TIMEVAL__
# endif
#endif
#include <sys/socket.h>
#include <netdb.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <proto/exec.h>
#include <proto/dos.h>
#define __NOLIBBASE__
#include <proto/utility.h>
#undef __NOLIBBASE__
#include <proto/amissl.h>
#include <proto/amisslmaster.h>
#include <proto/socket.h>
#include <clib/alib_protos.h>
#include <utility/utility.h>
#include <amissl/amissl.h>
#include <libraries/amisslmaster.h>
#include <libraries/amissl.h>
const char stack_size[] = "$STACK:8192";
static BOOL Init(void);
static void Cleanup(void);
static void GenerateRandomSeed(char *buffer, int size);
static int ConnectToServer(char *, short, char *, short);
static int verify_cb(int preverify_ok, X509_STORE_CTX *ctx);
struct Library *AmiSSLMasterBase, *AmiSSLBase, *SocketBase, *UtilityBase;
BOOL AmiSSLInitialized;
#if defined(__amigaos4__)
struct AmiSSLMasterIFace *IAmiSSLMaster;
struct AmiSSLIFace *IAmiSSL;
struct SocketIFace *ISocket;
struct UtilityIFace *IUtility;
#else
static BPTR ErrorOutput(void)
{
return(((struct Process *)FindTask(NULL))->pr_CES);
}
#define FFlush(x) Flush(x)
#endif /* !__amigaos4__ */
static BPTR GetStdErr(void)
{
BPTR err = ErrorOutput();
return(err ? err : Output());
}
/* Usage: https <host> <port> [proxyhost] [proxyport]
*
* host: name of host (default: "localhost")
* port: port to connect to (default: 443)
* proxyhost: name of proxy (optional)
* proxyport: name of proxy (optional)
*
* If any proxy parameter is omitted, the program will
* connect directly to the host.
*/
int main(int argc, char *argv[])
{
char buffer[4096]; /* This should be dynamically allocated */
BOOL is_ok = FALSE;
X509 *server_cert;
SSL_CTX *ctx;
BIO *bio_err;
SSL *ssl;
if (Init()) /* Open required OS libraries and initialize AmiSSL */
{
/* Basic intialization. Next few steps (up to SSL_new()) need
* to be done only once per AmiSSL opener.
*/
OPENSSL_init_ssl(OPENSSL_INIT_SSL_DEFAULT | OPENSSL_INIT_ADD_ALL_CIPHERS | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL);
/* Seed the entropy engine */
GenerateRandomSeed(buffer, 128);
RAND_seed(buffer, 128);
/* Note: BIO writing routines are prepared for NULL BIO handle */
if((bio_err = BIO_new(BIO_s_file())) != NULL)
BIO_set_fp_amiga(bio_err, GetStdErr(), BIO_NOCLOSE | BIO_FP_TEXT);
/* Get a new SSL context */
if((ctx = SSL_CTX_new(TLS_client_method())) != NULL)
{
/* Basic certificate handling. OpenSSL documentation has more
* information on this.
*/
SSL_CTX_set_default_verify_paths(ctx);
SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT,
verify_cb);
/* The following needs to be done once per socket */
if((ssl = SSL_new(ctx)) != NULL)
{
int sock;
int port, pport;
char *host, *proxy;
/* Connect to the HTTPS server, directly or through a proxy */
host = (argc > 1) ? argv[1] : (char *)"localhost";
port = (argc > 2) ? atol(argv[2]) : 443;
proxy = (argc > 3) ? argv[3] : NULL;
pport = (argc > 4) ? atol(argv[4]) : 0;
sock = ConnectToServer(host, port, proxy, pport);
/* Check if connection was established */
if (sock >= 0)
{
int ssl_err = 0;
/* Associate the socket with the ssl structure */
SSL_set_fd(ssl, sock);
/* Set up SNI (Server Name Indication) */
SSL_set_tlsext_host_name(ssl, host);
/* Perform SSL handshake */
if((ssl_err = SSL_connect(ssl)) >= 0)
{
Printf("SSL connection using %s\n", SSL_get_cipher(ssl));
/* Certificate checking. This example is *very* basic */
if((server_cert = SSL_get_peer_certificate(ssl)))
{
char *str;
Printf("Server certificate:\n");
if((str = X509_NAME_oneline(X509_get_subject_name(server_cert), 0, 0)))
{
Printf("\tSubject: %s\n", str);
OPENSSL_free(str);
}
else
FPrintf(GetStdErr(), "Warning: couldn't read subject name in certificate!\n");
if((str = X509_NAME_oneline(X509_get_issuer_name(server_cert),
0, 0)) != NULL)
{
Printf("\tIssuer: %s\n", str);
OPENSSL_free(str);
}
else
FPrintf(GetStdErr(), "Warning: couldn't read issuer name in certificate!\n");
X509_free(server_cert);
/* Send a HTTP request. Again, this is just
* a very basic example.
*/
sprintf(buffer,"GET / HTTP/1.0\r\nHost: %s\r\n\r\n",host);
if ((ssl_err = SSL_write(ssl, buffer, strlen(buffer)))
> 0)
{
/* Dump everything to output */
while ((ssl_err = SSL_read(ssl, buffer,
sizeof(buffer) - 1))
> 0)
FWrite(Output(), buffer, ssl_err, 1);
FFlush(Output());
/* This is not entirely true, check
* the SSL_read documentation
*/
is_ok = ssl_err == 0;
}
else
FPrintf(GetStdErr(), "Couldn't write request!\n");
}
else
FPrintf(GetStdErr(), "Couldn't get server certificate!\n");
/* Send SSL close notification */
SSL_shutdown(ssl);
}
else
FPrintf(GetStdErr(), "Couldn't establish SSL connection!\n");
/* If there were errors, print them */
if (ssl_err < 0)
ERR_print_errors(bio_err);
/* Close the socket */
CloseSocket(sock);
}
else
FPrintf(GetStdErr(), "Couldn't connect to host!\n");
FPrintf(GetStdErr(), "before SSL_free()\n");
SSL_free(ssl);
}
else
FPrintf(GetStdErr(), "Couldn't create new SSL handle!\n");
FPrintf(GetStdErr(), "before SSL_CTX_free()\n");
SSL_CTX_free(ctx);
}
else
FPrintf(GetStdErr(), "Couldn't create new context!\n");
BIO_free(bio_err);
FPrintf(GetStdErr(), "before Cleanup()\n");
Cleanup();
}
FPrintf(GetStdErr(), "before end of main()\n");
return(is_ok ? RETURN_OK : RETURN_ERROR);
}
#define XMKSTR(x) #x
#define MKSTR(x) XMKSTR(x)
#if defined(__amigaos4__)
#define GETINTERFACE(iface, base) (iface = (APTR)GetInterface((struct Library *)(base), "main", 1L, NULL))
#define DROPINTERFACE(iface) (DropInterface((struct Interface *)iface), iface = NULL)
#else
#define GETINTERFACE(iface, base) TRUE
#define DROPINTERFACE(iface)
#endif
/* Open and initialize AmiSSL */
static BOOL Init(void)
{
AmiSSLInitialized = FALSE;
if (!(UtilityBase = OpenLibrary("utility.library", 0)))
FPrintf(GetStdErr(), "Couldn't open utility.library!\n");
else if (!GETINTERFACE(IUtility, UtilityBase))
FPrintf(GetStdErr(), "Couldn't get Socket interface!\n");
else if (!(SocketBase = OpenLibrary("bsdsocket.library", 4)))
FPrintf(GetStdErr(), "Couldn't open bsdsocket.library v4!\n");
else if (!GETINTERFACE(ISocket, SocketBase))
FPrintf(GetStdErr(), "Couldn't get Socket interface!\n");
else if (!(AmiSSLMasterBase = OpenLibrary("amisslmaster.library",
AMISSLMASTER_MIN_VERSION)))
FPrintf(GetStdErr(), "Couldn't open amisslmaster.library v"
MKSTR(AMISSLMASTER_MIN_VERSION) "!\n");
else if (!GETINTERFACE(IAmiSSLMaster, AmiSSLMasterBase))
FPrintf(GetStdErr(), "Couldn't get AmiSSLMaster interface!\n");
else if (!InitAmiSSLMaster(AMISSL_CURRENT_VERSION, TRUE))
FPrintf(GetStdErr(), "AmiSSL version is too old!\n");
else if (!(AmiSSLBase = OpenAmiSSL()))
FPrintf(GetStdErr(), "Couldn't open AmiSSL!\n");
else if (!GETINTERFACE(IAmiSSL, AmiSSLBase))
FPrintf(GetStdErr(), "Couldn't get AmiSSL interface!\n");
#if defined(__amigaos4__)
else if (InitAmiSSL(AmiSSL_ErrNoPtr, &errno,
AmiSSL_ISocket, ISocket,
TAG_DONE) != 0)
#else
else if (InitAmiSSL(AmiSSL_ErrNoPtr, &errno,
AmiSSL_SocketBase, SocketBase,
TAG_DONE) != 0)
#endif
FPrintf(GetStdErr(), "Couldn't initialize AmiSSL!\n");
else
AmiSSLInitialized = TRUE;
if (!AmiSSLInitialized)
Cleanup(); /* This is safe to call even if something failed above */
return(AmiSSLInitialized);
}
static void Cleanup(void)
{
if (AmiSSLInitialized)
{ /* Must always call after successful InitAmiSSL() */
CleanupAmiSSLA(NULL);
}
if (AmiSSLBase)
{
DROPINTERFACE(IAmiSSL);
CloseAmiSSL();
AmiSSLBase = NULL;
}
DROPINTERFACE(IAmiSSLMaster);
CloseLibrary(AmiSSLMasterBase);
AmiSSLMasterBase = NULL;
DROPINTERFACE(ISocket);
CloseLibrary(SocketBase);
SocketBase = NULL;
DROPINTERFACE(IUtility);
CloseLibrary(UtilityBase);
UtilityBase = NULL;
}
/* Get some suitable random seed data
*/
static void GenerateRandomSeed(char *buffer, int size)
{
int i;
#ifdef __amigaos4__
struct RandomState rs;
rs.rs_Low = clock();
rs.rs_High = time(NULL);
for(i = 0; i < size/4; i++)
{
((LONG *)buffer)[i] = Random(&rs);
}
#else
for(i = 0; i < size/2; i++)
{
((UWORD *)buffer)[i] = RangeRand(65535);
}
#endif
}
/* This callback is called everytime OpenSSL verifies a certificate
* in the chain during a connection, indicating success or failure.
*/
static int verify_cb(int preverify_ok, X509_STORE_CTX *ctx)
{
if (!preverify_ok)
{
/* Here, you could ask the user whether to ignore the failure,
* displaying information from the certificate, for example.
*/
FPrintf(GetStdErr(),"Certificate verification failed (%s)\n",
X509_verify_cert_error_string(X509_STORE_CTX_get_error(ctx)));
}
else
{
FPrintf(GetStdErr(),"Certificate verification successful (hash %08lx)\n",
X509_issuer_and_serial_hash(X509_STORE_CTX_get_current_cert(ctx)));
}
return preverify_ok;
}
/* Connect to the specified server, either directly or through the specified
* proxy using HTTP CONNECT method.
*/
static int ConnectToServer(char *host, short port, char *proxy, short pport)
{
struct sockaddr_in addr;
struct hostent *hostent;
char buffer[1024]; /* This should be dynamically alocated */
BOOL is_ok = FALSE;
char *s1, *s2;
int sock = -1;
/* Lookup hostname */
if ((hostent = gethostbyname((proxy && pport) ? proxy : host)) != NULL)
{
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons((proxy && pport) ? pport : port);
addr.sin_len = hostent->h_length;;
memcpy(&addr.sin_addr,hostent->h_addr,hostent->h_length);
}
else
FPrintf(GetStdErr(), "Host lookup failed\n");
/* Create a socket and connect to the server */
if (hostent && ((sock = socket(AF_INET, SOCK_STREAM, 0)) >= 0))
{
if (connect(sock, (struct sockaddr *)&addr, sizeof(addr)) >= 0)
{
/* For proxy connection, use SSL tunneling. First issue a HTTP CONNECT
* request and then proceed as with direct HTTPS connection.
*/
if (proxy && pport)
{
/* This should be done with snprintf to prevent buffer
* overflows, but some compilers don't have it and
* handling that would be an overkill for this example
*/
sprintf(buffer, "CONNECT %s:%ld HTTP/1.0\r\n\r\n",
host, (long)port);
/* In a real application, it would be necessary to loop
* until everything is sent or an error occurrs, but here we
* hope that everything gets sent at once.
*/
if (send(sock, buffer, strlen(buffer), 0) >= 0)
{
int len;
/* Again, some optimistic behaviour: HTTP response might not be
* received with only one recv
*/
if ((len = recv(sock, buffer, sizeof(buffer) - 1, 0)) >= 0)
{
/* Assuming it was received, find the end of
* the line and cut it off
*/
if ((s1 = strchr(buffer, '\r'))
|| (s1 = strchr(buffer, '\n')))
*s1 = '\0';
else
buffer[len] = '\0';
Printf("Proxy returned: %s\n", buffer);
/* Check if HTTP response makes sense */
if (strncmp(buffer, "HTTP/", 4) == 0
&& (s1 = strchr(buffer, ' '))
&& (s2 = strchr(++s1, ' '))
&& (s2 - s1 == 3))
{
/* Only accept HTTP 200 OK response */
if (atol(s1) == 200)
is_ok = TRUE;
else
FPrintf(GetStdErr(), "Proxy responce indicates error!\n");
}
else
FPrintf(GetStdErr(), "Amibigous proxy responce!\n");
}
else
FPrintf(GetStdErr(), "Couldn't get proxy response!\n");
}
else
FPrintf(GetStdErr(), "Couldn't send request to proxy!\n");
}
else
is_ok = TRUE;
}
else
FPrintf(GetStdErr(), "Couldn't connect to server\n");
if (!is_ok)
{
CloseSocket(sock);
sock = -1;
}
}
return(sock);
}
</pre>
==Reference==
5. Link libraries
-----------------
The following optional link libraries are supplied, for GCC on OS3/OS4 and vbcc on OS4:
- libamisslauto.a (link with -lamisslauto)
As per the standard libauto, automatically open and set up AmiSSL, without
having to worry about the initialisation code yourself. You may also compile
your own link library for a different compiler from lib/autoinit_amissl_main.c
which can be compiled with VBCC, SAS/C and GCC.
- libamisslstubs.a (link with -lamisslstubs)
Some OpenSSL functions take a pointer to another OpenSSL function as a
parameter. This becomes a problem when using standard AmigaOS library inlines,
usually causing undefined reference errors (e.g. X509_free) when linking. You
can either create your own stub functions to resolve this, which simply call
the AmiSSL functions, but for convenience you can instead link with this
library which contains stubs for all OpenSSL functions. If you wish to create
this library for a different compiler, the stubs source code can be created
on OS4 using "idltool -L amissl.xml" or on OS3 from the sfd file using tools
such as sfdc, sfd or fd2pragma.
6. Migration from AmiSSL v4
---------------------------
AmiSSL v4 is OpenSSL 1.1.x based, whilst AmiSSL v5 uses OpenSSL 3.x, but
fortunately you will not usually need to make any changes to your code, as most
things are actually backwards compatible (most functions that have been removed
or changed will be replaced by macros in the OpenSSL header files). However, we
encourage developers to use the new OpenAmiSSLTags() function, in place of
InitAmiSSLMaster(), OpenAmiSSL() and InitAmiSSL() (these functions will still
continue to operate as before). Details of OpenSSL changes are available at
https://www.openssl.org/docs/manmaster/man7/migration_guide.html and with
GCC you will receive warnings if you use any deprecated functions.
Due to the shear amount of OpenSSL 3.x API functions available, we had to split
them across two library bases on OS3 which meant the addition of AmiSSLExtBase.
AmiSSLExtBase can be obtained using the AmiSSL_GetAmiSSLExtBase tag in
OpenAmiSSLTags() (or alternatively, in InitAmiSSL() if you wish to keep using
the old functions). This does not apply to OS4, where there is one single
interface as before.
The procedure for subprocesses remains unchanged - they must continue to call
InitAmiSSL() and CleanupAmiSSL() if sharing the AmiSSL instance from the parent
task where OpenAmiSSLTags() was called.
7. Migration from AmiSSL v3
---------------------------
AmiSSL v3 is OpenSSL 0.9.x based and there were many fundamental changes in
AmiSSL v4 due to the switch to OpenSSL 1.1.x. Although there were no changes in
the AmiSSL API itself, there were lots of important changes in the OpenSSL API.
Rather than simply recompiling, depending on how heavy your OpenSSL usage is,
you may well need to make changes to your code. For example, many public
structures that were defined in the header files have now been made private.
Rather than allocating them yourself, or putting them on the stack, you will
need to use the provided new functions to obtain, access and modify these
structures. We also dropped SSLv2/v3 methods completely, so you will need to
switch to TLS.
8. Differences to OpenSSL
-------------------------
AmiSSL provides essentially the same functionality as OpenSSL, but there are a
few differences as a result of the Amiga shared library model and necessity to
support different compilers. Unlike AmiSSL v1, AmiSSL v3/v4/v5 uses
"#include <openssl/xxx.h>" scheme instead of "#include <amissl/xxx.h>" scheme.
This and some other changes should make it possible to compile most OpenSSL
programs out of the box.
The functions, e.g., BIO_set_fp(), BIO_get_fp() and BIO_new_fp() are not
available since they require a FILE * argument which is C runtime library
specific. However, there are replacement functions which have _amiga added to
their name and take a BPTR instead of FILE * argument. For example,
BIO_set_fp(bio_out, stdout, BIO_NOCLOSE) can be replaced by
BIO_set_fp_amiga(bio_out, Output(), BIO_NOCLOSE);
Also, all other stdio functions that have a FILE * argument are not available.
However, all these functions have an equivalent that accepts BIO * instead of
FILE * so these functions can be used instead. The simple sequence
<pre>
fp = fopen(file, mode);
openssl_func_fp(fp, ...);
fclose(fp)
</pre>
sequence can be replaced with the following:
<pre>
bio = BIO_new_file(file, mode);
openssl_func(bio, ...);
BIO_free(bio);
</pre>
In addition, AmiSSL adds several functions which deal with OpenSSL ciphers:
<pre>
const char *SSL_CIPHER_get_mac(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_encryption(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_authentication(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_key_exchange(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_export(SSL_CIPHER *cipher);
</pre>
These will return textual representation of requested cipher data. For example,
SSL_CIPHER_get_encryption() will return "AES(256)" when 256-bit AES cipher is
used.
9. Callback functions
---------------------
Some OpenSSL functions require you to pass your own callback function in as a
parameter. These functions will be called using default calling conventions
on OS3 and OS4. On OS3 this means AmiSSL will call your function with the
function arguments placed on the stack, whilst on OS4 they will be placed in
registers, as usual. If you have set your compiler to use a different
convention, be sure to define your callback function correctly. For example:
STDARGS SAVEDS int verify_cb(int preverify_ok, X509_STORE_CTX *ctx)
{
return preverify_ok;
}
SSL_CTX_set_verify(sslctx,SSL_VERIFY_PEER,verify_cb);
10. Stub functions
------------------
Sometimes it is necessary to pass an AmiSSL function as a function pointer
argument. Since AmiSSL functions are inside the library, it is not possible
directly. See the section about the libamisslstubs.a link library which aims to
solve this issue. However, if not using the link library, it is possible to
write your own stub function:
void NOSTACKCHECK /* STDARGS */ SAVEDS (ASN1_OBJECT_free)(ASN1_OBJECT *a)
{
ASN1_OBJECT_free(a);
}
In newly written code it is better to use a different name for the function,
but when working with already existing code it might be easier to use the same
name than to change many occurrences of f. ex. ASN1_OBJECT_free to f. ex.
ASN1_OBJECT_free_stub whenever ASN1_OBJECT_free is passed as a function
pointer.
==Issues==
11. VBCC issues
---------------
The OpenSSL header files rely on using and declaring static inline helper
functions. This means that lots of functions will be declared in every
module that you include the OpenSSL headers and probably most of them you
will not use or need. Most compilers remove these unused functions by
default and sometimes even with the optimiser completely disabled.
Unfortunately, VBCC is different and will only remove these functions if
you use -O3 when compiling. -O1 and -O2 will leave all the unused functions
in your code. If for some reason you do not wish to use -O3, you could try
-O=17375 or -O=17407. These are the equivalent of -O1 and -O2 respectively,
but with the required optimiser bit added to enable removal of the unused
functions. Alternatively, you may compile with -DAMISSL_NO_STATIC_FUNCTIONS,
which will stop all the affected functions from being declared in the first
place, but obviously you can only use this if your code is not using any of
these functions otherwise you will get errors when compiling.
12. SAS/C issues
----------------
You will need to add "PreprocessorBuffer=32768 IdentifierLength=80" to your
SC command line and have to take special care where 64-bit integers are
concerned. In particular, OPENSSL_init_ssl(), which you mignt not even be
calling directly, but is ultimately the end result of many of the macros for
older legacy SSL initialisation functions. Remember that for 64-bit
parameters, the high 32-bits are placed in D0 and the low 32-bits in D1. So,
you might want to use a workaround similar to this:
<pre>
#define OPENSSL_init_ssl_32(opts, settings) \
(putreg(REG_D1,opts), OPENSSL_init_ssl(0, settings))
</pre>
<pre>
#ifndef LIBRARIES_AMISSL_H
#define LIBRARIES_AMISSL_H
/***************************************************************************
AmiSSL - OpenSSL wrapper for AmigaOS-based systems
Copyright (c) 1999-2006 Andrija Antonijevic, Stefan Burstroem.
Copyright (c) 2006-2022 AmiSSL Open Source Team.
All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License in the file LICENSE in the
source distribution or at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
AmiSSL Official Support Site: https://github.com/jens-maus/amissl
***************************************************************************/
#define CIPHER_BLOWFISH 0x01
#define CIPHER_CAST 0x02
#define CIPHER_DES 0x03
#define CIPHER_DH 0x04
#define CIPHER_DSA 0x05
#define CIPHER_IDEA 0x06
#define CIPHER_MD2 0x07
#define CIPHER_MD4 0x08
#define CIPHER_MD5 0x09
#define CIPHER_MDC2 0x0a
#define CIPHER_RC2 0x0b
#define CIPHER_RC4 0x0c
#define CIPHER_RC5 0x0d
#define CIPHER_RIPEMD 0x0e
#define CIPHER_RSA 0x0f
#define CIPHER_SHA 0x10
#define CIPHER_AES 0x11
#define CIPHER_BlowFish CIPHER_BLOWFISH
#endif /* !LIBRARIES_AMISSL_H */
</pre>
<pre>
TABLE OF CONTENTS
amissl.library/--background--
amissl.library/CleanupAmiSSLA
amissl.library/InitAmiSSLA
amissl.library/SSL_CIPHER_get_authentication
amissl.library/SSL_CIPHER_get_encryption
amissl.library/SSL_CIPHER_get_key_exchange
amissl.library/SSL_CIPHER_get_mac
�amissl.library/--background-- amissl.library/--background--
PURPOSE
The amissl.library contains the public OpenSSL API functions. There are
too many to list and document here, but you can find documentation on
the OpenSSL API at https://www.openssl.org/docs/manmaster/man3.
Instead, only the AmiSSL specific functions are documented here.
Since AmiSSL v2, you must not open this library directly. In AmiSSL v5
you should use use amisslmaster.library/OpenAmiSSLTags() instead.
In AmiSSL v2/v3/v4, use amisslmaster.library/OpenAmiSSL() and then call
InitAmiSSL() before you can start using OpenSSL functions. This is
because multiple versions of AmiSSL can be installed at the same time
with the libraries named of the form amissl_v<version>.library.
Since AmiSSL v2, each opener gets their own unique baserel based
AmiSSLBase. This can be shared between different subprocesses.
Furthermore, this is encouraged since it allows the cache of server
certificates to be used by all subprocesses that share the same
AmiSSLBase resulting in speed increase. Each subprocess MUST call
InitAmiSSL() with appropriate arguments before using any other
amissl.library calls and CleanupAmiSSL() before it exits.
�amissl.library/CleanupAmiSSLA amissl.library/CleanupAmiSSLA
NAME
CleanupAmiSSLA -- cleanup the AmiSSL library (V1)
CleanupAmiSSL -- varargs stub for CleanupAmiSSLA() (V1)
SYNOPSIS
error = CleanupAmiSSLA( tagList )
LONG CleanupAmiSSLA( struct TagItem * )
error = CleanupAmiSSL( tag, ... )
LONG CleanupAmiSSL( Tag, ... );
FUNCTION
If using amisslmaster.library/OpenSSLTags() and the AmiSSL_InitAmiSSL
tag to initialise AmiSSL, you must not use this function,
as amisslmaster.library/CloseAmiSSL() will call it for you.
However, for each process using AmiSSL, where you made a successful
InitAmiSSLA() call, you must pair it with a call to this function
to cleanup and process related resources. Failure to do so can cause
AmiSSL to crash. Once this function has been called, you must not use
any OpenSSL functions.
INPUTS
tagList - pointer to an array of tags providing optional extra
parameters, or NULL.
TAGS
RESULTS
error - returns 0 on success or non-zero on failure.
SEE ALSO
InitAmiSSLA()
�amissl.library/InitAmiSSLA amissl.library/InitAmiSSLA
NAME
InitAmiSSLA -- initialise the AmiSSL library (V1)
InitAmiSSL -- varargs stub for InitAmiSSLA() (V1)
SYNOPSIS
error = InitAmiSSLA( tagList )
LONG InitAmiSSLA( struct TagItem * )
error = InitAmiSSL( tag, ... )
LONG InitAmiSSL( Tag, ... );
FUNCTION
Usually, you will be using amisslmaster.library/OpenSSLTags() to
initialise AmiSSL, so you should not need to use this function
in simple applications. If you have decided delay the initialisation,
this function must be called to initialise AmiSSL, once opened,
before you can use any of the available OpenSSL functions.
Furthermore, if you would like to use AmiSSL in your application's
subprocesses, it is recommended that you share the AmiSSL instance
opened from your main process and have each process simply call
InitAmiSSLA() instead of wasting resources and opening AmiSSL for
every process.
INPUTS
tagList - pointer to an array of tags providing optional extra
parameters, or NULL.
TAGS
AmiSSL_GetAmiSSLBase - (struct Library **) Pointer to your
AmiSSLExtBase variable for AmigaOS 3.x. Because of the sheer
number of available public functions in OpenSSL, AmiSSL v5 spans
two library bases. If successful, this function will set this to
the opened library. DO NOT call CloseLibrary() on this as
CloseAmiSSL() takes care of it. Not needed in AmigaOS 4.x
applications. (V5)
AmiSSL_SocketBase - (struct Library *) Pointer to the socket base. If
the caller doesn't need any networking functionality, or if using
AmiSSL_ISocket / AmiSSL_ISocketPtr for AmigaOS 4.x, this can be
omitted. (defaults to NULL). (V1)
AmiSSL_ISocket - (struct SocketIFace *) Pointer to the socket library
interface for AmigaOS 4.x. If the caller doesn't need any
networking functionality, this can be omitted, likewise if
AmiSSL_ISocketPtr or AmiSSL_SocketBase has been specified
instead. (V3)
AmiSSL_ISocketPtr - (struct SocketIFace **) Pointer to your ISocket
variable for AmigaOS 4.x. If the caller doesn't need networking
functionality, this can be omitted, likewise if AmiSSL_ISocket or
AmiSSL_SocketBase has been specified instead. This generally
doesn't need to be used, but may be useful if you need to open
ISocket after initiliasing AmiSSL. (V3)
AmiSSL_ErrNoPtr - (int *)Pointer to the errno variable to set when
some of the C or socket library functions called by AmiSSL return
an error. You should always specify this tag or errno error
detection in your program will not work reliably. AmiSSL will
always instruct the network library to use a certain errno
pointer (ie. it will specify SBTM_SETVAL(SBTC_ERRNOLONGPTR) in
SocketBaseTags() for bsdsocket.library and similarly for other
networking packages) possibly overriding the errno pointer you
specified to the networking library yourself. If AmiSSL_ErrNoPtr
is specified, AmiSSL will use it for SBTM_SETVAL(SBTC_ERRNOLONGPTR)
or equivalent calls, otherwise it will use an internal errno
pointer and thus errno changes will not be propagated to your
application. (V2)
AmiSSL_TimerPort - (struct MsgPort *) Provide an optional dedicated
message port to be used for all timer related functions, instead of
the port that AmiSSL usually allocates itself. It must belong to
the calling process and remain valid until after CleanupAmiSSL()
has been executed, after which the application is responsible for
freeing the port. (V5.27)
AmiSSL_TimerSignal - (LONG) The signal bit to be used by the message
port which AmiSSL allocates for all timer related functions. It
must remain valid until CleanupAmiSSL() has been executed, after
which the application is responsible for freeing the signal, when
necessary. This tag is only implemented for AmigaOS 4.x, and will
be ignored if AmiSSL_TimerPort has also been specified.
(defaults to -1, allocate a new signal). (V5.27)
AmiSSL_SocketBaseBrand - (LONG) useful only if you are using
MultiTCP linker library by Stefan Burstroem, you can ignore it
otherwise. (defaults to TCPIP_AmiTCP). (V2)
AmiSSL_MLinkLock - useful only if you are using MultiTCP linker
library by Stefan Burstroem, you can ignore it otherwise. (V2)
AmiSSL_Version - OBSOLETE - Used for AmiSSL v1 only
AmiSSL_Revision - OBSOLETE - Used for AmiSSL v1 only
AmiSSL_Version_Override - OBSOLETE - Used for AmiSSL v1 only
AmiSSL_TCPStack - OBSOLETE - Used for AmiSSL v2 only
AmiSSL_SSLVersionApp - OBSOLETE - Used for AmiSSL v2/v3 only
RESULTS
error - returns 0 on success or non-zero on failure.
SEE ALSO
CleanupAmiSSLA()
�amissl.library/SSL_CIPHER_get_authentication amissl.library/SSL_CIPHER_get_authentication
NAME
SSL_CIPHER_get_authentication -- get the name of a cipher's
authentication algorithm (V3)
SYNOPSIS
name = SSL_CIPHER_get_authentication( cipher )
const char *SSL_CIPHER_get_authentication( SSL_CIPHER * );
FUNCTION
Return the textual representation of a cipher's authentication algorithm.
INPUTS
cipher - pointer to a SSL cipher.
RESULTS
name - returns the cipher authentication name or "unknown".
�amissl.library/SSL_CIPHER_get_encryption amissl.library/SSL_CIPHER_get_encryption
NAME
SSL_CIPHER_get_encryption -- get the name of a cipher's
encryption algorithm (V3)
SYNOPSIS
name = SSL_CIPHER_get_encryption( cipher )
const char *SSL_CIPHER_get_encryption( SSL_CIPHER * );
FUNCTION
Return the textual representation of a cipher's encryption algorithm.
INPUTS
cipher - pointer to a SSL cipher.
RESULTS
name - returns the cipher encryption name or "unknown".
�amissl.library/SSL_CIPHER_get_export amissl.library/SSL_CIPHER_get_export
NAME
SSL_CIPHER_get_key_exchange -- get the name of a cipher's
key exchange algorithm (V3)
SYNOPSIS
name = SSL_CIPHER_get_key_exchange( cipher )
const char *SSL_CIPHER_get_key_exchange( SSL_CIPHER * );
FUNCTION
Return the textual representation of a cipher's key exchange algorithm.
INPUTS
cipher - pointer to a SSL cipher.
RESULTS
name - returns the cipher key exchange name or "unknown".
�amissl.library/SSL_CIPHER_get_mac amissl.library/SSL_CIPHER_get_mac
NAME
SSL_CIPHER_get_mac -- get the name of a cipher's mac algorithm (V3)
SYNOPSIS
name = SSL_CIPHER_get_mac( cipher )
const char *SSL_CIPHER_get_mac( SSL_CIPHER * );
FUNCTION
Return the textual representation of a cipher's mac algorithm.
INPUTS
cipher - pointer to a SSL cipher.
RESULTS
name - returns the cipher mac name or "unknown".
</pre>
0flgpzfq98kf87x90m0qm9zqwvesuqz
4639993
4639992
2026-06-12T06:48:15Z
Jeff1138
301139
4639993
wikitext
text/x-wiki
{{ArosNav}}
==Introduction==
Work started on [https://github.com/jens-maus/amissl AmiSSL v5] aka port of [https://www.openssl.org/docs/manmaster/man3 OpenSSL 3.6] which contains developer files and example programs which should make it possible to add AmiSSL support to client and server applications interested in providing SSL/TLS functionality to end users. This SDK release provides include files for GCC and vbcc for OS3/m68k and OS4/PPC. Also, SAS/C is supported, but please see the end of this document for important information.
The information given here is mostly AmiSSL specific. For more information on OpenSSL programming, check the [https://www.openssl.org/ OpenSSL documentation and examples]
The AmiSSL v5 API is slightly different from previous versions and has been simplified like the below pseudo-code:
<pre>
#include <proto/amisslmaster.h>
#include <proto/amissl.h>
#include <libraries/amisslmaster.h>
#include <libraries/amissl.h>
#include <amissl/amissl.h>
if((AmiSSLMasterBase = OpenLibrary("amisslmaster.library",
AMISSLMASTER_MIN_VERSION))
{
#if defined(__amigaos4__)
if(IAmiSSLMaster = (struct AmiSSLMasterIFace *)
GetInterface((struct Library *)AmiSSLMasterBase,
"main", 1, NULL))
{
if(OpenAmiSSLTags(AMISSL_CURRENT_VERSION,
AmiSSL_UsesOpenSSLStructs, TRUE or FALSE,
AmiSSL_GetIAmiSSL, &IAmiSSL,
AmiSSL_ISocket, ISocket,
AmiSSL_ErrNoPtr, &errno,
..., TAG_DONE) == 0)
{
CloseAmiSSL();
}
else printf("ERROR: Couldn't open AmiSSL!");
DropInterface((struct Interface *)IAmiSSLMaster);
}
else printf("ERROR: Couldn't obtain AmiSSLMaster interface!");
#else
if(OpenAmiSSLTags(AMISSL_CURRENT_VERSION,
AmiSSL_UsesOpenSSLStructs, TRUE or FALSE,
AmiSSL_GetAmiSSLBase, &AmiSSLBase,
AmiSSL_GetAmiSSLExtBase, &AmiSSLExtBase,
AmiSSL_SocketBase, SocketBase,
AmiSSL_ErrNoPtr, &errno,
..., TAG_DONE) == 0)
{
CloseAmiSSL();
}
else printf("ERROR: Couldn't open AmiSSL!");
#endif
CloseLibrary(AmiSSLMasterBase);
}
else printf("ERROR: Couldn't open amisslmaster.library!");
</pre>
The first step is to open amisslmaster.library requesting at least AMISSLMASTER_MIN_VERSION version (and, for OS4, call GetInterface() to get the
"main" interface and later DropInterface() in the cleanup phase).
Then amisslmaster.library/OpenAmiSSLTags() has to be called specifying which API version the program was compiled for and whether it uses OpenSSL structures
in some way (ie. if it accesses some of the fields directly and not through AmiSSL API or if it includes OpenSSL structures in its own structures - if
unsure, specify TRUE). It will return zero on success or a non-zero value on failure. See the autodocs for amisslmaster.library/OpenAmiSSLTags() and
amissl.library/InitAmiSSL() for currently available tags.
If you need to compile a program specifically for f. ex. OpenSSL 0.9.7g API, you need to use the SDK in which AMISSL_CURRENT_VERSION is AMISSL_V097g. If
you are, however, always using the latest AmiSSL SDK version you can keep using AMISSL_CURRENT_VERSION.
The use of amisslmaster.library makes it possible to have multiple versions of amissl.library with incompatible APIs installed keeping the programs compiled
with an older amissl.library working. This is necessary since OpenSSL API changes from time to time. Also, when a new version of AmiSSL is released with
amissl.library API that is backwards compatible to some previous version, a program requesting the old version of amissl.library will automatically get
the new version and the old version can be deleted.
3. Subprocesses
---------------
Note, that unlike in AmiSSL v1, AmiSSLBase can be shared between different subprocesses. Furthermore, this is encouraged since it allows the cache of
server certificates to be used by all subprocesses that share the same AmiSSL base resulting in speed increase. Each subprocess must call InitAmiSSL() with
appropriate arguments before using any other amissl.library calls and CleanupAmiSSL() before it exits. AmiSSL then ensures due to its baserel-based
environment that any opener receives an own baserel based library base.
==Examples==
The provided example, httpget.c, is an example of how to use the new OpenSSL 3.x built-in HTTP client functions. It shows how to retrieve a
document from a "http://" or "https://" server, with or without a password and how you can also use the URL parsing functions from OpenSSL 3.x.
<pre>
/***************************************************************************
AmiSSL - OpenSSL wrapper for AmigaOS-based systems
Copyright (c) 1999-2006 Andrija Antonijevic, Stefan Burstroem.
Copyright (c) 2006-2022 AmiSSL Open Source Team.
All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License in the file LICENSE in the
source distribution or at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
AmiSSL Official Support Site: https://github.com/jens-maus/amissl
***************************************************************************/
/*
* This example program demonstrates how to use the HTTP client function
* OSSL_HTTP_get() and URL parsing function OSSL_HTTP_parse_url(), which
* were newly introduced in OpenSSL 3.0 and AmiSSL v5.
*
* These allow any application to load http or https URLs completely
* within AmiSSL v5, without the need for any other external libraries,
* such as libcurl, or custom code. OSSL_HTTP_get() is the highest level
* function provided by the HTTP client, but you can have more control by
* using the lower level HTTP functions described in the OpenSSL manual at
* https://www.openssl.org/docs/man3.0/man3/OSSL_HTTP_get.html
*/
#if defined(__amigaos4__) && !defined(__USE_INLINE__)
# define __USE_INLINE__
#endif
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <proto/exec.h>
#include <proto/dos.h>
#include <proto/amissl.h>
#include <proto/amisslmaster.h>
#include <amissl/amissl.h>
#include <libraries/amisslmaster.h>
#include <libraries/amissl.h>
#if !defined(__amigaos4__)
# include <SDI_compiler.h>
#endif
const char stack_size[] = "$STACK:8192";
static SSL_CTX *Init(void);
static void Cleanup(SSL_CTX *ctx);
/* Check if URL is valid and extract any username/password
*/
BOOL IsSupportedURL(char *url, char **userinfo)
{
int ssl, portnum;
char *host, *port, *path, *query, *fragment;
/* You may wish to make use of OSSL_parse_url() which can be
* used to parse non-http(s) URLs too
*/
return OSSL_HTTP_parse_url(url, &ssl, userinfo, &host, &port,
&portnum, &path, &query, &fragment);
}
/* Required callback to enable HTTPS connection, when necessary
*/
SAVEDS STDARGS BIO *HTTP_TLS_cb(BIO *bio, void *arg, int connect, int detail)
{
if (connect && detail)
{
/* Connect with TLS */
BIO *sbio = BIO_new_ssl((SSL_CTX *)arg, 1);
bio = (sbio != NULL) ? BIO_push(sbio, bio) : NULL;
}
return bio;
}
/* Stub function used when freeing our stack of headers
*/
SAVEDS STDARGS void stub_X509V3_conf_free(CONF_VALUE *val)
{
X509V3_conf_free(val);
}
/* Read content from URL and dump to Output()
*/
BOOL GetURL(char *url, char *userinfo, SSL_CTX *sslctx)
{
STACK_OF(CONF_VALUE) *headers = NULL;
BIO *bio, *bio_err;
/* Add our own HTTP headers */
X509V3_add_value("User-Agent", "AmiSSL/5.1", &headers);
X509V3_add_value("Referer", "GetURL()", &headers);
if (userinfo)
{
/* Optionally specify username:password */
char auth[256] = "Basic ";
/* Base64 encode */
EVP_EncodeBlock((unsigned char *)&auth[6], (unsigned char *)userinfo, strlen(userinfo));
X509V3_add_value("Authorization", auth, &headers);
}
/* Initiate the request (supports redirection) */
if ((bio = OSSL_HTTP_get(url, NULL /* proxy */, NULL /* no_proxy */,
NULL /* bio */, NULL /* rbio */,
(BIO *(*)(BIO *, void *, int, int))HTTP_TLS_cb, sslctx,
0 /* buf_size */, headers,
NULL /* expected_content_type */, 0 /* expect_asn1 */,
0 /* max_resp_len */, 0 /* timeout */)) != NULL)
{
/* HTTP request succeeded */
char buffer[2048]; /* should really move this off the stack */
int length;
while ((length = BIO_read(bio, buffer, sizeof(buffer))) > 0)
{
FWrite(Output(), buffer, 1, length);
}
BIO_free(bio);
}
else if((bio_err = BIO_new(BIO_s_file())) != NULL)
{
/* HTTP request failed - try to show why */
BIO_set_fp_amiga(bio_err, Output(), BIO_NOCLOSE | BIO_FP_TEXT);
ERR_print_errors(bio_err);
BIO_free(bio_err);
}
/* Free our custom headers */
sk_CONF_VALUE_pop_free(headers,(void (*)(CONF_VALUE *))stub_X509V3_conf_free);
return (bio != NULL);
}
int main(int argc, char *argv[])
{
BOOL is_ok = FALSE;
SSL_CTX *sslctx = NULL;
char *userinfo = NULL;
if (argc > 1)
{
/* Open required OS libraries and initialize AmiSSL */
if ((sslctx = Init()) != NULL)
{
/* First check if URL is valid (optional) */
if (IsSupportedURL(argv[1], &userinfo))
{
/* Open the URL and dump the response to Output() */
is_ok = GetURL(argv[1], userinfo, sslctx);
}
else
Printf("Not a valid http or https URL\n");
}
/* Free resources */
Cleanup(sslctx);
}
else
Printf("Usage: %s [url] (http:// and https:// supported)\n", argv[0]);
return(is_ok ? RETURN_OK : RETURN_ERROR);
}
#if defined(USE_AUTOINIT)
/* Link with -lamisslauto
*/
LONG UsesOpenSSLStructs = FALSE;
static SSL_CTX *Init(void)
{
SSL_CTX *ctx;
if (!(ctx = SSL_CTX_new(TLS_client_method())))
Printf("Couldn't create SSL context!\n");
return ctx;
}
static void Cleanup(SSL_CTX *ctx)
{
SSL_CTX_free(ctx);
}
#else
struct Library *AmiSSLMasterBase, *SocketBase;
# if defined(__amigaos4__)
struct AmiSSLMasterIFace *IAmiSSLMaster;
struct AmiSSLIFace *IAmiSSL;
struct SocketIFace *ISocket;
# define GETINTERFACE(iface, base) (iface = (APTR)GetInterface((struct Library *)(base), "main", 1L, NULL))
# define DROPINTERFACE(iface) (DropInterface((struct Interface *)iface), iface = NULL)
# else
struct Library *AmiSSLBase, *AmiSSLExtBase;
# define GETINTERFACE(iface, base) TRUE
# define DROPINTERFACE(iface)
# endif
# define XMKSTR(x) #x
# define MKSTR(x) XMKSTR(x)
/* Open and initialize AmiSSL
*/
static SSL_CTX *Init(void)
{
SSL_CTX *ctx = NULL;
if (!(SocketBase = OpenLibrary("bsdsocket.library", 4)))
Printf("Couldn't open bsdsocket.library v4!\n");
else if (!GETINTERFACE(ISocket, SocketBase))
Printf("Couldn't get Socket interface!\n");
else if (!(AmiSSLMasterBase = OpenLibrary("amisslmaster.library",
AMISSLMASTER_MIN_VERSION)))
Printf("Couldn't open amisslmaster.library v"
MKSTR(AMISSLMASTER_MIN_VERSION) "!\n");
else if (!GETINTERFACE(IAmiSSLMaster, AmiSSLMasterBase))
Printf("Couldn't get AmiSSLMaster interface!\n");
# if defined(__amigaos4__)
else if (OpenAmiSSLTags(AMISSL_CURRENT_VERSION,
AmiSSL_UsesOpenSSLStructs, FALSE,
AmiSSL_GetIAmiSSL, &IAmiSSL,
AmiSSL_ISocket, ISocket,
AmiSSL_ErrNoPtr, &errno,
TAG_DONE) != 0)
# else
else if (OpenAmiSSLTags(AMISSL_CURRENT_VERSION,
AmiSSL_UsesOpenSSLStructs, FALSE,
AmiSSL_GetAmiSSLBase, &AmiSSLBase,
AmiSSL_GetAmiSSLExtBase, &AmiSSLExtBase,
AmiSSL_SocketBase, SocketBase,
AmiSSL_ErrNoPtr, &errno,
TAG_DONE) != 0)
# endif
Printf("Couldn't open and initialize AmiSSL!\n");
else if (!(ctx = SSL_CTX_new(TLS_client_method())))
Printf("Couldn't create SSL context!\n");
return ctx;
}
/* Close AmiSSL
*/
static void Cleanup(SSL_CTX *ctx)
{
# if defined(__amigaos4__)
if (IAmiSSL)
# else
if (AmiSSLBase)
# endif
{
SSL_CTX_free(ctx);
CloseAmiSSL();
}
DROPINTERFACE(IAmiSSLMaster);
CloseLibrary(AmiSSLMasterBase);
DROPINTERFACE(ISocket);
CloseLibrary(SocketBase);
}
#endif /* !USE_AUTOINIT */
</pre>
Another example, https.c, is a very simple client. It shows how to retrieve a document from a "https://" server, at a lower level, by connecting directly
to the site, and also by connecting through a proxy server (SSL tunneling).
<pre>
/***************************************************************************
AmiSSL - OpenSSL wrapper for AmigaOS-based systems
Copyright (c) 1999-2006 Andrija Antonijevic, Stefan Burstroem.
Copyright (c) 2006-2022 AmiSSL Open Source Team.
All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License in the file LICENSE in the
source distribution or at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
AmiSSL Official Support Site: https://github.com/jens-maus/amissl
***************************************************************************/
#if defined(__amigaos4__)
# ifndef __USE_INLINE__
# define __USE_INLINE__
# endif
# if defined(__VBCC__) && !defined(__USE_OLD_TIMEVAL__)
# define __USE_OLD_TIMEVAL__
# endif
#endif
#include <sys/socket.h>
#include <netdb.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <proto/exec.h>
#include <proto/dos.h>
#define __NOLIBBASE__
#include <proto/utility.h>
#undef __NOLIBBASE__
#include <proto/amissl.h>
#include <proto/amisslmaster.h>
#include <proto/socket.h>
#include <clib/alib_protos.h>
#include <utility/utility.h>
#include <amissl/amissl.h>
#include <libraries/amisslmaster.h>
#include <libraries/amissl.h>
const char stack_size[] = "$STACK:8192";
static BOOL Init(void);
static void Cleanup(void);
static void GenerateRandomSeed(char *buffer, int size);
static int ConnectToServer(char *, short, char *, short);
static int verify_cb(int preverify_ok, X509_STORE_CTX *ctx);
struct Library *AmiSSLMasterBase, *AmiSSLBase, *SocketBase, *UtilityBase;
BOOL AmiSSLInitialized;
#if defined(__amigaos4__)
struct AmiSSLMasterIFace *IAmiSSLMaster;
struct AmiSSLIFace *IAmiSSL;
struct SocketIFace *ISocket;
struct UtilityIFace *IUtility;
#else
static BPTR ErrorOutput(void)
{
return(((struct Process *)FindTask(NULL))->pr_CES);
}
#define FFlush(x) Flush(x)
#endif /* !__amigaos4__ */
static BPTR GetStdErr(void)
{
BPTR err = ErrorOutput();
return(err ? err : Output());
}
/* Usage: https <host> <port> [proxyhost] [proxyport]
*
* host: name of host (default: "localhost")
* port: port to connect to (default: 443)
* proxyhost: name of proxy (optional)
* proxyport: name of proxy (optional)
*
* If any proxy parameter is omitted, the program will
* connect directly to the host.
*/
int main(int argc, char *argv[])
{
char buffer[4096]; /* This should be dynamically allocated */
BOOL is_ok = FALSE;
X509 *server_cert;
SSL_CTX *ctx;
BIO *bio_err;
SSL *ssl;
if (Init()) /* Open required OS libraries and initialize AmiSSL */
{
/* Basic intialization. Next few steps (up to SSL_new()) need
* to be done only once per AmiSSL opener.
*/
OPENSSL_init_ssl(OPENSSL_INIT_SSL_DEFAULT | OPENSSL_INIT_ADD_ALL_CIPHERS | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL);
/* Seed the entropy engine */
GenerateRandomSeed(buffer, 128);
RAND_seed(buffer, 128);
/* Note: BIO writing routines are prepared for NULL BIO handle */
if((bio_err = BIO_new(BIO_s_file())) != NULL)
BIO_set_fp_amiga(bio_err, GetStdErr(), BIO_NOCLOSE | BIO_FP_TEXT);
/* Get a new SSL context */
if((ctx = SSL_CTX_new(TLS_client_method())) != NULL)
{
/* Basic certificate handling. OpenSSL documentation has more
* information on this.
*/
SSL_CTX_set_default_verify_paths(ctx);
SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT,
verify_cb);
/* The following needs to be done once per socket */
if((ssl = SSL_new(ctx)) != NULL)
{
int sock;
int port, pport;
char *host, *proxy;
/* Connect to the HTTPS server, directly or through a proxy */
host = (argc > 1) ? argv[1] : (char *)"localhost";
port = (argc > 2) ? atol(argv[2]) : 443;
proxy = (argc > 3) ? argv[3] : NULL;
pport = (argc > 4) ? atol(argv[4]) : 0;
sock = ConnectToServer(host, port, proxy, pport);
/* Check if connection was established */
if (sock >= 0)
{
int ssl_err = 0;
/* Associate the socket with the ssl structure */
SSL_set_fd(ssl, sock);
/* Set up SNI (Server Name Indication) */
SSL_set_tlsext_host_name(ssl, host);
/* Perform SSL handshake */
if((ssl_err = SSL_connect(ssl)) >= 0)
{
Printf("SSL connection using %s\n", SSL_get_cipher(ssl));
/* Certificate checking. This example is *very* basic */
if((server_cert = SSL_get_peer_certificate(ssl)))
{
char *str;
Printf("Server certificate:\n");
if((str = X509_NAME_oneline(X509_get_subject_name(server_cert), 0, 0)))
{
Printf("\tSubject: %s\n", str);
OPENSSL_free(str);
}
else
FPrintf(GetStdErr(), "Warning: couldn't read subject name in certificate!\n");
if((str = X509_NAME_oneline(X509_get_issuer_name(server_cert),
0, 0)) != NULL)
{
Printf("\tIssuer: %s\n", str);
OPENSSL_free(str);
}
else
FPrintf(GetStdErr(), "Warning: couldn't read issuer name in certificate!\n");
X509_free(server_cert);
/* Send a HTTP request. Again, this is just
* a very basic example.
*/
sprintf(buffer,"GET / HTTP/1.0\r\nHost: %s\r\n\r\n",host);
if ((ssl_err = SSL_write(ssl, buffer, strlen(buffer)))
> 0)
{
/* Dump everything to output */
while ((ssl_err = SSL_read(ssl, buffer,
sizeof(buffer) - 1))
> 0)
FWrite(Output(), buffer, ssl_err, 1);
FFlush(Output());
/* This is not entirely true, check
* the SSL_read documentation
*/
is_ok = ssl_err == 0;
}
else
FPrintf(GetStdErr(), "Couldn't write request!\n");
}
else
FPrintf(GetStdErr(), "Couldn't get server certificate!\n");
/* Send SSL close notification */
SSL_shutdown(ssl);
}
else
FPrintf(GetStdErr(), "Couldn't establish SSL connection!\n");
/* If there were errors, print them */
if (ssl_err < 0)
ERR_print_errors(bio_err);
/* Close the socket */
CloseSocket(sock);
}
else
FPrintf(GetStdErr(), "Couldn't connect to host!\n");
FPrintf(GetStdErr(), "before SSL_free()\n");
SSL_free(ssl);
}
else
FPrintf(GetStdErr(), "Couldn't create new SSL handle!\n");
FPrintf(GetStdErr(), "before SSL_CTX_free()\n");
SSL_CTX_free(ctx);
}
else
FPrintf(GetStdErr(), "Couldn't create new context!\n");
BIO_free(bio_err);
FPrintf(GetStdErr(), "before Cleanup()\n");
Cleanup();
}
FPrintf(GetStdErr(), "before end of main()\n");
return(is_ok ? RETURN_OK : RETURN_ERROR);
}
#define XMKSTR(x) #x
#define MKSTR(x) XMKSTR(x)
#if defined(__amigaos4__)
#define GETINTERFACE(iface, base) (iface = (APTR)GetInterface((struct Library *)(base), "main", 1L, NULL))
#define DROPINTERFACE(iface) (DropInterface((struct Interface *)iface), iface = NULL)
#else
#define GETINTERFACE(iface, base) TRUE
#define DROPINTERFACE(iface)
#endif
/* Open and initialize AmiSSL */
static BOOL Init(void)
{
AmiSSLInitialized = FALSE;
if (!(UtilityBase = OpenLibrary("utility.library", 0)))
FPrintf(GetStdErr(), "Couldn't open utility.library!\n");
else if (!GETINTERFACE(IUtility, UtilityBase))
FPrintf(GetStdErr(), "Couldn't get Socket interface!\n");
else if (!(SocketBase = OpenLibrary("bsdsocket.library", 4)))
FPrintf(GetStdErr(), "Couldn't open bsdsocket.library v4!\n");
else if (!GETINTERFACE(ISocket, SocketBase))
FPrintf(GetStdErr(), "Couldn't get Socket interface!\n");
else if (!(AmiSSLMasterBase = OpenLibrary("amisslmaster.library",
AMISSLMASTER_MIN_VERSION)))
FPrintf(GetStdErr(), "Couldn't open amisslmaster.library v"
MKSTR(AMISSLMASTER_MIN_VERSION) "!\n");
else if (!GETINTERFACE(IAmiSSLMaster, AmiSSLMasterBase))
FPrintf(GetStdErr(), "Couldn't get AmiSSLMaster interface!\n");
else if (!InitAmiSSLMaster(AMISSL_CURRENT_VERSION, TRUE))
FPrintf(GetStdErr(), "AmiSSL version is too old!\n");
else if (!(AmiSSLBase = OpenAmiSSL()))
FPrintf(GetStdErr(), "Couldn't open AmiSSL!\n");
else if (!GETINTERFACE(IAmiSSL, AmiSSLBase))
FPrintf(GetStdErr(), "Couldn't get AmiSSL interface!\n");
#if defined(__amigaos4__)
else if (InitAmiSSL(AmiSSL_ErrNoPtr, &errno,
AmiSSL_ISocket, ISocket,
TAG_DONE) != 0)
#else
else if (InitAmiSSL(AmiSSL_ErrNoPtr, &errno,
AmiSSL_SocketBase, SocketBase,
TAG_DONE) != 0)
#endif
FPrintf(GetStdErr(), "Couldn't initialize AmiSSL!\n");
else
AmiSSLInitialized = TRUE;
if (!AmiSSLInitialized)
Cleanup(); /* This is safe to call even if something failed above */
return(AmiSSLInitialized);
}
static void Cleanup(void)
{
if (AmiSSLInitialized)
{ /* Must always call after successful InitAmiSSL() */
CleanupAmiSSLA(NULL);
}
if (AmiSSLBase)
{
DROPINTERFACE(IAmiSSL);
CloseAmiSSL();
AmiSSLBase = NULL;
}
DROPINTERFACE(IAmiSSLMaster);
CloseLibrary(AmiSSLMasterBase);
AmiSSLMasterBase = NULL;
DROPINTERFACE(ISocket);
CloseLibrary(SocketBase);
SocketBase = NULL;
DROPINTERFACE(IUtility);
CloseLibrary(UtilityBase);
UtilityBase = NULL;
}
/* Get some suitable random seed data
*/
static void GenerateRandomSeed(char *buffer, int size)
{
int i;
#ifdef __amigaos4__
struct RandomState rs;
rs.rs_Low = clock();
rs.rs_High = time(NULL);
for(i = 0; i < size/4; i++)
{
((LONG *)buffer)[i] = Random(&rs);
}
#else
for(i = 0; i < size/2; i++)
{
((UWORD *)buffer)[i] = RangeRand(65535);
}
#endif
}
/* This callback is called everytime OpenSSL verifies a certificate
* in the chain during a connection, indicating success or failure.
*/
static int verify_cb(int preverify_ok, X509_STORE_CTX *ctx)
{
if (!preverify_ok)
{
/* Here, you could ask the user whether to ignore the failure,
* displaying information from the certificate, for example.
*/
FPrintf(GetStdErr(),"Certificate verification failed (%s)\n",
X509_verify_cert_error_string(X509_STORE_CTX_get_error(ctx)));
}
else
{
FPrintf(GetStdErr(),"Certificate verification successful (hash %08lx)\n",
X509_issuer_and_serial_hash(X509_STORE_CTX_get_current_cert(ctx)));
}
return preverify_ok;
}
/* Connect to the specified server, either directly or through the specified
* proxy using HTTP CONNECT method.
*/
static int ConnectToServer(char *host, short port, char *proxy, short pport)
{
struct sockaddr_in addr;
struct hostent *hostent;
char buffer[1024]; /* This should be dynamically alocated */
BOOL is_ok = FALSE;
char *s1, *s2;
int sock = -1;
/* Lookup hostname */
if ((hostent = gethostbyname((proxy && pport) ? proxy : host)) != NULL)
{
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons((proxy && pport) ? pport : port);
addr.sin_len = hostent->h_length;;
memcpy(&addr.sin_addr,hostent->h_addr,hostent->h_length);
}
else
FPrintf(GetStdErr(), "Host lookup failed\n");
/* Create a socket and connect to the server */
if (hostent && ((sock = socket(AF_INET, SOCK_STREAM, 0)) >= 0))
{
if (connect(sock, (struct sockaddr *)&addr, sizeof(addr)) >= 0)
{
/* For proxy connection, use SSL tunneling. First issue a HTTP CONNECT
* request and then proceed as with direct HTTPS connection.
*/
if (proxy && pport)
{
/* This should be done with snprintf to prevent buffer
* overflows, but some compilers don't have it and
* handling that would be an overkill for this example
*/
sprintf(buffer, "CONNECT %s:%ld HTTP/1.0\r\n\r\n",
host, (long)port);
/* In a real application, it would be necessary to loop
* until everything is sent or an error occurrs, but here we
* hope that everything gets sent at once.
*/
if (send(sock, buffer, strlen(buffer), 0) >= 0)
{
int len;
/* Again, some optimistic behaviour: HTTP response might not be
* received with only one recv
*/
if ((len = recv(sock, buffer, sizeof(buffer) - 1, 0)) >= 0)
{
/* Assuming it was received, find the end of
* the line and cut it off
*/
if ((s1 = strchr(buffer, '\r'))
|| (s1 = strchr(buffer, '\n')))
*s1 = '\0';
else
buffer[len] = '\0';
Printf("Proxy returned: %s\n", buffer);
/* Check if HTTP response makes sense */
if (strncmp(buffer, "HTTP/", 4) == 0
&& (s1 = strchr(buffer, ' '))
&& (s2 = strchr(++s1, ' '))
&& (s2 - s1 == 3))
{
/* Only accept HTTP 200 OK response */
if (atol(s1) == 200)
is_ok = TRUE;
else
FPrintf(GetStdErr(), "Proxy responce indicates error!\n");
}
else
FPrintf(GetStdErr(), "Amibigous proxy responce!\n");
}
else
FPrintf(GetStdErr(), "Couldn't get proxy response!\n");
}
else
FPrintf(GetStdErr(), "Couldn't send request to proxy!\n");
}
else
is_ok = TRUE;
}
else
FPrintf(GetStdErr(), "Couldn't connect to server\n");
if (!is_ok)
{
CloseSocket(sock);
sock = -1;
}
}
return(sock);
}
</pre>
==Reference==
5. Link libraries
-----------------
The following optional link libraries are supplied, for GCC on OS3/OS4 and vbcc on OS4:
- libamisslauto.a (link with -lamisslauto)
As per the standard libauto, automatically open and set up AmiSSL, without
having to worry about the initialisation code yourself. You may also compile
your own link library for a different compiler from lib/autoinit_amissl_main.c
which can be compiled with VBCC, SAS/C and GCC.
- libamisslstubs.a (link with -lamisslstubs)
Some OpenSSL functions take a pointer to another OpenSSL function as a
parameter. This becomes a problem when using standard AmigaOS library inlines,
usually causing undefined reference errors (e.g. X509_free) when linking. You
can either create your own stub functions to resolve this, which simply call
the AmiSSL functions, but for convenience you can instead link with this
library which contains stubs for all OpenSSL functions. If you wish to create
this library for a different compiler, the stubs source code can be created
on OS4 using "idltool -L amissl.xml" or on OS3 from the sfd file using tools
such as sfdc, sfd or fd2pragma.
6. Migration from AmiSSL v4
---------------------------
AmiSSL v4 is OpenSSL 1.1.x based, whilst AmiSSL v5 uses OpenSSL 3.x, but
fortunately you will not usually need to make any changes to your code, as most
things are actually backwards compatible (most functions that have been removed
or changed will be replaced by macros in the OpenSSL header files). However, we
encourage developers to use the new OpenAmiSSLTags() function, in place of
InitAmiSSLMaster(), OpenAmiSSL() and InitAmiSSL() (these functions will still
continue to operate as before). Details of OpenSSL changes are available at
https://www.openssl.org/docs/manmaster/man7/migration_guide.html and with
GCC you will receive warnings if you use any deprecated functions.
Due to the shear amount of OpenSSL 3.x API functions available, we had to split
them across two library bases on OS3 which meant the addition of AmiSSLExtBase.
AmiSSLExtBase can be obtained using the AmiSSL_GetAmiSSLExtBase tag in
OpenAmiSSLTags() (or alternatively, in InitAmiSSL() if you wish to keep using
the old functions). This does not apply to OS4, where there is one single
interface as before.
The procedure for subprocesses remains unchanged - they must continue to call
InitAmiSSL() and CleanupAmiSSL() if sharing the AmiSSL instance from the parent
task where OpenAmiSSLTags() was called.
7. Migration from AmiSSL v3
---------------------------
AmiSSL v3 is OpenSSL 0.9.x based and there were many fundamental changes in
AmiSSL v4 due to the switch to OpenSSL 1.1.x. Although there were no changes in
the AmiSSL API itself, there were lots of important changes in the OpenSSL API.
Rather than simply recompiling, depending on how heavy your OpenSSL usage is,
you may well need to make changes to your code. For example, many public
structures that were defined in the header files have now been made private.
Rather than allocating them yourself, or putting them on the stack, you will
need to use the provided new functions to obtain, access and modify these
structures. We also dropped SSLv2/v3 methods completely, so you will need to
switch to TLS.
8. Differences to OpenSSL
-------------------------
AmiSSL provides essentially the same functionality as OpenSSL, but there are a
few differences as a result of the Amiga shared library model and necessity to
support different compilers. Unlike AmiSSL v1, AmiSSL v3/v4/v5 uses
"#include <openssl/xxx.h>" scheme instead of "#include <amissl/xxx.h>" scheme.
This and some other changes should make it possible to compile most OpenSSL
programs out of the box.
The functions, e.g., BIO_set_fp(), BIO_get_fp() and BIO_new_fp() are not
available since they require a FILE * argument which is C runtime library
specific. However, there are replacement functions which have _amiga added to
their name and take a BPTR instead of FILE * argument. For example,
BIO_set_fp(bio_out, stdout, BIO_NOCLOSE) can be replaced by
BIO_set_fp_amiga(bio_out, Output(), BIO_NOCLOSE);
Also, all other stdio functions that have a FILE * argument are not available.
However, all these functions have an equivalent that accepts BIO * instead of
FILE * so these functions can be used instead. The simple sequence
<pre>
fp = fopen(file, mode);
openssl_func_fp(fp, ...);
fclose(fp)
</pre>
sequence can be replaced with the following:
<pre>
bio = BIO_new_file(file, mode);
openssl_func(bio, ...);
BIO_free(bio);
</pre>
In addition, AmiSSL adds several functions which deal with OpenSSL ciphers:
<pre>
const char *SSL_CIPHER_get_mac(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_encryption(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_authentication(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_key_exchange(SSL_CIPHER *cipher);
const char *SSL_CIPHER_get_export(SSL_CIPHER *cipher);
</pre>
These will return textual representation of requested cipher data. For example,
SSL_CIPHER_get_encryption() will return "AES(256)" when 256-bit AES cipher is
used.
9. Callback functions
---------------------
Some OpenSSL functions require you to pass your own callback function in as a
parameter. These functions will be called using default calling conventions
on OS3 and OS4. On OS3 this means AmiSSL will call your function with the
function arguments placed on the stack, whilst on OS4 they will be placed in
registers, as usual. If you have set your compiler to use a different
convention, be sure to define your callback function correctly. For example:
STDARGS SAVEDS int verify_cb(int preverify_ok, X509_STORE_CTX *ctx)
{
return preverify_ok;
}
SSL_CTX_set_verify(sslctx,SSL_VERIFY_PEER,verify_cb);
10. Stub functions
------------------
Sometimes it is necessary to pass an AmiSSL function as a function pointer
argument. Since AmiSSL functions are inside the library, it is not possible
directly. See the section about the libamisslstubs.a link library which aims to
solve this issue. However, if not using the link library, it is possible to
write your own stub function:
void NOSTACKCHECK /* STDARGS */ SAVEDS (ASN1_OBJECT_free)(ASN1_OBJECT *a)
{
ASN1_OBJECT_free(a);
}
In newly written code it is better to use a different name for the function,
but when working with already existing code it might be easier to use the same
name than to change many occurrences of f. ex. ASN1_OBJECT_free to f. ex.
ASN1_OBJECT_free_stub whenever ASN1_OBJECT_free is passed as a function
pointer.
==Issues==
11. VBCC issues
---------------
The OpenSSL header files rely on using and declaring static inline helper
functions. This means that lots of functions will be declared in every
module that you include the OpenSSL headers and probably most of them you
will not use or need. Most compilers remove these unused functions by
default and sometimes even with the optimiser completely disabled.
Unfortunately, VBCC is different and will only remove these functions if
you use -O3 when compiling. -O1 and -O2 will leave all the unused functions
in your code. If for some reason you do not wish to use -O3, you could try
-O=17375 or -O=17407. These are the equivalent of -O1 and -O2 respectively,
but with the required optimiser bit added to enable removal of the unused
functions. Alternatively, you may compile with -DAMISSL_NO_STATIC_FUNCTIONS,
which will stop all the affected functions from being declared in the first
place, but obviously you can only use this if your code is not using any of
these functions otherwise you will get errors when compiling.
12. SAS/C issues
----------------
You will need to add "PreprocessorBuffer=32768 IdentifierLength=80" to your
SC command line and have to take special care where 64-bit integers are
concerned. In particular, OPENSSL_init_ssl(), which you mignt not even be
calling directly, but is ultimately the end result of many of the macros for
older legacy SSL initialisation functions. Remember that for 64-bit
parameters, the high 32-bits are placed in D0 and the low 32-bits in D1. So,
you might want to use a workaround similar to this:
<pre>
#define OPENSSL_init_ssl_32(opts, settings) \
(putreg(REG_D1,opts), OPENSSL_init_ssl(0, settings))
</pre>
<pre>
#ifndef LIBRARIES_AMISSL_H
#define LIBRARIES_AMISSL_H
/***************************************************************************
AmiSSL - OpenSSL wrapper for AmigaOS-based systems
Copyright (c) 1999-2006 Andrija Antonijevic, Stefan Burstroem.
Copyright (c) 2006-2022 AmiSSL Open Source Team.
All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License in the file LICENSE in the
source distribution or at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
AmiSSL Official Support Site: https://github.com/jens-maus/amissl
***************************************************************************/
#define CIPHER_BLOWFISH 0x01
#define CIPHER_CAST 0x02
#define CIPHER_DES 0x03
#define CIPHER_DH 0x04
#define CIPHER_DSA 0x05
#define CIPHER_IDEA 0x06
#define CIPHER_MD2 0x07
#define CIPHER_MD4 0x08
#define CIPHER_MD5 0x09
#define CIPHER_MDC2 0x0a
#define CIPHER_RC2 0x0b
#define CIPHER_RC4 0x0c
#define CIPHER_RC5 0x0d
#define CIPHER_RIPEMD 0x0e
#define CIPHER_RSA 0x0f
#define CIPHER_SHA 0x10
#define CIPHER_AES 0x11
#define CIPHER_BlowFish CIPHER_BLOWFISH
#endif /* !LIBRARIES_AMISSL_H */
</pre>
<pre>
TABLE OF CONTENTS
amissl.library/--background--
amissl.library/CleanupAmiSSLA
amissl.library/InitAmiSSLA
amissl.library/SSL_CIPHER_get_authentication
amissl.library/SSL_CIPHER_get_encryption
amissl.library/SSL_CIPHER_get_key_exchange
amissl.library/SSL_CIPHER_get_mac
amissl.library/--background-- amissl.library/--background--
PURPOSE
The amissl.library contains the public OpenSSL API functions. There are
too many to list and document here, but you can find documentation on
the OpenSSL API at https://www.openssl.org/docs/manmaster/man3.
Instead, only the AmiSSL specific functions are documented here.
Since AmiSSL v2, you must not open this library directly. In AmiSSL v5
you should use use amisslmaster.library/OpenAmiSSLTags() instead.
In AmiSSL v2/v3/v4, use amisslmaster.library/OpenAmiSSL() and then call
InitAmiSSL() before you can start using OpenSSL functions. This is
because multiple versions of AmiSSL can be installed at the same time
with the libraries named of the form amissl_v<version>.library.
Since AmiSSL v2, each opener gets their own unique baserel based
AmiSSLBase. This can be shared between different subprocesses.
Furthermore, this is encouraged since it allows the cache of server
certificates to be used by all subprocesses that share the same
AmiSSLBase resulting in speed increase. Each subprocess MUST call
InitAmiSSL() with appropriate arguments before using any other
amissl.library calls and CleanupAmiSSL() before it exits.
amissl.library/CleanupAmiSSLA amissl.library/CleanupAmiSSLA
NAME
CleanupAmiSSLA -- cleanup the AmiSSL library (V1)
CleanupAmiSSL -- varargs stub for CleanupAmiSSLA() (V1)
SYNOPSIS
error = CleanupAmiSSLA( tagList )
LONG CleanupAmiSSLA( struct TagItem * )
error = CleanupAmiSSL( tag, ... )
LONG CleanupAmiSSL( Tag, ... );
FUNCTION
If using amisslmaster.library/OpenSSLTags() and the AmiSSL_InitAmiSSL
tag to initialise AmiSSL, you must not use this function,
as amisslmaster.library/CloseAmiSSL() will call it for you.
However, for each process using AmiSSL, where you made a successful
InitAmiSSLA() call, you must pair it with a call to this function
to cleanup and process related resources. Failure to do so can cause
AmiSSL to crash. Once this function has been called, you must not use
any OpenSSL functions.
INPUTS
tagList - pointer to an array of tags providing optional extra
parameters, or NULL.
TAGS
RESULTS
error - returns 0 on success or non-zero on failure.
SEE ALSO
InitAmiSSLA()
amissl.library/InitAmiSSLA amissl.library/InitAmiSSLA
NAME
InitAmiSSLA -- initialise the AmiSSL library (V1)
InitAmiSSL -- varargs stub for InitAmiSSLA() (V1)
SYNOPSIS
error = InitAmiSSLA( tagList )
LONG InitAmiSSLA( struct TagItem * )
error = InitAmiSSL( tag, ... )
LONG InitAmiSSL( Tag, ... );
FUNCTION
Usually, you will be using amisslmaster.library/OpenSSLTags() to
initialise AmiSSL, so you should not need to use this function
in simple applications. If you have decided delay the initialisation,
this function must be called to initialise AmiSSL, once opened,
before you can use any of the available OpenSSL functions.
Furthermore, if you would like to use AmiSSL in your application's
subprocesses, it is recommended that you share the AmiSSL instance
opened from your main process and have each process simply call
InitAmiSSLA() instead of wasting resources and opening AmiSSL for
every process.
INPUTS
tagList - pointer to an array of tags providing optional extra
parameters, or NULL.
TAGS
AmiSSL_GetAmiSSLBase - (struct Library **) Pointer to your
AmiSSLExtBase variable for AmigaOS 3.x. Because of the sheer
number of available public functions in OpenSSL, AmiSSL v5 spans
two library bases. If successful, this function will set this to
the opened library. DO NOT call CloseLibrary() on this as
CloseAmiSSL() takes care of it. Not needed in AmigaOS 4.x
applications. (V5)
AmiSSL_SocketBase - (struct Library *) Pointer to the socket base. If
the caller doesn't need any networking functionality, or if using
AmiSSL_ISocket / AmiSSL_ISocketPtr for AmigaOS 4.x, this can be
omitted. (defaults to NULL). (V1)
AmiSSL_ISocket - (struct SocketIFace *) Pointer to the socket library
interface for AmigaOS 4.x. If the caller doesn't need any
networking functionality, this can be omitted, likewise if
AmiSSL_ISocketPtr or AmiSSL_SocketBase has been specified
instead. (V3)
AmiSSL_ISocketPtr - (struct SocketIFace **) Pointer to your ISocket
variable for AmigaOS 4.x. If the caller doesn't need networking
functionality, this can be omitted, likewise if AmiSSL_ISocket or
AmiSSL_SocketBase has been specified instead. This generally
doesn't need to be used, but may be useful if you need to open
ISocket after initiliasing AmiSSL. (V3)
AmiSSL_ErrNoPtr - (int *)Pointer to the errno variable to set when
some of the C or socket library functions called by AmiSSL return
an error. You should always specify this tag or errno error
detection in your program will not work reliably. AmiSSL will
always instruct the network library to use a certain errno
pointer (ie. it will specify SBTM_SETVAL(SBTC_ERRNOLONGPTR) in
SocketBaseTags() for bsdsocket.library and similarly for other
networking packages) possibly overriding the errno pointer you
specified to the networking library yourself. If AmiSSL_ErrNoPtr
is specified, AmiSSL will use it for SBTM_SETVAL(SBTC_ERRNOLONGPTR)
or equivalent calls, otherwise it will use an internal errno
pointer and thus errno changes will not be propagated to your
application. (V2)
AmiSSL_TimerPort - (struct MsgPort *) Provide an optional dedicated
message port to be used for all timer related functions, instead of
the port that AmiSSL usually allocates itself. It must belong to
the calling process and remain valid until after CleanupAmiSSL()
has been executed, after which the application is responsible for
freeing the port. (V5.27)
AmiSSL_TimerSignal - (LONG) The signal bit to be used by the message
port which AmiSSL allocates for all timer related functions. It
must remain valid until CleanupAmiSSL() has been executed, after
which the application is responsible for freeing the signal, when
necessary. This tag is only implemented for AmigaOS 4.x, and will
be ignored if AmiSSL_TimerPort has also been specified.
(defaults to -1, allocate a new signal). (V5.27)
AmiSSL_SocketBaseBrand - (LONG) useful only if you are using
MultiTCP linker library by Stefan Burstroem, you can ignore it
otherwise. (defaults to TCPIP_AmiTCP). (V2)
AmiSSL_MLinkLock - useful only if you are using MultiTCP linker
library by Stefan Burstroem, you can ignore it otherwise. (V2)
AmiSSL_Version - OBSOLETE - Used for AmiSSL v1 only
AmiSSL_Revision - OBSOLETE - Used for AmiSSL v1 only
AmiSSL_Version_Override - OBSOLETE - Used for AmiSSL v1 only
AmiSSL_TCPStack - OBSOLETE - Used for AmiSSL v2 only
AmiSSL_SSLVersionApp - OBSOLETE - Used for AmiSSL v2/v3 only
RESULTS
error - returns 0 on success or non-zero on failure.
SEE ALSO
CleanupAmiSSLA()
amissl.library/SSL_CIPHER_get_authentication amissl.library/SSL_CIPHER_get_authentication
NAME
SSL_CIPHER_get_authentication -- get the name of a cipher's
authentication algorithm (V3)
SYNOPSIS
name = SSL_CIPHER_get_authentication( cipher )
const char *SSL_CIPHER_get_authentication( SSL_CIPHER * );
FUNCTION
Return the textual representation of a cipher's authentication algorithm.
INPUTS
cipher - pointer to a SSL cipher.
RESULTS
name - returns the cipher authentication name or "unknown".
amissl.library/SSL_CIPHER_get_encryption amissl.library/SSL_CIPHER_get_encryption
NAME
SSL_CIPHER_get_encryption -- get the name of a cipher's
encryption algorithm (V3)
SYNOPSIS
name = SSL_CIPHER_get_encryption( cipher )
const char *SSL_CIPHER_get_encryption( SSL_CIPHER * );
FUNCTION
Return the textual representation of a cipher's encryption algorithm.
INPUTS
cipher - pointer to a SSL cipher.
RESULTS
name - returns the cipher encryption name or "unknown".
amissl.library/SSL_CIPHER_get_export amissl.library/SSL_CIPHER_get_export
NAME
SSL_CIPHER_get_key_exchange -- get the name of a cipher's
key exchange algorithm (V3)
SYNOPSIS
name = SSL_CIPHER_get_key_exchange( cipher )
const char *SSL_CIPHER_get_key_exchange( SSL_CIPHER * );
FUNCTION
Return the textual representation of a cipher's key exchange algorithm.
INPUTS
cipher - pointer to a SSL cipher.
RESULTS
name - returns the cipher key exchange name or "unknown".
amissl.library/SSL_CIPHER_get_mac amissl.library/SSL_CIPHER_get_mac
NAME
SSL_CIPHER_get_mac -- get the name of a cipher's mac algorithm (V3)
SYNOPSIS
name = SSL_CIPHER_get_mac( cipher )
const char *SSL_CIPHER_get_mac( SSL_CIPHER * );
FUNCTION
Return the textual representation of a cipher's mac algorithm.
INPUTS
cipher - pointer to a SSL cipher.
RESULTS
name - returns the cipher mac name or "unknown".
</pre>
5e4t299kz2nz3k5sbou2yh6kbi1gjcq
Template:Value/testcases
10
483910
4639961
2026-06-11T23:19:28Z
Rainmonger
122366
Created page with "This is used to test [[Module:Val]] invoked with {{Tl|Value}}, or [[Module:Val/sandbox]] invoked with {{Tl|Value/sandbox}}. The test results on the [[Template talk:Value/testcases|'''talk page''']] compare the output from the current template with the fixed wikitext below—when the modules are changed, any different results can be investigated to check that the module is performing satisfactorily. The expected result is the text after the template, separated with any a..."
4639961
wikitext
text/x-wiki
This is used to test [[Module:Val]] invoked with {{Tl|Value}}, or [[Module:Val/sandbox]] invoked with {{Tl|Value/sandbox}}.
The test results on the [[Template talk:Value/testcases|'''talk page''']] compare the output from the current template with the fixed wikitext below—when the modules are changed, any different results can be investigated to check that the module is performing satisfactorily. The expected result is the text after the template, separated with any amount of whitespace.
<pre>
-- Basic
{{Value|1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1</span>
{{Value|-1}} <span class="nowrap"><span data-sort-value="2999900000000000000♠"></span>−1</span>
{{Value|1|u=|up=}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1</span>
{{Value|1|2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1<span style="margin-left:0.225em;margin-right:0.225em;">±</span>2</span>
{{Value|1|(2)}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1(2)</span>
{{Value|1|1|1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+1<br />−1</span></span></span>
{{Value|1|2|-3}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+2<br />−3</span></span></span>
{{Value|1|+2|-3}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+2<br />−3</span></span></span>
{{Value|12|+34|-5}} <span class="nowrap"><span data-sort-value="7001120000000000000♠"></span>12<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+34<br />−5</span></span></span>
{{Value|12|+3|-45}} <span class="nowrap"><span data-sort-value="7001120000000000000♠"></span>12<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+3<br />−45</span></span></span>
{{Value|0.123|+0.111|-0.999}} <span class="nowrap"><span data-sort-value="6999123000000000000♠"></span>0.123<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+0.111<br />−0.999</span></span></span>
{{Value|0}} <span class="nowrap"><span data-sort-value="5000000000000000000♠"></span>0</span>
{{Value|0.00}} <span class="nowrap"><span data-sort-value="5000000000000000000♠"></span>0.00</span>
{{Value|1.00}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1.00</span>
{{Value|1|1|-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+1<br />−1</span></span></span>
{{Value|1.00|1.00|-1.00}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1.00<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+1.00<br />−1.00</span></span></span>
-- Exponents
{{Value|e=2}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>10<sup>2</sup></span>
{{Value|1|e=2}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>2</sup></span>
{{Value|1|e=-2}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>−2</sup></span>
{{Value|1|2|e=3}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>(1<span style="margin-left:0.225em;margin-right:0.225em;">±</span>2)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>3</sup></span>
{{Value|1|(2)|e=3}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1(2)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>3</sup></span>
{{Value|1|2|3|e=4}} <span class="nowrap"><span data-sort-value="7004100000000000000♠"></span>1<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+2<br />−3</span></span><span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>4</sup></span>
{{Value|.95|e=21|u=kg}} <span class="nowrap"><span data-sort-value="7020950000000000000♠"></span>0.95<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>21</sup> kg</span>
{{Value|1.234|e=6}} <span class="nowrap"><span data-sort-value="7006123400000000000♠"></span>1.234<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>6</sup></span>
{{Value|1.234|e=-6}} <span class="nowrap"><span data-sort-value="6994123400000000000♠"></span>1.234<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>−6</sup></span>
{{Value|1.234|e=6|u=cm}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>6</sup> cm</span>
{{Value|1.234|e=-6|u=cm}} <span class="nowrap"><span data-sort-value="6992123400000000000♠"></span>1.234<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>−6</sup> cm</span>
{{Value|1e12}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup></span>
{{Value|1e+12}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>+12</sup></span>
{{Value|1e-12}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>−12</sup></span>
{{Value|1e12|34}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>(1<span style="margin-left:0.225em;margin-right:0.225em;">±</span>34)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup></span>
{{Value|1e+12|34}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>(1<span style="margin-left:0.225em;margin-right:0.225em;">±</span>34)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>+12</sup></span>
{{Value|1e-12|34}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>(1<span style="margin-left:0.225em;margin-right:0.225em;">±</span>34)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>−12</sup></span>
{{Value|1e12|(34)}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1(34)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup></span>
{{Value|1e+12|(34)}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1(34)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>+12</sup></span>
{{Value|1e-12|(34)}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1(34)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>−12</sup></span>
{{Value|1e12|34|56}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+34<br />−56</span></span><span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup></span>
{{Value|1e+12|34|56}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+34<br />−56</span></span><span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>+12</sup></span>
{{Value|1e-12|34|56}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+34<br />−56</span></span><span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>−12</sup></span>
-- Prefix/suffix
{{Value|p=Foo-|12.34|s=-bar}} <span class="nowrap"><span data-sort-value="7001123400000000000♠"></span>Foo-12.34-bar</span>
{{Value|p=pre-|1.9|0.1|-0.5|e=-7|ul=kg|s=-suf}} <span class="nowrap"><span data-sort-value="6993189999999999999♠"></span>pre-1.9<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+0.1<br />−0.5</span></span><span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>−7</sup> [[w:Kilogram|kg]]-suf</span>
{{Value|u=cm|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap">{cm}</span>
{{Value|1234.5678|u=cm|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap"><span data-sort-value="7001123456780000000♠"></span>{1<span style="margin-left:.25em;">234</span>.5678$ cm}</span>
{{Value|1234.5678|(23)|u=cm|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap"><span data-sort-value="7001123456780000000♠"></span>{1<span style="margin-left:.25em;">234</span>.5678$(23)E$ cm}</span>
{{Value|1234.5678|1.23|u=cm|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap"><span data-sort-value="7001123456780000000♠"></span>{1<span style="margin-left:.25em;">234</span>.5678$<span style="margin-left:0.225em;margin-right:0.225em;">±</span>1.23E$ cm}</span>
{{Value|1234.5678|1.23|4.56|u=cm|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap"><span data-sort-value="7001123456780000000♠"></span>{1<span style="margin-left:.25em;">234</span>.5678$<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+1.23U$<br />−4.56L$</span></span> cm}</span>
{{Value|e=3|u=cm|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>{10<sup>3</sup> cm}</span>
{{Value|1234.5678|e=3|u=cm|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap"><span data-sort-value="7004123456780000000♠"></span>{1<span style="margin-left:.25em;">234</span>.5678$<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>3</sup> cm}</span>
{{Value|1234.5678|(23)|e=3|u=cm|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap"><span data-sort-value="7004123456780000000♠"></span>{1<span style="margin-left:.25em;">234</span>.5678$(23)E$<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>3</sup> cm}</span>
{{Value|1234.5678|1.23|e=3|u=cm|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap"><span data-sort-value="7004123456780000000♠"></span>{(1<span style="margin-left:.25em;">234</span>.5678$<span style="margin-left:0.225em;margin-right:0.225em;">±</span>1.23E$)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>3</sup> cm}</span>
{{Value|1234.5678|1.23|4.56|e=3|u=cm|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap"><span data-sort-value="7004123456780000000♠"></span>{1<span style="margin-left:.25em;">234</span>.5678$<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+1.23U$<br />−4.56L$</span></span><span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>3</sup> cm}</span>
{{Value|u=deg|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap">{}</span>
{{Value|1234.5678|u=deg|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap"><span data-sort-value="7001215472729491028♠"></span>{1<span style="margin-left:.25em;">234</span>.5678$°}</span>
{{Value|1234.5678|(23)|u=deg|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap"><span data-sort-value="7001215472729491028♠"></span>{1<span style="margin-left:.25em;">234</span>.5678$(23)E$°}</span>
{{Value|1234.5678|1.23|u=deg|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap"><span data-sort-value="7001215472729491028♠"></span>{1<span style="margin-left:.25em;">234</span>.5678$°<span style="margin-left:0.225em;margin-right:0.225em;">±</span>1.23E$°}</span>
{{Value|1234.5678|1.23|4.56|u=deg|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap"><span data-sort-value="7001215472729491028♠"></span>{1<span style="margin-left:.25em;">234</span>.5678$°<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+1.23U$°<br />−4.56L$°</span></span>}</span>
{{Value|e=3|u=deg|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap"><span data-sort-value="7001174532925199433♠"></span>{10<sup>3</sup>}</span>
{{Value|1234.5678|e=3|u=deg|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap"><span data-sort-value="7004215472729491029♠"></span>{1<span style="margin-left:.25em;">234</span>.5678$°<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>3</sup>}</span>
{{Value|1234.5678|(23)|e=3|u=deg|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap"><span data-sort-value="7004215472729491029♠"></span>{1<span style="margin-left:.25em;">234</span>.5678$(23)E$°<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>3</sup>}</span>
{{Value|1234.5678|1.23|e=3|u=deg|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap"><span data-sort-value="7004215472729491029♠"></span>{(1<span style="margin-left:.25em;">234</span>.5678$°<span style="margin-left:0.225em;margin-right:0.225em;">±</span>1.23E$°)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>3</sup>}</span>
{{Value|1234.5678|1.23|4.56|e=3|u=deg|p={|s=}|end=$|errend=E$|+errend=U$|-errend=L$}} <span class="nowrap"><span data-sort-value="7004215472729491029♠"></span>{1<span style="margin-left:.25em;">234</span>.5678$°<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+1.23U$°<br />−4.56L$°</span></span><span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>3</sup>}</span>
-- Units with/without links
{{Value|1|u=Foo}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 <samp>Foo</samp></span>
{{Value|1|ul=Foo}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Hz|<samp>Foo</samp>]]</span>
{{Value|1|u=m/s}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 m/s</span>
{{Value|1|u=m.s-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 m⋅s<sup>−1</sup></span>
{{Value|1|u=m|up=s}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 m/s</span>
{{Value|1|ul=m/s}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Metre per second|m/s]]</span>
{{Value|1|ul=m.s-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Metre per second|m⋅s<sup>−1</sup>]]</span>
{{Value|1|ul=m|up=s}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Metre|m]]/s</span>
{{Value|1|u=m|upl=s}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 m/[[w:Second|s]]</span>
{{Value|1|ul=m|upl=s}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Metre|m]]/[[w:Second|s]]</span>
{{Value|1.234}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234</span>
{{Value|1.234|u=kg}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234 kg</span>
{{Value|1.234|up=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234/cm<sup>2</sup></span>
{{Value|1.234|u=kg|up=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234 kg/cm<sup>2</sup></span>
{{Value|1.234|(56)}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234(56)</span>
{{Value|1.234|(56)|u=kg}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234(56) kg</span>
{{Value|1.234|(56)|up=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234(56)/cm<sup>2</sup></span>
{{Value|1.234|(56)|u=kg|up=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234(56) kg/cm<sup>2</sup></span>
{{Value|1.234|56}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234<span style="margin-left:0.225em;margin-right:0.225em;">±</span>56</span>
{{Value|1.234|56|u=kg}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234<span style="margin-left:0.225em;margin-right:0.225em;">±</span>56 kg</span>
{{Value|1.234|56|up=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234<span style="margin-left:0.225em;margin-right:0.225em;">±</span>56/cm<sup>2</sup></span>
{{Value|1.234|56|u=kg|up=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234<span style="margin-left:0.225em;margin-right:0.225em;">±</span>56 kg/cm<sup>2</sup></span>
{{Value|1.234|56|7}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+56<br />−7</span></span></span>
{{Value|1.234|56|7|u=kg}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+56<br />−7</span></span> kg</span>
{{Value|1.234|56|7|up=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+56<br />−7</span></span>/cm<sup>2</sup></span>
{{Value|1.234|56|7|u=kg|up=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+56<br />−7</span></span> kg/cm<sup>2</sup></span>
{{Value|1.234|ul=kg}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234 [[w:Kilogram|kg]]</span>
{{Value|1.234|up=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234/cm<sup>2</sup></span>
{{Value|1.234|ul=kg|up=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234 [[w:Kilogram|kg]]/cm<sup>2</sup></span>
{{Value|1.234|(56)}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234(56)</span>
{{Value|1.234|(56)|ul=kg}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234(56) [[w:Kilogram|kg]]</span>
{{Value|1.234|(56)|up=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234(56)/cm<sup>2</sup></span>
{{Value|1.234|(56)|ul=kg|up=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234(56) [[w:Kilogram|kg]]/cm<sup>2</sup></span>
{{Value|1.234|56}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234<span style="margin-left:0.225em;margin-right:0.225em;">±</span>56</span>
{{Value|1.234|56|ul=kg}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234<span style="margin-left:0.225em;margin-right:0.225em;">±</span>56 [[w:Kilogram|kg]]</span>
{{Value|1.234|56|up=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234<span style="margin-left:0.225em;margin-right:0.225em;">±</span>56/cm<sup>2</sup></span>
{{Value|1.234|56|ul=kg|up=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234<span style="margin-left:0.225em;margin-right:0.225em;">±</span>56 [[w:Kilogram|kg]]/cm<sup>2</sup></span>
{{Value|1.234|56|7}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+56<br />−7</span></span></span>
{{Value|1.234|56|7|ul=kg}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+56<br />−7</span></span> [[w:Kilogram|kg]]</span>
{{Value|1.234|56|7|up=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+56<br />−7</span></span>/cm<sup>2</sup></span>
{{Value|1.234|56|7|ul=kg|up=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+56<br />−7</span></span> [[w:Kilogram|kg]]/cm<sup>2</sup></span>
{{Value|1.234|u=kg}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234 kg</span>
{{Value|1.234|upl=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234/[[w:Square centimetre|cm<sup>2</sup>]]</span>
{{Value|1.234|u=kg|upl=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234 kg/[[w:Square centimetre|cm<sup>2</sup>]]</span>
{{Value|1.234|(56)}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234(56)</span>
{{Value|1.234|(56)|u=kg}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234(56) kg</span>
{{Value|1.234|(56)|upl=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234(56)/[[w:Square centimetre|cm<sup>2</sup>]]</span>
{{Value|1.234|(56)|u=kg|upl=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234(56) kg/[[w:Square centimetre|cm<sup>2</sup>]]</span>
{{Value|1.234|56}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234<span style="margin-left:0.225em;margin-right:0.225em;">±</span>56</span>
{{Value|1.234|56|u=kg}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234<span style="margin-left:0.225em;margin-right:0.225em;">±</span>56 kg</span>
{{Value|1.234|56|upl=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234<span style="margin-left:0.225em;margin-right:0.225em;">±</span>56/[[w:Square centimetre|cm<sup>2</sup>]]</span>
{{Value|1.234|56|u=kg|upl=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234<span style="margin-left:0.225em;margin-right:0.225em;">±</span>56 kg/[[w:Square centimetre|cm<sup>2</sup>]]</span>
{{Value|1.234|56|7}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+56<br />−7</span></span></span>
{{Value|1.234|56|7|u=kg}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+56<br />−7</span></span> kg</span>
{{Value|1.234|56|7|upl=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+56<br />−7</span></span>/[[w:Square centimetre|cm<sup>2</sup>]]</span>
{{Value|1.234|56|7|u=kg|upl=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+56<br />−7</span></span> kg/[[w:Square centimetre|cm<sup>2</sup>]]</span>
{{Value|1.234|ul=kg}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234 [[w:Kilogram|kg]]</span>
{{Value|1.234|upl=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234/[[w:Square centimetre|cm<sup>2</sup>]]</span>
{{Value|1.234|ul=kg|upl=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234 [[w:Kilogram|kg]]/[[w:Square centimetre|cm<sup>2</sup>]]</span>
{{Value|1.234|(56)}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234(56)</span>
{{Value|1.234|(56)|ul=kg}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234(56) [[w:Kilogram|kg]]</span>
{{Value|1.234|(56)|upl=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234(56)/[[w:Square centimetre|cm<sup>2</sup>]]</span>
{{Value|1.234|(56)|ul=kg|upl=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234(56) [[w:Kilogram|kg]]/[[w:Square centimetre|cm<sup>2</sup>]]</span>
{{Value|1.234|56}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234<span style="margin-left:0.225em;margin-right:0.225em;">±</span>56</span>
{{Value|1.234|56|ul=kg}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234<span style="margin-left:0.225em;margin-right:0.225em;">±</span>56 [[w:Kilogram|kg]]</span>
{{Value|1.234|56|upl=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234<span style="margin-left:0.225em;margin-right:0.225em;">±</span>56/[[w:Square centimetre|cm<sup>2</sup>]]</span>
{{Value|1.234|56|ul=kg|upl=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234<span style="margin-left:0.225em;margin-right:0.225em;">±</span>56 [[w:Kilogram|kg]]/[[w:Square centimetre|cm<sup>2</sup>]]</span>
{{Value|1.234|56|7}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+56<br />−7</span></span></span>
{{Value|1.234|56|7|ul=kg}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+56<br />−7</span></span> [[w:Kilogram|kg]]</span>
{{Value|1.234|56|7|upl=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+56<br />−7</span></span>/[[w:Square centimetre|cm<sup>2</sup>]]</span>
{{Value|1.234|56|7|ul=kg|upl=cm2}} <span class="nowrap"><span data-sort-value="7004123400000000000♠"></span>1.234<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+56<br />−7</span></span> [[w:Kilogram|kg]]/[[w:Square centimetre|cm<sup>2</sup>]]</span>
{{Value|-1.758820088|(39)|e=11|u=[[w:Coulomb|C]]/[[w:kilogram|kg]]}} <span class="nowrap"><span data-sort-value="2988824117991200000♠"></span>−1.758<span style="margin-left:.25em;">820</span><span style="margin-left:.25em;">088</span>(39)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>11</sup> [[w:Coulomb|C]]/[[w:kilogram|kg]]</span>
{{Value|0.510998910|(13)|ul=MeV/c2}} <span class="nowrap"><span data-sort-value="6999510998910000000♠"></span>0.510<span style="margin-left:.25em;">998</span><span style="margin-left:.25em;">910</span>(13) [[w:Electronvolt#Mass|MeV/''c''<sup>2</sup>]]</span>
{{Value|105.658367|(4)|u=MeV/c2}} <span class="nowrap"><span data-sort-value="7002105658367000000♠"></span>105.658<span style="margin-left:.25em;">367</span>(4) MeV/''c''<sup>2</sup></span>
{{Value|1776.84|(17)|u=MeV/c2}} <span class="nowrap"><span data-sort-value="7003177684000000000♠"></span>1<span style="margin-left:.25em;">776</span>.84(17) MeV/''c''<sup>2</sup></span>
{{Value|-1.91304272|(45)|u=''μ''<sub>N</sub>}} <span class="nowrap"><span data-sort-value="2999808695728000000♠"></span>−1.913<span style="margin-left:.25em;">042</span><span style="margin-left:.25em;">72</span>(45) ''μ''<sub>N</sub></span>
{{Value|-9.6623647|(23)|e=-27|u=[[w:Joule|J]]·[[w:Tesla (unit)|T]]<sup>−1</sup>}} <span class="nowrap"><span data-sort-value="3026033763530000000♠"></span>−9.662<span style="margin-left:.25em;">3647</span>(23)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>−27</sup> [[w:Joule|J]]·[[w:Tesla (unit)|T]]<sup>−1</sup></span>
{{Value|7.53|+0.27|-0.25|u=[[w:light-year]]s}} <span class="nowrap"><span data-sort-value="7000753000000000000♠"></span>7.53<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+0.27<br />−0.25</span></span> [[w:light-year]]s</span>
{{Value|1.805635|0.000375|e=21|u=kg}} <span class="nowrap"><span data-sort-value="7021180563500000000♠"></span>(1.805<span style="margin-left:.25em;">635</span><span style="margin-left:0.225em;margin-right:0.225em;">±</span>0.000<span style="margin-left:.25em;">375</span>)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>21</sup> kg</span>
-- Per units
{{Value|1|up=s}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1/s</span>
{{Value|1|upl=s}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1/[[w:Second|s]]</span>
{{Value|1|u=m|up=s}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 m/s</span>
{{Value|1|u=kg|up=N.m}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 kg/(N⋅m)</span>
{{Value|1|u=W|up=mg/ml}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 W/(mg/ml)</span>
{{Value|1|u=kW.h|up=s}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 (kW⋅h)/s</span>
{{Value|1|u=kW.h|up=N.m}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 (kW⋅h)/(N⋅m)</span>
{{Value|1|u=kW.h|up=mg/ml}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 (kW⋅h)/(mg/ml)</span>
{{Value|1|u=km/h|up=s}} <span class="nowrap"><span data-sort-value="6999277777777777777♠"></span>1 (km/h)/s</span>
{{Value|1|u=km/h|up=N.m}} <span class="nowrap"><span data-sort-value="6999277777777777777♠"></span>1 (km/h)/(N⋅m)</span>
{{Value|1|u=km/h|up=mg/ml}} <span class="nowrap"><span data-sort-value="6999277777777777777♠"></span>1 (km/h)/(mg/ml)</span>
-- Non-spaced units.
{{Value|1|u=deg}} <span class="nowrap"><span data-sort-value="6998174532925199433♠"></span>1°</span>
{{Value|1|2|u=deg}} <span class="nowrap"><span data-sort-value="6998174532925199433♠"></span>1°<span style="margin-left:0.225em;margin-right:0.225em;">±</span>2°</span>
{{Value|1|(2)|u=deg}} <span class="nowrap"><span data-sort-value="6998174532925199433♠"></span>1(2)°</span>
{{Value|1|2|-3|u=deg}} <span class="nowrap"><span data-sort-value="6998174532925199433♠"></span>1°<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+2°<br />−3°</span></span></span>
{{Value|1|2|e=3|ul=deg}} <span class="nowrap"><span data-sort-value="7001174532925199433♠"></span>(1[[w:Degree (angle)|°]]<span style="margin-left:0.225em;margin-right:0.225em;">±</span>2[[w:Degree (angle)|°]])<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>3</sup></span>
{{Value|1|(2)|e=3|u=deg}} <span class="nowrap"><span data-sort-value="7001174532925199433♠"></span>1(2)°<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>3</sup></span>
{{Value|1|2|-3|e=4|u=deg}} <span class="nowrap"><span data-sort-value="7002174532925199433♠"></span>1°<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+2°<br />−3°</span></span><span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>4</sup></span>
{{Value|1|ul=%}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1[[w:Percent|%]]</span>
{{Value|1|2|ul=%}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1[[w:Percent|%]]<span style="margin-left:0.225em;margin-right:0.225em;">±</span>2[[w:Percent|%]]</span>
{{Value|1|(2)|ul=%}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1(2)[[w:Percent|%]]</span>
{{Value|1|2|-3|ul=%}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1[[w:Percent|%]]<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+2[[w:Percent|%]]<br />−3[[w:Percent|%]]</span></span></span>
{{Value|1|2|e=3|ul=%}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>(1[[w:Percent|%]]<span style="margin-left:0.225em;margin-right:0.225em;">±</span>2[[w:Percent|%]])<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>3</sup></span>
{{Value|1|(2)|e=3|ul=%}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1(2)[[w:Percent|%]]<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>3</sup></span>
{{Value|1|2|-3|e=4|ul=%}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1[[w:Percent|%]]<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+2[[w:Percent|%]]<br />−3[[w:Percent|%]]</span></span><span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>4</sup></span>
-- Grouping digits
{{Value|12}} <span class="nowrap"><span data-sort-value="7001120000000000000♠"></span>12</span>
{{Value|123}} <span class="nowrap"><span data-sort-value="7002123000000000000♠"></span>123</span>
{{Value|1234}} <span class="nowrap"><span data-sort-value="7003123400000000000♠"></span>1234</span>
{{Value|+1234}} <span class="nowrap"><span data-sort-value="7003123400000000000♠"></span>+1234</span>
{{Value|12345}} <span class="nowrap"><span data-sort-value="7004123450000000000♠"></span>12<span style="margin-left:.25em;">345</span></span>
{{Value|123456}} <span class="nowrap"><span data-sort-value="7005123456000000000♠"></span>123<span style="margin-left:.25em;">456</span></span>
{{Value|1234567}} <span class="nowrap"><span data-sort-value="7006123456700000000♠"></span>1<span style="margin-left:.25em;">234</span><span style="margin-left:.25em;">567</span></span>
{{Value|12345678}} <span class="nowrap"><span data-sort-value="7007123456780000000♠"></span>12<span style="margin-left:.25em;">345</span><span style="margin-left:.25em;">678</span></span>
{{Value|123456789}} <span class="nowrap"><span data-sort-value="7008123456789000000♠"></span>123<span style="margin-left:.25em;">456</span><span style="margin-left:.25em;">789</span></span>
{{Value|1234567890}} <span class="nowrap"><span data-sort-value="7009123456789000000♠"></span>1<span style="margin-left:.25em;">234</span><span style="margin-left:.25em;">567</span><span style="margin-left:.25em;">890</span></span>
{{Value|12345678901}} <span class="nowrap"><span data-sort-value="7010123456789010000♠"></span>12<span style="margin-left:.25em;">345</span><span style="margin-left:.25em;">678</span><span style="margin-left:.25em;">901</span></span>
{{Value|123456789012}} <span class="nowrap"><span data-sort-value="7011123456789012000♠"></span>123<span style="margin-left:.25em;">456</span><span style="margin-left:.25em;">789</span><span style="margin-left:.25em;">012</span></span>
{{Value|1234567890123}} <span class="nowrap"><span data-sort-value="7012123456789012300♠"></span>1<span style="margin-left:.25em;">234</span><span style="margin-left:.25em;">567</span><span style="margin-left:.25em;">890</span><span style="margin-left:.25em;">123</span></span>
{{Value|12345678901234}} <span class="nowrap"><span data-sort-value="7013123456789012340♠"></span>12<span style="margin-left:.25em;">345</span><span style="margin-left:.25em;">678</span><span style="margin-left:.25em;">901</span><span style="margin-left:.25em;">234</span></span>
{{Value|123456789012345}} <span class="nowrap"><span data-sort-value="7014123456789012345♠"></span>123<span style="margin-left:.25em;">456</span><span style="margin-left:.25em;">789</span><span style="margin-left:.25em;">012</span><span style="margin-left:.25em;">345</span></span>
{{Value|-12}} <span class="nowrap"><span data-sort-value="2998880000000000000♠"></span>−12</span>
{{Value|-123}} <span class="nowrap"><span data-sort-value="2997877000000000000♠"></span>−123</span>
{{Value|-1234}} <span class="nowrap"><span data-sort-value="2996876600000000000♠"></span>−1234</span>
{{Value|-12345}} <span class="nowrap"><span data-sort-value="2995876550000000000♠"></span>−12<span style="margin-left:.25em;">345</span></span>
{{Value|-123456}} <span class="nowrap"><span data-sort-value="2994876544000000000♠"></span>−123<span style="margin-left:.25em;">456</span></span>
{{Value|-1234567}} <span class="nowrap"><span data-sort-value="2993876543300000000♠"></span>−1<span style="margin-left:.25em;">234</span><span style="margin-left:.25em;">567</span></span>
{{Value|-12345678}} <span class="nowrap"><span data-sort-value="2992876543220000000♠"></span>−12<span style="margin-left:.25em;">345</span><span style="margin-left:.25em;">678</span></span>
{{Value|-123456789}} <span class="nowrap"><span data-sort-value="2991876543211000000♠"></span>−123<span style="margin-left:.25em;">456</span><span style="margin-left:.25em;">789</span></span>
{{Value|-1234567890}} <span class="nowrap"><span data-sort-value="2990876543211000000♠"></span>−1<span style="margin-left:.25em;">234</span><span style="margin-left:.25em;">567</span><span style="margin-left:.25em;">890</span></span>
{{Value|-12345678901}} <span class="nowrap"><span data-sort-value="2989876543210990000♠"></span>−12<span style="margin-left:.25em;">345</span><span style="margin-left:.25em;">678</span><span style="margin-left:.25em;">901</span></span>
{{Value|-123456789012}} <span class="nowrap"><span data-sort-value="2988876543210988000♠"></span>−123<span style="margin-left:.25em;">456</span><span style="margin-left:.25em;">789</span><span style="margin-left:.25em;">012</span></span>
{{Value|-1234567890123}} <span class="nowrap"><span data-sort-value="2987876543210987700♠"></span>−1<span style="margin-left:.25em;">234</span><span style="margin-left:.25em;">567</span><span style="margin-left:.25em;">890</span><span style="margin-left:.25em;">123</span></span>
{{Value|-12345678901234}} <span class="nowrap"><span data-sort-value="2986876543210987660♠"></span>−12<span style="margin-left:.25em;">345</span><span style="margin-left:.25em;">678</span><span style="margin-left:.25em;">901</span><span style="margin-left:.25em;">234</span></span>
{{Value|-123456789012345}} <span class="nowrap"><span data-sort-value="2985876543210987655♠"></span>−123<span style="margin-left:.25em;">456</span><span style="margin-left:.25em;">789</span><span style="margin-left:.25em;">012</span><span style="margin-left:.25em;">345</span></span>
{{Value|1.2}} <span class="nowrap"><span data-sort-value="7000120000000000000♠"></span>1.2</span>
{{Value|1.23}} <span class="nowrap"><span data-sort-value="7000123000000000000♠"></span>1.23</span>
{{Value|1.234}} <span class="nowrap"><span data-sort-value="7000123400000000000♠"></span>1.234</span>
{{Value|1.2345}} <span class="nowrap"><span data-sort-value="7000123450000000000♠"></span>1.2345</span>
{{Value|1.23456}} <span class="nowrap"><span data-sort-value="7000123456000000000♠"></span>1.234<span style="margin-left:.25em;">56</span></span>
{{Value|1.234567}} <span class="nowrap"><span data-sort-value="7000123456700000000♠"></span>1.234<span style="margin-left:.25em;">567</span></span>
{{Value|1.2345678}} <span class="nowrap"><span data-sort-value="7000123456780000000♠"></span>1.234<span style="margin-left:.25em;">5678</span></span>
{{Value|1.23456789}} <span class="nowrap"><span data-sort-value="7000123456788999999♠"></span>1.234<span style="margin-left:.25em;">567</span><span style="margin-left:.25em;">89</span></span>
{{Value|1.234567890}} <span class="nowrap"><span data-sort-value="7000123456788999999♠"></span>1.234<span style="margin-left:.25em;">567</span><span style="margin-left:.25em;">890</span></span>
{{Value|1.2345678901}} <span class="nowrap"><span data-sort-value="7000123456789009999♠"></span>1.234<span style="margin-left:.25em;">567</span><span style="margin-left:.25em;">8901</span></span>
{{Value|1.23456789012}} <span class="nowrap"><span data-sort-value="7000123456789011999♠"></span>1.234<span style="margin-left:.25em;">567</span><span style="margin-left:.25em;">890</span><span style="margin-left:.25em;">12</span></span>
{{Value|1.234567890123}} <span class="nowrap"><span data-sort-value="7000123456789012300♠"></span>1.234<span style="margin-left:.25em;">567</span><span style="margin-left:.25em;">890</span><span style="margin-left:.25em;">123</span></span>
{{Value|1.2345678901234}} <span class="nowrap"><span data-sort-value="7000123456789012340♠"></span>1.234<span style="margin-left:.25em;">567</span><span style="margin-left:.25em;">890</span><span style="margin-left:.25em;">1234</span></span>
{{Value|1.23456789012345}} <span class="nowrap"><span data-sort-value="7000123456789012345♠"></span>1.234<span style="margin-left:.25em;">567</span><span style="margin-left:.25em;">890</span><span style="margin-left:.25em;">123</span><span style="margin-left:.25em;">45</span></span>
{{Value|123456789012345|fmt=commas}} <span class="nowrap"><span data-sort-value="7014123456789012345♠"></span>123,456,789,012,345</span>
{{Value|123456789012345.12345|fmt=commas}} <span class="nowrap"><span data-sort-value="7014123456789012345♠"></span>123,456,789,012,345.12345</span>
{{Value|-123456789012345|fmt=commas}} <span class="nowrap"><span data-sort-value="2985876543210987655♠"></span>−123,456,789,012,345</span>
{{Value|-123456789012345.12345|fmt=commas}} <span class="nowrap"><span data-sort-value="2985876543210987654♠"></span>−123,456,789,012,345.12345</span>
{{Value|123456789012345|fmt=none}} <span class="nowrap"><span data-sort-value="7014123456789012345♠"></span>123456789012345</span>
{{Value|123456789012345.12345|fmt=none}} <span class="nowrap"><span data-sort-value="7014123456789012345♠"></span>123456789012345.12345</span>
{{Value|-123456789012345|fmt=none}} <span class="nowrap"><span data-sort-value="2985876543210987655♠"></span>−123456789012345</span>
{{Value|-123456789012345.12345|fmt=none}} <span class="nowrap"><span data-sort-value="2985876543210987654♠"></span>−123456789012345.12345</span>
-- Formatting large numbers.
{{Value|12345}} <span class="nowrap"><span data-sort-value="7004123450000000000♠"></span>12<span style="margin-left:.25em;">345</span></span>
{{Value|12345|12345}} <span class="nowrap"><span data-sort-value="7004123450000000000♠"></span>12<span style="margin-left:.25em;">345</span><span style="margin-left:0.225em;margin-right:0.225em;">±</span>12<span style="margin-left:.25em;">345</span></span>
{{Value|12345|(12345)}} <span class="nowrap"><span data-sort-value="7004123450000000000♠"></span>12<span style="margin-left:.25em;">345</span>(12345)</span>
{{Value|12345|12345|-12345}} <span class="nowrap"><span data-sort-value="7004123450000000000♠"></span>12<span style="margin-left:.25em;">345</span><span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+12<span style="margin-left:.25em;">345</span><br />−12<span style="margin-left:.25em;">345</span></span></span></span>
{{Value|12345|e=12345}} <span class="nowrap"><span data-sort-value="9000000000000000000♠"></span>12<span style="margin-left:.25em;">345</span><span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12<span style="margin-left:.25em;">345</span></sup></span>
{{Value|12345|e=-12345}} <span class="nowrap"><span data-sort-value="5000000000000000000♠"></span>12<span style="margin-left:.25em;">345</span><span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>−12<span style="margin-left:.25em;">345</span></sup></span>
-- Four-digit integer defaults to no gap
{{Value|1234}} <span class="nowrap"><span data-sort-value="7003123400000000000♠"></span>1234</span>
{{Value|1234|fmt=none}} <span class="nowrap"><span data-sort-value="7003123400000000000♠"></span>1234</span>
{{Value|1234|fmt=gaps}} <span class="nowrap"><span data-sort-value="7003123400000000000♠"></span>1<span style="margin-left:.25em;">234</span></span>
{{Value|1234|fmt=commas}} <span class="nowrap"><span data-sort-value="7003123400000000000♠"></span>1,234</span>
{{Value|1234.}} <span class="nowrap"><span data-sort-value="7003123400000000000♠"></span>1<span style="margin-left:.25em;">234</span>.</span>
{{Value|1234.|fmt=none}} <span class="nowrap"><span data-sort-value="7003123400000000000♠"></span>1234.</span>
{{Value|1234.|fmt=gaps}} <span class="nowrap"><span data-sort-value="7003123400000000000♠"></span>1<span style="margin-left:.25em;">234</span>.</span>
{{Value|1234.|fmt=commas}} <span class="nowrap"><span data-sort-value="7003123400000000000♠"></span>1,234.</span>
{{Value|1234.0}} <span class="nowrap"><span data-sort-value="7003123400000000000♠"></span>1<span style="margin-left:.25em;">234</span>.0</span>
{{Value|1234.0|fmt=none}} <span class="nowrap"><span data-sort-value="7003123400000000000♠"></span>1234.0</span>
{{Value|1234.0|fmt=gaps}} <span class="nowrap"><span data-sort-value="7003123400000000000♠"></span>1<span style="margin-left:.25em;">234</span>.0</span>
{{Value|1234.0|fmt=commas}} <span class="nowrap"><span data-sort-value="7003123400000000000♠"></span>1,234.0</span>
{{Value|1234.1234}} <span class="nowrap"><span data-sort-value="7003123412340000000♠"></span>1<span style="margin-left:.25em;">234</span>.1234</span>
{{Value|1234.1234|fmt=none}} <span class="nowrap"><span data-sort-value="7003123412340000000♠"></span>1234.1234</span>
{{Value|1234.1234|fmt=gaps}} <span class="nowrap"><span data-sort-value="7003123412340000000♠"></span>1<span style="margin-left:.25em;">234</span>.1234</span>
{{Value|1234.1234|fmt=commas}} <span class="nowrap"><span data-sort-value="7003123412340000000♠"></span>1,234.1234</span>
{{Value|1234.12345}} <span class="nowrap"><span data-sort-value="7003123412345000000♠"></span>1<span style="margin-left:.25em;">234</span>.123<span style="margin-left:.25em;">45</span></span>
{{Value|1234.12345|fmt=none}} <span class="nowrap"><span data-sort-value="7003123412345000000♠"></span>1234.12345</span>
{{Value|1234.12345|fmt=gaps}} <span class="nowrap"><span data-sort-value="7003123412345000000♠"></span>1<span style="margin-left:.25em;">234</span>.123<span style="margin-left:.25em;">45</span></span>
{{Value|1234.12345|fmt=commas}} <span class="nowrap"><span data-sort-value="7003123412345000000♠"></span>1,234.12345</span>
-- Parameters for sortable
{{Value|1.23|u=um|sortable=on}} <span class="nowrap"><span data-sort-value="6994122999999999999♠"></span>1.23 μm</span>
{{Value|1.23|u=um|debug=yes}} <span class="nowrap"><span data-sort-value="6994122999999999999♠"><span style="border:1px solid">6994122999999999999♠</span></span>1.23 μm</span>
{{Value|1.23|u=um|sortable=debug}} <span class="nowrap"><span data-sort-value="6994122999999999999♠"><span style="border:1px solid">6994122999999999999♠</span></span>1.23 μm</span>
{{Value|1.23|u=um|sortable=off}} <span class="nowrap">1.23 μm</span>
-- Accept a=x to align upper/lower uncertainties
{{Value|1.23|456|78}} <span class="nowrap"><span data-sort-value="7000123000000000000♠"></span>1.23<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+456<br />−78</span></span></span>
{{Value|1.23|456|78|a=r}} <span class="nowrap"><span data-sort-value="7000123000000000000♠"></span>1.23<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+456<br />−78</span></span></span>
{{Value|1.23|456|78|a=right}} <span class="nowrap"><span data-sort-value="7000123000000000000♠"></span>1.23<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+456<br />−78</span></span></span>
{{Value|1.23|456|78|a=l}} <span class="nowrap"><span data-sort-value="7000123000000000000♠"></span>1.23<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:left;">+456<br />−78</span></span></span>
{{Value|1.23|456|78|a=left}} <span class="nowrap"><span data-sort-value="7000123000000000000♠"></span>1.23<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:left;">+456<br />−78</span></span></span>
{{Value|1.23|456|78|a=c}} <span class="nowrap"><span data-sort-value="7000123000000000000♠"></span>1.23<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:center;">+456<br />−78</span></span></span>
{{Value|1.23|456|78|a=center}} <span class="nowrap"><span data-sort-value="7000123000000000000♠"></span>1.23<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:center;">+456<br />−78</span></span></span>
-- Error/warning messages
{{Value|A|B|C|nocategory=true}} <span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: parameter 1 is not a valid number.</strong>
{{Value|1|B|C|nocategory=true}} <span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: parameter 2 is not a valid number.</strong>
{{Value|1|2|C|nocategory=true}} <span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: parameter 3 is not a valid number.</strong>
{{Value|1|e=A|nocategory=true}} <span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: exponent parameter (<b>e</b>) is not a valid number.</strong>
{{Value|1|u=m|ul=m|nocategory=true}} <span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: unit (<b>u</b>) and unit with link (<b>ul</b>) are both specified, only one is allowed.</strong>
{{Value|1|u=m|up=m|upl=m|nocategory=true}} <span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: unit per (<b>up</b>) and unit per with link (<b>upl</b>) are both specified, only one is allowed.</strong>
{{Value|1|action=junk|nocategory=true}} <span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: invalid action "junk".</strong>
{{Value|1|u=cm|ul=cm|nocategory=true}} <span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: unit (<b>u</b>) and unit with link (<b>ul</b>) are both specified, only one is allowed.</strong>
{{Value|1|up=cm|upl=cm|nocategory=true}} <span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: unit per (<b>up</b>) and unit per with link (<b>upl</b>) are both specified, only one is allowed.</strong>
{{Value|1|2e3|nocategory=true}} <span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: parameter 2 cannot use e notation.</strong>
{{Value|1|-|3e3|nocategory=true}} <span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: parameter 3 cannot use e notation.</strong>
{{Value|1|-|3|4|nocategory=true}} <span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: parameter 4 should be a range.</strong>
{{Value|1e3|-|3|nocategory=true}} <span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: parameter 2 cannot use a range if the first parameter includes "e".</strong>
{{Value|-|nocategory=true}} <span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: parameter 1 does not accept a range.</strong>
{{Value|1|2|-|nocategory=true}} <span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: parameter 3 does not accept a range.</strong>
{{Value|1|2||3|-|nocategory=true}} <span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: parameter 4 needs a range in parameter 2.</strong>
{{Value|1|-|3|-|nocategory=true}} <span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: need a number after the last parameter because it is a range.</strong>
{{Value|1e3|e=3|nocategory=true}} <span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: exponent parameter (<b>e</b>) cannot be used if the first parameter includes "e".</strong>
{{Value|1|us=cm|nocategory=true}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1</span><span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: Val parameter "us=cm" is not supported</strong>
{{Value|1|u=cm|junk arg = hello "world"|nocategory=true}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 cm</span><span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: Val parameter "junk arg=hello "world"" is not supported</strong>
{{Value|1|2|3|4|nocategory=true}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+2<br />−3</span></span></span><span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: Val parameter 4 ignored</strong>
{{Value|1|2|3|4|u=km|nocategory=true}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+2<br />−3</span></span> km</span><span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: Val parameter 4 ignored</strong>
{{Value|1|-|3|-|5|-|7|-|9|-|11|-|13|-|15|-|17|-|19|-|21|nocategory=true}} <span id="FormattingError"></span><strong class="error">Error in {{[[w:Template:val|val]]}}: too many parameters</strong>
{{Value|1|-|3|-|5|-|7|-|9|-|11|-|13|-|15|-|17|-|19}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1–3–5–7–9–11–13–15–17–19</span>
-- Ranges and numbers starting with dot
{{Value|1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1</span>
{{Value|1|-|2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1–2</span>
{{Value|1|-|2|-|3}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1–2–3</span>
{{Value|u=cm}} <span class="nowrap">cm</span>
{{Value|1|u=cm}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 cm</span>
{{Value|1|-|2|u=cm}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1–2 cm</span>
{{Value|1|-|2|-|3|u=cm}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1–2–3 cm</span>
{{Value|1|u=percent}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1%</span>
{{Value|1|-|2|u=percent}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1%–2%</span>
{{Value|1|-|2|-|3|u=percent}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1%–2%–3%</span>
{{Value|1|e=12}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup></span>
{{Value|1|-|2|e=12}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>(1–2)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup></span>
{{Value|1|-|2|-|3|e=12}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>(1–2–3)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup></span>
{{Value|u=cm|e=12}} <span class="nowrap"><span data-sort-value="7010100000000000000♠"></span>10<sup>12</sup> cm</span>
{{Value|1|u=cm|e=12}} <span class="nowrap"><span data-sort-value="7010100000000000000♠"></span>1<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup> cm</span>
{{Value|1|-|2|u=cm|e=12}} <span class="nowrap"><span data-sort-value="7010100000000000000♠"></span>(1–2)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup> cm</span>
{{Value|1|-|2|-|3|u=cm|e=12}} <span class="nowrap"><span data-sort-value="7010100000000000000♠"></span>(1–2–3)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup> cm</span>
{{Value|u=percent|e=12}} <span class="nowrap"><span data-sort-value="7010100000000000000♠"></span>10<sup>12</sup></span>
{{Value|1|u=percent|e=12}} <span class="nowrap"><span data-sort-value="7010100000000000000♠"></span>1%<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup></span>
{{Value|1|-|2|u=percent|e=12}} <span class="nowrap"><span data-sort-value="7010100000000000000♠"></span>(1%–2%)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup></span>
{{Value|1|-|2|-|3|u=percent|e=12}} <span class="nowrap"><span data-sort-value="7010100000000000000♠"></span>(1%–2%–3%)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup></span>
{{Value|1|.5}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1<span style="margin-left:0.225em;margin-right:0.225em;">±</span>0.5</span>
{{Value|u=cm|.5}} <span class="nowrap"><span data-sort-value="6997500000000000000♠"></span>0.5 cm</span>
{{Value|1|u=cm|.5}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1<span style="margin-left:0.225em;margin-right:0.225em;">±</span>0.5 cm</span>
{{Value|u=percent|.5}} <span class="nowrap"><span data-sort-value="6997500000000000000♠"></span>0.5%</span>
{{Value|1|u=percent|.5}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1%<span style="margin-left:0.225em;margin-right:0.225em;">±</span>0.5%</span>
{{Value|1|e=12|.5}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>(1<span style="margin-left:0.225em;margin-right:0.225em;">±</span>0.5)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup></span>
{{Value|u=cm|e=12|.5}} <span class="nowrap"><span data-sort-value="7009500000000000000♠"></span>0.5<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup> cm</span>
{{Value|1|u=cm|e=12|.5}} <span class="nowrap"><span data-sort-value="7010100000000000000♠"></span>(1<span style="margin-left:0.225em;margin-right:0.225em;">±</span>0.5)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup> cm</span>
{{Value|u=percent|e=12|.5}} <span class="nowrap"><span data-sort-value="7009500000000000000♠"></span>0.5%<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup></span>
{{Value|1|u=percent|e=12|.5}} <span class="nowrap"><span data-sort-value="7010100000000000000♠"></span>(1%<span style="margin-left:0.225em;margin-right:0.225em;">±</span>0.5%)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup></span>
{{Value|1|.5|.4}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+0.5<br />−0.4</span></span></span>
{{Value|u=cm|.5|.4}} <span class="nowrap"><span data-sort-value="6997500000000000000♠"></span>0.5<span style="margin-left:0.225em;margin-right:0.225em;">±</span>0.4 cm</span>
{{Value|1|u=cm|.5|.4}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+0.5<br />−0.4</span></span> cm</span>
{{Value|u=percent|.5|.4}} <span class="nowrap"><span data-sort-value="6997500000000000000♠"></span>0.5%<span style="margin-left:0.225em;margin-right:0.225em;">±</span>0.4%</span>
{{Value|1|u=percent|.5|.4}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1%<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+0.5%<br />−0.4%</span></span></span>
{{Value|1|e=12|.5|.4}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+0.5<br />−0.4</span></span><span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup></span>
{{Value|u=cm|e=12|.5|.4}} <span class="nowrap"><span data-sort-value="7009500000000000000♠"></span>(0.5<span style="margin-left:0.225em;margin-right:0.225em;">±</span>0.4)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup> cm</span>
{{Value|1|u=cm|e=12|.5|.4}} <span class="nowrap"><span data-sort-value="7010100000000000000♠"></span>1<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+0.5<br />−0.4</span></span><span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup> cm</span>
{{Value|u=percent|e=12|.5|.4}} <span class="nowrap"><span data-sort-value="7009500000000000000♠"></span>(0.5%<span style="margin-left:0.225em;margin-right:0.225em;">±</span>0.4%)<span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup></span>
{{Value|1|u=percent|e=12|.5|.4}} <span class="nowrap"><span data-sort-value="7010100000000000000♠"></span>1%<span style="margin-left:0.3em;"><span style="display:inline-block;margin-bottom:-0.3em;vertical-align:-0.4em;line-height:1.2em;font-size:85%;text-align:right;">+0.5%<br />−0.4%</span></span><span style="margin-left:0.25em;margin-right:0.15em;">×</span>10<sup>12</sup></span>
{{Value|1|x|3|x|5|sortable=off}} <span class="nowrap">1 × 3 × 5</span>
{{Value|1|x|3|x|5|u=%|sortable=off}} <span class="nowrap">1% × 3% × 5%</span>
{{Value|1|x|3|x|5|u=cm|sortable=off}} <span class="nowrap">1 cm × 3 cm × 5 cm</span>
{{Value|1|x|3|x|5|u=%|end=$|sortable=off}} <span class="nowrap">1$% × 3$% × 5$%</span>
{{Value|1|x|3|x|5|u=cm|end=$|sortable=off}} <span class="nowrap">1$ cm × 3$ cm × 5$ cm</span>
{{Value|1|,|3|by|5|-|7|–|9|and|11|or|13|to|15|/|17}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1, 3 by 5–7–9 and 11 or 13 to 15/17</span>
{{Value|1|,|3|by|5|-|7|–|9|and|11|or|13|to|15|/|17|u=cm}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1, 3 by 5–7–9 and 11 or 13 to 15/17 cm</span>
{{Value|1|,|3|by|5|-|7|–|9|and|11|or|13|to|15|/|17|u=deg}} <span class="nowrap"><span data-sort-value="6998174532925199433♠"></span>1°, 3° by 5°–7°–9° and 11° or 13° to 15°/17°</span>
{{Value|1|x|3|x|5|to|7|x|9|x|11}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 × 3 × 5 to 7 × 9 × 11</span>
{{Value|1|x|3|x|5|to|7|x|9|x|11|u=cm}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 cm × 3 cm × 5 cm to 7 cm × 9 cm × 11 cm</span>
{{Value|1|x|3|x|5|to|7|x|9|x|11|u=deg}} <span class="nowrap"><span data-sort-value="6998174532925199433♠"></span>1° × 3° × 5° to 7° × 9° × 11°</span>
{{Value|1|×|3}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 × 3</span>
{{Value|1|×|3|u=cm}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 cm × 3 cm</span>
{{Value|1|×|3|u=deg}} <span class="nowrap"><span data-sort-value="6998174532925199433♠"></span>1° × 3°</span>
{{Value|1|×|3|or|5}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 × 3 or 5</span>
{{Value|1|×|3|or|5|u=cm}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 cm × 3 cm or 5 cm</span>
{{Value|1|×|3|or|5|u=deg}} <span class="nowrap"><span data-sort-value="6998174532925199433♠"></span>1° × 3° or 5°</span>
-- All units from Module:Val/units with/without link
-- Unsorted units
{{Value|1|u=c0}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''c''<sub>0</sub></span>
{{Value|1|ul=c0}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Speed of light#Numerical value, notation, and units|''c''<sub>0</sub>]]</span>
{{Value|1|u=lbf}} <span class="nowrap"><span data-sort-value="7000444822161526049♠"></span>1 <span title="pound-force">lb<sub>F</sub></span></span>
{{Value|1|ul=lbf}} <span class="nowrap"><span data-sort-value="7000444822161526049♠"></span>1 [[w:Pound (force)|<span title="pound-force">lb<sub>F</sub></span>]]</span>
{{Value|1|u=C/mol}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 C/mol</span>
{{Value|1|ul=C/mol}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Faraday constant|C/mol]]</span>
{{Value|1|u=C.mol-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 C⋅mol<sup>−1</sup></span>
{{Value|1|ul=C.mol-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Faraday constant|C⋅mol<sup>−1</sup>]]</span>
{{Value|1|u=C/kg}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 C/kg</span>
{{Value|1|ul=C/kg}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Roentgen (unit)|C/kg]]</span>
{{Value|1|u=C.kg-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 C⋅kg<sup>−1</sup></span>
{{Value|1|ul=C.kg-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Roentgen (unit)|C⋅kg<sup>−1</sup>]]</span>
{{Value|1|u=F.m-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 F⋅m<sup>−1</sup></span>
{{Value|1|ul=F.m-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:vacuum permittivity|F⋅m<sup>−1</sup>]]</span>
{{Value|1|u=F/m}} <span class="nowrap"><span data-sort-value="6999555555555555555♠"></span>1 F/m</span>
{{Value|1|ul=F/m}} <span class="nowrap"><span data-sort-value="6999555555555555555♠"></span>1 [[w:vacuum permittivity|F/m]]</span>
{{Value|1|u=e}} <span class="nowrap"><span data-sort-value="6981160217663399999♠"></span>1 ''e''</span>
{{Value|1|ul=e}} <span class="nowrap"><span data-sort-value="6981160217663399999♠"></span>1 [[w:Elementary charge|''e'']]</span>
-- Time and frequency
{{Value|1|u=byte/s}} <span class="nowrap"><span data-sort-value="7000800000000000000♠"></span>1 byte/s</span>
{{Value|1|ul=byte/s}} <span class="nowrap"><span data-sort-value="7000800000000000000♠"></span>1 [[w:Data rate units|byte/s]]</span>
{{Value|1|u=kB/s}} <span class="nowrap"><span data-sort-value="7003800000000000000♠"></span>1 <span title="Kilobytes per second">kB/s</span></span>
{{Value|1|ul=kB/s}} <span class="nowrap"><span data-sort-value="7003800000000000000♠"></span>1 [[w:Data rate units#Kilobyte per second|<span title="Kilobytes per second">kB/s</span>]]</span>
{{Value|1|u=MB/s}} <span class="nowrap"><span data-sort-value="7006800000000000000♠"></span>1 <span title="Megabytes per second">MB/s</span></span>
{{Value|1|ul=MB/s}} <span class="nowrap"><span data-sort-value="7006800000000000000♠"></span>1 [[w:Data rate units#Megabyte per second|<span title="Megabytes per second">MB/s</span>]]</span>
{{Value|1|u=GB/s}} <span class="nowrap"><span data-sort-value="7009800000000000000♠"></span>1 <span title="Gigabytes per second">GB/s</span></span>
{{Value|1|ul=GB/s}} <span class="nowrap"><span data-sort-value="7009800000000000000♠"></span>1 [[w:Data rate units#Gigabyte per second|<span title="Gigabytes per second">GB/s</span>]]</span>
{{Value|1|u=TB/s}} <span class="nowrap"><span data-sort-value="7012800000000000000♠"></span>1 <span title="Terabytes per second">TB/s</span></span>
{{Value|1|ul=TB/s}} <span class="nowrap"><span data-sort-value="7012800000000000000♠"></span>1 [[w:Data rate units#Terabyte per second|<span title="Terabytes per second">TB/s</span>]]</span>
{{Value|1|u=bit/s}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 bit/s</span>
{{Value|1|ul=bit/s}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Bit per second|bit/s]]</span>
{{Value|1|u=bps}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 bit/s</span>
{{Value|1|ul=bps}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Bit per second|bit/s]]</span>
{{Value|1|u=kbit/s}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 kbit/s</span>
{{Value|1|ul=kbit/s}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 [[w:Kilobit per second|kbit/s]]</span>
{{Value|1|u=Mbit/s}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 Mbit/s</span>
{{Value|1|ul=Mbit/s}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 [[w:Megabit per second|Mbit/s]]</span>
{{Value|1|u=Gbit/s}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 Gbit/s</span>
{{Value|1|ul=Gbit/s}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 [[w:Gigabit per second|Gbit/s]]</span>
{{Value|1|u=Tbit/s}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 Tbit/s</span>
{{Value|1|ul=Tbit/s}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 [[w:Terabit per second|Tbit/s]]</span>
{{Value|1|u=Pbit/s}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 Pbit/s</span>
{{Value|1|ul=Pbit/s}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 [[w:Petabit per second|Pbit/s]]</span>
{{Value|1|u=year}} <span class="nowrap"><span data-sort-value="7007315576000000000♠"></span>1 year</span>
{{Value|1|ul=year}} <span class="nowrap"><span data-sort-value="7007315576000000000♠"></span>1 [[w:Year|year]]</span>
{{Value|1|u=years}} <span class="nowrap"><span data-sort-value="7007315576000000000♠"></span>1 years</span>
{{Value|1|ul=years}} <span class="nowrap"><span data-sort-value="7007315576000000000♠"></span>1 [[w:Year|years]]</span>
{{Value|1|u=yr}} <span class="nowrap"><span data-sort-value="7007315576000000000♠"></span>1 yr</span>
{{Value|1|ul=yr}} <span class="nowrap"><span data-sort-value="7007315576000000000♠"></span>1 [[w:Year#Symbols and abbreviations|yr]]</span>
{{Value|1|u=y}} <span class="nowrap"><span data-sort-value="7007315576000000000♠"></span>1 y</span>
{{Value|1|ul=y}} <span class="nowrap"><span data-sort-value="7007315576000000000♠"></span>1 [[w:Year|y]]</span>
{{Value|1|u=a}} <span class="nowrap"><span data-sort-value="7007315576000000000♠"></span>1 a</span>
{{Value|1|ul=a}} <span class="nowrap"><span data-sort-value="7007315576000000000♠"></span>1 [[w:Annum|a]]</span>
{{Value|1|u=Ga}} <span class="nowrap"><span data-sort-value="7016315576000000000♠"></span>1 Ga</span>
{{Value|1|ul=Ga}} <span class="nowrap"><span data-sort-value="7016315576000000000♠"></span>1 [[w:Gigaannum|Ga]]</span>
{{Value|1|u=Ma}} <span class="nowrap"><span data-sort-value="7013315576000000000♠"></span>1 Ma</span>
{{Value|1|ul=Ma}} <span class="nowrap"><span data-sort-value="7013315576000000000♠"></span>1 [[w:Megaannum|Ma]]</span>
{{Value|1|u=ka}} <span class="nowrap"><span data-sort-value="7010315576000000000♠"></span>1 ka</span>
{{Value|1|ul=ka}} <span class="nowrap"><span data-sort-value="7010315576000000000♠"></span>1 [[w:Kiloannum|ka]]</span>
{{Value|1|u=kyr}} <span class="nowrap"><span data-sort-value="7010315576000000000♠"></span>1 kyr</span>
{{Value|1|ul=kyr}} <span class="nowrap"><span data-sort-value="7010315576000000000♠"></span>1 [[w:kyr|kyr]]</span>
{{Value|1|u=kya}} <span class="nowrap"><span data-sort-value="7010315576000000000♠"></span>1 kya</span>
{{Value|1|ul=kya}} <span class="nowrap"><span data-sort-value="7010315576000000000♠"></span>1 [[w:kyr|kya]]</span>
{{Value|1|u=myr}} <span class="nowrap"><span data-sort-value="7013315576000000000♠"></span>1 myr</span>
{{Value|1|ul=myr}} <span class="nowrap"><span data-sort-value="7013315576000000000♠"></span>1 [[w:myr|myr]]</span>
{{Value|1|u=mya}} <span class="nowrap"><span data-sort-value="7013315576000000000♠"></span>1 mya</span>
{{Value|1|ul=mya}} <span class="nowrap"><span data-sort-value="7013315576000000000♠"></span>1 [[w:Mya (unit)|mya]]</span>
{{Value|1|u=byr}} <span class="nowrap"><span data-sort-value="7016315576000000000♠"></span>1 byr</span>
{{Value|1|ul=byr}} <span class="nowrap"><span data-sort-value="7016315576000000000♠"></span>1 [[w:Billion years|byr]]</span>
{{Value|1|u=bya}} <span class="nowrap"><span data-sort-value="7016315576000000000♠"></span>1 bya</span>
{{Value|1|ul=bya}} <span class="nowrap"><span data-sort-value="7016315576000000000♠"></span>1 [[w:Billion years ago|bya]]</span>
{{Value|1|u=Gyr}} <span class="nowrap"><span data-sort-value="7016315576000000000♠"></span>1 Gyr</span>
{{Value|1|ul=Gyr}} <span class="nowrap"><span data-sort-value="7016315576000000000♠"></span>1 [[w:billion years|Gyr]]</span>
{{Value|1|u=BP}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 BP</span>
{{Value|1|ul=BP}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Before present|BP]]</span>
{{Value|1|u=uBP}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 <sup>14</sup>C yr BP</span>
{{Value|1|ul=uBP}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Radiocarbon dating#Calibration|<sup>14</sup>C yr BP]]</span>
{{Value|1|u=BC}} <span class="nowrap"><span data-sort-value="2999900000000000000♠"></span>1 BC</span>
{{Value|1|ul=BC}} <span class="nowrap"><span data-sort-value="2999900000000000000♠"></span>1 [[w:Before Christ|BC]]</span>
{{Value|1|u=AD}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 AD</span>
{{Value|1|ul=AD}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Anno Domini|AD]]</span>
{{Value|1|u=BCE}} <span class="nowrap"><span data-sort-value="2999900000000000000♠"></span>1 BCE</span>
{{Value|1|ul=BCE}} <span class="nowrap"><span data-sort-value="2999900000000000000♠"></span>1 [[w:Before the Common Era|BCE]]</span>
{{Value|1|u=CE}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 CE</span>
{{Value|1|ul=CE}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Common Era|CE]]</span>
{{Value|1|u=s-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 s<sup>−1</sup></span>
{{Value|1|ul=s-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Second|s<sup>−1</sup>]]</span>
{{Value|1|u=s-2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 s<sup>−2</sup></span>
{{Value|1|ul=s-2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Second|s<sup>−2</sup>]]</span>
{{Value|1|u=s2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 s<sup>2</sup></span>
{{Value|1|ul=s2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Second|s<sup>2</sup>]]</span>
{{Value|1|u=s}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 s</span>
{{Value|1|ul=s}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Second|s]]</span>
{{Value|1|u=Qs}} <span class="nowrap"><span data-sort-value="7030100000000000000♠"></span>1 Qs</span>
{{Value|1|ul=Qs}} <span class="nowrap"><span data-sort-value="7030100000000000000♠"></span>1 [[w:Quettasecond|Qs]]</span>
{{Value|1|u=Rs}} <span class="nowrap"><span data-sort-value="7027100000000000000♠"></span>1 Rs</span>
{{Value|1|ul=Rs}} <span class="nowrap"><span data-sort-value="7027100000000000000♠"></span>1 [[w:Ronnasecond|Rs]]</span>
{{Value|1|u=Ys}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 Ys</span>
{{Value|1|ul=Ys}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 [[w:Yottasecond|Ys]]</span>
{{Value|1|u=Zs}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 Zs</span>
{{Value|1|ul=Zs}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 [[w:Zettasecond|Zs]]</span>
{{Value|1|u=Es}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 Es</span>
{{Value|1|ul=Es}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 [[w:Exasecond|Es]]</span>
{{Value|1|u=Ps}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 Ps</span>
{{Value|1|ul=Ps}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 [[w:Petasecond|Ps]]</span>
{{Value|1|u=Ts}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 Ts</span>
{{Value|1|ul=Ts}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 [[w:Terasecond|Ts]]</span>
{{Value|1|u=Gs}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 Gs</span>
{{Value|1|ul=Gs}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 [[w:Gigasecond|Gs]]</span>
{{Value|1|u=Ms}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 Ms</span>
{{Value|1|ul=Ms}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 [[w:Megasecond|Ms]]</span>
{{Value|1|u=ks}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 ks</span>
{{Value|1|ul=ks}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 [[w:Kilosecond|ks]]</span>
{{Value|1|u=hs}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 hs</span>
{{Value|1|ul=hs}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 [[w:Second|hs]]</span>
{{Value|1|u=das}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 das</span>
{{Value|1|ul=das}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 [[w:Second|das]]</span>
{{Value|1|u=ds}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 ds</span>
{{Value|1|ul=ds}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 [[w:Second|ds]]</span>
{{Value|1|u=cs}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 cs</span>
{{Value|1|ul=cs}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 [[w:Second|cs]]</span>
{{Value|1|u=ms}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 ms</span>
{{Value|1|ul=ms}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 [[w:Millisecond|ms]]</span>
{{Value|1|u=μs}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μs</span>
{{Value|1|ul=μs}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Microsecond|μs]]</span>
{{Value|1|u=us}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μs</span>
{{Value|1|ul=us}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Microsecond|μs]]</span>
{{Value|1|u=ns}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 ns</span>
{{Value|1|ul=ns}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 [[w:Nanosecond|ns]]</span>
{{Value|1|u=ps}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 ps</span>
{{Value|1|ul=ps}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 [[w:Picosecond|ps]]</span>
{{Value|1|u=fs}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 fs</span>
{{Value|1|ul=fs}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 [[w:Femtosecond|fs]]</span>
{{Value|1|u=as}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 as</span>
{{Value|1|ul=as}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 [[w:Attosecond|as]]</span>
{{Value|1|u=zs}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 zs</span>
{{Value|1|ul=zs}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 [[w:Zeptosecond|zs]]</span>
{{Value|1|u=ys}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 ys</span>
{{Value|1|ul=ys}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 [[w:Yoctosecond|ys]]</span>
{{Value|1|u=rs}} <span class="nowrap"><span data-sort-value="6973100000000000000♠"></span>1 rs</span>
{{Value|1|ul=rs}} <span class="nowrap"><span data-sort-value="6973100000000000000♠"></span>1 [[w:Rontosecond|rs]]</span>
{{Value|1|u=qs}} <span class="nowrap"><span data-sort-value="6970100000000000000♠"></span>1 qs</span>
{{Value|1|ul=qs}} <span class="nowrap"><span data-sort-value="6970100000000000000♠"></span>1 [[w:Quectosecond|qs]]</span>
{{Value|1|u=Hz}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 Hz</span>
{{Value|1|ul=Hz}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Hertz|Hz]]</span>
{{Value|1|u=QHz}} <span class="nowrap"><span data-sort-value="7030100000000000000♠"></span>1 QHz</span>
{{Value|1|ul=QHz}} <span class="nowrap"><span data-sort-value="7030100000000000000♠"></span>1 [[w:Hertz|QHz]]</span>
{{Value|1|u=RHz}} <span class="nowrap"><span data-sort-value="7027100000000000000♠"></span>1 RHz</span>
{{Value|1|ul=RHz}} <span class="nowrap"><span data-sort-value="7027100000000000000♠"></span>1 [[w:Hertz|RHz]]</span>
{{Value|1|u=YHz}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 YHz</span>
{{Value|1|ul=YHz}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 [[w:Hertz|YHz]]</span>
{{Value|1|u=ZHz}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 ZHz</span>
{{Value|1|ul=ZHz}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 [[w:Hertz|ZHz]]</span>
{{Value|1|u=EHz}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 EHz</span>
{{Value|1|ul=EHz}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 [[w:Hertz|EHz]]</span>
{{Value|1|u=PHz}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 PHz</span>
{{Value|1|ul=PHz}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 [[w:Hertz|PHz]]</span>
{{Value|1|u=THz}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 THz</span>
{{Value|1|ul=THz}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 [[w:Hertz|THz]]</span>
{{Value|1|u=GHz}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 GHz</span>
{{Value|1|ul=GHz}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 [[w:Gigahertz|GHz]]</span>
{{Value|1|u=MHz}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 MHz</span>
{{Value|1|ul=MHz}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 [[w:Megahertz|MHz]]</span>
{{Value|1|u=kHz}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 kHz</span>
{{Value|1|ul=kHz}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 [[w:Kilohertz|kHz]]</span>
{{Value|1|u=hHz}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 hHz</span>
{{Value|1|ul=hHz}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 [[w:Hertz|hHz]]</span>
{{Value|1|u=daHz}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 daHz</span>
{{Value|1|ul=daHz}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 [[w:Hertz|daHz]]</span>
{{Value|1|u=dHz}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 dHz</span>
{{Value|1|ul=dHz}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 [[w:Hertz|dHz]]</span>
{{Value|1|u=cHz}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 cHz</span>
{{Value|1|ul=cHz}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 [[w:Hertz|cHz]]</span>
{{Value|1|u=mHz}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 mHz</span>
{{Value|1|ul=mHz}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 [[w:Hertz|mHz]]</span>
{{Value|1|u=uHz}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μHz</span>
{{Value|1|ul=uHz}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Hertz|μHz]]</span>
-- {{Value|1|u=μHz}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μHz</span>
-- {{Value|1|ul=μHz}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Hertz|μHz]]</span>
{{Value|1|u=nHz}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 nHz</span>
{{Value|1|ul=nHz}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 [[w:Hertz|nHz]]</span>
{{Value|1|u=pHz}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 pHz</span>
{{Value|1|ul=pHz}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 [[w:Hertz|pHz]]</span>
{{Value|1|u=fHz}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 fHz</span>
{{Value|1|ul=fHz}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 [[w:Hertz|fHz]]</span>
{{Value|1|u=aHz}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 aHz</span>
{{Value|1|ul=aHz}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 [[w:Hertz|aHz]]</span>
{{Value|1|u=zHz}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 zHz</span>
{{Value|1|ul=zHz}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 [[w:Hertz|zHz]]</span>
{{Value|1|u=yHz}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 yHz</span>
{{Value|1|ul=yHz}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 [[w:Hertz|yHz]]</span>
{{Value|1|u=rHz}} <span class="nowrap"><span data-sort-value="6973100000000000000♠"></span>1 rHz</span>
{{Value|1|ul=rHz}} <span class="nowrap"><span data-sort-value="6973100000000000000♠"></span>1 [[w:Hertz|rHz]]</span>
{{Value|1|u=qHz}} <span class="nowrap"><span data-sort-value="6970100000000000000♠"></span>1 qHz</span>
{{Value|1|ul=qHz}} <span class="nowrap"><span data-sort-value="6970100000000000000♠"></span>1 [[w:Hertz|qHz]]</span>
-- Length, area, volume
{{Value|1|u=fb-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 fb<sup>−1</sup></span>
{{Value|1|ul=fb-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Barn (unit)#Inverse femtobarn|fb<sup>−1</sup>]]</span>
{{Value|1|u=m-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 m<sup>−1</sup></span>
{{Value|1|ul=m-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Metre|m<sup>−1</sup>]]</span>
{{Value|1|u=m-2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 m<sup>−2</sup></span>
{{Value|1|ul=m-2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Square metre|m<sup>−2</sup>]]</span>
{{Value|1|u=m-3}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 m<sup>−3</sup></span>
{{Value|1|ul=m-3}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Cubic metre|m<sup>−3</sup>]]</span>
{{Value|1|u=km2}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 km<sup>2</sup></span>
{{Value|1|ul=km2}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 [[w:Square kilometre|km<sup>2</sup>]]</span>
{{Value|1|u=km3}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 km<sup>3</sup></span>
{{Value|1|ul=km3}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 [[w:Cubic kilometre|km<sup>3</sup>]]</span>
{{Value|1|u=m}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 m</span>
{{Value|1|ul=m}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Metre|m]]</span>
{{Value|1|u=meter}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 m</span>
{{Value|1|ul=meter}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Metre|m]]</span>
{{Value|1|u=metre}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 m</span>
{{Value|1|ul=metre}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Metre|m]]</span>
{{Value|1|u=am}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 am</span>
{{Value|1|ul=am}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 [[w:Metre|am]]</span>
{{Value|1|u=cm}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 cm</span>
{{Value|1|ul=cm}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 [[w:Centimetre|cm]]</span>
{{Value|1|u=dam}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 dam</span>
{{Value|1|ul=dam}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 [[w:Decametre|dam]]</span>
{{Value|1|u=dm}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 dm</span>
{{Value|1|ul=dm}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 [[w:Decimetre|dm]]</span>
{{Value|1|u=Em}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 Em</span>
{{Value|1|ul=Em}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 [[w:Exametre|Em]]</span>
{{Value|1|u=fm}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 fm</span>
{{Value|1|ul=fm}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 [[w:Femtometre|fm]]</span>
{{Value|1|u=Gm}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 Gm</span>
{{Value|1|ul=Gm}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 [[w:Gigametre|Gm]]</span>
{{Value|1|u=hm}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 hm</span>
{{Value|1|ul=hm}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 [[w:Hectometre|hm]]</span>
{{Value|1|u=km}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 km</span>
{{Value|1|ul=km}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 [[w:Kilometre|km]]</span>
{{Value|1|u=Mm}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 Mm</span>
{{Value|1|ul=Mm}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 [[w:Megametre|Mm]]</span>
{{Value|1|u=mm}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 mm</span>
{{Value|1|ul=mm}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 [[w:Millimetre|mm]]</span>
{{Value|1|u=um}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μm</span>
{{Value|1|ul=um}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Micrometre|μm]]</span>
{{Value|1|u=μm}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μm</span>
{{Value|1|ul=μm}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Micrometre|μm]]</span>
{{Value|1|u=nm}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 nm</span>
{{Value|1|ul=nm}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 [[w:Nanometre|nm]]</span>
{{Value|1|u=Pm}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 Pm</span>
{{Value|1|ul=Pm}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 [[w:Petametre|Pm]]</span>
{{Value|1|u=pm}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 pm</span>
{{Value|1|ul=pm}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 [[w:Picometre|pm]]</span>
{{Value|1|u=Tm}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 Tm</span>
{{Value|1|ul=Tm}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 [[w:Terametre|Tm]]</span>
{{Value|1|u=Ym}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 Ym</span>
{{Value|1|ul=Ym}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 [[w:Yottametre|Ym]]</span>
{{Value|1|u=ym}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 ym</span>
{{Value|1|ul=ym}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 [[w:Metre|ym]]</span>
{{Value|1|u=Zm}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 Zm</span>
{{Value|1|ul=Zm}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 [[w:Zettametre|Zm]]</span>
{{Value|1|u=zm}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 zm</span>
{{Value|1|ul=zm}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 [[w:Metre|zm]]</span>
{{Value|1|u=μm2}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 μm<sup>2</sup></span>
{{Value|1|ul=μm2}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 [[w:Square metre|μm<sup>2</sup>]]</span>
{{Value|1|u=um2}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 μm<sup>2</sup></span>
{{Value|1|ul=um2}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 [[w:Square metre|μm<sup>2</sup>]]</span>
{{Value|1|u=am2}} <span class="nowrap"><span data-sort-value="6964100000000000000♠"></span>1 am<sup>2</sup></span>
{{Value|1|ul=am2}} <span class="nowrap"><span data-sort-value="6964100000000000000♠"></span>1 [[w:Square metre|am<sup>2</sup>]]</span>
{{Value|1|u=cm2}} <span class="nowrap"><span data-sort-value="6996100000000000000♠"></span>1 cm<sup>2</sup></span>
{{Value|1|ul=cm2}} <span class="nowrap"><span data-sort-value="6996100000000000000♠"></span>1 [[w:Square centimetre|cm<sup>2</sup>]]</span>
{{Value|1|u=dam2}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 dam<sup>2</sup></span>
{{Value|1|ul=dam2}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 [[w:Square metre|dam<sup>2</sup>]]</span>
{{Value|1|u=dm2}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 dm<sup>2</sup></span>
{{Value|1|ul=dm2}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 [[w:Square metre|dm<sup>2</sup>]]</span>
{{Value|1|u=Em2}} <span class="nowrap"><span data-sort-value="7036100000000000000♠"></span>1 Em<sup>2</sup></span>
{{Value|1|ul=Em2}} <span class="nowrap"><span data-sort-value="7036100000000000000♠"></span>1 [[w:Square metre|Em<sup>2</sup>]]</span>
{{Value|1|u=fm2}} <span class="nowrap"><span data-sort-value="6970100000000000000♠"></span>1 fm<sup>2</sup></span>
{{Value|1|ul=fm2}} <span class="nowrap"><span data-sort-value="6970100000000000000♠"></span>1 [[w:Square metre|fm<sup>2</sup>]]</span>
{{Value|1|u=Gm2}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 Gm<sup>2</sup></span>
{{Value|1|ul=Gm2}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 [[w:Square metre|Gm<sup>2</sup>]]</span>
{{Value|1|u=hm2}} <span class="nowrap"><span data-sort-value="7004100000000000000♠"></span>1 hm<sup>2</sup></span>
{{Value|1|ul=hm2}} <span class="nowrap"><span data-sort-value="7004100000000000000♠"></span>1 [[w:Square metre|hm<sup>2</sup>]]</span>
{{Value|1|u=mm2}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 mm<sup>2</sup></span>
{{Value|1|ul=mm2}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Square metre|mm<sup>2</sup>]]</span>
{{Value|1|u=Mm2}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 Mm<sup>2</sup></span>
{{Value|1|ul=Mm2}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 [[w:Square metre|Mm<sup>2</sup>]]</span>
{{Value|1|u=nm2}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 nm<sup>2</sup></span>
{{Value|1|ul=nm2}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 [[w:Square metre|nm<sup>2</sup>]]</span>
{{Value|1|u=pm2}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 pm<sup>2</sup></span>
{{Value|1|ul=pm2}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 [[w:Square metre|pm<sup>2</sup>]]</span>
{{Value|1|u=Pm2}} <span class="nowrap"><span data-sort-value="7030100000000000000♠"></span>1 Pm<sup>2</sup></span>
{{Value|1|ul=Pm2}} <span class="nowrap"><span data-sort-value="7030100000000000000♠"></span>1 [[w:Square metre|Pm<sup>2</sup>]]</span>
{{Value|1|u=Tm2}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 Tm<sup>2</sup></span>
{{Value|1|ul=Tm2}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 [[w:Square metre|Tm<sup>2</sup>]]</span>
{{Value|1|u=ym2}} <span class="nowrap"><span data-sort-value="6952100000000000000♠"></span>1 ym<sup>2</sup></span>
{{Value|1|ul=ym2}} <span class="nowrap"><span data-sort-value="6952100000000000000♠"></span>1 [[w:Square metre|ym<sup>2</sup>]]</span>
{{Value|1|u=Ym2}} <span class="nowrap"><span data-sort-value="7048100000000000000♠"></span>1 Ym<sup>2</sup></span>
{{Value|1|ul=Ym2}} <span class="nowrap"><span data-sort-value="7048100000000000000♠"></span>1 [[w:Square metre|Ym<sup>2</sup>]]</span>
{{Value|1|u=zm2}} <span class="nowrap"><span data-sort-value="6958100000000000000♠"></span>1 zm<sup>2</sup></span>
{{Value|1|ul=zm2}} <span class="nowrap"><span data-sort-value="6958100000000000000♠"></span>1 [[w:Square metre|zm<sup>2</sup>]]</span>
{{Value|1|u=Zm2}} <span class="nowrap"><span data-sort-value="7042100000000000000♠"></span>1 Zm<sup>2</sup></span>
{{Value|1|ul=Zm2}} <span class="nowrap"><span data-sort-value="7042100000000000000♠"></span>1 [[w:Square metre|Zm<sup>2</sup>]]</span>
{{Value|1|u=Gal}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 Gal</span>
{{Value|1|ul=Gal}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Gal (unit)|Gal]]</span>
{{Value|1|u=uGal}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 μGal</span>
{{Value|1|ul=uGal}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Gal (unit)|μGal]]</span>
{{Value|1|u=μGal}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 μGal</span>
-- {{Value|1|ul=μGal}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Gal (unit)|μGal]]</span>
{{Value|1|u=mGal}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 mGal</span>
{{Value|1|ul=mGal}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Gal (unit)|mGal]]</span>
-- Velocity and acceleration
{{Value|1|u=m/s2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 m/s<sup>2</sup></span>
{{Value|1|ul=m/s2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Metre per second squared|m/s<sup>2</sup>]]</span>
{{Value|1|u=m.s-2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 m⋅s<sup>−2</sup></span>
{{Value|1|ul=m.s-2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Metre per second squared|m⋅s<sup>−2</sup>]]</span>
{{Value|1|u=m/s}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 m/s</span>
{{Value|1|ul=m/s}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Metre per second|m/s]]</span>
{{Value|1|u=m.s-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 m⋅s<sup>−1</sup></span>
{{Value|1|ul=m.s-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Metre per second|m⋅s<sup>−1</sup>]]</span>
-- Mass and energy
{{Value|1|u=lbm}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 <span title="pound-mass">lb<sub>m</sub></span></span>
{{Value|1|ul=lbm}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Pound (mass)|<span title="pound-mass">lb<sub>m</sub></span>]]</span>
{{Value|1|u=uJ}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μJ</span>
{{Value|1|ul=uJ}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Joule|μJ]]</span>
{{Value|1|u=J.s}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 J⋅s</span>
{{Value|1|ul=J.s}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Joule-second|J⋅s]]</span>
{{Value|1|u=kWh}} <span class="nowrap"><span data-sort-value="7006360000000000000♠"></span>1 kWh</span>
{{Value|1|ul=kWh}} <span class="nowrap"><span data-sort-value="7006360000000000000♠"></span>1 [[w:Kilowatt-hour|kWh]]</span>
{{Value|1|u=kW.h}} <span class="nowrap"><span data-sort-value="7006360000000000000♠"></span>1 kW⋅h</span>
{{Value|1|ul=kW.h}} <span class="nowrap"><span data-sort-value="7006360000000000000♠"></span>1 [[w:Kilowatt-hour|kW⋅h]]</span>
{{Value|1|u=kW·h}} <span class="nowrap"><span data-sort-value="7006360000000000000♠"></span>1 kW⋅h</span>
{{Value|1|ul=kW·h}} <span class="nowrap"><span data-sort-value="7006360000000000000♠"></span>1 [[w:kilowatt-hour|kW⋅h]]</span>
{{Value|1|u=J/C}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 J/C</span>
{{Value|1|ul=J/C}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Volt|J/C]]</span>
{{Value|1|u=J/kg}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 J/kg</span>
{{Value|1|ul=J/kg}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Joule|J/kg]]</span>
{{Value|1|u=g}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 g</span>
{{Value|1|ul=g}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 [[w:Gram|g]]</span>
{{Value|1|u=ag}} <span class="nowrap"><span data-sort-value="6979100000000000000♠"></span>1 ag</span>
{{Value|1|ul=ag}} <span class="nowrap"><span data-sort-value="6979100000000000000♠"></span>1 [[w:Attogram|ag]]</span>
{{Value|1|u=cg}} <span class="nowrap"><span data-sort-value="6995100000000000000♠"></span>1 cg</span>
{{Value|1|ul=cg}} <span class="nowrap"><span data-sort-value="6995100000000000000♠"></span>1 [[w:Centigram|cg]]</span>
{{Value|1|u=dag}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 dag</span>
{{Value|1|ul=dag}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 [[w:Gram|dag]]</span>
{{Value|1|u=dg}} <span class="nowrap"><span data-sort-value="6996100000000000000♠"></span>1 dg</span>
{{Value|1|ul=dg}} <span class="nowrap"><span data-sort-value="6996100000000000000♠"></span>1 [[w:Decigram|dg]]</span>
{{Value|1|u=Eg}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 Eg</span>
{{Value|1|ul=Eg}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 [[w:Exagram|Eg]]</span>
{{Value|1|u=fg}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 fg</span>
{{Value|1|ul=fg}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 [[w:Femtogram|fg]]</span>
{{Value|1|u=Gg}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 Gg</span>
{{Value|1|ul=Gg}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 [[w:Gigagram|Gg]]</span>
{{Value|1|u=hg}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 hg</span>
{{Value|1|ul=hg}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 [[w:Kilogram#SI multiples|hg]]</span>
{{Value|1|u=kg}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 kg</span>
{{Value|1|ul=kg}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Kilogram|kg]]</span>
{{Value|1|u=mcg}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 μg</span>
{{Value|1|ul=mcg}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 [[w:Microgram|μg]]</span>
{{Value|1|u=Mg}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 Mg</span>
{{Value|1|ul=Mg}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 [[w:Tonne|Mg]]</span>
{{Value|1|u=mg}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 mg</span>
{{Value|1|ul=mg}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Milligram|mg]]</span>
{{Value|1|u=ug}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 μg</span>
{{Value|1|ul=ug}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 [[w:Microgram|μg]]</span>
{{Value|1|u=μg}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 μg</span>
{{Value|1|ul=μg}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 [[w:Microgram|μg]]</span>
{{Value|1|u=ng}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 ng</span>
{{Value|1|ul=ng}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 [[w:Nanogram|ng]]</span>
{{Value|1|u=Pg}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 Pg</span>
{{Value|1|ul=Pg}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 [[w:Petagram|Pg]]</span>
{{Value|1|u=pg}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 pg</span>
{{Value|1|ul=pg}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 [[w:Picogram|pg]]</span>
{{Value|1|u=Tg}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 Tg</span>
{{Value|1|ul=Tg}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 [[w:Tonne|Tg]]</span>
{{Value|1|u=yg}} <span class="nowrap"><span data-sort-value="6973099999999999999♠"></span>1 yg</span>
{{Value|1|ul=yg}} <span class="nowrap"><span data-sort-value="6973099999999999999♠"></span>1 [[w:Yoctogram|yg]]</span>
{{Value|1|u=Yg}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 Yg</span>
{{Value|1|ul=Yg}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 [[w:Yottagram|Yg]]</span>
{{Value|1|u=zg}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 zg</span>
{{Value|1|ul=zg}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 [[w:Zeptogram|zg]]</span>
{{Value|1|u=Zg}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 Zg</span>
{{Value|1|ul=Zg}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 [[w:Zettagram|Zg]]</span>
-- Pressure and density
{{Value|1|u=psi}} <span class="nowrap"><span data-sort-value="7003689475729316836♠"></span>1 psi</span>
{{Value|1|ul=psi}} <span class="nowrap"><span data-sort-value="7003689475729316836♠"></span>1 [[w:Pounds per square inch|psi]]</span>
{{Value|1|u=g/cm3}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 g/cm<sup>3</sup></span>
{{Value|1|ul=g/cm3}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 [[w:Gram per cubic centimetre|g/cm<sup>3</sup>]]</span>
{{Value|1|u=kg/m3}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 kg/m<sup>3</sup></span>
{{Value|1|ul=kg/m3}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Kilogram per cubic metre|kg/m<sup>3</sup>]]</span>
{{Value|1|u=kg/cm3}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 kg/cm<sup>3</sup></span>
{{Value|1|ul=kg/cm3}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 [[w:Density#Formula and common units|kg/cm<sup>3</sup>]]</span>
{{Value|1|u=g/L}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 g/L</span>
{{Value|1|ul=g/L}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Gram per litre|g/L]]</span>
{{Value|1|u=g/l}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 g/l</span>
{{Value|1|ul=g/l}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Gram per litre|g/l]]</span>
{{Value|1|u=mcg/dL}} <span class="nowrap"><span data-sort-value="6995100000000000000♠"></span>1 μg/dL</span>
{{Value|1|ul=mcg/dL}} <span class="nowrap"><span data-sort-value="6995100000000000000♠"></span>1 [[w:Gram per litre|μg/dL]]</span>
{{Value|1|u=mcg/dl}} <span class="nowrap"><span data-sort-value="6995100000000000000♠"></span>1 μg/dl</span>
{{Value|1|ul=mcg/dl}} <span class="nowrap"><span data-sort-value="6995100000000000000♠"></span>1 [[w:Gram per litre|μg/dl]]</span>
{{Value|1|u=mg/mL}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 mg/mL</span>
{{Value|1|ul=mg/mL}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Gram per litre|mg/mL]]</span>
{{Value|1|u=mg/ml}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 mg/ml</span>
{{Value|1|ul=mg/ml}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Gram per litre|mg/ml]]</span>
{{Value|1|u=ug/dL}} <span class="nowrap"><span data-sort-value="6995100000000000000♠"></span>1 μg/dL</span>
{{Value|1|ul=ug/dL}} <span class="nowrap"><span data-sort-value="6995100000000000000♠"></span>1 [[w:Gram per litre|μg/dL]]</span>
{{Value|1|u=ug/dl}} <span class="nowrap"><span data-sort-value="6995100000000000000♠"></span>1 μg/dl</span>
{{Value|1|ul=ug/dl}} <span class="nowrap"><span data-sort-value="6995100000000000000♠"></span>1 [[w:Gram per litre|μg/dl]]</span>
{{Value|1|u=μg/dL}} <span class="nowrap"><span data-sort-value="6995100000000000000♠"></span>1 μg/dL</span>
{{Value|1|ul=μg/dL}} <span class="nowrap"><span data-sort-value="6995100000000000000♠"></span>1 [[w:Gram per litre|μg/dL]]</span>
{{Value|1|u=μg/dl}} <span class="nowrap"><span data-sort-value="6995100000000000000♠"></span>1 μg/dl</span>
{{Value|1|ul=μg/dl}} <span class="nowrap"><span data-sort-value="6995100000000000000♠"></span>1 [[w:Gram per litre|μg/dl]]</span>
{{Value|1|u=mg/L}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 <span title="milligram per litre">mg/L</span></span>
{{Value|1|ul=mg/L}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 [[w:Gram per litre|<span title="milligram per litre">mg/L</span>]]</span>
{{Value|1|u=mg/l}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 <span title="milligram per litre">mg/l</span></span>
{{Value|1|ul=mg/l}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 [[w:Gram per litre|<span title="milligram per litre">mg/l</span>]]</span>
{{Value|1|u=mg.l-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 <span title="milligram per litre">mg⋅l<sup>−1</sup></span></span>
{{Value|1|ul=mg.l-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Gram per litre|<span title="milligram per litre">mg⋅l<sup>−1</sup></span>]]</span>
{{Value|1|u=mg.L-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 <span title="milligram per litre">mg⋅L<sup>−1</sup></span></span>
{{Value|1|ul=mg.L-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Gram per litre|<span title="milligram per litre">mg⋅L<sup>−1</sup></span>]]</span>
-- Temperature
{{Value|1|u=degC}} <span class="nowrap"><span data-sort-value="7002274149999999999♠"></span>1 °C</span>
{{Value|1|ul=degC}} <span class="nowrap"><span data-sort-value="7002274149999999999♠"></span>1 [[w:Celsius|°C]]</span>
{{Value|1|u=degF}} <span class="nowrap"><span data-sort-value="7002255927777777777♠"></span>1 °F</span>
{{Value|1|ul=degF}} <span class="nowrap"><span data-sort-value="7002255927777777777♠"></span>1 [[w:Fahrenheit|°F]]</span>
{{Value|1|u=degR}} <span class="nowrap"><span data-sort-value="6999555555555555555♠"></span>1 °R</span>
{{Value|1|ul=degR}} <span class="nowrap"><span data-sort-value="6999555555555555555♠"></span>1 [[w:Rankine scale|°R]]</span>
{{Value|1|u=K}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 K</span>
{{Value|1|ul=K}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Kelvin|K]]</span>
{{Value|1|u=YK}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 YK</span>
{{Value|1|ul=YK}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 [[w:Yottakelvin|YK]]</span>
{{Value|1|u=ZK}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 ZK</span>
{{Value|1|ul=ZK}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 [[w:Zettakelvin|ZK]]</span>
{{Value|1|u=EK}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 EK</span>
{{Value|1|ul=EK}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 [[w:Kelvin|EK]]</span>
{{Value|1|u=PK}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 PK</span>
{{Value|1|ul=PK}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 [[w:Petakelvin|PK]]</span>
{{Value|1|u=TK}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 TK</span>
{{Value|1|ul=TK}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 [[w:Terakelvin|TK]]</span>
{{Value|1|u=GK}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 GK</span>
{{Value|1|ul=GK}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 [[w:Gigakelvin|GK]]</span>
{{Value|1|u=MK}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 MK</span>
{{Value|1|ul=MK}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 [[w:Megakelvin|MK]]</span>
{{Value|1|u=kK}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 kK</span>
{{Value|1|ul=kK}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 [[w:Kilokelvin|kK]]</span>
{{Value|1|u=hK}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 hK</span>
{{Value|1|ul=hK}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 [[w:Hectokelvin|hK]]</span>
{{Value|1|u=daK}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 daK</span>
{{Value|1|ul=daK}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 [[w:Decakelvin|daK]]</span>
{{Value|1|u=dK}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 dK</span>
{{Value|1|ul=dK}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 [[w:Decikelvin|dK]]</span>
{{Value|1|u=cK}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 cK</span>
{{Value|1|ul=cK}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 [[w:Centikelvin|cK]]</span>
{{Value|1|u=mK}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 mK</span>
{{Value|1|ul=mK}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 [[w:Millikelvin|mK]]</span>
{{Value|1|u=μK}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μK</span>
-- {{Value|1|ul=μK}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Microkelvin|μK]]</span>
{{Value|1|u=uK}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μK</span>
{{Value|1|ul=uK}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Microkelvin|μK]]</span>
{{Value|1|u=nK}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 nK</span>
{{Value|1|ul=nK}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 [[w:Nanokelvin|nK]]</span>
{{Value|1|u=pK}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 pK</span>
{{Value|1|ul=pK}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 [[w:Picokelvin|pK]]</span>
{{Value|1|u=fK}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 fK</span>
{{Value|1|ul=fK}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 [[w:Femtokelvin|fK]]</span>
{{Value|1|u=aK}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 aK</span>
{{Value|1|ul=aK}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 [[w:Attokelvin|aK]]</span>
{{Value|1|u=zK}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 zK</span>
{{Value|1|ul=zK}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 [[w:Zeptokelvin|zK]]</span>
{{Value|1|u=yK}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 yK</span>
{{Value|1|ul=yK}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 [[w:Yoctokelvin|yK]]</span>
-- Electromagnetism
{{Value|1|u=Wb}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 Wb</span>
{{Value|1|ul=Wb}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Weber (unit)|Wb]]</span>
{{Value|1|u=N.A-2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 N⋅A<sup>−2</sup></span>
{{Value|1|ul=N.A-2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Permeability (electromagnetism)|N⋅A<sup>−2</sup>]]</span>
{{Value|1|u=H.m-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 H⋅m<sup>−1</sup></span>
{{Value|1|ul=H.m-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Permeability (electromagnetism)|H⋅m<sup>−1</sup>]]</span>
{{Value|1|u=V/m}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 V/m</span>
{{Value|1|ul=V/m}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Electric field|V/m]]</span>
{{Value|1|u=V.m-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 V⋅m<sup>−1</sup></span>
{{Value|1|ul=V.m-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Electric field|V⋅m<sup>−1</sup>]]</span>
{{Value|1|u=C}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 C</span>
{{Value|1|ul=C}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Coulomb|C]]</span>
{{Value|1|u=QC}} <span class="nowrap"><span data-sort-value="7030100000000000000♠"></span>1 QC</span>
{{Value|1|ul=QC}} <span class="nowrap"><span data-sort-value="7030100000000000000♠"></span>1 [[w:Coulomb|QC]]</span>
{{Value|1|u=RC}} <span class="nowrap"><span data-sort-value="7027100000000000000♠"></span>1 RC</span>
{{Value|1|ul=RC}} <span class="nowrap"><span data-sort-value="7027100000000000000♠"></span>1 [[w:Coulomb|RC]]</span>
{{Value|1|u=YC}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 YC</span>
{{Value|1|ul=YC}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 [[w:Coulomb|YC]]</span>
{{Value|1|u=ZC}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 ZC</span>
{{Value|1|ul=ZC}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 [[w:Coulomb|ZC]]</span>
{{Value|1|u=EC}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 EC</span>
{{Value|1|ul=EC}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 [[w:Coulomb|EC]]</span>
{{Value|1|u=PC}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 PC</span>
{{Value|1|ul=PC}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 [[w:Coulomb|PC]]</span>
{{Value|1|u=TC}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 TC</span>
{{Value|1|ul=TC}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 [[w:Coulomb|TC]]</span>
{{Value|1|u=GC}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 GC</span>
{{Value|1|ul=GC}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 [[w:Coulomb|GC]]</span>
{{Value|1|u=MC}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 MC</span>
{{Value|1|ul=MC}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 [[w:Coulomb|MC]]</span>
{{Value|1|u=kC}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 kC</span>
{{Value|1|ul=kC}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 [[w:Coulomb|kC]]</span>
{{Value|1|u=hC}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 hC</span>
{{Value|1|ul=hC}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 [[w:Coulomb|hC]]</span>
{{Value|1|u=daC}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 daC</span>
{{Value|1|ul=daC}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 [[w:Coulomb|daC]]</span>
{{Value|1|u=dC}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 dC</span>
{{Value|1|ul=dC}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 [[w:Coulomb|dC]]</span>
{{Value|1|u=cC}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 cC</span>
{{Value|1|ul=cC}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 [[w:Coulomb|cC]]</span>
{{Value|1|u=mC}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 mC</span>
{{Value|1|ul=mC}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 [[w:Coulomb|mC]]</span>
-- {{Value|1|u=μC}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μC</span>
-- {{Value|1|ul=μC}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Coulomb|μC]]</span>
{{Value|1|u=uC}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μC</span>
{{Value|1|ul=uC}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Coulomb|μC]]</span>
{{Value|1|u=nC}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 nC</span>
{{Value|1|ul=nC}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 [[w:Coulomb|nC]]</span>
{{Value|1|u=pC}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 pC</span>
{{Value|1|ul=pC}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 [[w:Coulomb|pC]]</span>
{{Value|1|u=fC}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 fC</span>
{{Value|1|ul=fC}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 [[w:Coulomb|fC]]</span>
{{Value|1|u=aC}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 aC</span>
{{Value|1|ul=aC}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 [[w:Coulomb|aC]]</span>
{{Value|1|u=zC}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 zC</span>
{{Value|1|ul=zC}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 [[w:Coulomb|zC]]</span>
{{Value|1|u=yC}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 yC</span>
{{Value|1|ul=yC}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 [[w:Coulomb|yC]]</span>
{{Value|1|u=rC}} <span class="nowrap"><span data-sort-value="6973100000000000000♠"></span>1 rC</span>
{{Value|1|ul=rC}} <span class="nowrap"><span data-sort-value="6973100000000000000♠"></span>1 [[w:Coulomb|rC]]</span>
{{Value|1|u=qC}} <span class="nowrap"><span data-sort-value="6970100000000000000♠"></span>1 qC</span>
{{Value|1|ul=qC}} <span class="nowrap"><span data-sort-value="6970100000000000000♠"></span>1 [[w:Coulomb|qC]]</span>
{{Value|1|u=F}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 F</span>
{{Value|1|ul=F}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Farad|F]]</span>
{{Value|1|u=YF}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 YF</span>
{{Value|1|ul=YF}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 [[w:Farad|YF]]</span>
{{Value|1|u=ZF}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 ZF</span>
{{Value|1|ul=ZF}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 [[w:Farad|ZF]]</span>
{{Value|1|u=EF}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 EF</span>
{{Value|1|ul=EF}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 [[w:Farad|EF]]</span>
{{Value|1|u=PF}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 PF</span>
{{Value|1|ul=PF}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 [[w:Farad|PF]]</span>
{{Value|1|u=TF}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 TF</span>
{{Value|1|ul=TF}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 [[w:Farad|TF]]</span>
{{Value|1|u=GF}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 GF</span>
{{Value|1|ul=GF}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 [[w:Farad|GF]]</span>
{{Value|1|u=MF}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 MF</span>
{{Value|1|ul=MF}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 [[w:Farad|MF]]</span>
{{Value|1|u=kF}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 kF</span>
{{Value|1|ul=kF}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 [[w:Farad|kF]]</span>
{{Value|1|u=hF}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 hF</span>
{{Value|1|ul=hF}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 [[w:Farad|hF]]</span>
{{Value|1|u=daF}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 daF</span>
{{Value|1|ul=daF}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 [[w:Farad|daF]]</span>
{{Value|1|u=dF}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 dF</span>
{{Value|1|ul=dF}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 [[w:Farad|dF]]</span>
{{Value|1|u=cF}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 cF</span>
{{Value|1|ul=cF}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 [[w:Farad|cF]]</span>
{{Value|1|u=mF}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 mF</span>
{{Value|1|ul=mF}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 [[w:Farad|mF]]</span>
-- {{Value|1|u=μF}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μF</span>
-- {{Value|1|ul=μF}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Farad|μF]]</span>
{{Value|1|u=uF}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μF</span>
{{Value|1|ul=uF}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Farad|μF]]</span>
{{Value|1|u=nF}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 nF</span>
{{Value|1|ul=nF}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 [[w:Farad|nF]]</span>
{{Value|1|u=pF}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 pF</span>
{{Value|1|ul=pF}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 [[w:Farad|pF]]</span>
{{Value|1|u=fF}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 fF</span>
{{Value|1|ul=fF}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 [[w:Farad|fF]]</span>
{{Value|1|u=aF}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 aF</span>
{{Value|1|ul=aF}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 [[w:Farad|aF]]</span>
{{Value|1|u=zF}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 zF</span>
{{Value|1|ul=zF}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 [[w:Farad|zF]]</span>
{{Value|1|u=yF}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 yF</span>
{{Value|1|ul=yF}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 [[w:Farad|yF]]</span>
{{Value|1|u=H}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 H</span>
{{Value|1|ul=H}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Henry (unit)|H]]</span>
{{Value|1|u=YH}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 YH</span>
{{Value|1|ul=YH}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 [[w:Henry (unit)|YH]]</span>
{{Value|1|u=ZH}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 ZH</span>
{{Value|1|ul=ZH}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 [[w:Henry (unit)|ZH]]</span>
{{Value|1|u=EH}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 EH</span>
{{Value|1|ul=EH}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 [[w:Henry (unit)|EH]]</span>
{{Value|1|u=PH}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 PH</span>
{{Value|1|ul=PH}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 [[w:Henry (unit)|PH]]</span>
{{Value|1|u=TH}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 TH</span>
{{Value|1|ul=TH}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 [[w:Henry (unit)|TH]]</span>
{{Value|1|u=GH}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 GH</span>
{{Value|1|ul=GH}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 [[w:Henry (unit)|GH]]</span>
{{Value|1|u=MH}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 MH</span>
{{Value|1|ul=MH}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 [[w:Henry (unit)|MH]]</span>
{{Value|1|u=kH}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 kH</span>
{{Value|1|ul=kH}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 [[w:Henry (unit)|kH]]</span>
{{Value|1|u=hH}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 hH</span>
{{Value|1|ul=hH}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 [[w:Henry (unit)|hH]]</span>
{{Value|1|u=daH}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 daH</span>
{{Value|1|ul=daH}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 [[w:Henry (unit)|daH]]</span>
{{Value|1|u=dH}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 dH</span>
{{Value|1|ul=dH}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 [[w:Henry (unit)|dH]]</span>
{{Value|1|u=cH}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 cH</span>
{{Value|1|ul=cH}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 [[w:Henry (unit)|cH]]</span>
{{Value|1|u=mH}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 mH</span>
{{Value|1|ul=mH}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 [[w:Henry (unit)|mH]]</span>
-- {{Value|1|u=μH}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μH</span>
-- {{Value|1|ul=μH}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Henry (unit)|μH]]</span>
{{Value|1|u=uH}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μH</span>
{{Value|1|ul=uH}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Henry (unit)|μH]]</span>
{{Value|1|u=nH}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 nH</span>
{{Value|1|ul=nH}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 [[w:Henry (unit)|nH]]</span>
{{Value|1|u=pH}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 pH</span>
{{Value|1|ul=pH}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 [[w:Henry (unit)|pH]]</span>
{{Value|1|u=fH}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 fH</span>
{{Value|1|ul=fH}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 [[w:Henry (unit)|fH]]</span>
{{Value|1|u=aH}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 aH</span>
{{Value|1|ul=aH}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 [[w:Henry (unit)|aH]]</span>
{{Value|1|u=zH}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 zH</span>
{{Value|1|ul=zH}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 [[w:Henry (unit)|zH]]</span>
{{Value|1|u=yH}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 yH</span>
{{Value|1|ul=yH}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 [[w:Henry (unit)|yH]]</span>
{{Value|1|u=A}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 A</span>
{{Value|1|ul=A}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Ampere|A]]</span>
{{Value|1|u=YA}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 YA</span>
{{Value|1|ul=YA}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 [[w:Ampere|YA]]</span>
{{Value|1|u=ZA}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 ZA</span>
{{Value|1|ul=ZA}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 [[w:Ampere|ZA]]</span>
{{Value|1|u=EA}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 EA</span>
{{Value|1|ul=EA}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 [[w:Ampere|EA]]</span>
{{Value|1|u=PA}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 PA</span>
{{Value|1|ul=PA}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 [[w:Ampere|PA]]</span>
{{Value|1|u=TA}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 TA</span>
{{Value|1|ul=TA}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 [[w:Ampere|TA]]</span>
{{Value|1|u=GA}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 GA</span>
{{Value|1|ul=GA}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 [[w:Ampere|GA]]</span>
{{Value|1|u=MA}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 MA</span>
{{Value|1|ul=MA}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 [[w:Ampere|MA]]</span>
{{Value|1|u=kA}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 kA</span>
{{Value|1|ul=kA}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 [[w:Ampere|kA]]</span>
{{Value|1|u=hA}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 hA</span>
{{Value|1|ul=hA}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 [[w:Ampere|hA]]</span>
{{Value|1|u=daA}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 daA</span>
{{Value|1|ul=daA}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 [[w:Ampere|daA]]</span>
{{Value|1|u=dA}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 dA</span>
{{Value|1|ul=dA}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 [[w:Ampere|dA]]</span>
{{Value|1|u=cA}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 cA</span>
{{Value|1|ul=cA}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 [[w:Ampere|cA]]</span>
{{Value|1|u=mA}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 mA</span>
{{Value|1|ul=mA}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 [[w:Ampere|mA]]</span>
-- {{Value|1|u=μA}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μA</span>
-- {{Value|1|ul=μA}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Ampere|μA]]</span>
{{Value|1|u=uA}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μA</span>
{{Value|1|ul=uA}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Ampere|μA]]</span>
{{Value|1|u=nA}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 nA</span>
{{Value|1|ul=nA}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 [[w:Ampere|nA]]</span>
{{Value|1|u=pA}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 pA</span>
{{Value|1|ul=pA}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 [[w:Ampere|pA]]</span>
{{Value|1|u=fA}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 fA</span>
{{Value|1|ul=fA}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 [[w:Ampere|fA]]</span>
{{Value|1|u=aA}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 aA</span>
{{Value|1|ul=aA}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 [[w:Ampere|aA]]</span>
{{Value|1|u=zA}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 zA</span>
{{Value|1|ul=zA}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 [[w:Ampere|zA]]</span>
{{Value|1|u=yA}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 yA</span>
{{Value|1|ul=yA}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 [[w:Ampere|yA]]</span>
{{Value|1|u=V}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 V</span>
{{Value|1|ul=V}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Volt|V]]</span>
{{Value|1|u=YV}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 YV</span>
{{Value|1|ul=YV}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 [[w:Volt|YV]]</span>
{{Value|1|u=ZV}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 ZV</span>
{{Value|1|ul=ZV}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 [[w:Volt|ZV]]</span>
{{Value|1|u=EV}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 EV</span>
{{Value|1|ul=EV}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 [[w:Volt|EV]]</span>
{{Value|1|u=PV}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 PV</span>
{{Value|1|ul=PV}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 [[w:Volt|PV]]</span>
{{Value|1|u=TV}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 TV</span>
{{Value|1|ul=TV}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 [[w:Volt|TV]]</span>
{{Value|1|u=GV}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 GV</span>
{{Value|1|ul=GV}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 [[w:Volt|GV]]</span>
{{Value|1|u=MV}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 MV</span>
{{Value|1|ul=MV}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 [[w:Volt|MV]]</span>
{{Value|1|u=kV}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 kV</span>
{{Value|1|ul=kV}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 [[w:Volt|kV]]</span>
{{Value|1|u=hV}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 hV</span>
{{Value|1|ul=hV}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 [[w:Volt|hV]]</span>
{{Value|1|u=daV}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 daV</span>
{{Value|1|ul=daV}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 [[w:Volt|daV]]</span>
{{Value|1|u=dV}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 dV</span>
{{Value|1|ul=dV}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 [[w:Volt|dV]]</span>
{{Value|1|u=cV}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 cV</span>
{{Value|1|ul=cV}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 [[w:Volt|cV]]</span>
{{Value|1|u=mV}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 mV</span>
{{Value|1|ul=mV}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 [[w:Volt|mV]]</span>
-- {{Value|1|u=μV}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μV</span>
-- {{Value|1|ul=μV}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Volt|μV]]</span>
{{Value|1|u=uV}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μV</span>
{{Value|1|ul=uV}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Volt|μV]]</span>
{{Value|1|u=nV}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 nV</span>
{{Value|1|ul=nV}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 [[w:Volt|nV]]</span>
{{Value|1|u=pV}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 pV</span>
{{Value|1|ul=pV}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 [[w:Volt|pV]]</span>
{{Value|1|u=fV}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 fV</span>
{{Value|1|ul=fV}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 [[w:Volt|fV]]</span>
{{Value|1|u=aV}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 aV</span>
{{Value|1|ul=aV}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 [[w:Volt|aV]]</span>
{{Value|1|u=zV}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 zV</span>
{{Value|1|ul=zV}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 [[w:Volt|zV]]</span>
{{Value|1|u=yV}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 yV</span>
{{Value|1|ul=yV}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 [[w:Volt|yV]]</span>
{{Value|1|u=VA}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 VA</span>
{{Value|1|ul=VA}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Volt-ampere|VA]]</span>
{{Value|1|u=YVA}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 YVA</span>
{{Value|1|ul=YVA}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 [[w:Volt-ampere|YVA]]</span>
{{Value|1|u=ZVA}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 ZVA</span>
{{Value|1|ul=ZVA}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 [[w:Volt-ampere|ZVA]]</span>
{{Value|1|u=EVA}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 EVA</span>
{{Value|1|ul=EVA}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 [[w:Volt-ampere|EVA]]</span>
{{Value|1|u=PVA}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 PVA</span>
{{Value|1|ul=PVA}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 [[w:Volt-ampere|PVA]]</span>
{{Value|1|u=TVA}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 TVA</span>
{{Value|1|ul=TVA}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 [[w:Volt-ampere|TVA]]</span>
{{Value|1|u=GVA}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 GVA</span>
{{Value|1|ul=GVA}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 [[w:Volt-ampere|GVA]]</span>
{{Value|1|u=MVA}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 MVA</span>
{{Value|1|ul=MVA}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 [[w:Volt-ampere|MVA]]</span>
{{Value|1|u=kVA}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 kVA</span>
{{Value|1|ul=kVA}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 [[w:Volt-ampere|kVA]]</span>
{{Value|1|u=hVA}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 hVA</span>
{{Value|1|ul=hVA}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 [[w:Volt-ampere|hVA]]</span>
{{Value|1|u=daVA}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 daVA</span>
{{Value|1|ul=daVA}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 [[w:Volt-ampere|daVA]]</span>
{{Value|1|u=dVA}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 dVA</span>
{{Value|1|ul=dVA}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 [[w:Volt-ampere|dVA]]</span>
{{Value|1|u=cVA}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 cVA</span>
{{Value|1|ul=cVA}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 [[w:Volt-ampere|cVA]]</span>
{{Value|1|u=mVA}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 mVA</span>
{{Value|1|ul=mVA}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 [[w:Volt-ampere|mVA]]</span>
-- {{Value|1|u=μVA}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μVA</span>
-- {{Value|1|ul=μVA}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Volt-ampere|μVA]]</span>
{{Value|1|u=uVA}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μVA</span>
{{Value|1|ul=uVA}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Volt-ampere|μVA]]</span>
{{Value|1|u=nVA}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 nVA</span>
{{Value|1|ul=nVA}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 [[w:Volt-ampere|nVA]]</span>
{{Value|1|u=pVA}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 pVA</span>
{{Value|1|ul=pVA}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 [[w:Volt-ampere|pVA]]</span>
{{Value|1|u=fVA}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 fVA</span>
{{Value|1|ul=fVA}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 [[w:Volt-ampere|fVA]]</span>
{{Value|1|u=aVA}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 aVA</span>
{{Value|1|ul=aVA}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 [[w:Volt-ampere|aVA]]</span>
{{Value|1|u=zVA}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 zVA</span>
{{Value|1|ul=zVA}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 [[w:Volt-ampere|zVA]]</span>
{{Value|1|u=yVA}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 yVA</span>
{{Value|1|ul=yVA}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 [[w:Volt-ampere|yVA]]</span>
{{Value|1|u=R}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 R</span>
{{Value|1|ul=R}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Rayleigh (unit)|R]]</span>
{{Value|1|u=G}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 G</span>
{{Value|1|ul=G}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Gauss (unit)|G]]</span>
{{Value|1|u=aG}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 aG</span>
{{Value|1|ul=aG}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 [[w:Attogauss|aG]]</span>
{{Value|1|u=cG}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 cG</span>
{{Value|1|ul=cG}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 [[w:Centigauss|cG]]</span>
{{Value|1|u=daG}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 daG</span>
{{Value|1|ul=daG}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 [[w:Decagauss|daG]]</span>
{{Value|1|u=dG}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 dG</span>
{{Value|1|ul=dG}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 [[w:Decigauss|dG]]</span>
{{Value|1|u=EG}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 EG</span>
{{Value|1|ul=EG}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 [[w:Exagauss|EG]]</span>
{{Value|1|u=fG}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 fG</span>
{{Value|1|ul=fG}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 [[w:Femtogauss|fG]]</span>
{{Value|1|u=GG}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 GG</span>
{{Value|1|ul=GG}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 [[w:Gigagauss|GG]]</span>
{{Value|1|u=hG}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 hG</span>
{{Value|1|ul=hG}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 [[w:Hectogauss|hG]]</span>
{{Value|1|u=kG}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 kG</span>
{{Value|1|ul=kG}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 [[w:Kilogauss|kG]]</span>
{{Value|1|u=MG}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 MG</span>
{{Value|1|ul=MG}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 [[w:Megagauss|MG]]</span>
{{Value|1|u=mG}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 mG</span>
{{Value|1|ul=mG}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 [[w:Milligauss|mG]]</span>
{{Value|1|u=uG}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μG</span>
{{Value|1|ul=uG}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Microgauss|μG]]</span>
-- {{Value|1|u=μG}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μG</span>
-- {{Value|1|ul=μG}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Microgauss|μG]]</span>
{{Value|1|u=nG}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 nG</span>
{{Value|1|ul=nG}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 [[w:Nanogauss|nG]]</span>
{{Value|1|u=PG}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 PG</span>
{{Value|1|ul=PG}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 [[w:Petagauss|PG]]</span>
{{Value|1|u=pG}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 pG</span>
{{Value|1|ul=pG}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 [[w:Picogauss|pG]]</span>
{{Value|1|u=TG}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 TG</span>
{{Value|1|ul=TG}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 [[w:Teragauss|TG]]</span>
{{Value|1|u=yG}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 yG</span>
{{Value|1|ul=yG}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 [[w:Yoctogauss|yG]]</span>
{{Value|1|u=YG}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 YG</span>
{{Value|1|ul=YG}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 [[w:Yottagauss|YG]]</span>
{{Value|1|u=zG}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 zG</span>
{{Value|1|ul=zG}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 [[w:Zeptogauss|zG]]</span>
{{Value|1|u=ZG}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 ZG</span>
{{Value|1|ul=ZG}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 [[w:Zettagauss|ZG]]</span>
{{Value|1|u=T}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 T</span>
{{Value|1|ul=T}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Tesla (unit)|T]]</span>
{{Value|1|u=aT}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 aT</span>
{{Value|1|ul=aT}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 [[w:Attotesla|aT]]</span>
{{Value|1|u=cT}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 cT</span>
{{Value|1|ul=cT}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 [[w:Centitesla|cT]]</span>
{{Value|1|u=daT}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 daT</span>
{{Value|1|ul=daT}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 [[w:Decatesla|daT]]</span>
{{Value|1|u=dT}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 dT</span>
{{Value|1|ul=dT}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 [[w:Decitesla|dT]]</span>
{{Value|1|u=ET}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 ET</span>
{{Value|1|ul=ET}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 [[w:Exatesla|ET]]</span>
{{Value|1|u=fT}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 fT</span>
{{Value|1|ul=fT}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 [[w:Femtotesla|fT]]</span>
{{Value|1|u=GT}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 GT</span>
{{Value|1|ul=GT}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 [[w:Gigatesla|GT]]</span>
{{Value|1|u=hT}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 hT</span>
{{Value|1|ul=hT}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 [[w:Hectotesla|hT]]</span>
{{Value|1|u=kT}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 kT</span>
{{Value|1|ul=kT}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 [[w:Kilotesla|kT]]</span>
{{Value|1|u=MT}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 MT</span>
{{Value|1|ul=MT}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 [[w:Megatesla|MT]]</span>
{{Value|1|u=mT}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 mT</span>
{{Value|1|ul=mT}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 [[w:Millitesla|mT]]</span>
{{Value|1|u=uT}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μT</span>
{{Value|1|ul=uT}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Microtesla|μT]]</span>
{{Value|1|u=μT}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μT</span>
-- {{Value|1|ul=μT}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Microtesla|μT]]</span>
{{Value|1|u=nT}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 nT</span>
{{Value|1|ul=nT}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 [[w:Nanotesla|nT]]</span>
{{Value|1|u=PT}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 PT</span>
{{Value|1|ul=PT}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 [[w:Petatesla|PT]]</span>
{{Value|1|u=pT}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 pT</span>
{{Value|1|ul=pT}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 [[w:Picotesla|pT]]</span>
{{Value|1|u=TT}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 TT</span>
{{Value|1|ul=TT}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 [[w:Teratesla|TT]]</span>
{{Value|1|u=yT}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 yT</span>
{{Value|1|ul=yT}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 [[w:Yoctotesla|yT]]</span>
{{Value|1|u=YT}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 YT</span>
{{Value|1|ul=YT}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 [[w:Yottatesla|YT]]</span>
{{Value|1|u=zT}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 zT</span>
{{Value|1|ul=zT}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 [[w:Zeptotesla|zT]]</span>
{{Value|1|u=ZT}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 ZT</span>
{{Value|1|ul=ZT}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 [[w:Zettatesla|ZT]]</span>
-- Astrophysics
{{Value|1|u=au}} <span class="nowrap"><span data-sort-value="7011149597870700000♠"></span>1 au</span>
{{Value|1|ul=au}} <span class="nowrap"><span data-sort-value="7011149597870700000♠"></span>1 [[w:Astronomical unit|au]]</span>
{{Value|1|u=c}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''c''</span>
{{Value|1|ul=c}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Speed of light|''c'']]</span>
{{Value|1|u=ly}} <span class="nowrap"><span data-sort-value="7015946073047258080♠"></span>1 ly</span>
{{Value|1|ul=ly}} <span class="nowrap"><span data-sort-value="7015946073047258080♠"></span>1 [[w:Light-year|ly]]</span>
{{Value|1|u=Earth mass}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''M''<sub>🜨</sub></span>
{{Value|1|ul=Earth mass}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Earth mass|''M''<sub>🜨</sub>]]</span>
{{Value|1|u=Earth radius}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''R''<sub>🜨</sub></span>
{{Value|1|ul=Earth radius}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Earth radius|''R''<sub>🜨</sub>]]</span>
{{Value|1|u=M_Earth}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''M''<sub>🜨</sub></span>
{{Value|1|ul=M_Earth}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Earth mass|''M''<sub>🜨</sub>]]</span>
{{Value|1|u=R_Earth}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''R''<sub>🜨</sub></span>
{{Value|1|ul=R_Earth}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Earth radius|''R''<sub>🜨</sub>]]</span>
{{Value|1|u=Jupiter mass}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''M''<sub>J</sub></span>
{{Value|1|ul=Jupiter mass}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Jupiter mass|''M''<sub>J</sub>]]</span>
{{Value|1|u=Jupiter radius}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''R''<sub>J</sub></span>
{{Value|1|ul=Jupiter radius}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Jupiter radius|''R''<sub>J</sub>]]</span>
{{Value|1|u=M_Jupiter}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''M''<sub>J</sub></span>
{{Value|1|ul=M_Jupiter}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Jupiter mass|''M''<sub>J</sub>]]</span>
{{Value|1|u=R_Jupiter}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''R''<sub>J</sub></span>
{{Value|1|ul=R_Jupiter}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Jupiter radius|''R''<sub>J</sub>]]</span>
{{Value|1|u=Solar mass}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''M''<sub>☉</sub></span>
{{Value|1|ul=Solar mass}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Solar mass|''M''<sub>☉</sub>]]</span>
{{Value|1|u=solar mass}} <span class="nowrap"><span data-sort-value="7030198855000000000♠"></span>1 ''M''<sub>☉</sub></span>
{{Value|1|ul=solar mass}} <span class="nowrap"><span data-sort-value="7030198855000000000♠"></span>1 [[w:Solar mass|''M''<sub>☉</sub>]]</span>
{{Value|1|u=M_Solar}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''M''<sub>☉</sub></span>
{{Value|1|ul=M_Solar}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Solar mass|''M''<sub>☉</sub>]]</span>
{{Value|1|u=M_solar}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''M''<sub>☉</sub></span>
{{Value|1|ul=M_solar}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Solar mass|''M''<sub>☉</sub>]]</span>
{{Value|1|u=R_Solar}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''R''<sub>☉</sub></span>
{{Value|1|ul=R_Solar}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Solar radius|''R''<sub>☉</sub>]]</span>
{{Value|1|u=R_solar}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''R''<sub>☉</sub></span>
{{Value|1|ul=R_solar}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Solar radius|''R''<sub>☉</sub>]]</span>
{{Value|1|u=Solar radius}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''R''<sub>☉</sub></span>
{{Value|1|ul=Solar radius}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Solar radius|''R''<sub>☉</sub>]]</span>
{{Value|1|u=solar radius}} <span class="nowrap"><span data-sort-value="7008695700000000000♠"></span>1 ''R''<sub>☉</sub></span>
{{Value|1|ul=solar radius}} <span class="nowrap"><span data-sort-value="7008695700000000000♠"></span>1 [[w:Solar radius|''R''<sub>☉</sub>]]</span>
{{Value|1|u=Solar luminosity}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''L''<sub>☉</sub></span>
{{Value|1|ul=Solar luminosity}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Solar luminosity|''L''<sub>☉</sub>]]</span>
{{Value|1|u=solar luminosity}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''L''<sub>☉</sub></span>
{{Value|1|ul=solar luminosity}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Solar luminosity|''L''<sub>☉</sub>]]</span>
{{Value|1|u=L_solar}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''L''<sub>☉</sub></span>
{{Value|1|ul=L_solar}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Solar luminosity|''L''<sub>☉</sub>]]</span>
{{Value|1|u=L_Solar}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''L''<sub>☉</sub></span>
{{Value|1|ul=L_Solar}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Solar luminosity|''L''<sub>☉</sub>]]</span>
{{Value|1|u=pc2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 pc<sup>2</sup></span>
{{Value|1|ul=pc2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Parsec|pc<sup>2</sup>]]</span>
{{Value|1|u=pc3}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 pc<sup>3</sup></span>
{{Value|1|ul=pc3}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Parsec|pc<sup>3</sup>]]</span>
{{Value|1|u=kpc2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 kpc<sup>2</sup></span>
{{Value|1|ul=kpc2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Parsec#Parsecs and kiloparsecs|kpc<sup>2</sup>]]</span>
{{Value|1|u=kpc3}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 kpc<sup>3</sup></span>
{{Value|1|ul=kpc3}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Parsec#Parsecs and kiloparsecs|kpc<sup>3</sup>]]</span>
{{Value|1|u=kpc}} <span class="nowrap"><span data-sort-value="7019308567758146719♠"></span>1 kpc</span>
{{Value|1|ul=kpc}} <span class="nowrap"><span data-sort-value="7019308567758146719♠"></span>1 [[w:Parsec#Parsecs and kiloparsecs|kpc]]</span>
{{Value|1|u=Mpc2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 Mpc<sup>2</sup></span>
{{Value|1|ul=Mpc2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Parsec#Megaparsecs and gigaparsecs|Mpc<sup>2</sup>]]</span>
{{Value|1|u=Mpc3}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 Mpc<sup>3</sup></span>
{{Value|1|ul=Mpc3}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Parsec#Megaparsecs and gigaparsecs|Mpc<sup>3</sup>]]</span>
{{Value|1|u=Mpc}} <span class="nowrap"><span data-sort-value="7022308567758146719♠"></span>1 Mpc</span>
{{Value|1|ul=Mpc}} <span class="nowrap"><span data-sort-value="7022308567758146719♠"></span>1 [[w:Parsec#Megaparsecs and gigaparsecs|Mpc]]</span>
{{Value|1|u=Gpc2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 Gpc<sup>2</sup></span>
{{Value|1|ul=Gpc2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Parsec#Megaparsecs and gigaparsecs|Gpc<sup>2</sup>]]</span>
{{Value|1|u=Gpc3}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 Gpc<sup>3</sup></span>
{{Value|1|ul=Gpc3}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Parsec#Megaparsecs and gigaparsecs|Gpc<sup>3</sup>]]</span>
{{Value|1|u=Gpc}} <span class="nowrap"><span data-sort-value="7025308567758146719♠"></span>1 Gpc</span>
{{Value|1|ul=Gpc}} <span class="nowrap"><span data-sort-value="7025308567758146719♠"></span>1 [[w:Parsec#Megaparsecs and gigaparsecs|Gpc]]</span>
-- Nuclear physics and chemistry
{{Value|1|u=cm-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 cm<sup>−1</sup></span>
{{Value|1|ul=cm-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Wavenumber|cm<sup>−1</sup>]]</span>
{{Value|1|u=u}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 u</span>
{{Value|1|ul=u}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Unified atomic mass unit|u]]</span>
{{Value|1|u=osmol}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 osmol</span>
{{Value|1|ul=osmol}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Osmole (unit)|osmol]]</span>
{{Value|1|u=Osm}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 Osm</span>
{{Value|1|ul=Osm}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Osmole (unit)|Osm]]</span>
{{Value|1|u=M}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 M</span>
{{Value|1|ul=M}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Molarity|M]]</span>
{{Value|1|u=TM}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 TM</span>
{{Value|1|ul=TM}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 [[w:Molarity|TM]]</span>
{{Value|1|u=GM}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 GM</span>
{{Value|1|ul=GM}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 [[w:Molarity|GM]]</span>
{{Value|1|u=MM}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 MM</span>
{{Value|1|ul=MM}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 [[w:Molarity|MM]]</span>
{{Value|1|u=kM}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 kM</span>
{{Value|1|ul=kM}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 [[w:Molarity|kM]]</span>
{{Value|1|u=hM}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 hM</span>
{{Value|1|ul=hM}} <span class="nowrap"><span data-sort-value="7002100000000000000♠"></span>1 [[w:Molarity|hM]]</span>
{{Value|1|u=daM}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 daM</span>
{{Value|1|ul=daM}} <span class="nowrap"><span data-sort-value="7001100000000000000♠"></span>1 [[w:Molarity|daM]]</span>
{{Value|1|u=dM}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 dM</span>
{{Value|1|ul=dM}} <span class="nowrap"><span data-sort-value="6999100000000000000♠"></span>1 [[w:Molarity|dM]]</span>
{{Value|1|u=cM}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 cM</span>
{{Value|1|ul=cM}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1 [[w:Molarity|cM]]</span>
{{Value|1|u=mM}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 mM</span>
{{Value|1|ul=mM}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 [[w:Molarity|mM]]</span>
{{Value|1|u=uM}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 M</span>
{{Value|1|ul=uM}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 [[w:Molarity|M]]</span>
{{Value|1|u=nM}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 nM</span>
{{Value|1|ul=nM}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 [[w:Molarity|nM]]</span>
{{Value|1|u=pM}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 pM</span>
{{Value|1|ul=pM}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 [[w:Molarity|pM]]</span>
{{Value|1|u=kg/mol}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 kg/mol</span>
{{Value|1|ul=kg/mol}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Molar mass|kg/mol]]</span>
{{Value|1|u=kg.mol-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 kg⋅mol<sup>−1</sup></span>
{{Value|1|ul=kg.mol-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Molar mass|kg⋅mol<sup>−1</sup>]]</span>
{{Value|1|u=g/mol}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 g/mol</span>
{{Value|1|ul=g/mol}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1 [[w:Molar mass|g/mol]]</span>
{{Value|1|u=g.mol-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 g⋅mol<sup>−1</sup></span>
{{Value|1|ul=g.mol-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Molar mass|g⋅mol<sup>−1</sup>]]</span>
{{Value|1|u=eV/c2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 eV/''c''<sup>2</sup></span>
{{Value|1|ul=eV/c2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Electronvolt#Mass|eV/''c''<sup>2</sup>]]</span>
{{Value|1|u=keV/c2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 keV/''c''<sup>2</sup></span>
{{Value|1|ul=keV/c2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Electronvolt#Mass|keV/''c''<sup>2</sup>]]</span>
{{Value|1|u=MeV/c2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 MeV/''c''<sup>2</sup></span>
{{Value|1|ul=MeV/c2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Electronvolt#Mass|MeV/''c''<sup>2</sup>]]</span>
{{Value|1|u=GeV/c2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 GeV/''c''<sup>2</sup></span>
{{Value|1|ul=GeV/c2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Electronvolt#Mass|GeV/''c''<sup>2</sup>]]</span>
{{Value|1|u=TeV/c2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 TeV/''c''<sup>2</sup></span>
{{Value|1|ul=TeV/c2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Electronvolt#Mass|TeV/''c''<sup>2</sup>]]</span>
{{Value|1|u=μN}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 μN</span>
{{Value|1|ul=μN}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Newton (unit)|μN]]</span>
{{Value|1|u=μB}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 ''μ''<sub>B</sub></span>
{{Value|1|ul=μB}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Bohr magneton|''μ''<sub>B</sub>]]</span>
{{Value|1|u=eV}} <span class="nowrap"><span data-sort-value="6981160217663399999♠"></span>1 eV</span>
{{Value|1|ul=eV}} <span class="nowrap"><span data-sort-value="6981160217663399999♠"></span>1 [[w:Electronvolt|eV]]</span>
{{Value|1|u=QeV}} <span class="nowrap"><span data-sort-value="7011160217663400000♠"></span>1 QeV</span>
{{Value|1|ul=QeV}} <span class="nowrap"><span data-sort-value="7011160217663400000♠"></span>1 [[w:Electronvolt|QeV]]</span>
{{Value|1|u=ReV}} <span class="nowrap"><span data-sort-value="7008160217663400000♠"></span>1 ReV</span>
{{Value|1|ul=ReV}} <span class="nowrap"><span data-sort-value="7008160217663400000♠"></span>1 [[w:Electronvolt|ReV]]</span>
{{Value|1|u=YeV}} <span class="nowrap"><span data-sort-value="7005160217663400000♠"></span>1 YeV</span>
{{Value|1|ul=YeV}} <span class="nowrap"><span data-sort-value="7005160217663400000♠"></span>1 [[w:Electronvolt|YeV]]</span>
{{Value|1|u=ZeV}} <span class="nowrap"><span data-sort-value="7002160217663400000♠"></span>1 ZeV</span>
{{Value|1|ul=ZeV}} <span class="nowrap"><span data-sort-value="7002160217663400000♠"></span>1 [[w:Electronvolt|ZeV]]</span>
{{Value|1|u=EeV}} <span class="nowrap"><span data-sort-value="6999160217663400000♠"></span>1 EeV</span>
{{Value|1|ul=EeV}} <span class="nowrap"><span data-sort-value="6999160217663400000♠"></span>1 [[w:Electronvolt|EeV]]</span>
{{Value|1|u=PeV}} <span class="nowrap"><span data-sort-value="6996160217663400000♠"></span>1 PeV</span>
{{Value|1|ul=PeV}} <span class="nowrap"><span data-sort-value="6996160217663400000♠"></span>1 [[w:Electronvolt|PeV]]</span>
{{Value|1|u=TeV}} <span class="nowrap"><span data-sort-value="6993160217663400000♠"></span>1 TeV</span>
{{Value|1|ul=TeV}} <span class="nowrap"><span data-sort-value="6993160217663400000♠"></span>1 [[w:Electronvolt|TeV]]</span>
{{Value|1|u=GeV}} <span class="nowrap"><span data-sort-value="6990160217663399999♠"></span>1 GeV</span>
{{Value|1|ul=GeV}} <span class="nowrap"><span data-sort-value="6990160217663399999♠"></span>1 [[w:Electronvolt|GeV]]</span>
{{Value|1|u=MeV}} <span class="nowrap"><span data-sort-value="6987160217663400000♠"></span>1 MeV</span>
{{Value|1|ul=MeV}} <span class="nowrap"><span data-sort-value="6987160217663400000♠"></span>1 [[w:Electronvolt|MeV]]</span>
{{Value|1|u=keV}} <span class="nowrap"><span data-sort-value="6984160217663400000♠"></span>1 keV</span>
{{Value|1|ul=keV}} <span class="nowrap"><span data-sort-value="6984160217663400000♠"></span>1 [[w:Electronvolt|keV]]</span>
{{Value|1|u=meV}} <span class="nowrap"><span data-sort-value="6978160217663400000♠"></span>1 meV</span>
{{Value|1|ul=meV}} <span class="nowrap"><span data-sort-value="6978160217663400000♠"></span>1 [[w:Electronvolt|meV]]</span>
{{Value|1|u=ueV}} <span class="nowrap"><span data-sort-value="6975160217663399999♠"></span>1 μeV</span>
{{Value|1|ul=ueV}} <span class="nowrap"><span data-sort-value="6975160217663399999♠"></span>1 [[w:Electronvolt|μeV]]</span>
{{Value|1|u=μeV}} <span class="nowrap"><span data-sort-value="6975160217663399999♠"></span>1 μeV</span>
{{Value|1|ul=μeV}} <span class="nowrap"><span data-sort-value="6975160217663399999♠"></span>1 [[w:Electronvolt|μeV]]</span>
{{Value|1|u=neV}} <span class="nowrap"><span data-sort-value="6972160217663400000♠"></span>1 neV</span>
{{Value|1|ul=neV}} <span class="nowrap"><span data-sort-value="6972160217663400000♠"></span>1 [[w:Electronvolt|neV]]</span>
{{Value|1|u=peV}} <span class="nowrap"><span data-sort-value="6969160217663399999♠"></span>1 peV</span>
{{Value|1|ul=peV}} <span class="nowrap"><span data-sort-value="6969160217663399999♠"></span>1 [[w:Electronvolt|peV]]</span>
{{Value|1|u=feV}} <span class="nowrap"><span data-sort-value="6966160217663400000♠"></span>1 feV</span>
{{Value|1|ul=feV}} <span class="nowrap"><span data-sort-value="6966160217663400000♠"></span>1 [[w:Electronvolt|feV]]</span>
{{Value|1|u=aeV}} <span class="nowrap"><span data-sort-value="6963160217663400000♠"></span>1 aeV</span>
{{Value|1|ul=aeV}} <span class="nowrap"><span data-sort-value="6963160217663400000♠"></span>1 [[w:Electronvolt|aeV]]</span>
{{Value|1|u=zeV}} <span class="nowrap"><span data-sort-value="6960160217663399999♠"></span>1 zeV</span>
{{Value|1|ul=zeV}} <span class="nowrap"><span data-sort-value="6960160217663399999♠"></span>1 [[w:Electronvolt|zeV]]</span>
{{Value|1|u=yeV}} <span class="nowrap"><span data-sort-value="6957160217663400000♠"></span>1 yeV</span>
{{Value|1|ul=yeV}} <span class="nowrap"><span data-sort-value="6957160217663400000♠"></span>1 [[w:Electronvolt|yeV]]</span>
{{Value|1|u=reV}} <span class="nowrap"><span data-sort-value="6954160217663399999♠"></span>1 reV</span>
{{Value|1|ul=reV}} <span class="nowrap"><span data-sort-value="6954160217663399999♠"></span>1 [[w:Electronvolt|reV]]</span>
{{Value|1|u=qeV}} <span class="nowrap"><span data-sort-value="6951160217663400000♠"></span>1 qeV</span>
{{Value|1|ul=qeV}} <span class="nowrap"><span data-sort-value="6951160217663400000♠"></span>1 [[w:Electronvolt|qeV]]</span>
{{Value|1|u=J/mol}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 J/mol</span>
{{Value|1|ul=J/mol}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Joule per mole|J/mol]]</span>
{{Value|1|u=J.mol-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 J⋅mol<sup>−1</sup></span>
{{Value|1|ul=J.mol-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Joule per mole|J⋅mol<sup>−1</sup>]]</span>
{{Value|1|u=kJ.mol-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 kJ⋅mol<sup>−1</sup></span>
{{Value|1|ul=kJ.mol-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Joule per mole|kJ⋅mol<sup>−1</sup>]]</span>
{{Value|1|u=kJ/mol}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 kJ/mol</span>
{{Value|1|ul=kJ/mol}} <span class="nowrap"><span data-sort-value="7003100000000000000♠"></span>1 [[w:Joule per mole|kJ/mol]]</span>
{{Value|1|u=MJ.mol-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 MJ⋅mol<sup>−1</sup></span>
{{Value|1|ul=MJ.mol-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Joule per mole|MJ⋅mol<sup>−1</sup>]]</span>
{{Value|1|u=MJ/mol}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 MJ/mol</span>
{{Value|1|ul=MJ/mol}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 [[w:Joule per mole|MJ/mol]]</span>
{{Value|1|u=GJ/mol}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 GJ/mol</span>
{{Value|1|ul=GJ/mol}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 [[w:Joule per mole|GJ/mol]]</span>
{{Value|1|u=GJ.mol-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 GJ⋅mol<sup>−1</sup></span>
{{Value|1|ul=GJ.mol-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Joule per mole|GJ⋅mol<sup>−1</sup>]]</span>
{{Value|1|u=TJ.mol-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 TJ⋅mol<sup>−1</sup></span>
{{Value|1|ul=TJ.mol-1}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Joule per mole|TJ⋅mol<sup>−1</sup>]]</span>
{{Value|1|u=TJ/mol}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 TJ/mol</span>
{{Value|1|ul=TJ/mol}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 [[w:Joule per mole|TJ/mol]]</span>
-- Numbers and phrases
{{Value|1|u=pp}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 pp</span>
{{Value|1|ul=pp}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Page (paper)|pp]]</span>
{{Value|1|u=ppb}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 ppb</span>
{{Value|1|ul=ppb}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 [[w:Parts per billion|ppb]]</span>
{{Value|1|u=ppm}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 ppm</span>
{{Value|1|ul=ppm}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Parts per million|ppm]]</span>
{{Value|1|u=billiard}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 billiard</span>
{{Value|1|ul=billiard}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1015|billiard]]</span>
{{Value|1|u=billion}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 billion</span>
{{Value|1|ul=billion}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 [[w:1,000,000,000|billion]]</span>
{{Value|1|u=billionth}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 billionth</span>
{{Value|1|ul=billionth}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 [[w:1,000,000,000|billionth]]</span>
{{Value|1|u=billionths}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 billionths</span>
{{Value|1|ul=billionths}} <span class="nowrap"><span data-sort-value="6991100000000000000♠"></span>1 [[w:1,000,000,000|billionths]]</span>
{{Value|1|u=decilliard}} <span class="nowrap"><span data-sort-value="7063100000000000000♠"></span>1 decilliard</span>
{{Value|1|ul=decilliard}} <span class="nowrap"><span data-sort-value="7063100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1063|decilliard]]</span>
{{Value|1|u=decillion}} <span class="nowrap"><span data-sort-value="7033099999999999999♠"></span>1 decillion</span>
{{Value|1|ul=decillion}} <span class="nowrap"><span data-sort-value="7033099999999999999♠"></span>1 [[w:Orders of magnitude (numbers)#1033|decillion]]</span>
{{Value|1|u=decillionth}} <span class="nowrap"><span data-sort-value="6967100000000000000♠"></span>1 decillionth</span>
{{Value|1|ul=decillionth}} <span class="nowrap"><span data-sort-value="6967100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1033|decillionth]]</span>
{{Value|1|u=decillionths}} <span class="nowrap"><span data-sort-value="6967100000000000000♠"></span>1 decillionths</span>
{{Value|1|ul=decillionths}} <span class="nowrap"><span data-sort-value="6967100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1033|decillionths]]</span>
{{Value|1|u=milliard}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 milliard</span>
{{Value|1|ul=milliard}} <span class="nowrap"><span data-sort-value="7009100000000000000♠"></span>1 [[w:1,000,000,000|milliard]]</span>
{{Value|1|u=million}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 million</span>
{{Value|1|ul=million}} <span class="nowrap"><span data-sort-value="7006100000000000000♠"></span>1 [[w:Million|million]]</span>
{{Value|1|u=millionth}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 millionth</span>
{{Value|1|ul=millionth}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Million|millionth]]</span>
{{Value|1|u=millionths}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 millionths</span>
{{Value|1|ul=millionths}} <span class="nowrap"><span data-sort-value="6994100000000000000♠"></span>1 [[w:Million|millionths]]</span>
{{Value|1|u=nonilliard}} <span class="nowrap"><span data-sort-value="7057100000000000000♠"></span>1 nonilliard</span>
{{Value|1|ul=nonilliard}} <span class="nowrap"><span data-sort-value="7057100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1057|nonilliard]]</span>
{{Value|1|u=nonillion}} <span class="nowrap"><span data-sort-value="7030100000000000000♠"></span>1 nonillion</span>
{{Value|1|ul=nonillion}} <span class="nowrap"><span data-sort-value="7030100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1030|nonillion]]</span>
{{Value|1|u=nonillionth}} <span class="nowrap"><span data-sort-value="6970100000000000000♠"></span>1 nonillionth</span>
{{Value|1|ul=nonillionth}} <span class="nowrap"><span data-sort-value="6970100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1030|nonillionth]]</span>
{{Value|1|u=nonillionths}} <span class="nowrap"><span data-sort-value="6970100000000000000♠"></span>1 nonillionths</span>
{{Value|1|ul=nonillionths}} <span class="nowrap"><span data-sort-value="6970100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1030|nonillionths]]</span>
{{Value|1|u=octilliard}} <span class="nowrap"><span data-sort-value="7051100000000000000♠"></span>1 octilliard</span>
{{Value|1|ul=octilliard}} <span class="nowrap"><span data-sort-value="7051100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1051|octilliard]]</span>
{{Value|1|u=octillion}} <span class="nowrap"><span data-sort-value="7027100000000000000♠"></span>1 octillion</span>
{{Value|1|ul=octillion}} <span class="nowrap"><span data-sort-value="7027100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1027|octillion]]</span>
{{Value|1|u=octillionth}} <span class="nowrap"><span data-sort-value="6973100000000000000♠"></span>1 octillionth</span>
{{Value|1|ul=octillionth}} <span class="nowrap"><span data-sort-value="6973100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1027|octillionth]]</span>
{{Value|1|u=octillionths}} <span class="nowrap"><span data-sort-value="6973100000000000000♠"></span>1 octillionths</span>
{{Value|1|ul=octillionths}} <span class="nowrap"><span data-sort-value="6973100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1027|octillionths]]</span>
{{Value|1|u=quadrilliard}} <span class="nowrap"><span data-sort-value="7027100000000000000♠"></span>1 quadrilliard</span>
{{Value|1|ul=quadrilliard}} <span class="nowrap"><span data-sort-value="7027100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1027|quadrilliard]]</span>
{{Value|1|u=quadrillion}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 quadrillion</span>
{{Value|1|ul=quadrillion}} <span class="nowrap"><span data-sort-value="7015100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1015|quadrillion]]</span>
{{Value|1|u=quadrillionth}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 quadrillionth</span>
{{Value|1|ul=quadrillionth}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1015|quadrillionth]]</span>
{{Value|1|u=quadrillionths}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 quadrillionths</span>
{{Value|1|ul=quadrillionths}} <span class="nowrap"><span data-sort-value="6985100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1015|quadrillionths]]</span>
{{Value|1|u=quintilliard}} <span class="nowrap"><span data-sort-value="7033099999999999999♠"></span>1 quintilliard</span>
{{Value|1|ul=quintilliard}} <span class="nowrap"><span data-sort-value="7033099999999999999♠"></span>1 [[w:Orders of magnitude (numbers)#1033|quintilliard]]</span>
{{Value|1|u=quintillion}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 quintillion</span>
{{Value|1|ul=quintillion}} <span class="nowrap"><span data-sort-value="7018100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1018|quintillion]]</span>
{{Value|1|u=quintillionth}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 quintillionth</span>
{{Value|1|ul=quintillionth}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1018|quintillionth]]</span>
{{Value|1|u=quintillionths}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 quintillionths</span>
{{Value|1|ul=quintillionths}} <span class="nowrap"><span data-sort-value="6982100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1018|quintillionths]]</span>
{{Value|1|u=septilliard}} <span class="nowrap"><span data-sort-value="7045100000000000000♠"></span>1 septilliard</span>
{{Value|1|ul=septilliard}} <span class="nowrap"><span data-sort-value="7045100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1045|septilliard]]</span>
{{Value|1|u=septillion}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 septillion</span>
{{Value|1|ul=septillion}} <span class="nowrap"><span data-sort-value="7024100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1024|septillion]]</span>
{{Value|1|u=septillionth}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 septillionth</span>
{{Value|1|ul=septillionth}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 [[w:Orders of magnitude (numbers)#1024|septillionth]]</span>
{{Value|1|u=septillionths}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 septillionths</span>
{{Value|1|ul=septillionths}} <span class="nowrap"><span data-sort-value="6976099999999999999♠"></span>1 [[w:Orders of magnitude (numbers)#1024|septillionths]]</span>
{{Value|1|u=sextilliard}} <span class="nowrap"><span data-sort-value="7039100000000000000♠"></span>1 sextilliard</span>
{{Value|1|ul=sextilliard}} <span class="nowrap"><span data-sort-value="7039100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1039|sextilliard]]</span>
{{Value|1|u=sextillion}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 sextillion</span>
{{Value|1|ul=sextillion}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1021|sextillion]]</span>
{{Value|1|u=sextillionth}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 sextillionth</span>
{{Value|1|ul=sextillionth}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 [[w:Orders of magnitude (numbers)#1021|sextillionth]]</span>
{{Value|1|u=sextillionths}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 sextillionths</span>
{{Value|1|ul=sextillionths}} <span class="nowrap"><span data-sort-value="6979099999999999999♠"></span>1 [[w:Orders of magnitude (numbers)#1021|sextillionths]]</span>
{{Value|1|u=trilliard}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 trilliard</span>
{{Value|1|ul=trilliard}} <span class="nowrap"><span data-sort-value="7021100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1021|trilliard]]</span>
{{Value|1|u=trillion}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 trillion</span>
{{Value|1|ul=trillion}} <span class="nowrap"><span data-sort-value="7012100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1012|trillion]]</span>
{{Value|1|u=trillionth}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 trillionth</span>
{{Value|1|ul=trillionth}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1012|trillionth]]</span>
{{Value|1|u=trillionths}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 trillionths</span>
{{Value|1|ul=trillionths}} <span class="nowrap"><span data-sort-value="6988100000000000000♠"></span>1 [[w:Orders of magnitude (numbers)#1012|trillionths]]</span>
-- Angles and solid angles
{{Value|1|u=%}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1%</span>
{{Value|1|ul=%}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1[[w:Percent|%]]</span>
{{Value|1|u=percent}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1%</span>
{{Value|1|ul=percent}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1[[w:Percent|%]]</span>
{{Value|1|u=per cent}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1%</span>
{{Value|1|ul=per cent}} <span class="nowrap"><span data-sort-value="6998100000000000000♠"></span>1[[w:Percent|%]]</span>
{{Value|1|u=‰}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1‰</span>
{{Value|1|ul=‰}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1[[w:Per mil|‰]]</span>
{{Value|1|u=per mil}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1‰</span>
{{Value|1|ul=per mil}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1[[w:Per mil|‰]]</span>
{{Value|1|u=per mill}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1‰</span>
{{Value|1|ul=per mill}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1[[w:Per mil|‰]]</span>
{{Value|1|u=per mille}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1‰</span>
{{Value|1|ul=per mille}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1[[w:Per mil|‰]]</span>
{{Value|1|u=permil}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1‰</span>
{{Value|1|ul=permil}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1[[w:Per mil|‰]]</span>
{{Value|1|u=permill}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1‰</span>
{{Value|1|ul=permill}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1[[w:Per mil|‰]]</span>
{{Value|1|u=permille}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1‰</span>
{{Value|1|ul=permille}} <span class="nowrap"><span data-sort-value="6997100000000000000♠"></span>1[[w:Per mil|‰]]</span>
{{Value|1|u=°}} <span class="nowrap"><span data-sort-value="6998174532925199433♠"></span>1°</span>
{{Value|1|ul=°}} <span class="nowrap"><span data-sort-value="6998174532925199433♠"></span>1[[w:Degree (angle)|°]]</span>
{{Value|1|u=deg}} <span class="nowrap"><span data-sort-value="6998174532925199433♠"></span>1°</span>
{{Value|1|ul=deg}} <span class="nowrap"><span data-sort-value="6998174532925199433♠"></span>1[[w:Degree (angle)|°]]</span>
{{Value|1|u='}} <span class="nowrap"><span data-sort-value="6996290888208665722♠"></span>1′</span>
{{Value|1|ul='}} <span class="nowrap"><span data-sort-value="6996290888208665722♠"></span>1[[w:Minute of arc|′]]</span>
{{Value|1|u=′}} <span class="nowrap"><span data-sort-value="6996290888208665722♠"></span>1′</span>
{{Value|1|ul=′}} <span class="nowrap"><span data-sort-value="6996290888208665722♠"></span>1[[w:Minute of arc|′]]</span>
{{Value|1|u=arcmin}} <span class="nowrap"><span data-sort-value="6996290888208665722♠"></span>1′</span>
{{Value|1|ul=arcmin}} <span class="nowrap"><span data-sort-value="6996290888208665722♠"></span>1[[w:Minute of arc|′]]</span>
{{Value|1|u=arcminute}} <span class="nowrap"><span data-sort-value="6996290888208665722♠"></span>1′</span>
{{Value|1|ul=arcminute}} <span class="nowrap"><span data-sort-value="6996290888208665722♠"></span>1[[w:Minute of arc|′]]</span>
{{Value|1|u="}} <span class="nowrap"><span data-sort-value="6994484813681109537♠"></span>1″</span>
{{Value|1|ul="}} <span class="nowrap"><span data-sort-value="6994484813681109537♠"></span>1[[w:Second of arc|″]]</span>
{{Value|1|u=″}} <span class="nowrap"><span data-sort-value="6994484813681109537♠"></span>1″</span>
{{Value|1|ul=″}} <span class="nowrap"><span data-sort-value="6994484813681109537♠"></span>1[[w:Second of arc|″]]</span>
{{Value|1|u=arcsec}} <span class="nowrap"><span data-sort-value="6994484813681109537♠"></span>1″</span>
{{Value|1|ul=arcsec}} <span class="nowrap"><span data-sort-value="6994484813681109537♠"></span>1[[w:Second of arc|″]]</span>
{{Value|1|u=arcsecond}} <span class="nowrap"><span data-sort-value="6994484813681109537♠"></span>1″</span>
{{Value|1|ul=arcsecond}} <span class="nowrap"><span data-sort-value="6994484813681109537♠"></span>1[[w:Second of arc|″]]</span>
{{Value|1|u=mas}} <span class="nowrap"><span data-sort-value="6991484813681109537♠"></span>1 mas</span>
{{Value|1|ul=mas}} <span class="nowrap"><span data-sort-value="6991484813681109537♠"></span>1 [[w:Milliarcsecond|mas]]</span>
{{Value|1|u=uas}} <span class="nowrap"><span data-sort-value="6988484813681109537♠"></span>1 μas</span>
{{Value|1|ul=uas}} <span class="nowrap"><span data-sort-value="6988484813681109537♠"></span>1 [[w:Microarcsecond|μas]]</span>
{{Value|1|u=μas}} <span class="nowrap"><span data-sort-value="6988484813681109537♠"></span>1 μas</span>
{{Value|1|ul=μas}} <span class="nowrap"><span data-sort-value="6988484813681109537♠"></span>1 [[w:Microarcsecond|μas]]</span>
{{Value|1|u=deg2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 deg<sup>2</sup></span>
{{Value|1|ul=deg2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Square degree|deg<sup>2</sup>]]</span>
{{Value|1|u=arcmin2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 arcmin<sup>2</sup></span>
{{Value|1|ul=arcmin2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Square degree|arcmin<sup>2</sup>]]</span>
{{Value|1|u=arcsec2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 arcsec<sup>2</sup></span>
{{Value|1|ul=arcsec2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Square degree|arcsec<sup>2</sup>]]</span>
{{Value|1|u=mas2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 mas<sup>2</sup></span>
{{Value|1|ul=mas2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Square degree|mas<sup>2</sup>]]</span>
{{Value|1|u=uas2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 μas<sup>2</sup></span>
{{Value|1|ul=uas2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Square degree|μas<sup>2</sup>]]</span>
{{Value|1|u=μas2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 μas<sup>2</sup></span>
{{Value|1|ul=μas2}} <span class="nowrap"><span data-sort-value="7000100000000000000♠"></span>1 [[w:Square degree|μas<sup>2</sup>]]</span>
</pre>
b54vb1ewwuvcos1hp3fxen9yl1k6dxh
Template:Value/list
10
483911
4639962
2026-06-11T23:43:55Z
Rainmonger
122366
Created page with "{{Details|Module:Val/units#Flags}} This page publishes {{Tl|Value}} units, configured and explained in detail at ''{{large|[[Module:Val/units]]}}''. When you enter a ''unit code'' to one of Value's four unit parameter—{{Para|u}}, {{Para|up}}, {{Para|ul}} or {{Para|upl}}—the unit code is translated as shown in this report. This report is generated by <code><nowiki>{{Value|action=list}}</nowiki></code>. The unit code at the beginning of the line ''equates''..."
4639962
wikitext
text/x-wiki
{{Details|Module:Val/units#Flags}}
This page publishes {{Tl|Value}} units, configured and explained in detail at ''{{large|[[Module:Val/units]]}}''.
When you enter a ''unit code'' to one of Value's four unit parameter—{{Para|u}}, {{Para|up}}, {{Para|ul}} or {{Para|upl}}—the unit code is translated as shown in this report. This report is generated by <code><nowiki>{{Value|action=list}}</nowiki></code>.
The unit code at the beginning of the line ''equates'' to the markup and link of a unit.
The link should record the best possible link found on the wiki, including any section of a pagename.
The markup that displays the scientific, standard symbol may be hidden in the wikilink label here, but {{Edit|Module:Val/units|see it at Module:Val/units}}.
Value and {{Tl|Convert}} are the two templates that use ''unit code''s.
Value uses all of [[Template:Convert#Units|Convert unit codes]],
and adds as many more as may be needed for scientific expressions on the wiki.
Most of the units here are simply unnecessary for conversion.
But sometimes a unit code here is added to override the same unit code at Convert
where necessary to prioritize Value's scientific orientation over Convert's conversion orientation.
Val/units can configure more than just the above minimal definition of a unit code, and this report reflects that too.
It can configure how such Value expressions are [[Help:Tables#Sortable tables|sorted in a wikitable]],
how units are spaced, and can explicitly mark a unit code already defined at Convert that may be tempting to redefine unnecessarily. These configuration indicators, shown after the "•" symbol, are
* SI or a number: the unit is configured for sorting
* ALIAS already defined at Convert
* ANGLE or NOSPACE to fulfill special markup needs for certain units
Most of these indicators are just for sorting. SI is marker that means a sorting factor is automatically scaled to the SI system of units, whereas a number is a manual method or scaling the unit to its associated measurement number in the Value expression. Where a unit is not marked as configured for sorting, it could be sorted by Convert.
{{Value|action=list}}
== sandbox action=list ==
{{Value/sandbox<!--lua-->|action=list}}
== sandbox action=list|a=convert ==
{{Value/sandbox<!--lua-->|action=list|a=convert}}
== sandbox action=list|a=unknown ==
{{alue/sandbox<!--lua-->|action=list|a=unknown}}
{{Transclusionless|reason=it is documentation for [[Template:Value]]}}
nrdvr4bo0os1mrnv2ab54m1cv5bqz39
User:Ryderpedia
2
483912
4639963
2026-06-11T23:54:16Z
Ryderpedia
3549617
Created page with "Hi I'm Ryderpedia or you can call me Ryder for short from the United States and I joined on the 10th of January 2026."
4639963
wikitext
text/x-wiki
Hi I'm Ryderpedia or you can call me Ryder for short from the United States and I joined on the 10th of January 2026.
dkgqmpy7xln92wa3lfx72o6l5n4pw53
Module:Val/doc
828
483913
4639966
2026-06-12T00:07:09Z
Rainmonger
122366
Redirected page to [[w:Module:Val/doc]]
4639966
wikitext
text/x-wiki
#REDIRECT [[w:Module:Val/doc]]
bx3az2btwvu6oanz9ro6p26zrhtqsmr
Template:FoM/Eqn
10
483914
4639970
2026-06-12T01:04:25Z
Rainmonger
122366
Created page with "<div class="eqn fom"> <span class="eqn left fom"></span> <span class="eqn middle fom">{{{1}}}</span> <span class="eqn right fom">{{#if: {{{2|}}} | [[#eqn {{{2|}}}|{{{2|}}}]] | }}</span> </div>"
4639970
wikitext
text/x-wiki
<div class="eqn fom">
<span class="eqn left fom"></span>
<span class="eqn middle fom">{{{1}}}</span>
<span class="eqn right fom">{{#if: {{{2|}}} | [[#eqn {{{2|}}}|{{{2|}}}]] | }}</span>
</div>
tvn44cs85u5fioxlw7snvpzi1t9fyhj
4639973
4639970
2026-06-12T01:12:12Z
Rainmonger
122366
4639973
wikitext
text/x-wiki
<templatestyles src="Template:FoM/Eqn/styles.css" />
<div>
<span class="eqn left fom"></span>
<span class="eqn middle fom">{{{1}}}</span>
<span class="eqn right fom">{{#if: {{{2|}}} | [[#eqn {{{2|}}}|{{{2|}}}]] | }}</span>
</div>
0fgygunteb19jlbxre3dxv6v0zulssy
4639977
4639973
2026-06-12T01:30:12Z
Rainmonger
122366
4639977
wikitext
text/x-wiki
<templatestyles src="Template:FoM/Eqn/styles.css" />
<div class="eqn fom">
{{{1}}}{{#if: {{{2|}}} | <span class="right">{{Anchor|eqn {{{2|}}}}}({{{2|}}})</span> | }}
</div>
mge4rgyffdu64w6ijgp0pvdrdhlllkc
4639983
4639977
2026-06-12T01:47:49Z
Rainmonger
122366
4639983
wikitext
text/x-wiki
<templatestyles src="Template:FoM/Eqn/styles.css" />
<div class="eqn fom">
{{{1}}}{{#if: {{{2|}}} | <div class="right">{{Anchor|eqn {{{2|}}}}}({{{2|}}})</div> | }}
</div>
mw3cy9noy272s7wdgqifwg9kn1lbmn8
4639986
4639983
2026-06-12T02:00:50Z
Rainmonger
122366
4639986
wikitext
text/x-wiki
<templatestyles src="Template:FoM/Eqn/styles.css" />
<div class="eqn fom">
{{{1}}}{{#if: {{{2|}}} | <div class="right">{{Anchor|eqn {{{2|}}}}}({{{2|}}})</div> | }}
</div>
<br />
4cqmfpmrc02be4qvu3iep5hl3867dru
Template:FoM/Eqn/styles.css
10
483915
4639971
2026-06-12T01:08:35Z
Rainmonger
122366
Created page with "span.eqn.left.fom, span.eqn.right.fom { width: 10%; } span.eqn.middle.fom { width: 80%; margin: auto; }"
4639971
sanitized-css
text/css
span.eqn.left.fom, span.eqn.right.fom {
width: 10%;
}
span.eqn.middle.fom {
width: 80%;
margin: auto;
}
jvcx98e6w2u8nmumjj7hlt0otfuuq39
4639972
4639971
2026-06-12T01:11:46Z
Rainmonger
122366
4639972
sanitized-css
text/css
span.eqn.left.fom, span.eqn.right.fom {
width: 10%;
text-align: right;
}
span.eqn.middle.fom {
width: 80%;
margin: auto;
}
7uypz2ru9iytzvdbc8g7pchcl0r1h48
4639976
4639972
2026-06-12T01:30:01Z
Rainmonger
122366
4639976
sanitized-css
text/css
div.eqn.fom {
margin: auto;
text-align: center;
}
5bh2rtk798z6c2fdionngzkc12j39vv
4639978
4639976
2026-06-12T01:31:23Z
Rainmonger
122366
4639978
sanitized-css
text/css
div.eqn.fom {
margin: auto;
text-align: center;
}
div.eqn.fom > span.right {
float: right;
text-align: right;
}
dyj7wlosbrx9c04sszmvwrjrp8mo2ym
4639979
4639978
2026-06-12T01:39:06Z
Rainmonger
122366
4639979
sanitized-css
text/css
div.eqn.fom {
width: 100%;
margin: auto;
text-align: center;
}
div.eqn.fom > span.right {
float: right;
text-align: right;
}
e1h0iqdrutmr189s65trn0eon13elk8
4639980
4639979
2026-06-12T01:39:58Z
Rainmonger
122366
4639980
sanitized-css
text/css
div.eqn.fom {
width: 100%;
text-align: center;
}
div.eqn.fom > span.right {
float: right;
text-align: right;
}
j65qwaubjteecnw0dg32m46lqtzo8vx
4639981
4639980
2026-06-12T01:45:04Z
Rainmonger
122366
4639981
sanitized-css
text/css
div.eqn.fom {
width: stretch;
text-align: center;
}
div.eqn.fom > span.right {
float: right;
text-align: right;
}
c8w2q3gsaewrj67zsqn8wgu7185ednl
4639982
4639981
2026-06-12T01:47:36Z
Rainmonger
122366
4639982
sanitized-css
text/css
div.eqn.fom {
width: stretch;
text-align: center;
}
div.eqn.fom > div.right {
float: right;
text-align: right;
}
iyr16fgl9h0rcc16kzg6xqovsgqi97o
4639984
4639982
2026-06-12T01:58:04Z
Rainmonger
122366
4639984
sanitized-css
text/css
div.eqn.fom {
width: stretch;
text-align: center;
}
div.eqn.fom::after {
content: "<br />";
}
div.eqn.fom > div.right {
float: right;
text-align: right;
}
q0tm5s6ryy8b855ko2t5wz6y9z6qf98
4639985
4639984
2026-06-12T02:00:37Z
Rainmonger
122366
4639985
sanitized-css
text/css
div.eqn.fom {
width: stretch;
text-align: center;
}
div.eqn.fom > div.right {
float: right;
text-align: right;
}
iyr16fgl9h0rcc16kzg6xqovsgqi97o
Fundamentals of Mechanics/Units and Vectors/Vector Algebra/Addition
0
483916
4639987
2026-06-12T02:04:16Z
Rainmonger
122366
Created page with "There are two ways to add vectors, geometrically and algebraically. Here, we will discuss the geometric method which is useful for solving problems without using a coordinate system. The algebraic method will be discussed later. To add two vectors {{FoM/Vec|A}} and {{FoM/Vec|B}} using the geometric method, place the head of {{FoM/Vec|A}} at the tail of {{FoM/Vec|B}} and draw a vector from the tail of {{FoM/Vec|A}} to the head of {{FoM/Vec|B}} as shown in {{Nowrap|#fig..."
4639987
wikitext
text/x-wiki
There are two ways to add vectors, geometrically and algebraically. Here, we will discuss the geometric method which is useful for solving problems without using a coordinate system. The algebraic method will be discussed later.
To add two vectors {{FoM/Vec|A}} and {{FoM/Vec|B}} using the geometric method, place the head of {{FoM/Vec|A}} at the tail of {{FoM/Vec|B}} and draw a vector from the tail of {{FoM/Vec|A}} to the head of {{FoM/Vec|B}} as shown in {{Nowrap|[[#fig 1.3|Fig. 1.3]].}} This method is known as the triangle method. An extension to sum up more than two vectors is shown in {{Nowrap|[[#fig 1.4|Fig. 1.4]].}} An alternative procedure of vector addition using the geometric method is shown in {{Nowrap|[[#fig 1.5|Fig. 1.5]].}} This is known as the parallelogram method, where {{FoM/Vec|C}} is the diagonal of a parallelogram with sides {{FoM/Vec|A}} and {{FoM/Vec|B}}. To find {{FoM/Vec|C}} analytically, {{Nowrap|[[#fig 1.6|Fig. 1.6]]}} shows that the following three equations hold.
{{FoM/Eqn|<math display="inline">(DG)^{2} = (DF)^{2} + (FG)^{2}</math>|1.1}}
{{FoM/Eqn|<math display="inline">DF = DE + EF = A + B\ \cos{\theta}</math>|1.2}}
{{FoM/Eqn|<math display="inline">FG = B\ \sin{\theta}</math>|1.3}}
15d1p38esgvn13jdd42qgedq203ukun
User talk:~2026-34562-53
3
483918
4639999
2026-06-12T07:42:55Z
MathXplore
3097823
Warning user with {{Test1}}
4639999
wikitext
text/x-wiki
== June 2026 ==
{{tmbox|type=notice|text='''Please, can you [[Using Wikibooks|help]] improve [[WB:WIW|Wikibooks]]''' by [[Special:Contributions/~2026-34562-53|doing future experiments]] with the [[Help:Contents|wiki software]] in the [{{fullurl:Wikibooks:Sandbox|action=edit}} sandbox] instead? Your fellow contributors consider test edits in the sandbox constructive. You can ask questions or ask for help in the [[WB:HELP|Assistance Reading Room]].<br /> Thanks. }}
[[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 07:42, 12 June 2026 (UTC)
gtb2md0qav9ihjsqu0e3ul14ynuocd3
User talk:~2026-34523-46
3
483919
4640001
2026-06-12T07:43:41Z
MathXplore
3097823
Warning user with {{Test1}}
4640001
wikitext
text/x-wiki
== June 2026 ==
{{tmbox|type=notice|text='''Please, can you [[Using Wikibooks|help]] improve [[WB:WIW|Wikibooks]]''' by [[Special:Contributions/~2026-34523-46|doing future experiments]] with the [[Help:Contents|wiki software]] in the [{{fullurl:Wikibooks:Sandbox|action=edit}} sandbox] instead? Your fellow contributors consider test edits in the sandbox constructive. You can ask questions or ask for help in the [[WB:HELP|Assistance Reading Room]].<br /> Thanks. }}
[[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 07:43, 12 June 2026 (UTC)
10b2jvru514yf6srpyey8c6l6dx4sxu